From ce5853e8e540693421c86e32a050d8a2e214198a Mon Sep 17 00:00:00 2001
From: heheng <heheng@123456>
Date: Wed, 05 Feb 2025 09:26:06 +0800
Subject: [PATCH] 增加查询是否生成财政缴款码

---
 exam-system/src/main/java/com/gkhy/exam/pay/service/NonCoalPayStudentService.java          |    4 ++
 exam-system/src/main/java/com/gkhy/exam/pay/entity/NonCoalPayStudent.java                  |    1 
 exam-system/src/main/java/com/gkhy/exam/pay/controller/NonCoalPayController.java           |   14 +++++++
 exam-system/src/main/java/com/gkhy/exam/pay/service/impl/NonCoalPayStudentServiceImpl.java |   49 +++++++++++++++++++++++-
 exam-system/src/main/java/com/gkhy/exam/pay/dto/rep/NonCoalStuRep.java                     |    8 ++++
 exam-system/src/main/resources/mapper/pay/NonCoalPayMapper.xml                             |    6 ++
 6 files changed, 79 insertions(+), 3 deletions(-)

diff --git a/exam-system/src/main/java/com/gkhy/exam/pay/controller/NonCoalPayController.java b/exam-system/src/main/java/com/gkhy/exam/pay/controller/NonCoalPayController.java
index 4fb552d..7d54b50 100644
--- a/exam-system/src/main/java/com/gkhy/exam/pay/controller/NonCoalPayController.java
+++ b/exam-system/src/main/java/com/gkhy/exam/pay/controller/NonCoalPayController.java
@@ -205,4 +205,18 @@
         return success(nonCoalPayStudentService.sendOrder(id, payType));
     }
 
+
+    @PostMapping("/queryOrder")
+    @ApiOperation(value = "查询是否生成缴费订单")
+    @Anonymous
+    @RepeatSubmit
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "id", dataTypeClass = Long.class, value = "个人缴费学员数据id,团队缴费数据id", required = true),
+            @ApiImplicitParam(name = "payType", dataTypeClass = String.class, value = "1个人2是团队", required = true),
+    })
+    public AjaxResult queryOrder(@RequestParam("id") Long id, @RequestParam("payType") String payType) {
+        return success(nonCoalPayStudentService.sendOrder(id, payType));
+    }
+
+
 }
diff --git a/exam-system/src/main/java/com/gkhy/exam/pay/dto/rep/NonCoalStuRep.java b/exam-system/src/main/java/com/gkhy/exam/pay/dto/rep/NonCoalStuRep.java
index b42ba0d..0d1f7ab 100644
--- a/exam-system/src/main/java/com/gkhy/exam/pay/dto/rep/NonCoalStuRep.java
+++ b/exam-system/src/main/java/com/gkhy/exam/pay/dto/rep/NonCoalStuRep.java
@@ -1,9 +1,11 @@
 package com.gkhy.exam.pay.dto.rep;
 
+import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 @Data
+@ApiModel(value = "缴费学员相关信息")
 public class NonCoalStuRep {
 
     private Long id;
@@ -43,4 +45,10 @@
 
     @ApiModelProperty("财政订单编号")
     private String orderId;
+
+    @ApiModelProperty("订单编号")
+    private String orderNo;
+
+    @ApiModelProperty("财政订单状态0未生成1生成中2已生成")
+    private Long govPayStatus;
 }
diff --git a/exam-system/src/main/java/com/gkhy/exam/pay/entity/NonCoalPayStudent.java b/exam-system/src/main/java/com/gkhy/exam/pay/entity/NonCoalPayStudent.java
index 9bfd9bc..9500fad 100644
--- a/exam-system/src/main/java/com/gkhy/exam/pay/entity/NonCoalPayStudent.java
+++ b/exam-system/src/main/java/com/gkhy/exam/pay/entity/NonCoalPayStudent.java
@@ -104,6 +104,7 @@
     /**
      * 财政订单状态0未生成1生成中2未生成
      */
+    @ApiModelProperty("财政订单状态0未生成1生成中2未生成")
     private Integer govPayStatus;
     /**
      * 删除标志(0代表存在2代表删除)
diff --git a/exam-system/src/main/java/com/gkhy/exam/pay/service/NonCoalPayStudentService.java b/exam-system/src/main/java/com/gkhy/exam/pay/service/NonCoalPayStudentService.java
index 5c2ee94..726d57e 100644
--- a/exam-system/src/main/java/com/gkhy/exam/pay/service/NonCoalPayStudentService.java
+++ b/exam-system/src/main/java/com/gkhy/exam/pay/service/NonCoalPayStudentService.java
@@ -1,6 +1,7 @@
 package com.gkhy.exam.pay.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.gkhy.exam.pay.dto.rep.NonCoalStuRep;
 import com.gkhy.exam.pay.dto.req.NonCoalPayStuImport;
 import com.gkhy.exam.pay.dto.req.NonCoalPayStudentReqDto;
 import com.gkhy.exam.pay.entity.NonCoalPayStudent;
@@ -33,6 +34,9 @@
 
     public String sendOrder(Long dataId, String payType);
 
+
+    public NonCoalStuRep queryOrder(Long dataId, String payType);
+
     /**
      * 新增【请填写功能名称】
      *
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..c6df39a 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
@@ -81,6 +81,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)) {
@@ -101,7 +124,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));
@@ -109,7 +132,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));
@@ -133,6 +156,28 @@
         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, "已缴费请勿重复缴费");
+        }
+
+        return nonCoalStuRep;
+    }
+
     private PayReqData dealData(NonCoalPayOrder nonCoalPayOrder, String orderNo, String payType) {
         List<NonCoalStuRep> nonCoalStuList = nonCoalPayOrder.getNonCoalStuList();
         List<NonCoalCateRep> nonCoalPayCategoryList = nonCoalPayOrder.getNonCoalPayCategoryList();
diff --git a/exam-system/src/main/resources/mapper/pay/NonCoalPayMapper.xml b/exam-system/src/main/resources/mapper/pay/NonCoalPayMapper.xml
index 3ef4f09..277db4c 100644
--- a/exam-system/src/main/resources/mapper/pay/NonCoalPayMapper.xml
+++ b/exam-system/src/main/resources/mapper/pay/NonCoalPayMapper.xml
@@ -234,6 +234,8 @@
         <result property="studentName" column="student_name"/>
         <result property="payStatus" column="pay_status"/>
         <result property="orderId" column="order_id"/>
+        <result property="orderNo" column="order_no"/>
+        <result property="govPayStatus" column="gov_pay_status"/>
     </resultMap>
 
 
@@ -260,7 +262,9 @@
         t.id_card,
         t.name as student_name,
         t.pay_status,
-        t.order_id
+        t.order_id,
+        t.gov_pay_status,
+        t.order_no
         from non_coal_pay a
         inner join non_coal_pay_student t on t.non_coal_pay_id = a.id and t.del_flag = 0 and t.pay_status = 0 and
         t.order_id is null

--
Gitblit v1.9.2