From bc17bd6324288676fe4e7a843921e57e82c7b217 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期二, 30 九月 2025 19:21:41 +0800
Subject: [PATCH] 更新

---
 framework/src/main/java/cn/lili/modules/lmk/service/impl/StorePrizeProofServiceImpl.java  |   20 ++++++
 framework/src/main/java/cn/lili/modules/lmk/service/PrizeClaimRecordService.java          |    2 
 framework/src/main/java/cn/lili/modules/lmk/service/ScanPrizeService.java                 |    2 
 framework/src/main/java/cn/lili/modules/lmk/domain/form/StorePrizeProofForm.java          |    3 
 framework/src/main/resources/mapper/lmk/PrizeClaimRecordMapper.xml                        |    3 +
 seller-api/src/main/java/cn/lili/controller/activity/ManagerUploadController.java         |   61 ++++++++++++++++++++
 framework/src/main/java/cn/lili/modules/lmk/domain/query/PrizeClaimRecordQuery.java       |    1 
 framework/src/main/java/cn/lili/modules/lmk/service/impl/ScanPrizeServiceImpl.java        |    9 --
 manager-api/src/main/java/cn/lili/controller/lmk/ScanPrizeController.java                 |   26 ++++++++
 framework/src/main/java/cn/lili/modules/lmk/service/impl/PrizeClaimRecordServiceImpl.java |    9 ++
 seller-api/src/main/java/cn/lili/controller/activity/StorePrizeClaimController.java       |   20 ++++--
 11 files changed, 135 insertions(+), 21 deletions(-)

diff --git a/framework/src/main/java/cn/lili/modules/lmk/domain/form/StorePrizeProofForm.java b/framework/src/main/java/cn/lili/modules/lmk/domain/form/StorePrizeProofForm.java
index 95aa13e..fc93554 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/domain/form/StorePrizeProofForm.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/domain/form/StorePrizeProofForm.java
@@ -27,10 +27,11 @@
     @ApiModelProperty("鎶藉娲诲姩棰嗗彇琛╥d")
     private String storePrizeClaimId;
 
-    @NotBlank(message = "闄勪欢鍦板潃涓嶈兘涓虹┖", groups = {Add.class, Update.class})
     @ApiModelProperty("闄勪欢鍦板潃")
     private String urlPath;
 
