cloud-server-account/src/main/java/com/dsh/account/controller/UseBenefitsController.java
@@ -360,20 +360,14 @@ @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){ public ResultUtil productRedemptionOperation(GoodsExchangeVo exchangeType){ try { Integer userIdFormRedis = tokenUtil.getUserIdFormRedis(); if(null == userIdFormRedis){ return ResultUtil.tokenErr(); } return tauService.productRedemptionOperation(userIdFormRedis,goodId,goodsType,nums,exchangeType,payType,stuIds); return tauService.productRedemptionOperation(userIdFormRedis,exchangeType); }catch (Exception e){ return ResultUtil.runErr(); } cloud-server-account/src/main/java/com/dsh/account/entity/UserIntegralChanges.java
@@ -32,8 +32,8 @@ /** * 主键 */ @TableId(value = "id", type = IdType.AUTO) private Integer id; @TableId(value = "id", type = IdType.NONE) private Long id; /** * 用户id */ @@ -64,7 +64,11 @@ */ @TableField("insertTime") private Date insertTime; /** * 变动类型(1增加 2扣除) */ @TableField("category") private Integer category; @Override protected Serializable pkVal() { cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/MerChandiseClient.java
@@ -19,7 +19,7 @@ @PostMapping("/base/pointMerchars/getCommoditys") public List<PointsMerchandise> getVicinityGoods(@RequestBody CommodityRequest request); PointMerchandiseVo getVicinityGoods(@RequestBody CommodityRequest request); @PostMapping("/base/pointMerchars/getRedeemedNums") public int getRedeemedQuantity(@RequestBody Integer goodId); cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/model/PointMerchandiseVo.java
New file @@ -0,0 +1,17 @@ package com.dsh.account.feignclient.activity.model; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import java.util.List; @Data @AllArgsConstructor @NoArgsConstructor public class PointMerchandiseVo { List<PointsMerchandise> merchandises; } cloud-server-account/src/main/java/com/dsh/account/feignclient/competition/DeductionCompetitionsClient.java
@@ -5,6 +5,8 @@ import com.dsh.account.feignclient.competition.model.GetStuSourseList; import com.dsh.account.feignclient.competition.model.PaymentCompetition; import com.dsh.account.feignclient.competition.model.PurchaseRecordVo; import com.dsh.account.model.BillingRequest; import com.dsh.account.model.BillingRequestVo; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -17,10 +19,10 @@ List<PurchaseRecordVo> getStuSourseList(@RequestBody GetStuSourseList getStuSourseList); @PostMapping("/base/competition/getPayedCompetitions") List<PaymentCompetition> getAllCompetitionPayRecord(@RequestBody BillingDataRequestVo requestVo); BillingRequestVo getAllCompetitionPayRecord(@RequestBody BillingDataRequestVo requestVo); @PostMapping("/base/competition/getCancelOrderOfUserPay") public List<PaymentCompetition> getCancelOrderOfUserPayRecord(@RequestBody BillingDataRequestVo appUserId); BillingRequestVo getCancelOrderOfUserPayRecord(@RequestBody BillingDataRequestVo appUserId); @PostMapping("/base/competition/getPlayPaiFGoldPayRecord") List<PaymentCompetition> getPlayPaiFGoldPayRecord(@RequestBody Integer appUserId); cloud-server-account/src/main/java/com/dsh/account/feignclient/competition/model/BillingDataRequestVo.java
@@ -10,10 +10,10 @@ public class BillingDataRequestVo { @ApiModelProperty(value = "开始时间") private Date monthStart = null; private String monthStart = null; @ApiModelProperty(value = "结束时间时间") private Date monthEnd = null; private String monthEnd = null; @ApiModelProperty(value = "用户id") private Integer appUserId; cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CoursePaymentClient.java
@@ -2,6 +2,8 @@ import com.dsh.account.feignclient.competition.model.BillingDataRequestVo; import com.dsh.account.feignclient.course.model.*; import com.dsh.account.model.BillingRequest; import com.dsh.account.model.BillingRequestVo; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -51,7 +53,7 @@ public boolean savePaymentCoursePackage(@RequestBody TCoursePackagePayment packagePayment); @PostMapping("/base/coursePack/allAmountPayRecordOfUser") public List<TCoursePackagePayment> getAmountPayRecord(@RequestBody BillingDataRequestVo appUserId); BillingRequestVo getAmountPayRecord(@RequestBody BillingDataRequestVo appUserId); @PostMapping("/base/coursePack/obtainStudentClassDetails") List<RecordAppoint> obtainStudentClassDetailsData(@RequestBody WeeksOfCourseRest stuId); cloud-server-account/src/main/java/com/dsh/account/feignclient/other/SiteClient.java
@@ -2,6 +2,8 @@ import com.dsh.account.feignclient.competition.model.BillingDataRequestVo; import com.dsh.account.feignclient.other.model.SiteBooking; import com.dsh.account.model.BillingRequestOfType; import com.dsh.account.model.RequestOfTypeVo; import com.dsh.account.model.vo.exploreDetail.SiteVo; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; @@ -14,7 +16,7 @@ public interface SiteClient { @PostMapping("/base/site/queryPaymentSiteDetail") List<SiteBooking> getAllSiteBookingList(@RequestBody BillingDataRequestVo appUserId); RequestOfTypeVo getAllSiteBookingList(@RequestBody BillingDataRequestVo appUserId); @PostMapping("/base/site/queryPlaypaiGoldSiteDetail") cloud-server-account/src/main/java/com/dsh/account/model/BillingRequest.java
New file @@ -0,0 +1,21 @@ package com.dsh.account.model; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @Data @AllArgsConstructor @NoArgsConstructor public class BillingRequest { /** * MM-dd HH:mm */ private String time; /** * 金额 */ private double amount; } cloud-server-account/src/main/java/com/dsh/account/model/BillingRequestOfType.java
New file @@ -0,0 +1,24 @@ package com.dsh.account.model; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @Data @AllArgsConstructor @NoArgsConstructor public class BillingRequestOfType { /** * */ private Integer status; /** * MM-dd HH:mm */ private String time; /** * 金额 */ private double amount; } cloud-server-account/src/main/java/com/dsh/account/model/BillingRequestVo.java
New file @@ -0,0 +1,16 @@ package com.dsh.account.model; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import java.util.List; @Data @AllArgsConstructor @NoArgsConstructor public class BillingRequestVo { List<BillingRequest> requests; } cloud-server-account/src/main/java/com/dsh/account/model/RequestOfTypeVo.java
New file @@ -0,0 +1,15 @@ package com.dsh.account.model; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import java.util.List; @Data @AllArgsConstructor @NoArgsConstructor public class RequestOfTypeVo { List<BillingRequestOfType> request; } cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/GoodsExchangeVo.java
New file @@ -0,0 +1,36 @@ package com.dsh.account.model.vo.userBenefitDetail; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import java.util.List; @Data @AllArgsConstructor @NoArgsConstructor public class GoodsExchangeVo { @ApiModelProperty(value = "商品id",required = true) Integer goodId; @ApiModelProperty(value = "商品类型 1实物 2课包 3门票 4优惠券",required = true) Integer goodsType; @ApiModelProperty(value = "兑换数量",required = false) Integer nums; @ApiModelProperty(value = "兑换方式(1=积分,2=积分+现金 3=现金)",required = true) Integer exchangeType; @ApiModelProperty(value = "现金支付方式(1=微信 2=支付宝)",required = false) Integer payType; @ApiModelProperty(value = "学员id列表",required = false) List<Integer> stuIds; @ApiModelProperty(value = "门店id列表",required = false) List<Integer> storeIds; } 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,List<Integer> stuIds); ResultUtil productRedemptionOperation(Integer userIdFormRedis, GoodsExchangeVo exchangeVo); ResultUtil exchangeAddPaymentCallback(String code, String orderNumber,Integer payType); cloud-server-account/src/main/java/com/dsh/account/service/impl/RechargeRecordsServiceImpl.java
@@ -183,7 +183,7 @@ BigDecimal amount = BigDecimal.ZERO; if (rechargeConfig.size() > 0){ for (Map<String, Object> stringObjectMap : rechargeConfig) { Long o = (Long) stringObjectMap.get("money"); double o = (double) stringObjectMap.get("money"); if (BigDecimal.valueOf(o).compareTo(request.getAmount()) == 0) { amount = BigDecimal.valueOf(o); rechargeRecords.setAmount(BigDecimal.valueOf(o)); cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
@@ -26,10 +26,7 @@ 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; import com.dsh.account.model.LoginSMSCodeVo; import com.dsh.account.model.LoginWeChatVo; import com.dsh.account.model.*; import com.dsh.account.model.dto.Coupon; import com.dsh.account.model.vo.classDetails.CourseVenue; import com.dsh.account.model.vo.classDetails.ExerciseVideo; @@ -507,6 +504,7 @@ List<ConsumeDetail> details = new ArrayList<>(); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MM-dd HH:mm"); SimpleDateFormat result = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date monthStart = null; Date monthEnd = null; if (StringUtils.hasText(yearMonth)) { @@ -518,59 +516,59 @@ } BillingDataRequestVo requestVo = new BillingDataRequestVo(); requestVo.setMonthStart(monthStart); requestVo.setMonthEnd(monthEnd); requestVo.setMonthStart(result.format(monthStart)); requestVo.setMonthEnd(result.format(monthEnd)); requestVo.setAppUserId(appUserId); // 1.赛事报名 List<PaymentCompetition> allCompetitionPayRecord = deducClient.getAllCompetitionPayRecord(requestVo); if (allCompetitionPayRecord.size() > 0 ){ for (PaymentCompetition paymentCompetition : allCompetitionPayRecord) { BillingRequestVo allCompetitionPayRecord = deducClient.getAllCompetitionPayRecord(requestVo); if (ToolUtil.isNotEmpty(allCompetitionPayRecord.getRequests())){ for (BillingRequest paymentCompetition : allCompetitionPayRecord.getRequests()) { ConsumeDetail consumeDetail = new ConsumeDetail(); consumeDetail.setConsumeName(RechargeRecordEnum.EVENT_REGISTRATION.getMsg()); consumeDetail.setConsumeTime(simpleDateFormat.format(paymentCompetition.getInsertTime())); consumeDetail.setConsumeTime(paymentCompetition.getTime()); consumeDetail.setConsumeAmount("-" + paymentCompetition.getAmount()); details.add(consumeDetail); consumeDetail.setType(1); } } // 2.取消赛事报名 List<PaymentCompetition> cancelOrderOfUserPayRecord = deducClient.getCancelOrderOfUserPayRecord(requestVo); if (cancelOrderOfUserPayRecord.size() > 0 ){ for (PaymentCompetition paymentCompetition : cancelOrderOfUserPayRecord) { BillingRequestVo cancelOrderOfUserPayRecord = deducClient.getCancelOrderOfUserPayRecord(requestVo); if (ToolUtil.isNotEmpty(cancelOrderOfUserPayRecord.getRequests())){ for (BillingRequest paymentCompetition : cancelOrderOfUserPayRecord.getRequests()) { ConsumeDetail consumeDetail = new ConsumeDetail(); consumeDetail.setConsumeName(RechargeRecordEnum.CANCEL_EVENT_REGISTRATION.getMsg()); consumeDetail.setConsumeTime(simpleDateFormat.format(paymentCompetition.getInsertTime())); consumeDetail.setConsumeTime(paymentCompetition.getTime()); consumeDetail.setConsumeAmount("+" + paymentCompetition.getAmount()); consumeDetail.setType(1); details.add(consumeDetail); } } // 3.课包购买 List<TCoursePackagePayment> amountPayRecord = paymentClient.getAmountPayRecord(requestVo); if (amountPayRecord.size() > 0 ){ for (TCoursePackagePayment coursePackagePayment : amountPayRecord) { BillingRequestVo amountPayRecord = paymentClient.getAmountPayRecord(requestVo); if (ToolUtil.isNotEmpty(amountPayRecord.getRequests())){ for (BillingRequest coursePackagePayment : amountPayRecord.getRequests()) { ConsumeDetail consumeDetail = new ConsumeDetail(); consumeDetail.setConsumeName(RechargeRecordEnum.COURSE_PACKAGE_PURCHASE.getMsg()); consumeDetail.setConsumeTime(simpleDateFormat.format(coursePackagePayment.getInsertTime())); consumeDetail.setConsumeAmount("-" + coursePackagePayment.getCashPayment()); consumeDetail.setConsumeTime(coursePackagePayment.getTime()); consumeDetail.setConsumeAmount("-" + coursePackagePayment.getAmount()); consumeDetail.setType(2); details.add(consumeDetail); } } // 4.场地预约 List<SiteBooking> allSiteBookingList = stClient.getAllSiteBookingList(requestVo); if (allSiteBookingList.size() > 0){ for (SiteBooking booking : allSiteBookingList) { RequestOfTypeVo allSiteBookingList = stClient.getAllSiteBookingList(requestVo); if (ToolUtil.isNotEmpty(allSiteBookingList.getRequest())){ for (BillingRequestOfType booking : allSiteBookingList.getRequest()) { ConsumeDetail consumeDetail = new ConsumeDetail(); if (booking.getStatus() != 5){ consumeDetail.setConsumeName(RechargeRecordEnum.VENUE_RESERVATION.getMsg()); consumeDetail.setConsumeAmount("-" + booking.getPayMoney()); consumeDetail.setConsumeTime(simpleDateFormat.format(booking.getPayTime())); consumeDetail.setConsumeAmount("-" + booking.getAmount()); consumeDetail.setConsumeTime(booking.getTime()); consumeDetail.setType(2); }else { consumeDetail.setConsumeName(RechargeRecordEnum.CANCEL_VENUE_RESERVATION.getMsg()); consumeDetail.setConsumeAmount("+" + booking.getPayMoney()); consumeDetail.setConsumeTime(simpleDateFormat.format(booking.getCancelTime())); consumeDetail.setConsumeAmount("+" + booking.getAmount()); consumeDetail.setConsumeTime(booking.getTime()); consumeDetail.setType(1); } details.add(consumeDetail); @@ -673,9 +671,9 @@ CommodityRequest commodityRequest = new CommodityRequest(); commodityRequest.setLon(request.getLon()); commodityRequest.setLat(request.getLat()); List<PointsMerchandise> vicinityGoods = mcClient.getVicinityGoods(commodityRequest); if (vicinityGoods.size() > 0) { for (PointsMerchandise vicinityGood : vicinityGoods) { PointMerchandiseVo vicinityGoods = mcClient.getVicinityGoods(commodityRequest); if (ToolUtil.isNotEmpty(vicinityGoods.getMerchandises())) { for (PointsMerchandise vicinityGood : vicinityGoods.getMerchandises()) { Goods commodity = new Goods(); switch (vicinityGood.getType()) { case 1: @@ -856,13 +854,15 @@ } @Override public ResultUtil productRedemptionOperation(Integer userIdFormRedis, Integer goodId, Integer goodsType,Integer nums,Integer exchangeType,Integer payType,List<Integer> stuIds) { PointsMerchandise merchandise = mcClient.selectPointsMerchandiseById(goodId); public ResultUtil productRedemptionOperation(Integer userIdFormRedis, GoodsExchangeVo exchangeType) { System.out.println("exchangeType:--->"); System.out.println(exchangeType); PointsMerchandise merchandise = mcClient.selectPointsMerchandiseById(exchangeType.getGoodId()); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); String code = sdf.format(new Date()) + UUIDUtil.getNumberRandom(5); for (int i = 0; i < nums; i++) { for (int i = 0; i < exchangeType.getNums(); i++) { UserPointsMerchandise pointsMerchandise = new UserPointsMerchandise(); pointsMerchandise.setPointsMerchandiseId(goodId); pointsMerchandise.setPointsMerchandiseId(exchangeType.getGoodId()); pointsMerchandise.setUserId(userIdFormRedis); pointsMerchandise.setCode(code); mcClient.saveDetailsUserPointMercase(pointsMerchandise); @@ -884,15 +884,15 @@ this.baseMapper.updateById(tAppUser); // 现金支付 if (exchangeType == 2) { switch (goodsType) { if (exchangeType.getExchangeType() == 2 || exchangeType.getExchangeType() == 3) { switch (exchangeType.getGoodsType()) { case 2: for (int i = 0; i < stuIds.size(); i++) { for (int i = 0; i < exchangeType.getStuIds().size(); i++) { List<CoursePackagePaymentConfig> courseConfigList = cpconClient.getCourseConfigList(merchandise.getCoursePackageId()); TCoursePackagePayment packagePayment = new TCoursePackagePayment(); packagePayment.setAppUserId(userIdFormRedis); packagePayment.setStudentId(stuIds.get(i)); packagePayment.setStudentId(exchangeType.getStuIds().get(i)); packagePayment.setCoursePackageId(merchandise.getCoursePackageId()); for (CoursePackagePaymentConfig coursePackagePaymentConfig : courseConfigList) { if (Objects.equals(coursePackagePaymentConfig.getId(),merchandise.getCoursePackageConfigId())){ @@ -916,9 +916,9 @@ } break; case 4: for (int i = 0; i < nums; i++) { for (int i = 0; i < exchangeType.getNums(); i++) { UserCoupon coupon = new UserCoupon(); coupon.setCouponId(goodId); coupon.setCouponId(exchangeType.getGoodId()); coupon.setUserId(userIdFormRedis); coupon.setStatus(1); coupon.setInsertTime(new Date()); @@ -929,22 +929,22 @@ break; } switch (payType){ switch (exchangeType.getPayType()){ case 1: try { if (merchandise.getType() == 2){ return WechatPayment(merchandise.getCash().multiply(new BigDecimal(stuIds.size())),code); return WechatPayment(merchandise.getCash().multiply(new BigDecimal(exchangeType.getStuIds().size())),code); }else { return WechatPayment(merchandise.getCash().multiply(new BigDecimal(nums)),code); return WechatPayment(merchandise.getCash().multiply(new BigDecimal(exchangeType.getNums())),code); } }catch (Exception e){ return ResultUtil.runErr(); } case 2: if (merchandise.getType() == 2){ AlipayPayment(merchandise.getCash().multiply(new BigDecimal(stuIds.size())),code); AlipayPayment(merchandise.getCash().multiply(new BigDecimal(exchangeType.getStuIds().size())),code); }else { AlipayPayment(merchandise.getCash().multiply(new BigDecimal(nums)),code); AlipayPayment(merchandise.getCash().multiply(new BigDecimal(exchangeType.getNums())),code); } break; default: cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
@@ -11,6 +11,7 @@ import com.dsh.activity.feignclient.model.*; import com.dsh.activity.feignclient.other.StoreClient; import com.dsh.activity.feignclient.other.model.StoreDetailOfCourse; import com.dsh.activity.model.PointMerchandiseVo; import com.dsh.activity.model.request.CommodityRequest; import com.dsh.activity.service.*; import com.dsh.activity.util.GDMapGeocodingUtil; @@ -90,13 +91,15 @@ } @ResponseBody @PostMapping("/base/pointMerchars/getCommoditys") public List<PointsMerchandise> getVicinityGoods(@RequestBody CommodityRequest request){ public PointMerchandiseVo getVicinityGoods(@RequestBody CommodityRequest request){ PointMerchandiseVo pointMerchandiseVo = new PointMerchandiseVo(); List<PointsMerchandise> list = new ArrayList<>(); String provinceCode = ""; String cityCode = ""; if (ToolUtil.isEmpty(request.getLon()) && ToolUtil.isEmpty(request.getLat())){ return list; return pointMerchandiseVo; } try { Map<String, String> geocode = gdMapGeocodingUtil.geocode(request.getLon(), request.getLat()); @@ -116,8 +119,9 @@ iterator.remove(); // 移除符合条件的商品 } } pointMerchandiseVo.setMerchandises(list); } return list; return pointMerchandiseVo; } @PostMapping("/base/pointMerchars/getRedeemedNums") @@ -222,6 +226,7 @@ detailsVo.setRedeemedNum(count); detailsVo.setResidueNum(merchandise.getQuantityIssued()-count); detailsVo.setPerLimit(merchandise.getPickUpQuantity()); detailsVo.setExchangeType(merchandise.getRedemptionMethod()); if (merchandise.getRedemptionMethod() == 1){ detailsVo.setIntegral(merchandise.getIntegral()); }else { @@ -271,6 +276,7 @@ detailsVo.setRedeemedNum(couponNums); detailsVo.setResidueNum(coupon.getQuantityIssued()-couponNums); detailsVo.setPerLimit(coupon.getPickUpQuantity()); detailsVo.setExchangeType(merchandise.getRedemptionMethod()); if (merchandise.getRedemptionMethod() == 1){ detailsVo.setIntegral(merchandise.getIntegral()); }else { cloud-server-activity/src/main/java/com/dsh/activity/feignclient/MerChandiseClient.java
@@ -17,9 +17,6 @@ @PostMapping("/base/pointMerchars/convertGoods") public List<IntegralCommodity> getConvertibleGoods(); @PostMapping("/base/pointMerchars/getCommoditys") public List<PointsMerchandise> getVicinityGoods(@RequestBody CommodityRequest request); @PostMapping("/base/pointMerchars/getRedeemedNums") public int getRedeemedQuantity(@RequestBody Integer goodId); cloud-server-activity/src/main/java/com/dsh/activity/model/PointMerchandiseVo.java
New file @@ -0,0 +1,18 @@ package com.dsh.activity.model; import com.dsh.activity.entity.PointsMerchandise; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import java.util.List; @Data @AllArgsConstructor @NoArgsConstructor public class PointMerchandiseVo { List<PointsMerchandise> merchandises; } cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java
@@ -75,29 +75,30 @@ private AppUserClient appUserClient; @ResponseBody @PostMapping("/base/competition/getPayedCompetitions") public List<PaymentCompetition> getAllCompetitionPayRecord(@RequestBody BillingDataRequestVo requestVo){ List<Integer> integers = new ArrayList<>(); integers.add(1); integers.add(2); return paymentCompetitionService.list(new QueryWrapper<PaymentCompetition>() .in("payType",integers) .eq("appUserId",requestVo.getAppUserId()) .eq("payStatus",2) .between("payTime",requestVo.getMonthStart(),requestVo.getMonthEnd())); public BillingRequestVo getAllCompetitionPayRecord(@RequestBody BillingDataRequestVo requestVo){ BillingRequestVo billingRequestVo = new BillingRequestVo(); List<BillingRequest> integers = new ArrayList<>(); integers = paymentCompetitionService.queryDatas(requestVo.getAppUserId(),requestVo.getMonthStart(),requestVo.getMonthEnd()); System.out.println(integers); if (integers.size() > 0 ){ billingRequestVo.setRequests(integers); } return billingRequestVo; } @ResponseBody @PostMapping("/base/competition/getCancelOrderOfUserPay") public List<PaymentCompetition> getCancelOrderOfUserPayRecord(@RequestBody BillingDataRequestVo requestVo){ List<Integer> integers = new ArrayList<>(); integers.add(1); integers.add(2); return paymentCompetitionService.list(new QueryWrapper<PaymentCompetition>() .in("payType",integers) .eq("appUserId",requestVo.getAppUserId()) .eq("payStatus",3) .between("refundTime",requestVo.getMonthStart(),requestVo.getMonthEnd())); public BillingRequestVo getCancelOrderOfUserPayRecord(@RequestBody BillingDataRequestVo requestVo){ BillingRequestVo billingRequestVo = new BillingRequestVo(); List<BillingRequest> integers = new ArrayList<>(); integers = paymentCompetitionService.queryCancelDatas(requestVo.getAppUserId(),requestVo.getMonthStart(),requestVo.getMonthEnd()); System.out.println(integers); if (integers.size() > 0 ){ billingRequestVo.setRequests(integers); } return billingRequestVo; } cloud-server-competition/src/main/java/com/dsh/competition/feignclient/DeductionCompetitionsClient.java
@@ -3,6 +3,7 @@ import com.dsh.competition.entity.PaymentCompetition; import com.dsh.competition.feignclient.model.BillingDataRequestVo; import com.dsh.competition.feignclient.model.BillingRequest; import com.dsh.competition.feignclient.model.GetStuSourseList; import com.dsh.competition.feignclient.model.PurchaseRecordVo; import org.springframework.cloud.openfeign.FeignClient; @@ -17,11 +18,6 @@ @PostMapping("/base/competition/getCompetitionsDetails") public List<PurchaseRecordVo> getStuSourseList(@RequestBody GetStuSourseList sourseList); @PostMapping("/base/competition/getPayedCompetitions") List<PaymentCompetition> getAllCompetitionPayRecord(@RequestBody BillingDataRequestVo requestVo); @PostMapping("/base/competition/getCancelOrderOfUserPay") public List<PaymentCompetition> getCancelOrderOfUserPayRecord(@RequestBody BillingDataRequestVo requestVo); @PostMapping("/base/competition/getPlayPaiFGoldPayRecord") List<PaymentCompetition> getPlayPaiFGoldPayRecord(@RequestBody Integer appUserId); cloud-server-competition/src/main/java/com/dsh/competition/feignclient/model/BillingDataRequestVo.java
@@ -10,10 +10,10 @@ public class BillingDataRequestVo { @ApiModelProperty(value = "开始时间") private Date monthStart = null; private String monthStart = null; @ApiModelProperty(value = "结束时间时间") private Date monthEnd = null; private String monthEnd = null; @ApiModelProperty(value = "用户id") private Integer appUserId; cloud-server-competition/src/main/java/com/dsh/competition/feignclient/model/BillingRequest.java
New file @@ -0,0 +1,20 @@ package com.dsh.competition.feignclient.model; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @Data @AllArgsConstructor @NoArgsConstructor public class BillingRequest { /** * MM-dd HH:mm */ private String time; /** * 金额 */ private double amount; } cloud-server-competition/src/main/java/com/dsh/competition/feignclient/model/BillingRequestVo.java
New file @@ -0,0 +1,16 @@ package com.dsh.competition.feignclient.model; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import java.util.List; @Data @AllArgsConstructor @NoArgsConstructor public class BillingRequestVo { List<BillingRequest> requests; } cloud-server-competition/src/main/java/com/dsh/competition/mapper/PaymentCompetitionMapper.java
@@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.dsh.competition.entity.PaymentCompetition; import com.dsh.competition.feignclient.model.BillingRequest; import com.dsh.competition.model.CompetitionListVo; import org.apache.ibatis.annotations.Param; @@ -24,4 +25,13 @@ */ List<CompetitionListVo> queryMyCompetitionList(@Param("uid") Integer uid, @Param("type") Integer type, @Param("pageSize") Integer pageSize, @Param("pageNo") Integer pageNo); List<BillingRequest> queryDatas(@Param("appUserId") Integer appUserId, @Param("monthStart")String monthStart, @Param("monthEnd")String monthEnd); List<BillingRequest> queryCancelDatas(@Param("appUserId") Integer appUserId, @Param("monthStart")String monthStart, @Param("monthEnd")String monthEnd); } cloud-server-competition/src/main/java/com/dsh/competition/service/IPaymentCompetitionService.java
@@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.dsh.competition.entity.PaymentCompetition; import com.dsh.competition.feignclient.model.BillingRequest; import com.dsh.competition.model.CompetitionInfo; import com.dsh.competition.model.CompetitionListVo; import com.dsh.competition.util.ResultUtil; @@ -43,4 +44,9 @@ * @throws Exception */ ResultUtil cancelMyCompetition(Long id) throws Exception; List<BillingRequest> queryDatas(Integer appUserId, String monthStart, String monthEnd); List<BillingRequest> queryCancelDatas(Integer appUserId, String monthStart, String monthEnd); } cloud-server-competition/src/main/java/com/dsh/competition/service/impl/PaymentCompetitionServiceImpl.java
@@ -12,6 +12,7 @@ import com.dsh.competition.feignclient.account.model.Student; import com.dsh.competition.feignclient.course.CoursePackagePaymentClient; import com.dsh.competition.feignclient.course.model.PaymentDeductionClassHour; import com.dsh.competition.feignclient.model.BillingRequest; import com.dsh.competition.feignclient.other.StoreClient; import com.dsh.competition.feignclient.other.model.Store; import com.dsh.competition.mapper.PaymentCompetitionMapper; @@ -232,4 +233,14 @@ } return ResultUtil.success(); } @Override public List<BillingRequest> queryDatas(Integer appUserId, String monthStart, String monthEnd) { return this.baseMapper.queryDatas(appUserId,monthStart,monthEnd); } @Override public List<BillingRequest> queryCancelDatas(Integer appUserId, String monthStart, String monthEnd) { return this.baseMapper.queryCancelDatas(appUserId,monthStart,monthEnd); } } cloud-server-competition/src/main/resources/mapper/PaymentCompetitionMapper.xml
@@ -33,4 +33,28 @@ </if> order by a.insertTime desc limit #{pageNo}, #{pageSize} </select> <select id="queryDatas" resultType="com.dsh.competition.feignclient.model.BillingRequest"> SELECT DATE_FORMAT(insertTime, '%m-%d %H:%i')as `time`, amount from t_payment_competition where payStatus = 2 and payType = 1 and payType = 2 <if test="null != monthStart and '' != monthStart and null != monthEnd and '' != monthEnd"> and DATE_FORMAT(payTime, '%Y-%m-%d %H:%i:%s') between #{monthStart} and #{monthEnd} </if> <if test="null != appUserId and '' != appUserId "> and appUserId = #{appUserId} </if> </select> <select id="queryCancelDatas" resultType="com.dsh.competition.feignclient.model.BillingRequest"> SELECT DATE_FORMAT(insertTime, '%m-%d %H:%i')as `time`, amount from t_payment_competition where payStatus = 3 and payType = 1 and payType = 2 <if test="null != monthStart and '' != monthStart and null != monthEnd and '' != monthEnd"> and DATE_FORMAT(refundTime, '%Y-%m-%d %H:%i:%s') between #{monthStart} and #{monthEnd} </if> <if test="null != appUserId and '' != appUserId "> and appUserId = #{appUserId} </if> </select> </mapper> cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
@@ -12,6 +12,8 @@ import com.dsh.course.feignclient.other.StoreClient; import com.dsh.course.feignclient.other.model.Store; import com.dsh.course.model.BaseVo; import com.dsh.course.model.BillingRequest; import com.dsh.course.model.BillingRequestVo; import com.dsh.course.model.dto.DiscountJsonDto; import com.dsh.course.model.vo.CourseDetailRequest; import com.dsh.course.model.vo.RegisterCourseVo; @@ -383,14 +385,16 @@ return paymentVos; } @ResponseBody @PostMapping("/base/coursePack/allAmountPayRecordOfUser") public List<TCoursePackagePayment> getAmountPayRecord(@RequestBody BillingDataRequestVo billingDataRequestVo){ return packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>() .eq("appUserId",billingDataRequestVo.getAppUserId()) .notIn("payType",3) .eq("payStatus",2) .eq("state",1) .between("insertTime",billingDataRequestVo.getMonthStart(),billingDataRequestVo.getMonthEnd())); public BillingRequestVo getAmountPayRecord(@RequestBody BillingDataRequestVo billingDataRequestVo){ BillingRequestVo requestVo = new BillingRequestVo(); List<BillingRequest> billingRequests = packagePaymentService.queryAmountDatas(billingDataRequestVo.getAppUserId(), billingDataRequestVo.getMonthStart(), billingDataRequestVo.getMonthEnd()); if (billingRequests.size() >0){ requestVo.setRequests(billingRequests); } return requestVo; } cloud-server-course/src/main/java/com/dsh/course/feignclient/CoursePaymentClient.java
@@ -55,9 +55,6 @@ @PostMapping("/base/coursePack/savePaymentCoursePackage") public boolean savePaymentCoursePackage(@RequestBody TCoursePackagePayment packagePayment); @PostMapping("/base/coursePack/allAmountPayRecordOfUser") public List<TCoursePackagePayment> getAmountPayRecord(@RequestBody BillingDataRequestVo appUserId); @PostMapping("/base/coursePack/obtainStudentClassDetails") List<RecordAppoint> obtainStudentClassDetailsData(@RequestBody Integer stuId); cloud-server-course/src/main/java/com/dsh/course/feignclient/model/BillingDataRequestVo.java
@@ -10,10 +10,10 @@ public class BillingDataRequestVo { @ApiModelProperty(value = "开始时间") private Date monthStart = null; private String monthStart = null; @ApiModelProperty(value = "结束时间时间") private Date monthEnd = null; private String monthEnd = null; @ApiModelProperty(value = "用户id") private Integer appUserId; cloud-server-course/src/main/java/com/dsh/course/mapper/TCoursePackagePaymentMapper.java
@@ -2,7 +2,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.dsh.course.entity.TCoursePackagePayment; import com.dsh.course.model.BillingRequest; import org.apache.ibatis.annotations.Param; import java.util.List; /** * <p> @@ -25,4 +28,8 @@ TCoursePackagePayment getCoursePackagePaymentByCode(@Param("code") String code); List<BillingRequest> billingDataRequestVo(@Param("appUserId")Integer appUserId, @Param("monthStart")String monthStart, @Param("monthEnd")String monthEnd); } cloud-server-course/src/main/java/com/dsh/course/model/BillingRequest.java
New file @@ -0,0 +1,21 @@ package com.dsh.course.model; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @Data @AllArgsConstructor @NoArgsConstructor public class BillingRequest { /** * MM-dd HH:mm */ private String time; /** * 金额 */ private double amount; } cloud-server-course/src/main/java/com/dsh/course/model/BillingRequestVo.java
New file @@ -0,0 +1,17 @@ package com.dsh.course.model; import com.dsh.course.model.BillingRequest; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import java.util.List; @Data @AllArgsConstructor @NoArgsConstructor public class BillingRequestVo { List<BillingRequest> requests; } cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackagePaymentService.java
@@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.dsh.course.entity.TCoursePackagePayment; import com.dsh.course.feignclient.model.RecordAppoint; import com.dsh.course.model.BillingRequest; import com.dsh.course.model.vo.RegisterCourseVo; import com.dsh.course.model.vo.request.ClasspaymentRequest; import com.dsh.course.model.vo.request.CourseOfAfterRequest; @@ -88,4 +89,6 @@ ResultUtil insertVipPaymentCallback(String code, String orderNumber); List<BillingRequest> queryAmountDatas(Integer appUserId, String monthStart, String monthEnd); } cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java
@@ -19,6 +19,7 @@ import com.dsh.course.feignclient.other.StoreClient; import com.dsh.course.feignclient.other.model.Store; import com.dsh.course.mapper.*; import com.dsh.course.model.BillingRequest; import com.dsh.course.model.dto.DiscountJsonDto; import com.dsh.course.model.vo.RegisterCourseVo; import com.dsh.course.model.vo.request.ClasspaymentRequest; @@ -632,5 +633,10 @@ return ResultUtil.success(); } @Override public List<BillingRequest> queryAmountDatas(Integer appUserId, String monthStart, String monthEnd) { return this.baseMapper.billingDataRequestVo(appUserId,monthStart,monthEnd); } } cloud-server-course/src/main/resources/mapper/TCoursePackagePaymentMapper.xml
@@ -42,4 +42,17 @@ and `code` = #{code} </if> </select> <select id="billingDataRequestVo" resultType="com.dsh.course.model.BillingRequest"> SELECT DATE_FORMAT(payTime, '%m-%d %H:%i')as `time`, amount from t_course_package_payment where payStatus = 2 and state = 1 and payType = 3 <if test="null != monthStart and '' != monthStart and null != monthEnd and '' != monthEnd"> and DATE_FORMAT(insertTime, '%Y-%m-%d %H:%i:%s') between #{monthStart} and #{monthEnd} </if> <if test="null != appUserId and '' != appUserId "> and appUserId = #{appUserId} </if> </select> </mapper> cloud-server-management/src/main/webapp/static/modular/system/tCoupon/TCouponInfo.js
@@ -237,16 +237,13 @@ //获取所有的值 var subArr= this.storeIds; $(".timeClass").each(function () { subArr.push({ id:$(this).find("input[name*='id']").val(), }) subArr.push($(this).find("input[name*='id']").val()); }); console.log(subArr); var str = ''; for(var i in arrays){ var b = true; for(var j in subArr){ if(arr[i].id == subArr[j]){ if(arrays[i].id === Number(subArr[j])){ b = false; break } @@ -259,10 +256,19 @@ } } $("#coun").append(str); console.log('storeIds',this.storeIds) } function deleteSub(e) { console.log(e); var row = $(e).closest('tr'); var idValue = row.find('#id').val(); var index = this.storeIds.indexOf(idValue.toString()); if (index !== -1) { this.storeIds.splice(index, 1); } $(e).parent().parent().remove(); console.log('storeIds',this.storeIds) } cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java
@@ -363,19 +363,15 @@ * @param requestVo * @return */ @ResponseBody @PostMapping("/base/site/queryPaymentSiteDetail") public List<SiteBooking> getAllSiteBookingList(@RequestBody BillingDataRequestVo requestVo){ ArrayList<Integer> integers = new ArrayList<>(); integers.add(1); integers.add(2); integers.add(3); integers.add(4); integers.add(5); return siteBookingService.list(new QueryWrapper<SiteBooking>() .in("status",integers) .ne("payType",3) .eq("appUserId",requestVo.getAppUserId()) .between("payTime",requestVo.getMonthStart(),requestVo.getMonthEnd())); public RequestOfTypeVo getAllSiteBookingList(@RequestBody BillingDataRequestVo requestVo){ RequestOfTypeVo typeVo = new RequestOfTypeVo(); List<BillingRequestOfType> billingRequestOfTypes = siteBookingService.queryDatas(requestVo.getAppUserId(), requestVo.getMonthStart(), requestVo.getMonthEnd()); if (billingRequestOfTypes.size() > 0 ){ typeVo.setRequest(billingRequestOfTypes); } return typeVo; } /** @@ -383,6 +379,7 @@ * @param appUserId * @return */ @ResponseBody @PostMapping("/base/site/queryPlaypaiGoldSiteDetail") public List<SiteBooking> wanpaiGoldSiteBookingList(@RequestBody Integer appUserId){ ArrayList<Integer> integers = new ArrayList<>(); @@ -398,6 +395,7 @@ } @ResponseBody @PostMapping("/base/site/getNewAddSiteList") public List<SiteVo> getAppUserSiteList(){ List<SiteVo> siteVos = new ArrayList<>(); cloud-server-other/src/main/java/com/dsh/other/controller/StoredValueConfigController.java
@@ -34,7 +34,6 @@ private StoredValueConfigService svconfigService; @ResponseBody @PostMapping("/base/stored/getRechargeArrange") public List<Map<String,Object>> getRechargeConfig(){ List<Map<String,Object>> responses = new ArrayList<>(); cloud-server-other/src/main/java/com/dsh/other/feignclient/SiteClient.java
@@ -3,6 +3,7 @@ import com.dsh.other.entity.SiteBooking; import com.dsh.other.feignclient.model.BillingDataRequestVo; import com.dsh.other.feignclient.model.SiteVo; import com.dsh.other.model.BillingRequestOfType; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -14,7 +15,7 @@ public interface SiteClient { @PostMapping("/base/site/queryPaymentSiteDetail") List<SiteBooking> getAllSiteBookingList(@RequestBody BillingDataRequestVo requestVo); List<BillingRequestOfType> getAllSiteBookingList(@RequestBody BillingDataRequestVo requestVo); @PostMapping("/base/site/queryPlaypaiGoldSiteDetail") List<SiteBooking> wanpaiGoldSiteBookingList(@RequestBody Integer appUserId); cloud-server-other/src/main/java/com/dsh/other/feignclient/model/BillingDataRequestVo.java
@@ -10,10 +10,10 @@ public class BillingDataRequestVo { @ApiModelProperty(value = "开始时间") private Date monthStart = null; private String monthStart = null; @ApiModelProperty(value = "结束时间时间") private Date monthEnd = null; private String monthEnd = null; @ApiModelProperty(value = "用户id") private Integer appUserId; cloud-server-other/src/main/java/com/dsh/other/mapper/SiteBookingMapper.java
@@ -2,10 +2,15 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.dsh.other.entity.SiteBooking; import com.dsh.other.model.BillingRequestOfType; import java.util.List; /** * @author zhibing.pu * @date 2023/7/13 16:48 */ public interface SiteBookingMapper extends BaseMapper<SiteBooking> { List<BillingRequestOfType> queryDatas(Integer appUserId, String monthStart, String monthEnd); } cloud-server-other/src/main/java/com/dsh/other/model/BillingRequestOfType.java
New file @@ -0,0 +1,24 @@ package com.dsh.other.model; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @Data @AllArgsConstructor @NoArgsConstructor public class BillingRequestOfType { /** * */ private Integer status; /** * MM-dd HH:mm */ private String time; /** * 金额 */ private double amount; } cloud-server-other/src/main/java/com/dsh/other/model/RequestOfTypeVo.java
New file @@ -0,0 +1,15 @@ package com.dsh.other.model; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import java.util.List; @Data @AllArgsConstructor @NoArgsConstructor public class RequestOfTypeVo { List<BillingRequestOfType> request; } cloud-server-other/src/main/java/com/dsh/other/service/ISiteBookingService.java
@@ -2,10 +2,15 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.dsh.other.entity.SiteBooking; import com.dsh.other.model.BillingRequestOfType; import java.util.List; /** * @author zhibing.pu * @date 2023/7/13 16:49 */ public interface ISiteBookingService extends IService<SiteBooking> { List<BillingRequestOfType> queryDatas(Integer appUserId, String monthStart, String monthEnd); } cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteBookingServiceImpl.java
@@ -3,8 +3,11 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.dsh.other.entity.SiteBooking; import com.dsh.other.mapper.SiteBookingMapper; import com.dsh.other.model.BillingRequestOfType; import com.dsh.other.service.ISiteBookingService; import org.springframework.stereotype.Service; import java.util.List; /** * @author zhibing.pu @@ -12,4 +15,8 @@ */ @Service public class SiteBookingServiceImpl extends ServiceImpl<SiteBookingMapper, SiteBooking> implements ISiteBookingService { @Override public List<BillingRequestOfType> queryDatas(Integer appUserId, String monthStart, String monthEnd) { return this.baseMapper.queryDatas(appUserId,monthStart,monthEnd); } } cloud-server-other/src/main/resources/mapper/SiteBookingMapper.xml
@@ -3,4 +3,17 @@ <mapper namespace="com.dsh.other.mapper.SiteBookingMapper"> <select id="queryDatas" resultType="com.dsh.other.model.BillingRequestOfType"> SELECT DATE_FORMAT(insertTime, '%m-%d %H:%i')as `time`, payMoney as amount, `status` from t_site_booking where payType != 3 and status != 0 <if test="null != monthStart and '' != monthStart and null != monthEnd and '' != monthEnd"> and DATE_FORMAT(payTime, '%Y-%m-%d %H:%i:%s') between #{monthStart} and #{monthEnd} </if> <if test="null != appUserId and '' != appUserId "> and appUserId = #{appUserId} </if> </select> </mapper>