nickchange
2023-11-01 bbee9271b06ede8c00f795be690835e28a142d4a
cloud-server-account/src/main/java/com/dsh/account/service/impl/VipPaymentServiceImpl.java
@@ -4,16 +4,21 @@
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;
import com.dsh.account.service.TAppUserService;
import com.dsh.account.util.PayMoneyUtil;
import com.dsh.account.util.ResultUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import java.math.BigDecimal;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
@@ -29,8 +34,6 @@
    @Autowired
    private PayMoneyUtil payMoneyUtil;
    /**
     * 购买年度会员
     * @param uid
@@ -41,7 +44,7 @@
    public ResultUtil addVipPayment(Integer uid, Integer payType) throws Exception {
        VipPayment vipPayment = new VipPayment();
        vipPayment.setCode(VipPayment.CODE());
        vipPayment.setAmount(199D);
        vipPayment.setAmount(0.01D);
        vipPayment.setAppUserId(uid);
        vipPayment.setInsertTime(new Date());
        vipPayment.setPayStatus(1);
@@ -108,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){
@@ -117,6 +119,7 @@
                                    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);
                                    return;
@@ -228,6 +231,8 @@
    @Autowired
    private UserConponClient userConponClient;
    /**
     * 购买年度会员支付回调处理
     * @param code
@@ -235,7 +240,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,6 +260,10 @@
        calendar.set(Calendar.YEAR, calendar.get(Calendar.YEAR) + 1);
        appUser.setVipEndTime(calendar.getTime());
        appUserService.updateById(appUser);
        // 注册会员送券 先判断是否有注册送券类型的优惠券 判断优惠券状态 审核是否通过 是否删除 是否在有效期内 是否领取数量达上限
        userConponClient.queryCouponByUser(appUser.getId());
        return ResultUtil.success();
    }
}