From 18a9f86a8c1fdb6c42c4212dcaa1de437f6f4861 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期三, 15 十月 2025 14:25:37 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/user_action' into user_action

---
 buyer-api/src/main/java/cn/lili/controller/order/OrderBuyerController.java                      |   22 +++
 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                       |   13 +
 framework/src/main/java/cn/lili/modules/goods/entity/dos/GoodsSku.java                          |    2 
 framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java           |    3 
 framework/src/main/java/cn/lili/modules/lmk/domain/entity/UserCheckTemplate.java                |    4 
 framework/src/main/java/cn/lili/modules/order/order/entity/dos/Order.java                       |    9 +
 framework/src/main/java/cn/lili/modules/search/entity/dos/EsGoodsIndex.java                     |   10 +
 framework/src/main/java/cn/lili/elasticsearch/BaseElasticsearchService.java                     |    9 +
 framework/src/main/java/cn/lili/modules/lmk/service/GoodsCustomizeTemplateService.java          |    2 
 framework/src/main/java/cn/lili/modules/lmk/domain/form/CustomizeTemplateForm.java              |   22 +++
 framework/src/main/java/cn/lili/modules/order/order/mapper/OrderMapper.java                     |    3 
 framework/src/main/java/cn/lili/modules/lmk/service/impl/GoodsCustomizeTemplateServiceImpl.java |   29 ++++
 buyer-api/src/main/java/cn/lili/controller/store/StoreBuyerController.java                      |   11 +
 framework/src/main/java/cn/lili/modules/order/cart/entity/vo/BindingTemplateParam.java          |   43 ++++++
 framework/src/main/java/cn/lili/modules/payment/kit/dto/PayParam.java                           |   18 ++
 buyer-api/src/main/java/cn/lili/controller/order/CartController.java                            |   60 ++++++++
 framework/src/main/java/cn/lili/modules/lmk/domain/vo/CustomizeTemplateVO.java                  |   27 +++
 framework/src/main/java/cn/lili/modules/lmk/mapper/GoodsCustomizeTemplateMapper.java            |    3 
 manager-api/src/main/java/cn/lili/controller/member/MemberEvaluationManagerController.java      |   30 +++
 framework/src/main/resources/mapper/lmk/GoodsCustomizeTemplateMapper.xml                        |   32 ++++
 framework/src/main/java/cn/lili/modules/order/order/entity/vo/OrderSimpleXcxVO.java             |    6 
 framework/src/main/java/cn/lili/modules/order/order/entity/dto/OrderSearchParams.java           |    3 
 23 files changed, 355 insertions(+), 7 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/order/OrderBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/order/OrderBuyerController.java
index 23db668..251c210 100644
--- a/buyer-api/src/main/java/cn/lili/controller/order/OrderBuyerController.java
+++ b/buyer-api/src/main/java/cn/lili/controller/order/OrderBuyerController.java
@@ -9,7 +9,10 @@
 import cn.lili.common.security.context.UserContext;
 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.enums.general.AdminRoleEnum;
+import cn.lili.modules.lmk.enums.general.TemplateContentTypeEnum;
+import cn.lili.modules.lmk.service.UserCheckTemplateService;
 import cn.lili.modules.member.entity.dto.MemberAddressDTO;
 import cn.lili.modules.order.order.entity.dos.Order;
 import cn.lili.modules.order.order.entity.dos.OrderPackage;
@@ -27,7 +30,9 @@
 import cn.lili.modules.system.entity.vo.Traces;
 import cn.lili.utils.COSUtil;
 import cn.lili.utils.CommonUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
@@ -70,6 +75,8 @@
     @Autowired
     private AdminUserService adminUserService;
 
+    @Autowired
+    private UserCheckTemplateService userCheckTemplateService;
     @ApiOperation(value = "鏌ヨ浼氬憳璁㈠崟鍒楄〃")
     @GetMapping
     public ResultMessage<IPage<OrderSimpleVO>> queryMineOrder(OrderSearchParams orderSearchParams) {
@@ -103,6 +110,21 @@
         orderSearchParams.setMemberId(currentUser.getId());
         return ResultUtil.data(orderService.queryByXcxParams(orderSearchParams));
     }
