Browse Source

自动注册调整

dev
yinzuomei 3 years ago
parent
commit
77bf19bde8
  1. 27
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/DingAutoRegResDTO.java
  2. 6
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserResiInfoController.java
  3. 3
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserResiInfoService.java
  4. 29
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserResiInfoServiceImpl.java

27
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/DingAutoRegResDTO.java

@ -0,0 +1,27 @@
package com.epmet.dto.result;
import lombok.Data;
/**
* @Description
* @Author yzm
* @Date 2022/9/15 14:31
*/
@Data
public class DingAutoRegResDTO {
private String customerId;
private String gridId;
/**
* 网格名
*/
private String gridName;
/**
* 网格所属的组织id
*/
private String agencyId;
/**
* 居民端用户id
*/
private String epmetUserId;
}

6
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserResiInfoController.java

@ -29,6 +29,7 @@ import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.dto.UserResiInfoDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.DingAutoRegResDTO;
import com.epmet.dto.result.IssueInitiatorResultDTO;
import com.epmet.dto.result.StaffAndResiResultDTO;
import com.epmet.dto.result.UserResiInfoResultDTO;
@ -253,12 +254,11 @@ public class UserResiInfoController {
* @Date 2022/9/14 15:34
*/
@PostMapping("autoreguser-ding")
public Result autoRegister(@LoginUser TokenDto tokenDto, @RequestBody UserResiInfoDTO userResiInfoDTO) {
public Result<DingAutoRegResDTO> autoRegister(@LoginUser TokenDto tokenDto, @RequestBody UserResiInfoDTO userResiInfoDTO) {
userResiInfoDTO.setCustomerId(tokenDto.getCustomerId());
userResiInfoDTO.setUserId(tokenDto.getUserId());
userResiInfoDTO.setApp(tokenDto.getApp());
userResiInfoService.autoRegister(userResiInfoDTO);
return new Result();
return new Result<DingAutoRegResDTO>().ok( userResiInfoService.autoRegister(userResiInfoDTO));
}
}

3
epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserResiInfoService.java

@ -22,6 +22,7 @@ import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.UserResiInfoDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.DingAutoRegResDTO;
import com.epmet.dto.result.IssueInitiatorResultDTO;
import com.epmet.dto.result.StaffAndResiResultDTO;
import com.epmet.dto.result.UserResiInfoResultDTO;
@ -221,6 +222,6 @@ public interface UserResiInfoService extends BaseService<UserResiInfoEntity> {
* @Author zhaoqifeng
* @Date 2022/9/14 14:19
*/
void autoRegister(UserResiInfoDTO userResiInfoDTO);
DingAutoRegResDTO autoRegister(UserResiInfoDTO userResiInfoDTO);
}

29
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserResiInfoServiceImpl.java

@ -109,6 +109,8 @@ public class UserResiInfoServiceImpl extends BaseServiceImpl<UserResiInfoDao, Us
private GridLatestDao gridLatestDao;
@Resource
private UserResiRegisterVisitDao userResiRegisterVisitDao;
@Autowired
private RegisterRelationDao registerRelationDao;
@Override
public PageData<UserResiInfoDTO> page(Map<String, Object> params) {
@ -565,7 +567,10 @@ public class UserResiInfoServiceImpl extends BaseServiceImpl<UserResiInfoDao, Us
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void autoRegister(UserResiInfoDTO userResiInfoDTO) {
public DingAutoRegResDTO autoRegister(UserResiInfoDTO userResiInfoDTO) {
DingAutoRegResDTO resDTO=new DingAutoRegResDTO();
resDTO.setEpmetUserId(userResiInfoDTO.getUserId());
GridInfoCache gridInfo = CustomerOrgRedis.getGridInfo(userResiInfoDTO.getGridId());
if (null == gridInfo) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取网格信息失败", "获取网格信息失败");
@ -573,6 +578,10 @@ public class UserResiInfoServiceImpl extends BaseServiceImpl<UserResiInfoDao, Us
//判断是否是居民
UserRoleResultDTO role = userRoleService.getUserResidentRole(userResiInfoDTO.getCustomerId(), userResiInfoDTO.getUserId());
if (null == role) {
resDTO.setGridId(userResiInfoDTO.getGridId());
resDTO.setGridName(gridInfo.getGridName());
resDTO.setAgencyId(gridInfo.getPid());
//获取钉钉用户信息
ResiUserInfoCache userInfo = userBaseInfoService.getUserInfo(userResiInfoDTO.getUserId());
//1:visit表添加数据
@ -614,7 +623,22 @@ public class UserResiInfoServiceImpl extends BaseServiceImpl<UserResiInfoDao, Us
userBaseInfoService.insertOrUpdate(baseInfo);
//5:记录用户的注册网格register_relation
registerRelationService.saveRegisterRelation(userResiInfoDTO);
}else{
//已经是注册居民了
LambdaQueryWrapper<RegisterRelationEntity> registerWrapper = new LambdaQueryWrapper<>();
registerWrapper.eq(RegisterRelationEntity::getCustomerId, userResiInfoDTO.getCustomerId());
registerWrapper.eq(RegisterRelationEntity::getUserId, userResiInfoDTO.getUserId());
registerWrapper.eq(RegisterRelationEntity::getFirstRegister, NumConstant.ONE_STR);
RegisterRelationEntity registerRelation = registerRelationDao.selectOne(registerWrapper);
if (null != registerRelation) {
resDTO.setGridId(registerRelation.getGridId());
GridInfoCache regGridInfo = CustomerOrgRedis.getGridInfo(registerRelation.getGridId());
if (null == regGridInfo) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取注册网格信息失败", "获取注册网格信息失败");
}
resDTO.setGridName(regGridInfo.getGridName());
resDTO.setAgencyId(regGridInfo.getPid());
}
}
//6:记录用户访问的网格grid_latest
LambdaQueryWrapper<GridLatestEntity> latestWrapper = new LambdaQueryWrapper<>();
@ -637,6 +661,7 @@ public class UserResiInfoServiceImpl extends BaseServiceImpl<UserResiInfoDao, Us
latestEntity.setLatestTime(new Date());
gridLatestDao.updateById(latestEntity);
}
return resDTO;
}
/**

Loading…
Cancel
Save