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 f61945492..8c462b1fa 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 @@ -253,4 +253,15 @@ public class ApiAppUserController { return appUserService.invitationRecord(); } + /** + * @param tokenDto + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @Author yinzuomei + * @Description 查看用户是否已保存unionId + * @Date 2019/12/7 14:32 + **/ + @GetMapping("user/checkWxUnionId") + public Result checkWxUnionId(@LoginUser TokenDto tokenDto) { + return appUserService.checkWxUnionId(tokenDto); + } } 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 af2dad7c5..b9854986c 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 @@ -47,28 +47,6 @@ public interface UserFeignClient { @GetMapping("app-user/epdc-app/user/getById/{userId}") Result getUserInfoById(@PathVariable("userId") String userId); - /** - * 获取用户信息(登录用) - * - * @param openId - * @return com.elink.esua.epdc.commons.tools.utils.Result - * @author work@yujt.net.cn - * @date 2019/9/20 18:43 - */ - @GetMapping("app-user/epdc-app/user/getForLogin/{openId}") - Result getUserForLoginByOpenId(@PathVariable("openId") String openId); - - /** - * 获取用户信息 - * - * @param unionId - * @return com.elink.esua.epdc.commons.tools.utils.Result - * @author yujintao - * @date 2019/9/7 11:04 - */ - @GetMapping("app-user/epdc-app/user/getByUnionId/{unionId}") - Result getUserInfoByUnionId(@PathVariable("unionId") String unionId); - /** * 用户注册 * @@ -338,4 +316,14 @@ public interface UserFeignClient { */ @GetMapping("app-user/epdc-app/user/invitationRecord") Result> invitationRecord(); + + /** + * @param formDTO + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @Author yinzuomei + * @Description 根据openId或者unionId查询用户信息 + * @Date 2019/12/7 14:11 + **/ + @PostMapping(value="app-user/epdc-app/user/queryUserDto", consumes = MediaType.APPLICATION_JSON_VALUE) + Result queryUserDto(EpdcAppQueryUserInfoFormDTO formDTO); } 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 8cf5899f4..962b5f70b 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 @@ -31,16 +31,6 @@ public class UserFeignClientFallback implements UserFeignClient { return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "getUserInfoById", userId); } - @Override - public Result getUserForLoginByOpenId(String openId) { - return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "getUserForLoginByOpenId", openId); - } - - @Override - public Result getUserInfoByUnionId(String unionId) { - return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "getUserInfoByUnionId", unionId); - } - @Override public Result userRegist(UserDTO userDto) { return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "userRegist", userDto); @@ -164,4 +154,9 @@ public class UserFeignClientFallback implements UserFeignClient { public Result> invitationRecord() { return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "invitationRecord"); } + + @Override + public Result queryUserDto(EpdcAppQueryUserInfoFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "queryUserDto",formDTO); + } } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AppUserService.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AppUserService.java index 10f9227ed..4155c3c28 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AppUserService.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AppUserService.java @@ -208,4 +208,12 @@ public interface AppUserService { */ Result> invitationRecord(); + /** + * @param tokenDto + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @Author yinzuomei + * @Description 查看用户是否已保存unionId + * @Date 2019/12/7 14:32 + **/ + Result checkWxUnionId(TokenDto tokenDto); } 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 fc7bc3bb7..fc8fe2210 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 @@ -194,7 +194,9 @@ public class AppUserServiceImpl implements AppUserService { */ private Result getTokenByOpenId(String openId) { // 查询当前微信是否已注册用户 - Result userInfoResult = userFeignClient.getUserForLoginByOpenId(openId); + EpdcAppQueryUserInfoFormDTO formDTO = new EpdcAppQueryUserInfoFormDTO(); + formDTO.setOpenId(openId); + Result userInfoResult = userFeignClient.queryUserDto(formDTO); if (!userInfoResult.success()) { return new Result().error(userInfoResult.getMsg()); } @@ -978,4 +980,27 @@ public class AppUserServiceImpl implements AppUserService { public Result> invitationRecord() { return userFeignClient.invitationRecord(); } + + /** + * @param tokenDto + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @Author yinzuomei + * @Description 查看用户是否已保存unionId + * @Date 2019/12/7 14:32 + * data:0 无unionId 1:有unionId + **/ + @Override + public Result checkWxUnionId(TokenDto tokenDto) { + Result result = new Result(); + Result userDTOResult = userFeignClient.getUserInfoById(tokenDto.getUserId()); + if (!userDTOResult.success() || null == userDTOResult.getData()) { + throw new RenException("查询用户信息失败"); + } + if (StringUtils.isNotBlank(userDTOResult.getData().getWxUnionId())) { + result.setData("1"); + } else { + result.setData("0"); + } + return result; + } } diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcAppQueryUserInfoFormDTO.java b/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcAppQueryUserInfoFormDTO.java new file mode 100644 index 000000000..47acb88df --- /dev/null +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcAppQueryUserInfoFormDTO.java @@ -0,0 +1,20 @@ +package com.elink.esua.epdc.dto.epdc.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 获取用户信息入参DTO + * @Author yinzuomei + * @Date 2019/12/7 13:55 + */ +@Data +public class EpdcAppQueryUserInfoFormDTO implements Serializable { + private static final long serialVersionUID = 7818827219206113924L; + + private String openId; + + + private String unionId; +} 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 1ac771a1f..40dd10ad9 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 @@ -90,6 +90,18 @@ public class EpdcAppUserController { return userService.getUserInfoByUnionId(unionId); } + /** + * @param formDTO + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @Author yinzuomei + * @Description 获取用户信息 合并上面的getByUnionId、getForLogin方法 + * @Date 2019/12/7 13:57 + **/ + @PostMapping("queryUserDto") + public Result queryUserDto(@RequestBody EpdcAppQueryUserInfoFormDTO formDTO) { + return userService.queryUserDto(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 9c7594ee7..6185fc88e 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 @@ -250,4 +250,12 @@ public interface UserService extends BaseService { */ Result getUserLastSwitchGird(String openId); + /** + * @param formDTO + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @Author yinzuomei + * @Description 获取用户信息 合并上面的getByUnionId、getForLogin方法 + * @Date 2019/12/7 13:58 + **/ + Result queryUserDto(EpdcAppQueryUserInfoFormDTO formDTO); } 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 da08aef69..1a34af63b 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 @@ -722,4 +722,39 @@ public class UserServiceImpl extends BaseServiceImpl implem return new Result().ok(resultDto); } + /** + * @param formDTO + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @Author yinzuomei + * @Description 获取用户信息 合并上面的getByUnionId、getForLogin方法 + * @Date 2019/12/7 13:58 + **/ + @Override + public Result queryUserDto(EpdcAppQueryUserInfoFormDTO formDTO) { + if (!StringUtils.isNotBlank(formDTO.getUnionId()) && !StringUtils.isNotBlank(formDTO.getOpenId())) { + return new Result().error("openId、unionId不能同时为空"); + } + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(formDTO.getUnionId()), UserFieldConsant.WX_UNION_ID, formDTO.getUnionId()) + .eq(StringUtils.isNotBlank(formDTO.getOpenId()), UserFieldConsant.WX_OPEN_ID, formDTO.getOpenId()) + .orderByDesc(FieldConstant.CREATED_TIME); + 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); + } + } else { + return new Result().error("没有找到用户信息"); + } + return new Result<>(); + } + }