+    @ApiOperation(value = "鏍规嵁璁㈠崟鍙锋煡璇㈠畾鍒舵ā鏉垮~鍐欎俊鎭�")
+    @GetMapping("/customize/{sn}")
+    public ResultMessage<List<UserCheckTemplate>> customize(@PathVariable @NotBlank String sn) {
+        LambdaQueryWrapper<UserCheckTemplate> eq = Wrappers.<UserCheckTemplate>lambdaQuery().eq(UserCheckTemplate::getOrderSn, sn);
+        List<UserCheckTemplate> list = userCheckTemplateService.list(eq);
+        for (UserCheckTemplate userCheckTemplate : list) {
+            if (TemplateContentTypeEnum.IMAGE.name().equals(userCheckTemplate.getContentType())) {
+                String content = userCheckTemplate.getContent();
+                if (StringUtils.isNotBlank(content)&&!content.contains("http")) {
+                    userCheckTemplate.setContent(cosUtil.getPreviewUrl(content));
+                }
+            }
+        }
+        return ResultUtil.data(list);
+    }
 
     @ApiOperation(value = "璁㈠崟鏄庣粏")
     @ApiImplicitParams({
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 217afee..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
@@ -3,7 +3,11 @@
 import cn.lili.common.enums.ResultCode;
 import cn.lili.common.enums.ResultUtil;
 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.payment.kit.CashierSupport;
 import cn.lili.modules.payment.kit.dto.PayParam;
 import cn.lili.modules.payment.entity.enums.PaymentClientEnum;
@@ -15,11 +19,14 @@
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * 涔板绔�,鏀堕摱鍙版帴鍙�
@@ -37,12 +44,14 @@
     private CashierSupport cashierSupport;
 
 
+
     @ApiImplicitParams({
             @ApiImplicitParam(name = "client", value = "瀹㈡埛绔被鍨�", paramType = "path", allowableValues = "PC,H5,WECHAT_MP,APP")
     })
-    @GetMapping(value = "/tradeDetail")
+    @PostMapping(value = "/tradeDetail")
     @ApiOperation(value = "鑾峰彇鏀粯璇︽儏")
-    public ResultMessage paymentParams(@Validated PayParam payParam) {
+    @Transactional(rollbackFor = Exception.class)
+    public ResultMessage paymentParams(@Validated @RequestBody PayParam payParam) {
         CashierParam cashierParam = cashierSupport.cashierParam(payParam);
         return ResultUtil.data(cashierParam);
     }
diff --git a/buyer-api/src/main/java/cn/lili/controller/store/StoreBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/store/StoreBuyerController.java
index 349ac8d..28df163 100644
--- a/buyer-api/src/main/java/cn/lili/controller/store/StoreBuyerController.java
+++ b/buyer-api/src/main/java/cn/lili/controller/store/StoreBuyerController.java
@@ -13,6 +13,8 @@
 import cn.lili.modules.goods.service.GoodsService;
 import cn.lili.modules.goods.service.GoodsUnitService;
 import cn.lili.modules.goods.service.StoreGoodsLabelService;
+import cn.lili.modules.lmk.domain.entity.GoodsCustomizeTemplate;
+import cn.lili.modules.lmk.service.GoodsCustomizeTemplateService;
 import cn.lili.modules.store.entity.dos.Store;
 import cn.lili.modules.store.entity.dto.StoreBankDTO;
 import cn.lili.modules.store.entity.dto.StoreCompanyDTO;
@@ -75,6 +77,9 @@
 
     @Autowired
     private GoodsService goodsService;
+
+    @Autowired
+    private GoodsCustomizeTemplateService goodsCustomizeTemplateService;
 
     @ApiOperation(value = "鑾峰彇搴楅摵鍒楄〃鍒嗛〉")
     @GetMapping
@@ -170,4 +175,10 @@
         goodsService.addGoods(goodsOperationDTO);
         return ResultUtil.success();
     }
+
+    @ApiOperation(value = "瀹氬埗鍟嗗搧鑾峰彇妯℃澘淇℃伅")
+    @GetMapping(value = "/getTemplate/{skuId}")
+    public Result getTemplate(@PathVariable String skuId) {
+        return goodsCustomizeTemplateService.getCustomizeTemplate(skuId);
+    }
 }
diff --git a/framework/src/main/java/cn/lili/elasticsearch/BaseElasticsearchService.java b/framework/src/main/java/cn/lili/elasticsearch/BaseElasticsearchService.java
index c9fed7c..120f05c 100644
--- a/framework/src/main/java/cn/lili/elasticsearch/BaseElasticsearchService.java
+++ b/framework/src/main/java/cn/lili/elasticsearch/BaseElasticsearchService.java
@@ -277,6 +277,15 @@
                         "          }\n" +
                         "        }\n" +
                         "      },\n" +
+                        "      \"customizeFlag\": {\n" +
+                        "        \"type\": \"text\",\n" +
+                        "        \"fields\": {\n" +
+                        "          \"keyword\": {\n" +
+                        "            \"type\": \"keyword\",\n" +
+                        "            \"ignore_above\": 256\n" +
+                        "          }\n" +
+                        "        }\n" +
+                        "      },\n" +
                         "      \"point\": {\n" +
                         "        \"type\": \"long\"\n" +
                         "      },\n" +
diff --git a/framework/src/main/java/cn/lili/modules/goods/entity/dos/GoodsSku.java b/framework/src/main/java/cn/lili/modules/goods/entity/dos/GoodsSku.java
index 7a45978..90c602d 100644
--- a/framework/src/main/java/cn/lili/modules/goods/entity/dos/GoodsSku.java
+++ b/framework/src/main/java/cn/lili/modules/goods/entity/dos/GoodsSku.java
@@ -183,7 +183,7 @@
     @ApiModelProperty(value ="瀹氬埗妯℃澘鍚嶇О")
     private String customizeTemplateName;
 
-    @ApiModelProperty(value ="琛ㄧず铏氭嫙瀹氬埗鍟嗗搧绫诲瀷 鐜版湁绫诲瀷锛氬畾鍒跺晢鍝�")
+    @ApiModelProperty(value ="瀹氬埗鍟嗗搧")
     @TableField(updateStrategy = FieldStrategy.IGNORED)
     /**
      * @see CustomizeFlagEnum
diff --git a/framework/src/main/java/cn/lili/modules/lmk/domain/entity/UserCheckTemplate.java b/framework/src/main/java/cn/lili/modules/lmk/domain/entity/UserCheckTemplate.java
index 76d8d7e..649bb1d 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/domain/entity/UserCheckTemplate.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/domain/entity/UserCheckTemplate.java
@@ -49,5 +49,9 @@
     /** 閫夋嫨妯℃澘鍥剧墖 */
     private String chooseImg;
 
+    @TableField("content_type")
+    /** 妯℃澘鏂囨湰绫诲瀷 */
+    private String contentType;
+
 
 }
