From 86d30cf8fe4eb3d30eb4fee857e0168ab0d04b1b Mon Sep 17 00:00:00 2001
From: heheng <heheng@123456>
Date: 星期三, 19 二月 2025 17:14:35 +0800
Subject: [PATCH] 测试

---
 exam-system/src/main/java/com/gkhy/exam/pay/service/impl/NonCoalPayStudentServiceImpl.java |   73 +++++++++++++++++++++++++++++++++++-
 1 files changed, 70 insertions(+), 3 deletions(-)

diff --git a/exam-system/src/main/java/com/gkhy/exam/pay/service/impl/NonCoalPayStudentServiceImpl.java b/exam-system/src/main/java/com/gkhy/exam/pay/service/impl/NonCoalPayStudentServiceImpl.java
index ace1294..4b6d61d 100644
--- a/exam-system/src/main/java/com/gkhy/exam/pay/service/impl/NonCoalPayStudentServiceImpl.java
+++ b/exam-system/src/main/java/com/gkhy/exam/pay/service/impl/NonCoalPayStudentServiceImpl.java
@@ -1,5 +1,6 @@
 package com.gkhy.exam.pay.service.impl;
 
+import com.alibaba.fastjson2.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -62,7 +63,7 @@
         String lockKey = NON_COAL_PAY_STUDENT_LOCK + dataId + "_PAY_TYPE_" + payType;
 
 
