huliguo
1 天以前 d15bb55822001421572bfee603b3d503cd63e07d
pt-errand/src/main/java/com/ruoyi/errand/service/impl/VipOrderServiceImpl.java
@@ -15,10 +15,7 @@
import com.ruoyi.errand.mapper.VipSettingMapper;
import com.ruoyi.errand.object.dto.app.VipPaymentDTO;
import com.ruoyi.errand.service.VipOrderService;
import com.ruoyi.errand.utils.CloseOrderResult;
import com.ruoyi.errand.utils.PaymentUtil;
import com.ruoyi.errand.utils.UniPayCallbackResult;
import com.ruoyi.errand.utils.UniPayResult;
import com.ruoyi.errand.utils.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.security.core.context.SecurityContextHolder;
@@ -51,8 +48,8 @@
        vipOrder.setAppUserId(appuser.getId());
        VipSetting vipSetting = vipSettingMapper.selectById(vipPaymentDTO.getId());
        vipOrder.setOrderAmount(vipSetting.getVip_price());
        vipOrder.setPaymentAmount(vipSetting.getVip_price());
        vipOrder.setOrderAmount(vipSetting.getVipPrice());
        vipOrder.setPaymentAmount(vipSetting.getVipPrice());
        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
        vipOrder.setOrderNumber("QJS" + getNumber(3) + sdf.format(new Date()));
        vipOrder.setPayStatus(1);
@@ -62,7 +59,7 @@
        BigDecimal paymentMoney = vipOrder.getOrderAmount();
        if ( BigDecimal.ZERO.compareTo(paymentMoney) < 0){
            //调起微信支付
            String vipName = vipSetting.getVip_name();
            String vipName = vipSetting.getVipName();
            UniPayResult uniPayResult = PaymentUtil.uniPay(vipOrder.getOrderNumber(), paymentMoney.doubleValue(),  "购买会员",
                    vipName, "", "/app/vipOrder/orderPaymentCallback", appuser.getWxOpenid(), null);
            if(null == uniPayResult || !"100".equals(uniPayResult.getRa_Code())){
@@ -84,8 +81,10 @@
        Long appUserId = vipOrder.getAppUserId();
        AppUser appUser = appUserMapper.selectById(appUserId);
        appUser.setVipId(vipOrder.getVipId());
        if (appUser.getEndTime().isBefore(LocalDateTime.now())) {
            appUser.setStartTime(LocalDateTime.now());
        LocalDateTime now = LocalDateTime.now();
        appUser.setEndTime(appUser.getEndTime()==null?now:appUser.getEndTime());
        if (appUser.getEndTime().isBefore(now)) {
            appUser.setEndTime(now);
        }
        // 根据 vipId 计算会员到期时间
        LocalDateTime endTime = calculateEndTime(appUser.getEndTime(), vipOrder.getVipId());
@@ -115,7 +114,7 @@
        LocalDateTime now = LocalDateTime.now();
        appUser.setEndTime(appUser.getEndTime()==null?now:appUser.getEndTime());
        if (appUser.getEndTime().isBefore(now)) {
            appUser.setStartTime(now);
            appUser.setEndTime(now);
        }
        // 根据 vipId 计算会员到期时间
        LocalDateTime endTime = calculateEndTime(appUser.getEndTime(), vipOrder.getVipId());