diff --git a/framework/src/main/java/cn/lili/modules/lmk/domain/form/CustomizeTemplateForm.java b/framework/src/main/java/cn/lili/modules/lmk/domain/form/CustomizeTemplateForm.java
new file mode 100644
index 0000000..b2f0770
--- /dev/null
+++ b/framework/src/main/java/cn/lili/modules/lmk/domain/form/CustomizeTemplateForm.java
@@ -0,0 +1,22 @@
+package cn.lili.modules.lmk.domain.form;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import lombok.Data;
+
+@Data
+public class CustomizeTemplateForm {
+
+
+    /** 妯℃澘id */
+    private String id;
+
+    /** 瀛愭ā鏉挎爣棰� */
+    private String templateTitle;
+
+    /** 瀛愭ā鏉垮��*/
+    private String value;
+
+    /** 瀛愭ā鏉跨被鍨�*/
+    private String contentType;
+
+}
diff --git a/framework/src/main/java/cn/lili/modules/lmk/domain/vo/CustomizeTemplateVO.java b/framework/src/main/java/cn/lili/modules/lmk/domain/vo/CustomizeTemplateVO.java
new file mode 100644
index 0000000..7bc083d
--- /dev/null
+++ b/framework/src/main/java/cn/lili/modules/lmk/domain/vo/CustomizeTemplateVO.java
@@ -0,0 +1,27 @@
+package cn.lili.modules.lmk.domain.vo;
+
+import cn.lili.modules.lmk.domain.entity.TemplateConstomizeTitle;
+import cn.lili.modules.lmk.domain.entity.TemplateImgs;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class CustomizeTemplateVO {
+    /**
+     * 妯℃澘id
+     */
+    private String id;
+    /**
+     * 妯℃澘鍚嶇О
+     */
+    private String name;
+    /**
+     * 鍥剧墖鍒楄〃
+     */
+    private List<TemplateImgs> templateImgs;
+    /**
+     * 鏍囬
+     */
+    private List<TemplateConstomizeTitle>  templateConstomizeTitles;
+}
diff --git a/framework/src/main/java/cn/lili/modules/lmk/mapper/GoodsCustomizeTemplateMapper.java b/framework/src/main/java/cn/lili/modules/lmk/mapper/GoodsCustomizeTemplateMapper.java
index 50805c9..0493a13 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/mapper/GoodsCustomizeTemplateMapper.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/mapper/GoodsCustomizeTemplateMapper.java
@@ -1,6 +1,7 @@
 package cn.lili.modules.lmk.mapper;
 
 import cn.lili.modules.lmk.domain.entity.GoodsCustomizeTemplate;
