From b95715d5cdc806cbb15cc7f49c538e61f5ab5dc6 Mon Sep 17 00:00:00 2001
From: jiangqs <jiangqs>
Date: 星期四, 03 八月 2023 13:31:46 +0800
Subject: [PATCH] bug和二维码

---
 ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml                              |   16 +-
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/MgtActivityPageVo.java               |    6 +
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteFileFallbackFactory.java   |    6 +
 ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/service/ActivityCodeServiceImpl.java             |   36 ++++-
 ruoyi-modules/ruoyi-goods/src/main/resources/mapper/activity/ActivityMapper.xml                        |    8 
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java           |   10 +
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/activity/ActivityServiceImpl.java |   10 +
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopStaffMapper.java                 |   10 +
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java       |   12 ++
 ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/CustomConfigMapper.xml                     |    4 
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/CodeGetDto.java               |   18 +++
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopStaffServiceImpl.java      |   17 ++
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/shop/Shop.java               |    3 
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/pojo/activity/Activity.java             |    6 
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/config/CustomConfigMapper.java        |    2 
 ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/utils/OBSUploadUtils.java                        |   91 ++++++++++++++
 ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/controller/FileController.java                   |   40 ++++++
 ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/service/ActivityCodeService.java                 |   28 ++-
 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteFileService.java           |   12 ++
 ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopStaffMapper.xml                            |    3 
 20 files changed, 294 insertions(+), 44 deletions(-)

diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/CodeGetDto.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/CodeGetDto.java
new file mode 100644
index 0000000..b8519c8
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/CodeGetDto.java
@@ -0,0 +1,18 @@
+package com.ruoyi.system.api.domain.dto;
+
+import lombok.Data;
+
+/**
+ * @ClassName CodeGetDto
+ * @Description TODO
+ * @Author jqs
+ * @Date 2023/8/3 12:53
+ * @Version 1.0
+ */
+@Data
+public class CodeGetDto {
+
+    private String url;
+
+    private String fileName;
+}
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/shop/Shop.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/shop/Shop.java
index a8ead45..5186b44 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/shop/Shop.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/shop/Shop.java
@@ -281,6 +281,9 @@
     @TableField("auth_flag")
     private Integer authFlag;
 
+    @TableField("shop_code")
+    private String shopCode;
+
     @Override
     protected Serializable pkVal() {
         return this.shopId;
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteFileFallbackFactory.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteFileFallbackFactory.java
index aa3c813..5a08282 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteFileFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteFileFallbackFactory.java
@@ -1,5 +1,6 @@
 package com.ruoyi.system.api.factory;
 
+import com.ruoyi.system.api.domain.dto.CodeGetDto;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.cloud.openfeign.FallbackFactory;
@@ -30,6 +31,11 @@
             {
                 return R.fail("上传文件失败:" + throwable.getMessage());
             }
+
+            @Override
+            public R<String> getAppOrderTotal(CodeGetDto codeGetDto) {
+                return R.fail("获取二维码失败:" + throwable.getMessage());
+            }
         };
     }
 }
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteFileService.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteFileService.java
index d6d3193..ad4773d 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteFileService.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteFileService.java
@@ -1,8 +1,10 @@
 package com.ruoyi.system.api.service;
 
+import com.ruoyi.system.api.domain.dto.CodeGetDto;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.http.MediaType;
 import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestPart;
 import org.springframework.web.multipart.MultipartFile;
 import com.ruoyi.common.core.constant.ServiceNameConstants;
@@ -26,4 +28,14 @@
      */
     @PostMapping(value = "/upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
     public R<SysFile> upload(@RequestPart(value = "file") MultipartFile file);
+
+    /**
+     * @description  生成二维码
+     * @author  jqs
+     * @date    2023/8/3 12:57
+     * @param codeGetDto
+     * @return  R<String>
+     */
+    @PostMapping("/file/getCodeUrl")
+    public R<String> getAppOrderTotal(@RequestBody CodeGetDto codeGetDto);
 }
