提交修改
This commit is contained in:
parent
5bc6f98ce4
commit
8785d3f680
@ -78,4 +78,9 @@ public interface VvProductDao extends BaseMapper<VvProductEntity> {
|
|||||||
@IF @OrderBy(VvProductEntity.create_timestamp) String createTimestampSort);
|
@IF @OrderBy(VvProductEntity.create_timestamp) String createTimestampSort);
|
||||||
|
|
||||||
List<VvProductEntity> selectVvProductByProductIds(@IN List<Long> id);
|
List<VvProductEntity> selectVvProductByProductIds(@IN List<Long> id);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
int updateShowSaleCountAndSaleCount(@Plus Integer showSaleCount,@Plus Integer realSaleCount,@By Long id);
|
||||||
}
|
}
|
||||||
@ -10,8 +10,7 @@ package com.heyu.api.data.dao.vv;
|
|||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.heyu.api.data.entity.vv.VvSkuEntity;
|
import com.heyu.api.data.entity.vv.VvSkuEntity;
|
||||||
import com.lz.mybatis.plugin.annotations.IN;
|
import com.lz.mybatis.plugin.annotations.*;
|
||||||
import com.lz.mybatis.plugin.annotations.Realy;
|
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
@ -46,4 +45,9 @@ public interface VvSkuDao extends BaseMapper<VvSkuEntity> {
|
|||||||
|
|
||||||
|
|
||||||
List<VvSkuEntity> selectVvSkuBySkuIds(@IN List<Long> id);
|
List<VvSkuEntity> selectVvSkuBySkuIds(@IN List<Long> id);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
int updateVvSkuStockSaleCountById(@Sub Integer stock, @Plus Integer realSaleCount,@Plus Integer showSaleCount, @By Long skuId);
|
||||||
}
|
}
|
||||||
@ -10,7 +10,7 @@ import java.util.Date;import java.util.Date;
|
|||||||
/**
|
/**
|
||||||
*sku详描
|
*sku详描
|
||||||
* @author quyixiao
|
* @author quyixiao
|
||||||
* @since 2025-08-24
|
* @since 2025-08-25
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@ -21,14 +21,17 @@ private static final long serialVersionUID = 1L;
|
|||||||
public final static String CLASS_NAME ="com.heyu.api.data.entity.vv.VvSkuEntity:";
|
public final static String CLASS_NAME ="com.heyu.api.data.entity.vv.VvSkuEntity:";
|
||||||
|
|
||||||
public final static String all = CLASS_NAME + "*";
|
public final static String all = CLASS_NAME + "*";
|
||||||
public final static String id_ = CLASS_NAME + "id"; //
|
public final static String id_ = CLASS_NAME + "id"; //
|
||||||
public final static String is_delete = CLASS_NAME + "is_delete"; // 是否删除:0 否 1 删除
|
public final static String is_delete = CLASS_NAME + "is_delete"; // 是否删除:0 否 1 删除
|
||||||
public final static String create_time = CLASS_NAME + "create_time"; // 创建时间
|
public final static String create_time = CLASS_NAME + "create_time"; // 创建时间
|
||||||
public final static String modify_time = CLASS_NAME + "modify_time"; // 修改时间
|
public final static String modify_time = CLASS_NAME + "modify_time"; // 修改时间
|
||||||
public final static String image_url = CLASS_NAME + "image_url"; // 图片url
|
public final static String image_url = CLASS_NAME + "image_url"; // 图片url
|
||||||
public final static String sale_price = CLASS_NAME + "sale_price"; // 销售价
|
public final static String sale_price = CLASS_NAME + "sale_price"; // 销售价
|
||||||
public final static String origin_price = CLASS_NAME + "origin_price"; // 原价
|
public final static String origin_price = CLASS_NAME + "origin_price"; // 原价
|
||||||
public final static String product_id = CLASS_NAME + "product_id"; // 商品id
|
public final static String product_id = CLASS_NAME + "product_id"; // 商品id
|
||||||
|
public final static String stock_ = CLASS_NAME + "stock"; // 库存
|
||||||
|
public final static String real_sale_count = CLASS_NAME + "real_sale_count"; // 真实销售数量
|
||||||
|
public final static String show_sale_count = CLASS_NAME + "show_sale_count"; // 展示销售数量
|
||||||
//
|
//
|
||||||
@TableId(value = "id", type = IdType.AUTO)
|
@TableId(value = "id", type = IdType.AUTO)
|
||||||
private Long id;
|
private Long id;
|
||||||
@ -46,6 +49,12 @@ private static final long serialVersionUID = 1L;
|
|||||||
private BigDecimal originPrice;
|
private BigDecimal originPrice;
|
||||||
//商品id
|
//商品id
|
||||||
private Long productId;
|
private Long productId;
|
||||||
|
//库存
|
||||||
|
private Integer stock;
|
||||||
|
//真实销售数量
|
||||||
|
private Integer realSaleCount;
|
||||||
|
//展示销售数量
|
||||||
|
private Integer showSaleCount;
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @return
|
* @return
|
||||||
@ -166,6 +175,51 @@ private static final long serialVersionUID = 1L;
|
|||||||
this.productId = productId;
|
this.productId = productId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 库存
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public Integer getStock() {
|
||||||
|
return stock;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 库存
|
||||||
|
* @param stock
|
||||||
|
*/
|
||||||
|
public void setStock(Integer stock) {
|
||||||
|
this.stock = stock;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 真实销售数量
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public Integer getRealSaleCount() {
|
||||||
|
return realSaleCount;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 真实销售数量
|
||||||
|
* @param realSaleCount
|
||||||
|
*/
|
||||||
|
public void setRealSaleCount(Integer realSaleCount) {
|
||||||
|
this.realSaleCount = realSaleCount;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 展示销售数量
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public Integer getShowSaleCount() {
|
||||||
|
return showSaleCount;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 展示销售数量
|
||||||
|
* @param showSaleCount
|
||||||
|
*/
|
||||||
|
public void setShowSaleCount(Integer showSaleCount) {
|
||||||
|
this.showSaleCount = showSaleCount;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "VvSkuEntity{" +
|
return "VvSkuEntity{" +
|
||||||
@ -177,6 +231,9 @@ private static final long serialVersionUID = 1L;
|
|||||||
",salePrice=" + salePrice +
|
",salePrice=" + salePrice +
|
||||||
",originPrice=" + originPrice +
|
",originPrice=" + originPrice +
|
||||||
",productId=" + productId +
|
",productId=" + productId +
|
||||||
|
",stock=" + stock +
|
||||||
|
",realSaleCount=" + realSaleCount +
|
||||||
|
",showSaleCount=" + showSaleCount +
|
||||||
"}";
|
"}";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -49,7 +49,7 @@ public class MysqlMain_update {
|
|||||||
List<TablesBean> list = new ArrayList<TablesBean>();
|
List<TablesBean> list = new ArrayList<TablesBean>();
|
||||||
|
|
||||||
|
|
||||||
String a = "vv_product";
|
String a = "vv_sku";
|
||||||
for (String s : a.split(",")) {
|
for (String s : a.split(",")) {
|
||||||
list.add(new TablesBean(s));
|
list.add(new TablesBean(s));
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,12 @@
|
|||||||
|
package com.heyu.api.alibaba.request.mm.order.resp;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class OrderSkuDTO {
|
||||||
|
|
||||||
|
private Long skuId;
|
||||||
|
|
||||||
|
|
||||||
|
private String message;
|
||||||
|
}
|
||||||
@ -78,6 +78,7 @@ public class AppOrderController {
|
|||||||
|
|
||||||
vvOrderRequest.setOrderIds(orderIds);
|
vvOrderRequest.setOrderIds(orderIds);
|
||||||
}
|
}
|
||||||
|
|
||||||
PPageUtils pageUtils = PPageUtils.startPage(vvOrderRequest.getPageNum(), vvOrderRequest.getPageSize())
|
PPageUtils pageUtils = PPageUtils.startPage(vvOrderRequest.getPageNum(), vvOrderRequest.getPageSize())
|
||||||
.doSelect(new ISelect() {
|
.doSelect(new ISelect() {
|
||||||
@Override
|
@Override
|
||||||
@ -93,7 +94,6 @@ public class AppOrderController {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
List<VvTradeOrderEntity> vvTradeOrderEntities = pageUtils.getRows();
|
List<VvTradeOrderEntity> vvTradeOrderEntities = pageUtils.getRows();
|
||||||
|
|
||||||
List<Long> tradeOrderIds = new ArrayList<>();
|
List<Long> tradeOrderIds = new ArrayList<>();
|
||||||
|
|
||||||
for (VvTradeOrderEntity vvTradeOrderEntity : vvTradeOrderEntities) {
|
for (VvTradeOrderEntity vvTradeOrderEntity : vvTradeOrderEntities) {
|
||||||
@ -102,7 +102,6 @@ public class AppOrderController {
|
|||||||
|
|
||||||
List<VvTradeOrderLineEntity> list = vvTradeOrderLineDao.selectVvTradeOrderLineByTradeOrderIds(tradeOrderIds);
|
List<VvTradeOrderLineEntity> list = vvTradeOrderLineDao.selectVvTradeOrderLineByTradeOrderIds(tradeOrderIds);
|
||||||
|
|
||||||
|
|
||||||
List<String> trackNumbers = new ArrayList<>();
|
List<String> trackNumbers = new ArrayList<>();
|
||||||
for (VvTradeOrderLineEntity vvTradeOrderLineEntity : list) {
|
for (VvTradeOrderLineEntity vvTradeOrderLineEntity : list) {
|
||||||
trackNumbers.add(vvTradeOrderLineEntity.getTrackNumber());
|
trackNumbers.add(vvTradeOrderLineEntity.getTrackNumber());
|
||||||
@ -126,7 +125,6 @@ public class AppOrderController {
|
|||||||
|
|
||||||
List<VvTradeOrderLineEntity> vvTradeOrderLineEntityList = new ArrayList<>();
|
List<VvTradeOrderLineEntity> vvTradeOrderLineEntityList = new ArrayList<>();
|
||||||
|
|
||||||
|
|
||||||
for (VvTradeOrderLineEntity tradeOrderLineEntity : list) {
|
for (VvTradeOrderLineEntity tradeOrderLineEntity : list) {
|
||||||
if (vvTradeOrderEntity.getId().equals(tradeOrderLineEntity.getTradeOrderId())) {
|
if (vvTradeOrderEntity.getId().equals(tradeOrderLineEntity.getTradeOrderId())) {
|
||||||
vvTradeOrderLineEntityList.add(tradeOrderLineEntity);
|
vvTradeOrderLineEntityList.add(tradeOrderLineEntity);
|
||||||
@ -142,13 +140,11 @@ public class AppOrderController {
|
|||||||
for (VvTradeOrderLineEntity tradeOrderLineEntity : vvTradeOrderLineEntityList) {
|
for (VvTradeOrderLineEntity tradeOrderLineEntity : vvTradeOrderLineEntityList) {
|
||||||
if (StringUtils.isNotBlank(tradeOrderLineEntity.getTrackNumber())) {
|
if (StringUtils.isNotBlank(tradeOrderLineEntity.getTrackNumber())) {
|
||||||
PackageDTO packageDTO = packageDTOMap.get(tradeOrderLineEntity.getTrackNumber());
|
PackageDTO packageDTO = packageDTOMap.get(tradeOrderLineEntity.getTrackNumber());
|
||||||
|
|
||||||
if (packageDTO == null) {
|
if (packageDTO == null) {
|
||||||
VvPackageEntity vvPackage = vvPackageEntityMap.get(tradeOrderLineEntity.getTrackNumber());
|
VvPackageEntity vvPackage = vvPackageEntityMap.get(tradeOrderLineEntity.getTrackNumber());
|
||||||
packageDTO = new PackageDTO();
|
packageDTO = new PackageDTO();
|
||||||
BeanUtils.copyProperties(vvPackage, packageDTO);
|
BeanUtils.copyProperties(vvPackage, packageDTO);
|
||||||
}
|
}
|
||||||
|
|
||||||
List<VvTradeOrderLineEntity> vvTradeOrderLineEntitys = packageDTO.getVvTradeOrderLineEntityList();
|
List<VvTradeOrderLineEntity> vvTradeOrderLineEntitys = packageDTO.getVvTradeOrderLineEntityList();
|
||||||
if (vvTradeOrderLineEntitys == null) {
|
if (vvTradeOrderLineEntitys == null) {
|
||||||
vvTradeOrderLineEntitys.add(tradeOrderLineEntity);
|
vvTradeOrderLineEntitys.add(tradeOrderLineEntity);
|
||||||
@ -167,10 +163,8 @@ public class AppOrderController {
|
|||||||
packageList.add(entry.getValue());
|
packageList.add(entry.getValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
vvOrderListResp.setVvTradeOrderLineList(vvTradeOrderLineList);
|
vvOrderListResp.setVvTradeOrderLineList(vvTradeOrderLineList);
|
||||||
vvOrderListResp.setPackageList(packageList);
|
vvOrderListResp.setPackageList(packageList);
|
||||||
|
|
||||||
vvOrderListResps.add(vvOrderListResp);
|
vvOrderListResps.add(vvOrderListResp);
|
||||||
}
|
}
|
||||||
return R.ok().setData(vvOrderListResps);
|
return R.ok().setData(vvOrderListResps);
|
||||||
@ -183,11 +177,9 @@ public class AppOrderController {
|
|||||||
@RequestMapping("/add")
|
@RequestMapping("/add")
|
||||||
public R add(@RequestBody VvTradeOrderDTO vvOrderRequest) {
|
public R add(@RequestBody VvTradeOrderDTO vvOrderRequest) {
|
||||||
List<VvTradeOrderLineEntity> vvTradeOrderLineEntityList = new ArrayList<>();
|
List<VvTradeOrderLineEntity> vvTradeOrderLineEntityList = new ArrayList<>();
|
||||||
|
|
||||||
BigDecimal allPrice = BigDecimal.ZERO;
|
BigDecimal allPrice = BigDecimal.ZERO;
|
||||||
int allNum = 0;
|
int allNum = 0;
|
||||||
|
|
||||||
|
|
||||||
List<Long> skuIds = new ArrayList<>();
|
List<Long> skuIds = new ArrayList<>();
|
||||||
for (VvTradeOrderLineDTO vvTradeOrderLineDTO : vvOrderRequest.getVvTradeOrderLineDTOList()) {
|
for (VvTradeOrderLineDTO vvTradeOrderLineDTO : vvOrderRequest.getVvTradeOrderLineDTOList()) {
|
||||||
skuIds.add(vvTradeOrderLineDTO.getSkuId());
|
skuIds.add(vvTradeOrderLineDTO.getSkuId());
|
||||||
@ -205,12 +197,18 @@ public class AppOrderController {
|
|||||||
vvSkuPropertyValueMap.put(vvSkuPropertyValueEntity.getSkuId(), vvSkuPropertyValueEntities);
|
vvSkuPropertyValueMap.put(vvSkuPropertyValueEntity.getSkuId(), vvSkuPropertyValueEntities);
|
||||||
productIds.add(vvSkuPropertyValueEntity.getProductId());
|
productIds.add(vvSkuPropertyValueEntity.getProductId());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Map<Long, VvSkuEntity> skuEntityMap = new HashMap<>();
|
Map<Long, VvSkuEntity> skuEntityMap = new HashMap<>();
|
||||||
List<VvSkuEntity> vvSkuEntities = vvSkuDao.selectVvSkuBySkuIds(skuIds);
|
List<VvSkuEntity> vvSkuEntities = vvSkuDao.selectVvSkuBySkuIds(skuIds);
|
||||||
|
|
||||||
for (VvSkuEntity vvSkuEntity : vvSkuEntities) {
|
for (VvSkuEntity vvSkuEntity : vvSkuEntities) {
|
||||||
skuEntityMap.put(vvSkuEntity.getId(), vvSkuEntity);
|
skuEntityMap.put(vvSkuEntity.getId(), vvSkuEntity);
|
||||||
|
// 如果库存少于 0 ,则显示库存不足
|
||||||
|
if (vvSkuEntity.getStock() <= 0) {
|
||||||
|
OrderSkuDTO orderSkuDTO = new OrderSkuDTO();
|
||||||
|
orderSkuDTO.setSkuId(vvSkuEntity.getId());
|
||||||
|
orderSkuDTO.setMessage("库存不足");
|
||||||
|
return R.error().setData(orderSkuDTO);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
List<Long> productIdList = new ArrayList<>();
|
List<Long> productIdList = new ArrayList<>();
|
||||||
@ -222,9 +220,21 @@ public class AppOrderController {
|
|||||||
vvProductMap.put(vvProductEntity.getId(), vvProductEntity);
|
vvProductMap.put(vvProductEntity.getId(), vvProductEntity);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Map<Long, Integer> productNumMap = new HashMap<>();
|
||||||
|
|
||||||
for (VvTradeOrderLineDTO vvTradeOrderLineDTO : vvOrderRequest.getVvTradeOrderLineDTOList()) {
|
for (VvTradeOrderLineDTO vvTradeOrderLineDTO : vvOrderRequest.getVvTradeOrderLineDTOList()) {
|
||||||
VvSkuEntity vvSkuEntity = skuEntityMap.get(vvTradeOrderLineDTO.getSkuId());
|
VvSkuEntity vvSkuEntity = skuEntityMap.get(vvTradeOrderLineDTO.getSkuId());
|
||||||
|
Integer saleCount = productNumMap.get(vvSkuEntity.getProductId());
|
||||||
|
if (saleCount == null) {
|
||||||
|
saleCount = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
saleCount = saleCount + vvTradeOrderLineDTO.getNum();
|
||||||
|
|
||||||
|
productNumMap.put(vvSkuEntity.getProductId(), saleCount);
|
||||||
|
|
||||||
allNum = allNum + vvTradeOrderLineDTO.getNum();
|
allNum = allNum + vvTradeOrderLineDTO.getNum();
|
||||||
|
|
||||||
allPrice = BigDecimalUtil.add(BigDecimalUtil.multiply(vvSkuEntity.getSalePrice(), new BigDecimal(vvTradeOrderLineDTO.getNum())), allPrice);
|
allPrice = BigDecimalUtil.add(BigDecimalUtil.multiply(vvSkuEntity.getSalePrice(), new BigDecimal(vvTradeOrderLineDTO.getNum())), allPrice);
|
||||||
|
|
||||||
List<VvSkuPropertyValueEntity> vvSkuPropertyValueEntities = vvSkuPropertyValueMap.get(vvTradeOrderLineDTO.getSkuId());
|
List<VvSkuPropertyValueEntity> vvSkuPropertyValueEntities = vvSkuPropertyValueMap.get(vvTradeOrderLineDTO.getSkuId());
|
||||||
@ -283,7 +293,14 @@ public class AppOrderController {
|
|||||||
vvTradeOrderLineDao.insertOrUpdateVvTradeOrderLine(tradeOrderLineEntity);
|
vvTradeOrderLineDao.insertOrUpdateVvTradeOrderLine(tradeOrderLineEntity);
|
||||||
}
|
}
|
||||||
|
|
||||||
return R.ok();
|
for (VvTradeOrderLineDTO vvTradeOrderLineDTO : vvOrderRequest.getVvTradeOrderLineDTOList()) {
|
||||||
|
vvSkuDao.updateVvSkuStockSaleCountById(vvTradeOrderLineDTO.getNum(), vvTradeOrderLineDTO.getNum(), vvTradeOrderLineDTO.getNum(), vvTradeOrderLineDTO.getSkuId());
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Map.Entry<Long, Integer> map : productNumMap.entrySet()) {
|
||||||
|
vvProductDao.updateShowSaleCountAndSaleCount(map.getValue(), map.getValue(), map.getKey());
|
||||||
|
}
|
||||||
|
return R.ok("订单创建成功");
|
||||||
}
|
}
|
||||||
|
|
||||||
@RequestMapping("/delete")
|
@RequestMapping("/delete")
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user