From c40f30d375d4108c8514eed49b372cbb7d80bb57 Mon Sep 17 00:00:00 2001
From: peng <peng.com>
Date: 星期三, 15 十月 2025 16:15:01 +0800
Subject: [PATCH] 用户行为分析
---
framework/src/main/java/cn/lili/modules/lmk/service/impl/GoodsCustomizeTemplateServiceImpl.java | 145 +++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 143 insertions(+), 2 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..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
@@ -1,18 +1,32 @@
package cn.lili.modules.lmk.service.impl;
+import cn.lili.modules.lmk.domain.entity.TemplateConstomizeTitle;
+import cn.lili.modules.lmk.domain.entity.TemplateImgs;
+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;
import cn.lili.modules.lmk.service.GoodsCustomizeTemplateService;
import cn.lili.base.Result;
+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.List;
@@ -30,15 +44,35 @@
private final GoodsCustomizeTemplateMapper goodsCustomizeTemplateMapper;
+ private final TemplateImgsService templateImgsService;
+ private final TemplateConstomizeTitleService templateConstomizeTitleService;
+ private final GoodsSkuService goodsSkuService;
+
+ 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 +82,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 +144,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 +192,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 +226,35 @@
.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 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);
+ }
}
--
Gitblit v1.8.0