diff --git a/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/controller/FileController.java b/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/controller/FileController.java
new file mode 100644
index 0000000..1736fd1
--- /dev/null
+++ b/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/controller/FileController.java
@@ -0,0 +1,40 @@
+package com.ruoyi.file.controller;
+
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.file.service.ActivityCodeService;
+import com.ruoyi.system.api.domain.dto.CodeGetDto;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+
+/**
+ * @ClassName FileController
+ * @Description TODO
+ * @Author jqs
+ * @Date 2023/8/3 12:50
+ * @Version 1.0
+ */
+@RestController
+@RequestMapping("/file")
+public class FileController {
+
+
+    @Resource
+    private ActivityCodeService activityCodeService;
+
+    @PostMapping("/getCodeUrl")
+    public R<String> getAppOrderTotal(@RequestBody CodeGetDto codeGetDto){
+        String url = null;
+        try {
+            url = activityCodeService.createActivityCode(codeGetDto.getUrl(),codeGetDto.getFileName());
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+        return R.ok(url);
+    }
+
+
+}
diff --git a/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/service/ActivityCodeService.java b/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/service/ActivityCodeService.java
index e79e269..3eb85c7 100644
--- a/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/service/ActivityCodeService.java
+++ b/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/service/ActivityCodeService.java
@@ -1,9 +1,5 @@
 package com.ruoyi.file.service;
 
-import me.chanjar.weixin.common.error.WxErrorException;
-
-import java.io.FileNotFoundException;
-
 /**
  * @ClassName ActivityCodeService
  * @Description TODO
@@ -16,22 +12,32 @@
 
 
     /**
-     * @description  生成活动二维码
+     * @description  生成二维码
      * @author  jqs
-     * @date    2023/7/26 19:09
-     * @param activityId
-     * @return  void
+     * @date    2023/8/3 12:44
+     * @param url
+     * @return  String
      */
-    public String createActivityCode(String activityId);
+    public String createActivityCode(String url, String fileName) throws Exception;
 
 
     /**
-     * @description  生成活动二维码
+     * @description  生成微信活动二维码
      * @author  jqs
      * @date    2023/7/26 19:09
      * @param activityId
      * @return  void
      */
-    public String createActivityCode(String activityId,String backImageUrl) throws WxErrorException, FileNotFoundException;
+    public String createActivityWxCode(String activityId);
+
+
+    /**
+     * @description  生成活动海报
+     * @author  jqs
+     * @date    2023/7/26 19:09
+     * @param activityId
+     * @return  void
+     */
+    public String createActivityPoster(String activityId, String backImageUrl) throws Exception;
 
 }
diff --git a/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/service/ActivityCodeServiceImpl.java b/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/service/ActivityCodeServiceImpl.java
index 009a019..270076f 100644
--- a/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/service/ActivityCodeServiceImpl.java
+++ b/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/service/ActivityCodeServiceImpl.java
@@ -5,7 +5,6 @@
 import cn.hutool.core.img.ImgUtil;
 import cn.hutool.extra.qrcode.QrCodeUtil;
 import com.ruoyi.file.utils.OBSUploadUtils;
-import me.chanjar.weixin.common.error.WxErrorException;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -27,6 +26,22 @@
 
 
     /**
+     * @description  生成二维码
+     * @author  jqs
+     * @date    2023/8/3 12:44
+     * @param url
+     * @return  String
+     */
+    @Override
+    public String createActivityCode(String url, String fileName) throws Exception {
+        File qrCodeFile = new File("/home/image/qrcode.png");// 生成二维码
+        QrCodeUtil.generate(url, 100, 100, qrCodeFile);
+        InputStream codeStream = new FileInputStream(qrCodeFile);
+        String fileUrl =  OBSUploadUtils.uploadInputStream(codeStream,fileName);
+        return fileUrl;
+    }
+
+    /**
      * @description  生成活动二维码
      * @author  jqs
      * @date    2023/7/26 19:09
@@ -34,7 +49,7 @@
      * @return  void
      */
     @Override
