From 2b0aca19528e9245a237d8d43d68c12ce7f0a8ad Mon Sep 17 00:00:00 2001 From: yujintao Date: Mon, 28 Oct 2019 16:14:20 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B3=A8=E5=86=8C=E5=8A=9F=E8=83=BD=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/application.yml | 5 +- .../dto/form/EpdcCompleteUserInfoFormDTO.java | 15 --- .../dto/result/EpdcAppAuthorizationDTO.java | 2 +- .../epdc/controller/ApiAppUserController.java | 20 +-- .../controller/v2/ApiAppUserV2Controller.java | 2 +- .../esua/epdc/feign/UserFeignClient.java | 3 +- .../fallback/UserFeignClientFallback.java | 2 +- .../epdc/service/impl/AppUserServiceImpl.java | 121 ++++++++---------- .../esua/epdc/enums/AppUserStateEnum.java | 43 ------- .../esua/epdc/enums/AppUserStatesEnum.java | 8 +- .../controller/EpdcAppUserController.java | 2 +- .../elink/esua/epdc/service/UserService.java | 2 +- .../epdc/service/impl/UserServiceImpl.java | 58 ++++++--- 13 files changed, 113 insertions(+), 170 deletions(-) delete mode 100644 esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/enums/AppUserStateEnum.java diff --git a/esua-epdc/epdc-gateway/src/main/resources/application.yml b/esua-epdc/epdc-gateway/src/main/resources/application.yml index 3030a1532..ea08af5f0 100644 --- a/esua-epdc/epdc-gateway/src/main/resources/application.yml +++ b/esua-epdc/epdc-gateway/src/main/resources/application.yml @@ -196,4 +196,7 @@ epdc: - /api/message/sms/registerResult # 发送用户注册审核结果 - /api/events/issue/upload # 上传图片 - /api/app-user/user/mp/regist # 公众号用户注册 - - /api/app-user/user/ma/** # 小程序用户相关操作,包括注册,登录,及迭代版本的注册,登录 + - /api/app-user/user/ma/getToken # 小程序用户 登录 + - /api/app-user/user/ma/regist # 小程序用户 注册 + - /api/app-user/user/ma/gridLeaderRegister # 小程序用户 网格长注册 + - /api/app-user/user/ma/v2/getToken # 小程序用户 注册或登录(版本v2) diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/form/EpdcCompleteUserInfoFormDTO.java b/esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/form/EpdcCompleteUserInfoFormDTO.java index 2cb93a0b6..ab9640135 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/form/EpdcCompleteUserInfoFormDTO.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/form/EpdcCompleteUserInfoFormDTO.java @@ -51,19 +51,4 @@ public class EpdcCompleteUserInfoFormDTO implements Serializable { * 住处(楼栋-单元-房间) */ private String dwellingPlace; - /** - * 微信code - */ - @NotBlank(message = "微信code不能为空") - private String wxCode; - /** - * 包括敏感数据在内的完整用户信息的加密数据 - */ - @NotBlank(message = "用户信息不能为空") - private String encryptedData; - /** - * 加密算法的初始向量 - */ - @NotBlank(message = "初始向量不能为空") - private String iv; } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/result/EpdcAppAuthorizationDTO.java b/esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/result/EpdcAppAuthorizationDTO.java index 368adae3b..718c39ed8 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/result/EpdcAppAuthorizationDTO.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/result/EpdcAppAuthorizationDTO.java @@ -36,7 +36,7 @@ public class EpdcAppAuthorizationDTO implements Serializable { */ private String userId; /** - * 用户状态[AppUserStateEnum] + * 用户状态[AppUserStatesEnum] */ private String userState; /** diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAppUserController.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAppUserController.java index ab3fdf050..8f604f113 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAppUserController.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAppUserController.java @@ -61,6 +61,7 @@ public class ApiAppUserController { /** * 小程序端,用户注册 + * {@link com.elink.esua.epdc.controller.v2.ApiAppUserV2Controller#getMaV2Token(EpdcAppUserRegisterFormDTO)} * * @param formDto * @return com.elink.esua.epdc.commons.tools.utils.Result @@ -116,8 +117,7 @@ public class ApiAppUserController { } /** - * {小程序端登录,获取token} -- 该接口已过时,新版本使用下述接口: - * {@link com.elink.esua.epdc.controller.v2.ApiAppUserV2Controller#getMaV2Token(EpdcAppUserRegisterFormDTO)} + * 小程序端登录,获取token * * @param formDto * @return com.elink.esua.epdc.commons.tools.utils.Result @@ -184,20 +184,6 @@ public class ApiAppUserController { return appUserService.listGridForLeader(userDetail.getUserId()); } - /** - * 用户注册、获取Token - * - * @return com.elink.esua.epdc.commons.tools.utils.Result - * @params [formDto] - * @author liuchuang - * @since 2019/10/24 16:32 - */ - /*@GetMapping("user/ma/v2/getToken") - public Result getMaV2Token(EpdcAppUserRegisterFormDTO formDto) { - ValidatorUtils.validateEntity(formDto); - return appUserService.getMaV2Token(formDto); - }*/ - /** * * 更新用户微信信息 @@ -208,7 +194,7 @@ public class ApiAppUserController { * @since 2019/10/28 9:58 */ @PostMapping("user/ma/updateWxInfo") - public Result updateWxInfo(@LoginUser TokenDto tokenDto, EpdcAppUserMaInfoFormDTO formDto) { + public Result updateWxInfo(@LoginUser TokenDto tokenDto, @RequestBody EpdcAppUserMaInfoFormDTO formDto) { ValidatorUtils.validateEntity(formDto); return appUserService.updateWxInfo(tokenDto, formDto); } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/v2/ApiAppUserV2Controller.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/v2/ApiAppUserV2Controller.java index 8a84d7e35..c06725cd9 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/v2/ApiAppUserV2Controller.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/v2/ApiAppUserV2Controller.java @@ -34,7 +34,7 @@ public class ApiAppUserV2Controller { * @author work@yujt.net.cn * @date 2019/10/26 10:48 */ - @GetMapping("user/ma" + Constant.VERSION_CONTROL + "getToken") + @GetMapping("user/ma" + Constant.VERSION_CONTROL + "/getToken") public Result getMaV2Token(EpdcAppUserRegisterFormDTO formDto) { ValidatorUtils.validateEntity(formDto); return appUserService.getMaV2Token(formDto); diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java index 75880b88c..d7b619930 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java @@ -113,7 +113,7 @@ public interface UserFeignClient { * @date 2019/10/26 13:41 */ @PostMapping(value = "app-user/epdc-app/user/completeInfo", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) - Result completeUserInfo(EpdcAppUserCompleteInfoFormDTO formDto); + Result completeUserInfo(EpdcAppUserCompleteInfoFormDTO formDto); /** * 移动端获取用户信息 @@ -217,6 +217,7 @@ public interface UserFeignClient { @GetMapping("app-user/epdc-app/usergrid/listGridForLeader/{userId}") Result> listGridForLeader(@PathVariable("userId") String userId); + /** * 查询用户注册状态 * diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java index 46213c7c8..195d13f26 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java @@ -57,7 +57,7 @@ public class UserFeignClientFallback implements UserFeignClient { } @Override - public Result completeUserInfo(EpdcAppUserCompleteInfoFormDTO formDto) { + public Result completeUserInfo(EpdcAppUserCompleteInfoFormDTO formDto) { return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "completeUserInfo", formDto); } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java index f215274b9..9062199ed 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java @@ -154,32 +154,21 @@ public class AppUserServiceImpl implements AppUserService { EpdcAppAuthorizationDTO authorization = new EpdcAppAuthorizationDTO(); // 用户未注册 if (null == userDto) { - authorization.setUserState(AppUserStateEnum.UNREGISTERED.value()); + authorization.setUserState(AppUserStatesEnum.STATE_NOT_REGISTERED.value()); return new Result().ok(authorization); } + TokenDto tokenDto = ConvertUtils.sourceToTarget(userDto, TokenDto.class); + tokenDto.setUserId(userDto.getId()); + String state = userDto.getState(); - // 用户注册审核失败 - if (AppUserAuditStateEnum.AUDIT_FAILURE.value().equals(state)) { - authorization.setUserState(AppUserStateEnum.AUDIT_FAILURE.value()); - Result result = new Result().ok(authorization); - result.setMsg(userDto.getRemark()); - return result; - } - // 用户提交注册、正在等待审核 - else if (AppUserAuditStateEnum.UNDER_AUDIT.value().equals(state)) { - authorization.setUserState(AppUserStateEnum.UNDER_AUDIT.value()); - return new Result().ok(authorization); - } - // 用户已注册且审核通过,正常登录系统 - else if (AppUserAuditStateEnum.AUDIT_SUCCESS.value().equals(state)) { - TokenDto tokenDto = ConvertUtils.sourceToTarget(userDto, TokenDto.class); - tokenDto.setUserId(userDto.getId()); - authorization = this.packageEpdcAppAuthorization(tokenDto, userDto.getGrid(), AppUserStateEnum.REGISTERED.value()); + authorization = this.packageEpdcAppAuthorization(tokenDto, userDto.getGrid(), userDto.getState()); - return new Result().ok(authorization); - } else { - return new Result().error("Login failed"); + Result result = new Result().ok(authorization); + // 已注册,未完善信息 + if (AppUserStatesEnum.STATE_INFORMATION_NOT_PASSED.value().equals(state)) { + result.setMsg(userDto.getRemark()); } + return result; } @Override @@ -603,7 +592,10 @@ public class AppUserServiceImpl implements AppUserService { return new Result().error(userResult.getMsg()); } - return this.dealWithUserRegisterState(userResult.getData(), openId, unionId); + // IP地址 + HttpServletRequest request = HttpContextUtils.getHttpServletRequest(); + + return this.dealWithUserRegisterState(userResult.getData(), openId, unionId, IpUtils.getIpAddr(request)); } /** @@ -614,37 +606,41 @@ public class AppUserServiceImpl implements AppUserService { * @author liuchuang * @since 2019/10/25 12:49 */ - private Result dealWithUserRegisterState(EpdcUserRegisterInfoResultDTO userResult, - String openId, String unionId) { + private Result dealWithUserRegisterState(EpdcUserRegisterInfoResultDTO userResult, String openId, String unionId, String ipAddress) { EpdcUserRegisterBindGridFormDTO registerBindGridFormDto = new EpdcUserRegisterBindGridFormDTO(); + // 用户注册状态 0-未注册未绑定网格,1-已注册未绑定当前网格,2-已注册已绑定当前网格 + Integer registerState = userResult.getRegisterState(); + UserDTO registeredUser = userResult.getUserDTO(); + Long gridId = userResult.getGridId(); // 未注册 - if (NumConstant.ZERO == userResult.getRegisterState()) { + if (NumConstant.ZERO == registerState) { // 组装用户注册信息 registerBindGridFormDto.setRegisterState(NumConstant.ZERO); - registerBindGridFormDto.setUserDTO(this.packageUserInfo(openId, unionId)); + registerBindGridFormDto.setUserDTO(this.packageUserInfo(openId, unionId, ipAddress)); } // 已注册未绑定当前网格 - else if (NumConstant.ONE == userResult.getRegisterState()) { + else if (NumConstant.ONE == registerState) { registerBindGridFormDto.setRegisterState(NumConstant.ONE); - registerBindGridFormDto.setUserDTO(userResult.getUserDTO()); + registerBindGridFormDto.setUserDTO(registeredUser); } - // 用户注册或绑定网格 - if (NumConstant.TWO != userResult.getRegisterState()) { + if (NumConstant.TWO != registerState) { // 组装用户关联网格信息 - registerBindGridFormDto.setGridRelationDTO(this.packageUserGridRelationInfo(userResult.getGridId())); + registerBindGridFormDto.setGridRelationDTO(this.packageUserGridRelationInfo(gridId)); // 用户并绑定网格 Result registerBindGridResultDto = userFeignClient.registerOrBindGrid(registerBindGridFormDto); if (!registerBindGridResultDto.success()) { return new Result().error(registerBindGridResultDto.getMsg()); } userResult = registerBindGridResultDto.getData(); + registeredUser = userResult.getUserDTO(); } // 已注册已绑定当前网格 - TokenDto tokenDto = ConvertUtils.sourceToTarget(userResult.getUserDTO(), TokenDto.class); - tokenDto.setUserId(userResult.getUserDTO().getId()); - EpdcAppAuthorizationDTO authorization = this.packageEpdcAppAuthorization(tokenDto, userResult.getGrid(), userResult.getUserDTO().getState()); + TokenDto tokenDto = ConvertUtils.sourceToTarget(registeredUser, TokenDto.class); + tokenDto.setUserId(registeredUser.getId()); + tokenDto.setGridId(gridId); + EpdcAppAuthorizationDTO authorization = this.packageEpdcAppAuthorization(tokenDto, userResult.getGrid(), registeredUser.getState()); return new Result().ok(authorization); } @@ -657,7 +653,7 @@ public class AppUserServiceImpl implements AppUserService { * @author liuchuang * @since 2019/10/24 18:16 */ - private UserDTO packageUserInfo(String openId, String unionId) { + private UserDTO packageUserInfo(String openId, String unionId, String ipAddress) { UserDTO userDto = new UserDTO(); userDto.setWxOpenId(openId); userDto.setWxUnionId(unionId); @@ -665,25 +661,25 @@ public class AppUserServiceImpl implements AppUserService { userDto.setFaceImg(USER_FACE); userDto.setState(AppUserStatesEnum.STATE_REGISTERED.value()); userDto.setPartyFlag(YesOrNoEnum.NO.value()); + userDto.setLastLoginIp(ipAddress); Date now = new Date(); userDto.setRegisterTime(now); userDto.setLastLoginTime(now); userDto.setRegisterWay(AppUserRegisterWayEnum.WX.value()); - userDto.setRegisterSource(AppUserRegisterSourceEnum.WP.value()); - - // IP地址 - HttpServletRequest request = HttpContextUtils.getHttpServletRequest(); - userDto.setLastLoginIp(IpUtils.getIpAddr(request)); + userDto.setRegisterSource(AppUserRegisterSourceEnum.WA.value()); return userDto; } @Override - public Result completeUserInfo(TokenDto tokenDto, EpdcCompleteUserInfoFormDTO formDto) { + public Result completeUserInfo(TokenDto tokenDto, EpdcCompleteUserInfoFormDTO infoDto) { + + UserDTO userDto = ConvertUtils.sourceToTarget(infoDto, UserDTO.class); + // 党员提交,验证身份证号 - if (YesOrNoEnum.YES.value().equals(formDto.getPartyFlag())) { - String identityNo = formDto.getIdentityNo(); + if (YesOrNoEnum.YES.value().equals(userDto.getPartyFlag())) { + String identityNo = userDto.getIdentityNo(); if (StringUtils.isBlank(identityNo)) { return new Result().error("身份证号不能为空"); } else { @@ -694,9 +690,9 @@ public class AppUserServiceImpl implements AppUserService { } } // 验证手机号 - this.checkSmsCode(formDto.getMobile(), formDto.getSmsCode()); + this.checkSmsCode(userDto.getMobile(), infoDto.getSmsCode()); + - UserDTO userDto = ConvertUtils.sourceToTarget(formDto, UserDTO.class); userDto.setId(tokenDto.getUserId()); // 验证用户提交的信息 Result verifyResult = userFeignClient.verifyUserCompleteData(userDto); @@ -708,19 +704,20 @@ public class AppUserServiceImpl implements AppUserService { EpdcAppUserCompleteInfoFormDTO dto = new EpdcAppUserCompleteInfoFormDTO(); UserGridRelationDTO userGrid = this.packageUserGridRelationInfo(tokenDto.getGridId()); - userDto = this.packageUserCompleteInfo(formDto, userDto); + userDto = this.packageUserCompleteInfo(userDto); dto.setUserDto(userDto); dto.setUserGridRelation(userGrid); - Result completeResult = userFeignClient.completeUserInfo(dto); + Result completeResult = userFeignClient.completeUserInfo(dto); if (!completeResult.success()) { return new Result().error(completeResult.getMsg()); } - - tokenDto.setRealName(userDto.getRealName()); - tokenDto.setFaceImg(userDto.getFaceImg()); - tokenDto.setNickname(userDto.getNickname()); + UserDTO user = completeResult.getData(); + tokenDto.setRealName(user.getRealName()); + tokenDto.setNickname(user.getNickname()); + tokenDto.setMobile(user.getMobile()); + tokenDto.setPartyFlag(user.getPartyFlag()); EpdcAppAuthorizationDTO authorizationDto = this.packageEpdcAppAuthorization(tokenDto, userGrid.getGrid(), userDto.getState()); return new Result().ok(authorizationDto); @@ -738,27 +735,18 @@ public class AppUserServiceImpl implements AppUserService { return new Result().error("获取用户信息失败"); } - private UserDTO packageUserCompleteInfo(EpdcCompleteUserInfoFormDTO formDto, UserDTO userDto) { - WxMaJscode2SessionResult wxMaUser = this.getWxMaUser(formDto.getWxCode()); - - WxMaUserInfo wxMaUserInfo = wxMaService.getUserService() - .getUserInfo(wxMaUser.getSessionKey(), formDto.getEncryptedData(), formDto.getIv()); - + private UserDTO packageUserCompleteInfo(UserDTO userDto) { if (YesOrNoEnum.YES.value().equals(userDto.getPartyFlag())) { + userDto.setState(AppUserStatesEnum.STATE_INFORMATION_PASSED.value()); userDto.setSex(IdentityNoUtils.getSex(userDto.getIdentityNo())); + userDto.setNickname( + userDto.getRoad().concat("-").concat(userDto.getRealName().substring(NumConstant.ZERO, NumConstant.ONE)) + .concat(NumConstant.ZERO_STR.equals(userDto.getSex()) ? "女士" : "先生")); userDto.setBirthday(DateUtils.parse(IdentityNoUtils.getBirthday(userDto.getIdentityNo()), DateUtils.DATE_PATTERN)); - userDto.setState(AppUserStatesEnum.STATE_INFORMATION_PASSED.value()); } else { - userDto.setSex(wxMaUserInfo.getGender()); userDto.setState(AppUserStatesEnum.STATE_COMPLETED_INFORMATION_PENDING_REVIEW.value()); } - userDto.setNickname( - formDto.getRoad().concat("-").concat(formDto.getRealName().substring(NumConstant.ZERO, NumConstant.ONE)) - .concat(NumConstant.ZERO_STR.equals(userDto.getSex()) ? "女士" : "先生") - ); - userDto.setFaceImg(wxMaUserInfo.getAvatarUrl()); - userDto.setWxUnionId(wxMaUserInfo.getUnionId()); PhoneDto phoneDto = PhoneUtil.getPhoneDto(userDto.getMobile()); if (phoneDto != null) { @@ -832,11 +820,10 @@ public class AppUserServiceImpl implements AppUserService { } /** - * * 根据微信code获取session_key * - * @params [code] * @return java.lang.String + * @params [code] * @author liuchuang * @since 2019/10/25 16:31 */ diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/enums/AppUserStateEnum.java b/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/enums/AppUserStateEnum.java deleted file mode 100644 index 292033cec..000000000 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/enums/AppUserStateEnum.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.elink.esua.epdc.enums; - -import com.elink.esua.epdc.commons.tools.constant.NumConstant; - -/** - * 用户状态枚举 - * 项目二期,所有的审核状态统一使用枚举类{@link AppUserStatesEnum}的枚举项 - * - * @author yujintao - * @email yujintao@elink-cn.com - * @date 2019/9/7 10:50 - */ -@Deprecated -public enum AppUserStateEnum { - - /** - * 0已注册 - */ - REGISTERED(NumConstant.ZERO_STR), - /** - * 1未注册需扫码 - */ - UNREGISTERED(NumConstant.ONE_STR), - /** - * 2注册审核中 - */ - UNDER_AUDIT(NumConstant.TWO_STR), - /** - * 3注册审核失败 - */ - AUDIT_FAILURE(NumConstant.THREE_STR); - - private String value; - - AppUserStateEnum(String value) { - this.value = value; - } - - public String value() { - return value; - } - -} diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/enums/AppUserStatesEnum.java b/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/enums/AppUserStatesEnum.java index a35bf67ed..5272a76bd 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/enums/AppUserStatesEnum.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/enums/AppUserStatesEnum.java @@ -3,7 +3,6 @@ package com.elink.esua.epdc.enums; import com.elink.esua.epdc.commons.tools.constant.NumConstant; /** - * * 移动端用户状态枚举 * * @Author:liuchuang @@ -29,7 +28,12 @@ public enum AppUserStatesEnum { /** * 信息审核通过 */ - STATE_INFORMATION_PASSED(NumConstant.THREE_STR); + STATE_INFORMATION_PASSED(NumConstant.THREE_STR), + + /** + * 用户未注册 + */ + STATE_NOT_REGISTERED(NumConstant.FOUR_STR); private String value; diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppUserController.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppUserController.java index fdc149aff..3e4e7fd80 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppUserController.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppUserController.java @@ -222,7 +222,7 @@ public class EpdcAppUserController { * @date 2019/10/26 11:53 */ @PostMapping("completeInfo") - public Result completeUserInfo(@RequestBody EpdcAppUserCompleteInfoFormDTO formDto) { + public Result completeUserInfo(@RequestBody EpdcAppUserCompleteInfoFormDTO formDto) { return userService.completeUserInfo(formDto); } } diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserService.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserService.java index db875d4bf..026fcc8df 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserService.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserService.java @@ -183,5 +183,5 @@ public interface UserService extends BaseService { * @author work@yujt.net.cn * @date 2019/10/26 11:53 */ - Result completeUserInfo(EpdcAppUserCompleteInfoFormDTO formDto); + Result completeUserInfo(EpdcAppUserCompleteInfoFormDTO formDto); } \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java index 57b15833d..78d0c40b5 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java @@ -159,15 +159,19 @@ public class UserServiceImpl extends BaseServiceImpl implem QueryWrapper wrapper = new QueryWrapper<>(); // 根据openId获取已提交注册的用户信息 wrapper.eq(UserFieldConsant.WX_OPEN_ID, openId) - .select(FieldConstant.ID, UserFieldConsant.NICKNAME, UserFieldConsant.FACE_IMG, - FieldConstant.MOBILE, UserFieldConsant.REAL_NAME, - FieldConstant.STATE, UserFieldConsant.GRID, FieldConstant.GRID_ID, - UserFieldConsant.PARTY_FLAG, UserFieldConsant.REMARK) .orderByDesc(FieldConstant.CREATED_TIME); - List userEntityList = this.baseDao.selectList(wrapper); - if (CollUtil.isNotEmpty(userEntityList)) { - UserEntity userEntity = userEntityList.get(NumConstant.ZERO); - return new Result().ok(ConvertUtils.sourceToTarget(userEntity, UserDTO.class)); + UserEntity userEntity = this.baseDao.selectOne(wrapper); + if (null != userEntity) { + QueryWrapper ugWrapper = new QueryWrapper<>(); + ugWrapper.eq(UserFieldConsant.USER_ID, userEntity.getId()) + .orderByDesc(UserFieldConsant.SWITCHED_TIME); + List gridRelations = userGridRelationService.listUserGrid(userEntity.getId()); + if (CollUtil.isNotEmpty(gridRelations)) { + UserDTO dto = ConvertUtils.sourceToTarget(userEntity, UserDTO.class); + dto.setGridId(gridRelations.get(NumConstant.ZERO).getGridId()); + dto.setGrid(gridRelations.get(NumConstant.ZERO).getGrid()); + return new Result().ok(dto); + } } return new Result(); } @@ -330,27 +334,32 @@ public class UserServiceImpl extends BaseServiceImpl implem @Override @Transactional(rollbackFor = Exception.class) public Result saveUserOrBindGrid(EpdcUserRegisterBindGridFormDTO fromDto) { + + + UserDTO formUserDto = fromDto.getUserDTO(); + UserGridRelationDTO userGridRel = fromDto.getGridRelationDTO(); + // 用户注册 if (NumConstant.ZERO == fromDto.getRegisterState()) { - UserEntity userEntity = ConvertUtils.sourceToTarget(fromDto.getUserDTO(), UserEntity.class); + UserEntity userEntity = ConvertUtils.sourceToTarget(formUserDto, UserEntity.class); if (insert(userEntity)) { - fromDto.getUserDTO().setId(userEntity.getId()); - fromDto.getGridRelationDTO().setUserId(userEntity.getId()); + formUserDto.setId(userEntity.getId()); + userGridRel.setUserId(userEntity.getId()); } else { return new Result().error("用户注册失败"); } } else { - fromDto.getGridRelationDTO().setUserId(fromDto.getUserDTO().getId()); + userGridRel.setUserId(formUserDto.getId()); } // 用户绑定网格 - userGridRelationService.save(fromDto.getGridRelationDTO()); + userGridRelationService.save(userGridRel); // 组装用户注册信息 EpdcUserRegisterInfoResultDTO resultDto = new EpdcUserRegisterInfoResultDTO(); resultDto.setRegisterState(NumConstant.TWO); - resultDto.setGrid(fromDto.getGridRelationDTO().getGrid()); - resultDto.setGridId(fromDto.getGridRelationDTO().getGridId()); - resultDto.setUserDTO(fromDto.getUserDTO()); + resultDto.setGrid(userGridRel.getGrid()); + resultDto.setGridId(userGridRel.getGridId()); + resultDto.setUserDTO(formUserDto); return new Result().ok(resultDto); } @@ -392,10 +401,9 @@ public class UserServiceImpl extends BaseServiceImpl implem @Override @Transactional(rollbackFor = Exception.class) - public Result completeUserInfo(EpdcAppUserCompleteInfoFormDTO formDto) { + public Result completeUserInfo(EpdcAppUserCompleteInfoFormDTO formDto) { UserDTO userDto = formDto.getUserDto(); - UserGridRelationDTO userGridRelation = formDto.getUserGridRelation(); if (YesOrNoEnum.YES.value().equals(userDto.getPartyFlag())) { @@ -414,6 +422,18 @@ public class UserServiceImpl extends BaseServiceImpl implem if (this.partyMembersDao.update(partyMembersEntity, partyUpdate) != NumConstant.ONE) { throw new RenException("保存党员信息异常"); } + } else { + UserEntity oldEntity = this.baseDao.selectById(userDto.getId()); + String sex = oldEntity.getSex(); + if (StringUtils.isNotBlank(sex) && NumConstant.ZERO_STR.equals(sex)) { + userDto.setNickname( + userDto.getRoad().concat("-").concat(userDto.getRealName().substring(NumConstant.ZERO, NumConstant.ONE)) + .concat("女士")); + } else { + userDto.setNickname( + userDto.getRoad().concat("-").concat(userDto.getRealName().substring(NumConstant.ZERO, NumConstant.ONE)) + .concat("先生")); + } } UserEntity userEntity = ConvertUtils.sourceToTarget(userDto, UserEntity.class); @@ -422,6 +442,6 @@ public class UserServiceImpl extends BaseServiceImpl implem throw new RenException("保存用户信息异常"); } - return new Result(); + return new Result().ok(userDto); } } \ No newline at end of file