From e142433c71b032ce85546477543d65da0f3986b8 Mon Sep 17 00:00:00 2001 From: liyj <15602261488@163.com> Date: Sat, 21 Sep 2024 13:20:48 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/gzdyh_test' into gzdyh_test --- dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtAccountService.java | 184 +++++++++++++++++++++++++-------------------- dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dao/mapper/xml/CtUserMapper.xml | 7 + dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dao/mapper/CtUserMapper.java | 2 dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUserService.java | 4 + 4 files changed, 115 insertions(+), 82 deletions(-) diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dao/mapper/CtUserMapper.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dao/mapper/CtUserMapper.java index ccdc673..2631b8e 100644 --- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dao/mapper/CtUserMapper.java +++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dao/mapper/CtUserMapper.java @@ -84,4 +84,6 @@ */ List<CtUser> listUserByUnitRoleList(@Param("unitId") String unitId, @Param("roleCode") String roleCode); + CtUser selectByIdCard(@Param("idCard")String idCard); + } diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dao/mapper/xml/CtUserMapper.xml b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dao/mapper/xml/CtUserMapper.xml index b09d607..1d2763f 100644 --- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dao/mapper/xml/CtUserMapper.xml +++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dao/mapper/xml/CtUserMapper.xml @@ -418,4 +418,11 @@ AND t1.status = '1' AND t1.unit_id = #{unitId} </select> + + <select id="selectByIdCard" resultMap="dataResult"> + SELECT * FROM dyh_ct_user + WHERE + delete_status = '0' + and status = '1' and idcard=#{idCard} + </select> </mapper> \ No newline at end of file diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtAccountService.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtAccountService.java index 15b4a2d..92244df 100644 --- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtAccountService.java +++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtAccountService.java @@ -36,17 +36,17 @@ import java.util.Map; /** + * @author liyj + * @version 1.0.0 * @title: 客户用户账号表业务逻辑处理 * @Description 客户用户账号表业务逻辑处理 * @company hugeinfo - * @author liyj * @Time 2024-08-19 20:04:18 - * @version 1.0.0 */ @Slf4j @Service @Transactional(rollbackFor = Exception.class) -public class CtAccountService extends ServiceImpl<CtAccountMapper, CtAccount>{ +public class CtAccountService extends ServiceImpl<CtAccountMapper, CtAccount> { @Autowired private CtAccountMapper mapper; @@ -61,102 +61,110 @@ private SysClientImpl sysClient; /** - * 更新对象 - * @param entity 对象 - */ - public void updateCtAccount(CtAccount entity){ - try{ + * 更新对象 + * + * @param entity 对象 + */ + public void updateCtAccount(CtAccount entity) { + try { mapper.updateCtAccount(entity); - }catch (Exception e){ - log.error("[CtAccountService.updateCtAccount]调用失败,异常信息:"+e, e); + } catch (Exception e) { + log.error("[CtAccountService.updateCtAccount]调用失败,异常信息:" + e, e); throw new ServiceException("CtAccountService.updateCtAccount", e); } } /** - * 条件更新对象 - * @param entity 对象 - * @param terms 条件 - */ - public void updateCtAccountTerms(CtAccount entity, Map<String, Object> terms){ - try{ + * 条件更新对象 + * + * @param entity 对象 + * @param terms 条件 + */ + public void updateCtAccountTerms(CtAccount entity, Map<String, Object> terms) { + try { mapper.updateCtAccountTerms(entity, terms); - }catch (Exception e){ - log.error("[CtAccountService.updateCtAccountTerms]调用失败,异常信息:"+e, e); + } catch (Exception e) { + log.error("[CtAccountService.updateCtAccountTerms]调用失败,异常信息:" + e, e); throw new ServiceException("CtAccountService.updateCtAccountTerms", e); } } /** - * 根据编号物理删除 - * @param id 查询条件集合 - */ - public void deleteCtAccount(String id){ - try{ + * 根据编号物理删除 + * + * @param id 查询条件集合 + */ + public void deleteCtAccount(String id) { + try { mapper.deleteCtAccount(id); - }catch (Exception e){ - log.error("[CtAccountService.deleteCtAccount]调用失败,异常信息:"+e, e); + } catch (Exception e) { + log.error("[CtAccountService.deleteCtAccount]调用失败,异常信息:" + e, e); throw new ServiceException("CtAccountService.deleteCtAccount", e); } } /** - * 按条件查询 - * @param terms 条件 - * @return List - */ - public List<CtAccount> listTerms(Map<String, Object> terms){ + * 按条件查询 + * + * @param terms 条件 + * @return List + */ + public List<CtAccount> listTerms(Map<String, Object> terms) { return mapper.listTerms(terms); } /** - * 按条件统计 - * @param terms 条件 - * @return long - */ - public long countTerms(Map<String, Object> terms){ + * 按条件统计 + * + * @param terms 条件 + * @return long + */ + public long countTerms(Map<String, Object> terms) { return mapper.countTerms(terms); } /** - * 按条件分页查询 - * @param page 分页对象 - * @param terms 条件 - * @return Page - */ - public Page<CtAccount> pageQuery(PageRequest page, Map<String, Object> terms){ + * 按条件分页查询 + * + * @param page 分页对象 + * @param terms 条件 + * @return Page + */ + public Page<CtAccount> pageQuery(PageRequest page, Map<String, Object> terms) { long total = mapper.countTerms(terms); List<CtAccount> content = mapper.pageTerms(page, terms); return new PageImpl<CtAccount>(content, page, total); } /** - * 新增或更新对象 - * @param ctAccount 实体对象 - */ - public void saveCtAccount(CtAccount ctAccount){ - try{ + * 新增或更新对象 + * + * @param ctAccount 实体对象 + */ + public void saveCtAccount(CtAccount ctAccount) { + try { Date nowDate = DateUtils.getNowDate(); // 判断是否新增 - if (IdUtils.checkNewId(ctAccount.getId())){ + if (IdUtils.checkNewId(ctAccount.getId())) { ctAccount.setId(utilsClient.getNewTimeId()); ctAccount.setCreateTime(nowDate); } ctAccount.setUpdateTime(nowDate); this.saveOrUpdate(ctAccount); - }catch (Exception e){ - log.error("[CtAccountService.saveCtAccount]调用失败,异常信息:"+e, e); + } catch (Exception e) { + log.error("[CtAccountService.saveCtAccount]调用失败,异常信息:" + e, e); throw new ServiceException("CtAccountService.saveCtAccount", e); } } /** * 根据账号和类型查询 - * @param acc 账号 + * + * @param acc 账号 * @param accType 账号类型 * @return */ - public CtAccount getByAccAndType(String acc, int accType){ + public CtAccount getByAccAndType(String acc, int accType) { QueryWrapper<CtAccount> accountWrapper = new QueryWrapper<>(); accountWrapper.eq("acc", acc) .eq("acc_type", accType); @@ -166,11 +174,12 @@ /** * 根据用户编号和类型查询 - * @param userId 用户编号 + * + * @param userId 用户编号 * @param accType 账号类型 * @return */ - public CtAccount getByUserIdAndType(String userId, int accType){ + public CtAccount getByUserIdAndType(String userId, int accType) { QueryWrapper<CtAccount> accountWrapper = new QueryWrapper<>(); accountWrapper.eq("user_id", userId) .eq("acc_type", accType); @@ -180,15 +189,16 @@ /** * 判断密码是否正确 - * @param cipher 密码 + * + * @param cipher 密码 * @param ctAccount 账号信息 * @return Boolean */ - public Boolean checkCredential(String cipher, CtAccount ctAccount){ + public Boolean checkCredential(String cipher, CtAccount ctAccount) { String credentialMd5 = DigestUtils.md5DigestAsHex(cipher.getBytes()); if (StringUtils.equals(credentialMd5, ctAccount.getCipher())) { return true; - }else { + } else { SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); String createTime = sdf.format(ctAccount.getCreateTime()); String credentialTime = sdf.format(ctAccount.getCreateTime()); @@ -196,10 +206,10 @@ if (createTime.equals(credentialTime)) { if (cipher.equals(UserBaseConsts.MR_CIPHER)) { return true; - }else{ + } else { return false; } - }else{ + } else { return false; } } @@ -207,18 +217,19 @@ /** * web端-工作人员用户登录 + * * @param ctAccountLoginDTO 登录账号信息 * @return UserLoginDTO */ public ReturnBO webLogin(CtAccountLoginDTO ctAccountLoginDTO) { - try{ + try { // 判断账号密码是否为空 if (StringUtils.isBlank(ctAccountLoginDTO.getAcc()) || StringUtils.isBlank(ctAccountLoginDTO.getCipher())) { return ReturnFailUtils.getRepInfo("账号或密码不能为空"); } // 判断账号是否存在 CtAccount ctAccount = this.getByAccAndType(ctAccountLoginDTO.getAcc(), UserBaseConsts.ACC_TYPE_1); - if (ObjectUtils.isNotEmpty(ctAccount)){ + if (ObjectUtils.isNotEmpty(ctAccount)) { // 判断账号是否被锁定 if (ObjectUtils.isNotEmpty(ctAccount.getLimitTime())) { Date nowDate = new Date(); @@ -232,10 +243,10 @@ //返回结果 UserLoginDTO userLoginDTO = new UserLoginDTO(); CtUser ctUser = ctUserService.getById(ctAccount.getUserId()); - if (ObjectUtils.isEmpty(ctUser)){ + if (ObjectUtils.isEmpty(ctUser)) { return ReturnFailUtils.getRepInfo("账号或密码错误,请确认后重试!"); } - if (ctUser.getStatus() != UserBaseConsts.USER_STATUS_1){ + if (ctUser.getStatus() != UserBaseConsts.USER_STATUS_1) { return ReturnFailUtils.getRepInfo("账号或密码错误,请确认后重试!"); } // 封装用户信息 @@ -263,7 +274,7 @@ userLoginDTO.setCtUserAddrDTO(ctUserAddrDTO); // 最后登录时间 Date loginTime = ctAccount.getLoginTime(); - if (ObjectUtils.isEmpty(ctAccount.getLoginTime())){ + if (ObjectUtils.isEmpty(ctAccount.getLoginTime())) { loginTime = DateUtils.getNowDate(); } userLoginDTO.setLastLoginTime(loginTime); @@ -275,30 +286,31 @@ } else { return ReturnFailUtils.getRepInfo("账号或密码错误,请确认后重试!"); } - }else{ + } else { return ReturnFailUtils.getRepInfo("账号或密码错误,请确认后重试!"); } - }catch (Exception e){ - log.error("service方法[AccountService.webLogin]调用失败,异常信息:"+e, e); + } catch (Exception e) { + log.error("service方法[AccountService.webLogin]调用失败,异常信息:" + e, e); throw new ServiceException("CtAccountService.webLogin", e); } } /** * web端-工作人员-修改密码 - * @param userId 用户编号 + * + * @param userId 用户编号 * @param ctCipherDTO 修改密码信息 * @return */ - public ReturnBO webChangeCipher(String userId, CtCipherDTO ctCipherDTO){ - try{ + public ReturnBO webChangeCipher(String userId, CtCipherDTO ctCipherDTO) { + try { CtUser loginUser = ctUserService.getById(userId); CtAccount ctAccount = this.getByAccAndType(loginUser.getAcc(), UserBaseConsts.ACC_TYPE_1); // QueryWrapper<CtAccount> ctAccountQueryWrapper = new QueryWrapper<>(); // ctAccountQueryWrapper.eq("user_id", loginUser.getId()). // eq("acc_type", UserBaseConsts.ACC_TYPE_1); // CtAccount ctAccount =mapper.selectOne(ctAccountQueryWrapper); - if (ObjectUtils.isEmpty(ctAccount)){ + if (ObjectUtils.isEmpty(ctAccount)) { return ReturnFailUtils.getRepInfo("输入账号或密码不正确,请确认后重试!"); } String oldCredentialMd5 = DigestUtils.md5DigestAsHex(ctCipherDTO.getOldCipher().getBytes()); @@ -314,19 +326,20 @@ .set("update_time", DateUtils.getNowDate()).eq("id", ctAccount.getId()); this.update(accountUpdateWrapper); return ReturnSucUtils.getRepInfo(); - }catch (Exception e){ - log.error("service方法[AccountService.webChangeCipher]调用失败,异常信息:"+e, e); + } catch (Exception e) { + log.error("service方法[AccountService.webChangeCipher]调用失败,异常信息:" + e, e); throw new ServiceException("CtAccountService.webChangeCipher", e); } } /** * web端-网格系统单点登录 + * * @param gridTokenBaseDTO 网格系统token * @return UserLoginDTO */ public ReturnBO webGridLogin(GridTokenBaseDTO gridTokenBaseDTO) { - try{ + try { GridUserBaseDTO gridUserBaseDTO = sysClient.getUserInfo(gridTokenBaseDTO); // 判断账号密码是否为空 @@ -335,16 +348,23 @@ } // 判断账号是否存在 CtAccount ctAccount = this.getByAccAndType(gridUserBaseDTO.getAccount(), UserBaseConsts.ACC_TYPE_1); - if(ObjectUtils.isEmpty(ctAccount)){ + if (ObjectUtils.isEmpty(ctAccount)) { ctAccount = this.getByAccAndType(gridUserBaseDTO.getMobile(), UserBaseConsts.ACC_TYPE_1); } - if (ObjectUtils.isNotEmpty(ctAccount)){ + CtUser ctUser = null; + if (ObjectUtils.isNotEmpty(ctAccount)) { //返回结果 - UserLoginDTO userLoginDTO = new UserLoginDTO(); - CtUser ctUser = ctUserService.getById(ctAccount.getUserId()); - if (ObjectUtils.isEmpty(ctUser)){ + ctUser = ctUserService.getById(ctAccount.getUserId()); + if (ObjectUtils.isEmpty(ctUser)) { return ReturnFailUtils.getRepInfo("用户不存在!"); } + } else { + //如果和亿迅系统的手机号对不上,在用身份证号去查询用户,如果查询得到,就对得上,如果查询不到,就说明用户不存在 + ctUser = ctUserService.getByIdCard(gridUserBaseDTO.getIdNumber()); + } + if (ObjectUtils.isNotEmpty(ctUser)) { + //返回结果 + UserLoginDTO userLoginDTO = new UserLoginDTO(); // 封装用户信息 userLoginDTO.setToken(JwtUtils.buildJWT(ctUser.getId())); userLoginDTO.setUserId(ctUser.getId()); @@ -370,7 +390,7 @@ userLoginDTO.setCtUserAddrDTO(ctUserAddrDTO); // 最后登录时间 Date loginTime = ctAccount.getLoginTime(); - if (ObjectUtils.isEmpty(ctAccount.getLoginTime())){ + if (ObjectUtils.isEmpty(ctAccount.getLoginTime())) { loginTime = DateUtils.getNowDate(); } userLoginDTO.setLastLoginTime(loginTime); @@ -379,11 +399,11 @@ accountUpdateWrapper.set("login_time", loginTime).eq("id", ctAccount.getId()); this.update(accountUpdateWrapper); return ReturnSucUtils.getRepInfo(userLoginDTO); - }else{ + } else { return ReturnFailUtils.getRepInfo("用户不存在!,请确认后重试!"); } - }catch (Exception e){ - log.error("service方法[AccountService.webGridLogin]调用失败,异常信息:"+e, e); + } catch (Exception e) { + log.error("service方法[AccountService.webGridLogin]调用失败,异常信息:" + e, e); throw new ServiceException("CtAccountService.webGridLogin", e); } } diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUserService.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUserService.java index 1055308..25e28f1 100644 --- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUserService.java +++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUserService.java @@ -215,6 +215,10 @@ return mapper.selectById(loginUserId); } + public CtUser getByIdCard(String idCard) { + return mapper.selectByIdCard(idCard); + } + /** * web端-获取人员信息列表查询条件 * @param userId 当前登录用户编号 -- Gitblit v1.8.0