Kaynağa Gözat

fix:"优化优惠码查询导出功能"

soobin 2 ay önce
ebeveyn
işleme
0f377b9eb6

+ 5 - 0
pom.xml

@@ -157,6 +157,11 @@
         <!-- hutool -->
         <dependency>
             <groupId>cn.hutool</groupId>
+            <artifactId>hutool-all</artifactId>
+            <version>5.8.16</version>
+        </dependency>
+        <dependency>
+            <groupId>cn.hutool</groupId>
             <artifactId>hutool-core</artifactId>
             <version>5.7.16</version>
         </dependency>

+ 146 - 0
src/main/java/com/szwl/controller/TPromoCodeController.java

@@ -18,6 +18,8 @@ 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.param.PromoCodeParam;
+import com.szwl.model.param.SugarDoParam;
 import com.szwl.model.utils.DateUtils;
 import com.szwl.service.*;
 import com.szwl.util.IDGenerator;
@@ -584,6 +586,150 @@ public class TPromoCodeController {
         return R.ok(iPage);
     }
 
+    @ApiOperation(value = "优惠码列表")
+    @PostMapping("/list")
+    public ResponseModel<IPage<?>> selectSugarRecord(@RequestBody PromoCodeParam param) {
+        String adminId = param.getAdminId();
+        Long code = param.getCode();
+        String isUse = param.getIsUse();
+        String useStartDate = param.getUseStartDate();
+        String useEndDate = param.getUseEndDate();
+        String createStartDate = param.getCreateStartDate();
+        String createEndDate = param.getCreateEndDate();
+        long current = param.getCurrent();
+        long size = param.getSize();
+        LambdaQueryWrapper<TPromoCode> query = Wrappers.lambdaQuery();
+        if (StringUtils.isNotEmpty(adminId)) {
+            TAdmin admin = adminService.getById(adminId);
+            if (admin.getType() != 0 && admin.getType() != 1) {
+                query.eq(TPromoCode::getAdminId, adminId);
+            }
+            if (admin.getId() == 2738) {
+                LambdaQueryWrapper<TAdmin> adminQuery = Wrappers.lambdaQuery();
+                adminQuery.isNull(TAdmin::getCompanyType).or()
+                        .eq(TAdmin::getCompanyType, "0");
+                List<Long> adminIds = adminService.list(adminQuery).stream()
+                        .map(TAdmin::getId).collect(Collectors.toList());
+                query.in(TPromoCode::getAdminId, adminIds);
+            }
+            // 七云平台管理员
+            if (admin.getId() == 2739) {
+                LambdaQueryWrapper<TAdmin> adminQuery = Wrappers.lambdaQuery();
+                adminQuery.eq(TAdmin::getCompanyType, "1");
+                List<Long> adminIds = adminService.list(adminQuery).stream()
+                        .map(TAdmin::getId).collect(Collectors.toList());
+                query.in(TPromoCode::getAdminId, adminIds);
+            }
+        } else {
+            return R.fail(A0001);
+        }
+        if (code != null) {
+            query.eq(TPromoCode::getCode, code);
+        }
+        if (StringUtils.isNotEmpty(isUse)) {
+            query.like(TPromoCode::getIsUse, isUse);
+        }
+        if (StringUtils.isNotEmpty(useStartDate) && StringUtils.isNotEmpty(useEndDate)) {
+            query.gt(TPromoCode::getUseDate, useStartDate);
+            query.lt(TPromoCode::getUseDate, useEndDate);
+        }
+        if (StringUtils.isNotEmpty(createStartDate) && StringUtils.isNotEmpty(createEndDate)) {
+            query.gt(TPromoCode::getCreateDate, createStartDate);
+            query.lt(TPromoCode::getCreateDate, createEndDate);
+        }
+        query.orderByDesc(TPromoCode::getCreateDate);
+        Page<TPromoCode> page = new Page<>(current, size, true);
+        IPage<TPromoCode> iPage = promoCodeService.page(page, query);
+        return R.ok(iPage);
+    }
+
+    @ApiOperation(value = "导出制作记录")
+    @PostMapping("/exportList")
+    public void exportList(@RequestBody PromoCodeParam param, HttpServletResponse response) {
+        String adminId = param.getAdminId();
+        Long code = param.getCode();
+        String isUse = param.getIsUse();
+        String useStartDate = param.getUseStartDate();
+        String useEndDate = param.getUseEndDate();
+        String createStartDate = param.getCreateStartDate();
+        String createEndDate = param.getCreateEndDate();
+        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);
+            }
+            // 申泽平台管理员
+            if (admin.getId() == 2738) {
+                LambdaQueryWrapper<TAdmin> adminQuery = Wrappers.lambdaQuery();
+                adminQuery.isNull(TAdmin::getCompanyType).or()
+                        .eq(TAdmin::getCompanyType, "0");
+                List<Long> adminIds = adminService.list(adminQuery).stream()
+                        .map(TAdmin::getId).collect(Collectors.toList());
+                query.in(TPromoCode::getAdminId, adminIds);
+            }
+            // 七云平台管理员
+            if (admin.getId() == 2739) {
+                LambdaQueryWrapper<TAdmin> adminQuery = Wrappers.lambdaQuery();
+                adminQuery.eq(TAdmin::getCompanyType, "1");
+                List<Long> adminIds = adminService.list(adminQuery).stream()
+                        .map(TAdmin::getId).collect(Collectors.toList());
+                query.in(TPromoCode::getAdminId, adminIds);
+            }
+        }
+        if (code != null) {
+            query.eq(TPromoCode::getCode, code);
+        }
+        if (StringUtils.isNotEmpty(isUse)) {
+            query.like(TPromoCode::getIsUse, isUse);
+        }
+        if (StringUtils.isNotEmpty(useStartDate) && StringUtils.isNotEmpty(useEndDate)) {
+            query.gt(TPromoCode::getUseDate, useStartDate);
+            query.lt(TPromoCode::getUseDate, useEndDate);
+        }
+        if (StringUtils.isNotEmpty(createStartDate) && StringUtils.isNotEmpty(createEndDate)) {
+            query.gt(TPromoCode::getCreateDate, createStartDate);
+            query.lt(TPromoCode::getCreateDate, createEndDate);
+        }
+        List<TPromoCode> list = promoCodeService.list(query);
+        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;
+            try {
+                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(head + format.format(new Date()) + ".xls", "UTF-8"));
+                workbook.write(os);
+            } catch (Exception e) {
+                e.printStackTrace();
+            } finally {
+                try {
+                    os.close();
+                    workbook.close();
+                } catch (IOException e) {
+                    e.printStackTrace();
+                }
+            }
+        }
+    }
+
     @ApiOperation(value = "导出优惠码列表")
     @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) {

+ 20 - 0
src/main/java/com/szwl/model/param/PromoCodeParam.java

@@ -0,0 +1,20 @@
+package com.szwl.model.param;
+
+import com.szwl.model.entity.TPromoCode;
+import lombok.Data;
+
+@Data
+public class PromoCodeParam extends TPromoCode {
+
+    private Long current;
+
+    private Long size;
+
+    private String useStartDate;
+
+    private String useEndDate;
+
+    private String createStartDate;
+
+    private String createEndDate;
+}

+ 2 - 2
src/main/java/com/szwl/service/impl/THuifuMchServiceImpl.java

@@ -136,7 +136,7 @@ public class THuifuMchServiceImpl extends ServiceImpl<THuifuMchMapper, THuifuMch
                 request.put("legal_cert_end_date", tHuifuMchCheck.getCertEndDate());
             }
             // 联系人姓名
-            request.put("contact_name", tHuifuMchCheck.getRegName());
+            request.put("contact_name", tHuifuMchCheck.getName());
             // 联系人手机号
             request.put("contact_mobile", tHuifuMchCheck.getPhone());
         }
@@ -278,7 +278,7 @@ public class THuifuMchServiceImpl extends ServiceImpl<THuifuMchMapper, THuifuMch
             request.put("settle_config", settleConfig);
 //            settleConfig.put("settle_abstract", "棉花糖机营业收入");
         }
-        // 签名:sign
+        // 签名:signCódigo invitación
         String s = JSON.toJSONString(request);
         String s1 = JSON.toJSONString(JSONObject.parseObject(s, TreeMap.class));
         String sign = HuifuUtils.sign(s1, HuifuConstant.RSA_PRIVATE_KEY);