From d50a86c6c9aad98b70aa996662219156c9c371a9 Mon Sep 17 00:00:00 2001
From: peng <peng.com>
Date: 星期三, 15 十月 2025 10:22:26 +0800
Subject: [PATCH] 定制模块

---
 framework/src/main/java/cn/lili/modules/order/order/entity/vo/OrderSimpleVO.java           |    1 
 buyer-api/src/main/java/cn/lili/controller/payment/CashierController.java                  |   23 -------
 framework/src/main/java/cn/lili/modules/order/cart/entity/vo/BindingTemplateParam.java     |   43 ++++++++++++++
 buyer-api/src/main/java/cn/lili/controller/order/CartController.java                       |   60 ++++++++++++++++++++
 manager-api/src/main/java/cn/lili/controller/member/MemberEvaluationManagerController.java |   30 +++++++++-
 framework/src/main/java/cn/lili/modules/order/order/mapper/OrderMapper.java                |    1 
 framework/src/main/java/cn/lili/modules/order/order/entity/dto/OrderSearchParams.java      |    3 +
 7 files changed, 135 insertions(+), 26 deletions(-)

diff --git a/buyer-api/src/main/java/cn/lili/controller/order/CartController.java b/buyer-api/src/main/java/cn/lili/controller/order/CartController.java
index 70fc330..22b55d5 100644
--- a/buyer-api/src/main/java/cn/lili/controller/order/CartController.java
+++ b/buyer-api/src/main/java/cn/lili/controller/order/CartController.java
@@ -7,13 +7,21 @@
 import cn.lili.common.exception.ServiceException;
 import cn.lili.common.utils.StringUtils;
 import cn.lili.common.vo.ResultMessage;
+import cn.lili.modules.lmk.domain.entity.UserCheckTemplate;
+import cn.lili.modules.lmk.domain.form.CustomizeTemplateForm;
+import cn.lili.modules.lmk.service.UserCheckTemplateService;
 import cn.lili.modules.order.cart.entity.dto.BuyBackDTO;
 import cn.lili.modules.order.cart.entity.dto.TradeDTO;
 import cn.lili.modules.order.cart.entity.enums.CartTypeEnum;
+import cn.lili.modules.order.cart.entity.vo.BindingTemplateParam;
 import cn.lili.modules.order.cart.entity.vo.TradeParams;
 import cn.lili.modules.order.cart.service.CartService;
+import cn.lili.modules.order.order.entity.dos.Order;
 import cn.lili.modules.order.order.entity.vo.ReceiptVO;
+import cn.lili.modules.order.order.service.OrderService;
 import cn.lili.utils.COSUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
@@ -22,6 +30,7 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.http.MediaType;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
@@ -29,6 +38,7 @@
 import javax.validation.constraints.Min;
 import javax.validation.constraints.NotEmpty;
 import javax.validation.constraints.NotNull;
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -51,7 +61,12 @@
     @Autowired
     private COSUtil cosUtil;
 
+    @Autowired
+    private OrderService orderService;
 
+
+    @Autowired
+    private UserCheckTemplateService userCheckTemplateService;
     @ApiOperation(value = "鍚戣喘鐗╄溅涓坊鍔犱竴涓骇鍝�")
     @PostMapping
     @ApiImplicitParams({
@@ -352,4 +367,49 @@
             throw e;
         }
     }
