From 8033ea73b898357ad8853524ba558b18c42c2bbe Mon Sep 17 00:00:00 2001 From: nickchange <126672920+nickchange@users.noreply.github.com> Date: 星期三, 01 十一月 2023 20:27:51 +0800 Subject: [PATCH] 10.31.6 --- cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java | 21 +++-- cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java | 25 ++++-- cloud-server-account/src/main/java/com/dsh/account/service/impl/VipPaymentServiceImpl.java | 17 +++- cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java | 93 ++++++++++++++++++++++ cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/Goods.java | 3 cloud-server-account/src/main/java/com/dsh/account/service/impl/RechargeRecordsServiceImpl.java | 22 +++-- cloud-server-account/src/main/java/com/dsh/account/util/PayMoneyUtil.java | 15 ++- 7 files changed, 157 insertions(+), 39 deletions(-) diff --git a/cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/Goods.java b/cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/Goods.java index b651466..e75f187 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/Goods.java +++ b/cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/Goods.java @@ -39,5 +39,8 @@ private Integer nums; @ApiModelProperty(value = "门店id") private List<Integer> shopIds; + @ApiModelProperty(value = "使用范围") + private Integer useScope; + } diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/RechargeRecordsServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/RechargeRecordsServiceImpl.java index ef9dd85..e24cde3 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/RechargeRecordsServiceImpl.java +++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/RechargeRecordsServiceImpl.java @@ -1,5 +1,6 @@ package com.dsh.account.service.impl; +import com.alipay.api.response.AlipayTradeQueryResponse; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.dsh.account.entity.RechargeRecords; @@ -254,29 +255,34 @@ if(records.getPayStatus() == 2){ break; } - ResultUtil<Map<String, String>> resultUtil = payMoneyUtil.queryALIOrder(code); - if(resultUtil.getCode() == 200 && records.getPayStatus() == 1){ + AlipayTradeQueryResponse resultUtil = payMoneyUtil.queryALIOrder(code); + + if(resultUtil.getCode().equals("10000")&& records.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){ +// Map<String, String> data1 = resultUtil.getData(); +// String s = data1.get("tradeStatus"); +// String tradeNo = data1.get("tradeNo"); + + String tradeNo = resultUtil.getTradeNo(); + String tradeStatus = resultUtil.getTradeStatus(); + System.out.println("ssssss"+tradeStatus); + if("TRADE_CLOSED".equals(tradeStatus) || "TRADE_FINISHED".equals(tradeStatus) || num == 10){ records.setState(3); rereMapper.deleteById(records.getId()); break; } - if("TRADE_SUCCESS".equals(s)){ + if("TRADE_SUCCESS".equals(tradeStatus)){ records.setPayStatus(2); records.setOrderNumber(tradeNo); rereMapper.updateById(records); break; } - if("WAIT_BUYER_PAY".equals(s)){ + if("WAIT_BUYER_PAY".equals(tradeStatus)){ num++; } } 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 2426ac0..3c0b63d 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 @@ -11,6 +11,7 @@ import com.alipay.api.request.AlipayTradeOrderSettleRequest; import com.alipay.api.request.AlipayTradeRoyaltyRelationBindRequest; import com.alipay.api.response.AlipayTradeOrderSettleResponse; +import com.alipay.api.response.AlipayTradeQueryResponse; import com.alipay.api.response.AlipayTradeRoyaltyRelationBindResponse; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -943,6 +944,7 @@ commodity.setGoodsType(4); commodity.setShopIds(ucponClient.getCouponStoreIds(allCoupon.getId())); commodity.setNums(ucponClient.getRedeemedQuantity(allCoupon.getId())); + commodity.setUseScope(allCoupon.getUseScope()); goods.add(commodity); } } @@ -958,7 +960,7 @@ if (request.getShopId()!=null){ if (goods.size() > 0 ){ goods = goods.stream() - .filter(merchandise -> merchandise.getShopIds().contains(request.getShopId())) + .filter( merchandise ->(merchandise.getGoodsType() == 4&&merchandise.getUseScope() == 1)||merchandise.getShopIds().contains(request.getShopId())) .collect(Collectors.toList()); } } @@ -1462,22 +1464,27 @@ if(userPointsMerchandises.get(0).getPayStatus() == 2){ break; } - ResultUtil<Map<String, String>> resultUtil = payMoneyUtil.queryALIOrder(code); - if(resultUtil.getCode() == 200 && userPointsMerchandises.get(0).getPayStatus() == 1){ +// ResultUtil<Map<String, String>> resultUtil = payMoneyUtil.queryALIOrder(code); + AlipayTradeQueryResponse resultUtil = payMoneyUtil.queryALIOrder(code); + if(resultUtil.getCode().equals("10000") && 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("REFUND".equals(s) || "NOTPAY".equals(s) || "CLOSED".equals(s) || "REVOKED".equals(s) || "PAYERROR".equals(s) || num == 10){ +// Map<String, String> data1 = resultUtil.getData(); +// String s = data1.get("tradeStatus"); +// String tradeNo = data1.get("tradeNo"); + + String tradeNo = resultUtil.getTradeNo(); + String tradeStatus = resultUtil.getTradeStatus(); + System.out.println("ssssss"+tradeStatus); + if("REFUND".equals(tradeStatus) || "NOTPAY".equals(tradeStatus) || "CLOSED".equals(tradeStatus) || "REVOKED".equals(tradeStatus) || "PAYERROR".equals(tradeStatus) || num == 10){ mcClient.deletePaymentRecord(code); break; } - if("TRADE_SUCCESS".equals(s)){ + if("TRADE_SUCCESS".equals(tradeStatus)){ for (UserPointsMerchandise userPointsMerchandise : userPointsMerchandises) { userPointsMerchandise.setPayStatus(2); userPointsMerchandise.setOrderNumber(tradeNo); @@ -1487,7 +1494,7 @@ moneyOut(tradeNo,tradeNo); break; } - if("WAIT_BUYER_PAY".equals(s)){ + if("WAIT_BUYER_PAY".equals(tradeStatus)){ num++; } } diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java index 2bee448..c9fef86 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java +++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java @@ -1,5 +1,6 @@ package com.dsh.account.service.impl; +import com.alipay.api.response.AlipayTradeQueryResponse; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -585,23 +586,27 @@ if(coursePackagePayment.getPayStatus() == 2){ break; } - ResultUtil<Map<String, String>> resultUtil = payMoneyUtil.queryALIOrder(code); - if(resultUtil.getCode() == 200 && coursePackagePayment.getPayStatus() == 1){ + AlipayTradeQueryResponse resultUtil = payMoneyUtil.queryALIOrder(code); + + if(resultUtil.getCode().equals("10000") && coursePackagePayment.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){ +// Map<String, String> data1 = resultUtil.getData(); +// String s = data1.get("tradeStatus"); +// String tradeNo = data1.get("tradeNo"); + String tradeNo = resultUtil.getTradeNo(); + String tradeStatus = resultUtil.getTradeStatus(); + System.out.println("ssssss"+tradeStatus); + if("TRADE_CLOSED".equals(tradeStatus) || "TRADE_FINISHED".equals(tradeStatus) || num == 10){ coursePackagePayment.setState(3); couPayClient.delPaymentCoursePackage(coursePackagePayment.getId()); break; } - if("TRADE_SUCCESS".equals(s)){ + if("TRADE_SUCCESS".equals(tradeStatus)){ coursePackagePayment.setPayStatus(2); coursePackagePayment.setTotalClassHours(hour); coursePackagePayment.setLaveClassHours(hour); @@ -609,7 +614,7 @@ couPayClient.updatePaymentCoursePackage(coursePackagePayment); break; } - if("WAIT_BUYER_PAY".equals(s)){ + if("WAIT_BUYER_PAY".equals(tradeStatus)){ num++; } } diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/VipPaymentServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/VipPaymentServiceImpl.java index 4e9e887..b33f066 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/VipPaymentServiceImpl.java +++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/VipPaymentServiceImpl.java @@ -1,5 +1,6 @@ package com.dsh.account.service.impl; +import com.alipay.api.response.AlipayTradeQueryResponse; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.dsh.account.entity.TAppUser; @@ -181,11 +182,16 @@ * TRADE_SUCCESS(交易支付成功)、 * TRADE_FINISHED(交易结束,不可退款) */ - ResultUtil<Map<String, String>> resultUtil = payMoneyUtil.queryALIOrder(code); - if(resultUtil.getCode() == 200){ - Map<String, String> map = resultUtil.getData(); - String tradeStatus = map.get("tradeStatus"); - String tradeNo = map.get("tradeNo"); + AlipayTradeQueryResponse resultUtil = payMoneyUtil.queryALIOrder(code); + + if(resultUtil.getCode().equals("10000")){ +// Map<String, String> map = resultUtil.getData(); +// String tradeStatus = map.get("tradeStatus"); +// String tradeNo = map.get("tradeNo"); + + String tradeNo = resultUtil.getTradeNo(); + String tradeStatus = resultUtil.getTradeStatus(); + System.out.println("ssssss"+tradeStatus); if("TRADE_CLOSED".equals(tradeStatus) || "TRADE_FINISHED".equals(tradeStatus)){ vipPayment1.setState(3); VipPaymentServiceImpl.this.updateById(vipPayment1); @@ -199,6 +205,7 @@ TAppUser appUser = appUserService.getById(vipPayment1.getAppUserId()); Date vipEndTime = appUser.getVipEndTime(); + appUser.setIsVip(1); if(null == vipEndTime){ vipEndTime = new Date(); } diff --git a/cloud-server-account/src/main/java/com/dsh/account/util/PayMoneyUtil.java b/cloud-server-account/src/main/java/com/dsh/account/util/PayMoneyUtil.java index 81bd0d1..e21ff45 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/util/PayMoneyUtil.java +++ b/cloud-server-account/src/main/java/com/dsh/account/util/PayMoneyUtil.java @@ -314,19 +314,20 @@ * @return * @throws Exception */ - public ResultUtil queryALIOrder(String out_trade_no) throws Exception{ + public AlipayTradeQueryResponse queryALIOrder(String out_trade_no) throws Exception{ AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do",aliAppid, appPrivateKey,"json","UTF-8",alipay_public_key,"RSA2"); AlipayTradeQueryRequest request = new AlipayTradeQueryRequest(); request.setBizContent("{" + " \"out_trade_no\":\"" + out_trade_no + "\"" + "}"); AlipayTradeQueryResponse response = alipayClient.execute(request); - if(response.isSuccess()){ - String tradeStatus = response.getTradeStatus();//交易状态:WAIT_BUYER_PAY(交易创建,等待买家付款)、TRADE_CLOSED(未付款交易超时关闭,或支付完成后全额退款)、TRADE_SUCCESS(交易支付成功)、TRADE_FINISHED(交易结束,不可退款) - return ResultUtil.success(tradeStatus); - } else { - return ResultUtil.error(response.getMsg()); - } + return response; +// if(response.isSuccess()){ +// String tradeStatus = response.getTradeStatus();//交易状态:WAIT_BUYER_PAY(交易创建,等待买家付款)、TRADE_CLOSED(未付款交易超时关闭,或支付完成后全额退款)、TRADE_SUCCESS(交易支付成功)、TRADE_FINISHED(交易结束,不可退款) +// return ResultUtil.success(response); +// } else { +// return ResultUtil.error(response.getMsg()); +// } } 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 55f23ea..e374344 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 @@ -763,7 +763,7 @@ String startDate = dateFormat.format(pointsMerchandise.getInsertTime()); String endDate = dateFormat.format(end); detailsResponse.setStartTime(startDate); - detailsResponse.setEndTime(endDate); + detailsResponse.setEndTime(startDate); Date now = new Date(); Calendar cal1 = Calendar.getInstance(); @@ -821,7 +821,7 @@ SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); Calendar calendar = Calendar.getInstance(); calendar.setTime(pointsMerchandise.getInsertTime()); - calendar.add(Calendar.DAY_OF_MONTH, 365); + calendar.add(Calendar.DAY_OF_MONTH, 372); Date end = calendar.getTime(); String startDate = dateFormat.format(pointsMerchandise.getInsertTime()); String endDate = dateFormat.format(end); @@ -881,6 +881,95 @@ return 0; // 保持原顺序 } }); + + + + + if (pmdsServiceById.getCardType()==1){ + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(pmdsServiceById.getInsertTime()); + calendar.add(Calendar.DAY_OF_MONTH, 1); + Date end = calendar.getTime(); + String startDate = dateFormat.format(pmdsServiceById.getInsertTime()); + String endDate = dateFormat.format(end); + pmdsServiceById.setStartTime(pmdsServiceById.getInsertTime()); + pmdsServiceById.setEndTime(pmdsServiceById.getInsertTime()); + + Date now = new Date(); + Calendar cal1 = Calendar.getInstance(); + cal1.setTime(pmdsServiceById.getInsertTime()); + + Calendar cal2 = Calendar.getInstance(); + cal2.setTime(now); + + // Compare the year, month, and day of the two Calendar instances + boolean isSameDate = cal1.get(Calendar.YEAR) == cal2.get(Calendar.YEAR) && + cal1.get(Calendar.MONTH) == cal2.get(Calendar.MONTH) && + cal1.get(Calendar.DAY_OF_MONTH) == cal2.get(Calendar.DAY_OF_MONTH); + + // Print the result + if (isSameDate) { + detailsVo.setUseType(3); + } else { + System.out.println("The two dates do not have the same date."); + } + + + } else if (pmdsServiceById.getCardType()==2) { + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(pmdsServiceById.getInsertTime()); + calendar.add(Calendar.DAY_OF_MONTH, 31); + Date end = calendar.getTime(); + String startDate = dateFormat.format(pmdsServiceById.getInsertTime()); + String endDate = dateFormat.format(end); + detailsVo.setStartTime(startDate); + detailsVo.setEndTime(endDate); + + Date now = new Date(); + if (now.after(end)){ + detailsVo.setUseType(3); + } + + } else if (pmdsServiceById.getCardType()==3) { + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(pmdsServiceById.getInsertTime()); + calendar.add(Calendar.DAY_OF_MONTH, 93); + Date end = calendar.getTime(); + String startDate = dateFormat.format(pmdsServiceById.getInsertTime()); + String endDate = dateFormat.format(end); + detailsVo.setStartTime(startDate); + detailsVo.setEndTime(endDate); + + Date now = new Date(); + if (now.after(end)){ + detailsVo.setUseType(3); + } + + } else if (pmdsServiceById.getCardType()==4) { + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(pmdsServiceById.getInsertTime()); + calendar.add(Calendar.DAY_OF_MONTH, 372); + Date end = calendar.getTime(); + String startDate = dateFormat.format(pmdsServiceById.getInsertTime()); + String endDate = dateFormat.format(end); + detailsVo.setStartTime(startDate); + detailsVo.setEndTime(endDate); + + Date now = new Date(); + if (now.after(end)){ + detailsVo.setUseType(3); + } + + } + + + + + break; case 2: CoursePackage coursePackage = cpClient.queryCoursePackageById(pmdsServiceById.getCoursePackageId()); -- Gitblit v1.7.1