From 575e94e9db7e507ecec2441d24a13e9415fd9f03 Mon Sep 17 00:00:00 2001 From: CeDo <cedoogle@gmail.com> Date: 星期三, 19 五月 2021 19:56:05 +0800 Subject: [PATCH] Merge branch 'cedoodev' into test --- springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/EldersAuthApi.java | 62 ++++++++++++++------ springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/PageEldersAuthDTO.java | 17 +++++ springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/EldersAuthDAO.java | 47 +++++++++++++-- 3 files changed, 101 insertions(+), 25 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/PageEldersAuthDTO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/PageEldersAuthDTO.java index ce0d976..71d8e95 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/PageEldersAuthDTO.java +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/PageEldersAuthDTO.java @@ -89,5 +89,22 @@ @ApiModelProperty(value = "出生日期", hidden = false, example = "2021-05-01 18:05:50") private Date birthDay; + @ApiModelProperty(value = "导出的ID", hidden = false, example = "") + private Long[] ids; + + @ApiModelProperty(value = "查询类型 1 按月 2 按时间", hidden = false, example = "") + private String type; + + + @ApiModelProperty(value = "月份(1-12)", hidden = false, example = "") + private Integer month; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @ApiModelProperty(value = "创建起始时间", hidden = false, example = "2021-05-01 18:05:50") + private Date createAtStart; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @ApiModelProperty(value = "创建结束时间", hidden = false, example = "2021-05-02 18:05:50") + private Date createAtEnd; } 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 856c157..970bf56 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 @@ -4,19 +4,18 @@ import com.alibaba.excel.EasyExcel; import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.write.metadata.WriteSheet; +import com.alibaba.excel.write.metadata.style.WriteCellStyle; +import com.alibaba.excel.write.style.HorizontalCellStyleStrategy; 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.*; -import com.panzhihua.common.model.dtos.user.EexcelUserDTO; -import com.panzhihua.common.model.vos.IPageVO; 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 com.panzhihua.community_backstage.excel.CustomSheetWriteHandler; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; @@ -28,9 +27,13 @@ import java.io.File; import java.io.FileInputStream; 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.stream.Collectors; /** * @@ -58,6 +61,8 @@ private int port; @Value("${ftp.url}") private String url; + @Value("${excel.userurl}") + private String excelUrl; @Resource private CommunityService communityService; @@ -106,35 +111,56 @@ @PostMapping("export") @ApiOperation(value = "导出高龄认证信息") R<String> export(@Validated @ModelAttribute PageEldersAuthDTO pageEldersAuthDTO){ - String name = "gaolinbutie-" + new SimpleDateFormat("yyyyMMddhhmmss").format(new Date()) + ".xlsx"; String ftpUrl = "/mnt/data/web/excel/"; -// 用户搜索了就下载搜索的用户否则下载所有用户 + + ClazzUtils.setIfStringIsEmpty(pageEldersAuthDTO); + String url=excelUrl; + String uuid= UUID.randomUUID().toString().replace("-",""); + //String name=uuid+".xlsx"; + R r = communityService.eldersAuthQuery(pageEldersAuthDTO); if (R.isOk(r)) { - List<ExcelElderAuthDTO> excelElderAuthDTOList = JSONArray.parseArray(JSONArray.toJSONString(r.getData()), ExcelElderAuthDTO.class); + List<ExcelElderAuthDTO> excelElderAuthDTO = JSONArray.parseArray(JSONArray.toJSONString(r.getData()),ExcelElderAuthDTO.class); + if(excelElderAuthDTO==null||excelElderAuthDTO.size()==0){ + return R.ok("未找到数据"); + } + + List<ExcelElderAuthDTO> sortedList = excelElderAuthDTO.stream().sorted(Comparator.comparingInt(ExcelElderAuthDTO::getSeq)).collect(Collectors.toList()); try { - SFTPUtil sftp = new SFTPUtil(userName, password, host, port); + SFTPUtil sftp = new SFTPUtil(userName,password,host,port); sftp.login(); - boolean existDir = sftp.isExistDir(ftpUrl + name); + String name = "高龄认证-" + new SimpleDateFormat("yyyyMMddhhmmss").format(new Date()) + ".xlsx"; + boolean existDir = sftp.isExistDir(ftpUrl+name); if (!existDir) { String property = System.getProperty("user.dir"); - String fileName = property + File.separator + name; + String fileName = property + File.separator+name; // 这里 需要指定写用哪个class去写 ExcelWriter excelWriter = null; - InputStream inputStream = null; + InputStream inputStream=null; try { - excelWriter = EasyExcel.write(fileName, EexcelUserDTO.class).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).registerWriteHandler(new CustomSheetWriteHandler()).build(); - WriteSheet writeSheet = EasyExcel.writerSheet("高龄补贴").build(); - excelWriter.write(excelElderAuthDTOList, writeSheet); + + WriteCellStyle contentWriteCellStyle = new WriteCellStyle(); + + contentWriteCellStyle.setWrapped(true); + WriteCellStyle headWriteCellStyle = new WriteCellStyle(); + + HorizontalCellStyleStrategy horizontalCellStyleStrategy = + new HorizontalCellStyleStrategy(headWriteCellStyle, contentWriteCellStyle); + + + excelWriter = EasyExcel.write(fileName, ExcelElderAuthDTO.class).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) + .registerWriteHandler(horizontalCellStyleStrategy).build(); + WriteSheet writeSheet = EasyExcel.writerSheet("高龄认证").build(); + excelWriter.write(sortedList, writeSheet); excelWriter.finish(); - File file = new File(fileName); - inputStream = new FileInputStream(file); + 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); + log.info("删除excel【{}】结果【{}】",absolutePath,delete); } finally { // 千万别忘记finish 会帮忙关闭流 if (inputStream != null) { @@ -145,14 +171,14 @@ } } } - return R.ok(url + name); + return R.ok(url+ URLEncoder.encode(name,"UTF-8")); } catch (Exception e) { e.printStackTrace(); log.error("文件传输失败【{}】", e.getMessage()); return R.fail(); } } - return R.fail("未查询到高龄认证用户"); + return R.fail("导出数据失败"); } /** * 新增高龄认证 diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/EldersAuthDAO.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/EldersAuthDAO.java index eee310c..cf1f080 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/EldersAuthDAO.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/EldersAuthDAO.java @@ -49,6 +49,17 @@ "<if test='pageEldersAuthDTO.authUserName != null'>" + " AND ea.AUTH_USER_NAME = #{pageEldersAuthDTO.authUserName} " + " </if> " + + "<if test='pageEldersAuthDTO.type == 1 '>" + + " AND ea.AUTH_USER_NAME = #{pageEldersAuthDTO.month} " + + " </if> " + + "<if test='pageEldersAuthDTO.type == 2 '>" + + "<if test='pageEldersAuthDTO.createAtStart != null'>" + + " AND ea.create_at <![CDATA[>=]]> #{pageComShopOrderSearchDTO.createAtStart} " + + " </if> " + + "<if test='pageEldersAuthDTO.createAtEnd != null'>" + + " AND ea.create_at <![CDATA[<=]]> #{pageComShopOrderSearchDTO.createAtEnd} " + + " </if> " + + " </if> " + " </where>" + " ORDER BY ea.${pageEldersAuthDTO.sortBy} ${pageEldersAuthDTO.order} " + "</script>") @@ -91,14 +102,36 @@ " LEFT JOIN sys_user u ON ea.SUMIT_USER_ID = u.user_id\n" + " LEFT JOIN com_act ac ON u.community_id = ac.community_id\n" + " <where> " + - "<if test='pageEldersAuthDTO.sumitUserId != null'>" + - " AND ea.SUMIT_USER_ID = #{pageEldersAuthDTO.sumitUserId} " + + + + "<if test='pageEldersAuthDTO.ids != null and pageEldersAuthDTO.ids.length>0 '>" + + " AND ea.id in " + + "<foreach collection='pageEldersAuthDTO.ids' item='id' index='index' open='(' close=')' separator=',' >\n" + + " #{id}" + + "</foreach>" + " </if> " + - "<if test='pageEldersAuthDTO.idCard != null'>" + - " AND ea.ID_CARD = #{pageEldersAuthDTO.idCard} " + - " </if> " + - "<if test='pageEldersAuthDTO.authUserName != null'>" + - " AND ea.AUTH_USER_NAME = #{pageEldersAuthDTO.authUserName} " + + + "<if test='pageEldersAuthDTO.ids == null or pageEldersAuthDTO.ids.length==0 '>" + + "<if test='pageEldersAuthDTO.sumitUserId != null'>" + + " AND ea.SUMIT_USER_ID = #{pageEldersAuthDTO.sumitUserId} " + + " </if> " + + "<if test='pageEldersAuthDTO.idCard != null'>" + + " AND ea.ID_CARD = #{pageEldersAuthDTO.idCard} " + + " </if> " + + "<if test='pageEldersAuthDTO.authUserName != null'>" + + " AND ea.AUTH_USER_NAME = #{pageEldersAuthDTO.authUserName} " + + " </if> " + + "<if test='pageEldersAuthDTO.type == 1 '>" + + " AND ea.AUTH_USER_NAME = #{pageEldersAuthDTO.month} " + + " </if> " + + "<if test='pageEldersAuthDTO.type == 2 '>" + + "<if test='pageEldersAuthDTO.createAtStart != null'>" + + " AND ea.create_at <![CDATA[>=]]> #{pageComShopOrderSearchDTO.createAtStart} " + + " </if> " + + "<if test='pageEldersAuthDTO.createAtEnd != null'>" + + " AND ea.create_at <![CDATA[<=]]> #{pageComShopOrderSearchDTO.createAtEnd} " + + " </if> " + + " </if> " + " </if> " + " </where>" + " ORDER BY ea.${pageEldersAuthDTO.sortBy} ${pageEldersAuthDTO.order} " + -- Gitblit v1.7.1