diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java index d64f5035ff..7d4a258ccb 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java @@ -39,4 +39,15 @@ public interface GovOrgFeignClient { @PostMapping("/gov/org/customerstaffgrid/getgridstaffs") Result> getGridStaffs(@RequestBody CommonGridIdFormDTO gridIdFormDTO); + /** + * desc: 获取网格基础数据 + * + * @param customerGridFormDTO + * @return com.epmet.commons.tools.utils.Result + * @author LiuJanJun + * @date 2021/4/19 11:19 上午 + */ + @PostMapping("/gov/org/grid/getbaseinfo") + Result getGridBaseInfoByGridId(CustomerGridFormDTO customerGridFormDTO); + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java index 20cc39ddcd..2fbcf49452 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java @@ -28,4 +28,9 @@ public class GovOrgFeignClientFallBack implements GovOrgFeignClient { public Result> getGridStaffs(CommonGridIdFormDTO gridIdFormDTO) { return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getGridStaffs", gridIdFormDTO); } + + @Override + public Result getGridBaseInfoByGridId(CustomerGridFormDTO customerGridFormDTO) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getGridBaseInfoByGridId", customerGridFormDTO); + } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/RegisterRelationServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/RegisterRelationServiceImpl.java index ca7b3db589..99120a52ef 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/RegisterRelationServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/RegisterRelationServiceImpl.java @@ -26,6 +26,7 @@ import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; +import com.epmet.constant.UserConstant; import com.epmet.constant.UserCustomerConstant; import com.epmet.dao.*; import com.epmet.dto.CustomerGridDTO; @@ -38,12 +39,10 @@ import com.epmet.dto.result.UserResiInfoResultDTO; import com.epmet.dto.result.UserRoleResultDTO; import com.epmet.entity.RegisterRelationEntity; import com.epmet.entity.UserCustomerEntity; -import com.epmet.entity.UserWechatEntity; import com.epmet.feign.GovOrgFeignClient; import com.epmet.service.GridVisitedService; import com.epmet.service.RegisterRelationService; import com.epmet.util.ModuleConstant; -import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -61,13 +60,15 @@ import java.util.*; */ @Service public class RegisterRelationServiceImpl extends BaseServiceImpl implements RegisterRelationService { +// private static ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() +// .setNameFormat("registerRelationService-pool-%d").build(); +// private static final ExecutorService threadPool = new ThreadPoolExecutor(2, 3, +// 0L, TimeUnit.MILLISECONDS, +// new ArrayBlockingQueue(1), namedThreadFactory, new ThreadPoolExecutor.CallerRunsPolicy()); private static final Logger log = LoggerFactory.getLogger(RegisterRelationServiceImpl.class); - @Autowired - private UserWechatDao userWechatDao; - @Autowired private UserResiInfoDao userResiInfoDao; @@ -159,7 +160,6 @@ public class RegisterRelationServiceImpl extends BaseServiceImpl strangerWechatInfo = userWechatDao.selectByUserId(enterGridFormDTO.getUserId()); UserBaseInfoResultDTO strangerInfo = userBaseInfoDao.selectListByUserIdList(enterGridFormDTO.getUserId()); if(null != strangerInfo){ resultObj.setNickname(strangerInfo.getNickname()); @@ -176,6 +176,18 @@ public class RegisterRelationServiceImpl extends BaseServiceImpl futureUserRole = threadPool.submit(() -> { +// +// return true; +// }); + setUserRoleList(enterGridFormDTO, resultObj); + setGridName(resultObj, gridId); + //setUserRoleList(enterGridFormDTO, resultObj); + //setGridName(resultObj, gridId); + + //4.去网格表中查询网格对应的名称 + //Future futureGridName = threadPool.submit(() -> setGridName(resultObj, gridId)); //1.查找用户注册关系表,如果没有表示当前用户为陌生人(拉取用户微信表信息),如果有表示当前用户已经进行居民认证 if(null == registerRecords || registerRecords.size() <= 0){ @@ -231,11 +243,6 @@ public class RegisterRelationServiceImpl extends BaseServiceImpl UserResiRegisterVisitRecord = - // userResiRegisterVisitDao.selectUserResiRegisterVisit(userResiRegisterVisitDTO); } } } @@ -259,61 +266,80 @@ public class RegisterRelationServiceImpl extends BaseServiceImpl roleList = userRoleDao.getUserRoleInfo(userRoleFormDTO); - List roleListString = new ArrayList<>(); - for(UserRoleResultDTO role : roleList){ - roleListString.add(role.getRoleKey()); + + + result.setData(resultObj); + + VisitedFormDTO visitedFormDTO = setShowNameAndBuildVistedRecord(enterGridFormDTO, resultObj, strangerInfo); + + + if(!gridVisitedService.saveVisitedRecord(visitedFormDTO).success()){ + log.warn(ModuleConstant.SAVE_VISITED_RECORD_FAILURE); } - resultObj.setUserRoleList(roleListString); +// try { +// futureUserRole.get(); +// } catch (Exception e) { +// log.error("thread get result exception",e); +// } - //4.去网格表中查询网格对应的名称 + return result; + } + + /** + * 设置showName 并返回构建的 访问记录DTO + */ + private VisitedFormDTO setShowNameAndBuildVistedRecord(EnterGridFormDTO enterGridFormDTO, UserInfoOnEnterGridResultDTO resultObj, UserBaseInfoResultDTO strangerInfo) { + VisitedFormDTO visitedFormDTO = new VisitedFormDTO(); + visitedFormDTO.setGridId(enterGridFormDTO.getGridId()); + visitedFormDTO.setCustomerId(enterGridFormDTO.getCustomerId()); + visitedFormDTO.setUserId(enterGridFormDTO.getUserId()); + visitedFormDTO.setIsReg(NumConstant.ZERO_STR); + resultObj.setUserStreetName(StrConstant.EPMETY_STR); + if (strangerInfo != null){ + if (StringUtils.isNotBlank(strangerInfo.getStreet()) && StringUtils.isNotBlank(strangerInfo.getSurname())){ + String gender = null; + if (NumConstant.ONE_STR.equals(strangerInfo.getGender())) { + gender = UserConstant.MAN; + } else if (NumConstant.TWO_STR.equals(strangerInfo.getGender())) { + gender = UserConstant.WOMAN; + } else { + gender = UserConstant.MAN_WOMAN; + } + String leaderName = strangerInfo.getStreet().concat(StrConstant.HYPHEN).concat(strangerInfo.getSurname()).concat(gender); + resultObj.setUserStreetName(leaderName); + visitedFormDTO.setIsReg(NumConstant.ONE_STR); + } + } + + return visitedFormDTO; + } + + private boolean setGridName(UserInfoOnEnterGridResultDTO resultObj, String gridId) { CustomerGridFormDTO customerGridFormDTO = new CustomerGridFormDTO(); customerGridFormDTO.setGridId(gridId); - Result gridDTOResult = - govOrgFeignClient.getCustomerGridByGridId(customerGridFormDTO); + Result gridDTOResult = govOrgFeignClient.getGridBaseInfoByGridId(customerGridFormDTO); if(gridDTOResult.success() && null != gridDTOResult.getData()){ resultObj.setCurrentGridName(gridDTOResult.getData().getGridName()); }else{ //查询网格名称失败 log.warn(String.format("查找网格信息失败,网格Id:【%s】",gridId)); + return false; } + return true; + } - /*Result customerResult = - operCrmFeignClient.get(enterGridFormDTO.getCustomerId()); - if(customerResult.success() && null != customerResult.getData() && StringUtils.isNotBlank(customerResult.getData().getCustomerName())){ - resultObj.setCurrentCustomerName(customerResult.getData().getCustomerName()); - }else{ - log.warn(ModuleConstant.CUSTOMER_INFO_NOT_FOUND); - }*/ - - result.setData(resultObj); - - VisitedFormDTO visitedFormDTO = new VisitedFormDTO(); - visitedFormDTO.setGridId(enterGridFormDTO.getGridId()); - visitedFormDTO.setCustomerId(enterGridFormDTO.getCustomerId()); - visitedFormDTO.setUserId(enterGridFormDTO.getUserId()); - UserResiInfoFormDTO userResiParam = new UserResiInfoFormDTO(); - userResiParam.setUserId(enterGridFormDTO.getUserId()); - userResiParam.setCustomerId(enterGridFormDTO.getCustomerId()); - UserResiInfoResultDTO resiResult = - userResiInfoDao.selectUserResiInfoDTO(userResiParam); - if(null == resiResult){ - visitedFormDTO.setIsReg(NumConstant.ZERO_STR); - resultObj.setUserStreetName(ModuleConstant.EMPTY_STR); - }else{ - visitedFormDTO.setIsReg(NumConstant.ONE_STR); - resultObj.setUserStreetName(resiResult.getShowName()); - } - if(!gridVisitedService.saveVisitedRecord(visitedFormDTO).success()){ - log.warn(ModuleConstant.SAVE_VISITED_RECORD_FAILURE); + private boolean setUserRoleList(EnterGridFormDTO enterGridFormDTO, UserInfoOnEnterGridResultDTO resultObj) { + UserRoleFormDTO userRoleFormDTO = new UserRoleFormDTO(); + userRoleFormDTO.setUserId(enterGridFormDTO.getUserId()); + userRoleFormDTO.setCustomerId(enterGridFormDTO.getCustomerId()); + userRoleFormDTO.setGridId(enterGridFormDTO.getGridId()); + List roleList = userRoleDao.getUserRoleInfo(userRoleFormDTO); + List roleListString = new ArrayList<>(); + for(UserRoleResultDTO role : roleList){ + roleListString.add(role.getRoleKey()); } - - return result; + resultObj.setUserRoleList(roleListString); + return true; } /** diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/RegisterRelationDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/RegisterRelationDao.xml index c3f7bf7682..f6e9b17e34 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/RegisterRelationDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/RegisterRelationDao.xml @@ -20,8 +20,13 @@ - \ No newline at end of file + diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/UserBaseInfoDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/UserBaseInfoDao.xml index 260fe0db93..8c664e678e 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/UserBaseInfoDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/UserBaseInfoDao.xml @@ -44,8 +44,8 @@ FROM user_base_info ubi WHERE - ubi.DEL_FLAG = '0' - AND ubi.USER_ID = #{userId} + ubi.USER_ID = #{userId} + AND ubi.DEL_FLAG = '0'