+    private String content;
+
     public static StorePrizeProof getEntityByForm(@NonNull StorePrizeProofForm form, StorePrizeProof entity) {
         if(entity == null) {
           entity = new StorePrizeProof();
diff --git a/framework/src/main/java/cn/lili/modules/lmk/domain/query/PrizeClaimRecordQuery.java b/framework/src/main/java/cn/lili/modules/lmk/domain/query/PrizeClaimRecordQuery.java
index ea5e56f..652c68a 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/domain/query/PrizeClaimRecordQuery.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/domain/query/PrizeClaimRecordQuery.java
@@ -19,5 +19,6 @@
 @ApiModel(value = "PrizeClaimRecord鏌ヨ鍙傛暟", description = "搴楅摵鎶藉娲诲姩棰嗗彇琛ㄦ煡璇㈠弬鏁�")
 public class PrizeClaimRecordQuery extends AbsQuery {
     private String storePrizeId;
+    private String storeId;
 }
 
diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/PrizeClaimRecordService.java b/framework/src/main/java/cn/lili/modules/lmk/service/PrizeClaimRecordService.java
index e90fd83..763c3d5 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/service/PrizeClaimRecordService.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/service/PrizeClaimRecordService.java
@@ -50,7 +50,7 @@
      * @param query
      * @return
      */
-    Result page(PrizeClaimRecordQuery query);
+    Result page(PrizeClaimRecordQuery query,String from);
 
     /**
      * 鏍规嵁id鏌ユ壘
diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/ScanPrizeService.java b/framework/src/main/java/cn/lili/modules/lmk/service/ScanPrizeService.java
index c297ca5..926b9bf 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/service/ScanPrizeService.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/service/ScanPrizeService.java
@@ -48,7 +48,7 @@
      * @param query
      * @return
      */
-    Result page(ScanPrizeQuery query,String form);
+    Result page(ScanPrizeQuery query);
 
     /**
      * 鏍规嵁id鏌ユ壘
diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/impl/PrizeClaimRecordServiceImpl.java b/framework/src/main/java/cn/lili/modules/lmk/service/impl/PrizeClaimRecordServiceImpl.java
index 45bf2c7..381a829 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/service/impl/PrizeClaimRecordServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/service/impl/PrizeClaimRecordServiceImpl.java
@@ -18,6 +18,7 @@
 import cn.lili.modules.lmk.mapper.PrizeClaimRecordMapper;
 import cn.lili.modules.lmk.service.PrizeClaimRecordService;
 import cn.lili.base.Result;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import cn.lili.modules.lmk.domain.form.PrizeClaimRecordForm;
@@ -104,8 +105,14 @@
      * @return
      */
     @Override
-    public Result page(PrizeClaimRecordQuery query) {
+    public Result page(PrizeClaimRecordQuery query,String from) {
         IPage<PrizeClaimRecordVO> page = PageUtil.getPage(query, PrizeClaimRecordVO.class);
+
+        if ("seller".equals(from)){
+            String storeId = UserContext.getCurrentUser().getStoreId();
+            query.setStoreId(storeId);
+        }
+
         baseMapper.getPage(page, query);
         return Result.ok().data(page.getRecords()).total(page.getTotal());
     }
diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/impl/ScanPrizeServiceImpl.java b/framework/src/main/java/cn/lili/modules/lmk/service/impl/ScanPrizeServiceImpl.java
index a716a33..210eaf1 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/service/impl/ScanPrizeServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/service/impl/ScanPrizeServiceImpl.java
@@ -119,19 +119,12 @@
      * @return
      */
     @Override
-    public Result page(ScanPrizeQuery query,String form) {
+    public Result page(ScanPrizeQuery query) {
         IPage<ScanPrizeVO> page = PageUtil.getPage(query, ScanPrizeVO.class);
         LambdaQueryWrapper<ScanPrize> wrapper = Wrappers.lambdaQuery();
         wrapper.eq(Objects.nonNull(query.getStoreId()), ScanPrize::getStoreId, query.getStoreId());
         wrapper.eq(StringUtils.isNotBlank(query.getStatus()), ScanPrize::getStatus, query.getStatus());
         wrapper.eq(StringUtils.isNotBlank(query.getGenerateStatus()), ScanPrize::getGenerateStatus, query.getGenerateStatus());
-        if("seller".equals(form)){
-            String storeId = UserContext.getCurrentUser().getStoreId();
-            if (StringUtils.isNotBlank(storeId)){
-                wrapper.eq(ScanPrize::getStoreId, storeId);
-            }
-        }
-
         baseMapper.getPage(page, query);
         return Result.ok().data(page.getRecords()).total(page.getTotal());
     }
diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/impl/StorePrizeProofServiceImpl.java b/framework/src/main/java/cn/lili/modules/lmk/service/impl/StorePrizeProofServiceImpl.java
index 4c55b59..8d00601 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/service/impl/StorePrizeProofServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/service/impl/StorePrizeProofServiceImpl.java
@@ -1,5 +1,10 @@
 package cn.lili.modules.lmk.service.impl;
 
+import cn.lili.modules.lmk.domain.entity.PrizeClaimRecord;
+import cn.lili.modules.lmk.domain.vo.PrizeClaimRecordVO;
+import cn.lili.modules.lmk.enums.general.MaterialStatusEnum;
+import cn.lili.modules.lmk.mapper.PrizeClaimRecordMapper;
+import cn.lili.modules.lmk.service.PrizeClaimRecordService;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import cn.lili.modules.lmk.domain.entity.StorePrizeProof;
 import cn.lili.modules.lmk.mapper.StorePrizeProofMapper;
@@ -30,6 +35,7 @@
 
     private final StorePrizeProofMapper storePrizeProofMapper;
 
+    private final PrizeClaimRecordMapper prizeClaimRecordMapper;
     /**
      * 娣诲姞
      * @param form
@@ -38,7 +44,19 @@
     @Override
     public Result add(StorePrizeProofForm form) {
         StorePrizeProof entity = StorePrizeProofForm.getEntityByForm(form, null);
-        baseMapper.insert(entity);
+        System.out.println(form);
+        PrizeClaimRecord prizeClaimRecord = prizeClaimRecordMapper.selectById(form.getStorePrizeClaimId());
+        System.out.println(prizeClaimRecord);
+        if (prizeClaimRecord != null) {
+
+            prizeClaimRecord.setMaterial(MaterialStatusEnum.GENERATE.name());
+            prizeClaimRecordMapper.updateById(prizeClaimRecord);
+            baseMapper.insert(entity);
+        }
+
+
+
+        //淇敼 棰嗗彇璁板綍鐨勭姸鎬�
         return Result.ok("娣诲姞鎴愬姛");
     }
 
diff --git a/framework/src/main/resources/mapper/lmk/PrizeClaimRecordMapper.xml b/framework/src/main/resources/mapper/lmk/PrizeClaimRecordMapper.xml
index 41f3bff..76c669a 100644
--- a/framework/src/main/resources/mapper/lmk/PrizeClaimRecordMapper.xml
+++ b/framework/src/main/resources/mapper/lmk/PrizeClaimRecordMapper.xml
@@ -59,6 +59,9 @@
         <if test="query.storePrizeId !=null and query.storePrizeId !=''">
             AND LPCR.store_prize_id = #{query.storePrizeId}
         </if>
+        <if test="query.storeId !=null and query.storeId !=''">
+            AND LPCR.store_id = #{query.storeId}
+        </if>
     </select>
 
 </mapper>
diff --git a/manager-api/src/main/java/cn/lili/controller/lmk/ScanPrizeController.java b/manager-api/src/main/java/cn/lili/controller/lmk/ScanPrizeController.java
index 27bac95..5c1f347 100644
--- a/manager-api/src/main/java/cn/lili/controller/lmk/ScanPrizeController.java
+++ b/manager-api/src/main/java/cn/lili/controller/lmk/ScanPrizeController.java
@@ -1,9 +1,15 @@
 package cn.lili.controller.lmk;
 
+import cn.lili.common.utils.StringUtils;
 import cn.lili.group.Update;
 import cn.lili.group.Add;
+import cn.lili.modules.lmk.domain.entity.StorePrizeProof;
 import cn.lili.modules.lmk.domain.query.PrizeClaimRecordQuery;
+import cn.lili.modules.lmk.mapper.StorePrizeProofMapper;
 import cn.lili.modules.lmk.service.PrizeClaimRecordService;
+import cn.lili.modules.lmk.service.StorePrizeProofService;
+import cn.lili.utils.COSUtil;
+import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.security.access.prepost.PreAuthorize;
 import lombok.RequiredArgsConstructor;
@@ -35,6 +41,9 @@
     private final ScanPrizeService scanPrizeService;
     private final PrizeClaimRecordService prizeClaimRecordService;
 
+    private final StorePrizeProofMapper storePrizeProofMapper;
+
+    private final COSUtil cosUtil;
     @PutMapping
     @ApiOperation(value = "淇敼", notes = "淇敼")
     public Result update(@RequestBody @Validated(Update.class) ScanPrizeForm form) {
@@ -56,7 +65,7 @@
     @GetMapping("/page")
     @ApiOperation(value = "鍒嗛〉", notes = "鍒嗛〉")
     public Result page(ScanPrizeQuery query) {
-        return scanPrizeService.page(query,"manager");
+        return scanPrizeService.page(query);
     }
 
     @GetMapping("/{id}")
@@ -101,7 +110,20 @@
 
     @GetMapping("/getClaimPage")
     public Result getClaimPage(PrizeClaimRecordQuery query){
-        return prizeClaimRecordService.page(query);
+        return prizeClaimRecordService.page(query,"manager");
     }
 
+    @GetMapping("/getDetailData/{id}")
+    public Result getDetailData(@PathVariable String id){
+        StorePrizeProof vo = new LambdaQueryChainWrapper<>(storePrizeProofMapper)
+                .eq(StorePrizeProof::getStorePrizeClaimId, id)
+                .eq(StorePrizeProof::getDeleteFlag, 0)
+                .one();
+
+        if (StringUtils.isNotBlank(vo.getUrlPath()))   {
+            vo.setUrlPath( cosUtil.getPreviewUrl(vo.getUrlPath()));
+        }
+
+        return Result.ok().data(vo);
+    }
 }
diff --git a/seller-api/src/main/java/cn/lili/controller/activity/ManagerUploadController.java b/seller-api/src/main/java/cn/lili/controller/activity/ManagerUploadController.java
new file mode 100644
index 0000000..763704b
--- /dev/null
+++ b/seller-api/src/main/java/cn/lili/controller/activity/ManagerUploadController.java
@@ -0,0 +1,61 @@
+package cn.lili.controller.activity;
+
+import cn.lili.base.Result;
+import cn.lili.modules.lmk.domain.vo.LmkFileVO;
+import cn.lili.modules.lmk.service.ActivityService;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+@RestController
+@RequiredArgsConstructor
+@RequestMapping("/store/lmk/common")
+@Slf4j
+public class ManagerUploadController {
+
+
+
+    private final ActivityService activityService;
+
+    @PostMapping("/upload")
+    public Result handleFileUpload(@RequestPart("file") MultipartFile file) throws Exception {
+        System.out.println("寮�濮嬩笂浼�");
+        if (file == null) {
+            return Result.error("涓婁紶鏂囦欢涓嶈兘涓虹┖");
+        }
+        System.out.println(file.getSize());
+        System.out.println(file.getName());
+        // 涓婁紶鍒颁簯鏈嶅姟鍣�
+        Result result = activityService.uploadObject(file);
+        Object object = result.get("data");
+        LmkFileVO lmkFileVO = null;
+        if (object != null) {
+            if (object instanceof LmkFileVO) {
+                lmkFileVO = (LmkFileVO) object;
+                //鎻掑叆鏁版嵁搴�
+                return Result.ok().data(lmkFileVO);
+
+            } else {
+                log.error("绫诲瀷涓嶅尮閰嶏紝鏈熸湜锛歿} 瀹為檯锛歿}",
+                        LmkFileVO.class.getName(),
+                        object.getClass().getName());
+                return Result.error("绫诲瀷涓嶅尮閰�");
+            }
+        }
+        return Result.error("涓婁紶浜戞湇鍔″櫒寮傚父");
+    }
+
+    @GetMapping("/getUrl/{fileKey}")
+    public Result getUrl(@PathVariable(value = "fileKey") String fileKey){
+        return Result.ok().data(activityService.getPreviewUrl(fileKey));
+    }
+
+    @DeleteMapping("/delByKey")
+    @ApiOperation(value = "鍒犻櫎鏌愪釜鏂囦欢")
+    public Result delByKey(@RequestBody String fileKey) {
+        return activityService.deleteObject(fileKey);
+    }
+
+}
diff --git a/seller-api/src/main/java/cn/lili/controller/activity/StorePrizeClaimController.java b/seller-api/src/main/java/cn/lili/controller/activity/StorePrizeClaimController.java
index df9a0d7..c288a21 100644
--- a/seller-api/src/main/java/cn/lili/controller/activity/StorePrizeClaimController.java
+++ b/seller-api/src/main/java/cn/lili/controller/activity/StorePrizeClaimController.java
@@ -2,13 +2,15 @@
 
 
 import cn.lili.base.Result;
+import cn.lili.modules.lmk.domain.form.StorePrizeProofForm;
+import cn.lili.modules.lmk.domain.query.PrizeClaimRecordQuery;
 import cn.lili.modules.lmk.domain.query.ScanPrizeQuery;
+import cn.lili.modules.lmk.service.PrizeClaimRecordService;
 import cn.lili.modules.lmk.service.ScanPrizeService;
+import cn.lili.modules.lmk.service.StorePrizeProofService;
 import io.swagger.annotations.ApiOperation;
 import lombok.RequiredArgsConstructor;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 /**
  * lmk-shop-java
@@ -20,11 +22,17 @@
 @RestController
 @RequestMapping("/store/lmk/scan-prize")
 public class StorePrizeClaimController {
-    private final ScanPrizeService scanPrizeService;
+    private final PrizeClaimRecordService prizeClaimRecordService;
+    private final StorePrizeProofService storePrizeProofService;
 
     @GetMapping("/page")
     @ApiOperation(value = "鍒嗛〉", notes = "鍒嗛〉")
-    public Result page(ScanPrizeQuery query) {
-        return scanPrizeService.page(query,"seller");
+    public Result page(PrizeClaimRecordQuery query) {
+        return prizeClaimRecordService.page(query,"seller");
+    }
+
+    @PostMapping
+    public Result add(@RequestBody StorePrizeProofForm storePrizeProofForm) {
+        return storePrizeProofService.add(storePrizeProofForm);
     }
 }

--
Gitblit v1.8.0