dev798
parent
a07b6385e9
commit
8dc71ff9dc
|
@ -6,6 +6,7 @@ import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.math.BigInteger;
|
import java.math.BigInteger;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Author: wangxinyuan
|
* @Author: wangxinyuan
|
||||||
|
@ -35,4 +36,9 @@ public class ProductSku extends BaseEntity {
|
||||||
|
|
||||||
@ApiModelProperty(value = "SKU背景图地址")
|
@ApiModelProperty(value = "SKU背景图地址")
|
||||||
private String bgImg;
|
private String bgImg;
|
||||||
|
|
||||||
|
private Map<String, Integer> attributes;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +1,18 @@
|
||||||
package com.muyu.product.mapper;
|
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 org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Author: wangxinyuan
|
* @Author: wangxinyuan
|
||||||
* @Date: 2024/3/29 17:29
|
* @Date: 2024/3/29 17:29
|
||||||
*/
|
*/
|
||||||
@Mapper
|
@Mapper
|
||||||
public interface ProductSkuMapper {
|
public interface ProductSkuMapper {
|
||||||
|
void insertProductSku(List<ProductSku> productSkuList);
|
||||||
|
|
||||||
|
void insertProductSkuAttr(List<ProductSkuAttr> productSkuAttrs);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +1,15 @@
|
||||||
package com.muyu.product.service.impl;
|
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.*;
|
||||||
import com.muyu.product.domain.DTO.Number;
|
import com.muyu.product.domain.DTO.Number;
|
||||||
import com.muyu.product.domain.Resp.ProductResp;
|
import com.muyu.product.domain.Resp.ProductResp;
|
||||||
import com.muyu.product.domain.req.ProductReq;
|
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.domain.req.QueryProductReq;
|
||||||
import com.muyu.product.mapper.ProductMapper;
|
import com.muyu.product.mapper.ProductMapper;
|
||||||
import com.muyu.product.mapper.ProductSkuMapper;
|
import com.muyu.product.mapper.ProductSkuMapper;
|
||||||
|
@ -17,8 +21,8 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import javax.management.Query;
|
|
||||||
import java.util.List;
|
import java.util.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Author: wangxinyuan
|
* @Author: wangxinyuan
|
||||||
|
@ -64,6 +68,42 @@ public class ProductServiceImpl implements ProductService {
|
||||||
|
|
||||||
insertProductPromotion(productReq);
|
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) {
|
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>
|
</mapper>
|
||||||
|
|
Loading…
Reference in New Issue