zouxuan 2 mesi fa
parent
commit
75aa05199c

+ 1 - 1
mec-application/src/main/java/com/ym/mec/student/controller/StudentOrderController.java

@@ -152,7 +152,7 @@ public class StudentOrderController extends BaseController {
             if (Objects.isNull(record)) {
                 throw new BizException("订单号不存在:{}", paymentResp.getMerOrderNo());
             }else {
-                tenantOrderRecordService.callback(record, request);
+                tenantOrderRecordService.callback(record, paymentResp);
             }
 		}else {
             try {

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/TenantOrderRecordService.java

@@ -1,6 +1,7 @@
 package com.ym.mec.biz.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.microsvc.toolkit.middleware.payment.common.api.entity.PaymentResp;
 import com.ym.mec.biz.dal.dto.TenantOrderRecordDto;
 import com.ym.mec.biz.dal.entity.TenantOrderRecord;
 import com.ym.mec.common.page.PageInfo;
@@ -33,7 +34,7 @@ public interface TenantOrderRecordService extends IService<TenantOrderRecord> {
 
     void rechargeSuccess(TenantOrderRecord record);
 
-    String callback(TenantOrderRecord record, HttpServletRequest request);
+    void callback(TenantOrderRecord record, PaymentResp paymentResp);
 
 }
 

+ 25 - 17
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TenantOrderRecordServiceImpl.java

@@ -1,32 +1,28 @@
 package com.ym.mec.biz.service.impl;
 
 import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.huifu.adapay.core.AdapayCore;
-import com.huifu.adapay.core.util.AdapaySign;
 import com.microsvc.toolkit.middleware.payment.common.api.BasePaymentService;
 import com.microsvc.toolkit.middleware.payment.common.api.PaymentServiceContext;
 import com.microsvc.toolkit.middleware.payment.common.api.entity.PaymentResp;
 import com.microsvc.toolkit.middleware.payment.common.api.enums.PaymentStatus;
-import com.yeepay.g3.sdk.yop.encrypt.DigitalEnvelopeDTO;
-import com.yeepay.g3.sdk.yop.utils.DigitalEnvelopeUtils;
-import com.yeepay.g3.sdk.yop.utils.RSAKeyUtils;
 import com.ym.mec.biz.dal.dao.CloudTeacherOrderDao;
 import com.ym.mec.biz.dal.dao.TenantOrderRecordDao;
 import com.ym.mec.biz.dal.dto.TenantOrderRecordDto;
 import com.ym.mec.biz.dal.entity.*;
-import com.ym.mec.biz.dal.enums.*;
+import com.ym.mec.biz.dal.enums.DealStatusEnum;
+import com.ym.mec.biz.dal.enums.MessageTypeEnum;
+import com.ym.mec.biz.dal.enums.PeriodEnum;
+import com.ym.mec.biz.dal.enums.TenantOrderRecordEnum;
 import com.ym.mec.biz.service.*;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.page.PageUtil;
 import com.ym.mec.common.page.WrapperUtil;
 import com.ym.mec.common.tenant.TenantContextHolder;
-import com.ym.mec.thirdparty.adapay.entity.HfMerchantConfig;
 import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
@@ -39,10 +35,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
 import java.math.BigDecimal;
-import java.security.PrivateKey;
-import java.security.PublicKey;
 import java.util.*;
 import java.util.concurrent.TimeUnit;
 import java.util.function.Consumer;
@@ -82,8 +75,6 @@ public class TenantOrderRecordServiceImpl extends ServiceImpl<TenantOrderRecordD
     @Resource
     private TenantProxyUserRelationService tenantProxyUserRelationService;
     @Resource
-    private HfMerchantConfigService hfMerchantConfigService;
-    @Resource
     private TenantOrderRecordDao tenantOrderRecordDao;
     @Resource
     private PaymentServiceContext paymentServiceContext;
@@ -453,14 +444,31 @@ public class TenantOrderRecordServiceImpl extends ServiceImpl<TenantOrderRecordD
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
-	public String callback(TenantOrderRecord record, HttpServletRequest request) {
+	public void callback(TenantOrderRecord record, PaymentResp paymentResp) {
 		record = tenantOrderRecordDao.getLockedById(record.getId());
 		// 只处理未支付状态的订单
 		if (!record.getOrderState().equals(0)) {
-			return "succeeded";
+			return;
 		}
+        PaymentStatus paymentStatus = paymentResp.getPaymentStatus();
+        if (paymentStatus == PaymentStatus.SUCCESSED) {
+            Consumer<TenantOrderRecord> consumer = checkOrder.get(record.getOrderType());
+            if (Objects.nonNull(consumer)) {
+                consumer.accept(record);
+            }
+            LocalDateTime now = LocalDateTime.now();
+            record.setPayDate(now.toLocalDate().toDate());
+            record.setPayTime(now.toDate());
+            // 修改流水
+            record.setOrderState(1);
+            baseMapper.updateById(record);
+        } else if (paymentStatus == PaymentStatus.FAILED) {
+            // 修改流水
+            record.setOrderState(2);
+            baseMapper.updateById(record);
+        }
 
-		PaymentChannelEnum paymentChannel = PaymentChannelEnum.codeOf(record.getPaymentChannel());
+        /*PaymentChannelEnum paymentChannel = PaymentChannelEnum.codeOf(record.getPaymentChannel());
 
 		try {
 
@@ -556,7 +564,7 @@ public class TenantOrderRecordServiceImpl extends ServiceImpl<TenantOrderRecordD
 			return e.getMessage();
 		}
 
-		return "succeeded";
+		return "succeeded";*/
 	}
 
 }