y пре 2 година
родитељ
комит
2a7b05ca21

+ 6 - 0
pom.xml

@@ -98,6 +98,12 @@
             <version>${druid.version}</version>
         </dependency>
 
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>easyexcel</artifactId>
+            <version>3.2.0</version>
+        </dependency>
+
         <!-- Druid 依赖 log4j包 -->
         <dependency>
             <groupId>log4j</groupId>

+ 45 - 42
src/main/java/com/ydtech/modules/ins/model/InsOrdersExcel.java

@@ -1,6 +1,8 @@
 package com.ydtech.modules.ins.model;
 
 import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import io.swagger.annotations.ApiOperation;
@@ -14,135 +16,136 @@ import java.io.Serializable;
  */
 @Data
 public class InsOrdersExcel{
-    @Excel(name = "保险公司名称")
+    @ExcelProperty(value = "保险公司名称")
     private String insCompany;
 
-    @Excel(name = "工号")
+    @ExcelProperty(value = "工号")
     private String userId;
 
-    @Excel(name = "用户名")
+    @ExcelProperty(value = "用户名")
     private String userName;
 
-    @Excel(name = "订单号")
+    @ExcelProperty(value = "订单号")
     private String orderNo;
 
-    @Excel(name = "车牌")
+    @ExcelProperty(value = "车牌")
     private String licenseNo;
 
-    @Excel(name = "车架号")
+    @ExcelProperty(value = "车架号")
     private String fraMeno;
 
+    @ExcelIgnore
     private JSONObject carInfo;
 
-    @Excel(name = "车型")
+    @ExcelProperty(value = "车型")
     private String modelcName;
 
-    @Excel(name = "座位数")
+    @ExcelProperty(value = "座位数")
     private String seatCount;
 
-    @Excel(name = "是否过户")
+    @ExcelProperty(value = "是否过户")
     private String transferFlag;
 
-    @Excel(name = "商业险是否过户")
+    @ExcelProperty(value = "商业险是否过户")
     private String transferFlagBi;
 
 
-
+    @ExcelIgnore
     private JSONObject ownerInfo;
 
-    @Excel(name = "车主姓名")
+    @ExcelProperty(value = "车主姓名")
     private String ownerName;
 
-    @Excel(name = "车主身份证号")
+    @ExcelProperty(value = "车主身份证号")
     private String ownerIdentifyNumber;
 
-    @Excel(name = "车主年龄")
+    @ExcelProperty(value = "车主年龄")
     private String ownerAge;
 
-    @Excel(name = "车主手机号")
+    @ExcelProperty(value = "车主手机号")
     private String ownerMobile;
 
 
 
-
+    @ExcelIgnore
     private JSONObject applyInfo;
 
-    @Excel(name = "投保人姓名")
+    @ExcelProperty(value = "投保人姓名")
     private String applyName;
 
-    @Excel(name = "投保人身份证号")
+    @ExcelProperty(value = "投保人身份证号")
     private String applyIdentifyNumber;
 
-    @Excel(name = "投保人年龄")
+    @ExcelProperty(value = "投保人年龄")
     private String applyAge;
 
-    @Excel(name = "投保人手机号")
+    @ExcelProperty(value = "投保人手机号")
     private String applyMobile;
 
 
-
+    @ExcelIgnore
     private JSONObject insureInfo;
 
-    @Excel(name = "投保人姓名")
+    @ExcelProperty(value = "投保人姓名")
     private String insureName;
 
-    @Excel(name = "投保人身份证号")
+    @ExcelProperty(value = "投保人身份证号")
     private String insureIdentifyNumber;
 
-    @Excel(name = "投保人年龄")
+    @ExcelProperty(value = "投保人年龄")
     private String insureAge;
 
-    @Excel(name = "投保人手机号")
+    @ExcelProperty(value = "投保人手机号")
     private String insureMobile;
 
-
+    @ExcelIgnore
     private JSONArray kindInfo;
 
-    @Excel(name = "第三责任险")
+    @ExcelProperty(value = "第三责任险")
     private String third;
 
-    @Excel(name = "乘客责任险")
+    @ExcelProperty(value = "乘客责任险")
     private String sit;
 
-    @Excel(name = "司机责任险")
+    @ExcelProperty(value = "司机责任险")
     private String driver;
 
-    @Excel(name = "交强险费用")
+    @ExcelProperty(value = "交强险费用")
     private String jqpRemIum;
 
-    @Excel(name = "商业险费用")
+    @ExcelProperty(value = "商业险费用")
     private String sypRemIum;
 
-    @Excel(name = "驾意险费用")
+    @ExcelProperty(value = "驾意险费用")
     private String jypRemIum;
 
-    @Excel(name = "车船税费用")
+    @ExcelProperty(value = "车船税费用")
     private  String taxaMount;
 
-    @Excel(name = "交强险起期")
+    @ExcelProperty(value = "交强险起期")
     private String jqStartDate;
 
-    @Excel(name = "交强险止期")
+    @ExcelProperty(value = "交强险止期")
     private String jqEndDate;
 
-    @Excel(name = "商业险起期")
+    @ExcelProperty(value = "商业险起期")
     private String syStartDate;
 
-    @Excel(name = "商业险止期")
+    @ExcelProperty(value = "商业险止期")
     private String syEndDate;
 
-    @Excel(name = "评分")
+    @ExcelProperty(value = "评分")
     private String score;
 
-    @Excel(name = "交强类型评分")
+    @ExcelProperty(value = "交强类型评分")
     private  String jqScore;
 
-    @Excel(name = "商业类型评分")
+    @ExcelProperty(value = "商业类型评分")
     private String syScore;
 
-    @Excel(name = "交强赔付率")
+    @ExcelProperty(value = "交强赔付率")
     private String jqLossRation;
 
-    @Excel(name = "商业赔付率")
+    @ExcelProperty(value = "商业赔付率")
     private String syLossRation;
 }