-    public String createActivityCode(String activityId){
+    public String createActivityWxCode(String activityId){
 
         WxMaQrcodeService wxMaQrcodeService = wxMaService.getQrcodeService();
         String scene = activityId;
@@ -57,29 +72,28 @@
      * @return  void
      */
     @Override
-    public String createActivityCode(String activityId,String backImageUrl) throws WxErrorException, FileNotFoundException {
-
-
+    public String createActivityPoster(String activityId,String backImageUrl) throws Exception {
         String fileUrl = null;
         File qrCodeFile = new File("/home/image/qrcode.png");
         // 二维码内容
-        String text = ""+activityId;
+        String text = "https://wxapp.hhhrt.cn/mini/activity?"+activityId;
         // 生成二维码
-        QrCodeUtil.generate(text, 100, 100, qrCodeFile);
-        File backFile ;
+        QrCodeUtil.generate(text, 200, 200, qrCodeFile);
         ByteArrayOutputStream out = new ByteArrayOutputStream();
         InputStream codeStream = new FileInputStream(qrCodeFile);
-        InputStream backStream = new FileInputStream(qrCodeFile);
+        backImageUrl = backImageUrl.replace("https://hongruitang.oss-cn-beijing.aliyuncs.com/","");
+        InputStream backStream = OBSUploadUtils.getOSSInputStream(backImageUrl);
         // 将图片合成在一起
         ImgUtil.pressImage(
                 backStream, // 主图片
                 out, // 输出图片
-                ImgUtil.read(codeStream).getScaledInstance(516, 516, Image.SCALE_DEFAULT), //水印图片
+                ImgUtil.read(codeStream).getScaledInstance(200, 200, Image.SCALE_DEFAULT), //水印图片
                 0, //x坐标修正值。 默认在中间,偏移量相对于中间偏移
-                0, //y坐标修正值。 默认在中间,偏移量相对于中间偏移
+                350, //y坐标修正值。 默认在中间,偏移量相对于中间偏移
                 1.0f
         );
         InputStream inputStream = new ByteArrayInputStream(out.toByteArray());
+        fileUrl =  OBSUploadUtils.uploadInputStream(inputStream,activityId);
         return fileUrl;
     }
 }
diff --git a/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/utils/OBSUploadUtils.java b/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/utils/OBSUploadUtils.java
index fc18bc6..8fcbc61 100644
--- a/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/utils/OBSUploadUtils.java
+++ b/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/utils/OBSUploadUtils.java
@@ -1,16 +1,19 @@
 package com.ruoyi.file.utils;
 
+import cn.hutool.core.img.ImgUtil;
+import cn.hutool.extra.qrcode.QrCodeUtil;
 import com.aliyun.oss.ClientException;
 import com.aliyun.oss.OSS;
 import com.aliyun.oss.OSSClientBuilder;
 import com.aliyun.oss.OSSException;
+import com.aliyun.oss.model.OSSObject;
 import com.aliyun.oss.model.PutObjectRequest;
 import com.aliyun.oss.model.PutObjectResult;
 import com.ruoyi.common.core.utils.uuid.IdUtils;
 import org.springframework.web.multipart.MultipartFile;
 
-import java.io.File;
-import java.io.InputStream;
+import java.awt.*;
+import java.io.*;
 import java.util.Calendar;
 
 /**
@@ -22,6 +25,31 @@
  */
 public class OBSUploadUtils {
 
+    public static void main(String[] args) throws Exception {
+        String activityId = "123";
+        String backImageUrl = "2023/8/3/6742e22f748349429e454c9c6ba168ee.jpg";
+        String fileUrl = null;
+        File qrCodeFile = new File("/home/image/qrcode.png");
+        // 二维码内容
+        String text = "https://wxapp.hhhrt.cn/mini/activity?"+activityId;
+        // 生成二维码
+        QrCodeUtil.generate(text, 100, 100, qrCodeFile);
+        ByteArrayOutputStream out = new ByteArrayOutputStream();
+        InputStream codeStream = new FileInputStream(qrCodeFile);
+        InputStream backStream = OBSUploadUtils.getOSSInputStream(backImageUrl);
+        // 将图片合成在一起
+        ImgUtil.pressImage(
+                backStream, // 主图片
+                out, // 输出图片
+                ImgUtil.read(codeStream).getScaledInstance(200, 200, Image.SCALE_DEFAULT), //水印图片
+                0, //x坐标修正值。 默认在中间,偏移量相对于中间偏移
+                350, //y坐标修正值。 默认在中间,偏移量相对于中间偏移
+                1.0f
+        );
+        InputStream inputStream = new ByteArrayInputStream(out.toByteArray());
+        fileUrl =  OBSUploadUtils.uploadInputStream(inputStream,activityId);
+        System.out.println(fileUrl);
+    }
 
     protected static OSS createOss(){
         // Endpoint以华东1(杭州)为例,其它Region请按实际情况填写。
@@ -58,6 +86,55 @@
             String prefix = fileName.substring(fileName.lastIndexOf("."));
             String objectName = filePath + uuid + prefix;
             InputStream inputStream = file.getInputStream();
+            // 创建PutObjectRequest对象。
+            PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, objectName, inputStream);
+            // 设置该属性可以返回response。如果不设置,则返回的response为空。
+            putObjectRequest.setProcess("true");
+            // 创建PutObject请求。
+            result = ossClient.putObject(putObjectRequest);
+            // 如果上传成功,则返回200。
+            System.out.println(fileName + "上传返回" + result.getResponse().getStatusCode());
+            return result.getResponse().getUri();
+        } catch (OSSException oe) {
+            System.out.println("Caught an OSSException, which means your request made it to OSS, "
+                    + "but was rejected with an error response for some reason.");
+            System.out.println("Error Message:" + oe.getErrorMessage());
+            System.out.println("Error Code:" + oe.getErrorCode());
+            System.out.println("Request ID:" + oe.getRequestId());
+            System.out.println("Host ID:" + oe.getHostId());
+        } catch (ClientException ce) {
+            System.out.println("Caught an ClientException, which means the client encountered "
+                    + "a serious internal problem while trying to communicate with OSS, "
+                    + "such as not being able to access the network.");
+            System.out.println("Error Message:" + ce.getMessage());
+        } finally {
+            if (ossClient != null) {
+                ossClient.shutdown();
+            }
+        }
+        return result.getResponse().getErrorResponseAsString();
+    }
+
+    public static String uploadInputStream (InputStream inputStream,String fileName) throws Exception {
+
+        // 填写Object完整路径,完整路径中不能包含Bucket名称,例如exampledir/exampleobject.txt。
+        String bucketName = "hongruitang";
+        Calendar calendar = Calendar.getInstance();
+        // 获取当前年
+        String year = String.valueOf(calendar.get(Calendar.YEAR));
+        // 获取当前月
+        String month = String.valueOf(calendar.get(Calendar.MONTH) + 1);
+        // 获取当前日
+        String day = String.valueOf(calendar.get(Calendar.DATE));
+        String filePath = year+"/"+month+"/"+day+"/";
+        String uuid = IdUtils.fastSimpleUUID();
+        // 创建OSSClient实例。
+        OSS ossClient = createOss();
+        PutObjectResult result = null;
+        try {
+
+            System.out.println(fileName + "开始上传");
+            String objectName = filePath + fileName + ".jpg";
             // 创建PutObjectRequest对象。
             PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, objectName, inputStream);
             // 设置该属性可以返回response。如果不设置,则返回的response为空。
@@ -134,9 +211,13 @@
         return result.getResponse().getErrorResponseAsString();
     }
 
-    public static void getOSSFile(String key) throws Exception {
-
-
+    public static InputStream getOSSInputStream(String key) throws Exception {
+        String bucketName = "hongruitang";
+        // 创建OSSClient实例。
+        OSS ossClient = createOss();
+        OSSObject ossObject = ossClient.getObject(bucketName,key);
+        InputStream inputStream = ossObject.getObjectContent();
+        return inputStream;
     }
 
 }
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/pojo/activity/Activity.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/pojo/activity/Activity.java
index 73ba653..b648420 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/pojo/activity/Activity.java
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/pojo/activity/Activity.java
@@ -127,7 +127,11 @@
      */
     @TableField("activity_introduce")
     private String activityIntroduce;
-
+    /**
+     * 活动二维码
+     */
+    @TableField("activity_code")
+    private String activityCode;
 
     @Override
     protected Serializable pkVal() {
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/MgtActivityPageVo.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/MgtActivityPageVo.java
index 214a44a..cbe1e57 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/MgtActivityPageVo.java
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/MgtActivityPageVo.java
@@ -48,4 +48,10 @@
     @ApiModelProperty(value = "创建时间")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date createTime;
+
+    @ApiModelProperty(value = "活动二维码地址")
+    private String activityCode;
+
+    @ApiModelProperty(value = "背景海报地址")
+    private String propagandaPoster;
 }
diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/activity/ActivityServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/activity/ActivityServiceImpl.java
index ec44e37..63415ad 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/activity/ActivityServiceImpl.java
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/activity/ActivityServiceImpl.java
@@ -29,6 +29,7 @@
 import com.ruoyi.system.api.domain.vo.MgtSimpleShopVo;
 import com.ruoyi.system.api.domain.vo.MgtUserIdByKeywordVo;
 import com.ruoyi.system.api.service.RemoteConfigService;
+import com.ruoyi.system.api.service.RemoteFileService;
 import com.ruoyi.system.api.service.RemoteMemberService;
 import com.ruoyi.system.api.service.RemoteShopService;
 import org.redisson.api.RLock;
@@ -85,6 +86,9 @@
     @Autowired
     private RedissonClient redissonClient;
 
+    @Resource
+    private RemoteFileService remoteFileService;
+
     /**
      * @param mgtActivityEditDto
      * @return void
@@ -123,6 +127,12 @@
             activityTotal.setRefundTotal(0);
             activityTotal.setOrderMoneyTotal(BigDecimal.ZERO);
             activityTotalService.save(activityTotal);
+            CodeGetDto codeGetDto = new CodeGetDto();
+            String url = "https://wxapp.hhhrt.cn/mini/activity?activityId="+activityId;
+            codeGetDto.setUrl(url);
+            codeGetDto.setFileName("activity-"+activityId);
+            String codeUrl = remoteFileService.getAppOrderTotal(codeGetDto).getData();
+            activity.setActivityCode(codeUrl);
         }
         // 获取活动开始时间和结束时间
         Date activityStartTime = mgtActivityEditDto.getActivityStartTime();
diff --git a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/activity/ActivityMapper.xml b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/activity/ActivityMapper.xml
index 44e942b..36ac2b1 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/activity/ActivityMapper.xml
+++ b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/activity/ActivityMapper.xml
@@ -23,7 +23,9 @@
                 WHEN 1 THEN '是'
                 ELSE '否'
                 END recommendFlag,
-            ta.create_time createTime
+            ta.create_time createTime,
+            ta.activity_code activityCode,
+            ta.propaganda_poster propagandaPoster
         FROM t_activity ta
         INNER JOIN t_activity_total tat ON ta.activity_id = tat.activity_id
         WHERE ta.del_flag = 0
@@ -61,10 +63,10 @@
             AND FIND_IN_SET(#{param.userIds}, user_id) &gt; 0
         </if>
         <if test="param.createStartTime!=null and param.createStartTime != ''">
-            AND Date(ta.create_time) &gt;= #{param.createStartTime}
+            AND Date(create_time) &gt;= #{param.createStartTime}
         </if>
         <if test="param.createEndTime!=null and param.createEndTime != ''">
-            AND Date(ta.create_time) &lt;= #{param.createEndTime}
+            AND Date(create_time) &lt;= #{param.createEndTime}
         </if>
         <if test="param.orderFlag!=null and param.orderFlag == 1">
             AND order_id IS NOT NULL
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
index 15fa0a9..f22e1a5 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
@@ -3268,6 +3268,18 @@
     @Override
     public MerTotalOrderVo totalMerOrder(MerOrderPageDto merOrderPageDto) {
         MerTotalOrderVo merTotalOrderVo = new MerTotalOrderVo();
+        if(StringUtils.isNotBlank(merOrderPageDto.getKeyword())){
+            MgtUserIdByKeywordDto userIdByKeywordDto = new MgtUserIdByKeywordDto();
+            userIdByKeywordDto.setKeyword(merOrderPageDto.getKeyword());
+            MgtUserIdByKeywordVo userIdByKeywordVo = remoteMemberService.getUserIdByKeyword(userIdByKeywordDto).getData();
+            if(StringUtils.isNotBlank(userIdByKeywordVo.getUserIds())){
+                List<Long> userIdList = Arrays.stream(userIdByKeywordVo.getUserIds().split(","))
+                        .map(Long::parseLong)
+                        .collect(Collectors.toList());
+                merOrderPageDto.setMemberUserIdList(userIdList);
+                merOrderPageDto.setMemberUserId(null);
+            }
+        }
         merTotalOrderVo = orderMapper.totalMerOrder(merOrderPageDto);
         return merTotalOrderVo;
     }
diff --git a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml
index e77189a..6d6650e 100644
--- a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml
+++ b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml
@@ -1454,28 +1454,28 @@
         FROM t_order
         WHERE del_flag = 0 AND shop_id = #{param.shopId}
         <if test="param.memberUserId != null and param.memberUserId != ''">
-            AND toc.user_id = #{param.memberUserId}
+            AND user_id = #{param.memberUserId}
         </if>
         <if test="param.type != null and param.type ==1 ">
-            AND (toc.order_status = 2 OR toc.order_status = 3)
+            AND (order_status = 2 OR order_status = 3)
         </if>
         <if test="param.type != null and param.type ==2 ">
-            AND toc.order_status = 2
+            AND order_status = 2
         </if>
         <if test="param.type != null and param.type ==3 ">
-            AND toc.order_status = 3
+            AND order_status = 3
         </if>
         <if test="param.orderFrom != null and param.orderFrom != '' ">
-            AND toc.order_from = #{param.orderFrom}
+            AND order_from = #{param.orderFrom}
         </if>
         <if test="param.startOrderDate != null and param.startOrderDate != '' ">
-            AND Date(toc.create_time) &gt;= #{param.startOrderDate}
+            AND Date(create_time) &gt;= #{param.startOrderDate}
         </if>
         <if test="param.endOrderDate != null and param.endOrderDate != '' ">
-            AND Date(toc.create_time) &lt;= #{param.endOrderDate}
+            AND Date(create_time) &lt;= #{param.endOrderDate}
         </if>
         <if test="param.keyword != null and param.keyword != ''">
-            AND (toc.order_no LIKE CONCAT('%',#{param.keyword},'%') OR tog.goods_name LIKE CONCAT('%',#{param.keyword},'%'))
+            AND order_no LIKE CONCAT('%',#{param.keyword},'%')
         </if>
     </select>
 
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopStaffMapper.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopStaffMapper.java
index 8c6edb0..0d70a68 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopStaffMapper.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopStaffMapper.java
@@ -19,4 +19,14 @@
      * @param shopId
      */
     void clearShopStaffRelation(@Param("shopId") Long shopId);
+    
+    /**
+     * @description  
+     * @author  jqs
+     * @date    2023/8/3 13:19
+     * @param shopId
+     * @param codeUrl
+     * @return  void
+     */
+    void updateShopCodeUrl(@Param("shopId") Long shopId,@Param("codeUrl") String codeUrl);
 }
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java
index eb19b56..15d93e7 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java
@@ -107,6 +107,9 @@
     private RemoteSysStaffService remoteSysStaffService;
 
     @Resource
