|
|
@@ -17,6 +17,7 @@ import com.zhongzheng.modules.order.service.IOrderBillSheetService;
|
|
|
import com.zhongzheng.modules.order.service.IOrderGoodsService;
|
|
|
import com.zhongzheng.modules.order.service.IOrderService;
|
|
|
import com.zhongzheng.modules.order.vo.OrderBillSheetVo;
|
|
|
+import com.zhongzheng.modules.order.vo.OrderGoodsVo;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
@@ -47,6 +48,8 @@ public class OrderBillSheetServiceImpl extends ServiceImpl<OrderBillSheetMapper,
|
|
|
@Autowired
|
|
|
private IOrderService iOrderService;
|
|
|
|
|
|
+ private Map<String, List<OrderGoodsVo>> orderGoodsList = new HashMap<>();
|
|
|
+
|
|
|
@Override
|
|
|
public OrderBillSheetVo queryById(Long sheetId){
|
|
|
OrderBillSheet db = this.baseMapper.selectById(sheetId);
|
|
|
@@ -175,10 +178,12 @@ public class OrderBillSheetServiceImpl extends ServiceImpl<OrderBillSheetMapper,
|
|
|
else if(goods.getGoodsRealPrice().compareTo(goods.getGoodsReceived()) == 0){
|
|
|
//完全收费
|
|
|
goods.setPayStatus(OrderGoods.PAY_FULL);
|
|
|
+ this.updateOrderGoodsPAY_FULL(order,goods.getGoodsId()); //订单判断是否更新为全部支付
|
|
|
}
|
|
|
else{
|
|
|
//部分收费
|
|
|
goods.setPayStatus(OrderGoods.PAY_PART);
|
|
|
+ order.setOrderStatus(Order.PAY_PART); //订单支付状态改为部分支付
|
|
|
}
|
|
|
order.setStatus(1);//订单生效
|
|
|
order.setUpdateTime(DateUtils.getNowTime());
|
|
|
@@ -193,4 +198,37 @@ public class OrderBillSheetServiceImpl extends ServiceImpl<OrderBillSheetMapper,
|
|
|
result.put("sheetSn",sheet_no);
|
|
|
return result;
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 临时修改订单商品支付状态为完全支付
|
|
|
+ * @param order
|
|
|
+ * @param goodsId
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public Order updateOrderGoodsPAY_FULL( Order order,Long goodsId) {
|
|
|
+ String orderSn = order.getOrderSn();
|
|
|
+ List<OrderGoodsVo> orderGoodsVoList = null;
|
|
|
+ if(orderGoodsList.containsKey(orderSn)){
|
|
|
+ orderGoodsVoList = orderGoodsList.get(orderSn);
|
|
|
+ }else{
|
|
|
+ OrderGoodsQueryBo bo = new OrderGoodsQueryBo();
|
|
|
+ bo.setOrderSn(orderSn);
|
|
|
+ orderGoodsVoList = iOrderGoodsService.selectList(bo);
|
|
|
+ orderGoodsList.put(orderSn,orderGoodsVoList);
|
|
|
+ }
|
|
|
+ boolean isAllPayFull = true;//是否全部都是完全支付状态
|
|
|
+ for (OrderGoodsVo g : orderGoodsVoList) {
|
|
|
+ if(g.getGoodsId() == goodsId){
|
|
|
+ //临时设置为完全收费
|
|
|
+ g.setPayStatus(OrderGoods.PAY_FULL);
|
|
|
+ }
|
|
|
+ if(g.getPayStatus()!=OrderGoods.PAY_FULL){
|
|
|
+ isAllPayFull = false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(isAllPayFull){
|
|
|
+ order.setOrderStatus(Order.PAY_FULL);
|
|
|
+ }
|
|
|
+ return order;
|
|
|
+ }
|
|
|
}
|