luodangjia
2024-12-09 5728732f45cc45f3c5cbde0abe7a7c5efee605b9
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/VipCenterServiceImpl.java
@@ -6,13 +6,14 @@
import com.ruoyi.account.api.model.AppUser;
import com.ruoyi.account.service.AppUserService;
import com.ruoyi.account.service.VipCenterService;
import com.ruoyi.account.service.VipSettingService;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.order.feignClient.RemoteOrderGoodsClient;
import com.ruoyi.order.model.Order;
import com.ruoyi.other.api.domain.Goods;
import com.ruoyi.other.api.domain.VipGood;
import com.ruoyi.other.api.domain.VipSetting;
import com.ruoyi.other.api.feignClient.VipGoodClient;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -27,46 +28,11 @@
    private RemoteOrderGoodsClient remoteOrderGoodsClient;
    @Resource
    private VipGoodClient vipGoodClient;
    @Resource
    private VipSettingService vipSettingService;
    @Override
    public Boolean checkReadyToBeProxy(Long userId) {
        AppUser appUser = appUserService.getById(userId);
        if (appUser.getShopPoint() >= 500){
            return true;
        }
        if (appUser.getSharePoint() >= 400){
            return true;
        }
        // 当前用户的直推用户
        List<AppUser> bottomUsers = appUserService.list(new LambdaQueryWrapper<AppUser>()
                .eq(AppUser::getInviteUserId, userId)
                .eq(AppUser::getVipId,3));
        if (bottomUsers.size() >= 5){
            return true;
        }
        // 是否购买指定商品
        R<List<VipGood>> vipGoodsByVipId = vipGoodClient.getVipGoodsByVipId(4);
        if (R.isError(vipGoodsByVipId)){
            throw new RuntimeException("根据会员id获取会员购买商品失败:" + vipGoodsByVipId.getMsg());
        }
        List<VipGood> vipGoodList = vipGoodsByVipId.getData();
        if (CollectionUtil.isNotEmpty(vipGoodList)){
            List<String> goodJsonList = vipGoodList.stream().map(VipGood::getGoodJson).collect(Collectors.toList());
            for (String goodJson : goodJsonList) {
                Goods goods = JSONObject.parseObject(goodJson, Goods.class);
                R<List<Order>> orderR = remoteOrderGoodsClient.getOrderListByUserIdAndGoodsId(userId, goods.getId());
                if (R.isError(orderR)){
                    throw new RuntimeException("根据用户id和商品id获取订单失败:" + orderR.getMsg());
                }
                if (CollectionUtil.isEmpty(orderR.getData())){
                    return false;
                }
            }
            return true;
        }
    public Boolean checkReadyToBeProxy(Long userId,Integer vipId) {
        return false;
    }