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