|
@@ -375,6 +375,67 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
return payResult;
|
|
return payResult;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
+ public Map<String, String> placeSmallMakeUpOrder(OrderAddBo bo) {
|
|
|
|
+ List<OrderGoodsAddBo> goodsList = bo.getGoodsList();
|
|
|
|
+ if(goodsList==null||goodsList.size()<1){
|
|
|
|
+ throw new CustomException("商品列表为空");
|
|
|
|
+ }
|
|
|
|
+ Order add = BeanUtil.toBean(bo, Order.class);
|
|
|
|
+ validEntityBeforeSave(add);
|
|
|
|
+ add.setCreateTime(DateUtils.getNowTime());
|
|
|
|
+ add.setUpdateTime(DateUtils.getNowTime());
|
|
|
|
+ add.setOrderType(Order.MAKEUP_ORDER); //补考订单
|
|
|
|
+
|
|
|
|
+ //生成订单号
|
|
|
|
+ String out_trade_no = DateUtils.getDateOrderSn();
|
|
|
|
+ BigDecimal totalPrice = new BigDecimal(0);
|
|
|
|
+ BigDecimal payPrice = new BigDecimal(0);
|
|
|
|
+ String body = "中正祥粤云补考-";
|
|
|
|
+ //生成订单
|
|
|
|
+ for (OrderGoodsAddBo g : goodsList) {
|
|
|
|
+ //订单商品
|
|
|
|
+ Goods goods = iGoodsService.getOne(new LambdaQueryWrapper<Goods>().eq(Goods::getGoodsId,g.getGoodsId()));
|
|
|
|
+ if(goods.getGoodsStatus()!=1){
|
|
|
|
+ throw new CustomException("商品尚未上架");
|
|
|
|
+ }
|
|
|
|
+ body = "中正祥粤云补考-"+goods.getGoodsName();
|
|
|
|
+ OrderGoods orderGoods = BeanUtil.toBean(g, OrderGoods.class);
|
|
|
|
+ orderGoods.setOrderSn(out_trade_no);
|
|
|
|
+ if(g.getGoodsInputData()!=null){
|
|
|
|
+ orderGoods.setGoodsInputData(JSON.toJSONString(g.getGoodsInputData()));
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //成交价
|
|
|
|
+ orderGoods.setGoodsRealPrice(goods.getStandPrice());
|
|
|
|
+ orderGoods.setGoodsPrice(goods.getStandPrice());
|
|
|
|
+ orderGoods.setCreateTime(DateUtils.getNowTime());
|
|
|
|
+ orderGoods.setUpdateTime(DateUtils.getNowTime());
|
|
|
|
+ boolean orderGoodsRs = iOrderGoodsService.save(orderGoods);
|
|
|
|
+ //订单价格不计算优惠
|
|
|
|
+ totalPrice = totalPrice.add(goods.getStandPrice());
|
|
|
|
+ //暂不计算优惠券
|
|
|
|
+ payPrice = payPrice.add(goods.getStandPrice());
|
|
|
|
+
|
|
|
|
+ this.checkBuyGoods(g.getGoodsId(),bo.getUserId());
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ add.setOrderSn(out_trade_no);
|
|
|
|
+ add.setOrderFrom(Order.FROM_SMALL);
|
|
|
|
+ add.setPayPrice(payPrice);
|
|
|
|
+ add.setOrderPrice(totalPrice);
|
|
|
|
+ this.save(add);
|
|
|
|
+ Map<String, Object> result = new HashMap<>();
|
|
|
|
+ result.put("oderId",add.getOrderId());
|
|
|
|
+ result.put("orderSn",out_trade_no);
|
|
|
|
+ UserVo userVo = iUserService.queryById(add.getUserId());
|
|
|
|
+ String price = "1";
|
|
|
|
+ Map<String, String> payResult = iWxPayService.payment(out_trade_no,userVo.getOpenId(),body,price);
|
|
|
|
+ payResult.put("orderSn",out_trade_no);
|
|
|
|
+ return payResult;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public Boolean updateByEditBo(OrderEditBo bo) {
|
|
public Boolean updateByEditBo(OrderEditBo bo) {
|