From 802eb534794ce1783c2525ad4ddc4a6256d1a087 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期六, 11 十月 2025 15:49:33 +0800
Subject: [PATCH] 订单定值商品模板信息展示
---
framework/src/main/java/cn/lili/modules/lmk/service/impl/GoodsCustomizeTemplateServiceImpl.java | 8 ++-
framework/src/main/java/cn/lili/modules/goods/entity/dos/Goods.java | 7 +++
framework/src/main/java/cn/lili/modules/order/order/entity/dos/OrderItem.java | 9 ++++
framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderItemServiceImpl.java | 44 +++++++++++++++++++--
framework/src/main/java/cn/lili/modules/goods/sku/GoodsSkuBuilder.java | 20 +++++++++-
framework/src/main/java/cn/lili/modules/lmk/service/GoodsCustomizeTemplateService.java | 3 +
6 files changed, 80 insertions(+), 11 deletions(-)
diff --git a/framework/src/main/java/cn/lili/modules/goods/entity/dos/Goods.java b/framework/src/main/java/cn/lili/modules/goods/entity/dos/Goods.java
index c934cdc..72a1f33 100644
--- a/framework/src/main/java/cn/lili/modules/goods/entity/dos/Goods.java
+++ b/framework/src/main/java/cn/lili/modules/goods/entity/dos/Goods.java
@@ -252,6 +252,13 @@
sku.remove("couponId");
sku.remove("couponName");
}
+ Object templateId = sku.get("customizeTemplateId");
+ if (templateId == null || StringUtil.isEmpty(templateId.toString())) {
+ sku.remove("customizeTemplateId");
+ sku.remove("customizeTemplateName");
+ }
+
+
sku.values().forEach(i -> {
if (CharSequenceUtil.isBlank(i.toString())) {
throw new ServiceException(ResultCode.MUST_HAVE_GOODS_SKU_VALUE);
diff --git a/framework/src/main/java/cn/lili/modules/goods/sku/GoodsSkuBuilder.java b/framework/src/main/java/cn/lili/modules/goods/sku/GoodsSkuBuilder.java
index 8e121d0..2ad57a2 100644
--- a/framework/src/main/java/cn/lili/modules/goods/sku/GoodsSkuBuilder.java
+++ b/framework/src/main/java/cn/lili/modules/goods/sku/GoodsSkuBuilder.java
@@ -7,6 +7,7 @@
import cn.lili.common.utils.StringUtils;
import cn.lili.modules.goods.entity.dos.Goods;
import cn.lili.modules.goods.entity.dos.GoodsSku;
+import cn.lili.modules.order.order.entity.enums.CustomizeFlagEnum;
import org.springframework.stereotype.Component;
import java.util.*;
@@ -65,7 +66,7 @@
Map<String, Object> specMap = new LinkedHashMap<>();
// 鍘熷瑙勬牸椤�
- String[] ignoreOriginKeys = {"id", "sn", "cost", "price", "quantity", "weight", "alertQuantity","couponId","couponName"};
+ String[] ignoreOriginKeys = {"id", "sn", "cost", "price", "quantity", "weight", "alertQuantity","couponId","couponName","customizeTemplateId","customizeTemplateName"};
//鑾峰彇瑙勬牸淇℃伅
for (Map.Entry<String, Object> spec : skuInfo.entrySet()) {
//淇濆瓨鏂板瑙勬牸淇℃伅
@@ -87,7 +88,22 @@
if(StringUtils.isNotBlank(Convert.toStr(skuInfo.get("couponId")))){
goodsSku.setCouponId(Convert.toStr(skuInfo.get("couponId"),""));
}
-
+ boolean have = true;
+ if(StringUtils.isNotBlank(Convert.toStr(skuInfo.get("customizeTemplateId")))){
+ goodsSku.setCustomizeTemplateId(Convert.toStr(skuInfo.get("customizeTemplateId"),""));
+ }else{
+ have = false;
+ }
+ if(StringUtils.isNotBlank(Convert.toStr(skuInfo.get("customizeTemplateName")))){
+ goodsSku.setCustomizeTemplateName(Convert.toStr(skuInfo.get("customizeTemplateName"),""));
+ }else {
+ have = false;
+ }
+ if (have){
+ goodsSku.setCustomizeFlag(CustomizeFlagEnum.CUSTOMIZE.name());
+ }else{
+ goodsSku.setCustomizeFlag(CustomizeFlagEnum.NOT_CUSTOMIZE.name());
+ }
goodsSku.setCouponName(Convert.toStr(skuInfo.get("couponName"),""));
goodsSku.setId(Convert.toStr(skuInfo.get("id"), ""));
goodsSku.setSn(Convert.toStr(skuInfo.get("sn")));
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 168d6ac..7dff15d 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
@@ -1,6 +1,7 @@
package cn.lili.modules.lmk.service;
import cn.lili.modules.lmk.domain.entity.GoodsCustomizeTemplate;
+import cn.lili.modules.lmk.domain.vo.GoodsCustomizeTemplateVO;
import com.baomidou.mybatisplus.extension.service.IService;
import cn.lili.base.Result;
import cn.lili.modules.lmk.domain.form.GoodsCustomizeTemplateForm;
@@ -57,6 +58,8 @@
*/
Result detail(String id);
+ GoodsCustomizeTemplateVO detailById(String id);
+
/**
* 鍒楄〃
* @return
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 f5b3a18..afa3ca6 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,14 +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 com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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.conditions.query.QueryChainWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import cn.lili.modules.lmk.domain.form.GoodsCustomizeTemplateForm;
import cn.lili.modules.lmk.domain.vo.GoodsCustomizeTemplateVO;
@@ -184,6 +182,10 @@
*/
@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, "璁板綍涓嶅瓨鍦�");
//鏌ヨ鐩稿叧妯℃澘淇℃伅
@@ -199,7 +201,7 @@
.list();
vo.setListImages(templateImgsList);
vo.setTitles(templateConstomizeTitleList);
- return Result.ok().data(vo);
+ return vo;
}
/**
diff --git a/framework/src/main/java/cn/lili/modules/order/order/entity/dos/OrderItem.java b/framework/src/main/java/cn/lili/modules/order/order/entity/dos/OrderItem.java
index fb2387a..b8ca3fd 100644
--- a/framework/src/main/java/cn/lili/modules/order/order/entity/dos/OrderItem.java
+++ b/framework/src/main/java/cn/lili/modules/order/order/entity/dos/OrderItem.java
@@ -5,6 +5,7 @@
import cn.lili.common.enums.PromotionTypeEnum;
import cn.lili.common.utils.BeanUtil;
import cn.lili.common.utils.SnowFlake;
+import cn.lili.modules.lmk.domain.vo.GoodsCustomizeTemplateVO;
import cn.lili.modules.order.cart.entity.dto.TradeDTO;
import cn.lili.modules.order.cart.entity.vo.CartSkuVO;
import cn.lili.modules.order.cart.entity.vo.CartVO;
@@ -15,12 +16,14 @@
import cn.lili.modules.order.order.entity.enums.RefundStatusEnum;
import cn.lili.modules.promotion.entity.vos.PromotionSkuVO;
import cn.lili.mybatis.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
+import org.springframework.data.annotation.Transient;
import java.math.BigDecimal;
import java.util.stream.Collectors;
@@ -138,7 +141,11 @@
@ApiModelProperty(value = "鎶芥垚姣斾緥")
private BigDecimal commission;
-
+
+ @ApiModelProperty(value = "鍟嗗搧瀹氬埗妯℃澘VO")
+ @TableField(exist = false)
+ private GoodsCustomizeTemplateVO goodsCustomizeTemplateVO;
+
public Integer getDeliverNumber() {
if(deliverNumber == null){
return 0;
diff --git a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderItemServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderItemServiceImpl.java
index 60cb3c9..ff75521 100644
--- a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderItemServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderItemServiceImpl.java
@@ -2,24 +2,31 @@
import cn.hutool.core.date.DateTime;
import cn.hutool.core.text.CharSequenceUtil;
+import cn.lili.base.Result;
import cn.lili.common.enums.ResultCode;
import cn.lili.common.exception.ServiceException;
+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.vo.GoodsCustomizeTemplateVO;
+import cn.lili.modules.lmk.service.GoodsCustomizeTemplateService;
import cn.lili.modules.order.order.entity.dos.OrderItem;
import cn.lili.modules.order.order.entity.dto.OrderItemOperationDTO;
-import cn.lili.modules.order.order.entity.enums.CommentStatusEnum;
-import cn.lili.modules.order.order.entity.enums.OrderComplaintStatusEnum;
-import cn.lili.modules.order.order.entity.enums.OrderItemAfterSaleStatusEnum;
-import cn.lili.modules.order.order.entity.enums.RefundStatusEnum;
+import cn.lili.modules.order.order.entity.enums.*;
import cn.lili.modules.order.order.mapper.OrderItemMapper;
import cn.lili.modules.order.order.service.OrderItemService;
+import cn.lili.utils.COSUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.List;
+import java.util.stream.Collectors;
/**
* 瀛愯鍗曚笟鍔″眰瀹炵幇
@@ -28,7 +35,11 @@
* @since 2020/11/17 7:38 涓嬪崍
*/
@Service
+@RequiredArgsConstructor
public class OrderItemServiceImpl extends ServiceImpl<OrderItemMapper, OrderItem> implements OrderItemService {
+ private final GoodsCustomizeTemplateService goodsCustomizeTemplateService;
+ private final GoodsSkuService skuService;
+ private final COSUtil cosUtil;
@Override
public void updateCommentStatus(String orderItemSn, CommentStatusEnum commentStatusEnum) {
@@ -87,7 +98,30 @@
public List<OrderItem> getByOrderSn(String orderSn) {
LambdaQueryWrapper<OrderItem> lambdaQueryWrapper = Wrappers.lambdaQuery();
lambdaQueryWrapper.eq(OrderItem::getOrderSn, orderSn);
- return this.list(lambdaQueryWrapper);
+ //鏌ヨ姣忎釜 skuId瀵瑰簲鐨勫晢鍝� 鏄惁鏄畾鍒跺晢鍝� 锛屾槸鍒欐煡璇㈠嚭妯℃澘淇℃伅
+ List<OrderItem> list = this.list(lambdaQueryWrapper);
+
+ for (OrderItem orderItem : list) {
+ GoodsSku goodsSku = new LambdaQueryChainWrapper<>(skuService.getBaseMapper())
+ .eq(GoodsSku::getId, orderItem.getSkuId())
+ .eq(GoodsSku::getDeleteFlag, Boolean.FALSE)
+ .one();
+ if (goodsSku != null && CustomizeFlagEnum.CUSTOMIZE.name().equals(goodsSku.getCustomizeFlag())) {
+ if (goodsSku.getCustomizeTemplateId() != null){
+ GoodsCustomizeTemplateVO goodsCustomizeTemplateVO = goodsCustomizeTemplateService.detailById(goodsSku.getCustomizeTemplateId());
+ goodsCustomizeTemplateVO.getListImages().forEach(item ->{
+ if (StringUtils.isNotBlank(item.getImgUrl()) && !item.getImgUrl().contains("http")){
+ item.setImgUrl(cosUtil.getPreviewUrl(item.getImgUrl()));
+ }
+ });
+
+ orderItem.setGoodsCustomizeTemplateVO(goodsCustomizeTemplateVO);
+
+ }
+ }
+
+ }
+ return list;
}
@Override
--
Gitblit v1.8.0