+import cn.lili.modules.lmk.domain.vo.CustomizeTemplateVO;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import cn.lili.modules.lmk.domain.vo.GoodsCustomizeTemplateVO;
@@ -31,4 +32,6 @@
     */
     IPage getPage(IPage page, @Param("query") GoodsCustomizeTemplateQuery query);
 
+    CustomizeTemplateVO getCustomizeTemplate(@Param("id") String id);
+
 }
diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/GoodsCustomizeTemplateService.java b/framework/src/main/java/cn/lili/modules/lmk/service/GoodsCustomizeTemplateService.java
index 7dff15d..acd40ca 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/service/GoodsCustomizeTemplateService.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/service/GoodsCustomizeTemplateService.java
@@ -66,5 +66,7 @@
      */
     Result all();
 
+    Result getCustomizeTemplate(String id);
+
     Result changeStatus(String id);
 }
diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/impl/GoodsCustomizeTemplateServiceImpl.java b/framework/src/main/java/cn/lili/modules/lmk/service/impl/GoodsCustomizeTemplateServiceImpl.java
index afa3ca6..9e38933 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/service/impl/GoodsCustomizeTemplateServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/service/impl/GoodsCustomizeTemplateServiceImpl.java
@@ -5,6 +5,12 @@
 import cn.lili.modules.lmk.enums.general.EnableStatusEnums;
 import cn.lili.modules.lmk.service.TemplateConstomizeTitleService;
 import cn.lili.modules.lmk.service.TemplateImgsService;
+import cn.lili.common.utils.StringUtils;
+import cn.lili.modules.goods.entity.dos.GoodsSku;
+import cn.lili.modules.goods.service.GoodsSkuService;
+import cn.lili.modules.lmk.domain.entity.TemplateImgs;
+import cn.lili.modules.lmk.domain.vo.CustomizeTemplateVO;
+import cn.lili.utils.COSUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import cn.lili.modules.lmk.domain.entity.GoodsCustomizeTemplate;
 import cn.lili.modules.lmk.mapper.GoodsCustomizeTemplateMapper;
@@ -15,6 +21,7 @@
 import cn.lili.modules.lmk.domain.form.GoodsCustomizeTemplateForm;
 import cn.lili.modules.lmk.domain.vo.GoodsCustomizeTemplateVO;
 import cn.lili.modules.lmk.domain.query.GoodsCustomizeTemplateQuery;
+import jodd.util.StringUtil;
 import org.springframework.stereotype.Service;
 import lombok.RequiredArgsConstructor;
 import cn.lili.utils.PageUtil;
@@ -39,6 +46,9 @@
 
     private final TemplateImgsService templateImgsService;
     private final TemplateConstomizeTitleService templateConstomizeTitleService;
