From 525e21bf383c9cb4bfe18c72ebcb4fd6ef74db7c Mon Sep 17 00:00:00 2001
From: lisy <linlangsur163@163.com>
Date: 星期三, 09 八月 2023 12:01:36 +0800
Subject: [PATCH] app端口:积分兑换商品的支付流程
---
cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java | 1
cloud-server-activity/src/main/java/com/dsh/activity/controller/UserCouponController.java | 2
cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java | 128 ++++--------------------------------------
cloud-server-account/src/main/java/com/dsh/account/feignclient/course/model/TCoursePackagePayment.java | 2
cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java | 1
cloud-server-activity/src/main/java/com/dsh/activity/entity/UserPointsMerchandise.java | 5 +
cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/MerChandiseClient.java | 5 +
cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java | 24 +++++++
cloud-server-activity/src/main/java/com/dsh/activity/entity/PointsMerchandise.java | 5 +
cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/model/UserPointsMerchandise.java | 5 +
10 files changed, 58 insertions(+), 120 deletions(-)
diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/MerChandiseClient.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/MerChandiseClient.java
index 89f7713..630f55c 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/MerChandiseClient.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/MerChandiseClient.java
@@ -53,4 +53,9 @@
@PostMapping("/base/pointMerchars/queryUserHasGoodsNums")
int queryUserHasGoodsNums(@RequestBody AppUserGoodResp goodResp);
+
+
+ @PostMapping("/base/pointMerchars/deletePaymentRecord")
+ void deletePaymentRecord(@RequestBody String code);
+
}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/model/UserPointsMerchandise.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/model/UserPointsMerchandise.java
index 1478c3d..e347deb 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/model/UserPointsMerchandise.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/model/UserPointsMerchandise.java
@@ -69,7 +69,10 @@
* 可使用的门店id
*/
private Integer storeId;
-
+ /**
+ * 1=正常 2= 删除
+ */
+ private Integer state;
}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/model/TCoursePackagePayment.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/model/TCoursePackagePayment.java
index 6e4a13d..2d20dac 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/model/TCoursePackagePayment.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/model/TCoursePackagePayment.java
@@ -37,7 +37,7 @@
*/
private BigDecimal cashPayment;
/**
- * 玩湃币价格
+ * 玩湃币价格/积分
*/
private Integer playPaiCoin;
/**
diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
index 98b8e2f..a76a64c 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
@@ -42,6 +42,7 @@
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils;
import org.springframework.web.multipart.MultipartFile;
@@ -854,6 +855,7 @@
}
@Override
+ @Transactional
public ResultUtil productRedemptionOperation(Integer userIdFormRedis, GoodsExchangeVo exchangeType) {
System.out.println("exchangeType:--->");
System.out.println(exchangeType);
@@ -888,6 +890,7 @@
pointsMerchandise.setPointsMerchandiseId(exchangeType.getGoodId());
pointsMerchandise.setUserId(userIdFormRedis);
pointsMerchandise.setStatus(1);
+ pointsMerchandise.setState(1);
if (merchandise.getUseScope() == 3){
if (exchangeType.getGoodsType() == 2){
CoursePackage coursePackage = cpageClient.queryCoursePackageById(merchandise.getCoursePackageId());
@@ -935,7 +938,6 @@
packagePayment.setPayUserId(userIdFormRedis);
packagePayment.setStatus(1);
packagePayment.setState(1);
- packagePayment.setInsertTime(new Date());
packagePayment.setCode(code);
paymentClient.savePaymentCoursePackage(packagePayment);
}
@@ -946,7 +948,6 @@
coupon.setCouponId(exchangeType.getGoodId());
coupon.setUserId(userIdFormRedis);
coupon.setStatus(1);
- coupon.setInsertTime(new Date());
ucponClient.insertToAppuserCoupon(coupon);
}
break;
@@ -960,59 +961,6 @@
case 2:
// 积分+现金
boolean dealt = dealAppUserIntegral(userIdFormRedis,tAppUser,merchandise.getIntegral());
- if (dealt){
- switch (exchangeType.getGoodsType()){
-// 1实物 2课包 3门票 4优惠券
- case 2:
- Integer stuNums = 0;
- if (ToolUtil.isNotEmpty(exchangeType.getStuIds())){
- stuNums = exchangeType.getStuIds().size();
- }else {
- stuNums = 1;
- }
- for (int i = 0; i < stuNums; i++) {
- List<CoursePackagePaymentConfig> courseConfigList = cpconClient.getCourseConfigList(merchandise.getCoursePackageId());
- TCoursePackagePayment packagePayment = new TCoursePackagePayment();
- packagePayment.setAppUserId(userIdFormRedis);
- packagePayment.setStudentId(exchangeType.getStuIds().get(i));
- packagePayment.setCoursePackageId(merchandise.getCoursePackageId());
- for (CoursePackagePaymentConfig coursePackagePaymentConfig : courseConfigList) {
- if (Objects.equals(coursePackagePaymentConfig.getId(), merchandise.getCoursePackageConfigId())) {
- packagePayment.setClassHours(coursePackagePaymentConfig.getClassHours());
- packagePayment.setTotalClassHours(coursePackagePaymentConfig.getClassHours());
- packagePayment.setLaveClassHours(coursePackagePaymentConfig.getClassHours());
- packagePayment.setOriginalPrice(coursePackagePaymentConfig.getCashPayment());
- break;
- }
- }
- packagePayment.setPlayPaiCoin(merchandise.getIntegral());
- packagePayment.setAbsencesNumber(0);
- packagePayment.setPayUserType(1);
- packagePayment.setPayStatus(1);
- packagePayment.setPayUserId(userIdFormRedis);
- packagePayment.setStatus(1);
- packagePayment.setState(1);
- packagePayment.setInsertTime(new Date());
- packagePayment.setCode(code);
- paymentClient.savePaymentCoursePackage(packagePayment);
- }
- break;
- case 4:
- for (int i = 0; i < goodsNums; i++) {
- UserCoupon coupon = new UserCoupon();
- coupon.setCouponId(exchangeType.getGoodId());
- coupon.setUserId(userIdFormRedis);
- coupon.setStatus(1);
- coupon.setInsertTime(new Date());
- ucponClient.insertToAppuserCoupon(coupon);
- }
- break;
- default:
- break;
- }
- }else {
- return ResultUtil.error("用户积分不足!");
- }
switch (exchangeType.getPayType()) {
case 1:
try {
@@ -1035,55 +983,6 @@
}
break;
case 3:
-// 现金
- switch (exchangeType.getGoodsType()){
- case 2:
- Integer stuNums = 0;
- if (ToolUtil.isNotEmpty(exchangeType.getStuIds())){
- stuNums = exchangeType.getStuIds().size();
- }else {
- stuNums = 1;
- }
- for (int i = 0; i < stuNums; i++) {
- List<CoursePackagePaymentConfig> courseConfigList = cpconClient.getCourseConfigList(merchandise.getCoursePackageId());
- TCoursePackagePayment packagePayment = new TCoursePackagePayment();
- packagePayment.setAppUserId(userIdFormRedis);
- packagePayment.setStudentId(exchangeType.getStuIds().get(i));
- packagePayment.setCoursePackageId(merchandise.getCoursePackageId());
- for (CoursePackagePaymentConfig coursePackagePaymentConfig : courseConfigList) {
- if (Objects.equals(coursePackagePaymentConfig.getId(), merchandise.getCoursePackageConfigId())) {
- packagePayment.setClassHours(coursePackagePaymentConfig.getClassHours());
- packagePayment.setTotalClassHours(coursePackagePaymentConfig.getClassHours());
- packagePayment.setLaveClassHours(coursePackagePaymentConfig.getClassHours());
- packagePayment.setOriginalPrice(coursePackagePaymentConfig.getCashPayment());
- break;
- }
- }
- packagePayment.setCashPayment(merchandise.getCash());
- packagePayment.setAbsencesNumber(0);
- packagePayment.setPayUserType(1);
- packagePayment.setPayStatus(1);
- packagePayment.setPayUserId(userIdFormRedis);
- packagePayment.setStatus(1);
- packagePayment.setState(1);
- packagePayment.setInsertTime(new Date());
- packagePayment.setCode(code);
- paymentClient.savePaymentCoursePackage(packagePayment);
- }
- break;
- case 4:
- for (int i = 0; i < goodsNums; i++) {
- UserCoupon coupon = new UserCoupon();
- coupon.setCouponId(exchangeType.getGoodId());
- coupon.setUserId(userIdFormRedis);
- coupon.setStatus(1);
- coupon.setInsertTime(new Date());
- ucponClient.insertToAppuserCoupon(coupon);
- }
- break;
- default:
- break;
- }
switch (exchangeType.getPayType()) {
case 1:
try {
@@ -1163,11 +1062,10 @@
Map<String, String> data1 = resultUtil.getData();
String s = data1.get("tradeStatus");
String tradeNo = data1.get("tradeNo");
-// if("TRADE_CLOSED".equals(s) || "TRADE_FINISHED".equals(s) || num == 10){
-// coursePackagePayment.setState(3);
-// couPayClient.delPaymentCoursePackage(coursePackagePayment.getId());
-// break;
-// }
+ if("REFUND".equals(s) || "NOTPAY".equals(s) || "CLOSED".equals(s) || "REVOKED".equals(s) || "PAYERROR".equals(s) || num == 10){
+ mcClient.deletePaymentRecord(code);
+ break;
+ }
if("TRADE_SUCCESS".equals(s)){
for (UserPointsMerchandise userPointsMerchandise : userPointsMerchandises) {
userPointsMerchandise.setPayStatus(2);
@@ -1183,6 +1081,7 @@
}
}
}catch (Exception e){
+ mcClient.deletePaymentRecord(code);
e.printStackTrace();
}
}
@@ -1223,11 +1122,10 @@
Map<String, String> data1 = resultUtil.getData();
String s = data1.get("trade_state");
String transaction_id = data1.get("transaction_id");
-// if("REFUND".equals(s) || "NOTPAY".equals(s) || "CLOSED".equals(s) || "REVOKED".equals(s) || "PAYERROR".equals(s) || num == 10){
-// coursePackagePayment.setState(3);
-// couPayClient.delPaymentCoursePackage(coursePackagePayment.getId());
-// break;
-// }
+ if("REFUND".equals(s) || "NOTPAY".equals(s) || "CLOSED".equals(s) || "REVOKED".equals(s) || "PAYERROR".equals(s) || num == 10){
+ mcClient.deletePaymentRecord(code);
+ break;
+ }
if("SUCCESS".equals(s)){
for (UserPointsMerchandise userPointsMerchandise : userPointsMerchandises) {
userPointsMerchandise.setPayStatus(2);
@@ -1279,7 +1177,6 @@
coupon.setCouponId(userPointsMerchandises.get(0).getPointsMerchandiseId());
coupon.setUserId(userPointsMerchandises.get(0).getUserId());
coupon.setStatus(1);
- coupon.setInsertTime(new Date());
ucponClient.insertToAppuserCoupon(coupon);
break;
default:
@@ -1310,7 +1207,6 @@
coupon.setCouponId(userPointsMerchandises.get(0).getPointsMerchandiseId());
coupon.setUserId(userPointsMerchandises.get(0).getUserId());
coupon.setStatus(1);
- coupon.setInsertTime(new Date());
ucponClient.insertToAppuserCoupon(coupon);
break;
default:
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 55f41f0..e83e1c8 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
@@ -207,6 +207,7 @@
@PostMapping("/base/coupon/insertToAppuserCoupon")
public void insertToAppuserCoupon(@RequestBody UserCoupon coupon){
+ coupon.setInsertTime(new Date());
ucService.save(coupon);
}
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java b/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
index 0c446a5..24697ee 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
@@ -75,6 +75,7 @@
List<IntegralCommodity> commodity = new ArrayList<>();
List<PointsMerchandise> merchandises = pmdsService.list(new QueryWrapper<PointsMerchandise>()
.eq("state",1)
+ .eq("shelves",1)
.gt("endTime",new Date()));
if (merchandises.size() > 0){
for (PointsMerchandise merchandise : merchandises) {
@@ -111,7 +112,8 @@
}
list = pmdsService.list(new QueryWrapper<PointsMerchandise>()
- .eq("state", 1));
+ .eq("state", 1)
+ .eq("shelves",1));
if (list.size() > 0 ){
Iterator<PointsMerchandise> iterator = list.iterator();
while (iterator.hasNext()) {
@@ -505,4 +507,24 @@
return count;
}
+
+ /**
+ * 变更兑换商品的的状态
+ * @param code
+ * @return 数量
+ */
+ @ResponseBody
+ @PostMapping("/base/pointMerchars/deletePaymentRecord")
+ public void deletePaymentRecord(@RequestBody String code){
+ List<UserPointsMerchandise> list = upmseService.list(new LambdaQueryWrapper<UserPointsMerchandise>()
+ .eq(UserPointsMerchandise::getCode,code));
+ if (list.size() > 0 ){
+ for (UserPointsMerchandise pointsMerchandise : list) {
+ pointsMerchandise.setState(2);
+ upmseService.updateById(pointsMerchandise);
+ }
+ }
+
+ }
+
}
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/controller/UserCouponController.java b/cloud-server-activity/src/main/java/com/dsh/activity/controller/UserCouponController.java
index 20c0fd9..b1d407f 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/controller/UserCouponController.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/controller/UserCouponController.java
@@ -184,7 +184,7 @@
-
+ @ResponseBody
@PostMapping("/userCoupon/queryCouponOfStore")
public List<Integer> getCouponStoreIds(@RequestBody Integer couponId){
try {
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/entity/PointsMerchandise.java b/cloud-server-activity/src/main/java/com/dsh/activity/entity/PointsMerchandise.java
index 382829b..2afd765 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/entity/PointsMerchandise.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/entity/PointsMerchandise.java
@@ -154,6 +154,11 @@
*/
@TableField("coursePackageConfigId")
private Integer coursePackageConfigId;
+ /**
+ * 1=上架 2=下架
+ */
+ @TableField("shelves")
+ private Integer shelves;
@Override
protected Serializable pkVal() {
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/entity/UserPointsMerchandise.java b/cloud-server-activity/src/main/java/com/dsh/activity/entity/UserPointsMerchandise.java
index e669475..1399bb6 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/entity/UserPointsMerchandise.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/entity/UserPointsMerchandise.java
@@ -93,6 +93,11 @@
*/
@TableField("storeId")
private Integer storeId;
+ /**
+ * 1=正常 2=删除
+ */
+ @TableField("state")
+ private Integer state;
@Override
diff --git a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
index 498e942..dc6c581 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
@@ -791,6 +791,7 @@
@PostMapping("/base/coursePack/savePaymentCoursePackage")
public boolean savePaymentCoursePackage(@RequestBody TCoursePackagePayment packagePayment){
+ packagePayment.setInsertTime(new Date());
return packagePaymentService.save(packagePayment);
}
--
Gitblit v1.7.1