diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcUserRoleResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcUserRoleResultDTO.java new file mode 100644 index 0000000000..cfcd9da6aa --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcUserRoleResultDTO.java @@ -0,0 +1,19 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description + * @Author zhaoqifeng + * @Date 2022/5/31 9:44 + */ +@Data +public class IcUserRoleResultDTO implements Serializable { + private static final long serialVersionUID = 6755574567711827403L; + /** + * 是否是志愿者0否,1是 + */ + private String isVolunteer; +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java index 284d4f691c..ed4f055713 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java @@ -1147,4 +1147,18 @@ public class IcResiUserController implements ResultDataResolver { formDTO.setCustomerId(tokenDto.getCustomerId()); return new Result().ok(icResiUserService.getUserByIdCard(formDTO)); } + + /** + * 根据身份证获取居民角色(目前只有是否是志愿者) + * @Param tokenDto + * @Param formDTO + * @Return {@link Result} + * @Author zhaoqifeng + * @Date 2022/5/31 9:47 + */ + @PostMapping("getUserRoleByIdCard") + public Result getUserRoleByIdCard(@LoginUser TokenDto tokenDto, @RequestBody IcResiUserDTO formDTO) { + formDTO.setCustomerId(tokenDto.getCustomerId()); + return new Result().ok(icResiUserService.getUserRoleByIdCard(formDTO)); + } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java index 561ddf9e2b..ff0c9302be 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java @@ -374,4 +374,14 @@ public interface IcResiUserService extends BaseService { * @Date 2022/5/20 9:59 */ IcResiUserInfoDTO getUserByIdCard(IcResiUserDTO formDTO); + + /** + * 根据身份证获取居民角色(目前只有是否是志愿者) + * + * @Param formDTO + * @Return {@link IcUserRoleResultDTO} + * @Author zhaoqifeng + * @Date 2022/5/31 9:50 + */ + IcUserRoleResultDTO getUserRoleByIdCard(IcResiUserDTO formDTO); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java index 665653b1d8..dc8db276b8 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java @@ -50,6 +50,7 @@ import com.epmet.constant.UserConstant; import com.epmet.dao.IcPartyMemberDao; import com.epmet.dao.IcResiUserDao; import com.epmet.dao.IcVolunteerDao; +import com.epmet.dao.UserBaseInfoDao; import com.epmet.dto.*; import com.epmet.dto.form.*; import com.epmet.dto.form.demand.UserDemandNameQueryFormDTO; @@ -139,6 +140,10 @@ public class IcResiUserServiceImpl extends BaseServiceImpl getWrapper(Map params) { String id = (String) params.get(FieldConstant.ID_HUMP); @@ -2261,6 +2266,42 @@ public class IcResiUserServiceImpl extends BaseServiceImpl baseInfoWrapper = new LambdaQueryWrapper<>(); + baseInfoWrapper.eq(UserBaseInfoEntity::getCustomerId, formDTO.getCustomerId()); + baseInfoWrapper.eq(UserBaseInfoEntity::getIdNum, formDTO.getIdCard()); + List baseInfoList = userBaseInfoDao.selectList(baseInfoWrapper); + if (CollectionUtils.isNotEmpty(baseInfoList)) { + for (UserBaseInfoEntity baseInfo : baseInfoList) { + //获取志愿者信息 + Result volunteerResult = epmetHeartOpenFeignClient.queryUserVolunteerInfo(baseInfo.getUserId()); + if (!volunteerResult.success()) { + log.error("志愿者变更-获取小程序志愿者失败"); + continue; + } + if (null != volunteerResult.getData()) { + result.setIsVolunteer(NumConstant.ONE_STR); + break; + } + } + } + + return result; + } + /** * desc:根据字段值获取 options * @param customerId diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVolunteerPolyServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVolunteerPolyServiceImpl.java index c2de05f566..f2477ae314 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVolunteerPolyServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVolunteerPolyServiceImpl.java @@ -355,13 +355,15 @@ public class IcVolunteerPolyServiceImpl extends BaseServiceImpl baseInfoWrapper = new LambdaQueryWrapper<>(); baseInfoWrapper.eq(UserBaseInfoEntity::getCustomerId, customerId); baseInfoWrapper.eq(UserBaseInfoEntity::getIdNum, icUser.getIdCard()); - UserBaseInfoEntity baseInfo = userBaseInfoDao.selectOne(baseInfoWrapper); - if (null != baseInfo) { - ResiVolunteerAuthenticateFormDTO formDTO = new ResiVolunteerAuthenticateFormDTO(); - formDTO.setCustomerId(customerId); - formDTO.setUserId(baseInfo.getUserId()); - formDTO.setGridId(icUser.getGridId()); - epmetHeartOpenFeignClient.addVolunteer(formDTO); + List baseInfoList = userBaseInfoDao.selectList(baseInfoWrapper); + if (CollectionUtils.isNotEmpty(baseInfoList)) { + baseInfoList.forEach(baseInfo -> { + ResiVolunteerAuthenticateFormDTO formDTO = new ResiVolunteerAuthenticateFormDTO(); + formDTO.setCustomerId(customerId); + formDTO.setUserId(baseInfo.getUserId()); + formDTO.setGridId(icUser.getGridId()); + epmetHeartOpenFeignClient.addVolunteer(formDTO); + }); } } else { if (!isDyzxh) {