+ 24 - 0
src/main/java/com/ydtech/modules/ins/utils/EasyExcelUtils.java

@@ -0,0 +1,24 @@
+package com.ydtech.modules.ins.utils;
+
+import com.alibaba.excel.EasyExcel;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * @author jianlong
+ * @date 2023-12-29 16:46
+ */
+@Component
+public class EasyExcelUtils {
+
+
+
+    public static String downExcel(String uploadFilePath,Class clz, List<?> list) {
+
+        String file = System.currentTimeMillis() + ".xlsx";
+        String fileName = uploadFilePath + file;
+        EasyExcel.write(fileName, clz).sheet("1").doWrite(list);
+        return file;
+    }
+}

+ 8 - 3
src/main/java/com/ydtech/modules/order/controller/InsOrdersController.java

@@ -12,6 +12,7 @@ import com.ydtech.modules.base.controller.BaseController;
 import com.ydtech.modules.ins.model.InsOrdersExcel;
 import com.ydtech.modules.ins.model.InsOrdersExcelVo;
 import com.ydtech.modules.ins.model.vo.res.InsSettleResVo;
+import com.ydtech.modules.ins.utils.EasyExcelUtils;
 import com.ydtech.modules.ins.utils.ExcelStyleUtil;
 import com.ydtech.modules.ins.utils.ExcelUtils2;
 import com.ydtech.modules.order.components.InsOrdersComponents;
@@ -29,6 +30,7 @@ import com.ydtech.utils.StringUtils;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.util.ObjectUtils;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
@@ -36,6 +38,7 @@ import org.springframework.web.bind.annotation.*;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
+import java.io.IOException;
 import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.List;
