Browse Source

支付回调订单支付唯一

lyhzzz 2 years ago
parent
commit
f0e73369b7

+ 24 - 4
src/main/java/com/fdkankan/ucenter/controller/TestController.java

@@ -11,6 +11,7 @@ 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.sms.SmsService;
 import com.fdkankan.ucenter.common.MailUtil;
 import com.fdkankan.ucenter.common.OssPath;
 import com.fdkankan.ucenter.common.RedisKeyUtil;
@@ -20,6 +21,7 @@ import com.fdkankan.ucenter.entity.ScenePlusExt;
 import com.fdkankan.ucenter.entity.ScenePro;
 import com.fdkankan.ucenter.entity.SceneProRe;
 import com.fdkankan.ucenter.service.*;
+import jodd.util.StringUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -67,8 +69,20 @@ public class TestController {
         return Result.success( );
     }
 
+    @Autowired
+    SmsService smsService;
     @GetMapping("/sendMail")
-    public Result sendMail() throws GeneralSecurityException {
+    public Result sendMail() throws Exception {
+        String cnCode = "SMS_179150247";
+        String cnCode2 = "SMS_216275556";
+        String expireCode = "SMS_216425565";
+        String phoneNum = "13169663387";
+        String code = "123456";
+        smsService.sendSms(phoneNum, "{\"code\":\"" + code + "\"}", cnCode);
+
+        smsService.sendSms(phoneNum, "{\"time\":\"" + "1" + "\"}", expireCode);
+        smsService.sendSms(phoneNum, "{\"time\":\"" + "1" + "\"}", cnCode2);
+
         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);
@@ -85,9 +99,9 @@ public class TestController {
 //            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);
-
-            SendMailAcceUtils.sendMail(userName, SendMailAcceUtils.CN_CODE_SUBJECT,
-                    SendMailAcceUtils.CN_CODE_MSG.replace("${code}", "123456"), null);
+//
+//            SendMailAcceUtils.sendMail(userName, SendMailAcceUtils.CN_CODE_SUBJECT,
+//                    SendMailAcceUtils.CN_CODE_MSG.replace("${code}", "123456"), null);
 
         }
 
@@ -96,4 +110,10 @@ public class TestController {
         return Result.success();
     }
 
+    public static void main(String[] args) throws GeneralSecurityException {
+
+        SendMailAcceUtils.sendMail("luomin@cgaii.com", SendMailAcceUtils.CN_CODE_SUBJECT,
+                SendMailAcceUtils.CN_CODE_MSG.replace("${code}", "123456"), null);
+    }
+
 }

+ 1 - 1
src/main/java/com/fdkankan/ucenter/pay/strategy/impl/DownloadOrderImpl.java

