From f61293e97bb2cb21c8f49e88b1ae5a3cbadefb6a Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Mon, 25 Dec 2023 16:40:09 +0800
Subject: [PATCH] 富文本框输入版本变化

---
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallAppServiceImpl.java |   37 ++++++++++++++++++++++++++++++++++---
 1 files changed, 34 insertions(+), 3 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 71d52c0..410ac1e 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
@@ -82,7 +82,7 @@
 
     @Override
     public FebsResponse appMemberInfo(ApiMallAppMemberInfoDto apiMallAppMemberInfoDto) {
-        Long memberId = LoginUserUtil.getLoginUser().getId();
+//        Long memberId = LoginUserUtil.getLoginUser().getId();
         List<ApiMallAppMemberInfoVo> mallMembers = this.baseMapper.selectMemberInfoLikePhone(apiMallAppMemberInfoDto.getPhone());
         return new FebsResponse().success().data(mallMembers);
     }
@@ -123,6 +123,7 @@
         orderInfo.setIsApp(AppContants.IS_APP_ORDER);
         orderInfo.setOrderTime(new Date());
         orderInfo.setMemberId(addOrderDto.getMemberId());
+        orderInfo.setPayResult(2);
         //会员结算
         orderInfo.setStatus(OrderStatusEnum.WAIT_PAY.getValue());
         mallOrderInfoMapper.insert(orderInfo);
@@ -212,6 +213,7 @@
         orderInfo.setIsApp(AppContants.IS_APP_ORDER);
         orderInfo.setOrderTime(new Date());
         orderInfo.setStatus(OrderStatusEnum.WAIT_PAY.getValue());
+        orderInfo.setPayResult(2);
         if (CollUtil.isEmpty(addOrderDto.getItems())) {
             throw new FebsException("商品明细不能为空。");
         }
@@ -256,6 +258,7 @@
         orderInfo.setIsApp(AppContants.IS_APP_ORDER);
         orderInfo.setOrderTime(new Date());
         orderInfo.setStatus(OrderStatusEnum.WAIT_PAY.getValue());
+        orderInfo.setPayResult(2);
         if (CollUtil.isEmpty(addOrderDto.getItems())) {
             throw new FebsException("商品明细不能为空。");
         }
@@ -324,8 +327,19 @@
     @Override
     public FebsResponse wxCodePay(ApiWxCodePayDto wxCodePayDto) {
         Long orderId = wxCodePayDto.getOrderId();
-        MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(orderId);
         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);
+        if(OrderStatusEnum.FINISH.getValue() == (mallOrderInfo.getStatus())){
+            throw new FebsException("已支付");
+        }
         mallOrderInfo.setTakeCode(wxPayCode);
         List<ApiGetOrderOrderItemVo> appOrderItemByOrderId = mallOrderItemMapper.getAppOrderItemByOrderId(orderId);
         if(CollUtil.isEmpty(appOrderItemByOrderId)){
@@ -333,13 +347,30 @@
         }else{
             mallOrderInfo.setName(appOrderItemByOrderId.get(0).getGoodsName());
         }
-        mallOrderInfo.setPayResult("2");
+//        mallOrderInfo.setPayResult(2);
         mallOrderInfoMapper.updateById(mallOrderInfo);
         // 发起付款码支付请求
         String payResult = xcxCodePayService.pay(mallOrderInfo);
         return new FebsResponse().success().message(payResult);
     }
 
+    @Override
+    public FebsResponse cancelOrder(Long id) {
+        MallOrderInfo orderInfo = mallOrderInfoMapper.selectById(id);
+        if (orderInfo == null || AppContants.DEL_FLAG_Y == orderInfo.getDelFlag()) {
+            throw new FebsException("订单不存在");
+        }
+
+        if (OrderStatusEnum.WAIT_PAY.getValue() != orderInfo.getStatus()) {
+            throw new FebsException("订单不是待付款, 无法取消");
+        }
+
+        orderInfo.setStatus(OrderStatusEnum.CANCEL.getValue());
+        orderInfo.setCancelType(MallOrderInfo.CANCEL_BY_SELF);
+        mallOrderInfoMapper.updateById(orderInfo);
+        return new FebsResponse().success().message("取消成功");
+    }
+
     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