Browse Source

获取Token V2版本接口 init

dev
liuchuang 7 years ago
parent
commit
0ad43e93fd
  1. 31
      esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/form/EpdcAppUserRegisterFormDTO.java
  2. 21
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAppUserController.java
  3. 28
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java
  4. 14
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java
  5. 16
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AppUserService.java
  6. 129
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java
  7. 24
      esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcCheckUserRegisterFromDTO.java
  8. 31
      esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcUserRegisterBindGridFormDTO.java
  9. 35
      esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/result/EpdcUserRegisterInfoResultDTO.java
  10. 32
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppUserController.java
  11. 11
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserGridRelationService.java
  12. 25
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserService.java
  13. 9
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserGridRelationServiceImpl.java
  14. 67
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java

31
esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/form/EpdcAppUserRegisterFormDTO.java

@ -0,0 +1,31 @@
package com.elink.esua.epdc.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
*
* 用户注册获取Token
*
* @Authorliuchuang
* @Date2019/10/24 16:25
*/
@Data
public class EpdcAppUserRegisterFormDTO implements Serializable {
private static final long serialVersionUID = -5518237917951689101L;
/**
* 微信code
*/
@NotBlank(message = "微信code不能为空")
private String wxCode;
/**
* 网格ID
*/
@NotNull(message = "网格ID不能为空")
private Long gridId;
}

21
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAppUserController.java

@ -10,10 +10,7 @@ import com.elink.esua.epdc.dto.epdc.form.EpdcUserUpdateAvatarFromDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserUpdateMobileFromDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcLeaderGridResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserInfoResultDTO;
import com.elink.esua.epdc.dto.form.EpdcAppUserMaTokenFormDTO;
import com.elink.esua.epdc.dto.form.EpdcAppUserTokenFormDTO;
import com.elink.esua.epdc.dto.form.EpdcAppSaveWxFormIdFormDTO;
import com.elink.esua.epdc.dto.form.EpdcCheckRegisterFormDTO;
import com.elink.esua.epdc.dto.form.*;
import com.elink.esua.epdc.dto.result.EpdcAppRegisterCallbackDTO;
import com.elink.esua.epdc.dto.result.EpdcAppAuthorizationDTO;
import com.elink.esua.epdc.service.AppUserService;
@ -186,4 +183,20 @@ public class ApiAppUserController {
public Result<List<EpdcLeaderGridResultDTO>> listGridForLeader(@LoginUser TokenDto userDetail) {
return appUserService.listGridForLeader(userDetail.getUserId());
}
/**
*
* 用户注册获取Token
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.result.EpdcAppAuthorizationDTO>
* @author liuchuang
* @since 2019/10/24 16:32
*/
@GetMapping("user/ma/v2/getToken")
public Result<EpdcAppAuthorizationDTO> getMaV2Token(EpdcAppUserRegisterFormDTO formDto) {
ValidatorUtils.validateEntity(formDto);
return appUserService.getMaV2Token(formDto);
}
}

28
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java

@ -6,9 +6,7 @@ import com.elink.esua.epdc.dto.UserDTO;
import com.elink.esua.epdc.dto.UserGridRelationDTO;
import com.elink.esua.epdc.dto.UserWxFormIdDTO;
import com.elink.esua.epdc.dto.epdc.form.*;
import com.elink.esua.epdc.dto.epdc.result.EpdcLeaderGridResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserInfoResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserRegisterAuditMsgResultDTO;
import com.elink.esua.epdc.dto.epdc.result.*;
import com.elink.esua.epdc.feign.fallback.UserFeignClientFallback;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
@ -185,4 +183,28 @@ public interface UserFeignClient {
*/
@GetMapping("app-user/epdc-app/usergrid/listGridForLeader/{userId}")
Result<List<EpdcLeaderGridResultDTO>> listGridForLeader(@PathVariable("userId") String userId);
/**
*
* 查询用户注册状态
*
* @params [fromDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.epdc.result.EpdcCheckUserRegisterResultDTO>
* @author liuchuang
* @since 2019/10/25 10:50
*/
@GetMapping("app-user/epdc-app/user/checkUserRegister")
Result<EpdcUserRegisterInfoResultDTO> getUserRegisterState(EpdcCheckUserRegisterFromDTO fromDto);
/**
*
* 用户注册或绑定网格
*
* @params [formDto]
* @return com.elink.esua.epdc.dto.epdc.result.EpdcUserRegisterInfoResultDTO
* @author liuchuang
* @since 2019/10/25 14:25
*/
@PostMapping("app-user/epdc-app/user/registerOrBindGrid")
Result<EpdcUserRegisterInfoResultDTO> registerOrBindGrid(EpdcUserRegisterBindGridFormDTO formDto);
}

