刘帅
2026-09-08 572df690f72ed4a077d934823f261dec39b3cc7d
cloud-server-activity/src/main/java/com/dsh/activity/service/impl/PayHuiminServiceImpl.java
@@ -9,6 +9,7 @@
import com.dsh.activity.entity.THuiminRecord;
import com.dsh.activity.entity.TPayHuimin;
import com.dsh.activity.entity.TStudent;
import com.dsh.activity.enums.HuiminCardPaymentTypeEnum;
import com.dsh.activity.feignclient.account.AppUserClient;
import com.dsh.activity.feignclient.account.StudentClient;
import com.dsh.activity.feignclient.account.model.AppUser;
@@ -97,6 +98,7 @@
    @Override
    public Map<String, BigDecimal> getStaticsData(HuiminPayQuery query) {
        query.setGiftPaymentType(HuiminCardPaymentTypeEnum.GIFT.getCode());
        return baseMapper.getStaticsData(query);
    }
@@ -104,14 +106,9 @@
    public ResultUtil<?> refund(Integer id) throws AlipayApiException {
        TPayHuimin payHuimin = this.getById(id);
        if (Objects.nonNull(payHuimin)) {
            // 后台录入订单直接修改为已退款
            if (payHuimin.getPaymentType()==3){
                payHuimin.setStatus(3);
                payHuimin.setRefundStatus(3);
                payHuimin.setRefundNumber(payHuimin.getCode());
                payHuimin.setRefundTime(new Date());
                this.updateById(payHuimin);
                return ResultUtil.success();
            // 赠送订单不产生支付金额,禁止退款。
            if (HuiminCardPaymentTypeEnum.isGift(payHuimin.getPaymentType())){
                throw new IllegalArgumentException("赠送惠民卡不允许退款");
            }
            Integer count = huiminRecordService.lambdaQuery()
                    .eq(THuiminRecord::getPayId, payHuimin.getId())