+
+    @PreventDuplicateSubmissions
+    @ApiOperation(value = "鏍规嵁浜ゆ槗缂栧彿杩涜妯℃澘鏁版嵁缁戝畾")
+    @PostMapping("/binding/template")
+    @Transactional(rollbackFor = Exception.class)
+    public ResultMessage<Object> bindingTemplate(@RequestBody BindingTemplateParam bindingTemplateParam) {
+        List<Order> byTradeSn = orderService.getByTradeSn(bindingTemplateParam.getSn());
+        if (byTradeSn.isEmpty()) {
+            log.info("褰撳墠璁㈠崟涓嶅瓨鍦▄}", bindingTemplateParam.getSn());
+            return ResultUtil.error(ResultCode.ORDER_ERROR);
+        }
+        if (byTradeSn.size() >1) {
+            log.info("褰撳墠璁㈠崟鏁伴噺寮傚父{}", bindingTemplateParam.getSn());
+            return ResultUtil.error(ResultCode.ORDER_ERROR);
+        }
+        Order order = byTradeSn.get(0);
+        String sn = order.getSn();
+        LambdaQueryWrapper<UserCheckTemplate> eq = Wrappers.<UserCheckTemplate>lambdaQuery().eq(UserCheckTemplate::getOrderSn, sn);
+        List<UserCheckTemplate> list = userCheckTemplateService.list(eq);
+        if (!list.isEmpty()) {
+            log.info("璁㈠崟涓嶈兘閲嶅缁戝畾妯℃澘{}",bindingTemplateParam.getSn());
+            return ResultUtil.error(ResultCode.ORDER_ERROR);
+        }
+        //瀹氬埗鍟嗗搧鐗规畩澶勭悊
+        if (StringUtils.isNotBlank(bindingTemplateParam.getTemplateId())){
+            List<CustomizeTemplateForm> templateForm = bindingTemplateParam.getTemplateForm();
+            List<UserCheckTemplate> customizeTemplateForms = new ArrayList<>();
+            for (CustomizeTemplateForm customizeTemplateForm : templateForm) {
+                UserCheckTemplate userCheckTemplate = new UserCheckTemplate();
+                userCheckTemplate.setContentType(customizeTemplateForm.getContentType());
+                userCheckTemplate.setChooseImg(bindingTemplateParam.getChooseImage());
+                userCheckTemplate.setChooseImgId(bindingTemplateParam.getChooseImageId());
+                userCheckTemplate.setTemplateName(bindingTemplateParam.getTemplateName());
+                userCheckTemplate.setTemplateId(bindingTemplateParam.getTemplateId());
+                userCheckTemplate.setOrderSn(sn);
+                userCheckTemplate.setSubId(customizeTemplateForm.getId());
+                userCheckTemplate.setSubName(customizeTemplateForm.getTemplateTitle());
+                userCheckTemplate.setContent(customizeTemplateForm.getValue());
+                customizeTemplateForms.add(userCheckTemplate);
+            }
+            userCheckTemplateService.saveBatch(customizeTemplateForms);
+
+        }
+        return ResultUtil.success();
+    }
 }
diff --git a/buyer-api/src/main/java/cn/lili/controller/payment/CashierController.java b/buyer-api/src/main/java/cn/lili/controller/payment/CashierController.java
index 260219a..d6b500f 100644
--- a/buyer-api/src/main/java/cn/lili/controller/payment/CashierController.java
+++ b/buyer-api/src/main/java/cn/lili/controller/payment/CashierController.java
@@ -43,8 +43,6 @@
     @Autowired
     private CashierSupport cashierSupport;
 
