44323
2023-11-23 acad524bfb7f376c09ff8e6600fab207780156e1
cloud-server-account/src/main/java/com/dsh/account/service/impl/VipPaymentServiceImpl.java
@@ -1,9 +1,11 @@
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;
import com.dsh.account.entity.VipPayment;
import com.dsh.account.feignclient.activity.UserConponClient;
import com.dsh.account.mapper.VipPaymentMapper;
import com.dsh.account.model.IncomeQuery;
import com.dsh.account.service.IVipPaymentService;
@@ -32,8 +34,6 @@
    @Autowired
    private PayMoneyUtil payMoneyUtil;
    /**
     * 购买年度会员
@@ -85,7 +85,6 @@
                            if(vipPayment1.getPayStatus() != 1){
                                return;
                            }
                            /**
                             * SUCCESS--支付成功
                             * REFUND--转入退款
@@ -112,7 +111,6 @@
                                    vipPayment1.setPayTime(new Date());
                                    vipPayment1.setOrderNumber(transaction_id);
                                    VipPaymentServiceImpl.this.updateById(vipPayment1);
                                    TAppUser appUser = appUserService.getById(vipPayment1.getAppUserId());
                                    Date vipEndTime = appUser.getVipEndTime();
                                    if(null == vipEndTime){
@@ -121,8 +119,11 @@
                                    Calendar calendar = Calendar.getInstance();
                                    calendar.setTime(vipEndTime);
                                    calendar.set(Calendar.YEAR, calendar.get(Calendar.YEAR) + 1);
                                    appUser.setIsVip(1);
                                    appUser.setVipEndTime(calendar.getTime());
                                    appUserService.updateById(appUser);
                                    // 注册会员送券 先判断是否有注册送券类型的优惠券 判断优惠券状态 审核是否通过 是否删除 是否在有效期内 是否领取数量达上限
                                    userConponClient.queryCouponByUser(appUser.getId());
                                    return;
                                }
                                if("USERPAYING".equals(trade_state) || "ACCEPT".equals(trade_state)){
@@ -180,11 +181,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);
@@ -198,6 +204,7 @@
                                    TAppUser appUser = appUserService.getById(vipPayment1.getAppUserId());
                                    Date vipEndTime = appUser.getVipEndTime();
                                    appUser.setIsVip(1);
                                    if(null == vipEndTime){
                                        vipEndTime = new Date();
                                    }
@@ -206,6 +213,8 @@
                                    calendar.set(Calendar.YEAR, calendar.get(Calendar.YEAR) + 1);
                                    appUser.setVipEndTime(calendar.getTime());
                                    appUserService.updateById(appUser);
                                    // 注册会员送券 先判断是否有注册送券类型的优惠券 判断优惠券状态 审核是否通过 是否删除 是否在有效期内 是否领取数量达上限
                                    userConponClient.queryCouponByUser(appUser.getId());
                                    return;
                                }
                                if("WAIT_BUYER_PAY".equals(tradeStatus)){
@@ -232,6 +241,8 @@
    @Autowired
    private UserConponClient userConponClient;
    /**
     * 购买年度会员支付回调处理
     * @param code
@@ -239,7 +250,7 @@
     * @throws Exception
     */
    @Override
    public ResultUtil addVipPaymentCallback(String code, String orderNumber) throws Exception {
    public synchronized ResultUtil addVipPaymentCallback(String code, String orderNumber) throws Exception {
        VipPayment vipPayment1 = VipPaymentServiceImpl.this.getOne(new QueryWrapper<VipPayment>().eq("code", code));
        if(vipPayment1.getPayStatus() != 1){
            return ResultUtil.success();
@@ -255,10 +266,11 @@
            vipEndTime = new Date();
        }
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(vipEndTime);
        calendar.setTime(new Date());
        calendar.set(Calendar.YEAR, calendar.get(Calendar.YEAR) + 1);
        appUser.setVipEndTime(calendar.getTime());
        appUserService.updateById(appUser);
        return ResultUtil.success();
    }