Merge remote-tracking branch 'origin/hph' into dev
# Conflicts: # src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java
This commit is contained in:
@@ -28,9 +28,7 @@ public interface TbProskuConMapper {
|
||||
|
||||
List<Integer> selectIdBySkuIdAndShopId(@Param("skuId") Integer skuId, @Param("shopId") Integer shopId);
|
||||
|
||||
|
||||
TbProskuCon selectByShopIdAndSkuIdAndProductId(@Param("skuId") Integer skuId, @Param("shopId") Integer shopId,@Param("productId") Integer productId);
|
||||
|
||||
List<TbProskuCon> selectByShopIdAndSkuIdAndProductId(@Param("skuId") Integer skuId, @Param("shopId") Integer shopId,@Param("productId") Integer productId);
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -11,6 +11,8 @@ public class TbConsInfoFlow implements Serializable {
|
||||
|
||||
private Integer consId;
|
||||
|
||||
private Integer proSkuId;
|
||||
|
||||
private String conName;
|
||||
|
||||
private BigDecimal amount;
|
||||
@@ -53,6 +55,14 @@ public class TbConsInfoFlow implements Serializable {
|
||||
this.consId = consId;
|
||||
}
|
||||
|
||||
public Integer getProSkuId() {
|
||||
return proSkuId;
|
||||
}
|
||||
|
||||
public void setProSkuId(Integer proSkuId) {
|
||||
this.proSkuId = proSkuId;
|
||||
}
|
||||
|
||||
public String getConName() {
|
||||
return conName;
|
||||
}
|
||||
|
||||
@@ -57,53 +57,50 @@ public class ConsService {
|
||||
List<TbConsInfoFlow> consInfoFlows=new ArrayList<>();
|
||||
|
||||
for (TbOrderDetail orderDetail : orderDetails) {
|
||||
TbProskuCon proskuCon= tbProskuConMapper.selectByShopIdAndSkuIdAndProductId(orderDetail.getProductSkuId(),orderDetail.getShopId(),orderDetail.getProductId());
|
||||
if(Objects.isNull(proskuCon)){
|
||||
List<TbProskuCon> proskuCons= tbProskuConMapper.selectByShopIdAndSkuIdAndProductId(orderDetail.getProductSkuId(),orderDetail.getShopId(),orderDetail.getProductId());
|
||||
if(Objects.isNull(proskuCons)||proskuCons.size()<=0){
|
||||
log.info("不存在的耗材信息配置:orderId:{},skuId:{},shopId:{},productId:{}",orderDetail.getOrderId(),orderDetail.getProductSkuId(),orderDetail.getShopId(),orderDetail.getProductId());
|
||||
continue;
|
||||
}
|
||||
for (TbProskuCon proskuCon : proskuCons) {
|
||||
TbConsInfo tbConsInfo= tbConsInfoMapper.selectByPrimaryKey(proskuCon.getConInfoId());
|
||||
if(Objects.nonNull(tbConsInfo)&&"1".equals(tbConsInfo.getStatus())){
|
||||
BigDecimal amount=BigDecimal.ZERO;
|
||||
TbConsInfoFlow flow=new TbConsInfoFlow();
|
||||
flow.setConsId(tbConsInfo.getId());
|
||||
flow.setShopId(tbConsInfo.getShopId());
|
||||
flow.setConName(tbConsInfo.getConName());
|
||||
flow.setProSkuId(proskuCon.getProductSkuId());
|
||||
if("create".equals(type)){
|
||||
amount=proskuCon.getSurplusStock().multiply(new BigDecimal(orderDetail.getNum()));
|
||||
|
||||
TbConsInfo tbConsInfo= tbConsInfoMapper.selectByPrimaryKey(proskuCon.getConInfoId());
|
||||
if(Objects.nonNull(tbConsInfo)&&"1".equals(tbConsInfo.getStatus())){
|
||||
BigDecimal amount=BigDecimal.ZERO;
|
||||
TbConsInfoFlow flow=new TbConsInfoFlow();
|
||||
flow.setConsId(tbConsInfo.getId());
|
||||
flow.setShopId(tbConsInfo.getShopId());
|
||||
flow.setConName(tbConsInfo.getConName());
|
||||
if("create".equals(type)){
|
||||
amount=proskuCon.getSurplusStock().multiply(new BigDecimal(orderDetail.getNum()));
|
||||
flow.setAmount(amount);
|
||||
flow.setBalance(tbConsInfo.getStockNumber().subtract(amount).subtract(tbConsInfo.getStockConsume()));
|
||||
flow.setBizCode("createCart");
|
||||
flow.setBizName("销售扣除");
|
||||
flow.setBizType("-");
|
||||
}else if("delete".equals(type)){
|
||||
amount=proskuCon.getSurplusStock().multiply(new BigDecimal(orderDetail.getNum())).negate();
|
||||
|
||||
flow.setAmount(amount);
|
||||
flow.setBalance(tbConsInfo.getStockNumber().subtract(amount).subtract(tbConsInfo.getStockConsume()));
|
||||
flow.setBizCode("createCart");
|
||||
flow.setBizName("销售扣除");
|
||||
flow.setBizType("-");
|
||||
}else if("delete".equals(type)){
|
||||
amount=proskuCon.getSurplusStock().multiply(new BigDecimal(orderDetail.getNum())).negate();
|
||||
flow.setAmount(amount.abs());
|
||||
flow.setBalance(tbConsInfo.getStockNumber().subtract(amount).subtract(tbConsInfo.getStockConsume()));
|
||||
flow.setBizCode("cancelCart");
|
||||
flow.setBizName("退单返还");
|
||||
flow.setBizType("+");
|
||||
}
|
||||
ConsInfoPO consInfoPO=new ConsInfoPO(tbConsInfo.getId(),amount);
|
||||
consInfoPOS.add(consInfoPO);
|
||||
|
||||
flow.setCreateTime(new Date());
|
||||
flow.setUpdateTime(new Date());
|
||||
consInfoFlows.add(flow);
|
||||
|
||||
flow.setAmount(amount.abs());
|
||||
flow.setBalance(tbConsInfo.getStockNumber().subtract(amount).subtract(tbConsInfo.getStockConsume()));
|
||||
flow.setBizCode("cancelCart");
|
||||
flow.setBizName("退单返还");
|
||||
flow.setBizType("+");
|
||||
}
|
||||
|
||||
|
||||
|
||||
ConsInfoPO consInfoPO=new ConsInfoPO(tbConsInfo.getId(),amount);
|
||||
consInfoPOS.add(consInfoPO);
|
||||
|
||||
flow.setCreateTime(new Date());
|
||||
flow.setUpdateTime(new Date());
|
||||
consInfoFlows.add(flow);
|
||||
|
||||
|
||||
//更新耗材信息
|
||||
tbConsInfoMapper.batchStock(consInfoPOS);
|
||||
//记录更新日志
|
||||
tbConsInfoFlowMapper.insertBatch(consInfoFlows);
|
||||
|
||||
}
|
||||
//更新耗材信息
|
||||
tbConsInfoMapper.batchStock(consInfoPOS);
|
||||
//记录更新日志
|
||||
tbConsInfoFlowMapper.insertBatch(consInfoFlows);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user