Browse Source

修复支付回调,订单号唯一

lyhzzz 2 năm trước cách đây
mục cha
commit
f257ebf8d0

+ 29 - 0
src/main/java/com/fdkankan/ucenter/controller/TestController.java

@@ -10,6 +10,8 @@ import com.fdkankan.common.util.SecurityUtil;
 import com.fdkankan.fyun.face.FYunFileServiceInterface;
 import com.fdkankan.redis.constant.RedisKey;
 import com.fdkankan.redis.util.RedisUtil;
+import com.fdkankan.sms.SendMailAcceUtils;
+import com.fdkankan.ucenter.common.MailUtil;
 import com.fdkankan.ucenter.common.OssPath;
 import com.fdkankan.ucenter.common.RedisKeyUtil;
 import com.fdkankan.ucenter.common.Result;
@@ -20,11 +22,13 @@ import com.fdkankan.ucenter.entity.SceneProRe;
 import com.fdkankan.ucenter.service.*;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.annotation.Resource;
+import java.security.GeneralSecurityException;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -63,4 +67,29 @@ public class TestController {
         return Result.success( );
     }
 
+    @GetMapping("/sendMail")
+    public Result sendMail() throws GeneralSecurityException {
+        String [] userNames = {"luomin@cgaii.com","1413541360@qq.com"};
+        for (String userName : userNames) {
+            SendMailAcceUtils.sendMail(userName, SendMailAcceUtils.EN_CODE_SUBJECT, MailUtil.EN_CODE_MSG.replace("${code}", "123456"), null);
+            String EN_CODE_MSG_EUR = MailUtil.EN_CODE_MSG_EUR.replace("${member}","premium ");
+
+            SendMailAcceUtils.sendMail(userName,
+                    MailUtil.EN_CODE_SUBJECT_GQ, EN_CODE_MSG_EUR.replace("${code}","1"),
+                    null);
+
+            SendMailAcceUtils.sendMail(userName,
+                    MailUtil.EN_CODE_SUBJECT_GQ, MailUtil.EN_CODE_MSG_EUR_TODAY.replace("${member}"," premium"),
+                    null);
+
+            String EN_CODE_MSG_EUR_GQ = MailUtil.EN_CODE_MSG_EUR_GQ.replace("${member}","premium ");
+            SendMailAcceUtils.sendMail(userName,
+                    MailUtil.EN_CODE_SUBJECT_GQ, EN_CODE_MSG_EUR_GQ,null);
+        }
+
+
+
+        return Result.success();
+    }
+
 }

+ 7 - 0
src/main/java/com/fdkankan/ucenter/pay/strategy/impl/IncrementOrderImpl.java

@@ -1,5 +1,6 @@
 package com.fdkankan.ucenter.pay.strategy.impl;
 
+import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.ucenter.entity.*;
 import com.fdkankan.ucenter.pay.strategy.OrderStrategy;
 import com.fdkankan.ucenter.service.*;
@@ -39,6 +40,12 @@ public class IncrementOrderImpl implements OrderStrategy {
             log.error("找不到订单:" + orderSn);
             throw new Exception("找不到订单,out_trade_no错误");
         }
+        List<UserIncrement> userIncrements = userIncrementService.getByOrderSn(orderSn);
+        if(userIncrements.size() >0){
+            log.error("该订单已新增权益orderSn:{}",orderSn);
+            throw new Exception("该订单已新增权益");
+        }
+
         // 更新增值权益订单
         boolean result = incrementOrderService.paySuccessIncrementOrder(orderSn, tradeNo, paymentTypeName);
         if (!result){

+ 2 - 0
src/main/java/com/fdkankan/ucenter/service/IUserIncrementService.java

@@ -41,4 +41,6 @@ public interface IUserIncrementService extends IService<UserIncrement> {
     void addByCameraAndUser(List<Long> cameraIds, Long id);
 
     void delByCameraId(List<Long> cameraIds);
+
+    List<UserIncrement> getByOrderSn(String orderSn);
 }

+ 7 - 0
src/main/java/com/fdkankan/ucenter/service/impl/UserIncrementServiceImpl.java

@@ -369,4 +369,11 @@ public class UserIncrementServiceImpl extends ServiceImpl<IUserIncrementMapper,
             this.remove(wrapper);
         }
     }
+
+    @Override
+    public List<UserIncrement> getByOrderSn(String orderSn) {
+        LambdaQueryWrapper<UserIncrement> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(UserIncrement::getOrderSn,orderSn);
+        return list(wrapper);
+    }
 }