Browse Source

网格长注册相关变更

dev
yujintao 6 years ago
parent
commit
268735a559
  1. 18
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAppUserController.java
  2. 34
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java
  3. 21
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java
  4. 4
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/resolver/LoginUserHandlerMethodArgumentResolver.java
  5. 15
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AppUserService.java
  6. 100
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java
  7. 2
      esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/constant/UserFieldConsant.java
  8. 2
      esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/UserGridRelationDTO.java
  9. 25
      esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/EpdcGridLeaderRegisterDTO.java
  10. 27
      esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcGridLeaderRegisterFormDTO.java
  11. 36
      esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcGridLeaderRegisterSubmitFormDTO.java
  12. 27
      esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcLeaderSwitchGridFormDTO.java
  13. 21
      esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/result/EpdcLeaderGridResultDTO.java
  14. 4
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppUserController.java
  15. 70
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/EpdcUserGridRelationController.java
  16. 2
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/UserGridRelationController.java
  17. 25
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserGridRelationService.java
  18. 4
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserService.java
  19. 45
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserGridRelationServiceImpl.java
  20. 5
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java

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

@ -4,7 +4,7 @@ import com.elink.esua.epdc.common.token.dto.TokenDto;
import com.elink.esua.epdc.commons.tools.annotation.LoginUser;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
import com.elink.esua.epdc.dto.epdc.form.EpdcGridLeaderRegisterFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcGridLeaderRegisterSubmitFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserRegistFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserUpdateAvatarFromDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserUpdateMobileFromDTO;
@ -84,7 +84,7 @@ public class ApiAppUserController {
* @date 2019/10/22 15:28
*/
@PostMapping("user/ma/gridLeaderRegister")
public Result<EpdcAppAuthorizationDTO> maGridLeaderRegister(@RequestBody EpdcGridLeaderRegisterFormDTO formDto) {
public Result<EpdcAppAuthorizationDTO> maGridLeaderRegister(@RequestBody EpdcGridLeaderRegisterSubmitFormDTO formDto) {
ValidatorUtils.validateEntity(formDto);
return appUserService.maGridLeaderRegister(formDto);
}
@ -156,4 +156,18 @@ public class ApiAppUserController {
ValidatorUtils.validateEntity(fromDTO);
return appUserService.updateMobile(userDetail, fromDTO);
}
/**
* 网格长在小程序切换网格
*
* @param userDetail
* @param gridId
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author work@yujt.net.cn
* @date 2019/10/23 10:38
*/
@GetMapping("user/switchGrid/{gridId}")
public Result<EpdcAppAuthorizationDTO> gridLeaderSwitchGrid(@LoginUser TokenDto userDetail, @PathVariable("gridId") String gridId) {
return appUserService.gridLeaderSwitchGrid(userDetail, gridId);
}
}

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

@ -3,11 +3,10 @@ package com.elink.esua.epdc.feign;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.Result;
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.EpdcGridLeaderRegisterDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserRegistFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcDeleteWxFormIdFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserSaveWxFormIdFormDTO;
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.feign.fallback.UserFeignClientFallback;
@ -18,6 +17,8 @@ import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
/**
* appuser端接口
*
@ -160,5 +161,28 @@ public interface UserFeignClient {
* @date 2019/10/23 09:44
*/
@PostMapping(value = "app-user/epdc-app/user/gridLeaderRegister", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<UserDTO> gridLeaderRegister(EpdcGridLeaderRegisterDTO registerDto);
Result<UserDTO> gridLeaderRegister(EpdcGridLeaderRegisterFormDTO registerDto);
/**
* 网格长小程序端切换网格
*
* @param switchGridDto
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.UserGridRelationDTO>
* @author work@yujt.net.cn
* @date 2019/10/23 13:33
*/
@GetMapping(value = "app-user/epdc-app/usergrid/leaderSwitchGrid", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<UserGridRelationDTO> leaderSwitchGrid(EpdcLeaderSwitchGridFormDTO switchGridDto);
/**
* 获取网格长管理的网格列表
*
* @param userId
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.epdc.result.EpdcLeaderGridResultDTO>>
* @author work@yujt.net.cn
* @date 2019/10/23 13:34
*/
@GetMapping("app-user/epdc-app/usergrid/listGridForLeader/{userId}")
Result<List<EpdcLeaderGridResultDTO>> listGridForLeader(@PathVariable("userId") String userId);
}

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

@ -4,16 +4,17 @@ import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.ModuleUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
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.EpdcGridLeaderRegisterDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserRegistFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcDeleteWxFormIdFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserSaveWxFormIdFormDTO;
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.feign.UserFeignClient;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* @author yujintao
* @email yujintao@elink-cn.com
@ -78,7 +79,17 @@ public class UserFeignClientFallback implements UserFeignClient {
}
@Override
public Result<UserDTO> gridLeaderRegister(EpdcGridLeaderRegisterDTO registerDto) {
public Result<UserDTO> gridLeaderRegister(EpdcGridLeaderRegisterFormDTO registerDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "gridLeaderRegister", registerDto);
}
@Override
public Result<UserGridRelationDTO> leaderSwitchGrid(EpdcLeaderSwitchGridFormDTO switchGridDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "leaderSwitchGrid", switchGridDto);
}
@Override
public Result<List<EpdcLeaderGridResultDTO>> listGridForLeader(String userId) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "listGridForLeader", userId);
}
}

