From b6557d2be3ae385d15af640aa184ca7f8711f42a Mon Sep 17 00:00:00 2001 From: heheng <heheng@123456> Date: 星期三, 19 二月 2025 16:56:16 +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