nickchange
2023-11-01 8033ea73b898357ad8853524ba558b18c42c2bbe
10.31.6
7个文件已修改
196 ■■■■ 已修改文件
cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/Goods.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/service/impl/RechargeRecordsServiceImpl.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/service/impl/VipPaymentServiceImpl.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/util/PayMoneyUtil.java 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java 93 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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());