4
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/resolver/LoginUserHandlerMethodArgumentResolver.java

@ -12,7 +12,7 @@ import com.elink.esua.epdc.common.token.dto.TokenDto;
import com.elink.esua.epdc.common.token.util.CpUserDetailRedis;
import com.elink.esua.epdc.commons.tools.annotation.LoginUser;
import com.elink.esua.epdc.commons.tools.constant.Constant;
import com.elink.esua.epdc.commons.tools.security.user.CpUserDetail;
import com.elink.esua.epdc.commons.tools.exception.RenException;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.MethodParameter;
@ -45,7 +45,7 @@ public class LoginUserHandlerMethodArgumentResolver implements HandlerMethodArgu
//获取用户ID
String userId = request.getHeader(Constant.APP_USER_KEY);
if (StringUtils.isEmpty(userId)) {
return null;
throw new RenException("获取登录信息失败");
}
TokenDto user = cpUserDetailRedis.get(userId);
return user;

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

@ -2,7 +2,7 @@ package com.elink.esua.epdc.service;
import com.elink.esua.epdc.common.token.dto.TokenDto;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.epdc.form.EpdcGridLeaderRegisterFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcGridLeaderRegisterSubmitFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserRegistFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserUpdateAvatarFromDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserUpdateMobileFromDTO;
@ -123,5 +123,16 @@ public interface AppUserService {
* @author work@yujt.net.cn
* @date 2019/10/22 15:30
*/
Result<EpdcAppAuthorizationDTO> maGridLeaderRegister(EpdcGridLeaderRegisterFormDTO formDto);
Result<EpdcAppAuthorizationDTO> maGridLeaderRegister(EpdcGridLeaderRegisterSubmitFormDTO formDto);
/**
* 网格长在小程序切换网格
*
* @param userDetail
* @param gridId
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.result.EpdcAppAuthorizationDTO>
* @author work@yujt.net.cn
* @date 2019/10/23 10:40
*/
Result<EpdcAppAuthorizationDTO> gridLeaderSwitchGrid(TokenDto userDetail, String gridId);
}

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