14
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java

@ -7,9 +7,7 @@ import com.elink.esua.epdc.dto.UserDTO;
import com.elink.esua.epdc.dto.UserGridRelationDTO;
import com.elink.esua.epdc.dto.UserWxFormIdDTO;
import com.elink.esua.epdc.dto.epdc.form.*;
import com.elink.esua.epdc.dto.epdc.result.EpdcLeaderGridResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserInfoResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserRegisterAuditMsgResultDTO;
import com.elink.esua.epdc.dto.epdc.result.*;
import com.elink.esua.epdc.feign.UserFeignClient;
import org.springframework.stereotype.Component;
@ -92,4 +90,14 @@ public class UserFeignClientFallback implements UserFeignClient {
public Result<List<EpdcLeaderGridResultDTO>> listGridForLeader(String userId) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "listGridForLeader", userId);
}
@Override
public Result<EpdcUserRegisterInfoResultDTO> getUserRegisterState(EpdcCheckUserRegisterFromDTO fromDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "getUserRegisterState", fromDto);
}
@Override
public Result<EpdcUserRegisterInfoResultDTO> registerOrBindGrid(EpdcUserRegisterBindGridFormDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "registerOrBindGrid", formDto);
}
}

16
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AppUserService.java

@ -8,10 +8,7 @@ import com.elink.esua.epdc.dto.epdc.form.EpdcUserUpdateAvatarFromDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserUpdateMobileFromDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcLeaderGridResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserInfoResultDTO;
import com.elink.esua.epdc.dto.form.EpdcAppUserMaTokenFormDTO;
import com.elink.esua.epdc.dto.form.EpdcAppUserTokenFormDTO;
import com.elink.esua.epdc.dto.form.EpdcAppSaveWxFormIdFormDTO;
import com.elink.esua.epdc.dto.form.EpdcCheckRegisterFormDTO;
import com.elink.esua.epdc.dto.form.*;
import com.elink.esua.epdc.dto.result.EpdcAppRegisterCallbackDTO;
import com.elink.esua.epdc.dto.result.EpdcAppAuthorizationDTO;
@ -148,4 +145,15 @@ public interface AppUserService {
* @date 2019/10/23 15:58
*/
Result<List<EpdcLeaderGridResultDTO>> listGridForLeader(String userId);
/**
*
* 用户注册获取Token
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.result.EpdcAppAuthorizationDTO>
* @author liuchuang
* @since 2019/10/24 16:33
*/
Result<EpdcAppAuthorizationDTO> getMaV2Token(EpdcAppUserRegisterFormDTO formDto);
}

129
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java

