diff --git a/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderController.java b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderController.java index 9de227e3..3838397e 100644 --- a/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderController.java +++ b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderController.java @@ -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 goodsIds = appGoodsList.stream().map(AppGoodsRequest::getGoodsId).collect(Collectors.toSet()); + // 所有商品 + List 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 goodsIds = appGoodsList.stream().map(AppGoodsRequest::getGoodsId).collect(Collectors.toSet()); - Map goodsMap = goodsService.selectByIds(goodsIds).stream().filter(Objects::nonNull) + Map 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); } diff --git a/ghy-payment/src/main/java/com/ghy/payment/domain/FinancialMaster.java b/ghy-payment/src/main/java/com/ghy/payment/domain/FinancialMaster.java index 113eb4f4..91d6cb72 100644 --- a/ghy-payment/src/main/java/com/ghy/payment/domain/FinancialMaster.java +++ b/ghy-payment/src/main/java/com/ghy/payment/domain/FinancialMaster.java @@ -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; + } }