From 7865a1010be2f95faab151d99ecdb095f44c2a08 Mon Sep 17 00:00:00 2001 From: lisy <linlangsur163@163.com> Date: 星期五, 14 七月 2023 16:30:34 +0800 Subject: [PATCH] 修复了积分商城详情页面的门店列表查询;兑换支付todo --- cloud-server-account/src/main/java/com/dsh/account/controller/UseBenefitsController.java | 76 +++++ cloud-server-activity/src/main/java/com/dsh/activity/feignclient/MerChandiseClient.java | 14 cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java | 10 cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java | 4 cloud-server-activity/src/main/java/com/dsh/activity/entity/UserPointsMerchandise.java | 15 + cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java | 48 +++ cloud-server-activity/src/main/java/com/dsh/activity/feignclient/model/ProductDetailsVo.java | 7 cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/StoreResponse.java | 15 + cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/model/PointsMerchandise.java | 2 cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/MerChandiseStoreClient.java | 17 + cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/StuAndStoreResponse.java | 28 + cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/model/UserCoupon.java | 49 +++ cloud-server-activity/src/main/java/com/dsh/activity/controller/UserCouponController.java | 30 + cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java | 228 ++++++++++++++ cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/MerChandiseClient.java | 20 + cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/UserConponClient.java | 6 cloud-server-activity/src/main/java/com/dsh/activity/feignclient/MerChandiseStoreClient.java | 17 + cloud-server-activity/src/main/java/com/dsh/activity/util/UUIDUtil.java | 101 ++++++ cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/ProductDetailsVo.java | 8 cloud-server-account/src/main/java/com/dsh/account/controller/PaymentCallbackController.java | 60 ++++ cloud-server-account/src/main/java/com/dsh/account/service/TAppUserService.java | 7 cloud-server-activity/src/main/java/com/dsh/activity/feignclient/UserConponClient.java | 8 cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/model/UserPointsMerchandise.java | 93 ++++++ 23 files changed, 837 insertions(+), 26 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 84d79ba..f38af27 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 @@ -2,12 +2,14 @@ import com.dsh.account.service.RechargeRecordsService; +import com.dsh.account.service.TAppUserService; import com.dsh.account.service.TStudentService; import com.dsh.account.util.PayMoneyUtil; import com.dsh.account.util.ResultUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; @@ -32,6 +34,9 @@ private TStudentService tstuService; @Autowired private RechargeRecordsService recordsService; + + @Autowired + private TAppUserService tappService; /** * 课包续课支付宝支付回调接口 @@ -129,4 +134,59 @@ } } + + /** + * 兑换商品支付的微信回调 + * @param request + * @param response + */ + @ResponseBody + @PostMapping("/base/appUser/addVipPaymentWeChatCallback") + public void addVipPaymentWeChatCallback(HttpServletRequest request, HttpServletResponse response){ + try { + Map<String, String> map = payMoneyUtil.weixinpayCallback(request); + if(null != map){ + String out_trade_no = map.get("out_trade_no"); + String transaction_id = map.get("transaction_id"); + String result = map.get("result"); + ResultUtil resultUtil = tappService.exchangeAddPaymentCallback(out_trade_no, transaction_id,1); + if(resultUtil.getCode() == 200){ + PrintWriter out = response.getWriter(); + out.write(result); + out.flush(); + out.close(); + } + } + }catch (Exception e){ + e.printStackTrace(); + } + } + + + /** + * 兑换商品支付的支付宝回调 + * @param request + * @param response + */ + @ResponseBody + @PostMapping("/base/appUser/addVipPaymentAliCallback") + public void addVipPaymentAliCallback(HttpServletRequest request, HttpServletResponse response){ + try { + Map<String, String> map = payMoneyUtil.alipayCallback(request); + if(null != map){ + String out_trade_no = map.get("out_trade_no"); + String trade_no = map.get("trade_no"); + ResultUtil resultUtil = tappService.exchangeAddPaymentCallback(out_trade_no, trade_no,2); + if(resultUtil.getCode() == 200){ + PrintWriter out = response.getWriter(); + out.write("success"); + out.flush(); + out.close(); + } + } + }catch (Exception e){ + e.printStackTrace(); + } + } + } 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 cc1e617..76219ff 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 @@ -296,6 +296,82 @@ } + + /** + * 实体、门票、优惠券为默认门店|课包为默认学员 + */ + @ResponseBody + @PostMapping("/api/useBenefit/goodsOfCourseStore") + @ApiOperation(value = "积分商城-实体、门票、优惠券为默认门店|课包为默认学员", tags = {"APP-使用福利"}) + @ApiImplicitParams({ + @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), + @ApiImplicitParam(value = "纬度", name = "lat", required = false, dataType = "String"), + @ApiImplicitParam(value = "经度", name = "lon", required = false, dataType = "String"), + @ApiImplicitParam(value = "是否为课包商品(1=是 2=否)", name = "isCourse", required = true, dataType = "int"), + @ApiImplicitParam(value = "商品id", name = "pointsMerId", required = true, dataType = "int"), + }) + public ResultUtil<StuAndStoreResponse> goodsOfCourseStore(String lat, String lon,Integer isCourse,Integer pointsMerId){ + try { + Integer userIdFormRedis = tokenUtil.getUserIdFormRedis(); + if(null == userIdFormRedis){ + return ResultUtil.tokenErr(); + } + return ResultUtil.success(tauService.queryAppUserDefaultStuAndStore(userIdFormRedis,pointsMerId,lat,lon,isCourse)); + }catch (Exception e){ + return ResultUtil.runErr(); + } + } + + + /** + * 兑换详情(实体、门票、优惠券)中的门店列表 + */ + @ResponseBody + @PostMapping("/api/useBenefit/exchangeStoreIds") + @ApiOperation(value = "积分商城-兑换详情(实体、门票、优惠券)中的门店列表", tags = {"APP-使用福利"}) + @ApiImplicitParams({ + @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), + @ApiImplicitParam(value = "商品类型 1实物 2课包 3门票 4优惠券", name = "lat", required = true, dataType = "String"), + @ApiImplicitParam(value = "商品id", name = "pointsMerId", required = true, dataType = "int"), + }) + public ResultUtil<List<StoreResponse>> getExchangeStoreIds( Integer goodsType,Integer pointsMerId){ + try { + return ResultUtil.success(tauService.queryStoresOfExchange(goodsType,pointsMerId)); + }catch (Exception e){ + return ResultUtil.runErr(); + } + } + + + + /** + * 商品兑换 + */ + @ResponseBody + @PostMapping("/api/useBenefit/productRedemptionOperation") + @ApiOperation(value = "积分商城-商品兑换", tags = {"APP-使用福利"}) + @ApiImplicitParams({ + @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), + @ApiImplicitParam(value = "商品id", name = "goodId", required = true, dataType = "int"), + @ApiImplicitParam(value = "商品类型 1实物 2课包 3门票 4优惠券", name = "goodsType", required = true, dataType = "int"), + @ApiImplicitParam(value = "兑换数量", name = "nums", required = false, dataType = "int"), + @ApiImplicitParam(value = "兑换方式(1=积分,2=积分+现金)", name = "exchangeType", required = true, dataType = "int"), + @ApiImplicitParam(value = "现金支付方式(1=微信 2=支付宝)", name = "payType", required = false, dataType = "int"), + @ApiImplicitParam(value = "学员id列表", name = "stuIds", required = false), + }) + public ResultUtil productRedemptionOperation(Integer goodId, Integer goodsType,Integer nums,Integer exchangeType,Integer payType,List<Integer> stuIds){ + try { + Integer userIdFormRedis = tokenUtil.getUserIdFormRedis(); + if(null == userIdFormRedis){ + return ResultUtil.tokenErr(); + } + return tauService.productRedemptionOperation(userIdFormRedis,goodId,goodsType,nums,exchangeType,payType); + }catch (Exception e){ + return ResultUtil.runErr(); + } + } + + /** * 积分明细 */ 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 ba61917..b7e381a 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 @@ -1,10 +1,7 @@ package com.dsh.account.feignclient.activity; -import com.dsh.account.feignclient.activity.model.CommodityRequest; -import com.dsh.account.feignclient.activity.model.IntegralCommodity; -import com.dsh.account.feignclient.activity.model.PointsMerchandise; -import com.dsh.account.feignclient.activity.model.ProductDetailRequest; +import com.dsh.account.feignclient.activity.model.*; import com.dsh.account.model.vo.userBenefitDetail.ExchangeDetailsResponse; import com.dsh.account.model.vo.userBenefitDetail.PointDetailsVo; import com.dsh.account.model.vo.userBenefitDetail.ProductDetailsVo; @@ -36,4 +33,19 @@ @PostMapping("/base/pointMerchars/getSpecificsOfGoods") public PointDetailsVo getSpecificsOfGoods(@RequestBody Integer speMercharsId); + + @PostMapping("/base/pointMerchars/selectPointsMerchandiseById") + public PointsMerchandise selectPointsMerchandiseById(@RequestBody Integer speMercharsId); + + + @PostMapping("/base/pointMerchars/saveDetailsUserPointMercase") + public void saveDetailsUserPointMercase(@RequestBody UserPointsMerchandise merchandise); + + + @PostMapping("/base/pointMerchars/updateDetailsUserPointMercase") + public void updateDetailsUserPointMercase(@RequestBody UserPointsMerchandise merchandise); + + + @PostMapping("/base/pointMerchars/queryUserPointMerchaseByCode") + public List<UserPointsMerchandise> queryUserPointMerchaseByCode(@RequestBody String code); } diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/MerChandiseStoreClient.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/MerChandiseStoreClient.java new file mode 100644 index 0000000..3967755 --- /dev/null +++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/MerChandiseStoreClient.java @@ -0,0 +1,17 @@ +package com.dsh.account.feignclient.activity; + + +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-activity") +public interface MerChandiseStoreClient { + + @PostMapping("/base/pointMerchars/queryStoreIdsOfMerchandise") + List<Integer> queryPointMerStoreIds(@RequestBody Integer pointMerId); + + +} diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/UserConponClient.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/UserConponClient.java index ec8eae1..9845e9c 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/UserConponClient.java +++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/UserConponClient.java @@ -1,6 +1,7 @@ package com.dsh.account.feignclient.activity; import com.dsh.account.feignclient.activity.model.CommodityRequest; +import com.dsh.account.feignclient.activity.model.UserCoupon; import com.dsh.account.model.dto.Coupon; import com.dsh.account.model.vo.sourceDetail.CouponStuAvailableVo; import org.springframework.cloud.openfeign.FeignClient; @@ -25,4 +26,9 @@ @PostMapping("/base/coupon/getRedeemedNums") public int getRedeemedQuantity(@RequestBody Integer id); + @PostMapping("/base/coupon/insertToAppuserCoupon") + public void insertToAppuserCoupon(@RequestBody UserCoupon coupon); + + @PostMapping("/userCoupon/queryCouponOfStore") + List<Integer> getCouponStoreIds(@RequestBody Integer couponId); } 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 84177d7..d915b1a 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 @@ -13,7 +13,7 @@ */ private Integer id; /** - * 类型(1=实体商品,2=课包商品,3=门票商品) + * 类型(1=实体商品,2=课包商品,3=门票商品,4=优惠券) */ private Integer type; /** diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/model/UserCoupon.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/model/UserCoupon.java new file mode 100644 index 0000000..eabc8c2 --- /dev/null +++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/model/UserCoupon.java @@ -0,0 +1,49 @@ +package com.dsh.account.feignclient.activity.model; + +import lombok.Data; + +import java.util.Date; + +/** + * <p> + * 用户优惠券领取记录 + * </p> + * + * @author jqs + * @since 2023-06-29 + */ +@Data +public class UserCoupon { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + private Long id; + /** + * 优惠券id + */ + private Integer couponId; + /** + * 用户id + */ + private Integer userId; + /** + * 状态(1=待核销,2=已核销) + */ + private Integer status; + /** + * 核销人员id + */ + private Integer verificationUserId; + /** + * 核销时间 + */ + private Date verificationTime; + /** + * 领取时间 + */ + private Date insertTime; + +} 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 new file mode 100644 index 0000000..4f9b6d5 --- /dev/null +++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/model/UserPointsMerchandise.java @@ -0,0 +1,93 @@ +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; + +/** + * <p> + * 用户积分商品领取记录 + * </p> + * + * @author jqs + * @since 2023-06-29 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("t_user_points_merchandise") +public class UserPointsMerchandise extends Model<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; + } + +} diff --git a/cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/ProductDetailsVo.java b/cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/ProductDetailsVo.java index 52e811f..fa0b756 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/ProductDetailsVo.java +++ b/cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/ProductDetailsVo.java @@ -19,7 +19,7 @@ @ApiModelProperty(value = "商品名称") private String goodName; - @ApiModelProperty(value = "适用人群") + @ApiModelProperty(value = "适用人群(1=全部用户,2=年度会员,3=已有学员用户)") private Integer belongsScope; @ApiModelProperty(value = "已兑换数量") @@ -33,6 +33,9 @@ @ApiModelProperty(value = "所需类型(积分/积分+现金)") private String requiredType; + + @ApiModelProperty(value = "兑换方式(1=积分,2=积分+现金)") + private Integer exchangeType; @ApiModelProperty(value = "价值") private BigDecimal cost; @@ -52,6 +55,9 @@ @ApiModelProperty(value = "兑换说明") private String contents; + @ApiModelProperty(value = "兑换地点类型 1=全国 2=指定城市 3指定门店") + private Integer exchangeAddrType; + @ApiModelProperty(value = "商品类型 1实物 2课包 3门票 4优惠券") private Integer goodType; diff --git a/cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/StoreResponse.java b/cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/StoreResponse.java new file mode 100644 index 0000000..ea119a2 --- /dev/null +++ b/cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/StoreResponse.java @@ -0,0 +1,15 @@ +package com.dsh.account.model.vo.userBenefitDetail; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + +@Data +public class StoreResponse { + + @ApiModelProperty(value = "门店id") + private Integer storeId; + + @ApiModelProperty(value = "门店名称") + private String storeName; +} diff --git a/cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/StuAndStoreResponse.java b/cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/StuAndStoreResponse.java new file mode 100644 index 0000000..13ee6ed --- /dev/null +++ b/cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/StuAndStoreResponse.java @@ -0,0 +1,28 @@ +package com.dsh.account.model.vo.userBenefitDetail; + + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class StuAndStoreResponse { + + @ApiModelProperty(value = "门店id") + private Integer storeId; + + @ApiModelProperty(value = "门店名称") + private String storeName; + + @ApiModelProperty(value = "学员id") + private Integer stuId; + + @ApiModelProperty(value = "学员姓名") + private String stuName; + + @ApiModelProperty(value = "学员联系方式") + private String stuPhone; + + @ApiModelProperty(value = "学员年龄") + private Integer stuAge; + +} 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 b8cf145..e626a91 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 @@ -126,4 +126,11 @@ ProductDetailsVo productDetails(Integer goodId, Integer goodsType ); + 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 exchangeAddPaymentCallback(String code, String orderNumber,Integer payType); + + List<StoreResponse> queryStoresOfExchange(Integer goodsType,Integer pointsMerId); } 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 5119fd7..840eb67 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 @@ -3,16 +3,12 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.dsh.account.entity.RechargeRecords; -import com.dsh.account.entity.TAppUser; -import com.dsh.account.entity.TStudent; -import com.dsh.account.entity.VipPayment; +import com.dsh.account.entity.*; import com.dsh.account.enums.RechargeRecordEnum; import com.dsh.account.feignclient.activity.MerChandiseClient; +import com.dsh.account.feignclient.activity.MerChandiseStoreClient; import com.dsh.account.feignclient.activity.UserConponClient; -import com.dsh.account.feignclient.activity.model.CommodityRequest; -import com.dsh.account.feignclient.activity.model.PointsMerchandise; -import com.dsh.account.feignclient.activity.model.ProductDetailRequest; +import com.dsh.account.feignclient.activity.model.*; import com.dsh.account.feignclient.competition.DeductionCompetitionsClient; import com.dsh.account.feignclient.competition.model.PaymentCompetition; import com.dsh.account.feignclient.course.CoursePackageClient; @@ -21,12 +17,8 @@ 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.Store; -import com.dsh.account.feignclient.other.model.TImgConfig; -import com.dsh.account.mapper.RechargeRecordsMapper; -import com.dsh.account.mapper.TAppUserMapper; -import com.dsh.account.mapper.TStudentMapper; -import com.dsh.account.mapper.VipPaymentMapper; +import com.dsh.account.feignclient.other.model.*; +import com.dsh.account.mapper.*; import com.dsh.account.model.AddAppUserVo; import com.dsh.account.model.JoinPlayPaiVo; import com.dsh.account.model.LoginSMSCodeVo; @@ -50,6 +42,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.io.IOException; +import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; @@ -113,6 +106,12 @@ @Resource private DeductionCompetitionsClient deducClient; + + @Resource + private UserIntegralChangesMapper uicMapper; + + @Resource + private MerChandiseStoreClient mcsClient; @Override public ClassInfoVo queryUserOfStus(Integer id,String latitude,String longitude) { @@ -748,4 +747,207 @@ return mcClient.getGoodDetailsWithId(detailsVo); } + @Override + public StuAndStoreResponse queryAppUserDefaultStuAndStore(Integer userIdFormRedis,Integer pointsMerId, String lat, String lon,Integer isCourse) { + StuAndStoreResponse response = new StuAndStoreResponse(); + if (isCourse == 1){ + List<TStudent> tStudents = tsmapper.selectList(new QueryWrapper<TStudent>() + .eq("appUserId",userIdFormRedis) + .eq("state",1) + .eq("isDefault",1)); + if (tStudents.size() > 0 ){ + response.setStuId(tStudents.get(0).getId()); + response.setStuName(tStudents.get(0).getName()); + response.setStuPhone(tStudents.get(0).getPhone()); + response.setStuAge(DateUtil.age(tStudents.get(0).getBirthday())); + } + return response; + }else { + PointsMerchandise pointsMerchandise = mcClient.selectPointsMerchandiseById(pointsMerId); + if (pointsMerchandise.getType() == 4){ + List<Integer> couponStoreIds = ucponClient.getCouponStoreIds(pointsMerId); + StoreDetailOfCourse courseOfStore = storeClient.getCourseOfStore(couponStoreIds.get(0)); + if(ToolUtil.isNotEmpty(courseOfStore)){ + response.setStoreId(couponStoreIds.get(0)); + response.setStoreName(courseOfStore.getStoreName()); + } + }else { + List<Integer> integers = mcsClient.queryPointMerStoreIds(pointsMerId); + StoreDetailOfCourse courseOfStore = storeClient.getCourseOfStore(integers.get(0)); + if(ToolUtil.isNotEmpty(courseOfStore)){ + response.setStoreId(integers.get(0)); + response.setStoreName(courseOfStore.getStoreName()); + } + } + return response; + } + } + + @Override + public ResultUtil productRedemptionOperation(Integer userIdFormRedis, Integer goodId, Integer goodsType,Integer nums,Integer exchangeType,Integer payType) { + PointsMerchandise merchandise = mcClient.selectPointsMerchandiseById(goodId); + SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); + String code = sdf.format(new Date()) + UUIDUtil.getNumberRandom(5); + for (int i = 0; i < nums; i++) { + UserPointsMerchandise pointsMerchandise = new UserPointsMerchandise(); + pointsMerchandise.setPointsMerchandiseId(goodId); + pointsMerchandise.setUserId(userIdFormRedis); + pointsMerchandise.setCode(code); + mcClient.saveDetailsUserPointMercase(pointsMerchandise); + } + +// 扣减积分 + TAppUser tAppUser = this.baseMapper.selectById(userIdFormRedis); + + +// 积分变更记录 + UserIntegralChanges userIntegralChanges = new UserIntegralChanges(); + userIntegralChanges.setAppUserId(userIdFormRedis); + userIntegralChanges.setOldIntegral(tAppUser.getIntegral()); + userIntegralChanges.setType(2); + tAppUser.setIntegral(null == tAppUser.getIntegral() ? merchandise.getIntegral() : tAppUser.getIntegral() +merchandise.getIntegral()); + userIntegralChanges.setNewIntegral(tAppUser.getIntegral()); + userIntegralChanges.setInsertTime(new Date()); + uicMapper.insert(userIntegralChanges); + + this.baseMapper.updateById(tAppUser); +// 现金支付 + if (exchangeType == 1){ +// 积分兑换 + switch (goodsType){ + case 2: + for (int i = 0; i < nums; i++) { + TCoursePackagePayment packagePayment = new TCoursePackagePayment(); +// packagePayment.setAppUserId(); + // TODO: 2023/7/14 + paymentClient.savePaymentCoursePackage(packagePayment); + } + break; + case 4: + for (int i = 0; i < nums; i++) { + UserCoupon coupon = new UserCoupon(); + coupon.setCouponId(goodId); + coupon.setUserId(userIdFormRedis); + coupon.setStatus(1); + coupon.setInsertTime(new Date()); + ucponClient.insertToAppuserCoupon(coupon); + } + break; + default: + break; + } + }else { + switch (payType){ + case 1: + return WechatPayment(merchandise.getCash(),code); + case 2: + return AlipayPayment(merchandise.getCash(),code); + default: + break; + } + } + + return null; + } + + + private ResultUtil AlipayPayment(BigDecimal cash, String code) { + + return ResultUtil.success(); + } + + private ResultUtil WechatPayment(BigDecimal cash, String code) { + + return ResultUtil.success(); + } + + @Override + public ResultUtil exchangeAddPaymentCallback(String code, String orderNumber,Integer payType) { + List<UserPointsMerchandise> userPointsMerchandises = mcClient.queryUserPointMerchaseByCode(code); + if (userPointsMerchandises.size() > 1){ + for (int i = 0; i < userPointsMerchandises.size(); i++) { + userPointsMerchandises.get(i).setOrderNumber(orderNumber+ "-" + (i+1)); + 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); + break; + case 4: + UserCoupon coupon = new UserCoupon(); + coupon.setCouponId(userPointsMerchandises.get(0).getPointsMerchandiseId()); + coupon.setUserId(userPointsMerchandises.get(0).getUserId()); + coupon.setStatus(1); + coupon.setInsertTime(new Date()); + ucponClient.insertToAppuserCoupon(coupon); + break; + default: + break; + } + } + }else { + userPointsMerchandises.get(0).setOrderNumber(orderNumber); + 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(); + +// packagePayment.setAppUserId(); + + paymentClient.savePaymentCoursePackage(packagePayment); + break; + case 4: + UserCoupon coupon = new UserCoupon(); + coupon.setCouponId(userPointsMerchandises.get(0).getPointsMerchandiseId()); + coupon.setUserId(userPointsMerchandises.get(0).getUserId()); + coupon.setStatus(1); + coupon.setInsertTime(new Date()); + ucponClient.insertToAppuserCoupon(coupon); + break; + default: + break; + } + + } + return ResultUtil.success(); + } + + @Override + public List<StoreResponse> queryStoresOfExchange(Integer goodsType,Integer pointsMerId) { + List<StoreResponse> responses = new ArrayList<>(); + if (goodsType == 4){ + List<Integer> couponStoreIds = ucponClient.getCouponStoreIds(pointsMerId); + for (Integer couponStoreId : couponStoreIds) { + StoreDetailOfCourse courseOfStore = storeClient.getCourseOfStore(couponStoreId); + if(ToolUtil.isNotEmpty(courseOfStore)){ + StoreResponse response = new StoreResponse(); + response.setStoreId(couponStoreId); + response.setStoreName(courseOfStore.getStoreName()); + responses.add(response); + } + } + }else { + List<Integer> integers = mcsClient.queryPointMerStoreIds(pointsMerId); + for (Integer integer : integers) { + StoreDetailOfCourse courseOfStore = storeClient.getCourseOfStore(integer); + if(ToolUtil.isNotEmpty(courseOfStore)){ + StoreResponse response = new StoreResponse(); + response.setStoreId(integer); + response.setStoreName(courseOfStore.getStoreName()); + responses.add(response); + } + } + } + return responses; + } + + } 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 a3feebf..ab641e5 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 @@ -155,4 +155,14 @@ .eq("couponId",id)); } + + @PostMapping("/base/coupon/insertToAppuserCoupon") + public void insertToAppuserCoupon(@RequestBody UserCoupon coupon){ + 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 26c9023..898ee0c 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 @@ -14,6 +14,7 @@ import com.dsh.activity.service.*; import com.dsh.activity.util.GDMapGeocodingUtil; import com.dsh.activity.util.StrUtils; +import com.dsh.activity.util.TokenUtil; import com.dsh.activity.util.ToolUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; @@ -23,6 +24,7 @@ import java.text.SimpleDateFormat; import java.util.*; +import java.util.stream.Collectors; @RestController @RequestMapping("") @@ -58,6 +60,9 @@ @Autowired private CouponStoreService cstoreService; + + @Autowired + private TokenUtil tokenUtil; @PostMapping("/base/pointMerchars/convertGoods") @@ -121,7 +126,7 @@ switch (detailRequest.getGoodsType()){ case 2: // 课包 - CoursePackage coursePackage = cpClient.queryCoursePackageById(detailRequest.getGoodId()); + CoursePackage coursePackage = cpClient.queryCoursePackageById(merchandise.getCoursePackageId()); detailsVo.setGoodId(coursePackage.getId()); List<String> list1 = Arrays.asList(StrUtils.splitStr2StrArr(coursePackage.getDetailDrawing(), ",")); @@ -144,16 +149,21 @@ detailsVo.setResidueNum(merchandise.getQuantityIssued() - coursePackageNums); detailsVo.setPerLimit(merchandise.getPickUpQuantity()); if (merchandise.getRedemptionMethod() == 1){ + detailsVo.setExchangeType(1); detailsVo.setRequiredType(merchandise.getIntegral() + "积分"); }else { + detailsVo.setExchangeType(2); detailsVo.setRequiredType(merchandise.getIntegral() + "积分+¥"+merchandise.getCash()); } detailsVo.setCost(merchandise.getPrice()); if (merchandise.getUseScope() == 1){ + detailsVo.setExchangeAddrType(1); detailsVo.setBelongs("全国通用"); }else if (merchandise.getUseScope() == 2){ + detailsVo.setExchangeAddrType(2); detailsVo.setBelongs(merchandise.getProvince()+"|"+merchandise.getCity() + "用户可用"); }else { + detailsVo.setExchangeAddrType(3); List<PointsMerchandiseStore> list = pmdstoService.list(new QueryWrapper<PointsMerchandiseStore>() .eq("pointsMerchandiseId",merchandise.getId() )); PointsMerchandiseStore pointsMerchandiseStore = list.get(0); @@ -394,4 +404,40 @@ return detailsVo; } + + @PostMapping("/base/pointMerchars/selectPointsMerchandiseById") + public PointsMerchandise selectPointsMerchandiseById(@RequestBody Integer speMercharsId){ + return pmdsService.getById(speMercharsId); + } + + + @PostMapping("/base/pointMerchars/saveDetailsUserPointMercase") + public void saveDetailsUserPointMercase(@RequestBody UserPointsMerchandise merchandise){ + upmseService.save(merchandise); + } + + + @PostMapping("/base/pointMerchars/updateDetailsUserPointMercase") + public void updateDetailsUserPointMercase(@RequestBody UserPointsMerchandise merchandise){ + upmseService.updateById(merchandise); + } + + @PostMapping("/base/pointMerchars/queryUserPointMerchaseByCode") + public List<UserPointsMerchandise> queryUserPointMerchaseByCode(@RequestBody String code){ + return upmseService.list(new QueryWrapper<UserPointsMerchandise>() + .eq("code",code)); + } + + + @PostMapping("/base/pointMerchars/queryStoreIdsOfMerchandise") + public List<Integer> queryPointMerStoreIds(@RequestBody Integer pointMerId){ + List<Integer> storeIds = new ArrayList<>(); + List<PointsMerchandiseStore> list = pmdstoService.list(new QueryWrapper<PointsMerchandiseStore>() + .eq("pointsMerchandiseId",pointMerId)); + if (list.size() > 0){ + storeIds = list.stream().map(PointsMerchandiseStore::getStoreId).collect(Collectors.toList()); + } + return storeIds; + } + } 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 cfb00ef..49d2b80 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 @@ -2,9 +2,11 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dsh.activity.entity.Coupon; +import com.dsh.activity.entity.CouponStore; import com.dsh.activity.entity.UserCoupon; import com.dsh.activity.feignclient.model.CouponStuAvailableVo; import com.dsh.activity.model.CouponListVo; +import com.dsh.activity.service.CouponStoreService; import com.dsh.activity.service.ICouponService; import com.dsh.activity.service.UserCouponService; import com.dsh.activity.util.ResultUtil; @@ -29,9 +31,6 @@ public class UserCouponController { @Autowired - private UserCouponService uconService; - - @Autowired private ICouponService cService; @Autowired @@ -39,6 +38,10 @@ @Autowired private UserCouponService userCouponService; + + + @Autowired + private CouponStoreService csServie; @@ -50,7 +53,7 @@ List<CouponStuAvailableVo> availableVos = new ArrayList<>(); - List<UserCoupon> list = uconService.list(new QueryWrapper<UserCoupon>() + List<UserCoupon> list = userCouponService.list(new QueryWrapper<UserCoupon>() .eq("userId", appUserId) .eq("status",1)); if (list.size() > 0){ @@ -127,4 +130,23 @@ return null; } } + + + + @PostMapping("/userCoupon/queryCouponOfStore") + public List<Integer> getCouponStoreIds(@RequestBody Integer couponId){ + try { + List<Integer> storeIds = new ArrayList<>(); + List<CouponStore> list = csServie.list(new QueryWrapper<CouponStore>() + .eq("couponId",couponId)); + if (list.size() > 0 ){ + storeIds = list.stream().map(CouponStore::getStoreId).collect(Collectors.toList()); + } + return storeIds; + }catch (Exception e){ + e.printStackTrace(); + return null; + } + } + } 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 81c510f..0a663d1 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 @@ -68,6 +68,21 @@ */ @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 diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/MerChandiseClient.java b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/MerChandiseClient.java index d6937db..2ffb151 100644 --- a/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/MerChandiseClient.java +++ b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/MerChandiseClient.java @@ -2,6 +2,7 @@ import com.dsh.activity.entity.PointsMerchandise; +import com.dsh.activity.entity.UserPointsMerchandise; import com.dsh.activity.feignclient.model.*; import com.dsh.activity.model.request.CommodityRequest; import org.springframework.cloud.openfeign.FeignClient; @@ -34,4 +35,17 @@ public PointDetailsVo getSpecificsOfGoods(@RequestBody Integer speMercharsId); + @PostMapping("/base/pointMerchars/selectPointsMerchandiseById") + public PointsMerchandise selectPointsMerchandiseById(@RequestBody Integer speMercharsId); + + + @PostMapping("/base/pointMerchars/saveDetailsUserPointMercase") + public void saveDetailsUserPointMercase(@RequestBody UserPointsMerchandise merchandise); + + @PostMapping("/base/pointMerchars/updateDetailsUserPointMercase") + public void updateDetailsUserPointMercase(@RequestBody UserPointsMerchandise merchandise); + + @PostMapping("/base/pointMerchars/queryUserPointMerchaseByCode") + public List<UserPointsMerchandise> queryUserPointMerchaseByCode(@RequestBody String code); + } diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/MerChandiseStoreClient.java b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/MerChandiseStoreClient.java new file mode 100644 index 0000000..515328e --- /dev/null +++ b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/MerChandiseStoreClient.java @@ -0,0 +1,17 @@ +package com.dsh.activity.feignclient; + + +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-activity") +public interface MerChandiseStoreClient { + + @PostMapping("/base/pointMerchars/queryStoreIdsOfMerchandise") + List<Integer> queryPointMerStoreIds(@RequestBody Integer pointMerId); + + +} diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/UserConponClient.java b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/UserConponClient.java index 496b9c8..5ded3e7 100644 --- a/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/UserConponClient.java +++ b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/UserConponClient.java @@ -1,6 +1,7 @@ package com.dsh.activity.feignclient; import com.dsh.activity.entity.Coupon; +import com.dsh.activity.entity.UserCoupon; import com.dsh.activity.feignclient.model.CouponStuAvailableVo; import com.dsh.activity.model.request.CommodityRequest; import org.springframework.cloud.openfeign.FeignClient; @@ -24,4 +25,11 @@ @PostMapping("/base/coupon/getRedeemedNums") public int getRedeemedQuantity(@RequestBody Integer id); + + @PostMapping("/base/coupon/insertToAppuserCoupon") + public void insertToAppuserCoupon(@RequestBody UserCoupon coupon); + + + @PostMapping("/userCoupon/queryCouponOfStore") + List<Integer> getCouponStoreIds(@RequestBody Integer couponId); } diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/model/ProductDetailsVo.java b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/model/ProductDetailsVo.java index db38c2a..a64ef25 100644 --- a/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/model/ProductDetailsVo.java +++ b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/model/ProductDetailsVo.java @@ -34,6 +34,10 @@ @ApiModelProperty(value = "所需类型(积分/积分+现金)") private String requiredType; + + @ApiModelProperty(value = "兑换方式(1=积分,2=积分+现金)") + private Integer exchangeType; + @ApiModelProperty(value = "价值") private BigDecimal cost; @@ -52,6 +56,9 @@ @ApiModelProperty(value = "兑换说明") private String contents; + @ApiModelProperty(value = "兑换地点类型 1=全国 2=指定城市 3指定门店") + private Integer exchangeAddrType; + @ApiModelProperty(value = "商品类型 1实物 2课包 3门票 4优惠券") private Integer goodType; diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/util/UUIDUtil.java b/cloud-server-activity/src/main/java/com/dsh/activity/util/UUIDUtil.java new file mode 100644 index 0000000..7390847 --- /dev/null +++ b/cloud-server-activity/src/main/java/com/dsh/activity/util/UUIDUtil.java @@ -0,0 +1,101 @@ +package com.dsh.activity.util; + + + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.UUID; + +/** + * 定义生成随机码的工具类 + */ +public class UUIDUtil { + + private int i = 1; + + + /** + * 定义生成原生的UUID随机码 + * @return + */ + public static String getNativeUUID(){ + return UUID.randomUUID().toString(); + } + + + /** + * 生成32位随机码 + * @return + */ + public static String getRandomCode(){ + return UUIDUtil.getNativeUUID().replaceAll("-", ""); + } + + + /** + * 获取给定长度的随机码 + * @param num + * @return + * @throws Exception + */ + public static String getRandomCode(Integer num) throws Exception{ + String str = null; + if(0 < num){ + if(num % 32 > 0){ + Integer s = num / 32; + Integer l = num % 32; + StringBuffer sb = new StringBuffer(); + for(int i = 0; i < s; i++){ + sb.append(UUIDUtil.getRandomCode()); + } + sb.append(UUIDUtil.getRandomCode().substring(0, l)); + str = sb.toString(); + }else if(num % 32 == 0){ + Integer s = num / 32; + StringBuffer sb = new StringBuffer(); + for(int i = 0; i < s; i++){ + sb.append(UUIDUtil.getRandomCode()); + } + str = sb.toString(); + }else{ + str = UUIDUtil.getRandomCode().substring(0, num); + } + }else{ + throw new Exception("参数只能大于0"); + } + return str; + } + + + /** + * 获取根据当前时间的字符串数据 + * @return + */ + public synchronized static String getTimeStr(){ + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddhhmmssS"); + return simpleDateFormat.format(new Date()); + } + + + /** + * @Description: 获取数字随机码 + * @Author pzb + * @Date 2021/8/11 16:52 + * @Param + * @Return + * @Exception + */ + public static String getNumberRandom(Integer num){ + if(null == num){ + num = 32; + } + StringBuffer sb = new StringBuffer(); + for(int i = 0; i < num; i++){ + sb.append(Double.valueOf(Math.random() * 10).intValue()); + } + return sb.toString(); + } + + + +} diff --git a/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java b/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java index 8c176a1..1e30a7c 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java +++ b/cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java @@ -52,7 +52,7 @@ @TableField("coursePackageId") private Integer coursePackageId; /** - * 支付方式(1=微信,2=支付宝,3=玩湃币) + * 支付方式(1=微信,2=支付宝,3=玩湃币,4=积分,5=积分+微信,6=积分+支付宝) */ @TableField("payType") private Integer payType; @@ -77,7 +77,7 @@ @TableField("cashPayment") private BigDecimal cashPayment; /** - * 玩湃币价格 + * 玩湃币价格/积分 */ @TableField("playPaiCoin") private Integer playPaiCoin; -- Gitblit v1.7.1