+    private final GoodsSkuService goodsSkuService;
+
+    private final COSUtil cosUtil;
     /**
      * 娣诲姞
      * @param form
@@ -228,4 +238,23 @@
         baseMapper.updateById(goodsCustomizeTemplate);
         return Result.ok();
     }
+
+    @Override
+    public Result getCustomizeTemplate(String id) {
+        GoodsSku goodsSku = goodsSkuService.getById(id);
+        String templateId = goodsSku.getCustomizeTemplateId();
+        CustomizeTemplateVO customizeTemplate = baseMapper.getCustomizeTemplate(templateId);
+        if (customizeTemplate != null) {
+            List<TemplateImgs> templateImgs = customizeTemplate.getTemplateImgs();
+            if (!templateImgs.isEmpty()) {
+                for (TemplateImgs templateImg : templateImgs) {
+                    String imgUrl = templateImg.getImgUrl();
+                    if (StringUtils.isNotBlank(imgUrl)&&!imgUrl.contains("http")) {
+                        templateImg.setImgUrl(cosUtil.getPreviewUrl(imgUrl));
+                    }
+                }
+            }
+        }
+        return Result.ok().data(customizeTemplate);
+    }
 }
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/dos/Order.java b/framework/src/main/java/cn/lili/modules/order/order/entity/dos/Order.java
index c39556f..f6e730a 100644
--- a/framework/src/main/java/cn/lili/modules/order/order/entity/dos/Order.java
+++ b/framework/src/main/java/cn/lili/modules/order/order/entity/dos/Order.java
@@ -17,6 +17,8 @@
 import cn.lili.modules.order.order.entity.enums.*;
 import cn.lili.modules.payment.entity.enums.PaymentMethodEnum;
 import cn.lili.mybatis.BaseEntity;
+import com.baomidou.mybatisplus.annotation.FieldStrategy;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
@@ -191,6 +193,13 @@
      */
     @ApiModelProperty(value = "鏄惁鏄ぜ鍝佸崱")
     private String couponFlag;
+
+    @ApiModelProperty(value ="琛ㄧず铏氭嫙瀹氬埗鍟嗗搧绫诲瀷 鐜版湁绫诲瀷锛氬畾鍒跺晢鍝�")
+    @TableField(updateStrategy = FieldStrategy.IGNORED)
+    /**
+     * @see CustomizeFlagEnum
+     */
+    private String customizeFlag;
     /**
      * 璁㈠崟鍦板潃淇敼鐘舵��
      */
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/entity/vo/OrderSimpleXcxVO.java b/framework/src/main/java/cn/lili/modules/order/order/entity/vo/OrderSimpleXcxVO.java
index 440fc4b..2c9941e 100644
--- a/framework/src/main/java/cn/lili/modules/order/order/entity/vo/OrderSimpleXcxVO.java
+++ b/framework/src/main/java/cn/lili/modules/order/order/entity/vo/OrderSimpleXcxVO.java
@@ -160,6 +160,12 @@
     @ApiModelProperty(value = "鏄惁鏄ぜ鍝佸崱")
     private String couponFlag;
 