@ -13,12 +13,10 @@ import com.elink.esua.epdc.dto.*;
import com.elink.esua.epdc.dto.epdc.form.EpdcGridLeaderRegisterFormDTO;
import com.elink.esua.epdc.dto.epdc.GridLeaderRegisterDTO;
import com.elink.esua.epdc.dto.epdc.form.*;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserRegisterInfoResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcLeaderGridResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserInfoResultDTO;
import com.elink.esua.epdc.dto.form.EpdcAppUserMaTokenFormDTO;
import com.elink.esua.epdc.dto.form.EpdcAppUserTokenFormDTO;
import com.elink.esua.epdc.dto.form.EpdcAppSaveWxFormIdFormDTO;
import com.elink.esua.epdc.dto.form.EpdcCheckRegisterFormDTO;
import com.elink.esua.epdc.dto.form.*;
import com.elink.esua.epdc.dto.result.EpdcAppRegisterCallbackDTO;
import com.elink.esua.epdc.dto.result.EpdcAppAuthorizationDTO;
import com.elink.esua.epdc.enums.*;
@ -590,4 +588,127 @@ public class AppUserServiceImpl implements AppUserService {
return authorization;
}
@Override
public Result<EpdcAppAuthorizationDTO> getMaV2Token(EpdcAppUserRegisterFormDTO formDto) {
WxMaJscode2SessionResult wxMaResult = this.getWxMaUser(formDto.getWxCode());
String openId = wxMaResult.getOpenid();
String unionId = wxMaResult.getUnionid();
// 查询当前微信注册状态
EpdcCheckUserRegisterFromDTO checkFromDto = new EpdcCheckUserRegisterFromDTO();
checkFromDto.setOpenId(openId);
checkFromDto.setGridId(formDto.getGridId());
Result<EpdcUserRegisterInfoResultDTO> userResult = userFeignClient.getUserRegisterState(checkFromDto);
if (!userResult.success()) {
return new Result<EpdcAppAuthorizationDTO>().error(userResult.getMsg());
}
return this.dealWithUserRegisterState(userResult.getData(), openId, unionId);
}
/**
*
* 针对不同用户注册状态进行处理
*
* @params [checkUserResult, unionId]
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.result.EpdcAppAuthorizationDTO>
* @author liuchuang
* @since 2019/10/25 12:49
*/
private Result<EpdcAppAuthorizationDTO> dealWithUserRegisterState(EpdcUserRegisterInfoResultDTO userResult,
String openId, String unionId) {
EpdcUserRegisterBindGridFormDTO registerBindGridFormDto = new EpdcUserRegisterBindGridFormDTO();
// 未注册
if (NumConstant.ZERO == userResult.getRegisterState()) {
// 组装用户注册信息
registerBindGridFormDto.setRegisterState(NumConstant.ZERO);
registerBindGridFormDto.setUserDTO(this.packageUserInfo(openId, unionId));
}
// 已注册未绑定当前网格
else if (NumConstant.ONE == userResult.getRegisterState()) {
registerBindGridFormDto.setRegisterState(NumConstant.ONE);
registerBindGridFormDto.setUserDTO(userResult.getUserDTO());
}
// 用户注册或绑定网格
if (NumConstant.TWO != userResult.getRegisterState()) {
// 组装用户关联网格信息
registerBindGridFormDto.setGridRelationDTO(this.packageUserGridRelationInfo(userResult.getGridId()));
// 用户并绑定网格
Result<EpdcUserRegisterInfoResultDTO> registerBindGridResultDto = userFeignClient.registerOrBindGrid(registerBindGridFormDto);
if (!registerBindGridResultDto.success()) {
return new Result<EpdcAppAuthorizationDTO>().error(registerBindGridResultDto.getMsg());
}
userResult = registerBindGridResultDto.getData();
}
// 已注册已绑定当前网格
TokenDto tokenDto = ConvertUtils.sourceToTarget(userResult.getUserDTO(), TokenDto.class);
tokenDto.setUserId(userResult.getUserDTO().getId());
EpdcAppAuthorizationDTO authorization = this.packageEpdcAppAuthorization(tokenDto, userResult.getGrid(), userResult.getUserDTO().getState());
authorization.setUserState(userResult.getUserDTO().getState());
return new Result<EpdcAppAuthorizationDTO>().ok(authorization);
}
/**
*
* 组装用户注册信息
*
* @params [openId, unionId, completeDept]
* @return com.elink.esua.epdc.dto.UserDTO
* @author liuchuang
* @since 2019/10/24 18:16
*/
private UserDTO packageUserInfo(String openId, String unionId) {
UserDTO userDto = new UserDTO();
userDto.setWxOpenId(openId);
userDto.setWxUnionId(unionId);
userDto.setNickname("用户"+RandomUtil.getNewRandomCode(4));
userDto.setFaceImg(USER_FACE);
userDto.setState(AppUserStatesEnum.STATE_REGISTERED.value());
userDto.setPartyFlag(YesOrNoEnum.NO.value());
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));
return userDto;
}
/**
*
* 组装用户关联网格信息
*
* @params [gridId]
* @return com.elink.esua.epdc.dto.UserGridRelationDTO
* @author liuchuang
* @since 2019/10/25 13:53
*/
private UserGridRelationDTO packageUserGridRelationInfo(Long gridId) {
// 获取网格机构详情
Result<CompleteDeptDTO> adminDeptResult = adminFeignClient.getCompleteDept(gridId);
if (!adminDeptResult.success() || null == adminDeptResult.getData()) {
throw new RenException("查询网格信息失败");
}
CompleteDeptDTO completeDept = adminDeptResult.getData();
UserGridRelationDTO gridRelationDTO = new UserGridRelationDTO();
gridRelationDTO.setDistrictId(completeDept.getDistrictId());
gridRelationDTO.setDistrict(completeDept.getDistrict());
gridRelationDTO.setStreet(completeDept.getStreet());
gridRelationDTO.setStreetId(completeDept.getStreetId());
gridRelationDTO.setCommunity(completeDept.getCommunity());
gridRelationDTO.setCommunityId(completeDept.getCommunityId());
gridRelationDTO.setGrid(completeDept.getGrid());
gridRelationDTO.setGridId(completeDept.getGridId());
gridRelationDTO.setSwitchedTime(new Date());
return gridRelationDTO;
}
}

