From 9b51a95fa8bc9b3a86108c6900e17fc55f8db467 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Mon, 19 May 2025 17:02:07 +0800
Subject: [PATCH] refactor(vip): 优化积分和返佣计算逻辑

---
 src/main/java/cc/mrbird/febs/mall/controller/CommonController.java |   88 ++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 84 insertions(+), 4 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/controller/CommonController.java b/src/main/java/cc/mrbird/febs/mall/controller/CommonController.java
index 12fecbc..afc1e6f 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/CommonController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/CommonController.java
@@ -2,20 +2,22 @@
 
 import cc.mrbird.febs.common.annotation.ControllerEndpoint;
 import cc.mrbird.febs.common.entity.FebsResponse;
+import cc.mrbird.febs.common.enumerates.CommonDictionaryEnum;
 import cc.mrbird.febs.common.exception.FebsException;
 import cc.mrbird.febs.common.utils.*;
 import cc.mrbird.febs.mall.dto.AccountAndCodeDto;
 import cc.mrbird.febs.mall.dto.Base64UploadDto;
 import cc.mrbird.febs.mall.entity.DataDictionaryCustom;
 import cc.mrbird.febs.mall.service.ICommonService;
+import cc.mrbird.febs.mall.vo.ScoreSignVo;
+import cc.mrbird.febs.mall.vo.common.ApiCommonSetVo;
+import cc.mrbird.febs.mall.vo.common.ApiIndexSetVo;
 import cn.hutool.core.io.file.FileNameUtil;
 import cn.hutool.core.lang.UUID;
 import cn.hutool.core.util.IdUtil;
 import cn.hutool.core.util.StrUtil;
 import com.thoughtworks.xstream.core.BaseException;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
+import io.swagger.annotations.*;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import net.coobird.thumbnailator.Thumbnails;
@@ -189,6 +191,84 @@
         return new FebsResponse().success().data(dic);
     }
 
+    @ApiOperation(value = "小程序系统公共设置")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "success", response = ApiCommonSetVo.class)
+    })
+    @GetMapping(value = "/commonSet")
+    public FebsResponse commonSet() {
+        ApiCommonSetVo apiCommonSetVo = new ApiCommonSetVo();
+
+        String graySet = commonService.getDicByTypeAndCode(
+                CommonDictionaryEnum.GRAY_SET.getType(),
+                CommonDictionaryEnum.GRAY_SET.getCode()
+        );
+        if (graySet == null) {
+            graySet = "0";
+        }
+        apiCommonSetVo.setGrayState(graySet);
+        return new FebsResponse().success().data(apiCommonSetVo);
+    }
+
+    @ApiOperation(value = "小程序开屏页设置")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "success", response = ApiIndexSetVo.class)
+    })
+    @GetMapping(value = "/indexSet")
+    public FebsResponse indexSet() {
+        ApiIndexSetVo apiIndexSetVo = new ApiIndexSetVo();
+
+        String pngUrl = commonService.getDicByTypeAndCode(
+                CommonDictionaryEnum.PNG_URL_INDEX.getType(),
+                CommonDictionaryEnum.PNG_URL_INDEX.getCode()
+        );
+        if (pngUrl == null) {
+            pngUrl = "";
+        }
+        apiIndexSetVo.setPngUrl(pngUrl);
+
+        String timeStop = commonService.getDicByTypeAndCode(
+                CommonDictionaryEnum.TIME_URL_INDEX.getType(),
+                CommonDictionaryEnum.TIME_URL_INDEX.getCode()
+        );
+        if (timeStop == null) {
+            timeStop = "3";
+        }
+        apiIndexSetVo.setTimeStop(timeStop);
+        return new FebsResponse().success().data(apiIndexSetVo);
+    }
+
+    @ApiOperation(value = "base64FileUpload上传")
+    @PostMapping(value = "/base64FileUpload")
+    public Map<String,Object> base64FileUpload(@RequestBody @Validated MultipartFile file) throws IOException {
+        if (file == null || file.isEmpty()) {
+            return new FebsResponse().message("上传文件为空").fail();
+        }
+
+        try {
+            byte[] fileBytes = file.getBytes();
+            String base64Str = java.util.Base64.getEncoder().encodeToString(fileBytes);
+            String imageSuffix = "." + file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".") + 1);
+            String imageNames = System.currentTimeMillis() + IdUtil.simpleUUID() + imageSuffix;
+            String imageName = "hc/" + imageNames;
+            OssUtils.uploadFileWithBase64(base64Str, imageName);
+            String bucket_name = "https://excoin.oss-cn-hangzhou.aliyuncs.com";
+            String url = bucket_name + "/" + imageName;
+
+            Map<String,Object> map = new HashMap<String,Object>();
+            Map<String,Object> map2 = new HashMap<String,Object>();
+            map2.put("src",url);//图片url
+            map2.put("title",imageNames);//图片名称,这个会显示在输入框里
+            map.put("code",0);//0表示成功,1失败
+            map.put("msg","上传成功");//提示消息
+            map.put("data",map2);
+            return map;
+        } catch (IOException e) {
+            log.error("上传失败: {}", e.getMessage());
+            return new FebsResponse().message("上传失败").fail();
+        }
+    }
+
     @ApiOperation(value = "base64上传")
     @PostMapping(value = "/base64Upload")
     public FebsResponse base64Upload(@RequestBody @Validated Base64UploadDto base64UploadDto) {
@@ -199,7 +279,7 @@
 
         String imageFuffix = ".jpg";
         String imageNames = System.currentTimeMillis() + IdUtil.simpleUUID() + imageFuffix;
-        String imageName = "uploadeFile/" + imageNames;
+        String imageName = "hc/" + imageNames;
         OssUtils.uploadFileWithBase64(base64Str, imageName);
         String bucket_name ="https://excoin.oss-cn-hangzhou.aliyuncs.com";
         String url = bucket_name + "/" + imageName;

--
Gitblit v1.9.1