+    private RemoteFileService remoteFileService;
+
+    @Resource
     private ShopTaskService shopTaskService;
 
     @Resource
@@ -300,6 +303,13 @@
         if(newShop){
             //生成商户关联记录
             initNewShop(shop,mgtEditShopDto.getUserId());
+            CodeGetDto codeGetDto = new CodeGetDto();
+            String url = "https://wxapp.hhhrt.cn/mini/activity?activityId="+shop.getShopId();
+            codeGetDto.setUrl(url);
+            codeGetDto.setFileName("shop-"+shop.getShopId());
+            String codeUrl = remoteFileService.getAppOrderTotal(codeGetDto).getData();
+            shop.setShopCode(codeUrl);
+            this.saveOrUpdate(shop);
         }
     }
 
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopStaffServiceImpl.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopStaffServiceImpl.java
index e5afe26..0e9f127 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopStaffServiceImpl.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopStaffServiceImpl.java
@@ -10,10 +10,12 @@
 import com.ruoyi.shop.mapper.shop.ShopStaffMapper;
 import com.ruoyi.shop.service.shop.ShopStaffService;
 import com.ruoyi.system.api.domain.dto.AppEditUserDto;
+import com.ruoyi.system.api.domain.dto.CodeGetDto;
 import com.ruoyi.system.api.domain.dto.MerEditUserDto;
 import com.ruoyi.system.api.domain.dto.MgtShopStaffEditDto;
 import com.ruoyi.system.api.domain.poji.shop.Shop;
 import com.ruoyi.system.api.domain.vo.MerStaffInfoVo;