-    @Autowired
-    private UserCheckTemplateService  userCheckTemplateService;
 
 
     @ApiImplicitParams({
@@ -55,27 +53,6 @@
     @Transactional(rollbackFor = Exception.class)
     public ResultMessage paymentParams(@Validated @RequestBody PayParam payParam) {
         CashierParam cashierParam = cashierSupport.cashierParam(payParam);
-        //瀹氬埗鍟嗗搧鐗规畩澶勭悊
-        if (StringUtils.isNotBlank(payParam.getTemplateId())){
-            List<CustomizeTemplateForm> templateForm = payParam.getTemplateForm();
-            List<UserCheckTemplate> customizeTemplateForms = new ArrayList<>();
-            String orderSns = cashierParam.getOrderSns();
-            for (CustomizeTemplateForm customizeTemplateForm : templateForm) {
-                UserCheckTemplate userCheckTemplate = new UserCheckTemplate();
-                userCheckTemplate.setContentType(customizeTemplateForm.getContentType());
-                userCheckTemplate.setChooseImg(payParam.getChooseImage());
-                userCheckTemplate.setChooseImgId(payParam.getChooseImageId());
-                userCheckTemplate.setTemplateName(payParam.getTemplateName());
-                userCheckTemplate.setTemplateId(payParam.getTemplateId());
-                userCheckTemplate.setOrderSn(orderSns);
-                userCheckTemplate.setSubId(customizeTemplateForm.getId());
-                userCheckTemplate.setSubName(customizeTemplateForm.getTemplateTitle());
-                userCheckTemplate.setContent(customizeTemplateForm.getValue());
-                customizeTemplateForms.add(userCheckTemplate);
-            }
-            userCheckTemplateService.saveBatch(customizeTemplateForms);
-
-        }
         return ResultUtil.data(cashierParam);
     }
 
diff --git a/framework/src/main/java/cn/lili/modules/order/cart/entity/vo/BindingTemplateParam.java b/framework/src/main/java/cn/lili/modules/order/cart/entity/vo/BindingTemplateParam.java
new file mode 100644
index 0000000..3e7724d
--- /dev/null
+++ b/framework/src/main/java/cn/lili/modules/order/cart/entity/vo/BindingTemplateParam.java
@@ -0,0 +1,43 @@
+package cn.lili.modules.order.cart.entity.vo;
+
+import cn.lili.modules.lmk.domain.form.CustomizeTemplateForm;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.ToString;
+
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+/**
+ * 鏀粯鍙傛暟
+ *
+ * @author Chopper
+ * @since 2020/12/19 11:46
+ */
+@Data
+@ToString
+public class BindingTemplateParam {
+
+    @NotNull
+    @ApiModelProperty(value = "璁㈠崟鍙�")
+    private String sn;
+
+    @ApiModelProperty(value = "妯℃澘淇℃伅")
+    private List<CustomizeTemplateForm> templateForm;
+
+    @ApiModelProperty(value = "妯℃澘id")
+    private String templateId;
+
+    @ApiModelProperty(value = "妯℃澘鍚嶇О")
+    private String templateName;
+
+    @ApiModelProperty(value = "閫変腑鍥剧墖")
+    private String chooseImage;
+
+    @ApiModelProperty(value = "閫変腑鍥剧墖Id")
+    private String chooseImageId;
+
+
+
+
+}
diff --git a/framework/src/main/java/cn/lili/modules/order/order/entity/dto/OrderSearchParams.java b/framework/src/main/java/cn/lili/modules/order/order/entity/dto/OrderSearchParams.java
index 898cfaf..f45bea4 100644
--- a/framework/src/main/java/cn/lili/modules/order/order/entity/dto/OrderSearchParams.java
+++ b/framework/src/main/java/cn/lili/modules/order/order/entity/dto/OrderSearchParams.java
@@ -119,6 +119,8 @@
 
     private String couponFlag;
 
+    private String customizeFlag;
+
     private String storeSelectId;
 
     public <T> QueryWrapper<T> queryWrapper() {
@@ -189,6 +191,7 @@
         wrapper.eq(CharSequenceUtil.isNotEmpty(commentStatus), "oi.comment_status", commentStatus);
 
         wrapper.eq(CharSequenceUtil.isNotEmpty(couponFlag),"o.coupon_flag", couponFlag);
+        wrapper.eq(CharSequenceUtil.isNotEmpty(customizeFlag),"o.customize_flag", customizeFlag);
 
         //鎸夋爣绛炬煡璇�
         if (CharSequenceUtil.isNotEmpty(tag)) {
diff --git a/framework/src/main/java/cn/lili/modules/order/order/entity/vo/OrderSimpleVO.java b/framework/src/main/java/cn/lili/modules/order/order/entity/vo/OrderSimpleVO.java
index aa439c6..9dc4e7f 100644
--- a/framework/src/main/java/cn/lili/modules/order/order/entity/vo/OrderSimpleVO.java
+++ b/framework/src/main/java/cn/lili/modules/order/order/entity/vo/OrderSimpleVO.java
@@ -160,6 +160,7 @@
     private String consigneeName;
     private String consigneeMobile;
     private String modifyAddressFlag;
+    private String customizeFlag;
 
 
     private String memberId;
diff --git a/framework/src/main/java/cn/lili/modules/order/order/mapper/OrderMapper.java b/framework/src/main/java/cn/lili/modules/order/order/mapper/OrderMapper.java
index 59d35b1..cf6f6d1 100644
--- a/framework/src/main/java/cn/lili/modules/order/order/mapper/OrderMapper.java
+++ b/framework/src/main/java/cn/lili/modules/order/order/mapper/OrderMapper.java
@@ -93,6 +93,7 @@
             "o.consignee_mobile AS consigneeMobile," +
             "o.member_id AS memberId," +
             "m.nick_name AS nickName," +
+            "o.customize_flag AS customizeFlag," +
             "o.modify_address_flag AS modifyAddressFlag,"+
             " GROUP_CONCAT(oi.goods_id) as group_goods_id," +
             " GROUP_CONCAT(oi.sku_id) as group_sku_id," +
diff --git a/manager-api/src/main/java/cn/lili/controller/member/MemberEvaluationManagerController.java b/manager-api/src/main/java/cn/lili/controller/member/MemberEvaluationManagerController.java
index 213706a..b3d3230 100644
--- a/manager-api/src/main/java/cn/lili/controller/member/MemberEvaluationManagerController.java
+++ b/manager-api/src/main/java/cn/lili/controller/member/MemberEvaluationManagerController.java
@@ -2,12 +2,14 @@
 
 import cn.lili.common.aop.annotation.PreventDuplicateSubmissions;
 import cn.lili.common.enums.ResultUtil;
+import cn.lili.common.utils.StringUtils;
 import cn.lili.common.vo.PageVO;
 import cn.lili.common.vo.ResultMessage;
 import cn.lili.modules.member.entity.dto.EvaluationQueryParams;
 import cn.lili.modules.member.entity.vo.MemberEvaluationListVO;
 import cn.lili.modules.member.entity.vo.MemberEvaluationVO;
 import cn.lili.modules.member.service.MemberEvaluationService;
+import cn.lili.utils.COSUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
@@ -17,6 +19,8 @@
 import org.springframework.web.bind.annotation.*;
 
 import javax.validation.constraints.NotNull;
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * 绠$悊绔�,浼氬憳鍟嗗搧璇勪环鎺ュ彛
@@ -30,14 +34,34 @@
 public class MemberEvaluationManagerController {
     @Autowired
     private MemberEvaluationService memberEvaluationService;
-
+    @Autowired
+    private COSUtil cosUtil;
     @PreventDuplicateSubmissions
     @ApiOperation(value = "閫氳繃id鑾峰彇璇勮")
     @ApiImplicitParam(name = "id", value = "璇勪环ID", required = true, dataType = "String", paramType = "path")
     @GetMapping(value = "/get/{id}")
     public ResultMessage<MemberEvaluationVO> get(@PathVariable String id) {
-
-        return ResultUtil.data(memberEvaluationService.queryById(id));
+        MemberEvaluationVO t = memberEvaluationService.queryById(id);
+        String images = t.getImages();
+        if (StringUtils.isNotBlank(images)) {
+            String[] split = images.split(",");
+            List<String> imgList = new ArrayList<>(split.length);
+            for (String s : split) {
+                if (StringUtils.isNotBlank(s)&&!s.contains("http")) {
+                    imgList.add(cosUtil.getPreviewUrl(s));
+                }
+            }
+            t.setImages(String.join(",", imgList));
+        }
+        String goodsImage = t.getGoodsImage();
+        if (StringUtils.isNotBlank(goodsImage)&&!goodsImage.contains("http")) {
+            t.setGoodsImage(cosUtil.getPreviewUrl(goodsImage));
+        }
+        String memberProfile = t.getMemberProfile();
+        if (StringUtils.isNotBlank(memberProfile)&&!memberProfile.contains("http")) {
+            t.setMemberProfile(cosUtil.getPreviewUrl(memberProfile));
+        }
+        return ResultUtil.data(t);
     }
 
     @ApiOperation(value = "鑾峰彇璇勪环鍒嗛〉")

--
Gitblit v1.8.0