赵冬冬 vor 4 Jahren
Ursprung
Commit
77c5cdf913

+ 9 - 0
carbon-h5/carbon-h5-service/src/main/java/com/hcloud/microserver/h5/controller/web/OrderManagerController.java

@@ -68,6 +68,15 @@ public class OrderManagerController extends CarbonBaseController {
     }
 
 
+    @ApiOperation(value = "生成订单信息", notes = "生成订单信息")
+    @PostMapping("/payOrder/{orderId}")
+    @AuthCarbonValidate
+    public ResponseBase<GoodsOrderInfo> payOrder(@PathVariable String orderId) {
+
+        orderInfoService.payOrder(orderId);
+
+        return resultVOSuccess();
+    }
 
     @ApiOperation(value = "查询爱心用户订单信息", notes = "分类查询爱心用户订单")
     @ApiImplicitParams({

+ 2 - 0
carbon-h5/carbon-h5-service/src/main/java/com/hcloud/microserver/h5/service/OrderInfoService.java

@@ -91,4 +91,6 @@ public interface OrderInfoService extends BaseServie<GoodsOrderInfoForm, String>
     GoodsOrderInfo createOrder(CreateOrderFrom createOrderFrom);
 
     void update(GoodsOrderInfo goodsOrderInfo, String orderNum);
+
+    void payOrder(String orderId);
 }

+ 25 - 0
carbon-h5/carbon-h5-service/src/main/java/com/hcloud/microserver/h5/service/impl/OrderInfoServiceImpl.java

@@ -656,4 +656,29 @@ public class OrderInfoServiceImpl implements OrderInfoService {
         goodsPayOrder.setPayNo(orderNum);
         goodsPayOrderMapper.insertSelective(goodsPayOrder);
     }
+    @Override
+    public void payOrder(String orderId){
+        GoodsOrderInfo goodsOrderInfo = goodsOrderInfoMapper.selectByPrimaryKey(orderId);
+        Integer orderStatus = goodsOrderInfo.getOrderStatus();
+        if(orderStatus.intValue() !=1){
+            throw new RuntimeException("该订单已支付!");
+        }
+        Integer state = goodsOrderInfo.getState();
+        if(state.intValue() == 0){
+            throw new RuntimeException("该订单为无效订单!");
+        }
+        goodsOrderInfo.setOrderStatus(2);
+        goodsOrderInfo.setModifiedTime(new Date());
+        int i = goodsOrderInfoMapper.updateByPrimaryKeySelective(goodsOrderInfo);
+        if (i > 0) {
+            //更新农户收入信息
+            updateFarmerSaleInfo(orderId);
+            //生成证书信息
+            applicationContext.publishEvent(new CredentialInfoEvent(this, orderId));
+            //生成购买碳汇数据
+            applicationContext.publishEvent(new CustomerCarbonValEvent(this, orderId));
+        } else {
+            throw new RuntimeException();
+        }
+    }
 }