From 28a60b0977d66b75fb9a2c3306840bc18ec271f6 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期二, 19 八月 2025 17:51:18 +0800
Subject: [PATCH] 会员支付相关
---
cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/ExchangeDetailsResponse.java | 2
cloud-server-account/src/main/java/com/dsh/account/model/vo/VipPaymentListVO.java | 2
cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java | 18 +++++-
cloud-server-management/src/main/webapp/static/modular/system/vip/vip.js | 32 ----------
cloud-server-account/src/main/java/com/dsh/account/controller/FinanceController.java | 8 +-
cloud-server-management/src/main/webapp/static/modular/system/tCouponExamine/TCouponExamine.js | 2
cloud-server-account/src/main/java/com/dsh/account/util/PayMoneyUtil.java | 3
cloud-server-activity/src/main/java/com/dsh/activity/model/VipDetailVO.java | 3
cloud-server-management/src/main/webapp/WEB-INF/view/system/tCouponExamine/TCouponExamineList.html | 2
cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/vo/VipDetailVO.java | 3
cloud-server-activity/src/main/java/com/dsh/activity/entity/VipDetail.java | 31 +++++++++
cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/vo/VipPaymentListVO.java | 28 +++++++++
cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoupon/TCoupon.html | 1
cloud-server-management/src/main/java/com/dsh/course/feignClient/account/VipPaymentClient.java | 3
cloud-server-management/src/main/webapp/static/modular/system/vipPayment/vipPayment.js | 10 +--
cloud-server-management/src/main/webapp/static/modular/system/vip/TCoupon.js | 2
16 files changed, 93 insertions(+), 57 deletions(-)
diff --git a/cloud-server-account/src/main/java/com/dsh/account/controller/FinanceController.java b/cloud-server-account/src/main/java/com/dsh/account/controller/FinanceController.java
index 9d646c1..32da855 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/controller/FinanceController.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/controller/FinanceController.java
@@ -112,15 +112,15 @@
}
@ResponseBody
- @RequestMapping("/finance/vipPayment")
+ @PostMapping("/finance/vipPayment")
List<VipPaymentListVO> vipPayment(@RequestBody VipPaymentDto vipPaymentDto){
List<VipPaymentListVO> vipPaymentListVOS = new ArrayList<>();
List<Integer> payStatus = new ArrayList<>();
payStatus.add(2);
LambdaQueryWrapper<VipPayment> vipPaymentLambdaQueryWrapper = new LambdaQueryWrapper<>();
- vipPaymentLambdaQueryWrapper.in(!vipPaymentDto.getUserIds().isEmpty(),VipPayment::getAppUserId, vipPaymentDto.getUserIds());
- vipPaymentLambdaQueryWrapper.in(!vipPaymentDto.getVipIds().isEmpty(),VipPayment::getVipId, vipPaymentDto.getVipIds());
+ vipPaymentLambdaQueryWrapper.in(vipPaymentDto.getUserIds()!=null&&!vipPaymentDto.getUserIds().isEmpty(),VipPayment::getAppUserId, vipPaymentDto.getUserIds());
+ vipPaymentLambdaQueryWrapper.in(vipPaymentDto.getVipIds()!=null&&!vipPaymentDto.getVipIds().isEmpty(),VipPayment::getVipId, vipPaymentDto.getVipIds());
vipPaymentLambdaQueryWrapper.in(VipPayment::getPayStatus,payStatus);
vipPaymentLambdaQueryWrapper.ge(StringUtils.hasLength(vipPaymentDto.getStartTime()), VipPayment::getInsertTime, vipPaymentDto.getStartTime());
vipPaymentLambdaQueryWrapper.le(StringUtils.hasLength(vipPaymentDto.getEndTime()), VipPayment::getInsertTime, vipPaymentDto.getEndTime());
@@ -131,7 +131,7 @@
// 使用 Stream + 手动拷贝提升性能和可读性(或使用 MapStruct)
vipPaymentListVOS = list.stream().map(vipDetail -> {
VipPaymentListVO vo = new VipPaymentListVO();
- BeanUtils.copyProperties(vo, vipDetail); // 注意参数顺序是否正确
+ BeanUtils.copyProperties(vipDetail,vo); // 注意参数顺序是否正确
return vo;
}).collect(Collectors.toList());
for (VipPaymentListVO vipPaymentListVO : vipPaymentListVOS) {
diff --git a/cloud-server-account/src/main/java/com/dsh/account/model/vo/VipPaymentListVO.java b/cloud-server-account/src/main/java/com/dsh/account/model/vo/VipPaymentListVO.java
index 38bf1e0..f7985ac 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/model/vo/VipPaymentListVO.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/model/vo/VipPaymentListVO.java
@@ -34,7 +34,7 @@
@ApiModelProperty(value = "金额¥")
private String amountValue;
@ApiModelProperty(value = "金额")
- private BigDecimal amount;
+ private Double amount;
@ApiModelProperty(value = "下单时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date insertTime;
diff --git a/cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/ExchangeDetailsResponse.java b/cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/ExchangeDetailsResponse.java
index cef1c70..948641a 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/ExchangeDetailsResponse.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/ExchangeDetailsResponse.java
@@ -22,7 +22,7 @@
@ApiModelProperty(value = "现金")
private BigDecimal cash;
- @ApiModelProperty(value = "兑换方式(1=积分,2=积分+现金 3=现金 4=会员赠送 当该字段为4时 展示的二维码内容增加一个vipDetail:当前数据id)")
+ @ApiModelProperty(value = "兑换方式(1=积分,2=积分+现金 3=现金 4=会员赠送 当该字段为4时切goodType=3门票时 展示的二维码内容增加一个vipDetail:当前数据id)")
private Integer exchangeType;
@ApiModelProperty(value = "有效期开始时间")
diff --git a/cloud-server-account/src/main/java/com/dsh/account/util/PayMoneyUtil.java b/cloud-server-account/src/main/java/com/dsh/account/util/PayMoneyUtil.java
index 2fb7d51..5ac25f0 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/util/PayMoneyUtil.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/util/PayMoneyUtil.java
@@ -94,7 +94,8 @@
private String key = "6f5e0c2dcabfa9c27b5da5836a362fef";//微信商户号
- private String callbackPath = "https://online.daowepark.com:443/account";//支付回调网关地址
+// private String callbackPath = "https://online.daowepark.com:443/account";//支付回调网关地址
+ private String callbackPath = "https://y6cgd7wo3ooa.guyubao.com/account";//支付回调网关地址
private String app_cert_path = "C:/cert/alipay/user/app_cert_path.crt";//应用公钥证书路径
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java b/cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java
index 73af208..dea4e5b 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java
@@ -100,6 +100,8 @@
@Resource
private StudentClient studentClient;
+ @Resource
+ private PointsMerchandiseService pointsMerchandiseService;
@@ -107,11 +109,12 @@
@PostMapping("/base/coupon/vipDetail")
@ResponseBody
List<VipDetailVO> vipDetail(@RequestBody VipDetailDto vipDetailDto){
+ List<PointsMerchandise> pointsMerchandiseList = pointsMerchandiseService.list();
List<VipDetailVO> vipDetailVOS = new ArrayList<>();
List<VipDetail> list = vipDetailService.lambdaQuery()
- .in(!vipDetailDto.getVipIds().isEmpty(), VipDetail::getVipId, vipDetailDto.getVipIds())
- .in(!vipDetailDto.getUserIds().isEmpty(), VipDetail::getAppUserId, vipDetailDto.getUserIds())
- .in(!vipDetailDto.getStoreIds().isEmpty(), VipDetail::getUseStoreId, vipDetailDto.getStoreIds())
+ .in(vipDetailDto.getVipIds()!=null&&!vipDetailDto.getVipIds().isEmpty(), VipDetail::getVipId, vipDetailDto.getVipIds())
+ .in(vipDetailDto.getUserIds()!=null&&!vipDetailDto.getUserIds().isEmpty(), VipDetail::getAppUserId, vipDetailDto.getUserIds())
+ .in(vipDetailDto.getStoreIds()!=null&&!vipDetailDto.getStoreIds().isEmpty(), VipDetail::getUseStoreId, vipDetailDto.getStoreIds())
.ge(StringUtils.hasLength(vipDetailDto.getStartTime()), VipDetail::getInsertTime, vipDetailDto.getStartTime())
.le(StringUtils.hasLength(vipDetailDto.getEndTime()), VipDetail::getInsertTime, vipDetailDto.getEndTime())
.ge(StringUtils.hasLength(vipDetailDto.getUseStartTime()), VipDetail::getUseTime, vipDetailDto.getUseStartTime())
@@ -133,7 +136,16 @@
if (coupon!=null){
vipDetailVO.setTicketName(coupon.getName());
vipDetailVO.setGoodsName(coupon.getName());
+ if (coupon.getType()==4){
+ // 查询抵扣商品
+ PointsMerchandise pointsMerchandise1 = pointsMerchandiseList.stream().filter(pointsMerchandise -> pointsMerchandise.getId().equals(coupon.getGoodsId()))
+ .findFirst().orElse(null);
+ if (pointsMerchandise1 != null){
+ vipDetailVO.setGoodsName(pointsMerchandise1.getName());
+ }
+ }
}
+
}
}
return vipDetailVOS;
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/entity/VipDetail.java b/cloud-server-activity/src/main/java/com/dsh/activity/entity/VipDetail.java
index b7382ef..8cb389d 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/entity/VipDetail.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/entity/VipDetail.java
@@ -1,6 +1,7 @@
package com.dsh.activity.entity;
import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
@@ -18,51 +19,77 @@
private Integer id;
@ApiModelProperty(value = "用户id")
+ @TableField("appUserId")
private Integer appUserId;
@ApiModelProperty(value = "使用状态 1待使用 2已使用 3已过期")
+
private Integer status;
@ApiModelProperty(value = "获取时间")
+ @TableField("insertTime")
+
private Date insertTime;
@ApiModelProperty(value = "会员id")
+ @TableField("vipId")
+
private Integer vipId;
@ApiModelProperty(value = "会员权益类型 1优惠券 2门票")
private Integer type;
@ApiModelProperty(value = "会员支付记录id")
+ @TableField("vipPaymentId")
private Integer vipPaymentId;
@ApiModelProperty(value = "优惠券id")
+ @TableField("couponId")
+
private Integer couponId;
@ApiModelProperty(value = "门票名称")
+ @TableField("ticketName")
+
private String ticketName;
@ApiModelProperty(value = "开始时间")
+ @TableField("startTime")
+
private Date startTime;
@ApiModelProperty(value = "结束时间")
+ @TableField("endTime")
+
private Date endTime;
@ApiModelProperty(value = "可用次数")
+ @TableField("useCount")
+
private Integer useCount;
@ApiModelProperty(value = "使用门店id")
+ @TableField("useStoreId")
+
private Integer useStoreId;
@ApiModelProperty(value = "使用场地id")
+ @TableField("useSiteId")
+
private Integer useSiteId;
- @ApiModelProperty(value = "使用商品id")
- private Integer useGoodsId;
+
@ApiModelProperty(value = "使用时间")
+ @TableField("useTime")
+
private Date useTime;
@ApiModelProperty(value = "运营商id")
+ @TableField("operatorId")
+
private Integer operatorId;
@ApiModelProperty(value = "用户优惠券id")
+ @TableField("userCouponId")
+
private Long userCouponId;
}
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/model/VipDetailVO.java b/cloud-server-activity/src/main/java/com/dsh/activity/model/VipDetailVO.java
index 874c6ca..7ef7858 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/model/VipDetailVO.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/model/VipDetailVO.java
@@ -64,8 +64,7 @@
@ApiModelProperty(value = "使用场地id")
private Integer useSiteId;
- @ApiModelProperty(value = "使用商品id")
- private Integer useGoodsId;
+
@ApiModelProperty(value = "使用商品/场地名称")
private String goodsName;
diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/VipPaymentClient.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/VipPaymentClient.java
index 8dec03d..e833ebd 100644
--- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/VipPaymentClient.java
+++ b/cloud-server-management/src/main/java/com/dsh/course/feignClient/account/VipPaymentClient.java
@@ -6,6 +6,7 @@
import com.dsh.guns.modular.system.model.dto.VipRefundDto;
import com.dsh.guns.modular.system.model.vo.VipPaymentListVO;
import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -23,7 +24,7 @@
*/
@RequestMapping("/finance/vipPaymentList")
List<VipPayment> registrationList(@RequestBody IncomeQuery query);
- @RequestMapping("/finance/vipPayment")
+ @PostMapping("/finance/vipPayment")
List<VipPaymentListVO> vipPayment(@RequestBody VipPaymentDto vipPaymentDto);
@RequestMapping("/finance/refund")
String refund(@RequestBody VipRefundDto vipRefundDto);
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/vo/VipDetailVO.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/vo/VipDetailVO.java
index b353bbc..b5e9b5b 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/vo/VipDetailVO.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/vo/VipDetailVO.java
@@ -66,8 +66,7 @@
@ApiModelProperty(value = "使用场地id")
private Integer useSiteId;
- @ApiModelProperty(value = "使用商品id")
- private Integer useGoodsId;
+
@ApiModelProperty(value = "使用商品/场地名称")
private String goodsName;
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/vo/VipPaymentListVO.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/vo/VipPaymentListVO.java
index e0033d7..36f0d1f 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/vo/VipPaymentListVO.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/vo/VipPaymentListVO.java
@@ -1,5 +1,6 @@
package com.dsh.guns.modular.system.model.vo;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -31,7 +32,7 @@
@ApiModelProperty(value = "金额¥")
private String amountValue;
@ApiModelProperty(value = "金额")
- private BigDecimal amount;
+ private Double amount;
@ApiModelProperty(value = "下单时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date insertTime;
@@ -40,6 +41,31 @@
@ApiModelProperty(value = "备注")
private Integer remark;
+ /**
+ * 支付方式(1=微信,2=支付宝)
+ */
+ @TableField("payType")
+ private Integer payType;
+ /**
+ * 支付状态(1=待支付,2=已支付 3=已退款)
+ */
+ @TableField("payStatus")
+ private Integer payStatus;
+ /**
+ * 支付时间
+ */
+ @TableField("payTime")
+ private Date payTime;
+ /**
+ * 第三方流水号
+ */
+ @TableField("orderNumber")
+ private String orderNumber;
+ /**
+ * 状态(1=正常,2=冻结,3=删除)
+ */
+ @TableField("state")
+ private Integer state;
}
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoupon/TCoupon.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoupon/TCoupon.html
index b49873d..2053ae2 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoupon/TCoupon.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoupon/TCoupon.html
@@ -19,6 +19,7 @@
<option value="1">满减券</option>
<option value="2">折扣券</option>
<option value="3">体验券</option>
+ <option value="4">抵扣券</option>
</#SelectCon>
</div>
<div class="col-sm-3">
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCouponExamine/TCouponExamineList.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCouponExamine/TCouponExamineList.html
index 30b1e6d..64ddf85 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCouponExamine/TCouponExamineList.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCouponExamine/TCouponExamineList.html
@@ -18,6 +18,8 @@
<option value="1">满减券</option>
<option value="2">折扣券</option>
<option value="3">体验券</option>
+ <option value="4">抵扣券</option>
+
</#SelectCon>
</div>
<div class="col-sm-3">
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tCouponExamine/TCouponExamine.js b/cloud-server-management/src/main/webapp/static/modular/system/tCouponExamine/TCouponExamine.js
index 8210af7..902f880 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/tCouponExamine/TCouponExamine.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/tCouponExamine/TCouponExamine.js
@@ -24,7 +24,7 @@
},
{title: '优惠券类型', field: 'type', visible: true, align: 'center', valign: 'middle',
formatter: function (value, row, index) {
- return {1: "满减券", 2: "代金券", 3: "体验券"}[value]
+ return {1: "满减券", 2: "代金券", 3: "体验券",4:"抵扣券"}[value]
}},
{title: '发放方式', field: 'distributionMethod', visible: true, align: 'center', valign: 'middle',
formatter: function (value, row, index) {
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/vip/TCoupon.js b/cloud-server-management/src/main/webapp/static/modular/system/vip/TCoupon.js
index 12aff73..0622352 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/vip/TCoupon.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/vip/TCoupon.js
@@ -23,7 +23,7 @@
},
{title: '优惠券类型', field: 'type', visible: true, align: 'center', valign: 'middle',
formatter: function (value, row, index) {
- return {1: "满减券", 2: "代金券", 3: "体验券"}[value]
+ return {1: "满减券", 2: "代金券", 3: "体验券",4:"抵扣券"}[value]
}},
{title: '发放方式', field: 'distributionMethod', visible: true, align: 'center', valign: 'middle',
formatter: function (value, row, index) {
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/vip/vip.js b/cloud-server-management/src/main/webapp/static/modular/system/vip/vip.js
index 42ee1b4..159b115 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/vip/vip.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/vip/vip.js
@@ -75,37 +75,7 @@
ajax.start();
}
};
-/**
- * 下架
- */
-Vip.offShelf = function () {
- if (this.check()){
- var selected = $('#' + this.id).bootstrapTable('getSelections');
- const data1 = {
- siteIds:[],
- type:null
- };
- selected.forEach(function(obj) {
- var id = obj.id;
- data1.siteIds.push(id);
- });
- data1.type = 2;
- $.ajax({
- url: Feng.ctxPath + "/tSite/changeState",
- type: "POST",
- contentType: "application/json", // 设置请求头的 Content-Type
- data: JSON.stringify(data1), // 将数据转换为 JSON 字符串
- success: function(response) {
- Feng.success("下架成功!");
- Vip.search();
- },
- error: function(xhr, status, error) {
- var errorMessage = xhr.responseText ? xhr.responseText : "下架失败!";
- Feng.error("您的网络异常!");
- }
- });
- }
-};
+
/**
* 跳转添加场地页面
*/
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/vipPayment/vipPayment.js b/cloud-server-management/src/main/webapp/static/modular/system/vipPayment/vipPayment.js
index 93419c2..d2de627 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/vipPayment/vipPayment.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/vipPayment/vipPayment.js
@@ -36,7 +36,7 @@
var id = row.id;
// 已退费不展示按钮
if (temp==0){
- var str = '<button class="btn btn-outline btn-primary" onclick="TCompetition.refund(\'' + id + '\')" >'+row.id+'</button>'
+ var str = '<button class="btn btn-outline btn-primary" onclick="TCompetition.refund(\'' + id + '\')" >'+'会员退费'+'</button>'
btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="" onfocus="TUser.tooltip()">' + str + '</p>']
return btn;
}else{
@@ -69,9 +69,9 @@
' <div class="form-group">\n' +
'<label class="col-sm-3 control-label">*会员到期时间:</label>'+
'<div class="col-sm-9">'+
- '<input style="width: 300px" class="form-control" id="vipEndTime" name="vipEndTime" type="date">'|
+ '<input style="width: 300px" class="form-control" id="vipEndTime" name="vipEndTime" type="date">'+
'</div>'+
- ' <div class="form-group refusal" style="display: none;">\n' +
+ ' <div class="form-group refusal" >\n' +
' <label class="col-sm-3 control-label">备注:</label>\n' +
' <div class="col-sm-9">\n' +
' <textarea id="refusal" class="form-control" style="width: 100%;height: 200px"></textarea>'+
@@ -110,9 +110,7 @@
}
});
this.layerIndex = index;
- $("#status1").change(function () {
- this.value == 3 ? $(".refusal").show() : $(".refusal").hide();
- });
+
};
--
Gitblit v1.7.1