Browse Source

网格长注册

dev
yujintao 6 years ago
parent
commit
da86d8f693
  1. 2
      esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/epdc/GridForLeaderRegisterDTO.java
  2. 4
      esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/epdc/GridLeaderRegisterDTO.java
  3. 3
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysUserController.java
  4. 5
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/SysUserDao.java
  5. 5
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysUserService.java
  6. 10
      esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysUserServiceImpl.java
  7. 2
      esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysUserDao.xml
  8. 4
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/AdminFeignClient.java
  9. 12
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java
  10. 2
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/AdminFeignClientFallback.java
  11. 6
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java
  12. 51
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java
  13. 91
      esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/UserGridRelationDTO.java
  14. 25
      esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/EpdcGridLeaderRegisterDTO.java
  15. 14
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppUserController.java
  16. 84
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/UserGridRelationController.java
  17. 33
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/UserGridRelationDao.java
  18. 61
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/entity/UserGridRelationEntity.java
  19. 47
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/redis/UserGridRelationRedis.java
  20. 95
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserGridRelationService.java
  21. 11
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserService.java
  22. 99
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserGridRelationServiceImpl.java
  23. 36
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java
  24. 8
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserGridRelationDao.xml

2
esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/GridForLeaderRegisterDTO.java → esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/epdc/GridForLeaderRegisterDTO.java

@ -1,4 +1,4 @@
package com.elink.esua.epdc.dto;
package com.elink.esua.epdc.dto.epdc;
import lombok.Data;

4
esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/GridLeaderRegisterDTO.java → esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/epdc/GridLeaderRegisterDTO.java

@ -1,9 +1,9 @@
package com.elink.esua.epdc.dto;
package com.elink.esua.epdc.dto.epdc;
import com.elink.esua.epdc.dto.SysUserDTO;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**

3
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysUserController.java