+    /**
+     * @see cn.lili.modules.order.order.entity.enums.CustomizeFlagEnum
+     */
+    @ApiModelProperty(value = "鏄惁鏄畾鍒跺晢鍝�")
+    private String customizeFlag;
+
     private int i = 0;
     public List<OrderItemVO> initOrderItems() {
         if (CharSequenceUtil.isEmpty(groupGoodsId)) {
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 4a4c11c..79f23c3 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," +
@@ -145,7 +146,7 @@
      * @return 绠�鐭鍗曞垎椤�
      */
     @Select("select o.id,o.sn,o.flow_price,o.create_time,o.order_status,o.pay_status,o.payment_method,o.payment_time,o.member_name,o.store_name as " +
-            "store_name,o.store_id as store_id,o.client_type,o.order_type,o.deliver_status,o.order_promotion_type,o.seller_remark,o.coupon_flag " +
+            "store_name,o.store_id as store_id,o.client_type,o.order_type,o.deliver_status,o.order_promotion_type,o.seller_remark,o.coupon_flag,o.customize_flag " +
             ",GROUP_CONCAT(oi.goods_id) as group_goods_id," +
             " GROUP_CONCAT(oi.sku_id) as group_sku_id," +
             " GROUP_CONCAT(oi.num) as group_num" +
diff --git a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java
index 3dfac11..966c43c 100644
--- a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java
@@ -284,6 +284,9 @@
                                 String couponName = skuInfo.getCouponName();
                                 orderItem.setCouponId(couponId);
                                 orderItem.setCouponName(couponName);
+                            }//璁㈠崟涓湁瀹氬埗鍟嗗搧灏嗚鍗曟敼涓哄畾鍒跺晢鍝�
+                            else if (CustomizeFlagEnum.CUSTOMIZE.name().equals(skuInfo.getCustomizeFlag())) {
+                                order.setCustomizeFlag(CustomizeFlagEnum.CUSTOMIZE.name());
                             }
                         }
                         orderItems.add(orderItem);
diff --git a/framework/src/main/java/cn/lili/modules/payment/kit/dto/PayParam.java b/framework/src/main/java/cn/lili/modules/payment/kit/dto/PayParam.java
index a0b1f66..df74e53 100644
--- a/framework/src/main/java/cn/lili/modules/payment/kit/dto/PayParam.java
+++ b/framework/src/main/java/cn/lili/modules/payment/kit/dto/PayParam.java
@@ -1,10 +1,12 @@
 package cn.lili.modules.payment.kit.dto;
 
+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;
 
 /**
  * 鏀粯鍙傛暟
@@ -29,6 +31,22 @@
     @ApiModelProperty(value = "瀹㈡埛绔被鍨�")
     private String clientType;
 
+    @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/search/entity/dos/EsGoodsIndex.java b/framework/src/main/java/cn/lili/modules/search/entity/dos/EsGoodsIndex.java
index 5b925ee..a2cf7b6 100644
--- a/framework/src/main/java/cn/lili/modules/search/entity/dos/EsGoodsIndex.java
+++ b/framework/src/main/java/cn/lili/modules/search/entity/dos/EsGoodsIndex.java
@@ -5,6 +5,7 @@
 import cn.lili.elasticsearch.EsSuffix;
 import cn.lili.modules.goods.entity.dos.GoodsSku;
 import cn.lili.modules.goods.entity.dto.GoodsParamsDTO;
+import cn.lili.modules.order.order.entity.enums.CustomizeFlagEnum;
 import cn.lili.modules.promotion.tools.PromotionTools;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.fasterxml.jackson.annotation.JsonFormat;
@@ -299,6 +300,13 @@
     @Field(type = FieldType.Long)
     private Integer goodsSort;
 
+    @ApiModelProperty(value = "瀹氬埗鍟嗗搧")
+    @Field(type = FieldType.Text)
+    /**
+     * @see CustomizeFlagEnum
+     */
+    private String customizeFlag;
+
     public EsGoodsIndex(GoodsSku sku) {
         if (sku != null) {
             this.id = sku.getId();
@@ -327,6 +335,7 @@
             this.recommend = sku.getRecommend();
             this.goodsType = sku.getGoodsType();
             this.releaseTime = new Date().getTime();
+            this.customizeFlag = sku.getCustomizeFlag();
         }
     }
 
@@ -397,6 +406,7 @@
             this.intro = sku.getIntro();
             this.grade = sku.getGrade();
             this.releaseTime = new Date().getTime();
+            this.customizeFlag = sku.getCustomizeFlag();
         }
     }
 
diff --git a/framework/src/main/resources/mapper/lmk/GoodsCustomizeTemplateMapper.xml b/framework/src/main/resources/mapper/lmk/GoodsCustomizeTemplateMapper.xml
index 3ea3f8f..470805f 100644
--- a/framework/src/main/resources/mapper/lmk/GoodsCustomizeTemplateMapper.xml
+++ b/framework/src/main/resources/mapper/lmk/GoodsCustomizeTemplateMapper.xml
@@ -37,5 +37,37 @@
             AND LGCT.status = #{query.status}
         </if>
     </select>
+    <resultMap id="getCustomizeTemplateMap" type="cn.lili.modules.lmk.domain.vo.CustomizeTemplateVO">
+        <id property="id" column="id"/>
+        <result property="name" column="template_name"/>
+        <collection property="templateImgs" ofType="cn.lili.modules.lmk.domain.entity.TemplateImgs">
+            <id property="id" column="imgId"/>
+            <result property="imgUrl" column="img_url"/>
+        </collection>
+        <collection property="templateConstomizeTitles" ofType="cn.lili.modules.lmk.domain.entity.TemplateConstomizeTitle">
+            <id property="id" column="titleId"/>
+            <result property="contentType" column="content_type"/>
+            <result property="templateTitle" column="template_title"/>
+        </collection>
+    </resultMap>
+    <select id="getCustomizeTemplate" resultMap="getCustomizeTemplateMap">
+        SELECT
+            lgct.id,
+            lgct.template_name,
+            lti.id imgId,
+            lti.img_url,
+            ltct.id titleId,
+            ltct.template_title,
+            ltct.content_type
+        FROM
+            lmk_goods_customize_template lgct
+                JOIN lmk_template_imgs lti ON lti.template_id = lgct.id
+                JOIN lmk_template_constomize_title ltct ON ltct.template_id = lgct.id
+        WHERE
+          lgct.id = #{id}
+          AND lgct.delete_flag = 0
+          AND lti.delete_flag = 0
+          AND ltct.delete_flag = 0
+    </select>
 
 </mapper>
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