Prechádzať zdrojové kódy

feat:“优化海外导出优惠码都为英文“

soobin 1 rok pred
rodič
commit
be9bf0c5bd

+ 18 - 5
src/main/java/com/szwl/controller/TPromoCodeController.java

@@ -16,6 +16,7 @@ import com.szwl.model.bo.JsonMessage;
 import com.szwl.model.bo.R;
 import com.szwl.model.bo.ResponseModel;
 import com.szwl.model.dto.PromoCodeTarget;
+import com.szwl.model.dto.PromoCodeTargetEn;
 import com.szwl.model.entity.*;
 import com.szwl.model.utils.DateUtils;
 import com.szwl.service.*;
@@ -561,8 +562,14 @@ public class TPromoCodeController {
     @GetMapping("/export")
     public Object export(HttpServletResponse response, String adminId , String code, String isUse, Date useStratDate, Date useEndDate, Date createStratDate, Date createEndDate, long current, long size ) {
         LambdaQueryWrapper<TPromoCode> query = Wrappers.lambdaQuery();
+        String ifForeign = "0";
+        String head = "优惠码数据-";
         if(StringUtils.isNotEmpty(adminId)){
             TAdmin admin = adminService.getById(adminId);
+            if(StringUtils.isNotEmpty(admin.getIfForeign()) && admin.getIfForeign().equals("1")) {
+                ifForeign = admin.getIfForeign();
+                head = "PromoCode-";
+            }
             if(admin.getType()!=0 && admin.getType()!=1){
                 query.eq(TPromoCode::getAdminId,adminId);
             }
@@ -604,10 +611,16 @@ public class TPromoCodeController {
         Page<TPromoCode> page = new Page<>(current, size, true);
         IPage<TPromoCode> iPage = promoCodeService.page(page, query);
         List<TPromoCode> list = iPage.getRecords();
-        List<PromoCodeTarget> promoCodeTargets = promoCodeService.findById(list);
-
-        ExportParams exportParams = new ExportParams("优惠码记录", "sheet1");
-        Workbook workbook = ExcelExportUtil.exportExcel(exportParams, PromoCodeTarget.class, promoCodeTargets);
+        Workbook workbook = null;
+        if(ifForeign.equals("0")) {
+            List<PromoCodeTarget> promoCodeTargets = promoCodeService.findById(list);
+            ExportParams exportParams = new ExportParams("优惠码记录", "sheet1");
+            workbook = ExcelExportUtil.exportExcel(exportParams, PromoCodeTarget.class, promoCodeTargets);
+        } else {
+            List<PromoCodeTargetEn> promoCodeTargetEns = promoCodeService.exportPromoCode(list);
+            ExportParams exportParams = new ExportParams("Promo code record", "sheet1");
+            workbook = ExcelExportUtil.exportExcel(exportParams, PromoCodeTargetEn.class, promoCodeTargetEns);
+        }
 
         if (workbook != null) {
             OutputStream os = null;
@@ -615,7 +628,7 @@ public class TPromoCodeController {
                 os = response.getOutputStream();
                 SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");
                 response.setContentType("application/vnd.ms-excel;charset=utf-8");
-                response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode("优惠码数据" + format.format(new Date()) + ".xls", "UTF-8"));
+                response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(head + format.format(new Date()) + ".xls", "UTF-8"));
                 workbook.write(os);
                 return JsonMessage.success("导出成功");
             } catch (Exception e) {

+ 4 - 1
src/main/java/com/szwl/model/dto/PromoCodeTarget.java

@@ -4,7 +4,10 @@ import cn.afterturn.easypoi.excel.annotation.Excel;
 
 import java.util.Date;
 
-//订单导出
+/**
+ * 国内优惠码导出
+ * @author
+ */
 public class PromoCodeTarget {
 
     /**

+ 57 - 0
src/main/java/com/szwl/model/dto/PromoCodeTargetEn.java

@@ -0,0 +1,57 @@
+package com.szwl.model.dto;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import lombok.Data;
+
+/**
+ * 国外优惠码导出
+ * @author
+ */
+@Data
+public class PromoCodeTargetEn {
+
+    /**
+     * 优惠码
+     */
+    @Excel(name = "Code", width = 20.0D)
+    private Long code;
+
+    /**
+     * 优惠码类型
+     */
+    @Excel(name = "Type", width = 20.0D)
+    private String type;
+
+    /**
+     * 优惠码类型
+     */
+    @Excel(name = "Credit/Discount value", width = 30.0D)
+    private Float discount;
+
+    /**
+     * 所属商家
+     */
+    @Excel(name = "Affiliated merchant", width = 20.0D)
+    private String userName;
+
+    /**
+     * 添加时间
+     */
+    @Excel(name = "Add time", width = 20.0D)
+    private String createDate;
+
+    /**
+     * 状态
+     */
+    @Excel(name = "Status", width = 20.0D)
+    private String isUse;
+
+    /** 使用时间 */
+    @Excel(name = "Usage time", width = 20.0D)
+    private String useDate;
+
+
+    /** 使用机器 */
+    @Excel(name = "Machine used", width = 20.0D)
+    private String useBy;
+}

+ 3 - 0
src/main/java/com/szwl/service/TPromoCodeService.java

@@ -1,6 +1,7 @@
 package com.szwl.service;
 
 import com.szwl.model.dto.PromoCodeTarget;
+import com.szwl.model.dto.PromoCodeTargetEn;
 import com.szwl.model.entity.TPromoCode;
 import com.baomidou.mybatisplus.extension.service.IService;
 
@@ -17,4 +18,6 @@ import java.util.List;
 public interface TPromoCodeService extends IService<TPromoCode> {
 
     List<PromoCodeTarget> findById(List<TPromoCode> list);
+
+    List<PromoCodeTargetEn> exportPromoCode(List<TPromoCode> list);
 }

+ 32 - 0
src/main/java/com/szwl/service/impl/TPromoCodeServiceImpl.java

@@ -1,6 +1,7 @@
 package com.szwl.service.impl;
 
 import com.szwl.model.dto.PromoCodeTarget;
+import com.szwl.model.dto.PromoCodeTargetEn;
 import com.szwl.model.entity.TPromoCode;
 import com.szwl.mapper.TPromoCodeMapper;
 import com.szwl.model.utils.DateUtils;
@@ -53,4 +54,35 @@ public class TPromoCodeServiceImpl extends ServiceImpl<TPromoCodeMapper, TPromoC
 
         return promoCodeTargets;
     }
+
+    @Override
+    public List<PromoCodeTargetEn> exportPromoCode(List<TPromoCode> list) {
+        List<PromoCodeTargetEn> promoCodeTargetEns = new ArrayList<>();
+        for(TPromoCode promoCode : list){
+            PromoCodeTargetEn promoCodeTargetEn = new PromoCodeTargetEn();
+            promoCodeTargetEn.setCode(promoCode.getCode());
+            if(StringUtils.isNotEmpty(promoCode.getType()) && promoCode.getType().equals("1")){
+                promoCodeTargetEn.setType("Deduction voucher");
+            }else {
+                promoCodeTargetEn.setType("Discount coupon");
+            }
+            promoCodeTargetEn.setDiscount(promoCode.getDiscount());
+            // 格式化时间
+            if(promoCode.getCreateDate()!=null) {
+                String formatPayDate = DateUtils.formatDate(promoCode.getCreateDate(), DateUtils.PATTERN_yyyy_MM_dd_HH_mm_ss);
+                promoCodeTargetEn.setCreateDate(formatPayDate);
+            }
+            if(promoCode.getIsUse().equals("0")){
+                promoCodeTargetEn.setIsUse("Not used");
+            }else {
+                promoCodeTargetEn.setIsUse("Used");
+            }
+            promoCodeTargetEn.setUseBy(promoCode.getUseBy());
+            promoCodeTargetEn.setUseDate(promoCode.getUseDate());
+            promoCodeTargetEn.setUserName(promoCode.getUserName());
+            promoCodeTargetEns.add(promoCodeTargetEn);
+        }
+
+        return promoCodeTargetEns;
+    }
 }