24
esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcCheckUserRegisterFromDTO.java

@ -0,0 +1,24 @@
package com.elink.esua.epdc.dto.epdc.form;
import lombok.Data;
import java.io.Serializable;
/**
* @Authorliuchuang
* @Date2019/10/25 10:44
*/
@Data
public class EpdcCheckUserRegisterFromDTO implements Serializable {
private static final long serialVersionUID = 5007833389572469304L;
/**
* 微信openid
*/
private String openId;
/**
* 网格ID
*/
private Long gridId;
}

31
esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcUserRegisterBindGridFormDTO.java

@ -0,0 +1,31 @@
package com.elink.esua.epdc.dto.epdc.form;
import com.elink.esua.epdc.dto.UserDTO;
import com.elink.esua.epdc.dto.UserGridRelationDTO;
import lombok.Data;
import java.io.Serializable;
/**
* @Authorliuchuang
* @Date2019/10/25 13:42
*/
@Data
public class EpdcUserRegisterBindGridFormDTO implements Serializable {
private static final long serialVersionUID = -1727679108959262842L;
/**
* 注册状态 0-注册并绑定网格1-绑定网格
*/
private Integer registerState;
/**
* 用户信息
*/
private UserDTO userDTO;
/**
* 关联网格信息
*/
private UserGridRelationDTO gridRelationDTO;
}

35
esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/result/EpdcUserRegisterInfoResultDTO.java

@ -0,0 +1,35 @@
package com.elink.esua.epdc.dto.epdc.result;
import com.elink.esua.epdc.dto.UserDTO;
import lombok.Data;
import java.io.Serializable;
/**
* @Authorliuchuang
* @Date2019/10/25 10:36
*/
@Data
public class EpdcUserRegisterInfoResultDTO implements Serializable {
private static final long serialVersionUID = -3864608925023310419L;
/**
* 注册状态 0-未注册未绑定网格1-已注册未绑定当前网格2-已注册已绑定当前网格
*/
private Integer registerState;
/**
* 网格
*/
private String grid;
/**
* 网格ID
*/
private Long gridId;
/**
* 用户信息
*/
private UserDTO userDTO;
}

32
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppUserController.java

