生成财务主单

This commit is contained in:
HH 2022-05-17 21:41:29 +08:00
parent 90b45a05bc
commit 1c9f6d5d0a
2 changed files with 25 additions and 5 deletions

View File

@ -14,6 +14,7 @@ import com.ghy.order.request.AppOrderRequest;
import com.ghy.order.service.OrderDetailService;
import com.ghy.order.service.OrderGoodsService;
import com.ghy.order.service.OrderMasterService;
import com.ghy.payment.domain.FinancialMaster;
import com.ghy.payment.service.FinancialDetailService;
import com.ghy.payment.service.FinancialMasterService;
import org.springframework.beans.factory.annotation.Autowired;
@ -74,6 +75,10 @@ public class OrderController extends BaseController {
}
// 计算商品费用
BigDecimal totalPay = goodsService.calculate(appGoodsList);
// 所有商品的ID
Set<Long> goodsIds = appGoodsList.stream().map(AppGoodsRequest::getGoodsId).collect(Collectors.toSet());
// 所有商品
List<Goods> goodsList = goodsService.selectByIds(goodsIds);
// 生成主单
OrderMaster orderMaster = new OrderMaster();
orderMaster.setCode(orderMasterService.createOrderCode());
@ -85,19 +90,23 @@ public class OrderController extends BaseController {
orderMasterService.insertOrderMaster(orderMaster);
Assert.notNull(orderMaster.getId(), "OrderMaster ID is null!");
//TODO 生成财务主单
// 生成财务主单
FinancialMaster financialMaster = new FinancialMaster(orderMaster.getId(), orderMaster.getCode(),
// TODO 优惠金额不知道咋算 暂时先给0
totalPay, BigDecimal.ZERO, totalPay);
financialMasterService.insertFinancialMaster(financialMaster);
//TODO 生成细单
//TODO 生成财务细单(含分销等.)
// 生成商品订单
Set<Long> goodsIds = appGoodsList.stream().map(AppGoodsRequest::getGoodsId).collect(Collectors.toSet());
Map<Long, Goods> goodsMap = goodsService.selectByIds(goodsIds).stream().filter(Objects::nonNull)
Map<Long, Goods> goodsMap = goodsList.stream().filter(Objects::nonNull)
.collect(Collectors.toMap(Goods::getGoodsId, x -> x));
for (AppGoodsRequest appGoods : appGoodsList) {
Goods goods = goodsMap.get(appGoods.getGoodsId());
OrderGoods orderGoods = new OrderGoods(orderMaster.getId(), goods.getGoodsId(), goods.getGoodsName(), appGoods.getNum(), 0);
OrderGoods orderGoods = new OrderGoods(orderMaster.getId(), goods.getGoodsId(),
goods.getGoodsName(), appGoods.getNum(), 0);
orderGoodsService.insertOrderGoods(orderGoods);
}

View File

@ -6,6 +6,7 @@ import com.ghy.common.core.domain.BaseEntity;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* @author clunt
@ -42,6 +43,16 @@ public class FinancialMaster extends BaseEntity {
@Excel(name = "付款时间", cellType = Excel.ColumnType.STRING)
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Data payTime;
private Date payTime;
public FinancialMaster() {
}
public FinancialMaster(Long orderMasterId, String orderMasterCode, BigDecimal totalMoney, BigDecimal discountMoney, BigDecimal payMoney) {
this.orderMasterId = orderMasterId;
this.orderMasterCode = orderMasterCode;
this.totalMoney = totalMoney;
this.discountMoney = discountMoney;
this.payMoney = payMoney;
}
}