From 3565ef641c4204aaf7d9a2eaf770ca034110f67a Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期四, 20 十一月 2025 09:16:04 +0800
Subject: [PATCH] 名称加*

---
 framework/src/main/java/cn/lili/modules/lmk/service/impl/GoodsCustomizeTemplateServiceImpl.java |  200 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 197 insertions(+), 3 deletions(-)

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 7a9c203..0887c7c 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
@@ -1,20 +1,39 @@
 package cn.lili.modules.lmk.service.impl;
 
+import cn.lili.common.enums.ResultUtil;
+import cn.lili.modules.lmk.domain.entity.*;
+import cn.lili.modules.lmk.domain.form.CustomizeTemplateForm;
+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.modules.lmk.service.UserCheckTemplateService;
+import cn.lili.modules.order.cart.entity.vo.BindingTemplateParam;
+import cn.lili.utils.COSUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import cn.lili.modules.lmk.domain.entity.GoodsCustomizeTemplate;
 import cn.lili.modules.lmk.mapper.GoodsCustomizeTemplateMapper;
 import cn.lili.modules.lmk.service.GoodsCustomizeTemplateService;
 import cn.lili.base.Result;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 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;
 import org.springframework.beans.BeanUtils;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.Assert;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -30,15 +49,36 @@
 
     private final GoodsCustomizeTemplateMapper goodsCustomizeTemplateMapper;
 
+    private final TemplateImgsService templateImgsService;
+    private final TemplateConstomizeTitleService templateConstomizeTitleService;
+    private final GoodsSkuService goodsSkuService;
+    private final UserCheckTemplateService userCheckTemplateService;
+
+    private final COSUtil cosUtil;
     /**
      * 娣诲姞
      * @param form
      * @return
      */
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public Result add(GoodsCustomizeTemplateForm form) {
         GoodsCustomizeTemplate entity = GoodsCustomizeTemplateForm.getEntityByForm(form, null);
+        entity.setStatus(EnableStatusEnums.ENABLE.name());
         baseMapper.insert(entity);
+
+        String templateId = entity.getId();
+
+        List<TemplateImgs> listImages = form.getListImages();
+        for (TemplateImgs templateImgs : listImages) {
+            templateImgs.setTemplateId(templateId);
+        }
+        List<TemplateConstomizeTitle> titles = form.getTitles();
+        for (TemplateConstomizeTitle title : titles) {
+            title.setTemplateId(templateId);
+        }
+        templateImgsService.saveBatch(listImages);
+        templateConstomizeTitleService.saveBatch(titles);
         return Result.ok("娣诲姞鎴愬姛");
     }
 
@@ -48,12 +88,47 @@
      * @return
      */
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public Result update(GoodsCustomizeTemplateForm form) {
         GoodsCustomizeTemplate entity = baseMapper.selectById(form.getId());
-
         // 涓虹┖鎶汭llegalArgumentException锛屽仛鍏ㄥ眬寮傚父澶勭悊
         Assert.notNull(entity, "璁板綍涓嶅瓨鍦�");
         BeanUtils.copyProperties(form, entity);
+
+        //鍏堝垹闄や箣鍓嶇殑妯℃澘淇℃伅鐒跺悗娣诲姞鏂颁俊鎭�
+        List<TemplateImgs> templateImgsList = new LambdaQueryChainWrapper<>(templateImgsService.getBaseMapper())
+                .eq(TemplateImgs::getTemplateId, entity.getId())
+                .eq(TemplateImgs::getDeleteFlag, Boolean.FALSE)
+                .list();
+
+        List<String> imgIds = templateImgsList.stream()
+                .map(TemplateImgs::getId)
+                .collect(Collectors.toList());
+
+        List<TemplateConstomizeTitle> templateConstomizeTitleList = new LambdaQueryChainWrapper<>(templateConstomizeTitleService.getBaseMapper())
+                .eq(TemplateConstomizeTitle::getTemplateId, entity.getId())
+                .eq(TemplateConstomizeTitle::getDeleteFlag, Boolean.FALSE)
+                .list();
+
+        List<String> titleIds = templateConstomizeTitleList.stream()
+                .map(TemplateConstomizeTitle::getId)
+                .collect(Collectors.toList());
+
+
+        templateImgsService.removeBatchByIds(imgIds);
+        templateConstomizeTitleService.removeBatchByIds(titleIds);
+        List<TemplateImgs> listImages = form.getListImages();
+        for (TemplateImgs templateImgs : listImages) {
+            templateImgs.setTemplateId(entity.getId());
+        }
+        List<TemplateConstomizeTitle> titles = form.getTitles();
+        for (TemplateConstomizeTitle title : titles) {
+            title.setTemplateId(entity.getId());
+        }
+        templateImgsService.saveBatch(listImages);
+        templateConstomizeTitleService.saveBatch(titles);
+
+
         baseMapper.updateById(entity);
         return Result.ok("淇敼鎴愬姛");
     }