@ -3,8 +3,11 @@ package com.elink.esua.epdc.controller;
import com.elink.esua.epdc.commons.tools.constant.Constant;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.UserDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcCheckUserRegisterFromDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcGridLeaderRegisterFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserRegistFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserRegisterBindGridFormDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserRegisterInfoResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserInfoResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserRegisterAuditMsgResultDTO;
import com.elink.esua.epdc.service.UserService;
@ -144,4 +147,33 @@ public class EpdcAppUserController {
public Result<EpdcUserRegisterAuditMsgResultDTO> getUserRegisterAuditResult(@PathVariable("userId") String userId) {
return userService.getUserRegisterAuditResult(userId);
}
/**
*
* 检查用户注册状态
*
* @params [fromDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.epdc.result.EpdcCheckUserRegisterResultDTO>
* @author liuchuang
* @since 2019/10/25 11:11
*/
@GetMapping("checkUserRegister")
public Result<EpdcUserRegisterInfoResultDTO> getUserRegisterState(@RequestBody EpdcCheckUserRegisterFromDTO fromDto) {
return userService.checkUserRegisterState(fromDto);
}
/**
*
* 用户注册或绑定网格
*
* @params [fromDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.epdc.result.EpdcUserRegisterInfoResultDTO>
* @author liuchuang
* @since 2019/10/25 14:30
*/
@PostMapping("registerOrBindGrid")
public Result<EpdcUserRegisterInfoResultDTO> registerOrBindGrid(@RequestBody EpdcUserRegisterBindGridFormDTO fromDto) {
return userService.saveUserOrBindGrid(fromDto);
}
}

11
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserGridRelationService.java

@ -115,4 +115,15 @@ public interface UserGridRelationService extends BaseService<UserGridRelationEnt
* @date 2019/10/23 13:28
*/
Result<List<EpdcLeaderGridResultDTO>> listGridForLeader(String userId);
/**
*
* 获取用户绑定网格信息
*
* @params [userId, gridId]
* @return com.elink.esua.epdc.dto.UserGridRelationDTO
* @author liuchuang
* @since 2019/10/25 11:21
*/
UserGridRelationDTO getUserRelationInfo(String userId, Long gridId);
}

25
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserService.java

@ -21,8 +21,11 @@ import com.elink.esua.epdc.commons.mybatis.service.BaseService;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.UserDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcCheckUserRegisterFromDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcGridLeaderRegisterFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserRegistFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserRegisterBindGridFormDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserRegisterInfoResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserInfoResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserRegisterAuditMsgResultDTO;
import com.elink.esua.epdc.entity.UserEntity;
@ -144,4 +147,26 @@ public interface UserService extends BaseService<UserEntity> {
* @date 2019/10/23 09:35
*/
Result<UserDTO> gridLeaderRegister(EpdcGridLeaderRegisterFormDTO registerDto);
/**
*
* 检查用户注册状态
*
* @params [fromDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.epdc.result.EpdcCheckUserRegisterResultDTO>
* @author liuchuang
* @since 2019/10/25 11:13
*/
Result<EpdcUserRegisterInfoResultDTO> checkUserRegisterState(EpdcCheckUserRegisterFromDTO fromDto);
/**
*
* 保存用户信息或关联网格信息
*
* @params [fromDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.epdc.result.EpdcUserRegisterInfoResultDTO>
* @author liuchuang
* @since 2019/10/25 14:35
*/
Result<EpdcUserRegisterInfoResultDTO> saveUserOrBindGrid(EpdcUserRegisterBindGridFormDTO fromDto);
}

9
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserGridRelationServiceImpl.java

@ -135,4 +135,13 @@ public class UserGridRelationServiceImpl extends BaseServiceImpl<UserGridRelatio
List<EpdcLeaderGridResultDTO> dtoList = ConvertUtils.sourceToTarget(entityList, EpdcLeaderGridResultDTO.class);
return new Result<List<EpdcLeaderGridResultDTO>>().ok(dtoList);
}
@Override
public UserGridRelationDTO getUserRelationInfo(String userId, Long gridId) {
QueryWrapper<UserGridRelationEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.eq(UserFieldConsant.USER_ID, userId)
.eq(FieldConstant.GRID_ID, gridId);
UserGridRelationEntity gridRelationEntity = this.baseDao.selectOne(queryWrapper);
return ConvertUtils.sourceToTarget(gridRelationEntity, UserGridRelationDTO.class);
}
}

