From a1d8bead115c7749571dacbdea01f4b2c6caf4d0 Mon Sep 17 00:00:00 2001
From: lisy <linlangsur163@163.com>
Date: 星期五, 14 七月 2023 18:09:57 +0800
Subject: [PATCH] 积分商城的兑换支付功能开发
---
cloud-server-account/src/main/java/com/dsh/account/controller/UseBenefitsController.java | 2
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 | 8 +
cloud-server-activity/src/main/java/com/dsh/activity/entity/UserPointsMerchandise.java | 6
cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java | 7
cloud-server-account/src/main/java/com/dsh/account/feignclient/course/model/CoursePackagePaymentConfig.java | 31 +++++
cloud-server-activity/src/main/java/com/dsh/activity/entity/PointsMerchandise.java | 6
cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/model/PointsMerchandise.java | 4
cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CoursePackageConfigClient.java | 18 +++
cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CoursePaymentClient.java | 4
cloud-server-course/src/main/java/com/dsh/course/feignclient/CoursePaymentClient.java | 4
cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java | 212 +++++++++++++++++++++++++++++++----
cloud-server-activity/src/main/java/com/dsh/activity/feignclient/course/model/CoursePackage.java | 2
cloud-server-account/src/main/java/com/dsh/account/controller/PaymentCallbackController.java | 4
cloud-server-account/src/main/java/com/dsh/account/service/TAppUserService.java | 2
cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/model/UserPointsMerchandise.java | 38 +-----
16 files changed, 282 insertions(+), 68 deletions(-)
diff --git a/cloud-server-account/src/main/java/com/dsh/account/controller/PaymentCallbackController.java b/cloud-server-account/src/main/java/com/dsh/account/controller/PaymentCallbackController.java
index f38af27..b853f8e 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/controller/PaymentCallbackController.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/controller/PaymentCallbackController.java
@@ -141,7 +141,7 @@
* @param response
*/
@ResponseBody
- @PostMapping("/base/appUser/addVipPaymentWeChatCallback")
+ @PostMapping("/base/pointMer/exchangeGoodPaymentWeChatCallback")
public void addVipPaymentWeChatCallback(HttpServletRequest request, HttpServletResponse response){
try {
Map<String, String> map = payMoneyUtil.weixinpayCallback(request);
@@ -169,7 +169,7 @@
* @param response
*/
@ResponseBody
- @PostMapping("/base/appUser/addVipPaymentAliCallback")
+ @PostMapping("/base/pointMer/exchangeGoodPaymentAliCallback")
public void addVipPaymentAliCallback(HttpServletRequest request, HttpServletResponse response){
try {
Map<String, String> map = payMoneyUtil.alipayCallback(request);
diff --git a/cloud-server-account/src/main/java/com/dsh/account/controller/UseBenefitsController.java b/cloud-server-account/src/main/java/com/dsh/account/controller/UseBenefitsController.java
index 76219ff..84475b4 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/controller/UseBenefitsController.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/controller/UseBenefitsController.java
@@ -365,7 +365,7 @@
if(null == userIdFormRedis){
return ResultUtil.tokenErr();
}
- return tauService.productRedemptionOperation(userIdFormRedis,goodId,goodsType,nums,exchangeType,payType);
+ return tauService.productRedemptionOperation(userIdFormRedis,goodId,goodsType,nums,exchangeType,payType,stuIds);
}catch (Exception e){
return ResultUtil.runErr();
}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/model/PointsMerchandise.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/model/PointsMerchandise.java
index d915b1a..4abbdcc 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/model/PointsMerchandise.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/model/PointsMerchandise.java
@@ -104,5 +104,9 @@
* 添加时间
*/
private Date insertTime;
+ /**
+ * 课包支付配置id
+ */
+ private Integer coursePackageConfigId;
}
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 4f9b6d5..dd04bbe 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
@@ -1,15 +1,7 @@
package com.dsh.account.feignclient.activity.model;
-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 com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-import java.io.Serializable;
import java.util.Date;
/**
@@ -21,73 +13,57 @@
* @since 2023-06-29
*/
@Data
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@TableName("t_user_points_merchandise")
-public class UserPointsMerchandise extends Model<UserPointsMerchandise> {
+public class UserPointsMerchandise{
private static final long serialVersionUID = 1L;
/**
* 主键
*/
- @TableId(value = "id", type = IdType.INPUT)
private Long id;
/**
* 优惠券id
*/
- @TableField("pointsMerchandiseId")
private Integer pointsMerchandiseId;
/**
* 用户id
*/
- @TableField("userId")
private Integer userId;
/**
* 核销人员id
*/
- @TableField("verificationUserId")
private Integer verificationUserId;
/**
* 核销门店id
*/
- @TableField("verifiStoreId")
private Integer verifiStoreId;
/**
* 核销时间
*/
- @TableField("verificationTime")
private Date verificationTime;
/**
* 状态(1=待核销,2=已核销)
*/
- @TableField("status")
private Integer status;
/**
* 领取时间
*/
- @TableField("insertTime")
private Date insertTime;
/**
* 现金支付方式(1=微信2支付宝)
*/
- @TableField("payType")
private Integer payType;
/**
- * code
+ * 现金支付的交易凭证
*/
- @TableField("code")
private String code;
/**
- * orderNumber
+ * 现金支付的交易订单号
*/
- @TableField("orderNumber")
private String orderNumber;
-
-
- @Override
- protected Serializable pkVal() {
- return this.id;
- }
+ /**
+ * 现金的支付状态(1=待支付 2=已支付)
+ */
+ private Integer payStatus;
}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CoursePackageConfigClient.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CoursePackageConfigClient.java
new file mode 100644
index 0000000..965909f
--- /dev/null
+++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CoursePackageConfigClient.java
@@ -0,0 +1,18 @@
+package com.dsh.account.feignclient.course;
+
+
+import com.dsh.account.feignclient.course.model.CoursePackagePaymentConfig;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.util.List;
+
+
+@FeignClient(value = "mb-cloud-course")
+public interface CoursePackageConfigClient {
+
+ @PostMapping("/base/coursePack/getCoursePackageConfig")
+ List<CoursePackagePaymentConfig> getCourseConfigList(@RequestBody Integer coursePackageId);
+
+}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CoursePaymentClient.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CoursePaymentClient.java
index f960001..cc350a7 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CoursePaymentClient.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CoursePaymentClient.java
@@ -55,4 +55,8 @@
@PostMapping("/base/coursePack/obtainStudentClassDetails")
List<RecordAppoint> obtainStudentClassDetailsData(@RequestBody Integer stuId);
+
+ @PostMapping("/base/coursePack/getCoursePackagePaymentOfCode")
+ List<TCoursePackagePayment> getCoursePackagePaymentOfCode(@RequestBody String code);
+
}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/model/CoursePackagePaymentConfig.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/model/CoursePackagePaymentConfig.java
new file mode 100644
index 0000000..63d0045
--- /dev/null
+++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/course/model/CoursePackagePaymentConfig.java
@@ -0,0 +1,31 @@
+package com.dsh.account.feignclient.course.model;
+
+import lombok.Data;
+
+/**
+ * @author zhibing.pu
+ * @date 2023/6/29 10:42
+ */
+@Data
+public class CoursePackagePaymentConfig {
+ /**
+ * 主键
+ */
+ private Integer id;
+ /**
+ * 课包id
+ */
+ private Integer coursePackageId;
+ /**
+ * 课时数
+ */
+ private Integer classHours;
+ /**
+ * 现金支付价格
+ */
+ private Double cashPayment;
+ /**
+ * 玩湃币价格
+ */
+ private Integer playPaiCoin;
+}
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 4c867d1..6e4a13d 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
@@ -25,7 +25,7 @@
*/
private Integer coursePackageId;
/**
- * 支付方式(1=微信 2=支付宝 3=玩湃币)
+ * 支付方式(1=微信,2=支付宝,3=玩湃币,4=积分,5=积分+微信,6=积分+支付宝)
*/
private Integer payType;
/**
diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/TAppUserService.java b/cloud-server-account/src/main/java/com/dsh/account/service/TAppUserService.java
index e626a91..f269beb 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/service/TAppUserService.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/service/TAppUserService.java
@@ -128,7 +128,7 @@
StuAndStoreResponse queryAppUserDefaultStuAndStore(Integer userIdFormRedis ,Integer pointsMerId, String lat, String lon,Integer isCourse);
- ResultUtil productRedemptionOperation(Integer userIdFormRedis, Integer goodId, Integer goodsType,Integer nums,Integer exchangeType,Integer payType);
+ ResultUtil productRedemptionOperation(Integer userIdFormRedis, Integer goodId, Integer goodsType,Integer nums,Integer exchangeType,Integer payType,List<Integer> stuIds);
ResultUtil exchangeAddPaymentCallback(String code, String orderNumber,Integer payType);
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 840eb67..6f45acb 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
@@ -12,12 +12,15 @@
import com.dsh.account.feignclient.competition.DeductionCompetitionsClient;
import com.dsh.account.feignclient.competition.model.PaymentCompetition;
import com.dsh.account.feignclient.course.CoursePackageClient;
+import com.dsh.account.feignclient.course.CoursePackageConfigClient;
import com.dsh.account.feignclient.course.CoursePaymentClient;
import com.dsh.account.feignclient.course.model.*;
import com.dsh.account.feignclient.other.ImgConfigClient;
import com.dsh.account.feignclient.other.RechargeConfigClient;
import com.dsh.account.feignclient.other.StoreClient;
-import com.dsh.account.feignclient.other.model.*;
+import com.dsh.account.feignclient.other.model.Store;
+import com.dsh.account.feignclient.other.model.StoreDetailOfCourse;
+import com.dsh.account.feignclient.other.model.TImgConfig;
import com.dsh.account.mapper.*;
import com.dsh.account.model.AddAppUserVo;
import com.dsh.account.model.JoinPlayPaiVo;
@@ -112,6 +115,12 @@
@Resource
private MerChandiseStoreClient mcsClient;
+
+ @Resource
+ private CoursePackageConfigClient cpconClient;
+
+ @Autowired
+ private PayMoneyUtil payMoneyUtil;
@Override
public ClassInfoVo queryUserOfStus(Integer id,String latitude,String longitude) {
@@ -784,7 +793,7 @@
}
@Override
- public ResultUtil productRedemptionOperation(Integer userIdFormRedis, Integer goodId, Integer goodsType,Integer nums,Integer exchangeType,Integer payType) {
+ public ResultUtil productRedemptionOperation(Integer userIdFormRedis, Integer goodId, Integer goodsType,Integer nums,Integer exchangeType,Integer payType,List<Integer> stuIds) {
PointsMerchandise merchandise = mcClient.selectPointsMerchandiseById(goodId);
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
String code = sdf.format(new Date()) + UUIDUtil.getNumberRandom(5);
@@ -812,14 +821,34 @@
this.baseMapper.updateById(tAppUser);
// 现金支付
- if (exchangeType == 1){
-// 积分兑换
- switch (goodsType){
+ if (exchangeType == 2) {
+ switch (goodsType) {
case 2:
- for (int i = 0; i < nums; i++) {
+ for (int i = 0; i < stuIds.size(); i++) {
+ List<CoursePackagePaymentConfig> courseConfigList = cpconClient.getCourseConfigList(merchandise.getCoursePackageId());
+
TCoursePackagePayment packagePayment = new TCoursePackagePayment();
-// packagePayment.setAppUserId();
- // TODO: 2023/7/14
+ packagePayment.setAppUserId(userIdFormRedis);
+ packagePayment.setStudentId(stuIds.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;
@@ -836,29 +865,149 @@
default:
break;
}
- }else {
+
switch (payType){
case 1:
- return WechatPayment(merchandise.getCash(),code);
+ try {
+ if (merchandise.getType() == 2){
+ return WechatPayment(merchandise.getCash().multiply(new BigDecimal(stuIds.size())),code);
+ }else {
+ return WechatPayment(merchandise.getCash().multiply(new BigDecimal(nums)),code);
+ }
+ }catch (Exception e){
+ return ResultUtil.runErr();
+ }
case 2:
- return AlipayPayment(merchandise.getCash(),code);
+ if (merchandise.getType() == 2){
+ AlipayPayment(merchandise.getCash().multiply(new BigDecimal(stuIds.size())),code);
+ }else {
+ AlipayPayment(merchandise.getCash().multiply(new BigDecimal(nums)),code);
+ }
+ break;
default:
break;
}
}
- return null;
+ return ResultUtil.success();
}
private ResultUtil AlipayPayment(BigDecimal cash, String code) {
-
- return ResultUtil.success();
+ ResultUtil alipay = payMoneyUtil.alipay("课包续费", "", "", code, cash.toString(),
+ "/base/pointMer/exchangeGoodPaymentAliCallback");
+ if(alipay.getCode() == 200){
+ new Thread(new Runnable() {
+ @Override
+ public void run() {
+ try {
+ int num = 1;
+ int wait = 0;
+ while (num <= 10){
+ int min = 5000;
+ wait += (min * num);
+ Thread.sleep(wait);
+ List<UserPointsMerchandise> userPointsMerchandises = mcClient.queryUserPointMerchaseByCode(code);
+ if(userPointsMerchandises.get(0).getPayStatus() == 2){
+ break;
+ }
+ ResultUtil<Map<String, String>> resultUtil = payMoneyUtil.queryALIOrder(code);
+ if(resultUtil.getCode() == 200 && userPointsMerchandises.get(0).getPayStatus() == 1){
+ /**
+ * WAIT_BUYER_PAY(交易创建,等待买家付款)、
+ * TRADE_CLOSED(未付款交易超时关闭,或支付完成后全额退款)、
+ * TRADE_SUCCESS(交易支付成功)、
+ * TRADE_FINISHED(交易结束,不可退款)
+ */
+ 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("TRADE_SUCCESS".equals(s)){
+ for (UserPointsMerchandise userPointsMerchandise : userPointsMerchandises) {
+ userPointsMerchandise.setPayStatus(2);
+ userPointsMerchandise.setOrderNumber(tradeNo);
+ userPointsMerchandise.setPayType(2);
+ mcClient.updateDetailsUserPointMercase(userPointsMerchandise);
+ }
+ break;
+ }
+ if("WAIT_BUYER_PAY".equals(s)){
+ num++;
+ }
+ }
+ }
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ }
+ }).start();
+ }
+ return alipay;
}
- private ResultUtil WechatPayment(BigDecimal cash, String code) {
-
- return ResultUtil.success();
+ private ResultUtil WechatPayment(BigDecimal cash, String code) throws Exception {
+ ResultUtil weixinpay = payMoneyUtil.weixinpay("课包", "", code, cash.toString(),
+ "/base/pointMer/exchangeGoodPaymentWeChatCallback", "APP", "");
+ if(weixinpay.getCode() == 200){
+ new Thread(new Runnable() {
+ @Override
+ public void run() {
+ try {
+ int num = 1;
+ int wait = 0;
+ while (num <= 10){
+ int min = 5000;
+ wait += (min * num);
+ Thread.sleep(wait);
+ List<UserPointsMerchandise> userPointsMerchandises = mcClient.queryUserPointMerchaseByCode(code);
+ if(userPointsMerchandises.get(0).getPayStatus() == 2){
+ break;
+ }
+ ResultUtil<Map<String, String>> resultUtil = payMoneyUtil.queryWXOrder(code, "");
+ if(resultUtil.getCode() == 200 && userPointsMerchandises.get(0).getPayStatus() == 1){
+ /**
+ * SUCCESS—支付成功,
+ * REFUND—转入退款,
+ * NOTPAY—未支付,
+ * CLOSED—已关闭,
+ * REVOKED—已撤销(刷卡支付),
+ * USERPAYING--用户支付中,
+ * PAYERROR--支付失败(其他原因,如银行返回失败)
+ */
+ 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("SUCCESS".equals(s)){
+ for (UserPointsMerchandise userPointsMerchandise : userPointsMerchandises) {
+ userPointsMerchandise.setPayStatus(2);
+ userPointsMerchandise.setOrderNumber(transaction_id);
+ userPointsMerchandise.setPayType(1);
+ mcClient.updateDetailsUserPointMercase(userPointsMerchandise);
+ }
+ break;
+ }
+ if("USERPAYING".equals(s)){
+ num++;
+ }
+ }
+ }
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ }
+ }).start();
+ }
+ return weixinpay;
}
@Override
@@ -867,17 +1016,22 @@
if (userPointsMerchandises.size() > 1){
for (int i = 0; i < userPointsMerchandises.size(); i++) {
userPointsMerchandises.get(i).setOrderNumber(orderNumber+ "-" + (i+1));
+ userPointsMerchandises.get(i).setPayType(payType);
+ userPointsMerchandises.get(i).setPayStatus(2);
mcClient.updateDetailsUserPointMercase(userPointsMerchandises.get(i));
Integer pointsMerchandiseId = userPointsMerchandises.get(i).getPointsMerchandiseId();
PointsMerchandise pointsMerchandise = mcClient.selectPointsMerchandiseById(pointsMerchandiseId);
switch (pointsMerchandise.getType()){
case 2:
- TCoursePackagePayment packagePayment = new TCoursePackagePayment();
-
-// packagePayment.setAppUserId();
-
- paymentClient.savePaymentCoursePackage(packagePayment);
+ List<TCoursePackagePayment> coursePackagePaymentOfCode = paymentClient.getCoursePackagePaymentOfCode(code);
+ for (TCoursePackagePayment coursePackagePayment : coursePackagePaymentOfCode) {
+ coursePackagePayment.setPayStatus(2);
+ coursePackagePayment.setPayType(payType);
+ coursePackagePayment.setOrderNumber(orderNumber);
+ coursePackagePayment.setCashPayment(pointsMerchandise.getCash());
+ paymentClient.updatePaymentCoursePackage(coursePackagePayment);
+ }
break;
case 4:
UserCoupon coupon = new UserCoupon();
@@ -893,16 +1047,22 @@
}
}else {
userPointsMerchandises.get(0).setOrderNumber(orderNumber);
+ userPointsMerchandises.get(0).setPayType(payType);
+ userPointsMerchandises.get(0).setPayStatus(2);
mcClient.updateDetailsUserPointMercase(userPointsMerchandises.get(0));
+
Integer pointsMerchandiseId = userPointsMerchandises.get(0).getPointsMerchandiseId();
PointsMerchandise pointsMerchandise = mcClient.selectPointsMerchandiseById(pointsMerchandiseId);
switch (pointsMerchandise.getType()){
case 2:
- TCoursePackagePayment packagePayment = new TCoursePackagePayment();
+ List<TCoursePackagePayment> coursePackagePaymentOfCode = paymentClient.getCoursePackagePaymentOfCode(code);
-// packagePayment.setAppUserId();
-
- paymentClient.savePaymentCoursePackage(packagePayment);
+ TCoursePackagePayment packagePayment =coursePackagePaymentOfCode.get(0);
+ packagePayment.setPayStatus(2);
+ packagePayment.setPayType(payType);
+ packagePayment.setOrderNumber(orderNumber);
+ packagePayment.setCashPayment(pointsMerchandise.getCash());
+ paymentClient.updatePaymentCoursePackage(packagePayment);
break;
case 4:
UserCoupon coupon = new UserCoupon();
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 898ee0c..6937401 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
@@ -171,12 +171,13 @@
detailsVo.setBelongs(courseOfStore.getStoreName()+"可用");
}
List<CoursePackagePaymentConfig> courseConfigList = cpcfigClient.getCourseConfigList(coursePackage.getId());
- int redul = 0;
for (CoursePackagePaymentConfig coursePackagePaymentConfig : courseConfigList) {
- redul = redul + coursePackagePaymentConfig.getClassHours();
+ if (Objects.equals(coursePackagePaymentConfig.getId(), merchandise.getCoursePackageConfigId())){
+ detailsVo.setCourseHours(coursePackagePaymentConfig.getClassHours());
+ break;
+ }
}
- detailsVo.setCourseHours(redul);
detailsVo.setStartTime(format.format(merchandise.getStartTime()));
detailsVo.setEndTime(format.format(merchandise.getEndTime()));
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 c5b362d..382829b 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
@@ -149,7 +149,11 @@
*/
@TableField("insertTime")
private Date insertTime;
-
+ /**
+ * 课包支付配置id
+ */
+ @TableField("coursePackageConfigId")
+ private Integer coursePackageConfigId;
@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 0a663d1..96a06b9 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
@@ -83,7 +83,11 @@
*/
@TableField("orderNumber")
private String orderNumber;
-
+ /**
+ * 现金的支付状态
+ */
+ @TableField("payStatus")
+ private Integer payStatus;
@Override
protected Serializable pkVal() {
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/course/model/CoursePackage.java b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/course/model/CoursePackage.java
index 1b31933..a920775 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/course/model/CoursePackage.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/course/model/CoursePackage.java
@@ -81,7 +81,7 @@
*/
private Integer sort;
/**
- * 支付方式(1=微信 2=支付宝 3=玩湃币)
+ * 支付方式(1=微信,2=支付宝,3=玩湃币,4=积分,5=积分+微信,6=积分+支付宝)
*/
private Integer payType;
/**
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 b9be5bb..34105c7 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
@@ -700,4 +700,12 @@
.eq("coursePackageId",coursePackageId));
}
+
+
+ @PostMapping("/base/coursePack/getCoursePackagePaymentOfCode")
+ public List<TCoursePackagePayment> getCoursePackagePaymentOfCode(@RequestBody String code){
+ return packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>()
+ .eq("code",code));
+ }
+
}
diff --git a/cloud-server-course/src/main/java/com/dsh/course/feignclient/CoursePaymentClient.java b/cloud-server-course/src/main/java/com/dsh/course/feignclient/CoursePaymentClient.java
index 4798270..3e180ec 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/feignclient/CoursePaymentClient.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/feignclient/CoursePaymentClient.java
@@ -61,4 +61,8 @@
@PostMapping("/base/coursePack/obtainStudentClassDetails")
List<RecordAppoint> obtainStudentClassDetailsData(@RequestBody Integer stuId);
+
+ @PostMapping("/base/coursePack/getCoursePackagePaymentOfCode")
+ List<TCoursePackagePayment> getCoursePackagePaymentOfCode(@RequestBody String code);
+
}
--
Gitblit v1.7.1