-        Boolean b = redisLock.tryLock(lockKey, 10, 20, TimeUnit.SECONDS);
+        Boolean b = redisLock.tryLock(lockKey, 30, 40, TimeUnit.SECONDS);
         if (b) {
             String orderNo = RandomUtil.generateOrderNumber(dataId, "NC");
             List<NonCoalPayOrder> nonCoalPayOrders = nonCoalPayMapper.selectNonCoalPayOrderByParam(dataId, Long.valueOf(payType));
@@ -81,6 +82,29 @@
             if (nonCoalStuRep.getPayStatus() == 1) {
                 throw new BusinessException(this.getClass(), ResultConstants.BUSINESS_ERROR, "已缴费请勿重复缴费");
             }
+            //财政缴款码已生成了
+            if (nonCoalStuRep.getGovPayStatus() == 2) {
+                return nonCoalStuRep.getOrderId();
+            }
+            //财政缴款码未生成
+//            if (nonCoalStuRep.getPayStatus() == 0) {
+//                if ("1".equals(payType)) {
+//                    baseMapper.update(null, Wrappers.<NonCoalPayStudent>lambdaUpdate()
+//                            .set(NonCoalPayStudent::getOrderNo, orderNo)
+//                            .set(NonCoalPayStudent::getGovPayStatus, 1)
+//                            .eq(NonCoalPayStudent::getId, dataId).eq(NonCoalPayStudent::getDelFlag, 0)
+//                            .eq(NonCoalPayStudent::getPayType, payType).eq(NonCoalPayStudent::getPayStatus, 0));
+//                } else {
+//                    //团体缴费
+//                    baseMapper.update(null, Wrappers.<NonCoalPayStudent>lambdaUpdate()
+//                            .set(NonCoalPayStudent::getOrderNo, orderNo)
+//                            .set(NonCoalPayStudent::getGovPayStatus, 1)
+//                            .eq(NonCoalPayStudent::getNonCoalPayId, dataId).eq(NonCoalPayStudent::getDelFlag, 0)
+//                            .eq(NonCoalPayStudent::getPayType, payType).eq(NonCoalPayStudent::getPayStatus, 0));
+//                }
+//            } else {
+//                orderNo = nonCoalStuRep.getOrderNo();
+//            }
             List<NonCoalCateRep> nonCoalPayCategoryList = nonCoalPayOrder.getNonCoalPayCategoryList();
 
             if (StringUtils.isEmpty(nonCoalPayCategoryList)) {
@@ -91,7 +115,7 @@
             PayReqData payReqData = dealData(nonCoalPayOrder, orderNo, payType);
 
             try {
-                ResultVo resultVo = payUtils.sendApiPost(payReqData);
+                ResultVo resultVo = payUtils.faqiV2(payReqData);
                 log.info("调用接口返回结果:" + resultVo);
                 if (resultVo.getRespcode().equals("BUS0000")) {
                     String orderId = resultVo.getRespdata().getOrderId();
@@ -103,6 +127,7 @@
                                     .set(NonCoalPayStudent::getOrderId, orderId)
                                     .set(NonCoalPayStudent::getOrderNo, orderNo)
                                     .set(NonCoalPayStudent::getPayCode, billNo)
+                                    .set(NonCoalPayStudent::getGovPayStatus, 2)
                                     .eq(NonCoalPayStudent::getId, dataId).eq(NonCoalPayStudent::getDelFlag, 0)
                                     .eq(NonCoalPayStudent::getPayType, payType).eq(NonCoalPayStudent::getPayStatus, 0));
                         } else {
@@ -111,6 +136,7 @@
                                     .set(NonCoalPayStudent::getOrderId, orderId)
                                     .set(NonCoalPayStudent::getOrderNo, orderNo)
                                     .set(NonCoalPayStudent::getPayCode, billNo)
+                                    .set(NonCoalPayStudent::getGovPayStatus, 2)
                                     .eq(NonCoalPayStudent::getNonCoalPayId, dataId).eq(NonCoalPayStudent::getDelFlag, 0)
                                     .eq(NonCoalPayStudent::getPayType, payType).eq(NonCoalPayStudent::getPayStatus, 0));
                         }
@@ -131,6 +157,47 @@
 
 
         return null;
+    }
+
+    @Override
+    public NonCoalStuRep queryOrder(Long dataId, String payType) {
+        List<NonCoalPayOrder> nonCoalPayOrders = nonCoalPayMapper.selectNonCoalPayOrderByParam(dataId, Long.valueOf(payType));
+        if (StringUtils.isEmpty(nonCoalPayOrders)) {
+            throw new BusinessException(this.getClass(), ResultConstants.BUSINESS_ERROR, "未找到相关缴费信息");
+        }
+        NonCoalPayOrder nonCoalPayOrder = nonCoalPayOrders.get(0);
+
+        List<NonCoalStuRep> nonCoalStuList = nonCoalPayOrder.getNonCoalStuList();
+
+        if (StringUtils.isEmpty(nonCoalStuList)) {
+            throw new BusinessException(this.getClass(), ResultConstants.BUSINESS_ERROR, "未找到需要缴费的学员");
+        }
+        NonCoalStuRep nonCoalStuRep = nonCoalStuList.get(0);
+
+        if (nonCoalStuRep.getPayStatus() == 1) {
+            throw new BusinessException(this.getClass(), ResultConstants.BUSINESS_ERROR, "已缴费请勿重复缴费");
+        }
+        if (nonCoalStuRep.getGovPayStatus() == 2 && nonCoalStuRep.getPayStatus() == 0) {
+            try {
+                JSONObject result = payUtils.query(nonCoalStuRep.getOrderNo());
+                String status = result.getString("status");
+                if (("1").equals(status)) {
+
+                    nonCoalPayStudentMapper.update(null, Wrappers.<NonCoalPayStudent>lambdaUpdate()
+                            .set(NonCoalPayStudent::getPayStatus, 1)
+                            .set(NonCoalPayStudent::getPayTime, result.getDate("payTime"))
+                            .eq(NonCoalPayStudent::getOrderNo, nonCoalStuRep.getOrderNo()).eq(NonCoalPayStudent::getDelFlag, 0)
+                            .eq(NonCoalPayStudent::getPayStatus, 0));
+                } else if (status == null) {
+                    log.error("查询财政订单失败:" + result.getString("respmsg") + ",错误编码:" + result.getString("respcode"));
+                }
+            } catch (Exception e) {
+                log.error("查询财政订单失败:" + e.getMessage());
+
+            }
+        }
+
+        return nonCoalStuRep;
     }
 
     private PayReqData dealData(NonCoalPayOrder nonCoalPayOrder, String orderNo, String payType) {
@@ -353,7 +420,7 @@
                     stu1.setPhone(stu.getPhone());
 
 //                    stu1.setOrderNo(RandomUtil.generateOrderNumber());
-                    stu1.setSex(StudentSex.BOY.getStatus().equals(stu.getSex().trim()) ? 0L : 1L);
+                    stu1.setSex(StudentSex.BOY.getDesc().equals(stu.getSex().trim()) ? 0L : 1L);
                     nonCoalPayStudentMapper.insertNonCoalPayStudent(stu1);
                     successNum++;
                     successMsg.append("<br/>" + successNum + "、身份证号 " + stu.getIdCard() + " 导入成功");

--
Gitblit v1.9.2