67
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java

@ -38,8 +38,11 @@ import com.elink.esua.epdc.dto.PartyMembersDTO;
import com.elink.esua.epdc.dto.UserDTO;
import com.elink.esua.epdc.dto.UserGridRelationDTO;
import com.elink.esua.epdc.dto.UserTagRelationDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcCheckUserRegisterFromDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcGridLeaderRegisterFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserRegistFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserRegisterBindGridFormDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserRegisterInfoResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserInfoResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserRegisterAuditMsgResultDTO;
import com.elink.esua.epdc.entity.UserEntity;
@ -340,4 +343,68 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
userDto.setGrid(userGridRelationDto.getGrid());
return new Result<UserDTO>().ok(userDto);
}
@Override
public Result<EpdcUserRegisterInfoResultDTO> checkUserRegisterState(EpdcCheckUserRegisterFromDTO fromDto) {
QueryWrapper<UserEntity> wrapper = new QueryWrapper<>();
wrapper.eq(UserFieldConsant.WX_OPEN_ID, fromDto.getOpenId())
.select(FieldConstant.ID, UserFieldConsant.NICKNAME, UserFieldConsant.FACE_IMG,
FieldConstant.MOBILE, UserFieldConsant.REAL_NAME,
FieldConstant.STATE, UserFieldConsant.PARTY_FLAG, UserFieldConsant.REMARK)
.orderByDesc(FieldConstant.CREATED_TIME);
List<UserEntity> userEntityList = this.baseDao.selectList(wrapper);
EpdcUserRegisterInfoResultDTO resultDto = new EpdcUserRegisterInfoResultDTO();
resultDto.setGridId(fromDto.getGridId());
// 已注册
if (CollUtil.isNotEmpty(userEntityList) && null != userEntityList.get(NumConstant.ZERO)) {
UserEntity userEntity = userEntityList.get(NumConstant.ZERO);
resultDto.setUserDTO(ConvertUtils.sourceToTarget(userEntity, UserDTO.class));
// 获取用户关联当前网格信息
UserGridRelationDTO relationInfo = userGridRelationService.getUserRelationInfo(userEntity.getId(), fromDto.getGridId());
// 未绑定当前网格
if (null == relationInfo) {
resultDto.setRegisterState(NumConstant.ONE);
}
// 已绑定当前网格
else {
resultDto.setRegisterState(NumConstant.TWO);
resultDto.setGrid(relationInfo.getGrid());
}
}
// 未注册
else {
resultDto.setRegisterState(NumConstant.ZERO);
}
return new Result<EpdcUserRegisterInfoResultDTO>().ok(resultDto);
}
@Override
@Transactional(rollbackFor = Exception.class)
public Result<EpdcUserRegisterInfoResultDTO> saveUserOrBindGrid(EpdcUserRegisterBindGridFormDTO fromDto) {
// 用户注册
if (NumConstant.ZERO == fromDto.getRegisterState()) {
UserEntity userEntity = ConvertUtils.sourceToTarget(fromDto.getUserDTO(), UserEntity.class);
if (insert(userEntity)) {
fromDto.getUserDTO().setId(userEntity.getId());
fromDto.getGridRelationDTO().setUserId(userEntity.getId());
} else {
return new Result<EpdcUserRegisterInfoResultDTO>().error("用户注册失败");
}
} else {
fromDto.getGridRelationDTO().setUserId(fromDto.getUserDTO().getId());
}
// 用户绑定网格
userGridRelationService.save(fromDto.getGridRelationDTO());
// 组装用户注册信息
EpdcUserRegisterInfoResultDTO resultDto = new EpdcUserRegisterInfoResultDTO();
resultDto.setRegisterState(NumConstant.TWO);
resultDto.setGrid(fromDto.getGridRelationDTO().getGrid());
resultDto.setGridId(fromDto.getGridRelationDTO().getGridId());
resultDto.setUserDTO(fromDto.getUserDTO());
return new Result<EpdcUserRegisterInfoResultDTO>().ok(resultDto);
}
}
Loading…
Cancel
Save