From bc472feefdfc4afbcb0fcd35a8fb8d047edf6a9f Mon Sep 17 00:00:00 2001
From: “djh” <“3298565835@qq.com”>
Date: 星期二, 18 二月 2025 16:50:30 +0800
Subject: [PATCH] 煤矿缴费修改

---
 exam-system/src/main/java/com/gkhy/exam/pay/service/impl/NonCoalPayStudentServiceImpl.java |   70 ++++++++++++++++++++++++++++++++++-
 1 files changed, 68 insertions(+), 2 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 21dda14..6703e96 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;
@@ -77,8 +78,32 @@
                 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) {
+                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();
 
@@ -100,7 +125,7 @@
                         if ("1".equals(payType)) {
                             baseMapper.update(null, Wrappers.<NonCoalPayStudent>lambdaUpdate()
                                     .set(NonCoalPayStudent::getOrderId, orderId)
-                                    .set(NonCoalPayStudent::getOrderNo, orderNo)
+//                                    .set(NonCoalPayStudent::getOrderNo, orderNo)
                                     .set(NonCoalPayStudent::getPayCode, billNo)
                                     .eq(NonCoalPayStudent::getId, dataId).eq(NonCoalPayStudent::getDelFlag, 0)
                                     .eq(NonCoalPayStudent::getPayType, payType).eq(NonCoalPayStudent::getPayStatus, 0));
@@ -108,7 +133,7 @@
                             //团体缴费
                             baseMapper.update(null, Wrappers.<NonCoalPayStudent>lambdaUpdate()
                                     .set(NonCoalPayStudent::getOrderId, orderId)
-                                    .set(NonCoalPayStudent::getOrderNo, orderNo)
+//                                    .set(NonCoalPayStudent::getOrderNo, orderNo)
                                     .set(NonCoalPayStudent::getPayCode, billNo)
                                     .eq(NonCoalPayStudent::getNonCoalPayId, dataId).eq(NonCoalPayStudent::getDelFlag, 0)
                                     .eq(NonCoalPayStudent::getPayType, payType).eq(NonCoalPayStudent::getPayStatus, 0));
@@ -132,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) {
         List<NonCoalStuRep> nonCoalStuList = nonCoalPayOrder.getNonCoalStuList();
         List<NonCoalCateRep> nonCoalPayCategoryList = nonCoalPayOrder.getNonCoalPayCategoryList();

--
Gitblit v1.9.2