+import com.ruoyi.system.api.service.RemoteFileService;
 import com.ruoyi.system.api.service.RemoteSysStaffService;
 import com.ruoyi.system.api.service.RemoteUserService;
 import org.springframework.stereotype.Service;
@@ -41,6 +43,8 @@
     @Resource
     private RemoteSysStaffService remoteSysStaffService;
 
+    @Resource
+    private RemoteFileService remoteFileService;
     /**
      *
      * @param userId
@@ -82,8 +86,17 @@
         merStaffInfoVo.setBusinessTime(shop.getBusinessStartTime()+"-"+shop.getBusinessEndTime());
         merStaffInfoVo.setShopType(shop.getShopType());
         merStaffInfoVo.setShopNumber(shop.getShopNumber());
-        String shopCodeUrl = "https://wxapp.hhhrt.cn/mini/shop?shopId="+shop.getShopId();
-        merStaffInfoVo.setShopCodeUrl(shopCodeUrl);
+        if(StringUtils.isNotBlank(shop.getShopCode())){
+            merStaffInfoVo.setShopCodeUrl(shop.getShopCode());
+        }else{
+            CodeGetDto codeGetDto = new CodeGetDto();
+            String url = "https://wxapp.hhhrt.cn/mini/activity?activityId="+shop.getShopId();
+            codeGetDto.setUrl(url);
+            codeGetDto.setFileName("shop-"+shop.getShopId());
+            String codeUrl = remoteFileService.getAppOrderTotal(codeGetDto).getData();
+            merStaffInfoVo.setShopCodeUrl(codeUrl);
+            shopStaffMapper.updateShopCodeUrl(shop.getShopId(),codeUrl);
+        }
         return merStaffInfoVo;
     }
 
diff --git a/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopStaffMapper.xml b/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopStaffMapper.xml
index 5dbeee5..9d1166a 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopStaffMapper.xml
+++ b/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopStaffMapper.xml
@@ -8,4 +8,7 @@
         UPDATE t_shop_staff SET del_flag = 1 WHERE del_flag = 0 AND shop_id = #{shopId}
     </update>
 
+    <update id="clearShopStaffRelation">
+        UPDATE t_shop SET shop_code =  #{codeUrl} WHERE shop_id = #{shopId}
+    </update>
 </mapper>
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/config/CustomConfigMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/config/CustomConfigMapper.java
index 12da256..f29af14 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/config/CustomConfigMapper.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/config/CustomConfigMapper.java
@@ -5,7 +5,7 @@
 import com.ruoyi.system.domain.pojo.config.CustomConfig;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ruoyi.system.domain.vo.MgtOperLogPageVo;
-import io.lettuce.core.dynamic.annotation.Param;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/CustomConfigMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/CustomConfigMapper.xml
index 266b943..24016b5 100644
--- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/CustomConfigMapper.xml
+++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/CustomConfigMapper.xml
@@ -20,10 +20,10 @@
         FROM sys_oper_log
         WHERE operator_type = 1 AND del_flag = 0
         <if test="param.operContent != null and param.operContent !=''">
-            oper_content LIKE concat('%', #{param.operContent}, '%')
+            AND oper_content LIKE concat('%', #{param.operContent}, '%')
         </if>
         <if test="param.operTitle != null and param.operTitle !=''">
-            title = #{param.operTitle}
+            AND title = #{param.operTitle}
         </if>
         <if test="param.operStartTime!=null and param.operStartTime!=''">
             AND Date(oper_time) &gt;= #{param.operStartTime}

--
Gitblit v1.7.1