From dedb6f26be813caaa0d6ec828d39deaa18fddcb3 Mon Sep 17 00:00:00 2001 From: xyh <18782104331@139.com> Date: 星期三, 16 六月 2021 20:17:31 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/test_excel610' into test_excel610 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/DisablePersonApi.java | 51 ++++ springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/DisabledPersonsDO.java | 113 ++++++++++ springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/DisabledPersonsServiceImpl.java | 92 ++++++++ springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java | 10 springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/DisablePersonApi.java | 87 +++++++ springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/DisablePersonDAO.java | 16 + springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/DisabledPersonsDTO.java | 110 ++++++++++ springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/DisabledPersonsService.java | 29 ++ springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/listen/DisablePersonExcelListen.java | 89 ++++++++ springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/api/LangchaoApiConstants.java | 44 ++++ 10 files changed, 641 insertions(+), 0 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/api/LangchaoApiConstants.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/api/LangchaoApiConstants.java new file mode 100644 index 0000000..2f7e645 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/api/LangchaoApiConstants.java @@ -0,0 +1,44 @@ +package com.panzhihua.common.api; + +/** + * 攀枝花综治网格化-事件上报接口列表-测试环境接口 + * des + * @author manailin + * @date 2021/06/16 + */ +public class LangchaoApiConstants +{ + + /** + * 获取token + */ + public static final String GRID_GET_TOKEN_URL = "http://171.217.92.33:53303/aaToken?username=#username&password=#password"; + /** + * 提交事件登记(自处) + */ + public static final String GRID_REGIST_EVENT_URL = "http://171.217.92.33:53303/businessData/registEventInfo"; + /** + * 上传附件,仅上传文件流,服务器根据文件名自行匹配 + */ + public static final String GRID_EVENT_FILE_UPLOAD_URL = "http://171.217.92.33:53303/businessData/upload"; + /** + * 事件类型获取 + */ + public static final String GRID_EVENT_CATEGORY_URL = "http://171.217.92.33:53303/businessData/getEventType"; + /** + * 事件查询接口 + */ + public static final String GRID_EVENT_INFO_URL = "http://171.217.92.33:53303/businessData/getEventListInfo"; + /** + * 获取指定APP登记事件详情信息 + */ + public static final String GRID_EVENT_INFO_DETAIL_URL = "http://171.217.92.33:53303/businessData/getEventDetails"; + /** + * 获取指定事件信息 + */ + public static final String GRID_APP_EVENT_INFO_DETAIL_URL = "http://171.217.92.33:53303/businessData/getAppointEventInfo"; + /** + * 通过AREAID获取辖区网格树 + */ + public static final String GRID_GET_EVENT_INFO_AREA_ID_URL = "http://171.217.92.33:53303/area/getAreaGridTreeByAreaId"; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/DisabledPersonsDTO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/DisabledPersonsDTO.java new file mode 100644 index 0000000..961d48e --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/DisabledPersonsDTO.java @@ -0,0 +1,110 @@ +package com.panzhihua.common.model.dtos.community; + +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * Description 残疾人dto + * ClassName DisabledPersons + * + * @author manailin + */ +@Data +public class DisabledPersonsDTO implements Serializable { + private static final long serialVersionUID = 1L; + /** + * 主键 + */ + private Long id; + + private Long userId; + /** + * 街道id + */ + private Long streetId; + /** + * 社区id + */ + private Long actId; + /** + * 名字 + */ + @ExcelProperty(value = "名字" ,index = 0) + private String name; + /** + * 身份证号码 + */ + @ExcelProperty(value = "身份证号码" ,index = 1) + private String cardNo; + /** + * 残疾人证编码 + */ + @ExcelProperty(value = "残疾人证编码" ,index = 2) + private String disableSn; + /** + * 出生年月 + */ + private String birthday; + /** + * 残疾人证 + */ + @ExcelProperty(value = "残疾人证" ,index = 3) + private String level; + /** + * 性别(取字典表国家编码) + */ + @ExcelProperty(value = "性别" ,index = 4) + private String sex; + /** + * 性别名称 + */ + private String sexName; + /** + * 文化程度(取字典表国家编码)) + */ + @ExcelProperty(value = "文化程度" ,index = 5) + private String cultureLevel; + /** + * 民族 + */ + @ExcelProperty(value = "民族" ,index = 6) + private String nation; + /** + * 残疾部位/类别 + */ + @ExcelProperty(value = "残疾部位" ,index = 7) + private String disableType; + /** + * 残疾级别 + */ + @ExcelProperty(value = "残疾级别" ,index = 8) + private String disableLevel; + /** + * 联系电话 + */ + @ExcelProperty(value = "联系电话" ,index = 9) + private String phone; + /** + * 监护人联系电话 + */ + @ExcelProperty(value = "监护人联系电话" ,index =10) + private String guardianPhone; + /** + * 地址 + */ + @ExcelProperty(value = "地址" ,index = 11) + private String address; + /** + * 创建用户 + */ + private Long createBy; + + /** + * 修改用户 + */ + private Long updateBy; + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java index c9770f6..22e30df 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java @@ -2819,4 +2819,14 @@ */ @GetMapping("/screen/work/workCount") R workCount(@RequestParam("communityId")Long communityId); + /** + * description 批量保存残疾人人员信息 + * + * @param list 疾人信息列表 + * @return R 保存结果 + * @author manailin + * @date 2021/6/10 17:00 + */ + @PostMapping("/disable_person/batch/save") + R saveBatchDisabledPersons(@RequestBody List<DisabledPersonsDTO> list); } diff --git a/springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/DisablePersonApi.java b/springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/DisablePersonApi.java new file mode 100644 index 0000000..c4c59e3 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/DisablePersonApi.java @@ -0,0 +1,87 @@ +package com.panzhihua.community_backstage.api; + +import com.alibaba.excel.EasyExcel; +import com.panzhihua.common.controller.BaseController; +import com.panzhihua.common.model.dtos.community.DisabledPersonsDTO; +import com.panzhihua.common.model.dtos.community.KeyPersonInfoDTO; +import com.panzhihua.common.model.vos.LoginUserInfoVO; +import com.panzhihua.common.model.vos.R; +import com.panzhihua.common.service.community.CommunityService; +import com.panzhihua.common.utlis.ExcelSelectObject; +import com.panzhihua.common.utlis.ExcelUtil; +import com.panzhihua.community_backstage.biz.KeyPersonBizServiceImpl; +import com.panzhihua.community_backstage.listen.DisablePersonExcelListen; +import com.panzhihua.community_backstage.listen.KeyPersonInfoExcelListen; +import com.panzhihua.community_backstage.model.dto.KeyPersonExcelExportDto; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.InputStream; +import java.util.Collections; +import java.util.List; + +/** + * program 攀枝花智慧社区项目 + * description 残疾人群管理API + * + * @author manailin + * Date 2021-01-22 15:30 + **/ +@Slf4j +@Api(tags = {"残疾人群管理API"}) +@RestController +@RequestMapping("/") +public class DisablePersonApi extends BaseController { + + @Resource + private CommunityService communityService; + + @Resource + private KeyPersonBizServiceImpl keyPersonBizService; + + /** + * description 批量保存重点人群人员信息 + * + * @param file 重点人群信息 + * @return R 保存结果 + * @author manailin + * @date 2021/6/10 17:00 + */ + @PostMapping(value = "diabled_person/import", consumes = "multipart/*", headers = "content-type=multipart/form-date") + public R importExcl(@RequestParam MultipartFile file, HttpServletRequest request) { + //获取文件名 + String fileName = file.getOriginalFilename(); + log.info("传入文件名字【{}】", fileName); + try { + InputStream inputStream = file.getInputStream(); + LoginUserInfoVO loginUserInfo = this.getLoginUserInfo(); + EasyExcel.read(inputStream, DisabledPersonsDTO.class, new DisablePersonExcelListen(communityService, loginUserInfo)).sheet().doRead(); + } catch (IOException e) { + e.printStackTrace(); + log.error("导入模板失败【{}】", e.getMessage()); + } + return R.ok(); + } + + /** + * description exportUser 导出用于导入的模板EXCEL + * + * @author manailin + * @date 2021/6/10 17:00 + */ + @ApiOperation(value = "导出用于导入的模板EXCEL", notes = "导出用于导入的模板EXCEL") + @GetMapping("diabled_person/export/model") + public void exportUser(HttpServletResponse response) throws IOException { + List<ExcelSelectObject> selectListObject = keyPersonBizService.defineExcelModelData(); + //导出操作 + ExcelUtil.exportExcelForSelectList(Collections.emptyList(), "残疾人员信息导入模版", "残疾人员信息导入模版", KeyPersonExcelExportDto.class, "残疾人员信息导入模版.xls", selectListObject, response); + } + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/listen/DisablePersonExcelListen.java b/springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/listen/DisablePersonExcelListen.java new file mode 100644 index 0000000..2d8545e --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/listen/DisablePersonExcelListen.java @@ -0,0 +1,89 @@ +package com.panzhihua.community_backstage.listen; + +import com.alibaba.excel.context.AnalysisContext; +import com.alibaba.excel.event.AnalysisEventListener; +import com.alibaba.fastjson.JSONObject; +import com.panzhihua.common.exceptions.PartyBuildingMemberException; +import com.panzhihua.common.exceptions.ServiceException; +import com.panzhihua.common.model.dtos.community.DisabledPersonsDTO; +import com.panzhihua.common.model.dtos.community.KeyPersonInfoDTO; +import com.panzhihua.common.model.vos.LoginUserInfoVO; +import com.panzhihua.common.model.vos.R; +import com.panzhihua.common.service.community.CommunityService; +import com.panzhihua.common.utlis.Snowflake; +import com.panzhihua.common.utlis.StringUtils; +import lombok.extern.slf4j.Slf4j; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; + +/** + * program 攀枝花智慧社区项目 + * description 残疾人群入监听 + * + * @author manailin + * Date 2021-01-22 15:30 + **/ +@Slf4j +public class DisablePersonExcelListen extends AnalysisEventListener<DisabledPersonsDTO> { + + @Resource + private CommunityService communityService; + + private LoginUserInfoVO loginUserInfo; + + public DisablePersonExcelListen(CommunityService communityService, LoginUserInfoVO loginUserInfo) { + this.communityService = communityService; + this.loginUserInfo = loginUserInfo; + } + + + private static final int BATCH_COUNT = 5000; + private List<DisabledPersonsDTO> list = new ArrayList<>(); + + @Override + public void invoke(DisabledPersonsDTO disabledPersonsDTO, AnalysisContext analysisContext) { + list.add(disabledPersonsDTO); + if (list.size() >= BATCH_COUNT) { + log.info("excel导入数据【{}】", JSONObject.toJSONString(list)); + list.forEach(keyPersonInfo -> { + buildKeyPersonInfo(keyPersonInfo); + }); + R r = this.communityService.saveBatchDisabledPersons(list); + if (!R.isOk(r)) { + throw new PartyBuildingMemberException(r.getMsg()); + } + list.clear(); + } + } + + private void buildKeyPersonInfo(DisabledPersonsDTO disabledPersons) { + disabledPersons.setId(Snowflake.getId()); + //获取用户生日 + String birthday = disabledPersons.getCardNo().substring(6, 14); + if(StringUtils.isNotEmpty(birthday)){ + String year = birthday.substring(0,4); + String month = birthday.substring(4,6); + String day = birthday.substring(6,8); + disabledPersons.setBirthday(year + "-" + month + "-" + day); + } + disabledPersons.setActId(loginUserInfo.getCommunityId()); + disabledPersons.setCreateBy(loginUserInfo.getUserId()); + disabledPersons.setUpdateBy(loginUserInfo.getUserId()); + + } + + @Override + public void doAfterAllAnalysed(AnalysisContext analysisContext) { + log.info("excel导入数据【{}】", JSONObject.toJSONString(list)); + list.forEach(keyPersonInfo -> { + buildKeyPersonInfo(keyPersonInfo); + }); + R r = this.communityService.saveBatchDisabledPersons(list); + if (!R.isOk(r)) { + throw new PartyBuildingMemberException(r.getMsg()); + } + } + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/DisablePersonApi.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/DisablePersonApi.java new file mode 100644 index 0000000..f1bcd13 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/DisablePersonApi.java @@ -0,0 +1,51 @@ +package com.panzhihua.service_community.api; + +import com.panzhihua.common.model.dtos.community.DisabledPersonsDTO; +import com.panzhihua.common.model.dtos.community.KeyPersonInfoDTO; +import com.panzhihua.common.model.vos.R; +import com.panzhihua.common.utlis.ValidableList; +import com.panzhihua.service_community.service.DisabledPersonsService; +import com.panzhihua.service_community.service.KeyPersonInfoService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import springfox.documentation.annotations.ApiIgnore; + +import javax.annotation.Resource; +import javax.validation.Valid; + +/** + * program 攀枝花智慧社区项目 + * description 特殊人群管理API + * + * @author manailin + * Date 2021-01-22 15:30 + **/ +@Slf4j +@RestController +@RequestMapping("/") +public class DisablePersonApi { + + @Resource + private DisabledPersonsService disabledPersonsService; + + /** + * description 批量保存重点人群人员信息 + * + * @param list 重点人群信息 + * @return R 保存结果 + * @author manailin + * @date 2021/6/10 17:00 + */ + @PostMapping("/disable_person/batch/save") + public R BatchSave(@RequestBody @Valid ValidableList<DisabledPersonsDTO> list, @ApiIgnore BindingResult results) { + if (results.hasErrors()) { + return R.fail(results.getFieldError().getDefaultMessage()); + } + return disabledPersonsService.saveBatchDisabledPerson(list); + } + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/DisablePersonDAO.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/DisablePersonDAO.java new file mode 100644 index 0000000..3e8bd54 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/DisablePersonDAO.java @@ -0,0 +1,16 @@ +package com.panzhihua.service_community.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.panzhihua.service_community.model.dos.DisabledPersonsDO; +import org.apache.ibatis.annotations.Mapper; + +/** + * program 攀枝花智慧社区项目 + * description 残疾人管理API + * + * @author manailin + * Date 2021-01-22 15:30 + **/ +@Mapper +public interface DisablePersonDAO extends BaseMapper<DisabledPersonsDO> { +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/DisabledPersonsDO.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/DisabledPersonsDO.java new file mode 100644 index 0000000..d2f8f5e --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/DisabledPersonsDO.java @@ -0,0 +1,113 @@ +package com.panzhihua.service_community.model.dos; + +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.panzhihua.common.model.helper.encrypt.EncryptDecryptClass; +import com.panzhihua.common.model.helper.encrypt.EncryptDecryptField; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * Description 残疾人实体 + * ClassName DisabledPersons + * + * @author manailin + */ +@Data +@EncryptDecryptClass +@TableName("com_disabled_persons") +public class DisabledPersonsDO implements Serializable { + private static final long serialVersionUID = 1L; + /** + * 主键 + */ + private Long id; + private Long userId; + /** + * 街道id + */ + private Long streetId; + /** + * 社区id + */ + private Long actId; + /** + * 名字 + */ + private String name; + /** + * 身份证号码 + */ + @EncryptDecryptField + private String cardNo; + /** + * 残疾人证编码 + */ + private String disableSn; + /** + * 出生年月 + */ + private String birthday; + /** + * 残疾人证 + */ + private String level; + /** + * 性别(取字典表国家编码) + */ + private String sex; + /** + * 性别名称 + */ + private String sexName; + /** + * 文化程度(取字典表国家编码)) + */ + private String cultureLevel; + /** + * 民族 + */ + private String nation; + /** + * 残疾部位/类别 + */ + private String disableType; + /** + * 残疾级别 + */ + private String disableLevel; + /** + * 联系电话 + */ + private String phone; + /** + * 监护人联系电话 + */ + private String guardianPhone; + /** + * 地址 + */ + private String address; + /** + * 创建时间 + */ + @TableField(fill = FieldFill.INSERT) + private Date createAt; + /** + * 创建用户 + */ + private Long createBy; + /** + * 修改时间 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + private Date updateAt; + /** + * 修改用户 + */ + private Long updateBy; + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/DisabledPersonsService.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/DisabledPersonsService.java new file mode 100644 index 0000000..5135510 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/DisabledPersonsService.java @@ -0,0 +1,29 @@ +package com.panzhihua.service_community.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.panzhihua.common.model.dtos.community.DisabledPersonsDTO; +import com.panzhihua.common.model.dtos.community.KeyPersonInfoDTO; +import com.panzhihua.common.model.vos.BcDictionaryVO; +import com.panzhihua.common.model.vos.R; +import com.panzhihua.service_community.model.dos.BcDictionaryItemDO; +import com.panzhihua.service_community.model.dos.DisabledPersonsDO; + +import java.util.List; + +/** + * 残疾人服务 + * @author manailin + * @date 2021/6/11 16:05 + */ +public interface DisabledPersonsService extends IService<DisabledPersonsDO> { + + /** + * description 批量保存重点人群人员信息 + * + * @param keyList 重点人群信息 + * @return R 保存结果 + * @author manailin + * @date 2021/6/10 17:00 + */ + R saveBatchDisabledPerson(List<DisabledPersonsDTO> keyList); +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/DisabledPersonsServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/DisabledPersonsServiceImpl.java new file mode 100644 index 0000000..ad01206 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/DisabledPersonsServiceImpl.java @@ -0,0 +1,92 @@ +package com.panzhihua.service_community.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.panzhihua.common.model.dtos.community.ComMngPopulationTagCardNoDTO; +import com.panzhihua.common.model.dtos.community.DisabledPersonsDTO; +import com.panzhihua.common.model.helper.AESUtil; +import com.panzhihua.common.model.vos.R; +import com.panzhihua.service_community.dao.DisablePersonDAO; +import com.panzhihua.service_community.model.dos.ComMngPopulationDO; +import com.panzhihua.service_community.model.dos.DisabledPersonsDO; +import com.panzhihua.service_community.service.ComMngPopulationService; +import com.panzhihua.service_community.service.DisabledPersonsService; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 残疾人服务 + * + * @author manailin + * @date 2021/6/11 16:05 + */ +@Service +public class DisabledPersonsServiceImpl extends ServiceImpl<DisablePersonDAO, DisabledPersonsDO> implements DisabledPersonsService { + + @Value("${domain.aesKey:}") + private String aesKey; + + @Resource + private ComMngPopulationService comMngPopulationService; + + /** + * description 批量保存重点人群人员信息 + * + * @param list 重点人群信息 + * @return R 保存结果 + * @author manailin + * @date 2021/6/10 17:00 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public R saveBatchDisabledPerson(List<DisabledPersonsDTO> list) { + list.forEach(disabledPersonsDTO -> { + DisabledPersonsDO dbKeyPerson = checkExistFromDb(disabledPersonsDTO); + if (dbKeyPerson != null) { + //已经存在数据,进行数据更新操作 + DisabledPersonsDO disabledPersonsDO = new DisabledPersonsDO(); + BeanUtils.copyProperties(disabledPersonsDTO, disabledPersonsDO); + disabledPersonsDO.setId(dbKeyPerson.getId()); + ComMngPopulationTagCardNoDTO comMngPopulationTagCardNoDTO = new ComMngPopulationTagCardNoDTO(); + comMngPopulationTagCardNoDTO.setCardNo(dbKeyPerson.getCardNo()); + ComMngPopulationDO population = comMngPopulationService.getPopulationByCardNo(disabledPersonsDTO.getCardNo()); + if (population != null) { + disabledPersonsDO.setUserId(population.getId()); + } + try { + String aesCardNo = AESUtil.encrypt128(disabledPersonsDTO.getCardNo(), aesKey); + disabledPersonsDO.setCardNo(aesCardNo); + updateById(disabledPersonsDO); + } catch (Exception e) { + log.error("根据身份证查询残疾人群业务-加密证件信息出错"); + } + } else { + DisabledPersonsDO disabledPersonsDO = new DisabledPersonsDO(); + BeanUtils.copyProperties(disabledPersonsDTO, disabledPersonsDO); + save(disabledPersonsDO); + } + }); + return R.ok(); + } + + + private DisabledPersonsDO checkExistFromDb(DisabledPersonsDTO DisabledPersonsDO) { + try { + String aesCardNo = AESUtil.encrypt128(DisabledPersonsDO.getCardNo(), aesKey); + return baseMapper.selectOne( + new QueryWrapper<DisabledPersonsDO>() + .eq("act_id", DisabledPersonsDO.getActId()) + .eq("card_no", aesCardNo) + ); + } catch (Exception e) { + + log.error("根据身份证查询残疾人群业务-加密证件信息出错"); + } + return null; + } +} -- Gitblit v1.7.1