From 2e1a9c064309e60047473c78f0dd3a88c726bb8d Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期二, 11 三月 2025 10:49:07 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev-1.0.1' into dev-1.0.1

---
 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/MgtAuctionSalesroomController.java |   39 +++++++++++++++++++++++++++++++++------
 1 files changed, 33 insertions(+), 6 deletions(-)

diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/MgtAuctionSalesroomController.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/MgtAuctionSalesroomController.java
index 8ac759c..19ebca6 100644
--- a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/MgtAuctionSalesroomController.java
+++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/MgtAuctionSalesroomController.java
@@ -5,6 +5,7 @@
 import com.alibaba.excel.util.DateUtils;
 import com.alibaba.fastjson2.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.google.zxing.WriterException;
 import com.ruoyi.auction.controller.management.dto.MgtAuctionSaleroomBidRecordQuery;
 import com.ruoyi.auction.controller.management.dto.MgtAuctionSalesroomDTO;
@@ -16,6 +17,8 @@
 import com.ruoyi.auction.mapper.AuctionBidRecordMapper;
 import com.ruoyi.auction.service.IAuctionSalesroomGoodsService;
 import com.ruoyi.auction.service.IAuctionSalesroomService;
+import com.ruoyi.auction.util.weChat.EnvVersion;
+import com.ruoyi.auction.util.weChat.WeChatUtil;
 import com.ruoyi.common.core.constant.SecurityConstants;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.enums.AuctionOrderTypeEnum;
@@ -34,10 +37,7 @@
 import java.io.IOException;
 import java.math.BigDecimal;
 import java.net.URLEncoder;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
 import java.util.stream.Collectors;
 
 import lombok.RequiredArgsConstructor;
@@ -46,6 +46,7 @@
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
+import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
 
 /**
@@ -67,6 +68,7 @@
     private final AuctionBidRecordMapper auctionBidRecordMapper;
     private final IAuctionSalesroomGoodsService auctionSalesroomGoodsService;
     private final GoodsSkuClient goodsSkuClient;
+    private final WeChatUtil weChatUtil;
 
     /**
      * 分页查询拍卖场
@@ -91,8 +93,18 @@
     @ApiOperation(value = "查看二维码", notes = "查看二维码")
     public R<String> getQrCode(
             @ApiParam(name = "id", value = "拍卖场id", required = true) @PathVariable("id") Long id) {
+
+        AuctionSalesroom auctionSalesroom = auctionSalesroomService.getById(id);
+        if (StringUtils.isNotEmpty(auctionSalesroom.getQrCode())){
+            return R.ok(auctionSalesroom.getQrCode());
+        }
         try {
-            return R.ok(auctionSalesroomService.getQrCode(id));
+
+            String qrCode = weChatUtil.getwxacodeunlimit("pagesA/auctionDetail/auctionDetail", "id=" + auctionSalesroom.getAuctionSalesroomNo(),
+                    EnvVersion.RELEASE, null);
+            auctionSalesroom.setQrCode(qrCode);
+            auctionSalesroomService.updateById(auctionSalesroom);
+            return R.ok(qrCode);
         } catch (Exception e) {
             log.info("查看二维码异常", e);
             return R.fail();
@@ -161,7 +173,22 @@
     public void export(@RequestBody MgtAuctionSalesroomQuery query, HttpServletResponse response) {
         PageDTO<MgtAuctionSalesroomVO> page = auctionSalesroomService.getAuctionSalesroomPage(query);
         if (page.isEmpty()){
-            return;
+            response.setContentType(
+                    "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
+            response.setCharacterEncoding("utf-8");
+            // 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系
+            try {
+                String fileName = URLEncoder.encode(
+                                "优惠券领取明细" + DateUtils.format(new Date(), "yyyyMMddHHmmss"), "UTF-8")
+                        .replaceAll("\\+", "%20");
+                response.setHeader("Content-disposition",
+                        "attachment;filename*=utf-8''" + fileName + ".xlsx");
+                EasyExcel.write(response.getOutputStream(), AuctionBidRecordVO.class)
+                        .sheet("优惠券领取明细")
+                        .doWrite(new ArrayDeque<>());
+            } catch (IOException e) {
+                throw new RuntimeException(e);
+            }
         }
 
         List<MgtAuctionSalesroomVO> list = page.getList();

--
Gitblit v1.7.1