@@ -30,7 +30,7 @@ public class DownloadOrderImpl implements OrderStrategy {
 
     @Override
     public void handleOrder(String orderSn, String tradeNo, String openId, int paymentTypeName, Long spaceId) throws Exception {
-        DownloadOrder downloadOrder = downloadOrderService.getByOrderSn(orderSn);
+        DownloadOrder downloadOrder = downloadOrderService.getByOrderSnNoPay(orderSn);
         if (downloadOrder == null) {
             log.error("找不到订单:" + orderSn);
             throw new Exception("找不到订单,out_trade_no错误");

+ 1 - 1
src/main/java/com/fdkankan/ucenter/pay/strategy/impl/EntityOrderImpl.java

@@ -27,7 +27,7 @@ public class EntityOrderImpl implements OrderStrategy {
     @Override
     public void handleOrder(String orderSn, String tradeNo, String openId, int paymentTypeName, Long spaceId) throws Exception {
         log.warn("购物支付处理....");
-        Order orderEntity = orderService.getByOrderSn(orderSn);
+        Order orderEntity = orderService.getByOrderSnNoPay(orderSn);
         if (orderEntity == null) {
             log.error("找不到订单:" + orderSn);
             throw new Exception("找不到订单,out_trade_no错误");

+ 1 - 1
src/main/java/com/fdkankan/ucenter/pay/strategy/impl/ExpansionOrderImpl.java

@@ -27,7 +27,7 @@ public class ExpansionOrderImpl implements OrderStrategy {
 
     @Override
     public void handleOrder(String orderSn, String tradeNo, String openId, int paymentTypeName, Long spaceId) throws Exception {
-        ExpansionOrder expansionOrder = expansionOrderService.getByOrderSn(orderSn);
+        ExpansionOrder expansionOrder = expansionOrderService.getByOrderSnNoPay(orderSn);
         if (expansionOrder == null) {
             log.error("找不到订单:" + orderSn);
             throw new Exception("找不到订单,out_trade_no错误");

+ 1 - 6
src/main/java/com/fdkankan/ucenter/pay/strategy/impl/IncrementOrderImpl.java

@@ -35,16 +35,11 @@ public class IncrementOrderImpl implements OrderStrategy {
 
     @Override
     public void handleOrder(String orderSn, String tradeNo, String openId, int paymentTypeName, Long spaceId) throws Exception {
-        IncrementOrder responseIncrementOrder = incrementOrderService.getByOrderSn(orderSn);
+        IncrementOrder responseIncrementOrder = incrementOrderService.getByOrderSnNoPay(orderSn);
         if (responseIncrementOrder == null) {
             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);

+ 1 - 1
src/main/java/com/fdkankan/ucenter/pay/strategy/impl/RechargeOrderImpl.java

@@ -21,7 +21,7 @@ public class RechargeOrderImpl implements OrderStrategy {
 
     @Override
     public void handleOrder(String orderSn, String tradeNo, String openId, int paymentTypeName, Long spaceId) throws Exception {
-        VirtualOrder responseVirtualOrder = virtualOrderService.getByOrderSn(orderSn);
+        VirtualOrder responseVirtualOrder = virtualOrderService.getByOrderSnNoPay(orderSn);
         if (responseVirtualOrder == null) {
             log.error("找不到订单:" + orderSn);
             throw new Exception("找不到订单,out_trade_no错误");

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

@@ -23,6 +23,8 @@ public interface IDownloadOrderService extends IService<DownloadOrder> {
 
     DownloadOrder getByOrderSn(String orderSn);
 
+    DownloadOrder getByOrderSnNoPay(String orderSn);
+
     boolean paySuccessDownloadOrder(String orderSn, String tradeNo, int paymentTypeName);
 
     DownloadOrder insertDownloadOrder(Long id, DownNumParam param, BigDecimal bigDecimal);

+ 4 - 0
src/main/java/com/fdkankan/ucenter/service/IExpansionOrderService.java

@@ -23,7 +23,11 @@ public interface IExpansionOrderService extends IService<ExpansionOrder> {
 
     ExpansionOrder getByOrderSn(String orderSn);
 
+    ExpansionOrder getByOrderSnNoPay(String orderSn);
+
+
     boolean paySuccessExpansionOrder(String orderSn, String tradeNo, int paymentTypeName, int status);
 
     List<ExpansionOrder> getByCameraId(Long cameraId);
+
 }

+ 4 - 0
src/main/java/com/fdkankan/ucenter/service/IIncrementOrderService.java

@@ -32,5 +32,9 @@ public interface IIncrementOrderService extends IService<IncrementOrder> {
 
      IncrementOrder getByOrderSn(String orderSn);
 
+     IncrementOrder getByOrderSnNoPay(String orderSn);
+
+
     boolean paySuccessIncrementOrder(String orderSn, String tradeNo, int paymentTypeName);
+
 }

+ 4 - 0
src/main/java/com/fdkankan/ucenter/service/IOrderService.java

@@ -35,6 +35,9 @@ public interface IOrderService extends IService<Order> {
 
     Order getByOrderSn(String orderSn);
 
+    Order getByOrderSnNoPay(String orderSn);
+
+
     DownloadOrder downloadOrder(DownNumParam param);
 
     IncrementOrder incrementOrder(DownNumParam param);
@@ -44,4 +47,5 @@ public interface IOrderService extends IService<Order> {
     OrderVo getOrderDetail(Long orderId);
 
     void autoUpdateOrderStatus();
+
 }

+ 4 - 0
src/main/java/com/fdkankan/ucenter/service/IVirtualOrderService.java

@@ -22,7 +22,11 @@ public interface IVirtualOrderService extends IService<VirtualOrder> {
 
     VirtualOrder getByOrderSn(String orderSn);
 
+    VirtualOrder getByOrderSnNoPay(String orderSn);
+
+
     boolean paySuccessVirtualOrder(String orderSn, String tradeNo, int paymentTypeName);
 
     List<VirtualOrder> getByCameraId(Long cameraId);
+
 }

+ 11 - 0
src/main/java/com/fdkankan/ucenter/service/impl/DownloadOrderServiceImpl.java

@@ -80,6 +80,17 @@ public class DownloadOrderServiceImpl extends ServiceImpl<IDownloadOrderMapper,
     }
 
     @Override
+    public DownloadOrder getByOrderSnNoPay(String orderSn) {
+        QueryWrapper<DownloadOrder> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().eq(DownloadOrder::getOrderSn,orderSn);
+        queryWrapper.lambda().ne(DownloadOrder::getPayStatus,1);
+        List<DownloadOrder> list = this.list(queryWrapper);
+        if(list == null || list.size() <=0){
+            return null;
+        }
+        return list.get(0);    }
+
+    @Override
     public boolean paySuccessDownloadOrder(String orderSn, String tradeNo, int paymentTypeName) {
         LambdaUpdateWrapper<DownloadOrder> updateWrapper = new LambdaUpdateWrapper<>();
         updateWrapper.set(DownloadOrder::getPayType,paymentTypeName)

+ 12 - 0
src/main/java/com/fdkankan/ucenter/service/impl/ExpansionOrderServiceImpl.java

@@ -60,6 +60,18 @@ public class ExpansionOrderServiceImpl extends ServiceImpl<IExpansionOrderMapper
     }
 
     @Override
+    public ExpansionOrder getByOrderSnNoPay(String orderSn) {
+        QueryWrapper<ExpansionOrder> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().eq(ExpansionOrder::getOrderSn,orderSn);
+        queryWrapper.lambda().ne(ExpansionOrder::getPayStatus,1);
+        List<ExpansionOrder> list = this.list(queryWrapper);
+        if(list == null || list.size()<=0){
+            return null;
+        }
+        return list.get(0);
+    }
+
+    @Override
     public boolean paySuccessExpansionOrder(String orderSn, String tradeNo, int paymentTypeName, int status) {
         LambdaUpdateWrapper<ExpansionOrder> updateWrapper = new LambdaUpdateWrapper<>();
         updateWrapper.set(ExpansionOrder::getPayType,paymentTypeName)

+ 12 - 0
src/main/java/com/fdkankan/ucenter/service/impl/IncrementOrderServiceImpl.java

@@ -186,6 +186,18 @@ public class IncrementOrderServiceImpl extends ServiceImpl<IIncrementOrderMapper
     }
 
     @Override
+    public IncrementOrder getByOrderSnNoPay(String orderSn) {
+        QueryWrapper<IncrementOrder> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().eq(IncrementOrder::getOrderSn,orderSn);
+        queryWrapper.lambda().ne(IncrementOrder::getPayStatus,1);
+        List<IncrementOrder> list = this.list(queryWrapper);
+        if(list == null || list.size()<=0){
+            return null;
+        }
+        return list.get(0);
+    }
+
+    @Override
     public boolean paySuccessIncrementOrder(String orderSn, String tradeNo, int paymentTypeName) {
         LambdaUpdateWrapper<IncrementOrder> updateWrapper = new LambdaUpdateWrapper<>();
         updateWrapper.set(IncrementOrder::getPayType,paymentTypeName)

+ 8 - 0
src/main/java/com/fdkankan/ucenter/service/impl/OrderServiceImpl.java

@@ -303,6 +303,14 @@ public class OrderServiceImpl extends ServiceImpl<IOrderMapper, Order> implement
     }
 
     @Override
+    public Order getByOrderSnNoPay(String orderSn) {
+        LambdaQueryWrapper<Order> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(Order::getOrderSn,orderSn);
+        wrapper.ne(Order::getPaymentStatus,PaymentStatus.paid.name());
+        return this.getOne(wrapper);
+    }
+
+    @Override
     public DownloadOrder downloadOrder(DownNumParam param) {
         //支付美金,只能paypal支付
         if(param.getAbroad() == 1 && param.getPayType() != 2){

+ 12 - 0
src/main/java/com/fdkankan/ucenter/service/impl/VirtualOrderServiceImpl.java

@@ -55,6 +55,18 @@ public class VirtualOrderServiceImpl extends ServiceImpl<IVirtualOrderMapper, Vi
     }
 
     @Override
+    public VirtualOrder getByOrderSnNoPay(String orderSn) {
+        QueryWrapper<VirtualOrder> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().eq(VirtualOrder::getOrderSn,orderSn);
+        queryWrapper.lambda().ne(VirtualOrder::getPayStatus,1);
+        List<VirtualOrder> list = this.list(queryWrapper);
+        if(list == null || list.size()<=0){
+            return null;
+        }
+        return list.get(0);
+    }
+
+    @Override
     public boolean paySuccessVirtualOrder(String orderSn, String tradeNo, int paymentTypeName) {
         LambdaUpdateWrapper<VirtualOrder> updateWrapper = new LambdaUpdateWrapper<>();
         updateWrapper.set(VirtualOrder::getPayType,paymentTypeName)