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; } 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++; } } 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++; } } 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++; } } 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(); } 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()); // } } 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());