From e33cc6968e5c7c57013413b077421b77714ed69b Mon Sep 17 00:00:00 2001 From: liyj <1003249715@qq.com> Date: Tue, 20 Aug 2024 14:48:17 +0800 Subject: [PATCH] 1、修改代码生成器 2、优化网关解析token信息 3、web端登录授权操作 4、web端修改密码操作 --- dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dto/CtCipherDTO.java | 26 + dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtAccountService.java | 174 +++++++++++ dyh-service/dyh-base/src/main/java/cn/huge/module/cust/constant/UserBaseConsts.java | 14 dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtAccountWebController.java | 182 ++--------- dyh-service/dyh-cust/src/main/java/cn/huge/module/ctrole/service/CtRoledataService.java | 2 dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dto/CtUserAddrDTO.java | 66 ++++ dyh-service/dyh-cust/src/main/java/cn/huge/module/ctrole/service/CtRolefunService.java | 2 dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/domain/po/CtUser.java | 2 dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtDeptService.java | 2 dyh-service/dyh-base/src/main/java/cn/huge/base/common/utils/DateUtils.java | 2 dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dto/UserLoginDTO.java | 66 ++++ dyh-service/dyh-utils/src/main/java/cn/huge/module/common/utils/JudicNoUtils.java | 2 dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/service/PaAccountService.java | 2 dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dto/CtAccountLoginDTO.java | 36 ++ dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUseroleService.java | 21 + dyh-service/dyh-cust/src/main/java/cn/huge/module/redis/constant/RedisKeyConsts.java | 42 ++ dyh-service/dyh-utils/src/main/java/cn/huge/module/common/utils/CaseNoUtils.java | 2 dyh-gateway/src/main/java/cn/huge/gateway/filter/AuthFilter.java | 50 +- dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtUserWebController.java | 83 ---- dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUserService.java | 88 +++++ dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUsepostService.java | 2 dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtPostService.java | 2 dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUnitService.java | 2 dyh-service/dyh-base/src/main/resources/template/service.ftl | 2 dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/service/PaUserService.java | 2 dyh-service/dyh-cust/src/main/java/cn/huge/module/ctrole/service/CRoleService.java | 2 26 files changed, 594 insertions(+), 282 deletions(-) diff --git a/dyh-gateway/src/main/java/cn/huge/gateway/filter/AuthFilter.java b/dyh-gateway/src/main/java/cn/huge/gateway/filter/AuthFilter.java index c1481a9..d93e0cd 100644 --- a/dyh-gateway/src/main/java/cn/huge/gateway/filter/AuthFilter.java +++ b/dyh-gateway/src/main/java/cn/huge/gateway/filter/AuthFilter.java @@ -1,5 +1,6 @@ package cn.huge.gateway.filter; +import cn.huge.gateway.utils.ReturnBO; import cn.huge.gateway.utils.SpringContextUtil; import com.auth0.jwt.JWT; import com.auth0.jwt.JWTVerifier; @@ -87,6 +88,7 @@ if (status) { return chain.filter(exchange); } else { + ReturnBO returnBO = new ReturnBO(); //从请求头中取出token String token = exchange.getRequest().getHeaders().getFirst("Authorization"); //未携带token或token在黑名单内 @@ -94,34 +96,26 @@ ServerHttpResponse originalResponse = exchange.getResponse(); originalResponse.setStatusCode(HttpStatus.OK); originalResponse.getHeaders().add("Content-Type", "application/json;charset=UTF-8"); - byte[] response = "{\"code\": \"401\",\"msg\": \"用户未登录,请进行登录!\"}" - .getBytes(StandardCharsets.UTF_8); + returnBO.setCode(401); + returnBO.setMsg("您尚未登录,请登录后重试!"); + byte[] response = returnBO.toString().getBytes(StandardCharsets.UTF_8); DataBuffer buffer = originalResponse.bufferFactory().wrap(response); return originalResponse.writeWith(Flux.just(buffer)); } else { //取出token包含的身份 - Map<String, Object> result = verifyJWT(token); - int code = (int) result.get("code"); - if (code != 0) { + returnBO = verifyJWT(token); + if (returnBO.getCode() != 0) { ServerHttpResponse originalResponse = exchange.getResponse(); originalResponse.setStatusCode(HttpStatus.OK); originalResponse.getHeaders().add("Content-Type", "application/json;charset=UTF-8"); - String responseResult = "{\"code\": \"" + code + "\", \"msg\": \"" + result.get("msg") + "\"}"; - byte[] response = responseResult.getBytes(StandardCharsets.UTF_8); + byte[] response = returnBO.toString().getBytes(StandardCharsets.UTF_8); DataBuffer buffer = originalResponse.bufferFactory().wrap(response); return originalResponse.writeWith(Flux.just(buffer)); } else { //将现在的request,添加当前身份 - String userId = (String) result.get("userId"); + String userId = (String) returnBO.getData(); ServerHttpRequest mutableReq = null; - String custId = (String) result.get("custId"); - if (StringUtils.isNotEmpty(custId)) { - URI uri = exchange.getRequest().getURI(); - URI newUri = assembleUri(uri, custId); - exchange.getRequest().mutate().uri(newUri).header("Authorization-userId", userId).header("Authorization-custId", custId).build(); - } else { - exchange.getRequest().mutate().header("Authorization-userId", userId).build(); - } + exchange.getRequest().mutate().header("Authorization-userId", userId).build(); ServerWebExchange mutableExchange = exchange.mutate().request(mutableReq).build(); return chain.filter(mutableExchange); } @@ -135,8 +129,8 @@ * @param token 授权信息 * @return Map */ - private Map<String, Object> verifyJWT(String token){ - Map<String, Object> result = new HashMap<>(); + private ReturnBO verifyJWT(String token){ + ReturnBO returnBO = new ReturnBO(); try { Algorithm algorithm = Algorithm.HMAC256(secretKey); JWTVerifier verifier = JWT.require(algorithm) @@ -145,25 +139,23 @@ DecodedJWT jwt = verifier.verify(token); String userId = jwt.getClaim("userId").asString(); if (userId.isEmpty()){ - result.put("code", 401); - result.put("msg", "登录用户已失效,请重新登录"); + returnBO.setCode(401); + returnBO.setMsg("您尚未登录,请登录后重试!"); }else{ - result.put("code", 0); - result.put("userId", userId); - String custId = jwt.getClaim("custId").asString(); - result.put("custId", custId); + returnBO.setCode(0); + returnBO.setData(userId); } } catch (JWTVerificationException e){ log.error("AuthFilter方法[verifyJWT]调用异常:"+e, e); if (e.getMessage().indexOf("The Token has expired") != -1){ - result.put("code", 401); - result.put("msg", "登录用户已失效,请重新登录!"); + returnBO.setCode(401); + returnBO.setMsg("您尚未登录,请登录后重试!"); }else{ - result.put("code", 401); - result.put("msg", "登录用户已失效,请重新登录"); + returnBO.setCode(401); + returnBO.setMsg("您尚未登录,请登录后重试!"); } } - return result; + return returnBO; } /** diff --git a/dyh-service/dyh-base/src/main/java/cn/huge/base/common/utils/DateUtils.java b/dyh-service/dyh-base/src/main/java/cn/huge/base/common/utils/DateUtils.java index 6bd3cb5..f9fa79c 100644 --- a/dyh-service/dyh-base/src/main/java/cn/huge/base/common/utils/DateUtils.java +++ b/dyh-service/dyh-base/src/main/java/cn/huge/base/common/utils/DateUtils.java @@ -174,7 +174,7 @@ * 获取当前时间 * @return Date */ - public static Date getMowDate(){ + public static Date getNowDate(){ return new Date(); } diff --git a/dyh-service/dyh-base/src/main/java/cn/huge/module/cust/constant/UserBaseConsts.java b/dyh-service/dyh-base/src/main/java/cn/huge/module/cust/constant/UserBaseConsts.java index 99ba2a8..dd3b7ee 100644 --- a/dyh-service/dyh-base/src/main/java/cn/huge/module/cust/constant/UserBaseConsts.java +++ b/dyh-service/dyh-base/src/main/java/cn/huge/module/cust/constant/UserBaseConsts.java @@ -16,6 +16,13 @@ public static final String MR_CIPHER = "byzfw2023!"; /** + * 用户状态,1:在职/有效(默认),2:停用,3:离职 + */ + public static final String USER_STATUS_1 = "1"; + public static final String USER_STATUS_2 = "2"; + public static final String USER_STATUS_3 = "3"; + + /** * 部门类型,1:正常部门,2:特殊部门(调委会等) */ public static final String DEPT_TYPE_1 = "1"; @@ -33,13 +40,6 @@ */ public static final String IS_ROLE_1 = "1"; public static final String NO_ROLE_2 = "2"; - - /** - * 用户状态,1:在职/有效(默认),2:停用,99:离职 - */ - public static final String USER_STATUS_1 = "1"; - public static final String USER_STATUS_2 = "2"; - public static final String USER_STATUS_99 = "99"; /** * 帐号类型,22_00027-1:pc帐号(默认),22_00027-2:微信小程序,22_00027-3:政数局统一平台 diff --git a/dyh-service/dyh-base/src/main/resources/template/service.ftl b/dyh-service/dyh-base/src/main/resources/template/service.ftl index 00c1cb0..7dcc9b3 100644 --- a/dyh-service/dyh-base/src/main/resources/template/service.ftl +++ b/dyh-service/dyh-base/src/main/resources/template/service.ftl @@ -116,7 +116,7 @@ */ public void save${className}(${className} ${lowerName}){ try{ - Date nowDate = DateUtils.getMowDate(); + Date nowDate = DateUtils.getNowDate(); // 判断是否新增 if (IdUtils.checkNewId(${lowerName}.getId())){ ${lowerName}.setId(utilsClient.getNewTimeId()); diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctrole/service/CRoleService.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctrole/service/CRoleService.java index 1b803dc..96bf19a 100644 --- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctrole/service/CRoleService.java +++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctrole/service/CRoleService.java @@ -116,7 +116,7 @@ */ public void saveCRole(CRole cRole){ try{ - Date nowDate = DateUtils.getMowDate(); + Date nowDate = DateUtils.getNowDate(); // 判断是否新增 if (IdUtils.checkNewId(cRole.getId())){ cRole.setId(utilsClient.getNewTimeId()); diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctrole/service/CtRoledataService.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctrole/service/CtRoledataService.java index 745c030..c4b48bd 100644 --- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctrole/service/CtRoledataService.java +++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctrole/service/CtRoledataService.java @@ -116,7 +116,7 @@ */ public void saveCtRoledata(CtRoledata ctRoledata){ try{ - Date nowDate = DateUtils.getMowDate(); + Date nowDate = DateUtils.getNowDate(); // 判断是否新增 if (IdUtils.checkNewId(ctRoledata.getId())){ ctRoledata.setId(utilsClient.getNewTimeId()); diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctrole/service/CtRolefunService.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctrole/service/CtRolefunService.java index 1445e02..ab91fd3 100644 --- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctrole/service/CtRolefunService.java +++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctrole/service/CtRolefunService.java @@ -116,7 +116,7 @@ */ public void saveCtRolefun(CtRolefun ctRolefun){ try{ - Date nowDate = DateUtils.getMowDate(); + Date nowDate = DateUtils.getNowDate(); // 判断是否新增 if (IdUtils.checkNewId(ctRolefun.getId())){ ctRolefun.setId(utilsClient.getNewTimeId()); diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtAccountWebController.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtAccountWebController.java index 4afac91..372283b 100644 --- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtAccountWebController.java +++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtAccountWebController.java @@ -1,9 +1,15 @@ package cn.huge.module.ctuser.controller; +import cn.huge.base.common.bo.ReturnBO; import cn.huge.base.common.utils.ReturnFailUtils; import cn.huge.base.common.utils.ReturnSucUtils; +import cn.huge.base.config.CurrentUser; +import cn.huge.module.constant.BaseConsts; import cn.huge.module.ctuser.domain.po.CtAccount; +import cn.huge.module.ctuser.dto.CtAccountLoginDTO; +import cn.huge.module.ctuser.dto.CtCipherDTO; import cn.huge.module.ctuser.service.CtAccountService; +import cn.huge.module.utils.JwtUtils; import com.google.common.collect.Maps; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -38,160 +44,52 @@ private CtAccountService service; /** - * 获取请求URL参数 - * @return Map<String, Object> - */ - private Map<String, Object> getParameter(){ - Map<String, Object> terms = Maps.newHashMap(); - // 账号编号 - String id = request.getParameter("id"); - if (StringUtils.isNotBlank(id)){ - terms.put("id", id); + * web端-工作人员-用户登录 + * @url {ctx}/api/web/ctAccount/login + * @param ctAccountLoginDTO 登录对象 + * @return Object + */ + @PostMapping(value = "login") + public Object login(@RequestBody CtAccountLoginDTO ctAccountLoginDTO) { + try { + ReturnBO returnBO = service.webLogin(ctAccountLoginDTO); + return returnBO; + } catch (Exception e) { + return ReturnFailUtils.getRepInfo(e.getMessage()); } - // 用户编号 - String userId = request.getParameter("userId"); - if (StringUtils.isNotBlank(userId)){ - terms.put("userId", userId); - } - // 帐号类型,1:平台web端,2:平台小程序 - String accType = request.getParameter("accType"); - if (StringUtils.isNotBlank(accType)){ - terms.put("accType", accType); - } - // 身份唯一标识(存储唯一标识,比如账号、邮箱、手机号、第三方获取的唯一标识等) - String acc = request.getParameter("acc"); - if (StringUtils.isNotBlank(acc)){ - terms.put("acc", acc); - } - // 授权凭证(比如密码 第三方登录的token等) - String cipher = request.getParameter("cipher"); - if (StringUtils.isNotBlank(cipher)){ - terms.put("cipher", cipher); - } - // 授权凭证明文 - String cipherOpen = request.getParameter("cipherOpen"); - if (StringUtils.isNotBlank(cipherOpen)){ - terms.put("cipherOpen", cipherOpen); - } - // 密码最新更新时间 - String cipherTime = request.getParameter("cipherTime"); - if (StringUtils.isNotBlank(cipherTime)){ - terms.put("cipherTime", cipherTime); - } - // 最新登录时间 - String loginTime = request.getParameter("loginTime"); - if (StringUtils.isNotBlank(loginTime)){ - terms.put("loginTime", loginTime); - } - // 限制登录时间(密码错误次数超过限制,默认30分钟) - String limitTime = request.getParameter("limitTime"); - if (StringUtils.isNotBlank(limitTime)){ - terms.put("limitTime", limitTime); - } - // 删除状态,0:已删除,1:未删除 - String deleteStatus = request.getParameter("deleteStatus"); - if (StringUtils.isNotBlank(deleteStatus)){ - terms.put("deleteStatus", deleteStatus); - } - // 顾客编号 - String custId = request.getParameter("custId"); - if (StringUtils.isNotBlank(custId)){ - terms.put("custId", custId); - } - // 创建时间区间 - String createStart = request.getParameter("createStart"); - String createEnd = request.getParameter("createEnd"); - if(StringUtils.isNotBlank(createStart) && StringUtils.isNotBlank(createEnd)) { - terms.put("createStart", createStart); - terms.put("createEnd", createEnd); - } - // 更新时间区间 - String updateStart = request.getParameter("updateStart"); - String updateEnd = request.getParameter("updateEnd"); - if(StringUtils.isNotBlank(updateStart) && StringUtils.isNotBlank(updateEnd)) { - terms.put("updateStart", updateStart); - terms.put("updateEnd", updateEnd); - } - return terms; } /** - * 条件查询多个 - * @url {ctx}/api/web/ctAccount/listQuery - * @return Object - */ - @GetMapping("/listQuery") - public Object listQuery() { + * web端-工作人员-用户选择/切换角色 + * @url {ctx}/api/web/ctAccount/switchRole + * @return Object + */ + @GetMapping(value = "switchRole") + public Object switchRole(@RequestParam(value = "roleCode") String roleCode, @CurrentUser String userId) { try { - Map<String, Object> terms = getParameter(); - return ReturnSucUtils.getRepInfo(service.listTerms(terms)); + StringBuffer result = new StringBuffer(); + if (userId.indexOf(BaseConsts.AND) != -1){ + String[] userIds = userId.split(BaseConsts.AND); + result.append(userIds[0]).append(BaseConsts.AND).append(roleCode); + }else { + result.append(userId).append(BaseConsts.AND).append(roleCode); + } + return ReturnSucUtils.getRepInfo(JwtUtils.buildJWT(result.toString())); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } /** - * 条件分页查询 - * @url {ctx}/api/web/ctAccount/pageQuery - * @param page 页码 - * @param size 每页数量 - * @return Object - */ - @GetMapping("/pageQuery") - public Object pageQuery(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size) { + * web端-工作人员-修改密码 + * @url {ctx}/api/v1/ctAccount/changeCipher + * @param ctCipherDTO 修改密码对象 + * @return Object + */ + @PostMapping(value = "changeCipher") + public Object changeCipher(@CurrentUser String userId, @RequestBody CtCipherDTO ctCipherDTO) { try { - Map<String, Object> terms = getParameter(); - Sort sort = Sort.by(Sort.Direction.DESC, "create_time"); - PageRequest pageRequest = PageRequest.of(page-1, size, sort); - Page<CtAccount> ctAccountPage = service.pageQuery(pageRequest, terms); - return ReturnSucUtils.getRepInfo( "处理成功", ctAccountPage); - } catch (Exception e) { - return ReturnFailUtils.getRepInfo(); - } - } - - /** - * 根据编号查询单个 - * @url {ctx}/api/web/ctAccount/getById - * @param id 主键编号 - * @return Object - */ - @GetMapping("/getById") - public Object getById(@RequestParam(value = "id") String id) { - try { - return ReturnSucUtils.getRepInfo(service.getById(id)); - } catch (Exception e) { - return ReturnFailUtils.getRepInfo(); - } - } - - /** - * 根据主键单个 - * @url {ctx}/api/web/ctAccount/deleteById - * @param id 主键编号 - * @return Object - */ - @GetMapping("/deleteById") - public Object deleteById(@RequestParam(value = "id") String id) { - try { - service.removeById(id); - return ReturnSucUtils.getRepInfo(); - } catch (Exception e) { - return ReturnFailUtils.getRepInfo(); - } - } - - /** - * 新增或更新对象 - * @url {ctx}/api/web/ctAccount/saveCtAccount - * @param ctAccount 实体对象 - * @return Object - */ - @PostMapping("/saveCtAccount") - public Object saveCtAccount(@RequestBody CtAccount ctAccount) { - try { - service.saveCtAccount(ctAccount); - return ReturnSucUtils.getRepInfo(); + return service.webChangeCipher(userId, ctCipherDTO); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtUserWebController.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtUserWebController.java index eceda98..dbfbcb0 100644 --- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtUserWebController.java +++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/controller/web/CtUserWebController.java @@ -2,6 +2,7 @@ import cn.huge.base.common.utils.ReturnFailUtils; import cn.huge.base.common.utils.ReturnSucUtils; +import cn.huge.base.config.CurrentUser; import cn.huge.module.ctuser.domain.po.CtUser; import cn.huge.module.ctuser.service.CtUserService; import com.google.common.collect.Maps; @@ -241,81 +242,17 @@ } /** - * 条件查询多个 - * @url {ctx}/api/web/ctUser/listQuery - * @return Object - */ - @GetMapping("/listQuery") - public Object listQuery() { - try { - Map<String, Object> terms = getParameter(); - return ReturnSucUtils.getRepInfo(service.listTerms(terms)); - } catch (Exception e) { - return ReturnFailUtils.getRepInfo(); - } - } - - /** - * 条件分页查询 - * @url {ctx}/api/web/ctUser/pageQuery - * @param page 页码 - * @param size 每页数量 - * @return Object - */ - @GetMapping("/pageQuery") - public Object pageQuery(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size) { - try { - Map<String, Object> terms = getParameter(); - Sort sort = Sort.by(Sort.Direction.DESC, "create_time"); - PageRequest pageRequest = PageRequest.of(page-1, size, sort); - Page<CtUser> ctUserPage = service.pageQuery(pageRequest, terms); - return ReturnSucUtils.getRepInfo( "处理成功", ctUserPage); - } catch (Exception e) { - return ReturnFailUtils.getRepInfo(); - } - } - - /** - * 根据编号查询单个 - * @url {ctx}/api/web/ctUser/getById - * @param id 主键编号 - * @return Object - */ - @GetMapping("/getById") - public Object getById(@RequestParam(value = "id") String id) { - try { - return ReturnSucUtils.getRepInfo(service.getById(id)); - } catch (Exception e) { - return ReturnFailUtils.getRepInfo(); - } - } - - /** - * 根据主键单个 - * @url {ctx}/api/web/ctUser/deleteById - * @param id 主键编号 - * @return Object - */ - @GetMapping("/deleteById") - public Object deleteById(@RequestParam(value = "id") String id) { - try { - service.removeById(id); - return ReturnSucUtils.getRepInfo(); - } catch (Exception e) { - return ReturnFailUtils.getRepInfo(); - } - } - - /** - * 新增或更新对象 - * @url {ctx}/api/web/ctUser/saveCtUser - * @param ctUser 实体对象 - * @return Object - */ + * web端-人员信息管理-新增/新用户信息 + * @url {ctx}/api/v1/ctUser/saveCtUser + * @param userId + * @return Object + * @throws Exception + */ @PostMapping("/saveCtUser") - public Object saveCtUser(@RequestBody CtUser ctUser) { + public Object saveCtUser(@RequestBody CtUser ctUser, @CurrentUser String userId) { try { - service.saveCtUser(ctUser); + // 保存更新用户信息 + service.webSaveCtUser(ctUser, userId); return ReturnSucUtils.getRepInfo(); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/domain/po/CtUser.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/domain/po/CtUser.java index dde2324..18335e7 100644 --- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/domain/po/CtUser.java +++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/domain/po/CtUser.java @@ -183,7 +183,7 @@ private Integer realStatus; /** - * 用户状态,1:有效(默认),2:停用,99:离职 + * 用户状态,1:有效(默认),2:停用,3:离职 */ @TableField(value = "status") private Integer status; diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dto/CtAccountLoginDTO.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dto/CtAccountLoginDTO.java new file mode 100644 index 0000000..3608f04 --- /dev/null +++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dto/CtAccountLoginDTO.java @@ -0,0 +1,36 @@ +package cn.huge.module.ctuser.dto; + +import lombok.Data; + +/** + * @title: 客户用户账号登录数据传输类 + * @description: 客户用户账号登录数据传输类 + * @company:hugeinfo + * @author: chenx + * @time: 2022-02-22 15:24:51 + * @version 1.0.0 + */ +@Data +public class CtAccountLoginDTO { + + /** + * 身份唯一标识(存储唯一标识,比如账号、邮箱、手机号、第三方获取的唯一标识等) + */ + private String acc; + + /** + * 授权凭证(比如密码 第三方登录的token等) + */ + private String cipher; + + /** + * 顾客编号 + */ + private String custId; + + /** + * 验证码 + */ + private String loginCode; + +} diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dto/CtCipherDTO.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dto/CtCipherDTO.java new file mode 100644 index 0000000..bfc6801 --- /dev/null +++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dto/CtCipherDTO.java @@ -0,0 +1,26 @@ +package cn.huge.module.ctuser.dto; + +import lombok.Data; + +/** + * @title: 客户用户修改密码数据传输类 + * @description: 客户用户修改密码数据传输类 + * @company:hugeinfo + * @author: chenx + * @time: 2022-02-22 15:24:51 + * @version 1.0.0 + */ +@Data +public class CtCipherDTO { + + /** + * 旧密码 + */ + private String oldCipher; + + /** + * 新密码 + */ + private String newCipher; + +} diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dto/CtUserAddrDTO.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dto/CtUserAddrDTO.java new file mode 100644 index 0000000..5a2df7d --- /dev/null +++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dto/CtUserAddrDTO.java @@ -0,0 +1,66 @@ +package cn.huge.module.ctuser.dto; + +import lombok.Data; + +/** + * @title: 登录用户地址数据传输类 + * @description: 登录用户地址数据传输类 + * @company:hugeinfo + * @author: chenx + * @time: 2022-02-22 15:24:51 + * @version 1.0.0 + */ +@Data +public class CtUserAddrDTO { + + /** + * 现居地省 + */ + private String prov; + + /** + * 现居地省名称 + */ + private String provName; + + /** + * 现居地市 + */ + private String city; + + /** + * 现居地市名称 + */ + private String cityName; + + /** + * 现居地区 + */ + private String area; + + /** + * 现居地区名称 + */ + private String areaName; + + /** + * 现居地街道 + */ + private String road; + + /** + * 现居地街道名称 + */ + private String roadName; + + /** + * 现居地社区 + */ + private String village; + + /** + * 现居地社区名称 + */ + private String villageName; + +} diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dto/UserLoginDTO.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dto/UserLoginDTO.java new file mode 100644 index 0000000..37a2a8e --- /dev/null +++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/dto/UserLoginDTO.java @@ -0,0 +1,66 @@ +package cn.huge.module.ctuser.dto; + +import cn.huge.module.ctuser.domain.po.CtUserole; +import cn.huge.module.user.domain.po.CtUser; +import cn.huge.module.user.domain.po.CtUserole; +import lombok.Data; + +import java.util.Date; +import java.util.List; + +/** + * @title: 登录后返回前端用户实体类 + * @description: 登录后返回前端用户实体类 + * @company: hugeinfo + * @author: liyj + * @time: 2022-02-22 15:24:51 + * @version: 1.0.0 + */ +@Data +public class UserLoginDTO { + + /** + * JWT token + */ + private String token; + + /** + * 用户编号 + */ + private String userId; + + /** + * 用户名称 + */ + private String trueName; + + /** + * 用户单位 + */ + private String unit; + + /** + * 用户部门 + */ + private String dept; + + /** + * 客户编号 + */ + private String custId; + + /** + * 上一次登录时间 + */ + private Date lastLoginTime; + + /** + * 人员角色信息 + */ + private List<CtUserole> ctUseroleList; + + /** + * 人员地址信息 + */ + private CtUserAddrDTO ctUserAddrDTO; +} 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 33acd57..86a6a72 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 @@ -1,12 +1,23 @@ package cn.huge.module.ctuser.service; +import cn.huge.base.common.bo.ReturnBO; import cn.huge.base.common.exception.ServiceException; -import cn.huge.base.common.utils.DateUtils; -import cn.huge.base.common.utils.IdUtils; +import cn.huge.base.common.utils.*; import cn.huge.module.client.api.impl.UtilsClientImpl; import cn.huge.module.ctuser.dao.mapper.CtAccountMapper; import cn.huge.module.ctuser.domain.po.CtAccount; +import cn.huge.module.ctuser.domain.po.CtUser; +import cn.huge.module.ctuser.domain.po.CtUserole; +import cn.huge.module.ctuser.dto.CtAccountLoginDTO; +import cn.huge.module.ctuser.dto.CtCipherDTO; +import cn.huge.module.ctuser.dto.CtUserAddrDTO; +import cn.huge.module.ctuser.dto.UserLoginDTO; +import cn.huge.module.cust.constant.UserBaseConsts; +import cn.huge.module.utils.JwtUtils; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import lombok.extern.slf4j.Slf4j; @@ -15,8 +26,10 @@ import org.springframework.data.domain.PageImpl; import org.springframework.data.domain.PageRequest; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.DigestUtils; import javax.annotation.PostConstruct; +import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; import java.util.Map; @@ -39,6 +52,10 @@ @Autowired private UtilsClientImpl utilsClient; + @Autowired + private CtUserService ctUserService; + @Autowired + private CtUseroleService ctUseroleService; /** * 更新对象 @@ -116,7 +133,7 @@ */ public void saveCtAccount(CtAccount ctAccount){ try{ - Date nowDate = DateUtils.getMowDate(); + Date nowDate = DateUtils.getNowDate(); // 判断是否新增 if (IdUtils.checkNewId(ctAccount.getId())){ ctAccount.setId(utilsClient.getNewTimeId()); @@ -130,4 +147,155 @@ } } + /** + * 根据账号和类型查询 + * @param acc 账号 + * @param accType 账号类型 + * @return + */ + public CtAccount getByAccAndType(String acc, String accType){ + QueryWrapper<CtAccount> accountWrapper = new QueryWrapper<>(); + accountWrapper.eq("acc", acc) + .eq("acc_type", accType); + CtAccount ctAccount = this.getOne(accountWrapper); + return ctAccount; + } + + /** + * 判断密码是否正确 + * @param cipher 密码 + * @param ctAccount 账号信息 + * @return Boolean + */ + public Boolean checkCredential(String cipher, CtAccount ctAccount){ + String credentialMd5 = DigestUtils.md5DigestAsHex(cipher.getBytes()); + if (StringUtils.equals(credentialMd5, ctAccount.getCipher())) { + return true; + }else { + SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); + String createTime = sdf.format(ctAccount.getCreateTime()); + String credentialTime = sdf.format(ctAccount.getCreateTime()); + //是否修改过密码,未修改过可以用默认密码登录 + if (createTime.equals(credentialTime)) { + if (cipher.equals(UserBaseConsts.MR_CIPHER)) { + return true; + }else{ + return false; + } + }else{ + return false; + } + } + } + + /** + * web端-工作人员用户登录 + * @param ctAccountLoginDTO 登录账号信息 + * @return UserLoginDTO + */ + public ReturnBO webLogin(CtAccountLoginDTO ctAccountLoginDTO) { + try{ + // 判断账号密码是否为空 + if (StringUtils.isBlank(ctAccountLoginDTO.getAcc()) || StringUtils.isBlank(ctAccountLoginDTO.getCipher())) { + return ReturnSucUtils.getRepInfo("账号或密码不能为空", null); + } + // 判断账号是否存在 + CtAccount ctAccount = this.getByAccAndType(ctAccountLoginDTO.getAcc(), UserBaseConsts.ACC_TYPE_1); + if (ObjectUtils.isNotEmpty(ctAccount)){ + // 判断账号是否被锁定 + if (ObjectUtils.isNotEmpty(ctAccount.getLimitTime())) { + Date nowDate = new Date(); + if (nowDate.before(ctAccount.getLimitTime())) { + SimpleDateFormat sdf = new SimpleDateFormat("HH点mm分"); + return ReturnFailUtils.getRepInfo("账号已锁定,请于" + sdf.format(ctAccount.getLimitTime()) + "后重试,或者请联系管理员解锁!"); + } + } + // 判断密码是否正确 + if (checkCredential(ctAccountLoginDTO.getCipher(), ctAccount)) { + //返回结果 + UserLoginDTO userLoginDTO = new UserLoginDTO(); + CtUser ctUser = ctUserService.getByIdFromRedis(ctAccount.getUserId()); + if (ObjectUtils.isEmpty(ctUser)){ + return ReturnFailUtils.getRepInfo("账号或密码错误,请确认后重试!"); + } + if (UserBaseConsts.USER_STATUS_2.equals(ctUser.getStatus()) || UserBaseConsts.USER_STATUS_3.equals(ctUser.getStatus())){ + return ReturnFailUtils.getRepInfo("账号或密码错误,请确认后重试!"); + } + // 封装用户信息 + userLoginDTO.setToken(JwtUtils.buildJWT(ctUser.getId())); + userLoginDTO.setUserId(ctUser.getId()); + userLoginDTO.setTrueName(ctUser.getTrueName()); + userLoginDTO.setUnit(ctUser.getUnitName()); + userLoginDTO.setDept(ctUser.getDeptName()); + userLoginDTO.setCustId(ctUser.getCustId()); + // 登录用户角色 + List<CtUserole> ctUseroleList = ctUseroleService.listByUserId(ctUser.getId()); + userLoginDTO.setCtUseroleList(ctUseroleList); + // 登录用户地址信息 + CtUserAddrDTO ctUserAddrDTO = new CtUserAddrDTO(); + ctUserAddrDTO.setProv(ctUser.getProv()); + ctUserAddrDTO.setProvName(ctUser.getProvName()); + ctUserAddrDTO.setCity(ctUser.getCity()); + ctUserAddrDTO.setCityName(ctUser.getCityName()); + ctUserAddrDTO.setArea(ctUser.getArea()); + ctUserAddrDTO.setAreaName(ctUser.getAreaName()); + ctUserAddrDTO.setRoad(ctUser.getRoad()); + ctUserAddrDTO.setRoadName(ctUser.getRoadName()); + ctUserAddrDTO.setVillage(ctUser.getVillage()); + ctUserAddrDTO.setVillageName(ctUser.getVillageName()); + userLoginDTO.setCtUserAddrDTO(ctUserAddrDTO); + // 最后登录时间 + Date loginTime = ctAccount.getLoginTime(); + if (ObjectUtils.isEmpty(ctAccount.getLoginTime())){ + loginTime = DateUtils.getNowDate(); + } + userLoginDTO.setLastLoginTime(loginTime); + // 更新最新登录时间 + UpdateWrapper<CtAccount> accountUpdateWrapper = new UpdateWrapper<>(); + accountUpdateWrapper.set("login_time", loginTime).eq("id", ctAccount.getId()); + this.update(accountUpdateWrapper); + return ReturnSucUtils.getRepInfo(userLoginDTO); + } else { + return ReturnFailUtils.getRepInfo("账号或密码错误,请确认后重试!"); + } + }else{ + return ReturnFailUtils.getRepInfo("账号或密码错误,请确认后重试!"); + } + }catch (Exception e){ + log.error("service方法[AccountService.webLogin]调用失败,异常信息:"+e, e); + throw new ServiceException("CtAccountService.webLogin", e); + } + } + + /** + * web端-工作人员-修改密码 + * @param userId 用户编号 + * @param ctCipherDTO 修改密码信息 + * @return + */ + public ReturnBO webChangeCipher(String userId, CtCipherDTO ctCipherDTO){ + try{ + CtAccount ctAccount = this.getByAccAndType(userId, UserBaseConsts.ACC_TYPE_1); + if (ObjectUtils.isEmpty(ctAccount)){ + return ReturnFailUtils.getRepInfo("输入账号或密码不正确,请确认后重试!"); + } + String oldCredentialMd5 = DigestUtils.md5DigestAsHex(ctCipherDTO.getOldCipher().getBytes()); + if (!StringUtils.equals(oldCredentialMd5, ctAccount.getCipher())) { + return ReturnFailUtils.getRepInfo("输入账号或密码不正确,请确认后重试!"); + } + String newCredentialMd5 = DigestUtils.md5DigestAsHex(ctCipherDTO.getNewCipher().getBytes()); + if (StringUtils.equals(newCredentialMd5, ctAccount.getCipher())) { + return ReturnFailUtils.getRepInfo("新密码不能和旧密码相同!"); + } + UpdateWrapper<CtAccount> accountUpdateWrapper = new UpdateWrapper<>(); + accountUpdateWrapper.set("cipher", newCredentialMd5).set("cipher_open", ctCipherDTO.getNewCipher()) + .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); + throw new ServiceException("CtAccountService.webChangeCipher", e); + } + } + } diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtDeptService.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtDeptService.java index 4ebcf35..a563ef1 100644 --- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtDeptService.java +++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtDeptService.java @@ -116,7 +116,7 @@ */ public void saveCtDept(CtDept ctDept){ try{ - Date nowDate = DateUtils.getMowDate(); + Date nowDate = DateUtils.getNowDate(); // 判断是否新增 if (IdUtils.checkNewId(ctDept.getId())){ ctDept.setId(utilsClient.getNewTimeId()); diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtPostService.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtPostService.java index 6724868..54c5e72 100644 --- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtPostService.java +++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtPostService.java @@ -116,7 +116,7 @@ */ public void saveCtPost(CtPost ctPost){ try{ - Date nowDate = DateUtils.getMowDate(); + Date nowDate = DateUtils.getNowDate(); // 判断是否新增 if (IdUtils.checkNewId(ctPost.getId())){ ctPost.setId(utilsClient.getNewTimeId()); diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUnitService.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUnitService.java index 16e00d5..e4e4193 100644 --- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUnitService.java +++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUnitService.java @@ -116,7 +116,7 @@ */ public void saveCtUnit(CtUnit ctUnit){ try{ - Date nowDate = DateUtils.getMowDate(); + Date nowDate = DateUtils.getNowDate(); // 判断是否新增 if (IdUtils.checkNewId(ctUnit.getId())){ ctUnit.setId(utilsClient.getNewTimeId()); diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUsepostService.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUsepostService.java index f43c4da..0df3122 100644 --- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUsepostService.java +++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUsepostService.java @@ -116,7 +116,7 @@ */ public void saveCtUsepost(CtUsepost ctUsepost){ try{ - Date nowDate = DateUtils.getMowDate(); + Date nowDate = DateUtils.getNowDate(); // 判断是否新增 if (IdUtils.checkNewId(ctUsepost.getId())){ ctUsepost.setId(utilsClient.getNewTimeId()); 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 ad899a4..89b9369 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 @@ -1,13 +1,22 @@ package cn.huge.module.ctuser.service; +import cn.huge.base.common.exception.MethodException; import cn.huge.base.common.exception.ServiceException; import cn.huge.base.common.utils.DateUtils; import cn.huge.base.common.utils.IdUtils; +import cn.huge.base.common.utils.ObjectUtils; import cn.huge.module.client.api.impl.UtilsClientImpl; +import cn.huge.module.constant.BaseConsts; import cn.huge.module.ctuser.dao.mapper.CtUserMapper; import cn.huge.module.ctuser.domain.po.CtUser; +import cn.huge.module.cust.constant.UserBaseConsts; +import cn.huge.module.redis.constant.RedisKeyConsts; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -15,6 +24,7 @@ import org.springframework.data.domain.PageImpl; import org.springframework.data.domain.PageRequest; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.DigestUtils; import javax.annotation.PostConstruct; import java.util.Date; @@ -33,6 +43,9 @@ @Service @Transactional(rollbackFor = Exception.class) public class CtUserService extends ServiceImpl<CtUserMapper, CtUser>{ + + @Autowired + private RedisTemplate<String, Object> redisTemplate; @Autowired private CtUserMapper mapper; @@ -111,23 +124,74 @@ } /** - * 新增或更新对象 - * @param ctUser 实体对象 - */ - public void saveCtUser(CtUser ctUser){ + * 新增对象 + * @param ctUser 实体对象 + */ + public void saveToRedis(CtUser ctUser){ try{ - Date nowDate = DateUtils.getMowDate(); - // 判断是否新增 - if (IdUtils.checkNewId(ctUser.getId())){ - ctUser.setId(utilsClient.getNewTimeId()); - ctUser.setCreateTime(nowDate); - } - ctUser.setUpdateTime(nowDate); - this.saveOrUpdate(ctUser); + mapper.insert(ctUser); + // 清楚redis缓存 + String key = RedisKeyConsts.CTUSER + ctUser.getId(); + redisTemplate.delete(key); + // 重新set + redisTemplate.opsForValue().set(key, ctUser); }catch (Exception e){ log.error("[CtUserService.saveCtUser]调用失败,异常信息:"+e, e); throw new ServiceException("CtUserService.saveCtUser", e); } } + /** + * 更新对象 + * @param ctUser 实体对象 + */ + public void updateToRedis(CtUser ctUser){ + try{ + mapper.updateById(ctUser); + // 清楚redis缓存 + String key = RedisKeyConsts.CTUSER + ctUser.getId(); + redisTemplate.delete(key); + // 重新set + redisTemplate.opsForValue().set(key, ctUser); + }catch (Exception e){ + log.error("[CtUserService.saveCtUser]调用失败,异常信息:"+e, e); + throw new ServiceException("CtUserService.saveCtUser", e); + } + } + + /** + * 根据id查询 + * @param id 编号 + * @return + */ + public CtUser getByIdFromRedis(String id){ + String key = RedisKeyConsts.CTUSER + id; + // 从redis获取 + CtUser ctUser = (CtUser) redisTemplate.opsForValue().get(key); + if (ObjectUtils.isEmpty(ctUser)){ + ctUser = mapper.selectById(id); + if (ObjectUtils.isNotEmpty(ctUser)){ + redisTemplate.opsForValue().set(key, ctUser); + } + } + return ctUser; + } + + /** + * web端-人员信息管理-新增/新用户信息 + * @param ctUser + * @param userId + */ + public void webSaveCtUser(CtUser ctUser, String userId) { + try { + // 获取当前登录用户 + CtUser loginUser = this.getByIdFromRedis(userId); + Date nowDate = DateUtils.getNowDate(); + + } catch (Exception e) { + log.error("service方法[CtUserService.webSaveCtUser]调用异常:" + e, e); + throw new MethodException(e.getMessage()); + } + } + } diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUseroleService.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUseroleService.java index a801d7e..db88b89 100644 --- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUseroleService.java +++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/ctuser/service/CtUseroleService.java @@ -6,8 +6,10 @@ import cn.huge.module.client.api.impl.UtilsClientImpl; import cn.huge.module.ctuser.dao.mapper.CtUseroleMapper; import cn.huge.module.ctuser.domain.po.CtUserole; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -33,6 +35,9 @@ @Service @Transactional(rollbackFor = Exception.class) public class CtUseroleService extends ServiceImpl<CtUseroleMapper, CtUserole>{ + + @Autowired + private RedisTemplate<String, Object> redisTemplate; @Autowired private CtUseroleMapper mapper; @@ -116,7 +121,7 @@ */ public void saveCtUserole(CtUserole ctUserole){ try{ - Date nowDate = DateUtils.getMowDate(); + Date nowDate = DateUtils.getNowDate(); // 判断是否新增 if (IdUtils.checkNewId(ctUserole.getId())){ ctUserole.setId(utilsClient.getNewTimeId()); @@ -130,4 +135,16 @@ } } -} + /** + * 根据userId查询 + * @param userId 用户编号 + * @return + */ + public List<CtUserole> listByUserId(String userId){ + QueryWrapper<CtUserole> ctUseroleQueryWrapper = new QueryWrapper<>(); + ctUseroleQueryWrapper.eq("user_id", userId); + List<CtUserole> ctUseroleList = mapper.selectList(ctUseroleQueryWrapper); + return ctUseroleList; + } + +} \ No newline at end of file diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/service/PaAccountService.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/service/PaAccountService.java index 0713b9b..20a6a8a 100644 --- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/service/PaAccountService.java +++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/service/PaAccountService.java @@ -116,7 +116,7 @@ */ public void savePaAccount(PaAccount paAccount){ try{ - Date nowDate = DateUtils.getMowDate(); + Date nowDate = DateUtils.getNowDate(); // 判断是否新增 if (IdUtils.checkNewId(paAccount.getId())){ paAccount.setId(utilsClient.getNewTimeId()); diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/service/PaUserService.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/service/PaUserService.java index 303f7b4..fc692a4 100644 --- a/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/service/PaUserService.java +++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/pauser/service/PaUserService.java @@ -116,7 +116,7 @@ */ public void savePaUser(PaUser paUser){ try{ - Date nowDate = DateUtils.getMowDate(); + Date nowDate = DateUtils.getNowDate(); // 判断是否新增 if (IdUtils.checkNewId(paUser.getId())){ paUser.setId(utilsClient.getNewTimeId()); diff --git a/dyh-service/dyh-cust/src/main/java/cn/huge/module/redis/constant/RedisKeyConsts.java b/dyh-service/dyh-cust/src/main/java/cn/huge/module/redis/constant/RedisKeyConsts.java new file mode 100644 index 0000000..95f6ea7 --- /dev/null +++ b/dyh-service/dyh-cust/src/main/java/cn/huge/module/redis/constant/RedisKeyConsts.java @@ -0,0 +1,42 @@ +package cn.huge.module.redis.constant; + +/** + * @title: redis缓存key标识 + * @description: redis缓存key标识 + * @company: hugeinfo + * @author: liyj + * @time: 2021-11-05 16:51:48 + * @version: 1.0.0 + */ +public class RedisKeyConsts { + + /** + * ctUser标识 + */ + public static final String CTUSER = "ctuser"; + + + +} +/** + * -------------------_ooOoo_------------------- + * ------------------o8888888o------------------ + * ------------------88" . "88------------------ + * ------------------(| -_- |)------------------ + * ------------------O\ = /O------------------ + * ---------------____/`---'\____--------------- + * -------------.' \\| |// `.------------- + * ------------/ \\||| : |||// \------------ + * -----------/ _||||| -:- |||||- \----------- + * -----------| | \\\ - /// | |----------- + * -----------| \_| ''\---/'' | |----------- + * -----------\ .-\__ `-` ___/-. /----------- + * ---------___`. .' /--.--\ `. . __---------- + * ------."" '< `.___\_<|>_/___.' >'"".------- + * -----| | : `- \`.;`\ _ /`;.`/ - ` : | |----- + * -----\ \ `-. \_ __\ /__ _/ .-` / /----- + * ======`-.____`-.___\_____/___.-`____.-'====== + * -------------------`=---=' + * ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + * ---------佛祖保佑---hugeinfo---永无BUG---------- + */ diff --git a/dyh-service/dyh-utils/src/main/java/cn/huge/module/common/utils/CaseNoUtils.java b/dyh-service/dyh-utils/src/main/java/cn/huge/module/common/utils/CaseNoUtils.java index e5f048e..fa542c2 100644 --- a/dyh-service/dyh-utils/src/main/java/cn/huge/module/common/utils/CaseNoUtils.java +++ b/dyh-service/dyh-utils/src/main/java/cn/huge/module/common/utils/CaseNoUtils.java @@ -28,7 +28,7 @@ */ public synchronized static String getCaseNo(){ CASE_NO_SIGN += 1; - int year = DateUtils.getYear(DateUtils.getMowDate()); + int year = DateUtils.getYear(DateUtils.getNowDate()); String cloudMediateId = "(" + year + ")粤云调" + (CASE_NO_SIGN) + "号"; System.out.println(cloudMediateId); return cloudMediateId; diff --git a/dyh-service/dyh-utils/src/main/java/cn/huge/module/common/utils/JudicNoUtils.java b/dyh-service/dyh-utils/src/main/java/cn/huge/module/common/utils/JudicNoUtils.java index d48f7f4..5577ae4 100644 --- a/dyh-service/dyh-utils/src/main/java/cn/huge/module/common/utils/JudicNoUtils.java +++ b/dyh-service/dyh-utils/src/main/java/cn/huge/module/common/utils/JudicNoUtils.java @@ -28,7 +28,7 @@ */ public synchronized static String getJudicNo(){ JUDIC_NO_SIGN += 1; - int year = DateUtils.getYear(DateUtils.getMowDate()); + int year = DateUtils.getYear(DateUtils.getNowDate()); String cloudMediateId = "(" + year + ")司法确认" + (JUDIC_NO_SIGN) + "号"; System.out.println(cloudMediateId); return cloudMediateId; -- Gitblit v1.8.0