dev798
parent
a07b6385e9
commit
8dc71ff9dc
|
@ -6,6 +6,7 @@ import io.swagger.annotations.ApiModelProperty;
|
|||
import lombok.Data;
|
||||
|
||||
import java.math.BigInteger;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @Author: wangxinyuan
|
||||
|
@ -35,4 +36,9 @@ public class ProductSku extends BaseEntity {
|
|||
|
||||
@ApiModelProperty(value = "SKU背景图地址")
|
||||
private String bgImg;
|
||||
|
||||
private Map<String, Integer> attributes;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -1,11 +1,18 @@
|
|||
package com.muyu.product.mapper;
|
||||
|
||||
import com.muyu.product.domain.DTO.ProductSku;
|
||||
import com.muyu.product.domain.DTO.ProductSkuAttr;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author: wangxinyuan
|
||||
* @Date: 2024/3/29 17:29
|
||||
*/
|
||||
@Mapper
|
||||
public interface ProductSkuMapper {
|
||||
void insertProductSku(List<ProductSku> productSkuList);
|
||||
|
||||
void insertProductSkuAttr(List<ProductSkuAttr> productSkuAttrs);
|
||||
}
|
||||
|
|
|
@ -1,11 +1,15 @@
|
|||
package com.muyu.product.service.impl;
|
||||
import com.alibaba.fastjson.JSONObject; // 导入 FastJSON 的 JSONObject 类
|
||||
import com.github.pagehelper.PageHelper; // 导入 PageHelper 类
|
||||
import com.github.pagehelper.PageInfo; // 导入 PageInfo 类
|
||||
import com.muyu.product.domain.DTO.ProductSkuAttr; // 导入 ProductSkuAttr 类
|
||||
|
||||
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.muyu.product.domain.DTO.*;
|
||||
import com.muyu.product.domain.DTO.Number;
|
||||
import com.muyu.product.domain.Resp.ProductResp;
|
||||
import com.muyu.product.domain.req.ProductReq;
|
||||
import com.muyu.product.domain.req.ProductSkuNew;
|
||||
import com.muyu.product.domain.req.QueryProductReq;
|
||||
import com.muyu.product.mapper.ProductMapper;
|
||||
import com.muyu.product.mapper.ProductSkuMapper;
|
||||
|
@ -17,8 +21,8 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.management.Query;
|
||||
import java.util.List;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* @Author: wangxinyuan
|
||||
|
@ -64,6 +68,42 @@ public class ProductServiceImpl implements ProductService {
|
|||
|
||||
insertProductPromotion(productReq);
|
||||
|
||||
insertProductSku(productReq);
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void insertProductSku(ProductReq productReq) {
|
||||
List<ProductSku> productSkuList = productReq.getProductSkus();
|
||||
int productId = productReq.getProduct().getId();
|
||||
|
||||
// 设置商品ID
|
||||
productSkuList.forEach(productSku -> productSku.setProductId(productId));
|
||||
|
||||
// 批量添加 productSku
|
||||
productSkuMapper.insertProductSku(productSkuList);
|
||||
|
||||
// 添加 skuAttr
|
||||
List<ProductSkuAttr> productSkuAttrs = new ArrayList<>();
|
||||
productSkuList.forEach(productSku -> {
|
||||
// 获取 sku 的属性值
|
||||
Map<String, Integer> attributes = productSku.getAttributes();
|
||||
|
||||
// 构造 ProductSkuAttr 对象
|
||||
attributes.forEach((key, value) -> {
|
||||
ProductSkuAttr productSkuAttr = new ProductSkuAttr();
|
||||
productSkuAttr.setSkuId(productSku.getId());
|
||||
productSkuAttr.setAttrId(Integer.valueOf(key));
|
||||
productSkuAttr.setAttrValueId(value);
|
||||
productSkuAttr.setFlag(Integer.valueOf(Number.zero.getValue()));
|
||||
productSkuAttrs.add(productSkuAttr);
|
||||
});
|
||||
});
|
||||
|
||||
log.info("productSkuAttrs 中的数据为:{}", JSONObject.toJSONString(productSkuAttrs));
|
||||
|
||||
// 批量添加 productSkuAttr
|
||||
productSkuMapper.insertProductSkuAttr(productSkuAttrs);
|
||||
}
|
||||
|
||||
private void insertProductPromotion(ProductReq productReq) {
|
||||
|
|
|
@ -8,4 +8,42 @@
|
|||
|
||||
<!-- 添加其他操作方法如插入、更新、删除等 -->
|
||||
|
||||
<insert id="insertProductSku">
|
||||
|
||||
insert t_product_sku (id,sale_price,promotion_price,stock,stock_alert
|
||||
,product_id,bg_img,create_time,create_by)
|
||||
values
|
||||
<foreach collection="productSkus" item="productSku" separator=",">
|
||||
(
|
||||
#{productSku.id},
|
||||
#{productSku.salePrice},
|
||||
#{productSku.promotionPrice},
|
||||
#{productSku.stock},
|
||||
#{productSku.stockAlert},
|
||||
#{productSku.productId},
|
||||
#{productSku.bgImg},
|
||||
#{productSku.createTime},
|
||||
#{productSku.createBy}
|
||||
)
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
|
||||
<insert id="insertProductSkuAttr">
|
||||
INSERT INTO `cargo`.`t_product_sku_attr` (
|
||||
`sku_id`, `attr_id`, `attr_value_id`, `attr_value`, `flag`, `create_time`, `create_by`
|
||||
) VALUES
|
||||
<foreach collection="productSkuAttrs" separator="," item="productSkuAttr">
|
||||
(
|
||||
#{productSkuAttr.skuId},
|
||||
#{productSkuAttr.attrId},
|
||||
#{productSkuAttr.attrValueId},
|
||||
#{productSkuAttr.attrValue},
|
||||
#{productSkuAttr.flag},
|
||||
now(),
|
||||
#{productSkuAttr.createBy}
|
||||
)
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
</mapper>
|
||||
|
|
Loading…
Reference in New Issue