@ -11,7 +11,7 @@ import com.elink.esua.epdc.commons.tools.exception.RenException;
import com.elink.esua.epdc.commons.tools.redis.RedisUtils;
import com.elink.esua.epdc.commons.tools.utils.*;
import com.elink.esua.epdc.dto.*;
import com.elink.esua.epdc.dto.epdc.EpdcGridLeaderRegisterDTO;
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.EpdcUserInfoResultDTO;
@ -178,29 +178,10 @@ public class AppUserServiceImpl implements AppUserService {
}
// 用户已注册且审核通过,正常登录系统
else if (AppUserAuditStateEnum.AUDIT_SUCCESS.value().equals(state)) {
String userId = userDto.getId();
TokenDto tokenInfo = tokenUtil.getTokenInfo(userId);
// 生成token
String token = jwtTokenUtils.generateToken(userId);
Long expire;
// 用户已登录过,且用户缓存信息未超时
if (null != tokenInfo) {
tokenUtil.delayToken(userId);
expire = tokenUtil.getExpire(userId);
} else {
expire = (long) jwtTokenProperties.getExpire();
}
TokenDto tokenDto = ConvertUtils.sourceToTarget(userDto, TokenDto.class);
tokenDto.setUserId(userId);
cpUserDetailRedis.set(tokenDto, expire);
// 暂用,部署生产环境时删除
redisUtils.set("epdc:sys:security:cpuser:token:" + userId, token);
authorization.setUserState(AppUserStateEnum.REGISTERED.value());
authorization.setToken(token);
authorization.setUserId(userId);
authorization.setExpire(expire);
authorization.setGrid(userDto.getGrid());
tokenDto.setUserId(userDto.getId());
authorization = this.packageEpdcAppAuthorization(tokenDto, userDto.getGrid());
return new Result().ok(authorization);
} else {
return new Result().error("Login failed");
@ -222,7 +203,7 @@ public class AppUserServiceImpl implements AppUserService {
}
@Override
public Result<EpdcAppAuthorizationDTO> maGridLeaderRegister(EpdcGridLeaderRegisterFormDTO formDto) {
public Result<EpdcAppAuthorizationDTO> maGridLeaderRegister(EpdcGridLeaderRegisterSubmitFormDTO formDto) {
String mobile = formDto.getMobile();
@ -247,7 +228,7 @@ public class AppUserServiceImpl implements AppUserService {
UserDTO appUser = this.packageGridLeaderWhileRegister(leaderRegisterDto.getSysUser(), formDto.getWxCode());
List<UserGridRelationDTO> userGridList = ConvertUtils.sourceToTarget(leaderRegisterDto.getLeaderGridList(), UserGridRelationDTO.class);
EpdcGridLeaderRegisterDTO registerDto = new EpdcGridLeaderRegisterDTO();
EpdcGridLeaderRegisterFormDTO registerDto = new EpdcGridLeaderRegisterFormDTO();
registerDto.setUserDto(appUser);
registerDto.setUserGridList(userGridList);
@ -258,23 +239,12 @@ public class AppUserServiceImpl implements AppUserService {
UserDTO newAppUser = appUserResult.getData();
String appUserId = newAppUser.getId();
int expire = jwtTokenProperties.getExpire();
String token = jwtTokenUtils.generateToken(appUserId);
EpdcAppAuthorizationDTO authorization = new EpdcAppAuthorizationDTO();
// 网格长注册,默认审核通过
authorization.setUserState(AppUserStateEnum.REGISTERED.value());
// 用户已注册且审核通过,正常登录系统
TokenDto tokenDto = ConvertUtils.sourceToTarget(newAppUser, TokenDto.class);
tokenDto.setUserId(appUserId);
cpUserDetailRedis.set(tokenDto, expire);
// 暂用,部署生产环境时删除
redisUtils.set("epdc:sys:security:cpuser:token:" + appUserId, token);
tokenDto.setUserId(newAppUser.getId());
EpdcAppAuthorizationDTO authorization = this.packageEpdcAppAuthorization(tokenDto, newAppUser.getGrid());
authorization.setToken(token);
authorization.setUserId(appUserId);
authorization.setExpire((long) expire);
authorization.setGrid(newAppUser.getGrid());
return new Result().ok(authorization);
}
@ -566,4 +536,56 @@ public class AppUserServiceImpl implements AppUserService {
}
return userFeignClient.updateMobileOrAvatar(userDto);
}
@Override
public Result<EpdcAppAuthorizationDTO> gridLeaderSwitchGrid(TokenDto userDetail, String gridId) {
String userId = userDetail.getUserId();
EpdcLeaderSwitchGridFormDTO switchGrid = new EpdcLeaderSwitchGridFormDTO();
switchGrid.setAppUserId(userId);
switchGrid.setGridId(gridId);
// 更新用户-网格关系表,更新将要切换的网格的 SWITCHED_TIME 字段
Result<UserGridRelationDTO> appUserResult = userFeignClient.leaderSwitchGrid(switchGrid);
if (!appUserResult.success()) {
return new Result().error(appUserResult.getMsg());
}
UserGridRelationDTO userGridRelation = appUserResult.getData();
userDetail.setGridId(Long.parseLong(gridId));
EpdcAppAuthorizationDTO authorization = this.packageEpdcAppAuthorization(userDetail, userGridRelation.getGrid());
return new Result().ok(authorization);
}
/**
* 组装成功登录的数据
* EpdcAppAuthorizationDTO的userState属性默认设置为AppUserStateEnum.REGISTERED
*
* @param tokenDto 缓存的用户数据
* @param grid 网格名称
* @return com.elink.esua.epdc.dto.result.EpdcAppAuthorizationDTO
* @author work@yujt.net.cn
* @date 2019/10/23 13:57
*/
private EpdcAppAuthorizationDTO packageEpdcAppAuthorization(TokenDto tokenDto, String grid) {
String userId = tokenDto.getUserId();
// 生成token
String token = jwtTokenUtils.generateToken(userId);
int expire = jwtTokenProperties.getExpire();
cpUserDetailRedis.set(tokenDto, expire);
EpdcAppAuthorizationDTO authorization = new EpdcAppAuthorizationDTO();
authorization.setUserState(AppUserStateEnum.REGISTERED.value());
authorization.setToken(token);
authorization.setUserId(userId);
authorization.setExpire((long) expire);
authorization.setGrid(grid);
// 暂用,部署生产环境时删除
redisUtils.set("epdc:sys:security:cpuser:token:" + userId, token);
return authorization;
}
}

2
esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/constant/UserFieldConsant.java

@ -18,4 +18,6 @@ public interface UserFieldConsant {
String WX_UNION_ID = "WX_UNION_ID";
String IDENTITY_NO = "IDENTITY_NO";
String REGISTER_TIME = "REGISTER_TIME";
String USER_ID = "USER_ID";
String SWITCHED_TIME = "SWITCHED_TIME";
}

2
esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/UserGridRelationDTO.java

@ -31,7 +31,7 @@ import lombok.Data;
@Data
public class UserGridRelationDTO implements Serializable {
private static final long serialVersionUID = 1L;
private static final long serialVersionUID = 3528030593209505024L;
/**
* 主键

25
esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/EpdcGridLeaderRegisterDTO.java

@ -1,25 +0,0 @@
package com.elink.esua.epdc.dto.epdc;
import com.elink.esua.epdc.dto.UserDTO;
import com.elink.esua.epdc.dto.UserGridRelationDTO;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* 网格长注册
*
* @author work@yujt.net.cn
* @date 2019/10/23 09:28
*/
@Data
public class EpdcGridLeaderRegisterDTO implements Serializable {
private static final long serialVersionUID = -3300063484743833705L;
private UserDTO userDto;
private List<UserGridRelationDTO> userGridList;
}

27
esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcGridLeaderRegisterFormDTO.java

@ -1,36 +1,25 @@
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 javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.List;
/**
* 网格长在移动端注册
* 网格长注册来自api模块数据组装
*
* @author work@yujt.net.cn
* @date 2019/10/22 15:30
* @date 2019/10/23 09:28
*/
@Data
public class EpdcGridLeaderRegisterFormDTO implements Serializable {
private static final long serialVersionUID = 7057504211898721084L;
private static final long serialVersionUID = -3300063484743833705L;
/**
* 手机号
*/
@NotBlank(message = "手机号不能为空")
private String mobile;
private UserDTO userDto;
/**
* 短信验证码
*/
@NotBlank(message = "短信验证码不能为空")
private String smsCode;
private List<UserGridRelationDTO> userGridList;
/**
* 微信code
*/
@NotBlank(message = "微信code不能为空")
private String wxCode;
}

36
esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcGridLeaderRegisterSubmitFormDTO.java

@ -0,0 +1,36 @@
package com.elink.esua.epdc.dto.epdc.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* 网格长在移动端注册(来自用户移动端表单提交)
*
* @author work@yujt.net.cn
* @date 2019/10/22 15:30
*/
@Data
public class EpdcGridLeaderRegisterSubmitFormDTO implements Serializable {
private static final long serialVersionUID = 7057504211898721084L;
/**
* 手机号
*/
@NotBlank(message = "手机号不能为空")
private String mobile;
/**
* 短信验证码
*/
@NotBlank(message = "短信验证码不能为空")
private String smsCode;
/**
* 微信code
*/
@NotBlank(message = "微信code不能为空")
private String wxCode;
}

27
esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcLeaderSwitchGridFormDTO.java

@ -0,0 +1,27 @@
package com.elink.esua.epdc.dto.epdc.form;
import lombok.Data;
import java.io.Serializable;
/**
* 网格长小程序端切换网格
*
* @author work@yujt.net.cn
* @date 2019/10/23 11:02
*/
@Data
public class EpdcLeaderSwitchGridFormDTO implements Serializable {
private static final long serialVersionUID = 7057504211898721084L;
/**
* 用户id
*/
private String appUserId;
/**
* 网格id
*/
private String gridId;
}

21
esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/result/EpdcLeaderGridResultDTO.java

@ -0,0 +1,21 @@
package com.elink.esua.epdc.dto.epdc.result;
import lombok.Data;
import java.io.Serializable;
/**
* 网格长管理的网格
*
* @author work@yujt.net.cn
* @date 2019/10/23 11:19
*/
@Data
public class EpdcLeaderGridResultDTO implements Serializable {
private static final long serialVersionUID = -2330556079892327467L;
private String grid;
private String gridId;
}

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

@ -3,7 +3,7 @@ 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.EpdcGridLeaderRegisterDTO;
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.result.EpdcUserInfoResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserRegisterAuditMsgResultDTO;
@ -86,7 +86,7 @@ public class EpdcAppUserController {
* @date 2019/10/23 09:34
*/
@PostMapping("gridLeaderRegister")
public Result<UserDTO> gridLeaderRegister(@RequestBody EpdcGridLeaderRegisterDTO registerDto) {
public Result<UserDTO> gridLeaderRegister(@RequestBody EpdcGridLeaderRegisterFormDTO registerDto) {
return userService.gridLeaderRegister(registerDto);
}

70
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/EpdcUserGridRelationController.java

@ -0,0 +1,70 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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.UserGridRelationDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcLeaderSwitchGridFormDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcLeaderGridResultDTO;
import com.elink.esua.epdc.service.UserGridRelationService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 网格长与网格关系表
*
* @author work@yujt.net.cn
* @since v1.0.0 2019-10-23
*/
@RestController
@RequestMapping(Constant.EPDC_APP + "usergrid")
public class EpdcUserGridRelationController {
@Autowired
private UserGridRelationService userGridRelationService;
/**
* 网格长小程序端切换网格
*
* @param switchGridDto
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.UserGridRelationDTO>
* @author work@yujt.net.cn
* @date 2019/10/23 11:04
*/
@GetMapping("leaderSwitchGrid")
public Result<UserGridRelationDTO> leaderSwitchGrid(@RequestBody EpdcLeaderSwitchGridFormDTO switchGridDto) {
return userGridRelationService.leaderSwitchGrid(switchGridDto);
}
/**
* 获取网格长管理的网格列表
*
* @param userId
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.epdc.result.EpdcLeaderGridResultDTO>>
* @author work@yujt.net.cn
* @date 2019/10/23 13:26
*/
@GetMapping("listGridForLeader/{userId}")
public Result<List<EpdcLeaderGridResultDTO>> listGridForLeader(@PathVariable("userId") String userId) {
return userGridRelationService.listGridForLeader(userId);
}
}

2
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/UserGridRelationController.java

@ -39,7 +39,7 @@ import java.util.Map;
* @since v1.0.0 2019-10-23
*/
@RestController
@RequestMapping("usergridrelation")
@RequestMapping("usergrid")
public class UserGridRelationController {
@Autowired

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

@ -19,7 +19,10 @@ package com.elink.esua.epdc.service;
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.UserGridRelationDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcLeaderSwitchGridFormDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcLeaderGridResultDTO;
import com.elink.esua.epdc.entity.UserGridRelationEntity;
import java.util.List;
@ -28,7 +31,7 @@ import java.util.Map;
/**
* 网格长与网格关系表
*
* @author work@yujt.net.cn
* @author work@yujt.net.cn
* @since v1.0.0 2019-10-23
*/
public interface UserGridRelationService extends BaseService<UserGridRelationEntity> {
@ -92,4 +95,24 @@ public interface UserGridRelationService extends BaseService<UserGridRelationEnt
* @date 2019-10-23
*/
void delete(String[] ids);
/**
* 网格长小程序端切换网格
*
* @param switchGridDto
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.UserGridRelationDTO>
* @author work@yujt.net.cn
* @date 2019/10/23 11:05
*/
Result<UserGridRelationDTO> leaderSwitchGrid(EpdcLeaderSwitchGridFormDTO switchGridDto);
/**
* 获取网格长管理的网格列表
*
* @param userId
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.epdc.result.EpdcLeaderGridResultDTO>>
* @author work@yujt.net.cn
* @date 2019/10/23 13:28
*/
Result<List<EpdcLeaderGridResultDTO>> listGridForLeader(String userId);
}

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

@ -21,7 +21,7 @@ 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.EpdcGridLeaderRegisterDTO;
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.result.EpdcUserInfoResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserRegisterAuditMsgResultDTO;
@ -143,5 +143,5 @@ public interface UserService extends BaseService<UserEntity> {
* @author work@yujt.net.cn
* @date 2019/10/23 09:35
*/
Result<UserDTO> gridLeaderRegister(EpdcGridLeaderRegisterDTO registerDto);
Result<UserDTO> gridLeaderRegister(EpdcGridLeaderRegisterFormDTO registerDto);
}

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

@ -18,13 +18,18 @@
package com.elink.esua.epdc.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.constant.UserFieldConsant;
import com.elink.esua.epdc.dao.UserGridRelationDao;
import com.elink.esua.epdc.dto.UserGridRelationDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcLeaderSwitchGridFormDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcLeaderGridResultDTO;
import com.elink.esua.epdc.entity.UserGridRelationEntity;
import com.elink.esua.epdc.service.UserGridRelationService;
import org.apache.commons.lang3.StringUtils;
@ -32,13 +37,14 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* 网格长与网格关系表
*
* @author work@yujt.net.cn
* @author work@yujt.net.cn
* @since v1.0.0 2019-10-23
*/
@Service
@ -60,8 +66,8 @@ public class UserGridRelationServiceImpl extends BaseServiceImpl<UserGridRelatio
return ConvertUtils.sourceToTarget(entityList, UserGridRelationDTO.class);
}
private QueryWrapper<UserGridRelationEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
private QueryWrapper<UserGridRelationEntity> getWrapper(Map<String, Object> params) {
String id = (String) params.get(FieldConstant.ID_HUMP);
QueryWrapper<UserGridRelationEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
@ -96,4 +102,37 @@ public class UserGridRelationServiceImpl extends BaseServiceImpl<UserGridRelatio
baseDao.deleteBatchIds(Arrays.asList(ids));
}
@Override
public Result<UserGridRelationDTO> leaderSwitchGrid(EpdcLeaderSwitchGridFormDTO switchGridDto) {
UpdateWrapper<UserGridRelationEntity> wrapper = new UpdateWrapper<>();
wrapper.eq(UserFieldConsant.USER_ID, switchGridDto.getAppUserId())
.eq(FieldConstant.GRID_ID, switchGridDto.getGridId());
UserGridRelationEntity entity = new UserGridRelationEntity();
entity.setSwitchedTime(new Date());
boolean update = this.update(entity, wrapper);
if (!update) {
return new Result().error("匹配用户网格失败");
}
QueryWrapper<UserGridRelationEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.eq(UserFieldConsant.USER_ID, switchGridDto.getAppUserId())
.eq(FieldConstant.GRID_ID, switchGridDto.getGridId());
UserGridRelationEntity gridRelationEntity = this.baseDao.selectOne(queryWrapper);
UserGridRelationDTO gridRelationDto = ConvertUtils.sourceToTarget(gridRelationEntity, UserGridRelationDTO.class);
return new Result<UserGridRelationDTO>().ok(gridRelationDto);
}
@Override
public Result<List<EpdcLeaderGridResultDTO>> listGridForLeader(String userId) {
QueryWrapper<UserGridRelationEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.eq(UserFieldConsant.USER_ID, userId)
.orderByDesc(UserFieldConsant.SWITCHED_TIME);
List<UserGridRelationEntity> entityList = this.baseDao.selectList(queryWrapper);
List<EpdcLeaderGridResultDTO> dtoList = ConvertUtils.sourceToTarget(entityList, EpdcLeaderGridResultDTO.class);
return new Result<List<EpdcLeaderGridResultDTO>>().ok(dtoList);
}
}

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

@ -38,7 +38,7 @@ 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.EpdcGridLeaderRegisterDTO;
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.result.EpdcUserInfoResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserRegisterAuditMsgResultDTO;
@ -55,7 +55,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.validation.constraints.NotBlank;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
@ -316,7 +315,7 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
@Override
@Transactional(rollbackFor = Exception.class)
public Result<UserDTO> gridLeaderRegister(EpdcGridLeaderRegisterDTO registerDto) {
public Result<UserDTO> gridLeaderRegister(EpdcGridLeaderRegisterFormDTO registerDto) {
UserDTO userDto = registerDto.getUserDto();

Loading…
Cancel
Save