From 44d5373021f883b389d002c4c63a2b78bfbdfaf6 Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Fri, 22 Dec 2023 14:59:33 +0800
Subject: [PATCH] 富文本框输入版本变化

---
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallAppServiceImpl.java |   42 ++++++++++++++++++++++++++++++++++++++----
 1 files changed, 38 insertions(+), 4 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallAppServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallAppServiceImpl.java
index ac31f35..9ed8e8f 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallAppServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallAppServiceImpl.java
@@ -13,6 +13,7 @@
 import cc.mrbird.febs.mall.mapper.*;
 import cc.mrbird.febs.mall.service.IApiMallAppService;
 import cc.mrbird.febs.mall.vo.*;
+import cc.mrbird.febs.pay.service.IXcxCodePayService;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.IdUtil;
 import cn.hutool.core.util.ObjectUtil;
@@ -47,6 +48,7 @@
     private final MallOrderInfoMapper mallOrderInfoMapper;
     private final MallOrderItemMapper mallOrderItemMapper;
     private final MallMemberWalletMapper mallMemberWalletMapper;
+    private final IXcxCodePayService xcxCodePayService;
 
     public static void main(String[] args) {
         System.out.println(SecureUtil.md5("a123456"));
@@ -102,8 +104,10 @@
     public FebsResponse createAppOrder(ApiAddOrderDto addOrderDto) {
         if(ObjectUtil.isNotEmpty(addOrderDto.getOrderId())){
             MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(addOrderDto.getOrderId());
-            mallOrderInfo.setStatus(OrderStatusEnum.CANCEL.getValue());
-            mallOrderInfoMapper.updateById(mallOrderInfo);
+            if(ObjectUtil.isNotEmpty(mallOrderInfo)){
+                mallOrderInfo.setStatus(OrderStatusEnum.CANCEL.getValue());
+                mallOrderInfoMapper.updateById(mallOrderInfo);
+            }
         }
         MallMemberWallet mallMemberWallet = mallMemberWalletMapper.selectWalletByMemberId(addOrderDto.getMemberId());
         if (ObjectUtil.isEmpty(mallMemberWallet)) {
@@ -241,8 +245,10 @@
     public FebsResponse normalInsure(ApiNormalInsureDto addOrderDto) {
         if(ObjectUtil.isNotEmpty(addOrderDto.getOrderId())){
             MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(addOrderDto.getOrderId());
-            mallOrderInfo.setStatus(OrderStatusEnum.CANCEL.getValue());
-            mallOrderInfoMapper.updateById(mallOrderInfo);
+            if(ObjectUtil.isNotEmpty(mallOrderInfo)){
+                mallOrderInfo.setStatus(OrderStatusEnum.CANCEL.getValue());
+                mallOrderInfoMapper.updateById(mallOrderInfo);
+            }
         }
         String orderNo = MallUtils.getOrderNum();
         MallOrderInfo orderInfo = new MallOrderInfo();
@@ -315,6 +321,34 @@
         return new FebsResponse().success().message("订单已取消");
     }
 
+    @Override
+    public FebsResponse wxCodePay(ApiWxCodePayDto wxCodePayDto) {
+        Long orderId = wxCodePayDto.getOrderId();
+        String wxPayCode = wxCodePayDto.getWxPayCode();
+        /**
+         * auth_code 扫码支付付款码 微信付款码规则:18位纯数字,前缀以10、11、12、13、14、15开头
+         */
+        String regex = "^(10|11|12|13|14|15)\\d{16}$";
+        boolean flag = wxPayCode.matches(regex);
+        if(!flag){
+            throw new FebsException("请打开微信付款码!");
+        }
+
+        MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(orderId);
+        mallOrderInfo.setTakeCode(wxPayCode);
+        List<ApiGetOrderOrderItemVo> appOrderItemByOrderId = mallOrderItemMapper.getAppOrderItemByOrderId(orderId);
+        if(CollUtil.isEmpty(appOrderItemByOrderId)){
+            mallOrderInfo.setName("商品");
+        }else{
+            mallOrderInfo.setName(appOrderItemByOrderId.get(0).getGoodsName());
+        }
+        mallOrderInfo.setPayResult("2");
+        mallOrderInfoMapper.updateById(mallOrderInfo);
+        // 发起付款码支付请求
+        String payResult = xcxCodePayService.pay(mallOrderInfo);
+        return new FebsResponse().success().message(payResult);
+    }
+
     public String generateAsaToken(String token) {
         RSA rsa = new RSA(null, AppContants.PUBLIC_KEY);
         return rsa.encryptBase64(token + "_" + System.currentTimeMillis(), KeyType.PublicKey);

--
Gitblit v1.9.1