From 227a37c16d5dcd3471547af905b8d7b05459c987 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Tue, 29 Mar 2022 19:57:38 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E8=A1=8C=E7=A8=8B=E4=B8=8A=E6=8A=A5?= =?UTF-8?q?=E4=B8=8B=E8=BD=BD=E6=A8=A1=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/constant/IcResiUserConstant.java | 5 +- .../com/epmet/dto/IcTripReportRecordDTO.java | 2 +- .../epmet/dto/form/IcTripReportFormDTO.java | 39 +++++---- .../IcTripReportRecordController.java | 77 ++++++++++++----- .../com/epmet/dao/IcTripReportRecordDao.java | 9 ++ .../entity/IcTripReportRecordEntity.java | 2 +- .../service/IcTripReportRecordService.java | 16 +--- .../impl/IcTripReportRecordServiceImpl.java | 80 ++++++++++++------ .../migration/V0.0.28__modify_trip_report.sql | 2 + .../excel/trip_report_import_template.xlsx | Bin 0 -> 9319 bytes .../mapper/IcTripReportRecordDao.xml | 11 +++ 11 files changed, 166 insertions(+), 77 deletions(-) create mode 100644 epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.28__modify_trip_report.sql create mode 100644 epmet-user/epmet-user-server/src/main/resources/excel/trip_report_import_template.xlsx diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/constant/IcResiUserConstant.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/constant/IcResiUserConstant.java index 4d956d1fca..84a00be746 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/constant/IcResiUserConstant.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/constant/IcResiUserConstant.java @@ -9,9 +9,10 @@ public interface IcResiUserConstant { String IC_RESI_USER = "ic_resi_user"; /** - * 居民端小程序的人:resi;数字社区的居民:icresi;未关联上的:other + * 居民端小程序的人:resi;数字社区的居民:icresi;单独录入:input; 导入:import */ String USER_TYPE_RESI="resi"; String USER_TYPE_IC_RESI="icresi"; - String USER_TYPE_OTHER="other"; + String USER_TYPE_INPUT="input"; + String USER_TYPE_IMPORT="import"; } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcTripReportRecordDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcTripReportRecordDTO.java index 1b7fc83684..deb2abaed1 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcTripReportRecordDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcTripReportRecordDTO.java @@ -64,7 +64,7 @@ public class IcTripReportRecordDTO implements Serializable { private String userId; /** - * 居民端小程序的人:resi;数字社区的居民:icresi;未关联上的:other + * 居民端小程序的人:resi;数字社区的居民:icresi;单独录入:input; 导入:import */ private String userType; diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcTripReportFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcTripReportFormDTO.java index 45fc03e76b..f8d6f90ef7 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcTripReportFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcTripReportFormDTO.java @@ -24,12 +24,19 @@ public class IcTripReportFormDTO implements Serializable { public interface ResiUserRequired extends CustomerClientShowGroup { } - public interface PcInternalGroup { + public interface PcAddOrUpdateInternalGroup { } - public interface PcRequired extends CustomerClientShowGroup { + public interface PcAddRequired extends CustomerClientShowGroup { } public interface IcResiInternalGroup { } + + public interface PcUpdateRequired extends CustomerClientShowGroup { + } + + @NotBlank(message = "主键不能为空", groups = {PcUpdateRequired.class}) + private String id; + /** * 客户Id */ @@ -38,54 +45,54 @@ public class IcTripReportFormDTO implements Serializable { /** * 姓名 */ - @NotBlank(message = "姓名不能为空", groups = {ResiUserRequired.class,PcRequired.class}) + @NotBlank(message = "姓名不能为空", groups = {ResiUserRequired.class,PcAddRequired.class,PcUpdateRequired.class}) private String name; /** * 手机号 */ - @NotBlank(message = "手机号不能为空", groups = {ResiUserRequired.class,PcRequired.class}) + @NotBlank(message = "手机号不能为空", groups = {ResiUserRequired.class,PcAddRequired.class,PcUpdateRequired.class}) private String mobile; /** * 身份证号 */ - @NotBlank(message = "身份证号不能为空", groups = {ResiUserRequired.class,PcRequired.class}) + @NotBlank(message = "身份证号不能为空", groups = {ResiUserRequired.class,PcAddRequired.class,PcUpdateRequired.class}) private String idCard; /** * 是否添加到核算检测关注名单,true加入;默认false不加入 */ - @NotNull(message = "是否添加到核算检测关注名单", groups = {PcRequired.class}) + @NotNull(message = "是否添加到核算检测关注名单", groups = {PcAddRequired.class,PcUpdateRequired.class}) private Boolean heSuanCheck; /** * 现居地编码 */ - @NotBlank(message = "现居地编码不能为空", groups = {ResiUserRequired.class,PcRequired.class}) + @NotBlank(message = "现居地编码不能为空", groups = {ResiUserRequired.class,PcAddRequired.class,PcUpdateRequired.class}) private String presentAddressCode; /** * 现居地名称eg:山东省青岛市黄岛区玫瑰山路社区 */ - @NotBlank(message = "现居地名称不能为空", groups = {ResiUserRequired.class,PcRequired.class}) + @NotBlank(message = "现居地名称不能为空", groups = {ResiUserRequired.class,PcAddRequired.class,PcUpdateRequired.class}) private String presentAddress; /** * 详细地址 */ - @NotBlank(message = "详细地址不能为空", groups = {ResiUserRequired.class,PcRequired.class}) + @NotBlank(message = "详细地址不能为空", groups = {ResiUserRequired.class,PcAddRequired.class,PcUpdateRequired.class}) private String detailAddress; /** * 来源地区编码 */ - @NotBlank(message = "来自地区编码不能为空", groups = {ResiUserRequired.class,PcRequired.class}) + @NotBlank(message = "来自地区编码不能为空", groups = {ResiUserRequired.class,PcAddRequired.class,PcUpdateRequired.class}) private String sourceAddressCode; /** * 来源地区地址 */ - @NotBlank(message = "来自地区名称不能为空", groups = {ResiUserRequired.class,PcRequired.class}) + @NotBlank(message = "来自地区名称不能为空", groups = {ResiUserRequired.class,PcAddRequired.class,PcUpdateRequired.class}) private String sourceAddress; /** @@ -93,7 +100,7 @@ public class IcTripReportFormDTO implements Serializable { */ @DateTimeFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd") - @NotNull(message = "来到本地时间不能为空", groups = {ResiUserRequired.class,PcRequired.class}) + @NotNull(message = "来到本地时间不能为空", groups = {ResiUserRequired.class,PcAddRequired.class,PcUpdateRequired.class}) private Date arriveDate; /** @@ -106,7 +113,7 @@ public class IcTripReportFormDTO implements Serializable { /** * 备注信息 */ - @Length(max = 500, message = "备注最多可输入500字", groups = {ResiUserRequired.class,PcRequired.class}) + @Length(max = 500, message = "备注最多可输入500字", groups = {ResiUserRequired.class,PcAddRequired.class,PcUpdateRequired.class}) private String remark; @@ -127,11 +134,11 @@ public class IcTripReportFormDTO implements Serializable { private String userId; /** - * 居民端小程序的人:resi;数字社区的居民:icresi;未关联上的:other - * 居民端上报是后端赋值; + * 居民端小程序的人:resi;数字社区的居民:icresi;单独录入:input; 导入:import + * 居民端上报是后端赋值;导入后端赋值 * pc录入是前端赋值 */ - @NotBlank(message = "数字社区的居民:icresi;其他:other", groups = {PcInternalGroup.class}) + @NotBlank(message = "数字社区的居民:icresi;其他:other", groups = {PcAddOrUpdateInternalGroup.class}) private String userType; /** diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java index 0e7ee6b100..36d1c39e53 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java @@ -6,19 +6,24 @@ import com.epmet.commons.tools.dto.form.PageFormDTO; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; -import com.epmet.commons.tools.validator.AssertUtils; import com.epmet.commons.tools.validator.ValidatorUtils; -import com.epmet.commons.tools.validator.group.DefaultGroup; -import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.constant.IcResiUserConstant; import com.epmet.dto.IcTripReportRecordDTO; import com.epmet.dto.form.IcTripReportFormDTO; import com.epmet.dto.form.MyReportedTripFormDTO; import com.epmet.dto.form.PageTripReportFormDTO; import com.epmet.service.IcTripReportRecordService; +import org.apache.commons.io.IOUtils; +import org.apache.commons.lang3.ArrayUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpHeaders; import org.springframework.web.bind.annotation.*; +import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.InputStream; +import java.net.URLEncoder; import java.util.List; @@ -50,12 +55,6 @@ public class IcTripReportRecordController { return new Result>().ok(page); } - @RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET}) - public Result get(@PathVariable("id") String id){ - IcTripReportRecordDTO data = icTripReportRecordService.get(id); - return new Result().ok(data); - } - /** * pc: 行程上报-新增 * @param formDTO @@ -66,7 +65,7 @@ public class IcTripReportRecordController { public Result save(@LoginUser TokenDto tokenDto,@RequestBody IcTripReportFormDTO formDTO){ formDTO.setCustomerId(tokenDto.getCustomerId()); formDTO.setCurrentStaffId(tokenDto.getUserId()); - ValidatorUtils.validateEntity(formDTO,IcTripReportFormDTO.PcRequired.class,IcTripReportFormDTO.PcInternalGroup.class); + ValidatorUtils.validateEntity(formDTO,IcTripReportFormDTO.PcAddRequired.class,IcTripReportFormDTO.PcAddOrUpdateInternalGroup.class); if(IcResiUserConstant.USER_TYPE_IC_RESI.equals(formDTO.getUserType())){ ValidatorUtils.validateEntity(formDTO,IcTripReportFormDTO.IcResiInternalGroup.class); } @@ -74,20 +73,35 @@ public class IcTripReportRecordController { return new Result().ok(id); } + /** + * pc: 行程上报-修改 + * @param formDTO + * @return + */ @NoRepeatSubmit @PostMapping("update") - public Result update(@RequestBody IcTripReportRecordDTO dto){ - //效验数据 - ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); - icTripReportRecordService.update(dto); - return new Result(); + public Result update(@LoginUser TokenDto tokenDto,@RequestBody IcTripReportFormDTO formDTO){ + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setCurrentStaffId(tokenDto.getUserId()); + ValidatorUtils.validateEntity(formDTO,IcTripReportFormDTO.PcUpdateRequired.class,IcTripReportFormDTO.PcAddOrUpdateInternalGroup.class); + if(IcResiUserConstant.USER_TYPE_IC_RESI.equals(formDTO.getUserType())){ + ValidatorUtils.validateEntity(formDTO,IcTripReportFormDTO.IcResiInternalGroup.class); + } + return new Result().ok(icTripReportRecordService.update(formDTO)); } + /** + * pc:行程上报-删除 + * + * @param ids + * @return + */ @PostMapping("delete") - public Result delete(@RequestBody String[] ids){ - //效验数据 - AssertUtils.isArrayEmpty(ids, "id"); - icTripReportRecordService.delete(ids); + public Result delete(@LoginUser TokenDto tokenDto, @RequestBody String[] ids) { + if (ArrayUtils.isEmpty(ids)) { + return new Result(); + } + icTripReportRecordService.delete(tokenDto.getCustomerId(),tokenDto.getUserId(),ids); return new Result(); } @@ -119,4 +133,29 @@ public class IcTripReportRecordController { return new Result>().ok(icTripReportRecordService.resiList(formDTO)); } + /** + * pc:行程上报-下载模板 + * @param response + * @throws IOException + */ + @RequestMapping(value = "template-download", method = {RequestMethod.GET, RequestMethod.POST}) + public void downloadTemplate(HttpServletResponse response) throws IOException { + response.setCharacterEncoding("UTF-8"); + response.addHeader(HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS, "Content-Disposition"); + //response.setHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.ms-excel"); + response.setHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode("行程上报导入模板", "UTF-8") + ".xlsx"); + + InputStream is = this.getClass().getClassLoader().getResourceAsStream("excel/trip_report_import_template.xlsx"); + try { + ServletOutputStream os = response.getOutputStream(); + IOUtils.copy(is, os); + } finally { + if (is != null) { + is.close(); + } + } + } + + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcTripReportRecordDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcTripReportRecordDao.java index e310dbc208..6d98de7a80 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcTripReportRecordDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcTripReportRecordDao.java @@ -33,4 +33,13 @@ public interface IcTripReportRecordDao extends BaseDao * @return */ List pageList(PageTripReportFormDTO formDTO); + + /** + * pc:行程上报-删除 + * @param userId + * @param agencyId + * @param ids + * @return + */ + int batchDel(@Param("userId")String userId,@Param("agencyId")String agencyId, @Param("ids")String[] ids); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcTripReportRecordEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcTripReportRecordEntity.java index a74f25b6f4..0b7d4fd4fd 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcTripReportRecordEntity.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcTripReportRecordEntity.java @@ -62,7 +62,7 @@ public class IcTripReportRecordEntity extends BaseEpmetEntity { private String userId; /** - * 居民端小程序的人:resi;数字社区的居民:icresi;未关联上的:other + * 居民端小程序的人:resi;数字社区的居民:icresi;单独录入:input; 导入:import */ private String userType; diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcTripReportRecordService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcTripReportRecordService.java index 5c8142cfbe..bc19691e60 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcTripReportRecordService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcTripReportRecordService.java @@ -39,16 +39,6 @@ public interface IcTripReportRecordService extends BaseService list(Map params); - /** - * 单条查询 - * - * @param id - * @return IcTripReportRecordDTO - * @author generator - * @date 2022-03-25 - */ - IcTripReportRecordDTO get(String id); - /** * pc: 行程上报-新增 * @@ -67,17 +57,17 @@ public interface IcTripReportRecordService extends BaseService implements IcTripReportRecordService { @Autowired @@ -108,12 +110,6 @@ public class IcTripReportRecordServiceImpl extends BaseServiceImpl NumConstant.ZERO && StringUtils.isNotBlank(formDTO.getContent())) { - SendNoticeFormDTO dto = new SendNoticeFormDTO(); - List userList = new ArrayList<>(); - //注意这里的userId是指的pc平台的居民 - userList.add(ConvertUtils.sourceToTarget(formDTO, SendNoticeFormDTO.UserListBean.class)); - dto.setCustomerId(formDTO.getCustomerId()); - dto.setUserList(userList); - dto.setChannel(formDTO.getChannel()); - //通知来源 0 行程上报,1 疫苗接种,2 核酸检测 - dto.setOrigin(NumConstant.ZERO_STR); - dto.setContent(formDTO.getContent()); - dto.setOrgName(agencyInfoCache.getOrganizationName()); - icNoticeService.sendNotice(dto); + sendNotice(formDTO,agencyInfoCache.getOrganizationName()); } return entity.getId(); } /** - * 加入核算检测关注 + * 行程上报-发送通知 + * @param formDTO + */ + private void sendNotice(IcTripReportFormDTO formDTO,String agencyName) { + SendNoticeFormDTO dto = new SendNoticeFormDTO(); + List userList = new ArrayList<>(); + //注意这里的userId是指的pc平台的居民 + userList.add(ConvertUtils.sourceToTarget(formDTO, SendNoticeFormDTO.UserListBean.class)); + dto.setCustomerId(formDTO.getCustomerId()); + dto.setUserList(userList); + dto.setChannel(formDTO.getChannel()); + //通知来源 0 行程上报,1 疫苗接种,2 核酸检测 + dto.setOrigin(NumConstant.ZERO_STR); + dto.setContent(formDTO.getContent()); + dto.setOrgName(agencyName); + icNoticeService.sendNotice(dto); + } + + /** + * 行程上报-加入核算检测关注 * @param formDTO */ private void vaccinationAdd(IcTripReportFormDTO formDTO) { @@ -181,16 +185,42 @@ public class IcTripReportRecordServiceImpl extends BaseServiceImpl NumConstant.ZERO && StringUtils.isNotBlank(formDTO.getContent())) { + sendNotice(formDTO,agencyInfoCache.getOrganizationName()); + } + return entity.getId(); } @Override @Transactional(rollbackFor = Exception.class) - public void delete(String[] ids) { - // 逻辑删除(@TableLogic 注解) - baseDao.deleteBatchIds(Arrays.asList(ids)); + public void delete(String customerId, String userId, String[] ids) { + CustomerStaffInfoCacheResult staffInfo=queryCurrentStaff(customerId,userId); + baseDao.batchDel(userId,staffInfo.getAgencyId(),ids); } /** diff --git a/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.28__modify_trip_report.sql b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.28__modify_trip_report.sql new file mode 100644 index 0000000000..d28bc06972 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.28__modify_trip_report.sql @@ -0,0 +1,2 @@ +alter table ic_trip_report_record MODIFY COLUMN PIDS VARCHAR(255) COMMENT 'agency_id的所有上级'; +alter table ic_trip_report_record MODIFY COLUMN USER_TYPE VARCHAR(32) NOT NULL COMMENT '居民端小程序的人:resi;数字社区的居民:icresi;单独录入:input; 导入:import'; \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/excel/trip_report_import_template.xlsx b/epmet-user/epmet-user-server/src/main/resources/excel/trip_report_import_template.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..f13d7ec77d97db25035a97f95e3d4ec74c12d1c0 GIT binary patch literal 9319 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 + + + update ic_trip_report_record set del_flag='1',UPDATED_BY=#{userId},UPDATED_TIME=NOW() + WHERE USER_TYPE !='resi' + AND AGENCY_ID=#{agencyId} + AND ( + + id=#{id} + + ) + \ No newline at end of file From 4714470319d40ff79933381a6ce43da6434bf438 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Wed, 30 Mar 2022 09:14:12 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E9=98=B2=E7=96=AB=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/IcNoticeServiceImpl.java | 44 +++++++++++++------ .../service/impl/IcResiUserServiceImpl.java | 4 +- .../main/resources/mapper/IcResiUserDao.xml | 2 +- 3 files changed, 34 insertions(+), 16 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNoticeServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNoticeServiceImpl.java index 9b3698798d..3a224d8540 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNoticeServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNoticeServiceImpl.java @@ -5,14 +5,17 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.*; +import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; import com.epmet.commons.tools.enums.ChannelEnum; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.redis.common.CustomerStaffRedis; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.constant.SmsTemplateConstant; import com.epmet.constant.UserMessageTypeConstant; import com.epmet.dao.IcNoticeDao; import com.epmet.dto.IcNoticeDTO; +import com.epmet.dto.UserBaseInfoDTO; import com.epmet.dto.form.IcNoticeFormDTO; import com.epmet.dto.form.ProjectSendMsgFormDTO; import com.epmet.dto.form.SendNoticeFormDTO; @@ -20,6 +23,7 @@ import com.epmet.dto.form.UserMessageFormDTO; import com.epmet.entity.IcNoticeEntity; import com.epmet.feign.MessageFeignClient; import com.epmet.service.IcNoticeService; +import com.epmet.service.UserBaseInfoService; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import lombok.extern.slf4j.Slf4j; @@ -44,6 +48,8 @@ public class IcNoticeServiceImpl extends BaseServiceImpl page(IcNoticeFormDTO formDTO) { @@ -123,8 +129,14 @@ public class IcNoticeServiceImpl extends BaseServiceImpl entityList = formDTO.getUserList().stream().map(item -> { IcNoticeEntity entity = new IcNoticeEntity(); entity.setCustomerId(formDTO.getCustomerId()); @@ -134,7 +146,7 @@ public class IcNoticeServiceImpl extends BaseServiceImpl smsList = new ArrayList<>(); entityList.forEach(item -> { - if (StringUtils.isNotBlank(item.getUserId())) { - UserMessageFormDTO messageFormDTO = new UserMessageFormDTO(); - messageFormDTO.setCustomerId(item.getCustomerId()); - messageFormDTO.setApp(AppClientConstant.APP_GOV); - messageFormDTO.setGridId(StrConstant.STAR); - messageFormDTO.setUserId(item.getUserId()); - messageFormDTO.setTitle("您有一条通知消息!"); - messageFormDTO.setMessageContent(item.getContent()); - messageFormDTO.setReadFlag(Constant.UNREAD); - messageFormDTO.setMessageType(UserMessageTypeConstant.ANTIEPIDEMIC); - messageFormDTO.setTargetId(item.getId()); - msgList.add(messageFormDTO); + if (StringUtils.isNotBlank(item.getIdCard())) { + //根据身份证获取居民ID + List userList = userBaseInfoService.getCommonIdNumUser(item.getCustomerId(), item.getIdCard()); + if (CollectionUtils.isNotEmpty(userList)) { + userList.forEach(user -> { + UserMessageFormDTO messageFormDTO = new UserMessageFormDTO(); + messageFormDTO.setCustomerId(item.getCustomerId()); + messageFormDTO.setApp(AppClientConstant.APP_GOV); + messageFormDTO.setGridId(StrConstant.STAR); + messageFormDTO.setUserId(user.getUserId()); + messageFormDTO.setTitle("您有一条通知消息!"); + messageFormDTO.setMessageContent(item.getContent()); + messageFormDTO.setReadFlag(Constant.UNREAD); + messageFormDTO.setMessageType(UserMessageTypeConstant.ANTIEPIDEMIC); + messageFormDTO.setTargetId(item.getId()); + msgList.add(messageFormDTO); + }); + } } //TODO 短信消息 if (StringUtils.isNotBlank(item.getMobile())) { 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 b100c64741..e243b38459 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 @@ -1267,7 +1267,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl houseInfoMap = houseInfoDTOList.stream().collect(Collectors.toMap(HouseInfoDTO::getHomeId, Function.identity())); if (houseInfoMap.containsKey(result.getHomeId()) && null != houseInfoMap.get(result.getHomeId())) { HouseInfoDTO houseInfoDTO = houseInfoMap.get(result.getHomeId()); - result.setHomeId(houseInfoDTO.getAllName()); + result.setHouseName(houseInfoDTO.getAllName()); } } return result; diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml index 2b040cd4cd..c68d4e504e 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml @@ -690,7 +690,7 @@ AND MOBILE LIKE concat( '%', #{mobile}, '%' ) - AND ID_CARD LIKE concat( '%', #{idCard}, '%' ) + AND a.ID_CARD LIKE concat( '%', #{idCard}, '%' ) ) t WHERE From b8f4b60278fda772ad70c37a6dab9e7c82393cfa Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Wed, 30 Mar 2022 09:25:56 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E9=98=B2=E7=96=AB=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/service/impl/IcResiUserServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 e243b38459..e7d124a71d 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 @@ -1300,7 +1300,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl houseIds = new HashSet<>(); houseIds.add(result.getHomeId()); - Result> houseInfoRes=govOrgOpenFeignClient.queryListHouseInfo(new HashSet<>(houseIds),formDTO.getCustomerId()); + Result> houseInfoRes = govOrgOpenFeignClient.queryListHouseInfo(houseIds, formDTO.getCustomerId()); List houseInfoDTOList = houseInfoRes.success() && !CollectionUtils.isEmpty(houseInfoRes.getData()) ? houseInfoRes.getData() : new ArrayList<>(); Map houseInfoMap = houseInfoDTOList.stream().collect(Collectors.toMap(HouseInfoDTO::getHomeId, Function.identity())); if (houseInfoMap.containsKey(result.getHomeId()) && null != houseInfoMap.get(result.getHomeId())) { From ecd57d1f14bfba1b140feaaf1df8f0da3714148c Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Wed, 30 Mar 2022 09:30:07 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E5=AF=BC=E5=85=A5=E6=A0=B8=E9=85=B8?= =?UTF-8?q?=E6=A3=80=E6=B5=8B=E7=9A=84=E7=B1=BB=E5=9E=8Bother->import?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/excel/handler/IcNatExcelImportListener.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatExcelImportListener.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatExcelImportListener.java index f6c83e9440..ebfb593947 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatExcelImportListener.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatExcelImportListener.java @@ -70,7 +70,7 @@ public class IcNatExcelImportListener implements ReadListener