@@ -48,6 +51,9 @@ import static com.alibaba.fastjson.JSON.parseObject;
 @RestController
 public class InsOrdersController extends BaseController {
 
+    @Value("${upload.file.path}")
+    private  String uploadFilePath;
+
     private final InsOrdersService insOrdersService;
 
     private final InsAreaCompanyService insAreaCompanyService;
@@ -104,9 +110,8 @@ public class InsOrdersController extends BaseController {
 
     @PostMapping("/orderExportExcel")
     @ApiOperation(value = "订单导出excel接口")
-    public void orderExportExcel(@RequestBody InsOrdersExcelVo insOrdersExcelVo, HttpServletRequest request, HttpServletResponse response){
-
-        this.insOrdersService.orderExportExcel(insOrdersExcelVo,request,response);
+    public HttpResult<String> orderExportExcel(@RequestBody InsOrdersExcelVo insOrdersExcelVo){
+        return this.insOrdersService.orderExportExcel(insOrdersExcelVo);
     }
 
 

+ 2 - 3
src/main/java/com/ydtech/modules/order/service/InsOrdersService.java

@@ -2,11 +2,9 @@ package com.ydtech.modules.order.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ydtech.core.page.HttpResult;
-import com.ydtech.modules.ins.model.InsOrdersExcel;
 import com.ydtech.modules.ins.model.InsOrdersExcelVo;
 import com.ydtech.modules.ins.model.ya.CarModelDTO;
 import com.ydtech.modules.order.entity.BasePageResult;
-import com.ydtech.modules.order.entity.InsAreaCompany;
 import com.ydtech.modules.order.entity.InsOrders;
 import com.ydtech.modules.order.entity.dto.InsAreaCompanyQueryDto;
 import com.ydtech.modules.order.entity.vo.*;
@@ -82,7 +80,8 @@ public interface InsOrdersService extends IService<InsOrders> {
      * @param response
      * @return
      */
-    void orderExportExcel(InsOrdersExcelVo insOrdersExcelVo, HttpServletRequest request, HttpServletResponse response);
+
+    HttpResult<String> orderExportExcel(InsOrdersExcelVo insOrdersExcelVo);
 
 
     /**

+ 29 - 22
src/main/java/com/ydtech/modules/order/service/impl/InsOrdersServiceImpl.java

@@ -12,7 +12,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ydtech.components.OrderComponents;
 import com.ydtech.constants.InsuranceEnum;
-import com.ydtech.constants.enums.InsurKind;
 import com.ydtech.constants.enums.dict.InsOrderStatusEnum;
 import com.ydtech.constants.sys.SystemConstant;
 import com.ydtech.core.page.HttpResult;
@@ -27,13 +26,14 @@ import com.ydtech.modules.esm.service.EsmUserReferrerService;
 import com.ydtech.modules.fee.service.impl.FeeRuleSchemeServiceImpl;
 import com.ydtech.modules.fnc.entity.InsFeeAudit;
 import com.ydtech.modules.fnc.service.InsFeeAuditService;
+import com.ydtech.modules.ins.dao.InsFileMapper;
 import com.ydtech.modules.ins.model.InsOrdersExcel;
 import com.ydtech.modules.ins.model.InsOrdersExcelVo;
 import com.ydtech.modules.ins.model.vo.CarInfoVo;
-import com.ydtech.modules.ins.model.vo.res.InsSettleResVo;
 import com.ydtech.modules.ins.model.ya.CarModelDTO;
 import com.ydtech.modules.ins.model.ya.ExtendInfoDto;
 import com.ydtech.modules.ins.model.ya.ResponseDataC2;
+import com.ydtech.modules.ins.utils.EasyExcelUtils;
 import com.ydtech.modules.ins.utils.ExcelStyleUtil;
 import com.ydtech.modules.ins.utils.ExcelUtils2;
 import com.ydtech.modules.order.convert.CarModelDTOConvert;
@@ -56,6 +56,7 @@ import com.ydtech.utils.SnowFlakeUtil;
 import com.ydtech.utils.idgen.IdGenerate;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.data.redis.core.StringRedisTemplate;
 import org.springframework.stereotype.Service;
@@ -103,13 +104,18 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
 
     private final InsOrdersTrackService insOrdersTrackService;
 
+    private final InsFileMapper insFileMapper;
+
+    @Value("${upload.file.path}")
+    private  String uploadFilePath;
+
     public InsOrdersServiceImpl(OrderComponents orderComponents, SysUserService sysUserService,
                                 SysUserRoleService sysUserRoleService, EsmUserReferrerService esmUserReferrerService,
                                 SysDeptService sysDeptService, StringRedisTemplate redisTemplate,
                                 @Lazy InsAreaCompanyService insAreaCompanyService,
                                 PtlAgreementService ptlAgreementService,
                                 @Lazy FeeRuleSchemeServiceImpl feeRuleSchemeService,
-                                InsFeeAuditService insFeeAuditService, InsOrdersTrackService insOrdersTrackService) {
+                                InsFeeAuditService insFeeAuditService, InsOrdersTrackService insOrdersTrackService, InsFileMapper insFileMapper) {
 
         this.orderComponents = orderComponents;
         this.sysUserService = sysUserService;
@@ -122,6 +128,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
         this.feeRuleSchemeService = feeRuleSchemeService;
         this.insFeeAuditService = insFeeAuditService;
         this.insOrdersTrackService = insOrdersTrackService;
+        this.insFileMapper = insFileMapper;
     }
 
 
@@ -399,12 +406,10 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
      * 订单信息导出excel
      *
      * @param insOrdersExcelVo
-     * @param request
-     * @param response
      * @return
      */
     @Override
-    public void orderExportExcel(InsOrdersExcelVo insOrdersExcelVo, HttpServletRequest request, HttpServletResponse response) {
+    public HttpResult<String> orderExportExcel(InsOrdersExcelVo insOrdersExcelVo) {
         List<InsOrdersExcel> insOrdersExcels = baseMapper.queryOrderList(insOrdersExcelVo);
 
         for (InsOrdersExcel insOrdersExcel : insOrdersExcels) {
@@ -458,22 +463,24 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
                 }
             }
         }
-
-
-
-        Date now = new Date();
-        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
-        String fileName = "orders";
-        // 导出
-        ExportParams exportParams = new ExportParams("订单信息表"+simpleDateFormat.format(now), null, ExcelType.HSSF);
-        // 设置
-        exportParams.setStyle(ExcelStyleUtil.class);
-
-        try {
-            ExcelUtils2.exportExcel(insOrdersExcels, InsOrdersExcel.class, fileName, exportParams, request, response);
-        } catch (IOException e) {
-            log.error(String.valueOf(e));
-        }
+        String s = EasyExcelUtils.downExcel(uploadFilePath, InsOrdersExcel.class, insOrdersExcels);
+        return HttpResult.ok("",s);
+
+
+
+//        Date now = new Date();
+//        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+//        String fileName = "orders";
+//        // 导出
+//        ExportParams exportParams = new ExportParams("订单信息表"+simpleDateFormat.format(now), null, ExcelType.HSSF);
+//        // 设置
+//        exportParams.setStyle(ExcelStyleUtil.class);
+//
+//        try {
+//            ExcelUtils2.exportExcel(insOrdersExcels, InsOrdersExcel.class, fileName, exportParams, request, response);
+//        } catch (IOException e) {
+//            log.error(String.valueOf(e));
+//        }
     }
 
 

BIN
target/classes/com/ydtech/modules/ins/model/InsOrdersExcel.class


BIN
target/classes/com/ydtech/modules/ins/utils/EasyExcelUtils.class