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