From d3368f89b647e8497eaf20a5ad4356fbf9db9700 Mon Sep 17 00:00:00 2001 From: gaoqr <13665037151@163.com> Date: Mon, 27 Oct 2025 11:12:27 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E5=85=85=E5=80=BC=E6=B4=BB=E5=8A=A8c?= =?UTF-8?q?ontroller=E5=8D=95=E5=85=83=E6=B5=8B=E8=AF=95=E5=AE=8C=E5=96=84?= =?UTF-8?q?=EF=BC=9B2=E3=80=81=E5=85=85=E5=80=BC=E6=98=8E=E7=BB=86?= =?UTF-8?q?=E6=97=A0=E7=94=A8=E6=96=B9=E6=B3=95=E7=A7=BB=E9=99=A4=E3=80=81?= =?UTF-8?q?service/controller=E5=8D=95=E5=85=83=E6=B5=8B=E8=AF=95=E5=AE=8C?= =?UTF-8?q?=E5=96=84=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../recharge/RechargeDetailsController.java | 29 ---- .../system/dal/mysql/pay/PayOrderMapper.java | 10 -- .../recharge/RechargeDetailsService.java | 9 - .../recharge/RechargeDetailsServiceImpl.java | 8 - .../system/service/pay/PayOrderService.java | 11 -- .../service/pay/PayOrderServiceImpl.java | 77 +------- .../mapper/funds/pay/PayOrderMapper.xml | 21 --- .../RechargeActiveControllerTest.java | 164 ++++++++++++++++++ .../RechargeDetailsControllerTest.java | 55 ++++++ .../RechargeDetailsServiceImplTest.java | 48 +++++ 10 files changed, 268 insertions(+), 164 deletions(-) create mode 100644 cf-module-system/cf-module-system-biz/src/test/java/com/cf/imes/module/system/controller/admin/funds/recharge/RechargeActiveControllerTest.java create mode 100644 cf-module-system/cf-module-system-biz/src/test/java/com/cf/imes/module/system/controller/admin/funds/recharge/RechargeDetailsControllerTest.java create mode 100644 cf-module-system/cf-module-system-biz/src/test/java/com/cf/imes/module/system/service/funds/recharge/RechargeDetailsServiceImplTest.java diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/funds/recharge/RechargeDetailsController.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/funds/recharge/RechargeDetailsController.java index 5732261fb..0c6f34a4e 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/funds/recharge/RechargeDetailsController.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/funds/recharge/RechargeDetailsController.java @@ -1,29 +1,17 @@ package com.cf.imes.module.system.controller.admin.funds.recharge; import com.cf.imes.framework.common.pojo.CommonResult; -import com.cf.imes.framework.common.pojo.PageParam; -import com.cf.imes.framework.common.pojo.PageResult; -import com.cf.imes.framework.excel.core.util.ExcelUtils; -import com.cf.imes.framework.operatelog.core.annotations.OperateLog; -import com.cf.imes.module.system.controller.admin.funds.recharge.vo.RechargeDetailRespVO; import com.cf.imes.module.system.controller.admin.funds.recharge.vo.RechargeDetailsBalanceInfoRespVO; -import com.cf.imes.module.system.controller.admin.funds.recharge.vo.RechargeDetailsPageReqVO; import com.cf.imes.module.system.service.funds.recharge.RechargeDetailsService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.annotation.Resource; -import jakarta.servlet.http.HttpServletResponse; -import jakarta.validation.Valid; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import java.io.IOException; -import java.util.List; - import static com.cf.imes.framework.common.pojo.CommonResult.success; -import static com.cf.imes.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; /** * @author Gqr @@ -38,23 +26,6 @@ public class RechargeDetailsController { @Resource private RechargeDetailsService rechargeDetailsService; - @GetMapping("/page") - @Operation(summary = "获取充值明细分页") - public CommonResult> getRechargeDetailsPage(@Valid RechargeDetailsPageReqVO pageReqVO) { - return success(rechargeDetailsService.getRechargeDetailsPage(pageReqVO)); - } - - @GetMapping("/export") - @Operation(summary = "导出充值明细") - @OperateLog(type = EXPORT) - public void exportRechargeDetails(@Valid RechargeDetailsPageReqVO pageReqVO, - HttpServletResponse response) throws IOException { - pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); - List list = rechargeDetailsService.getRechargeDetailsPage(pageReqVO).getList(); - // 导出 Excel - ExcelUtils.write(response, "充值明细表.xls", "数据", RechargeDetailRespVO.class, list); - } - @GetMapping("/balance") @Operation(summary = "获取管理端充值明细余额信息") public CommonResult getManageRechargeDetailsBalanceInfo() { diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/pay/PayOrderMapper.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/pay/PayOrderMapper.java index 8f904b71e..8a2c02cee 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/pay/PayOrderMapper.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/pay/PayOrderMapper.java @@ -1,12 +1,9 @@ package com.cf.imes.module.system.dal.mysql.pay; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.cf.imes.module.system.controller.admin.funds.recharge.vo.RechargeDetailsPageReqVO; import com.cf.imes.module.system.controller.admin.statistics.vo.OrgStatusGroupStatisticsReqVO; import com.cf.imes.module.system.dal.dataobject.funds.statistics.FundsTradeTypeGroupStatisticsDO; import com.cf.imes.module.system.dal.dataobject.pay.PayOrderDO; -import com.cf.imes.module.system.dal.dataobject.pay.PayOrderRechargeDetailDO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -21,13 +18,6 @@ import java.util.List; */ @Mapper public interface PayOrderMapper extends BaseMapper { - /** - * 获取充值明细分页 - * - * @param reqVO - * @return - */ - IPage getRechargeDetailsPage(@Param("page") IPage page, @Param("reqVO") RechargeDetailsPageReqVO reqVO); /** * 查询充值总额 diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/recharge/RechargeDetailsService.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/recharge/RechargeDetailsService.java index 4d62ed1a6..af9b91a39 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/recharge/RechargeDetailsService.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/recharge/RechargeDetailsService.java @@ -1,9 +1,6 @@ package com.cf.imes.module.system.service.funds.recharge; -import com.cf.imes.framework.common.pojo.PageResult; -import com.cf.imes.module.system.controller.admin.funds.recharge.vo.RechargeDetailRespVO; import com.cf.imes.module.system.controller.admin.funds.recharge.vo.RechargeDetailsBalanceInfoRespVO; -import com.cf.imes.module.system.controller.admin.funds.recharge.vo.RechargeDetailsPageReqVO; /** * 充值明细 Service 接口 @@ -12,12 +9,6 @@ import com.cf.imes.module.system.controller.admin.funds.recharge.vo.RechargeDeta * @since 2025/9/11 16:20 */ public interface RechargeDetailsService { - /** - * 查询充值明细分页 - * - * @return - */ - PageResult getRechargeDetailsPage(RechargeDetailsPageReqVO reqVO); /** * 获取管理端充值余额信息 diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/recharge/RechargeDetailsServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/recharge/RechargeDetailsServiceImpl.java index 03bca040b..a014f3145 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/recharge/RechargeDetailsServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/recharge/RechargeDetailsServiceImpl.java @@ -1,9 +1,6 @@ package com.cf.imes.module.system.service.funds.recharge; -import com.cf.imes.framework.common.pojo.PageResult; -import com.cf.imes.module.system.controller.admin.funds.recharge.vo.RechargeDetailRespVO; import com.cf.imes.module.system.controller.admin.funds.recharge.vo.RechargeDetailsBalanceInfoRespVO; -import com.cf.imes.module.system.controller.admin.funds.recharge.vo.RechargeDetailsPageReqVO; import com.cf.imes.module.system.service.funds.purchase.PurchaseService; import com.cf.imes.module.system.service.pay.PayOrderService; import jakarta.annotation.Resource; @@ -23,11 +20,6 @@ public class RechargeDetailsServiceImpl implements RechargeDetailsService { @Resource private PurchaseService purchaseService; - @Override - public PageResult getRechargeDetailsPage(RechargeDetailsPageReqVO reqVO) { - return payOrderService.getRechargeDetailsPage(reqVO); - } - @Override public RechargeDetailsBalanceInfoRespVO getManageRechargeDetailsBalanceInfo() { RechargeDetailsBalanceInfoRespVO rechargeDetailsBalanceInfoRespVO = new RechargeDetailsBalanceInfoRespVO(); diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/pay/PayOrderService.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/pay/PayOrderService.java index 287eebea1..6a0c31b12 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/pay/PayOrderService.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/pay/PayOrderService.java @@ -1,9 +1,6 @@ package com.cf.imes.module.system.service.pay; -import com.cf.imes.framework.common.pojo.PageResult; import com.cf.imes.framework.pay.core.client.dto.order.PayOrderRespDTO; -import com.cf.imes.module.system.controller.admin.funds.recharge.vo.RechargeDetailRespVO; -import com.cf.imes.module.system.controller.admin.funds.recharge.vo.RechargeDetailsPageReqVO; import com.cf.imes.module.system.controller.admin.pay.vo.PayProductOrderUnifiedReqVO; import com.cf.imes.module.system.controller.admin.pay.vo.PayRechargeOrderReqVO; import com.cf.imes.module.system.dal.dataobject.pay.PayOrderDO; @@ -73,14 +70,6 @@ public interface PayOrderService { */ int expirePayOrder(); - /** - * 查询充值明细分页 - * - * @param reqVO - * @return - */ - PageResult getRechargeDetailsPage(RechargeDetailsPageReqVO reqVO); - /** * 管理端查询充值总额 * diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/pay/PayOrderServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/pay/PayOrderServiceImpl.java index a7f1b1c13..d2fc0fb32 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/pay/PayOrderServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/pay/PayOrderServiceImpl.java @@ -8,16 +8,12 @@ import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.cf.imes.framework.common.exception.ServiceException; import com.cf.imes.framework.common.exception.enums.GlobalErrorCodeConstants; import com.cf.imes.framework.common.exception.util.ServiceExceptionUtil; -import com.cf.imes.framework.common.pojo.PageResult; import com.cf.imes.framework.common.util.Assert.AssertUtils; import com.cf.imes.framework.common.util.json.JsonUtils; -import com.cf.imes.framework.common.util.object.BeanUtils; import com.cf.imes.framework.common.util.validation.ValidationUtils; import com.cf.imes.framework.id.core.util.SnowflakeSerialNoWorker3rd; import com.cf.imes.framework.organ.core.context.OrganContextHolder; @@ -28,8 +24,6 @@ import com.cf.imes.framework.redis.config.ChenfengCacheProperties; import com.cf.imes.framework.redis.constants.RedisKeyConstants; import com.cf.imes.framework.redis.util.RedisLockUtil; import com.cf.imes.module.system.controller.admin.funds.delay.vo.PreviouProductDelayRespVO; -import com.cf.imes.module.system.controller.admin.funds.recharge.vo.RechargeDetailRespVO; -import com.cf.imes.module.system.controller.admin.funds.recharge.vo.RechargeDetailsPageReqVO; import com.cf.imes.module.system.controller.admin.pay.vo.PayOrderUnifiedReqDTO; import com.cf.imes.framework.common.exception.PayException; import com.cf.imes.framework.pay.core.enums.order.PayOrderStatusRespEnum; @@ -37,8 +31,6 @@ import com.cf.imes.framework.security.core.util.SecurityFrameworkUtils; import com.cf.imes.module.system.controller.admin.funds.organamount.vo.OrganRechargeAmountRespVO; import com.cf.imes.module.system.controller.admin.funds.products.vo.product.ProductProcessorRespVO; import com.cf.imes.module.system.dal.dataobject.funds.delay.ProductDelayRecordDO; -import com.cf.imes.module.system.dal.dataobject.organ.OrganizationDO; -import com.cf.imes.module.system.dal.dataobject.pay.PayOrderRechargeDetailDO; import com.cf.imes.module.system.enums.pay.PayProductChannelCodeEnumNew; import com.cf.imes.module.system.enums.pay.ProductDurationUnitEnum; import com.cf.imes.module.system.service.funds.delay.ProductDelayService; @@ -79,7 +71,6 @@ import jakarta.validation.Validator; import java.math.BigDecimal; import java.math.RoundingMode; import java.time.LocalDateTime; -import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.regex.Matcher; @@ -111,9 +102,6 @@ import static com.cf.imes.module.system.enums.ErrorCodeConstants.PAY_RECHARGE_OR @Slf4j public class PayOrderServiceImpl implements PayOrderService { - // 外部payNo正则 - private static final Pattern pattern = Pattern.compile("P(\\d+)O"); - // 自动生成定价id正则 private static final Pattern productMonthDetailIdPattern = Pattern.compile("^1759029544(\\d+)$"); private static final Pattern productYearDetailIdPattern = Pattern.compile("^1759993429(\\d+)$"); @@ -528,7 +516,7 @@ public class PayOrderServiceImpl implements PayOrderService { throw exception(PAY_ORDER_NOT_EXIST, outTradeNo); } // 订单已被更新成功,直接支付成功了 - if (PayOrderStatusEnum.SUCCESS.getStatus().equals(payOrderDO.getStatus())) { + if (PayOrderStatusEnum.SUCCESS.equals(payOrderDO.getStatus())) { return; } @@ -585,22 +573,6 @@ public class PayOrderServiceImpl implements PayOrderService { } } - /** - * 从payNo中解析组织id - * - * @param outTradeNo - * @return - */ - private Long getOrganIdFromPayNo(String outTradeNo) { - Matcher matcher = pattern.matcher(outTradeNo); - - if (matcher.find()) { - return Long.valueOf(matcher.group(1)); // 提取 P 和 O 中间的数字 - } else { - throw new ServiceException(GlobalErrorCodeConstants.UNAUTHORIZED); - } - } - /** * 支付成功回调处理 * @@ -850,20 +822,6 @@ public class PayOrderServiceImpl implements PayOrderService { } } - /** - * 校验获取当前token请求下的组织id - * - * @return - */ - private Long validOrganId() { - // 校验token - Long organId = OrganContextHolder.getOrganId(); - if (ObjectUtil.isNull(organId)) { - throw new ServiceException(GlobalErrorCodeConstants.UNAUTHORIZED); - } - return organId; - } - @Override public int expirePayOrder() { // 1、查询过期的待支付订单 @@ -935,39 +893,6 @@ public class PayOrderServiceImpl implements PayOrderService { }); } - @Override - public PageResult getRechargeDetailsPage(RechargeDetailsPageReqVO reqVO) { - // 分页查询 - Page page = new Page<>(reqVO.getPageNo(), reqVO.getPageSize()); - IPage rechargeDetailsPage = payOrderMapper.getRechargeDetailsPage(page, reqVO); - - // 构建回调数据 - List resultList = new ArrayList<>(); - for (PayOrderRechargeDetailDO detailDO : rechargeDetailsPage.getRecords()) { - RechargeDetailRespVO respVO = BeanUtils.toBean(detailDO, RechargeDetailRespVO.class); - - // 根据是否关联购买记录判断是充值还是购买软件 - if (ObjectUtil.isNotNull(detailDO.getPurchaseId())) { - respVO.setTradeType(TradeTypeEnum.PRODUCT.getCode()); - // 产品购买有充值记录的,充值支付就是支付单的金额 - respVO.setRechargeSpent(detailDO.getPrice()); - } else { - respVO.setTradeType(TradeTypeEnum.RECHARGE.getCode()); - BigDecimal zero = BigDecimal.ZERO; - respVO.setRechargeSpent(zero); - respVO.setTotalAmount(zero); - respVO.setAccountBalanceSpent(zero); - respVO.setGiftMoneySpent(zero); - } - OrganizationDO organ = organService.getOrganWithDeleted(detailDO.getOrganId()); - if (ObjectUtil.isNotNull(organ)) { - respVO.setOrganName(organ.getName()); - } - resultList.add(respVO); - } - return new PageResult<>(resultList, rechargeDetailsPage.getTotal()); - } - @Override public BigDecimal getRechargeTotalAmount() { return payOrderMapper.getRechargeTotalAmount(); diff --git a/cf-module-system/cf-module-system-biz/src/main/resources/mapper/funds/pay/PayOrderMapper.xml b/cf-module-system/cf-module-system-biz/src/main/resources/mapper/funds/pay/PayOrderMapper.xml index 7ed52957e..6634b1e72 100644 --- a/cf-module-system/cf-module-system-biz/src/main/resources/mapper/funds/pay/PayOrderMapper.xml +++ b/cf-module-system/cf-module-system-biz/src/main/resources/mapper/funds/pay/PayOrderMapper.xml @@ -1,27 +1,6 @@ -