CeDo
2021-05-19 b988886bafb2ef52d6be68cafc3f5f96604b600e
update
3个文件已修改
76 ■■■■ 已修改文件
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/PageEldersAuthDTO.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/EldersAuthApi.java 48 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/EldersAuthDAO.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
}
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,15 +111,25 @@
    @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);
                sftp.login();
                String name =  "高龄认证-" + new SimpleDateFormat("yyyyMMddhhmmss").format(new Date()) + ".xlsx";
                boolean existDir = sftp.isExistDir(ftpUrl + name);
                if (!existDir) {
                    String property = System.getProperty("user.dir");
@@ -123,9 +138,20 @@
                    ExcelWriter excelWriter = 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);
@@ -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("导出数据失败");
    }
    /**
     * 新增高龄认证
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/EldersAuthDAO.java
@@ -91,6 +91,16 @@
            " 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.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.ids == null or pageEldersAuthDTO.ids.length==0 '>" +
            "<if test='pageEldersAuthDTO.sumitUserId != null'>" +
            " AND ea.SUMIT_USER_ID = #{pageEldersAuthDTO.sumitUserId} " +
            " </if> " +
@@ -100,6 +110,7 @@
            "<if test='pageEldersAuthDTO.authUserName != null'>" +
            " AND ea.AUTH_USER_NAME = #{pageEldersAuthDTO.authUserName} " +
            " </if> " +
            " </if> " +
            " </where>" +
            " ORDER BY ea.${pageEldersAuthDTO.sortBy} ${pageEldersAuthDTO.order}  " +
            "</script>")