@ -25,6 +25,7 @@ import com.elink.esua.epdc.commons.tools.validator.group.AddGroup;
import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup;
import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup;
import com.elink.esua.epdc.dto.*;
import com.elink.esua.epdc.dto.epdc.GridLeaderRegisterDTO;
import com.elink.esua.epdc.excel.SysUserExcel;
import com.elink.esua.epdc.service.*;
import io.swagger.annotations.Api;
@ -214,7 +215,7 @@ public class SysUserController {
* 网格长注册时根据手机号查询网格长管理的所有网格
*
* @param mobile
* @return java.util.List<com.elink.esua.epdc.dto.GridLeaderRegisterDTO>
* @return java.util.List<com.elink.esua.epdc.dto.epdc.GridLeaderRegisterDTO>
* @author work@yujt.net.cn
* @date 2019/10/22 16:18
*/

5
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/SysUserDao.java

@ -8,10 +8,9 @@
package com.elink.esua.epdc.dao;
import com.elink.esua.epdc.dto.GridForLeaderRegisterDTO;
import com.elink.esua.epdc.dto.epdc.GridForLeaderRegisterDTO;
import com.elink.esua.epdc.entity.SysUserEntity;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.entity.SysUserEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -44,7 +43,7 @@ public interface SysUserDao extends BaseDao<SysUserEntity> {
* 网格长注册时根据手机号查询网格长管理的所有网格
*
* @param mobile
* @return java.util.List<com.elink.esua.epdc.dto.GridForLeaderRegisterDTO>
* @return java.util.List<com.elink.esua.epdc.dto.epdc.GridForLeaderRegisterDTO>
* @author work@yujt.net.cn
* @date 2019/10/22 16:27
*/

5
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysUserService.java

@ -11,8 +11,7 @@ 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.GridForLeaderRegisterDTO;
import com.elink.esua.epdc.dto.GridLeaderRegisterDTO;
import com.elink.esua.epdc.dto.epdc.GridLeaderRegisterDTO;
import com.elink.esua.epdc.dto.SysUserDTO;
import com.elink.esua.epdc.entity.SysUserEntity;
@ -58,7 +57,7 @@ public interface SysUserService extends BaseService<SysUserEntity> {
* 网格长注册时根据手机号查询网格长管理的所有网格
*
* @param mobile
* @return java.util.List<com.elink.esua.epdc.dto.GridLeaderRegisterDTO>
* @return java.util.List<com.elink.esua.epdc.dto.epdc.GridLeaderRegisterDTO>
* @author work@yujt.net.cn
* @date 2019/10/22 16:19
*/

10
esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysUserServiceImpl.java

@ -8,6 +8,7 @@
package com.elink.esua.epdc.service.impl;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.elink.esua.epdc.commons.mybatis.enums.DelFlagEnum;
@ -25,8 +26,8 @@ import com.elink.esua.epdc.commons.tools.security.user.UserDetail;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dao.SysUserDao;
import com.elink.esua.epdc.dto.GridForLeaderRegisterDTO;
import com.elink.esua.epdc.dto.GridLeaderRegisterDTO;
import com.elink.esua.epdc.dto.epdc.GridForLeaderRegisterDTO;
import com.elink.esua.epdc.dto.epdc.GridLeaderRegisterDTO;
import com.elink.esua.epdc.dto.SysUserDTO;
import com.elink.esua.epdc.entity.SysUserEntity;
import com.elink.esua.epdc.service.SysDeptService;
@ -176,13 +177,16 @@ public class SysUserServiceImpl extends BaseServiceImpl<SysUserDao, SysUserEntit
Integer selectCount = baseDao.selectCount(wrapper);
if (selectCount != NumConstant.ONE) {
return new Result().error("验网格长手机号失败");
return new Result().error("验网格长手机号失败");
}
SysUserEntity sysUserEntity = baseDao.selectOne(wrapper);
SysUserDTO dto = ConvertUtils.sourceToTarget(sysUserEntity, SysUserDTO.class);
List<GridForLeaderRegisterDTO> list = this.baseDao.selectListLeaderGrid(mobile);
if (CollUtil.isEmpty(list)) {
return new Result().error("校验网格长数据权限失败");
}
GridLeaderRegisterDTO result = new GridLeaderRegisterDTO();
result.setSysUser(dto);

2
esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysUserDao.xml

@ -59,7 +59,7 @@
</select>
<select id="selectListLeaderGrid" resultType="com.elink.esua.epdc.dto.GridForLeaderRegisterDTO">
<select id="selectListLeaderGrid" resultType="com.elink.esua.epdc.dto.epdc.GridForLeaderRegisterDTO">
SELECT
d.id gridId,
d.`name` grid,

4
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/AdminFeignClient.java

@ -3,7 +3,7 @@ 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.CompleteDeptDTO;
import com.elink.esua.epdc.dto.GridLeaderRegisterDTO;
import com.elink.esua.epdc.dto.epdc.GridLeaderRegisterDTO;
import com.elink.esua.epdc.feign.fallback.AdminFeignClientFallback;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
@ -35,7 +35,7 @@ public interface AdminFeignClient {
* 网格长注册时根据手机号查询网格长管理的所有网格
*
* @param mobile
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.GridLeaderRegisterDTO>
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.epdc.GridLeaderRegisterDTO>
* @author work@yujt.net.cn
* @date 2019/10/22 16:54
*/

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

@ -4,6 +4,7 @@ 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.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;
@ -149,4 +150,15 @@ public interface UserFeignClient {
*/
@GetMapping("app-user/epdc-app/wxformid/getByOpenId/{openId}")
Result<UserWxFormIdDTO> getWxFormId(@PathVariable("openId") String openId);
/**
* 网格长注册
*
* @param registerDto
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.UserDTO>
* @author work@yujt.net.cn
* @date 2019/10/23 09:44
*/
@PostMapping(value = "app-user/epdc-app/user/gridLeaderRegister", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<UserDTO> gridLeaderRegister(EpdcGridLeaderRegisterDTO registerDto);
}

2
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/AdminFeignClientFallback.java

@ -4,7 +4,7 @@ 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.CompleteDeptDTO;
import com.elink.esua.epdc.dto.GridLeaderRegisterDTO;
import com.elink.esua.epdc.dto.epdc.GridLeaderRegisterDTO;
import com.elink.esua.epdc.feign.AdminFeignClient;
import org.springframework.stereotype.Component;

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

@ -5,6 +5,7 @@ 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.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;
@ -75,4 +76,9 @@ public class UserFeignClientFallback implements UserFeignClient {
public Result<UserWxFormIdDTO> getWxFormId(String openId) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "getWxFormId", openId);
}
@Override
public Result<UserDTO> gridLeaderRegister(EpdcGridLeaderRegisterDTO registerDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "gridLeaderRegister", registerDto);
}
}

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

@ -10,8 +10,9 @@ import com.elink.esua.epdc.commons.tools.enums.YesOrNoEnum;
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.commons.tools.validator.group.DefaultGroup;
import com.elink.esua.epdc.dto.*;
import com.elink.esua.epdc.dto.epdc.EpdcGridLeaderRegisterDTO;
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;
import com.elink.esua.epdc.dto.form.EpdcAppUserMaTokenFormDTO;
@ -40,7 +41,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletRequest;
import javax.validation.constraints.NotBlank;
import java.util.Date;
import java.util.List;
@ -229,9 +229,10 @@ public class AppUserServiceImpl implements AppUserService {
// 校验手机号是否已被注册为小程序用户
EpdcUserRegistFormDTO verifyAppUser = new EpdcUserRegistFormDTO();
verifyAppUser.setMobile(mobile);
// 在获取信息时就进行校验,不消耗wxCode,用户可以重复提交
Result verifyUserRegisterData = userFeignClient.verifyUserRegisterData(verifyAppUser);
if (!verifyUserRegisterData.success()) {
throw new RenException(verifyUserRegisterData.getMsg());
return new Result().error(verifyUserRegisterData.getMsg());
}
// 校验手机验证码
this.checkSmsCode(mobile, formDto.getSmsCode());
@ -241,16 +242,51 @@ public class AppUserServiceImpl implements AppUserService {
return new Result().error(adminResult.getMsg());
}
GridLeaderRegisterDTO leaderRegisterDto = adminResult.getData();
SysUserDTO sysUser = leaderRegisterDto.getSysUser();
List<GridForLeaderRegisterDTO> gridList = leaderRegisterDto.getLeaderGridList();
// 组装用户注册信息
UserDTO appUser = this.packageGridLeaderWhileRegister(leaderRegisterDto.getSysUser(), formDto.getWxCode());
List<UserGridRelationDTO> userGridList = ConvertUtils.sourceToTarget(leaderRegisterDto.getLeaderGridList(), UserGridRelationDTO.class);
EpdcGridLeaderRegisterDTO registerDto = new EpdcGridLeaderRegisterDTO();
registerDto.setUserDto(appUser);
registerDto.setUserGridList(userGridList);
UserDTO appUser = this.packageGridLeaderWhileRegister(sysUser, formDto.getWxCode());
Result<UserDTO> appUserResult = userFeignClient.gridLeaderRegister(registerDto);
if (!appUserResult.success()) {
return new Result().error(adminResult.getMsg());
}
UserDTO newAppUser = appUserResult.getData();
return null;
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);
authorization.setToken(token);
authorization.setUserId(appUserId);
authorization.setExpire((long) expire);
authorization.setGrid(newAppUser.getGrid());
return new Result().ok(authorization);
}
/**
* 组装网格长注册的用户信息
*
* @param sysUser 后台管理端管理员账号
* @param wxCode
* @return com.elink.esua.epdc.dto.UserDTO
* @author work@yujt.net.cn
* @date 2019/10/23 10:01
*/
private UserDTO packageGridLeaderWhileRegister(SysUserDTO sysUser, String wxCode) {
WxMaJscode2SessionResult wxMaUser = this.getWxMaUser(wxCode);
@ -274,6 +310,7 @@ public class AppUserServiceImpl implements AppUserService {
appUser.setSex(String.valueOf(sysUser.getGender()));
appUser.setRealName(sysUser.getRealName());
appUser.setEmail(sysUser.getEmail());
appUser.setPartyFlag(YesOrNoEnum.NO.value());
PhoneDto phoneDto = PhoneUtil.getPhoneDto(mobile);
if (phoneDto != null) {

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

@ -0,0 +1,91 @@
/**
* 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.dto;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* 网格长与网格关系表
*
* @author work@yujt.net.cn
* @since v1.0.0 2019-10-23
*/
@Data
public class UserGridRelationDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private String id;
/**
* 用户ID
*/
private String userId;
/**
* 所属网格
*/
private String grid;
/**
* 网格ID
*/
private Long gridId;
/**
* 最后切换此网格的时间
*/
private Date switchedTime;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
/**
* 删除标记
*/
private String delFlag;
}

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

@ -0,0 +1,25 @@
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;
}

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

@ -3,6 +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.EpdcUserRegistFormDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserInfoResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserRegisterAuditMsgResultDTO;
@ -76,6 +77,19 @@ public class EpdcAppUserController {
return userService.userRegister(userDto);
}
/**
* 网格长注册
*
* @param registerDto
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.UserDTO>
* @author work@yujt.net.cn
* @date 2019/10/23 09:34
*/
@PostMapping("gridLeaderRegister")
public Result<UserDTO> gridLeaderRegister(@RequestBody EpdcGridLeaderRegisterDTO registerDto) {
return userService.gridLeaderRegister(registerDto);
}
/***
* @Description 移动端获取用户信息
* @Author qushutong

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

@ -0,0 +1,84 @@
/**
* 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.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.commons.tools.validator.AssertUtils;
import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
import com.elink.esua.epdc.commons.tools.validator.group.AddGroup;
import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup;
import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup;
import com.elink.esua.epdc.dto.UserGridRelationDTO;
import com.elink.esua.epdc.service.UserGridRelationService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
/**
* 网格长与网格关系表
*
* @author work@yujt.net.cn
* @since v1.0.0 2019-10-23
*/
@RestController
@RequestMapping("usergridrelation")
public class UserGridRelationController {
@Autowired
private UserGridRelationService userGridRelationService;
@GetMapping("page")
public Result<PageData<UserGridRelationDTO>> page(@RequestParam Map<String, Object> params){
PageData<UserGridRelationDTO> page = userGridRelationService.page(params);
return new Result<PageData<UserGridRelationDTO>>().ok(page);
}
@GetMapping("{id}")
public Result<UserGridRelationDTO> get(@PathVariable("id") String id){
UserGridRelationDTO data = userGridRelationService.get(id);
return new Result<UserGridRelationDTO>().ok(data);
}
@PostMapping
public Result save(@RequestBody UserGridRelationDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
userGridRelationService.save(dto);
return new Result();
}
@PutMapping
public Result update(@RequestBody UserGridRelationDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
userGridRelationService.update(dto);
return new Result();
}
@DeleteMapping
public Result delete(@RequestBody String[] ids){
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
userGridRelationService.delete(ids);
return new Result();
}
}

33
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/UserGridRelationDao.java

@ -0,0 +1,33 @@
/**
* 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.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.entity.UserGridRelationEntity;
import org.apache.ibatis.annotations.Mapper;
/**
* 网格长与网格关系表
*
* @author work@yujt.net.cn
* @since v1.0.0 2019-10-23
*/
@Mapper
public interface UserGridRelationDao extends BaseDao<UserGridRelationEntity> {
}

61
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/entity/UserGridRelationEntity.java

@ -0,0 +1,61 @@
/**
* 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.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.elink.esua.epdc.commons.mybatis.entity.BaseEpdcEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 网格长与网格关系表
*
* @author work@yujt.net.cn
* @since v1.0.0 2019-10-23
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("epdc_user_grid_relation")
public class UserGridRelationEntity extends BaseEpdcEntity {
private static final long serialVersionUID = 1L;
/**
* 用户ID
*/
private String userId;
/**
* 所属网格
*/
private String grid;
/**
* 网格ID
*/
private Long gridId;
/**
* 最后切换此网格的时间
*/
private Date switchedTime;
}

47
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/redis/UserGridRelationRedis.java

@ -0,0 +1,47 @@
/**
* 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.redis;
import com.elink.esua.epdc.commons.tools.redis.RedisUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* 网格长与网格关系表
*
* @author work@yujt.net.cn
* @since v1.0.0 2019-10-23
*/
@Component
public class UserGridRelationRedis {
@Autowired
private RedisUtils redisUtils;
public void delete(Object[] ids) {
}
public void set(){
}
public String get(String id){
return null;
}
}

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

@ -0,0 +1,95 @@
/**
* 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.service;
import com.elink.esua.epdc.commons.mybatis.service.BaseService;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.dto.UserGridRelationDTO;
import com.elink.esua.epdc.entity.UserGridRelationEntity;
import java.util.List;
import java.util.Map;
/**
* 网格长与网格关系表
*
* @author work@yujt.net.cn
* @since v1.0.0 2019-10-23
*/
public interface UserGridRelationService extends BaseService<UserGridRelationEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<UserGridRelationDTO>
* @author generator
* @date 2019-10-23
*/
PageData<UserGridRelationDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<UserGridRelationDTO>
* @author generator
* @date 2019-10-23
*/
List<UserGridRelationDTO> list(Map<String, Object> params);
/**
* 单条查询
*
* @param id
* @return UserGridRelationDTO
* @author generator
* @date 2019-10-23
*/
UserGridRelationDTO get(String id);
/**
* 默认保存
*
* @param dto
* @return void
* @author generator
* @date 2019-10-23
*/
void save(UserGridRelationDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author generator
* @date 2019-10-23
*/
void update(UserGridRelationDTO dto);
/**
* 批量删除
*
* @param ids
* @return void
* @author generator
* @date 2019-10-23
*/
void delete(String[] ids);
}

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

@ -21,6 +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.EpdcUserRegistFormDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserInfoResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserRegisterAuditMsgResultDTO;
@ -133,4 +134,14 @@ public interface UserService extends BaseService<UserEntity> {
* @date 2019/9/27 09:13
*/
Result<EpdcUserRegisterAuditMsgResultDTO> getUserRegisterAuditResult(String userId);
/**
* 网格长注册
*
* @param registerDto
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.UserDTO>
* @author work@yujt.net.cn
* @date 2019/10/23 09:35
*/
Result<UserDTO> gridLeaderRegister(EpdcGridLeaderRegisterDTO registerDto);
}

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

@ -0,0 +1,99 @@
/**
* 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.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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.dao.UserGridRelationDao;
import com.elink.esua.epdc.dto.UserGridRelationDTO;
import com.elink.esua.epdc.entity.UserGridRelationEntity;
import com.elink.esua.epdc.service.UserGridRelationService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
/**
* 网格长与网格关系表
*
* @author work@yujt.net.cn
* @since v1.0.0 2019-10-23
*/
@Service
public class UserGridRelationServiceImpl extends BaseServiceImpl<UserGridRelationDao, UserGridRelationEntity> implements UserGridRelationService {
@Override
public PageData<UserGridRelationDTO> page(Map<String, Object> params) {
IPage<UserGridRelationEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, UserGridRelationDTO.class);
}
@Override
public List<UserGridRelationDTO> list(Map<String, Object> params) {
List<UserGridRelationEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, UserGridRelationDTO.class);
}
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);
return wrapper;
}
@Override
public UserGridRelationDTO get(String id) {
UserGridRelationEntity entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, UserGridRelationDTO.class);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(UserGridRelationDTO dto) {
UserGridRelationEntity entity = ConvertUtils.sourceToTarget(dto, UserGridRelationEntity.class);
insert(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(UserGridRelationDTO dto) {
UserGridRelationEntity entity = ConvertUtils.sourceToTarget(dto, UserGridRelationEntity.class);
updateById(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
}
}

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

@ -26,6 +26,7 @@ import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
import com.elink.esua.epdc.commons.tools.constant.NumConstant;
import com.elink.esua.epdc.commons.tools.enums.YesOrNoEnum;
import com.elink.esua.epdc.commons.tools.exception.RenException;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.security.user.SecurityUser;
import com.elink.esua.epdc.commons.tools.security.user.UserDetail;
@ -35,14 +36,18 @@ import com.elink.esua.epdc.constant.UserFieldConsant;
import com.elink.esua.epdc.dao.UserDao;
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.EpdcUserRegistFormDTO;
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;
import com.elink.esua.epdc.entity.UserGridRelationEntity;
import com.elink.esua.epdc.enums.AppUserAuditStateEnum;
import com.elink.esua.epdc.redis.UserRedis;
import com.elink.esua.epdc.service.PartyMembersService;
import com.elink.esua.epdc.service.UserGridRelationService;
import com.elink.esua.epdc.service.UserService;
import com.elink.esua.epdc.service.UserTagRelationService;
import org.apache.commons.lang3.StringUtils;
@ -305,4 +310,35 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
EpdcUserRegisterAuditMsgResultDTO dto = this.baseDao.getUserRegisterAuditResult(userId);
return new Result().ok(dto);
}
@Autowired
private UserGridRelationService userGridRelationService;
@Override
@Transactional(rollbackFor = Exception.class)
public Result<UserDTO> gridLeaderRegister(EpdcGridLeaderRegisterDTO registerDto) {
UserDTO userDto = registerDto.getUserDto();
UserEntity userEntity = ConvertUtils.sourceToTarget(userDto, UserEntity.class);
boolean insertUser = insert(userEntity);
String userId = userEntity.getId();
List<UserGridRelationDTO> userGridList = registerDto.getUserGridList();
for (UserGridRelationDTO dto : userGridList) {
dto.setUserId(userId);
}
List<UserGridRelationEntity> userGridRelationEntityList = ConvertUtils.sourceToTarget(userGridList, UserGridRelationEntity.class);
boolean insertRelation = userGridRelationService.insertBatch(userGridRelationEntityList);
if (!insertUser || !insertRelation) {
throw new RenException("注册失败");
}
UserGridRelationDTO userGridRelationDto = userGridList.get(NumConstant.ZERO);
userDto.setId(userId);
userDto.setGridId(userGridRelationDto.getGridId());
userDto.setGrid(userGridRelationDto.getGrid());
return new Result<UserDTO>().ok(userDto);
}
}

8
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserGridRelationDao.xml

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.elink.esua.epdc.dao.UserGridRelationDao">
</mapper>
Loading…
Cancel
Save