cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TVipController.java
@@ -61,7 +61,13 @@ SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Vip vip = vipService.getById(id); if (vip == null) { throw new IllegalArgumentException("会员卡不存在: " + id); } model.addAttribute("vip",vip); // 编辑页的两个权益列表都会被模板遍历,即使会员卡尚未配置权益也必须提供空集合。 model.addAttribute("couponList", new ArrayList<Coupon>()); model.addAttribute("ticketList", new ArrayList<TicketDetailVO>()); if (vip.getCouponJson() != null && !vip.getCouponJson().isEmpty()){ String couponJson = vip.getCouponJson(); // 转化为jsonArray @@ -128,10 +134,6 @@ model.addAttribute("couponList", new ArrayList<Coupon>()); } } else{ model.addAttribute("ticketList", new ArrayList<Coupon>()); } if (vip.getTicketJson() != null && !vip.getTicketJson().isEmpty()){ String ticketJson = vip.getTicketJson(); @@ -171,7 +173,12 @@ SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Vip vip = vipService.getById(id); if (vip == null) { throw new IllegalArgumentException("会员卡不存在: " + id); } model.addAttribute("vip",vip); model.addAttribute("couponList", new ArrayList<Coupon>()); model.addAttribute("ticketList", new ArrayList<TicketDetailVO>()); if (vip.getCouponJson() != null && !vip.getCouponJson().isEmpty()){ String couponJson = vip.getCouponJson(); // 转化为jsonArray cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java
@@ -13,6 +13,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.dsh.other.entity.*; import com.dsh.other.enums.SiteBookingStatusEnum; import com.dsh.other.feignclient.StoreClient; import com.dsh.other.feignclient.account.AppUserClient; import com.dsh.other.feignclient.account.model.AppUser; @@ -1186,7 +1187,10 @@ SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); String code = sdf.format(new Date()) + UUIDUtil.getNumberRandom(5);// 退款单号 // 运营商退款 payMoneyUtil.weixinRefundV3(smidVx, code, siteBooking.getPayOrderNo(), siteBooking.getPayMoney().toString(), "/base/site/cancelMySiteCallback1"); ResultUtil refundResult = payMoneyUtil.weixinRefundV3(smidVx, code, siteBooking.getPayOrderNo(), siteBooking.getPayMoney().toString(), "/base/site/cancelMySiteCallback1"); if (!ResultUtil.SUCCESS.equals(refundResult.getCode())) { return refundResult; } } else { Map<String, String> map = payMoneyUtil.wxRefund(siteBooking.getPayOrderNo(), siteBooking.getOrderNo(), siteBooking.getPayMoney().toString(), siteBooking.getPayMoney().toString(), "/base/site/cancelMySiteCallback"); @@ -1197,9 +1201,6 @@ if (!"SUCCESS".equals(return_code)) { return ResultUtil.error(map.get("return_msg")); } siteBooking.setCancelUserId(uid); siteBookingService.updateById(siteBooking); TBackRecord tBackRecord = new TBackRecord(); tBackRecord.setMoney(siteBooking.getPayMoney()); tBackRecord.setUserId(siteBooking.getAppUserId()); @@ -1207,6 +1208,13 @@ backRecordService.save(tBackRecord); } // 退款请求已受理即结束该预约,不能继续在“待核销”列表中展示。 // 微信退款回调用于补充退款流水号及恢复优惠券,重复更新状态不会影响结果。 siteBooking.setStatus(SiteBookingStatusEnum.CANCELED.getCode()); siteBooking.setCancelUserId(uid); siteBooking.setCancelTime(new Date()); siteBookingService.updateById(siteBooking); } if (siteBooking.getPayType() == 2) {//支付宝 cloud-server-other/src/main/java/com/dsh/other/util/PayMoneyUtil.java
@@ -598,8 +598,8 @@ // TODO: 请求成功,继续业务逻辑 System.out.println(response); } catch (WXPayUtility.ApiException e) { // TODO: 请求失败,根据状态码执行不同的逻辑 e.printStackTrace(); return ResultUtil.error("微信退款申请失败"); } return ResultUtil.success(); }