From a6c12e55d60ba3e023e15e6e7f6ac1791f424a1c Mon Sep 17 00:00:00 2001
From: tangxiaobao <303826152@qq.com>
Date: 星期一, 06 九月 2021 09:28:34 +0800
Subject: [PATCH] 高龄老人认证
---
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/EldersAuthApi.java | 237 +++++++++++++++++++++++++++++++++++++--
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/EldersAuthApi.java | 71 +++++++++++
2 files changed, 291 insertions(+), 17 deletions(-)
diff --git a/springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/EldersAuthApi.java b/springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/EldersAuthApi.java
index fef9d54..00fb00c 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/EldersAuthApi.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/EldersAuthApi.java
@@ -2,18 +2,30 @@
import java.io.File;
import java.io.FileInputStream;
+import java.io.IOException;
import java.io.InputStream;
import java.net.URLEncoder;
import java.text.SimpleDateFormat;
-import java.util.Comparator;
-import java.util.Date;
-import java.util.List;
-import java.util.UUID;
+import java.util.*;
import java.util.stream.Collectors;
import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import com.alibaba.fastjson.JSON;
+import com.panzhihua.common.constants.Constants;
+import com.panzhihua.common.enums.*;
+import com.panzhihua.common.listen.ComElderAuthRecordImportExcelListen;
+import com.panzhihua.common.listen.ComMngPopulationDrugExcelListen;
+import com.panzhihua.common.model.dtos.community.*;
+import com.panzhihua.common.model.vos.community.*;
+import com.panzhihua.common.service.community.CommunityService;
+import com.panzhihua.common.utlis.*;
+import com.panzhihua.community_backstage.excel.CustomSheetWriteHandler;
+import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Value;
+import org.springframework.data.redis.core.StringRedisTemplate;
+import org.springframework.data.redis.core.ValueOperations;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -25,20 +37,12 @@
import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
import com.alibaba.fastjson.JSONArray;
import com.panzhihua.common.controller.BaseController;
-import com.panzhihua.common.model.dtos.community.EldersAuthAddDTO;
-import com.panzhihua.common.model.dtos.community.EldersAuthFeedbackAddDTO;
-import com.panzhihua.common.model.dtos.community.ExcelElderAuthDTO;
-import com.panzhihua.common.model.dtos.community.PageEldersAuthDTO;
import com.panzhihua.common.model.vos.R;
-import com.panzhihua.common.model.vos.community.EldersAuthDetailsVO;
-import com.panzhihua.common.model.vos.community.EldersAuthVO;
-import com.panzhihua.common.service.community.CommunityService;
-import com.panzhihua.common.utlis.ClazzUtils;
-import com.panzhihua.common.utlis.SFTPUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.multipart.MultipartFile;
/**
*
@@ -71,6 +75,9 @@
@Resource
private CommunityService communityService;
+
+ @Resource
+ private StringRedisTemplate stringRedisTemplate;
@Value("${excel.elderimporturl}")
private Object elderimporturl;
@@ -227,4 +234,208 @@
return R.ok(elderimporturl);
}
+
+ //2021-8-30 身份认证改版(高龄老人认证管理)接口
+ /**
+ * 分页查询高龄老人认证记录 pageElderAuthRecords 分页查询高龄老人认证记录
+ * @param pageElderAuthRecordsDTO 查询参数
+ * @return R 查询结果
+ * @author txb
+ * @date 2021/9/02 11:03
+ */
+ @ApiOperation(value = "高龄认证-分页查询高龄老人认证记录", response = ComElderAuthRecordVO.class)
+ @PostMapping("/authRecords/page")
+ public R pageElderAuthRecords(@RequestBody PageElderAuthRecordsDTO pageElderAuthRecordsDTO) {
+ Long communityId = this.getLoginUserInfo().getCommunityId();
+ pageElderAuthRecordsDTO.setCommunityId(communityId);
+ return communityService.pageElderAuthRecords(pageElderAuthRecordsDTO);
+ }
+
+ /**
+ * 根据高龄认证记录id查询详情 detailElderAuthRecords 根据高龄认证记录id查询详情
+ * @param authRecordId 高龄认证记录id
+ * @return R 查询结果
+ * @author txb
+ * @date 2021/9/02 11:03
+ */
+ @ApiOperation(value = "高龄认证-根据高龄认证记录id查询详情", response = ComElderAuthRecordVO.class)
+ @GetMapping("/authRecords/detail")
+ public R detailElderAuthRecords(@RequestParam(value = "authRecordId") Long authRecordId) {
+ return communityService.detailElderAuthRecords(authRecordId);
+ }
+
+ /**
+ * 高龄认证审核 examineElderAuthRecords 高龄认证审核
+ * @param comElderAuthRecordVO 高龄认证审核参数
+ * @return R 查询结果
+ * @author txb
+ * @date 2021/9/02 11:03
+ */
+ @ApiOperation(value = "高龄认证-高龄认证审核")
+ @PostMapping("/authRecords/examine")
+ public R examineElderAuthRecords(@RequestBody ComElderAuthRecordVO comElderAuthRecordVO) {
+ return communityService.examineElderAuthRecords(comElderAuthRecordVO);
+ }
+
+ /**
+ * 高龄认证标记 examineElderAuthRecords 高龄认证标记
+ * @param comElderAuthRecordVO 高龄认证标记参数
+ * @return R 查询结果
+ * @author txb
+ * @date 2021/9/02 11:03
+ */
+ @ApiOperation(value = "高龄认证-高龄认证标记")
+ @PostMapping("/authRecords/sign")
+ public R signElderAuthRecords(@RequestBody ComElderAuthRecordVO comElderAuthRecordVO) {
+ return communityService.signElderAuthRecords(comElderAuthRecordVO);
+ }
+
+ /**
+ * 高龄认证导出 exportElderAuthRecords 高龄认证导出
+ * @param ids 高龄认证记录id集合
+ * @return R 导出结果
+ * @author txb
+ * @date 2021/9/02 11:03
+ */
+ @ApiOperation(value = "高龄认证-高龄认证导出")
+ @PostMapping("/authRecords/export")
+ public R exportElderAuthRecords(@RequestBody List<Long> ids) {
+ // List<ComMngPopulationMistakeExcelVO> list = JSON.parseArray(mistakes,ComMngPopulationMistakeExcelVO.class);
+ // 生成动态模板excel通过ftp工具上传到主节点,然后返回模板下载地址
+ String ftpUrl = "/mnt/data/web/excel/";
+ String nowDate = DateUtils.getCurrentDateString();
+ String name = "高龄认证导出数据" + nowDate + ".xlsx";
+ try {
+ SFTPUtil sftp = new SFTPUtil(userName, password, host, port);
+ sftp.login();
+ boolean existDir = sftp.isExistDir(ftpUrl + name);
+ if (!existDir) {
+ String property = System.getProperty("user.dir");
+ String fileName = property + File.separator + name;
+ // 这里 需要指定写用哪个class去写
+ ExcelWriter excelWriter = null;
+ InputStream inputStream = null;
+ try {
+ R r = communityService.getElderAuthRecordsByIds(ids);
+ List<ComElderAuthRecordExcleVO> list = new ArrayList<>();
+ if (R.isOk(r)) {
+ list = JSONArray.parseArray(JSONArray.toJSONString(r.getData()), ComElderAuthRecordExcleVO.class);
+ }
+ excelWriter = EasyExcel.write(fileName, ComElderAuthRecordVO.class)
+ .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy())
+ .registerWriteHandler(new CustomSheetWriteHandler()).build();
+ WriteSheet writeSheet = EasyExcel.writerSheet("高龄认证导出数据").build();
+ excelWriter.write(list, writeSheet);
+ excelWriter.finish();
+ File file = new File(fileName);
+ inputStream = new FileInputStream(file);
+ sftp.uploadMore(ftpUrl, name, inputStream);
+ sftp.logout();
+ inputStream.close();
+ String absolutePath = file.getAbsolutePath();
+ boolean delete = file.delete();
+ log.info("删除excel【{}】结果【{}】", absolutePath, delete);
+ } finally {
+ // 千万别忘记finish 会帮忙关闭流
+ if (inputStream != null) {
+ inputStream.close();
+ }
+ if (excelWriter != null) {
+ excelWriter.finish();
+ }
+ }
+ }
+ return R.ok(excelUrl + name);
+ } catch (Exception e) {
+ e.printStackTrace();
+ log.error("文件传输失败【{}】", e.getMessage());
+ return R.fail();
+ }
+ }
+
+ @ApiOperation(value = "高龄认证-下载模板-线下认证居民导入")
+ @GetMapping("/authRecords/uderLine/export")
+ public R exportUnderLineElderAuthRecords() {
+ // 生成动态模板excel通过ftp工具上传到主节点,然后返回模板下载地址
+ String ftpUrl = "/mnt/data/web/excel/";
+ String name = "线下认证居民导入模板.xlsx";
+ try {
+ SFTPUtil sftp = new SFTPUtil(userName, password, host, port);
+ sftp.login();
+ boolean existDir = sftp.isExistDir(ftpUrl + name);
+ if (!existDir) {
+ String property = System.getProperty("user.dir");
+ String fileName = property + File.separator + name;
+ // 这里 需要指定写用哪个class去写
+ ExcelWriter excelWriter = null;
+ InputStream inputStream = null;
+ try {
+ List<List<String>> list = new ArrayList<>();
+ list = headDataFilling();
+ EasyExcel.write(fileName).head(list).sheet("线下认证居民导入模板").doWrite(null);
+ File file = new File(fileName);
+ inputStream = new FileInputStream(file);
+ sftp.uploadMore(ftpUrl, name, inputStream);
+ sftp.logout();
+ inputStream.close();
+ String absolutePath = file.getAbsolutePath();
+ boolean delete = file.delete();
+ log.info("删除excel【{}】结果【{}】", absolutePath, delete);
+ } finally {
+ // 千万别忘记finish 会帮忙关闭流
+ if (inputStream != null) {
+ inputStream.close();
+ }
+ }
+ }
+ return R.ok(excelUrl + name);
+ } catch (Exception e) {
+ e.printStackTrace();
+ log.error("文件传输失败【{}】", e.getMessage());
+ return R.fail();
+ }
+ }
+
+ @ApiOperation(value = "高龄认证-excel导入线下认证居民")
+ @PostMapping(value = "/authRecords/uderLine/import", consumes = "multipart/*", headers = "content-type=multipart/form-date")
+ public R importDrug(@RequestParam MultipartFile file, HttpServletRequest request) {
+ // 获取文件名
+ String fileName = file.getOriginalFilename();
+ log.info("传入文件名字【{}】", fileName);
+ InputStream inputStream = null;
+ try {
+ inputStream = file.getInputStream();
+ ComElderAuthRecordImportExcelListen comElderAuthRecordImportExcelListen = new ComElderAuthRecordImportExcelListen(
+ communityService, this.getCommunityId(), this.getLoginUserInfo().getUserId(), stringRedisTemplate);
+ EasyExcel.read(inputStream, null, comElderAuthRecordImportExcelListen).sheet().doRead();
+ } catch (IOException e) {
+ log.error("导入模板失败【{}】", e.getMessage());
+ e.printStackTrace();
+ }
+ return R.ok();
+ }
+
+ private List<List<String>> headDataFilling() {
+ List<List<String>> list = new ArrayList<List<String>>();
+ List<String> head0 = new ArrayList<String>();
+ head0.add("认证姓名");
+ List<String> head1 = new ArrayList<String>();
+ head1.add("认证身份证号码");
+ List<String> head2 = new ArrayList<String>();
+ head2.add("联系电话");
+ List<String> head3 = new ArrayList<String>();
+ head3.add("现居住地址");
+ List<String> head4 = new ArrayList<String>();
+ head4.add("认证时间");
+ List<String> head5 = new ArrayList<String>();
+ head5.add("健在(是/否)");
+
+ list.add(head0);
+ list.add(head1);
+ list.add(head2);
+ list.add(head3);
+ list.add(head4);
+ list.add(head5);
+ return list;
+ }
}
\ No newline at end of file
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/EldersAuthApi.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/EldersAuthApi.java
index d81b515..4344379 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/EldersAuthApi.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/EldersAuthApi.java
@@ -5,17 +5,17 @@
import javax.annotation.Resource;
import cn.hutool.core.util.IdcardUtil;
+import com.panzhihua.common.model.dtos.community.*;
+import com.panzhihua.common.model.vos.community.ComElderAuthRecordVO;
import com.panzhihua.service_community.model.dos.ComEldersAuthElderlyDO;
+import com.panzhihua.service_community.service.ComElderAuthRecordsService;
import com.panzhihua.service_community.service.ComEldersAuthElderlyService;
+import io.swagger.annotations.ApiOperation;
import org.springframework.beans.BeanUtils;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.panzhihua.common.exceptions.ServiceException;
-import com.panzhihua.common.model.dtos.community.EldersAuthTypeQueryDTO;
-import com.panzhihua.common.model.dtos.community.PageComEldersRecordsDTO;
-import com.panzhihua.common.model.dtos.community.PageEldersAuthHistoryDTO;
-import com.panzhihua.common.model.dtos.community.PageEldersAuthRecordDTO;
import com.panzhihua.common.model.dtos.elders.ComEldersAuthGetResultDTO;
import com.panzhihua.common.model.dtos.elders.ComEldersAuthPageDTO;
import com.panzhihua.common.model.dtos.elders.ComEldersAuthUserAddAppDTO;
@@ -48,6 +48,8 @@
private EldersAuthService eldersAuthService;
@Resource
private ComEldersAuthElderlyService comEldersAuthElderlyService;
+ @Resource
+ private ComElderAuthRecordsService comElderAuthRecordsService;
@PostMapping("/getAuth")
public R getAuth(@RequestParam("authUserId") Long authUserId) {
@@ -205,4 +207,65 @@
return eldersAuthService.timedTaskEldersRecordAuthJobHandler();
}
+ //2021-8-30 身份认证改版(高龄老人认证管理)接口
+ /**
+ * 分页查询高龄老人认证记录 pageElderAuthRecords 分页查询高龄老人认证记录
+ * @param pageElderAuthRecordsDTO 查询参数
+ * @return R 查询结果
+ * @author txb
+ * @date 2021/9/02 11:03
+ */
+ @PostMapping("/authRecords/page")
+ public R pageElderAuthRecords(@RequestBody PageElderAuthRecordsDTO pageElderAuthRecordsDTO) {
+ return comElderAuthRecordsService.pageElderAuthRecords(pageElderAuthRecordsDTO);
+ }
+
+ /**
+ * 根据高龄认证记录id查询详情 detailElderAuthRecords 根据高龄认证记录id查询详情
+ * @param authRecordId 高龄认证记录id
+ * @return R 查询结果
+ * @author txb
+ * @date 2021/9/02 11:03
+ */
+ @GetMapping("/authRecords/detail")
+ public R detailElderAuthRecords(@RequestParam(value = "authRecordId") Long authRecordId) {
+ return comElderAuthRecordsService.detailElderAuthRecords(authRecordId);
+ }
+
+ /**
+ * 高龄认证审核 examineElderAuthRecords 高龄认证审核
+ * @param comElderAuthRecordVO 高龄认证审核参数
+ * @return R 查询结果
+ * @author txb
+ * @date 2021/9/02 11:03
+ */
+ @PostMapping("/authRecords/examine")
+ public R examineElderAuthRecords(@RequestBody ComElderAuthRecordVO comElderAuthRecordVO) {
+ return comElderAuthRecordsService.examineElderAuthRecords(comElderAuthRecordVO);
+ }
+
+ /**
+ * 高龄认证标记 examineElderAuthRecords 高龄认证标记
+ * @param comElderAuthRecordVO 高龄认证标记参数
+ * @return R 查询结果
+ * @author txb
+ * @date 2021/9/02 11:03
+ */
+ @PostMapping("/authRecords/sign")
+ public R signElderAuthRecords(@RequestBody ComElderAuthRecordVO comElderAuthRecordVO) {
+ return comElderAuthRecordsService.signElderAuthRecords(comElderAuthRecordVO);
+ }
+
+ /**
+ * 根据高龄认证记录id批量查询 getElderAuthRecordsByIds 根据高龄认证记录id批量查询
+ * @param ids 高龄认证记录id集合
+ * @return R 查询结果
+ * @author txb
+ * @date 2021/9/02 11:03
+ */
+ @PostMapping("/authRecords/getList")
+ public R getElderAuthRecordsByIds(@RequestBody List<Long> ids){
+ return comElderAuthRecordsService.getElderAuthRecordsByIds(ids);
+ }
+
}
--
Gitblit v1.7.1