@@ -75,8 +150,32 @@
      * @return
      */
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public Result removeById(String id) {
+        List<TemplateImgs> templateImgsList = new LambdaQueryChainWrapper<>(templateImgsService.getBaseMapper())
+                .eq(TemplateImgs::getTemplateId, id)
+                .eq(TemplateImgs::getDeleteFlag, Boolean.FALSE)
+                .list();
+
+        List<String> imgIds = templateImgsList.stream()
+                .map(TemplateImgs::getId)
+                .collect(Collectors.toList());
+
+        List<TemplateConstomizeTitle> templateConstomizeTitleList = new LambdaQueryChainWrapper<>(templateConstomizeTitleService.getBaseMapper())
+                .eq(TemplateConstomizeTitle::getTemplateId, id)
+                .eq(TemplateConstomizeTitle::getDeleteFlag, Boolean.FALSE)
+                .list();
+
+        List<String> titleIds = templateConstomizeTitleList.stream()
+                .map(TemplateConstomizeTitle::getId)
+                .collect(Collectors.toList());
+
+
+        templateImgsService.removeBatchByIds(imgIds);
+        templateConstomizeTitleService.removeBatchByIds(titleIds);
+
         baseMapper.deleteById(id);
+
         return Result.ok("鍒犻櫎鎴愬姛");
     }
 
@@ -99,9 +198,26 @@
      */
     @Override
     public Result detail(String id) {
+        return Result.ok().data(this.detailById(id));
+    }
+    @Override
+    public GoodsCustomizeTemplateVO detailById(String id){
         GoodsCustomizeTemplateVO vo = baseMapper.getById(id);
         Assert.notNull(vo, "璁板綍涓嶅瓨鍦�");
-        return Result.ok().data(vo);
+        //鏌ヨ鐩稿叧妯℃澘淇℃伅
+
+        List<TemplateImgs> templateImgsList = new LambdaQueryChainWrapper<>(templateImgsService.getBaseMapper())
+                .eq(TemplateImgs::getTemplateId, id)
+                .eq(TemplateImgs::getDeleteFlag, Boolean.FALSE)
+                .list();
+
+        List<TemplateConstomizeTitle> templateConstomizeTitleList = new LambdaQueryChainWrapper<>(templateConstomizeTitleService.getBaseMapper())
+                .eq(TemplateConstomizeTitle::getTemplateId, id)
+                .eq(TemplateConstomizeTitle::getDeleteFlag, Boolean.FALSE)
+                .list();
+        vo.setListImages(templateImgsList);
+        vo.setTitles(templateConstomizeTitleList);
+        return vo;
     }
 
     /**
@@ -116,4 +232,82 @@
                 .collect(Collectors.toList());
         return Result.ok().data(vos);
     }
+
+    @Override
+    public Result changeStatus(String id) {
+        GoodsCustomizeTemplate goodsCustomizeTemplate = baseMapper.selectById(id);
+        if (EnableStatusEnums.ENABLE.name().equals(goodsCustomizeTemplate.getStatus())){
+            goodsCustomizeTemplate.setStatus(EnableStatusEnums.DISABLE.name());
+        }else{
+            goodsCustomizeTemplate.setStatus(EnableStatusEnums.ENABLE.name());
+        }
+        baseMapper.updateById(goodsCustomizeTemplate);
+        return Result.ok();
+    }
+
+    @Override
+    public Result getCustomizeTemplateById(String id) {
+        CustomizeTemplateVO customizeTemplate = baseMapper.getCustomizeTemplate(id);
+//        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);
+    }
+
+    @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);
+    }
+
+    @Override
+    @Transactional
+    public Result editTemplate(BindingTemplateParam bindingTemplateParam) {
+        LambdaQueryWrapper<UserCheckTemplate> del = Wrappers.<UserCheckTemplate>lambdaQuery();
+        del.eq(UserCheckTemplate::getOrderSn,bindingTemplateParam.getSn())
+                .eq(UserCheckTemplate::getTemplateId,bindingTemplateParam.getTemplateId());
+        userCheckTemplateService.remove(del);
+        //瀹氬埗鍟嗗搧鐗规畩澶勭悊
+        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(bindingTemplateParam.getSn());
+                userCheckTemplate.setSubId(customizeTemplateForm.getId());
+                userCheckTemplate.setSubName(customizeTemplateForm.getTemplateTitle());
+                userCheckTemplate.setContent(customizeTemplateForm.getValue());
+                customizeTemplateForms.add(userCheckTemplate);
+            }
+            userCheckTemplateService.saveBatch(customizeTemplateForms);
+
+        }
+        return Result.ok();
+    }
 }

--
Gitblit v1.8.0