diff --git a/lib/EmergencyService/zdxtEmergencyAppService/src/main/java/com/zdxt/app/controller/AppEnterpriseLawEnforcementController.java b/lib/EmergencyService/zdxtEmergencyAppService/src/main/java/com/zdxt/app/controller/AppEnterpriseLawEnforcementController.java index d881385f..724f4cdd 100644 --- a/lib/EmergencyService/zdxtEmergencyAppService/src/main/java/com/zdxt/app/controller/AppEnterpriseLawEnforcementController.java +++ b/lib/EmergencyService/zdxtEmergencyAppService/src/main/java/com/zdxt/app/controller/AppEnterpriseLawEnforcementController.java @@ -200,11 +200,20 @@ public class AppEnterpriseLawEnforcementController extends BaseController //查询数据变更之前的原始数据 EnterpriseLawEnforcement enterpriseLawEnforcement1 = enterpriseLawEnforcementService.selectEnterpriseLawEnforcementById(tmpId); - //短信通知,限制为执法时间变更 - if(!enterpriseLawEnforcement1.getCheckTime().equals(enterpriseLawEnforcement.getCheckItem())){ - // 新增默认下发短信 - this.sendSms(enterpriseLawEnforcement); + //短信通知,限制为执法时间变更 事项变更 要求变更 + try { + if(!enterpriseLawEnforcement1.getCheckTime().equals(enterpriseLawEnforcement.getCheckItem()) || + enterpriseLawEnforcement1.getCheckTimeOrder() != enterpriseLawEnforcement.getCheckTimeOrder()|| + enterpriseLawEnforcement1.getCheckRequire().equals(enterpriseLawEnforcement.getCheckRequire()) || + enterpriseLawEnforcement1.getCheckTime().equals(enterpriseLawEnforcement.getCheckTime())){ + // 新增默认下发短信 + this.sendSms(enterpriseLawEnforcement); + } + }catch (Exception e){ + e.printStackTrace(); + System.out.println("预约短信发送失败,基础信息如下:" + JSONObject.toJSONString(enterpriseLawEnforcement)); } + } else { resNum += enterpriseLawEnforcementService.insertEnterpriseLawEnforcement(enterpriseLawEnforcement); enterpriseLawEnforcement.setId(null); diff --git a/lib/EmergencyService/zdxtEmergencyAppService/src/main/java/com/zdxt/app/controller/AppSystemController.java b/lib/EmergencyService/zdxtEmergencyAppService/src/main/java/com/zdxt/app/controller/AppSystemController.java index 03d0f784..1f4b60fe 100644 --- a/lib/EmergencyService/zdxtEmergencyAppService/src/main/java/com/zdxt/app/controller/AppSystemController.java +++ b/lib/EmergencyService/zdxtEmergencyAppService/src/main/java/com/zdxt/app/controller/AppSystemController.java @@ -9,6 +9,8 @@ import com.zdxt.auth.feign.PostApi; import com.zdxt.auth.feign.UserApi; import com.zdxt.auth.project.system.dict.service.IDictDataService; import com.zdxt.auth.project.system.user.service.IUserService; +import com.zdxt.code.domain.Zfryjdm2405301; +import com.zdxt.code.service.IZfryjdm2405301Service; import com.zdxt.common.ZDResponse; import com.zdxt.common.controller.BaseController; import com.zdxt.common.util.IdCardCryptoUtil; @@ -46,6 +48,8 @@ public class AppSystemController extends BaseController { @Autowired private IUserService userService; + @Autowired + private IZfryjdm2405301Service iZfryjdm2405301Service; @Autowired private PostApi postApi; @@ -58,8 +62,15 @@ public class AppSystemController extends BaseController { public ZDResponse getUserInfo(@PathVariable Long userId){ // UserBean user = userApi.getCurrentUser(); UserBean user = userApi.getUserByUserId(userId); + + //查询双系统执法人员信息 + Zfryjdm2405301 zfryjdm2405301 = + iZfryjdm2405301Service.selectZfryByZfCode(user.getLawCertificateNum()); + //通过机构代码查询执法主体信息 + DeptBean dept1 = deptApi.selectDeptByCreditcode(zfryjdm2405301.getZzjgdm()); + + //查询本人所在部门 DeptBean dept = deptApi.getDeptById(user.getDeptId()); - DeptBean dept1 = deptApi.iterationDeptParent(user.getDeptId()); user.setDept(dept); user.setBureauDept(dept1); return ZDResponse.success("查询成功",user); @@ -78,7 +89,7 @@ public class AppSystemController extends BaseController { @ResponseBody public TableDataInfo listApp(User user) { startPage(); - List list = userService.selectUserList(user); + List list = userService.selectUserListByHave(user); //解密 // if(list.size() > 0){ // for (int i = 0; i < list.size(); i++) { @@ -108,7 +119,7 @@ public class AppSystemController extends BaseController { @GetMapping("/listAApp") @ResponseBody public ZDResponse listAApp(User user) { - List list = userService.selectUserList(user); + List list = userService.selectUserListByHave(user); // 查询出职务 // for (User userData : list) { // List postBeanList = postApi.selectPostsByUserId(userData.getUserId()); diff --git a/lib/EmergencyService/zdxtEmergencyAppService/src/main/java/com/zdxt/app/controller/AppThirdLoginController.java b/lib/EmergencyService/zdxtEmergencyAppService/src/main/java/com/zdxt/app/controller/AppThirdLoginController.java index fc13329a..570799e7 100644 --- a/lib/EmergencyService/zdxtEmergencyAppService/src/main/java/com/zdxt/app/controller/AppThirdLoginController.java +++ b/lib/EmergencyService/zdxtEmergencyAppService/src/main/java/com/zdxt/app/controller/AppThirdLoginController.java @@ -7,6 +7,7 @@ import com.zdxt.auth.feign.UserApi; import com.zdxt.auth.framework.shiro.jwt.JWTUtils; import com.zdxt.auth.framework.shiro.nopaddword.LoginType; import com.zdxt.auth.framework.shiro.nopaddword.UserToken; +import com.zdxt.auth.framework.shiro.nopaddword.UserType; import com.zdxt.auth.project.system.user.service.IUserService; import com.zdxt.auth.project.system.user.util.AesHelper; import com.zdxt.code.domain.MssqAddOrder; @@ -99,8 +100,7 @@ public class AppThirdLoginController { String secretKey = params.get("secretKey"); //解密 secretKey = AesHelper.desEncrypt(secretKey); -// UsernamePasswordToken token = new UsernamePasswordToken(secretName, secretKey, false); - UserToken token = new UserToken(secretName, secretKey, LoginType.PASSWORD); + UserToken token = new UserToken(secretName, secretKey, LoginType.PASSWORD, UserType.SYS.getType()); Subject subject = SecurityUtils.getSubject(); subject.login(token); User user = userService.selectUserByLoginName(secretName); @@ -357,6 +357,79 @@ public class AppThirdLoginController { return thirdLoginService.siqLogin(userInfo); } + + /** + * 深i企用户登录 + * @param + */ + @PostMapping("/siqLoginTestNew") + @ResponseBody + public ZDResponse siqLoginTestNew(@RequestBody JSONObject jsonObject){ + + //redis锁 + String redisLock = ""; + try { +// Map params = new HashMap<>(); +// log.info("获取深i企登录用户code:{}",siqLogin.getCode()); +// String secret = IdCardCryptoUtil.symmetricEncryptIdCard(secretKey, siqLogin.getCode()); +// params.put("accessKeySign",secret); +// params.put("appCode",code); +// String data = null; +// try { +// data = HttpUtil.httpSendPost(siqUrl + "/pub/auth/getUserInfo", JSONObject.toJSONString(params),new HashMap<>()); +// } catch (Exception e) { +// e.printStackTrace(); +// log.error("获取深i企用户信息失败,返回结果:{}",data); +// } + + log.info("================= data ================="); +// log.info(data); + log.info("================= data ================="); + +// JJSONObject.parseObject(data); + JSONObject userInfo = jsonObject.getJSONObject("data"); + + log.info("================= userInfo ================="); + log.info(jsonObject.getString("data")); + log.info(userInfo.toJSONString()); + log.info("================= userInfo ================="); + + String account = userInfo.getString("account"); + if(StringUtils.isNotEmpty(account)){ + redisLock = account; + }else{ + // 电话号码解密并获取用户 + String phone = IdCardCryptoUtil.symmetricDecryptIdCard(secretKey, userInfo.getString("phone")); + redisLock = phone; + } + //锁不存在: + //1.加锁限制用户登录并发情况 + if(!jedisUtil.exists(redisLock)){ + jedisUtil.isLock(redisLock,10); + log.info("redis用户登录加锁,加锁用户:{}",userInfo.toJSONString()); + //添加深i企用户 + Long userId = thirdLoginService.addSiqUser(userInfo); + userInfo.put("userId", userId); + + log.info("================= siqLogin addSiqUser -> userId ================="); + log.info(userId.toString()); + log.info("================= siqLogin addSiqUser -> userId ================="); + //添加深i企用户关联企业信息 + thirdLoginService.addSiqUserCompany(userInfo); + }else{ + log.info("用户正在登录中,用户信息:{}",userInfo.toJSONString()); + } + + return thirdLoginService.siqLogin(userInfo); + + }catch (Exception e){ + e.printStackTrace(); + }finally { + jedisUtil.del(redisLock); + } + return ZDResponse.success(); + } + private String getSignature(String ticket, String nonceStr, long timestamp, String url) { try { diff --git a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/feign/DeptApiImpl.java b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/feign/DeptApiImpl.java index ffe3f663..c8d3694e 100644 --- a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/feign/DeptApiImpl.java +++ b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/feign/DeptApiImpl.java @@ -247,4 +247,12 @@ public class DeptApiImpl implements DeptApi { } return iterationDeptParent(dept.getParentId()); } + + @Override + public DeptBean selectDeptByCreditcode(String code) { + Dept dept = deptMapper.selectDeptByCreditcode(code); + DeptBean bean = new DeptBean(); + BeanUtil.copyProperties(dept, bean); + return bean; + } } diff --git a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/shiro/nopaddword/UserToken.java b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/shiro/nopaddword/UserToken.java index 540b9292..639a40a3 100644 --- a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/shiro/nopaddword/UserToken.java +++ b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/shiro/nopaddword/UserToken.java @@ -13,27 +13,34 @@ public class UserToken extends UsernamePasswordToken private static final long serialVersionUID = 1L; private LoginType type; + /** + * 用户类型 1 深i企用户 + */ + private Integer userType; public UserToken() { } - public UserToken(String username, String password, LoginType type, boolean rememberMe) + public UserToken(String username, String password, LoginType type, Integer userType, boolean rememberMe) { super(username, password, rememberMe); this.type = type; + this.userType = userType; } - public UserToken(String username, LoginType type) + public UserToken(String username, LoginType type, Integer userType) { super(username, "", false, null); this.type = type; + this.userType = userType; } - public UserToken(String username, String password, LoginType type) + public UserToken(String username, String password, LoginType type, Integer userType) { super(username, password, false, null); this.type = type; + this.userType = userType; } public LoginType getType() @@ -45,4 +52,12 @@ public class UserToken extends UsernamePasswordToken { this.type = type; } + + public Integer getUserType() { + return userType; + } + + public void setUserType(Integer userType) { + this.userType = userType; + } } \ No newline at end of file diff --git a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/shiro/nopaddword/UserType.java b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/shiro/nopaddword/UserType.java new file mode 100644 index 00000000..7cf8eb3d --- /dev/null +++ b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/shiro/nopaddword/UserType.java @@ -0,0 +1,33 @@ +package com.zdxt.auth.framework.shiro.nopaddword; + +/** + * @Author: 陈瑞 + * @Date: 2024/4/28 10:51 上午 + * @Version: 1.0 + * @Desc: 登录类型枚举类 + */ +public enum UserType { + /** + * 密码登录 + */ + SIQ(1), + /** + * 免密码登录 + */ + SYS(0); + + private Integer type; + + UserType(Integer type) + { + this.type = type; + } + + public Integer getType() { + return type; + } + + public void setType(Integer type) { + this.type = type; + } +} diff --git a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/shiro/realm/UserRealm.java b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/shiro/realm/UserRealm.java index a4d33736..6cc8a0f0 100644 --- a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/shiro/realm/UserRealm.java +++ b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/shiro/realm/UserRealm.java @@ -6,6 +6,7 @@ import java.util.Set; import cn.hutool.core.util.StrUtil; import com.zdxt.auth.framework.shiro.nopaddword.LoginType; import com.zdxt.auth.framework.shiro.nopaddword.UserToken; +import com.zdxt.auth.framework.shiro.nopaddword.UserType; import com.zdxt.auth.framework.shiro.service.LoginService; import com.zdxt.common.util.RedisCache; import com.zdxt.domain.auth.User; @@ -110,11 +111,20 @@ public class UserRealm extends AuthorizingRealm implements ZdxtUserRealm // user = loginService.login(username, password); if (LoginType.PASSWORD.equals(type)) { - user = loginService.login(username, password); + if(upToken.getUserType() == UserType.SYS.getType()){ + user = loginService.login(username, password,UserType.SYS.getType()); + }else{ + user = loginService.login(username, password,UserType.SIQ.getType()); + } } else if (LoginType.NOPASSWD.equals(type)) { - user = loginService.login(username); + + if(upToken.getUserType() == UserType.SIQ.getType()){ + user = loginService.login(username,UserType.SIQ.getType()); + }else{ + user = loginService.login(username,UserType.SYS.getType()); + } } } catch (CaptchaException e) diff --git a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/shiro/service/LoginService.java b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/shiro/service/LoginService.java index 721077bb..4dc1640b 100644 --- a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/shiro/service/LoginService.java +++ b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/shiro/service/LoginService.java @@ -106,6 +106,73 @@ public class LoginService return user; } + public User login(String username, String password,Integer userSource) + { + // 验证码校验 + if (!StringUtils.isEmpty(ServletUtils.getRequest().getAttribute(ShiroConstants.CURRENT_CAPTCHA))) + { + AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.jcaptcha.error"))); + throw new CaptchaException(); + } + // 用户名或密码为空 错误 + if (StringUtils.isEmpty(username) || StringUtils.isEmpty(password)) + { + AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("not.null"))); + throw new UserNotExistsException(); + } + // 密码如果不在指定范围内 错误 + if (password.length() < UserConstants.PASSWORD_MIN_LENGTH + || password.length() > UserConstants.PASSWORD_MAX_LENGTH) + { + AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.password.not.match"))); + throw new UserPasswordNotMatchException(); + } + + // 用户名不在指定范围内 错误 + if (username.length() < UserConstants.USERNAME_MIN_LENGTH + || username.length() > UserConstants.USERNAME_MAX_LENGTH) + { + AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.password.not.match"))); + throw new UserPasswordNotMatchException(); + } + + // 查询用户信息 + User user = userService.selectClientUserByLoginName(username,userSource); + + if (user == null && maybeMobilePhoneNumber(username)) + { + user = userService.selectUserByPhoneNumber(username); + } + + if (user == null && maybeEmail(username)) + { + user = userService.selectUserByEmail(username); + } + + if (user == null) + { + AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.not.exists"))); + throw new UserNotExistsException(); + } + + if (UserStatus.DELETED.getCode().equals(user.getDelFlag())) + { + AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.password.delete"))); + throw new UserDeleteException(); + } + + if (UserStatus.DISABLE.getCode().equals(user.getStatus())) + { + AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.blocked", user.getRemark()))); + throw new UserBlockedException(); + } + + passwordService.validate(user, password); + + AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success"))); + recordLoginInfo(user); + return user; + } public User login(String username) { // 验证码校验 @@ -155,22 +222,69 @@ public class LoginService return user; } - private boolean maybeEmail(String username) + /** + * 用户多端登录 ,防止与系统用户重复 + * @param username + * @param userSource + * @return + */ + public User login(String username,Integer userSource) { - if (!username.matches(UserConstants.EMAIL_PATTERN)) + // 验证码校验 + if (!StringUtils.isEmpty(ServletUtils.getRequest().getAttribute(ShiroConstants.CURRENT_CAPTCHA))) + { + AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.jcaptcha.error"))); + throw new CaptchaException(); + } + // 用户名或密码为空 错误 + if (StringUtils.isEmpty(username)) + { + AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("not.null"))); + throw new UserNotExistsException(); + } + + // 用户名不在指定范围内 错误 + if (username.length() < UserConstants.USERNAME_MIN_LENGTH + || username.length() > UserConstants.USERNAME_MAX_LENGTH) + { + AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.password.not.match"))); + throw new UserPasswordNotMatchException(); + } + + // 查询用户信息 + User user = userService.selectClientUserByLoginName(username,userSource); + + if (user == null) { - return false; + AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.not.exists"))); + throw new UserNotExistsException(); } - return true; + + if (UserStatus.DELETED.getCode().equals(user.getDelFlag())) + { + AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.password.delete"))); + throw new UserDeleteException(); + } + + if (UserStatus.DISABLE.getCode().equals(user.getStatus())) + { + AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.blocked", user.getRemark()))); + throw new UserBlockedException(); + } + + AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success"))); + recordLoginInfo(user); + return user; + } + + private boolean maybeEmail(String username) + { + return username.matches(UserConstants.EMAIL_PATTERN); } private boolean maybeMobilePhoneNumber(String username) { - if (!username.matches(UserConstants.MOBILE_PHONE_NUMBER_PATTERN)) - { - return false; - } - return true; + return username.matches(UserConstants.MOBILE_PHONE_NUMBER_PATTERN); } /** diff --git a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/dept/mapper/DeptMapper.java b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/dept/mapper/DeptMapper.java index 9c872fb0..7d0da4fd 100644 --- a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/dept/mapper/DeptMapper.java +++ b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/dept/mapper/DeptMapper.java @@ -13,28 +13,28 @@ import org.apache.ibatis.annotations.Param; public interface DeptMapper { - public List selectDeptAll(); + List selectDeptAll(); /** * 新增部门,同步金蝶数据时使用 * @param dept * @return 新增后主键包装在了dept中,使用dept.getDeptId()获取 */ - public int insertDeptIsKingDee(Dept dept); + int insertDeptIsKingDee(Dept dept); /** * 根据金蝶原始部门id,查询部门 * @param kingdeeOrgId * @return */ - public Dept selectDeptByKingdeeOrgId(String kingdeeOrgId); + Dept selectDeptByKingdeeOrgId(String kingdeeOrgId); /** * 查询父部门为"0000"的部门列表 * @param kingdeeDeptId * @return */ - public List selectDeptByNoParent(); + List selectDeptByNoParent(); /** * 查询部门人数 @@ -42,7 +42,7 @@ public interface DeptMapper * @param dept 部门信息 * @return 结果 */ - public int selectDeptCount(Dept dept); + int selectDeptCount(Dept dept); /** * 查询部门是否存在用户 @@ -50,7 +50,7 @@ public interface DeptMapper * @param deptId 部门ID * @return 结果 */ - public int checkDeptExistUser(String deptId); + int checkDeptExistUser(String deptId); /** * 查询部门管理数据 @@ -58,7 +58,7 @@ public interface DeptMapper * @param dept 部门信息 * @return 部门信息集合 */ - public List selectDeptList(Dept dept); + List selectDeptList(Dept dept); /** * 根据部门信息获取当前及一下所有部门(下钻) @@ -66,7 +66,7 @@ public interface DeptMapper * @param dept 部门信息 * @return 部门信息集合 */ - public List selectDeptListHole(Dept dept); + List selectDeptListHole(Dept dept); /** * 删除部门管理信息 @@ -74,7 +74,7 @@ public interface DeptMapper * @param deptId 部门ID * @return 结果 */ - public int deleteDeptById(String deptId); + int deleteDeptById(String deptId); /** * 新增部门信息 @@ -82,7 +82,7 @@ public interface DeptMapper * @param dept 部门信息 * @return 结果 */ - public int insertDept(Dept dept); + int insertDept(Dept dept); /** * 修改部门信息 @@ -90,9 +90,9 @@ public interface DeptMapper * @param dept 部门信息 * @return 结果 */ - public int updateDept(Dept dept); - public int updateDeptByOrganizationId(Dept dept); - public int updateAncestorsById(Dept dept); + int updateDept(Dept dept); + int updateDeptByOrganizationId(Dept dept); + int updateAncestorsById(Dept dept); /** * 修改子元素关系 @@ -100,7 +100,7 @@ public interface DeptMapper * @param depts 子元素 * @return 结果 */ - public int updateDeptChildren(@Param("depts") List depts); + int updateDeptChildren(@Param("depts") List depts); /** * 根据部门ID查询信息 @@ -108,8 +108,8 @@ public interface DeptMapper * @param deptId 部门ID * @return 部门信息 */ - public Dept selectDeptById(String deptId); - public Dept selectDeptByOrganizationId(String organizationId); + Dept selectDeptById(String deptId); + Dept selectDeptByOrganizationId(String organizationId); /** * 校验部门名称是否唯一 @@ -118,7 +118,7 @@ public interface DeptMapper * @param parentId 父部门ID * @return 结果 */ - public Dept checkDeptNameUnique(@Param("deptName") String deptName, @Param("parentId") String parentId); + Dept checkDeptNameUnique(@Param("deptName") String deptName, @Param("parentId") String parentId); /** * 根据角色ID查询部门 @@ -126,14 +126,14 @@ public interface DeptMapper * @param roleId 角色ID * @return 部门列表 */ - public List selectRoleDeptTree(Long roleId); + List selectRoleDeptTree(Long roleId); /** * 修改所在部门的父级部门状态 * * @param dept 部门 */ - public void updateDeptStatus(Dept dept); + void updateDeptStatus(Dept dept); /** * 根据ID查询所有子部门 @@ -141,7 +141,7 @@ public interface DeptMapper * @param deptId 部门ID * @return 部门列表 */ - public List selectChildrenDeptById(String deptId); + List selectChildrenDeptById(String deptId); /** @@ -150,7 +150,7 @@ public interface DeptMapper * @param deptId 部门ID * @return 部门列表 */ - public List getChildrenDeptByIdAndInDeptType(@Param("deptId") String deptId, @Param("deptTypes") String[] deptTypes); + List getChildrenDeptByIdAndInDeptType(@Param("deptId") String deptId, @Param("deptTypes") String[] deptTypes); /** * 根据条件查询所有子部门,id必须传 @@ -158,12 +158,19 @@ public interface DeptMapper * @param dept 条件,id必须传 * @return 部门列表 */ - public List selectChildrenDept(Dept dept); + List selectChildrenDept(Dept dept); /** * 查询部门列表无权限过滤 * @param dept * @return */ - public ListselectDeptListByNoPermission(Dept dept); + ListselectDeptListByNoPermission(Dept dept); + + /** + * 通过企业统一信用代码查询企业信息 + * @param code + * @return + */ + Dept selectDeptByCreditcode(String code); } diff --git a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/user/controller/LoginController.java b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/user/controller/LoginController.java index 18a948f0..d6da1742 100644 --- a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/user/controller/LoginController.java +++ b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/user/controller/LoginController.java @@ -7,6 +7,7 @@ import com.zdxt.auth.dto.UserBean; import com.zdxt.auth.framework.shiro.jwt.JWTUtils; import com.zdxt.auth.framework.shiro.nopaddword.LoginType; import com.zdxt.auth.framework.shiro.nopaddword.UserToken; +import com.zdxt.auth.framework.shiro.nopaddword.UserType; import com.zdxt.auth.framework.shiro.service.PasswordService; import com.zdxt.auth.project.system.user.domain.LoginDTO; import com.zdxt.auth.project.system.user.service.ITcUserCidService; @@ -95,7 +96,7 @@ public class LoginController extends BaseController //解密 secretKey = AesHelper.desEncrypt(secretKey); // UsernamePasswordToken token = new UsernamePasswordToken(username, password, false); - UserToken token = new UserToken(secretName, secretKey, LoginType.PASSWORD); + UserToken token = new UserToken(secretName, secretKey, LoginType.PASSWORD, UserType.SYS.getType()); //禁止使用rememberMe token.setRememberMe(false); Subject subject = SecurityUtils.getSubject(); @@ -187,7 +188,7 @@ public class LoginController extends BaseController //解密 loginDTO.setSecretKey(AesHelper.desEncrypt(loginDTO.getSecretKey())); // UsernamePasswordToken token = new UsernamePasswordToken(username, password, false); - UserToken token = new UserToken(loginDTO.getSecretName(), loginDTO.getSecretKey(), LoginType.PASSWORD); + UserToken token = new UserToken(loginDTO.getSecretName(), loginDTO.getSecretKey(), LoginType.PASSWORD,UserType.SYS.getType()); //禁止使用rememberMe token.setRememberMe(false); Subject subject = SecurityUtils.getSubject(); @@ -225,7 +226,7 @@ public class LoginController extends BaseController //解密 // password = AesHelper.desEncrypt(password); // UsernamePasswordToken token = new UsernamePasswordToken(username, password, false); - UserToken token = new UserToken(username, password, LoginType.PASSWORD); + UserToken token = new UserToken(username, password, LoginType.PASSWORD,UserType.SYS.getType()); Subject subject = SecurityUtils.getSubject(); try { subject.login(token); diff --git a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/user/mapper/UserMapper.java b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/user/mapper/UserMapper.java index c5e130ed..2605e7fb 100644 --- a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/user/mapper/UserMapper.java +++ b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/user/mapper/UserMapper.java @@ -39,6 +39,14 @@ public interface UserMapper */ List selectUserList(User user); + + /** + * 查询有执法证件号的人员 + * @param user + * @return + */ + List selectUserListByHave(User user); + /** * 根据条件分页查询未已配用户角色列表 * diff --git a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/user/service/IUserService.java b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/user/service/IUserService.java index f758bd2a..7b9614ae 100644 --- a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/user/service/IUserService.java +++ b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/user/service/IUserService.java @@ -43,6 +43,14 @@ public interface IUserService */ List selectUserList(User user); + /** + * 查询有执法证件号的人员 + * + * @param user 用户信息 + * @return 用户信息集合信息 + */ + List selectUserListByHave(User user); + /** * 无权限查询用户列表 * @param user 用户信息 @@ -74,6 +82,14 @@ public interface IUserService */ User selectUserByLoginName(String userName); + /** + * 支持多端登录 + * @param userName + * @param userSource + * @return + */ + User selectClientUserByLoginName(String userName,Integer userSource); + /** * 通过手机号码查询用户 * @@ -82,6 +98,8 @@ public interface IUserService */ User selectUserByPhoneNumber(String phoneNumber); + User selectClientUserByPhoneNumber(String phoneNumber,Integer userSource); + /** * 通过邮箱查询用户 * diff --git a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/resources/mapper/system/DeptMapper.xml b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/resources/mapper/system/DeptMapper.xml index 3538e0c2..e3f10cb6 100644 --- a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/resources/mapper/system/DeptMapper.xml +++ b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/resources/mapper/system/DeptMapper.xml @@ -404,4 +404,9 @@ + + \ No newline at end of file diff --git a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/resources/mapper/system/UserMapper.xml b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/resources/mapper/system/UserMapper.xml index 8369ee26..b238562e 100644 --- a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/resources/mapper/system/UserMapper.xml +++ b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/resources/mapper/system/UserMapper.xml @@ -151,6 +151,52 @@ ${params.dataScope} + + + + where zfcode = #{zfcode} and code_state = '01' + \ No newline at end of file diff --git a/lib/EmergencyServiceApi/emergencyAuthServiceApi/src/main/java/com/zdxt/auth/feign/DeptApi.java b/lib/EmergencyServiceApi/emergencyAuthServiceApi/src/main/java/com/zdxt/auth/feign/DeptApi.java index 9b151ea7..cfdff1d1 100644 --- a/lib/EmergencyServiceApi/emergencyAuthServiceApi/src/main/java/com/zdxt/auth/feign/DeptApi.java +++ b/lib/EmergencyServiceApi/emergencyAuthServiceApi/src/main/java/com/zdxt/auth/feign/DeptApi.java @@ -25,11 +25,11 @@ public interface DeptApi { @ApiOperation(value = "获取数据字典") @ApiImplicitParam(name = "dictValue", value = "顶级节点Id (41000)", required = true, paramType = "String") @GetMapping("/toUserCheckOpt") - public Map toUserCheckOpt(String dictValue); + Map toUserCheckOpt(String dictValue); @ApiOperation(value = "获取部门") @GetMapping("/selectDeptTree") - public List selectDepts(DeptBean deptBean); + List selectDepts(DeptBean deptBean); /** @@ -40,7 +40,7 @@ public interface DeptApi { */ @ApiOperation(value = "获取数据字典") @GetMapping("/getChildrenDeptById") - public List getChildrenDeptById(String deptId); + List getChildrenDeptById(String deptId); /** * 根据部门类型(in语句),获取所有子部门,id必须传 @@ -50,7 +50,7 @@ public interface DeptApi { */ @ApiOperation(value = "根据部门类型(in语句),获取所有子部门,id必须传") @GetMapping("/getChildrenDeptByIdAndInDeptType") - public List getChildrenDeptByIdAndInDeptType(String deptId, String[] deptTypes); + List getChildrenDeptByIdAndInDeptType(String deptId, String[] deptTypes); /** * 根据条件获取所有子部门,id必须传 @@ -60,7 +60,7 @@ public interface DeptApi { */ @ApiOperation(value = "根据条件获取所有子部门,id必须传") @GetMapping("/getChildrenDept") - public List getChildrenDept(DeptBean deptBean); + List getChildrenDept(DeptBean deptBean); /** * 获取所有部门信息 @@ -70,7 +70,7 @@ public interface DeptApi { */ @ApiOperation(value = "获取所有部门信息") @GetMapping("/getDeptList") - public List getDeptList(DeptBean deptBean); + List getDeptList(DeptBean deptBean); /** @@ -81,41 +81,48 @@ public interface DeptApi { */ @ApiOperation(value = "根据部门id获取该条数据") @GetMapping("/getDeptById") - public DeptBean getDeptById(String deptId); + DeptBean getDeptById(String deptId); @ApiOperation(value = "获取部门(加权限)") @GetMapping("/selectDeptTreePower") - public List selectDeptTreePower(DeptBean deptBean); + List selectDeptTreePower(DeptBean deptBean); @ApiOperation(value = "获取部门") @GetMapping("/selectDeptNotRole") - public List selectDeptNotRole(DeptBean deptBean); + List selectDeptNotRole(DeptBean deptBean); @PostMapping("/insertDept") @ApiOperation("新增部门") - public String insertDept(DeptBean deptBean); + String insertDept(DeptBean deptBean); @PostMapping("/updateDept") @ApiOperation("修改部门") - public String updateDept(DeptBean deptBean); + String updateDept(DeptBean deptBean); @PostMapping("/selectDeptListHole") @ApiOperation("根据部门信息获取当前及一下所有部门") - public List selectDeptListHole(DeptBean bean); + List selectDeptListHole(DeptBean bean); @PostMapping("/selectDeptByParentId") @ApiOperation("根据父节点获取其下所有部门信息") - public List selectDeptByParentId(DeptBean dept); + List selectDeptByParentId(DeptBean dept); @PostMapping("/selectDeptByParentIdNoPermission") @ApiOperation("根据父节点获取其下所有部门信息无权限") - public List listDeptAppNoPermission(DeptBean dept); + List listDeptAppNoPermission(DeptBean dept); /** * 查询当前人部门所在部门 * @param deptId * @return */ - public DeptBean iterationDeptParent(String deptId); + DeptBean iterationDeptParent(String deptId); + + /** + * 通过统一信用代码查询部门信息 + * @param code + * @return + */ + DeptBean selectDeptByCreditcode(String code); }