|
@@ -32,10 +32,7 @@ import com.zhongzheng.modules.order.domain.Order;
|
|
import com.zhongzheng.modules.order.domain.OrderGoods;
|
|
import com.zhongzheng.modules.order.domain.OrderGoods;
|
|
import com.zhongzheng.modules.order.domain.OrderInput;
|
|
import com.zhongzheng.modules.order.domain.OrderInput;
|
|
import com.zhongzheng.modules.order.mapper.OrderMapper;
|
|
import com.zhongzheng.modules.order.mapper.OrderMapper;
|
|
-import com.zhongzheng.modules.order.service.IOrderBusinessService;
|
|
|
|
-import com.zhongzheng.modules.order.service.IOrderGoodsService;
|
|
|
|
-import com.zhongzheng.modules.order.service.IOrderInputService;
|
|
|
|
-import com.zhongzheng.modules.order.service.IOrderService;
|
|
|
|
|
|
+import com.zhongzheng.modules.order.service.*;
|
|
import com.zhongzheng.modules.order.vo.OrderGoodsVo;
|
|
import com.zhongzheng.modules.order.vo.OrderGoodsVo;
|
|
import com.zhongzheng.modules.order.vo.OrderInputVo;
|
|
import com.zhongzheng.modules.order.vo.OrderInputVo;
|
|
import com.zhongzheng.modules.order.vo.OrderListVo;
|
|
import com.zhongzheng.modules.order.vo.OrderListVo;
|
|
@@ -83,7 +80,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
private IClassGradeGoodsService iClassGradeGoodsService;
|
|
private IClassGradeGoodsService iClassGradeGoodsService;
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
- private IInformRemindService informRemindService;
|
|
|
|
|
|
+ private IOrderBillSheetService iOrderBillSheetService;
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
private IProfileTpService iProfileTpService;
|
|
private IProfileTpService iProfileTpService;
|
|
@@ -358,14 +355,16 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
//订单商品
|
|
//订单商品
|
|
Goods goods = iGoodsService.getOne(new LambdaQueryWrapper<Goods>().eq(Goods::getGoodsId,g.getGoodsId()));
|
|
Goods goods = iGoodsService.getOne(new LambdaQueryWrapper<Goods>().eq(Goods::getGoodsId,g.getGoodsId()));
|
|
if(goods.getGoodsStatus()!=1){
|
|
if(goods.getGoodsStatus()!=1){
|
|
- throw new CustomException("商品尚未上架");
|
|
|
|
|
|
+ throw new CustomException("商品尚未上架",510);
|
|
}
|
|
}
|
|
OrderGoods orderGoods = BeanUtil.toBean(g, OrderGoods.class);
|
|
OrderGoods orderGoods = BeanUtil.toBean(g, OrderGoods.class);
|
|
orderGoods.setOrderSn(out_trade_no);
|
|
orderGoods.setOrderSn(out_trade_no);
|
|
if(g.getGoodsInputData()!=null){
|
|
if(g.getGoodsInputData()!=null){
|
|
orderGoods.setGoodsInputData(JSON.toJSONString(g.getGoodsInputData()));
|
|
orderGoods.setGoodsInputData(JSON.toJSONString(g.getGoodsInputData()));
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+ if(g.getGoodsReceived().compareTo(g.getGoodsRealPrice())==1){
|
|
|
|
+ throw new CustomException("已收费大于成交价",510);
|
|
|
|
+ }
|
|
//成交价
|
|
//成交价
|
|
orderGoods.setGoodsRealPrice(g.getGoodsRealPrice());
|
|
orderGoods.setGoodsRealPrice(g.getGoodsRealPrice());
|
|
|
|
|
|
@@ -431,7 +430,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
add.setPayPrice(payPrice);//需要支付价格
|
|
add.setPayPrice(payPrice);//需要支付价格
|
|
add.setOrderPrice(totalPrice);//标准价格
|
|
add.setOrderPrice(totalPrice);//标准价格
|
|
add.setReceivedPrice(receivedPrice);//已支付
|
|
add.setReceivedPrice(receivedPrice);//已支付
|
|
- //有已收费的商品
|
|
|
|
|
|
+ //有已收费的商品,修改订单支付状态
|
|
if((freeList.size()+payList.size())>0){
|
|
if((freeList.size()+payList.size())>0){
|
|
add.setOrderStatus(Order.ORDER_STATUS_PAY);
|
|
add.setOrderStatus(Order.ORDER_STATUS_PAY);
|
|
if(payPrice.compareTo(BigDecimal.ZERO)==0){
|
|
if(payPrice.compareTo(BigDecimal.ZERO)==0){
|
|
@@ -450,9 +449,23 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
|
|
|
this.save(add);
|
|
this.save(add);
|
|
//处理收费商品,生成计费单
|
|
//处理收费商品,生成计费单
|
|
- for( OrderGoods orderGoods : payList){
|
|
|
|
-
|
|
|
|
|
|
+ Map<String, Object> billRs = null;
|
|
|
|
+ if(payList.size()>0){
|
|
|
|
+ OrderBillSheetAddBo billSheetAddBo = new OrderBillSheetAddBo();
|
|
|
|
+ billSheetAddBo.setInputOrderSn(bo.getInputOrderSn());
|
|
|
|
+ List<OrderBillGoodsAddBo> billGoodsList = new ArrayList<>();
|
|
|
|
+ for( OrderGoods orderGoods : payList){
|
|
|
|
+ OrderBillGoodsAddBo billGoodsAddBo = new OrderBillGoodsAddBo();
|
|
|
|
+ billGoodsAddBo.setOrderSn(add.getOrderSn());
|
|
|
|
+ billGoodsAddBo.setGoodsId(orderGoods.getGoodsId());
|
|
|
|
+ billGoodsAddBo.setOrderGoodsId(orderGoods.getOrderGoodsId());
|
|
|
|
+ billGoodsAddBo.setAmount(orderGoods.getGoodsReceived());
|
|
|
|
+ billGoodsList.add(billGoodsAddBo);
|
|
|
|
+ }
|
|
|
|
+ billSheetAddBo.setGoodsList(billGoodsList);
|
|
|
|
+ billRs = iOrderBillSheetService.placeBillInputOrder(billSheetAddBo);
|
|
}
|
|
}
|
|
|
|
+
|
|
//处理免费商品
|
|
//处理免费商品
|
|
for( OrderGoods orderGoods : freeList){
|
|
for( OrderGoods orderGoods : freeList){
|
|
dealFreeGoods(orderGoods,add);
|
|
dealFreeGoods(orderGoods,add);
|
|
@@ -460,6 +473,12 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
Map<String, Object> result = new HashMap<>();
|
|
Map<String, Object> result = new HashMap<>();
|
|
result.put("orderId",add.getOrderId());
|
|
result.put("orderId",add.getOrderId());
|
|
result.put("orderSn",out_trade_no);
|
|
result.put("orderSn",out_trade_no);
|
|
|
|
+ result.put("sheetId",null);
|
|
|
|
+ result.put("sheetSn",null);
|
|
|
|
+ if(Validator.isNotEmpty(billRs)){
|
|
|
|
+ result.put("sheetId",billRs.get("sheetId"));
|
|
|
|
+ result.put("sheetSn",billRs.get("sheetSn"));
|
|
|
|
+ }
|
|
return result;
|
|
return result;
|
|
}
|
|
}
|
|
|
|
|