From 03682382b79d64cccdbceb395bb93628bd9f1c31 Mon Sep 17 00:00:00 2001 From: heheng <heheng@123456> Date: 星期三, 22 一月 2025 14:25:07 +0800 Subject: [PATCH] 特种作业非煤缴费版本导入优化 --- exam-system/src/main/java/com/gkhy/exam/pay/entity/NonCoalPayStudent.java | 48 +++++++++++++++++++++++ ruoyi-common/src/main/java/com/ruoyi/common/utils/RandomUtil.java | 24 +++++++++-- exam-system/src/main/java/com/gkhy/exam/pay/service/impl/NonCoalPayStudentServiceImpl.java | 6 +++ exam-system/src/main/resources/mapper/pay/NonCoalPayStudentMapper.xml | 15 +++++++ 4 files changed, 86 insertions(+), 7 deletions(-) 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 2da67a1..dec9855 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 @@ -31,6 +31,7 @@ @TableId(value = "id", type = IdType.AUTO) private Long id; + /** * 缴费id */ @@ -78,12 +79,24 @@ /** * 是否缴款0否1是 */ - @ApiModelProperty("是否缴款") + @ApiModelProperty("是否缴款0否1是") private Long payStatus; @ApiModelProperty("缴费类型1个人 2团体") private Long payType; + + @ApiModelProperty("订单编号") + private String orderNo; + + @ApiModelProperty("财政订单编号") + private String orderId; + + @ApiModelProperty("财政缴款凭证") + private String fileData; + + @ApiModelProperty("财政缴费状态0未缴费1缴费中2完成缴费") + private Long govPayStatus; /** * 删除标志(0代表存在2代表删除) */ @@ -187,4 +200,37 @@ public void setPayType(Long payType) { this.payType = payType; } + + public String getOrderNo() { + return orderNo; + } + + public void setOrderNo(String orderNo) { + this.orderNo = orderNo; + } + + public String getOrderId() { + return orderId; + } + + public void setOrderId(String orderId) { + this.orderId = orderId; + } + + public String getFileData() { + return fileData; + } + + public void setFileData(String fileData) { + this.fileData = fileData; + } + + public Long getGovPayStatus() { + return govPayStatus; + } + + public void setGovPayStatus(Long govPayStatus) { + this.govPayStatus = govPayStatus; + } + } \ No newline at end of file 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 00c8f0d..25c5178 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 @@ -12,6 +12,7 @@ import com.gkhy.exam.pay.mapper.NonCoalPayStudentMapper; import com.gkhy.exam.pay.service.NonCoalPayStudentService; import com.ruoyi.common.exception.ServiceException; +import com.ruoyi.common.utils.RandomUtil; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.StringUtils; import org.springframework.stereotype.Service; @@ -71,6 +72,8 @@ checkSameData(nonCoalPayStudent); NonCoalPay nonCoalPay = checkNonCoalPay(nonCoalPayStudent.getNonCoalPayId()); nonCoalPayStudent.setPayType(nonCoalPay.getPayPersonType().longValue()); + nonCoalPayStudent.setOrderNo(RandomUtil.generateOrderNumber()); + nonCoalPayStudent.setGovPayStatus(0L); nonCoalPayStudent.setCreateBy(SecurityUtils.getUsername()); return nonCoalPayStudentMapper.insertNonCoalPayStudent(nonCoalPayStudent); } @@ -86,6 +89,7 @@ checkData(nonCoalPayStudent.getId()); checkSameData(nonCoalPayStudent); nonCoalPayStudent.setPayType(null); + nonCoalPayStudent.setOrderNo(null); nonCoalPayStudent.setUpdateBy(SecurityUtils.getUsername()); return nonCoalPayStudentMapper.updateNonCoalPayStudent(nonCoalPayStudent); } @@ -209,6 +213,8 @@ stu1.setName(stu.getName()); stu1.setIdCard(stu.getIdCard()); stu1.setPhone(stu.getPhone()); + stu1.setGovPayStatus(0L); + stu1.setOrderNo(RandomUtil.generateOrderNumber()); stu1.setSex(StudentSex.BOY.getStatus().equals(stu.getSex().trim()) ? 0L : 1L); nonCoalPayStudentMapper.insertNonCoalPayStudent(stu1); successNum++; diff --git a/exam-system/src/main/resources/mapper/pay/NonCoalPayStudentMapper.xml b/exam-system/src/main/resources/mapper/pay/NonCoalPayStudentMapper.xml index d54cf36..4ef1099 100644 --- a/exam-system/src/main/resources/mapper/pay/NonCoalPayStudentMapper.xml +++ b/exam-system/src/main/resources/mapper/pay/NonCoalPayStudentMapper.xml @@ -19,6 +19,10 @@ <result property="createTime" column="create_time"/> <result property="delFlag" column="del_flag"/> <result property="payType" column="pay_type"/> + <result property="orderNo" column="order_no"/> + <result property="orderId" column="order_id"/> + <result property="fileData" column="file_data"/> + <result property="govPayStatus" column="gov_pay_status"/> </resultMap> <sql id="selectNonCoalPayStudentVo"> @@ -35,7 +39,11 @@ create_by, create_time, del_flag, - pay_type + pay_type, + order_no, + order_id, + file_data, + gov_pay_status from non_coal_pay_student </sql> @@ -71,6 +79,7 @@ <if test="sex != null">sex,</if> <if test="payCode != null">pay_code,</if> <if test="payType != null">pay_type,</if> + <if test="orderNo != null and orderNo != '' ">order_no,</if> <if test="payStatus != null">pay_status,</if> <if test="updateBy != null">update_by,</if> <if test="updateTime != null">update_time,</if> @@ -87,6 +96,7 @@ <if test="sex != null">#{sex},</if> <if test="payCode != null">#{payCode},</if> <if test="payType != null">#{payType},</if> + <if test="orderNo != null and orderNo != '' ">#{orderNo},</if> <if test="payStatus != null">#{payStatus},</if> <if test="updateBy != null">#{updateBy},</if> <if test="updateTime != null">#{updateTime},</if> @@ -111,6 +121,9 @@ <if test="idCard != null and idCard != ''">id_card = #{idCard},</if> <if test="phone != null and phone != ''">phone = #{phone},</if> <if test="sex != null">sex = #{sex},</if> + <if test="orderId != null and orderId != ''">order_id = #{orderId},</if> + <if test="fileData != null and fileData != ''">file_data = #{fileData},</if> + <if test="govPayStatus != null">gov_pay_status = #{govPayStatus},</if> <if test="payType != null">pay_type = #{payType},</if> <if test="payCode != null">pay_code = #{payCode},</if> <if test="payStatus != null">pay_status = #{payStatus},</if> diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/RandomUtil.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/RandomUtil.java index 1ef77b8..89ed10b 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/RandomUtil.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/RandomUtil.java @@ -1,25 +1,26 @@ package com.ruoyi.common.utils; +import java.text.SimpleDateFormat; +import java.util.Date; import java.util.Random; +import java.util.concurrent.atomic.AtomicInteger; public class RandomUtil { /** * 字符串池 */ - private static String[] STR_ARR = new String[] { "a", "b", "c", "d", "e", + private static String[] STR_ARR = new String[]{"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "1", "2", "3", "4", "5", - "6", "7", "8", "9", "0" }; + "6", "7", "8", "9", "0"}; /** - * * 根据指定的长度生成的含有大小写字母及数字的字符串 * - * @param length - * 指定的长度 + * @param length 指定的长度 * @return 按照指定的长度生成的含有大小写字母及数字的字符串 */ public static String generateRandomString(int length) { @@ -34,7 +35,20 @@ public static void main(String[] args) { String s = generateRandomString(26); System.out.println(s); + System.out.println(generateOrderNumber()); } + private static final AtomicInteger SEQUENCE = new AtomicInteger(0); + private static final int MAX_SEQUENCE = 99999;// 5位数的序列号 + private static final String ORDER_PER = "SN"; + + public static synchronized String generateOrderNumber() { + String datePart = new SimpleDateFormat("yyyyMMddhhmm").format(new Date()); + int sequencePart = SEQUENCE.getAndIncrement() % MAX_SEQUENCE; + String sequenceStr = String.format("%05d", sequencePart); // 保证序列号是5位数,不足的前面补0 + + return ORDER_PER + datePart + sequenceStr; + } + } -- Gitblit v1.9.2