luodangjia
2024-12-19 60f70f7409ec1ece8905e088fb43e0cb0258a70b
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/VipCenterController.java
@@ -6,13 +6,11 @@
import com.ruoyi.account.vo.vip.Level;
import com.ruoyi.account.vo.vip.VipLevel;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.common.core.utils.bean.BeanUtils;
import com.ruoyi.common.security.service.TokenService;
import com.ruoyi.other.api.domain.*;
import com.ruoyi.other.api.feignClient.BaseSettingClient;
import com.ruoyi.other.api.feignClient.GoodsVipClient;
import com.ruoyi.other.api.feignClient.RemoteVipSettingClient;
import com.ruoyi.other.api.feignClient.VipGoodClient;
import com.ruoyi.other.api.feignClient.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
@@ -45,6 +43,8 @@
    private VipCenterService vipCenterService;
    @Resource
    private VipGoodClient vipGoodClient;
    @Resource
    private GoodsClient goodsClient;
    @GetMapping("getVipLevelList")
@@ -87,21 +87,22 @@
                level.setVipDesc(baseSetting.getContent());
                R<List<VipGood>> vipGoodR = vipGoodsMap.get(vipSetting.getId());
                if (R.isSuccess(vipGoodR)) {
                    List<VipGood> vipGoodList = vipGoodR.getData();
                    if (vipGoodList != null && !vipGoodList.isEmpty()) {
                        List<String> goodsNames = new ArrayList<>();
                        vipGoodList.forEach(vipGood -> {
                            String goodJson = vipGood.getGoodJson();
                            if (isValidJson(goodJson)) {
                                Goods goods = JSONObject.parseObject(goodJson, Goods.class);
                                goodsNames.add(goods.getName());
                            } else {
                                log.warn("JSON无效: " + goodJson);
                            }
                        });
                        level.setGoodsNames(goodsNames);
                    }
                if (R.isError(vipGoodR)) {
                    throw new ServiceException("会员商品获取失败");
                }
                List<VipGood> vipGoodList = vipGoodR.getData();
                if (vipGoodList != null && !vipGoodList.isEmpty()) {
                    List<String> goodsNames = new ArrayList<>();
                    vipGoodList.forEach(vipGood -> {
                        Integer goodId = vipGood.getGoodId();
                        R<Goods> goodsR = goodsClient.getGoodsById(goodId);
                        if (R.isError(goodsR)) {
                         throw new ServiceException("商品信息获取失败");
                        }
                        Goods goods = goodsR.getData();
                        goodsNames.add(goods.getName());
                    });
                    level.setGoodsNames(goodsNames);
                }
                levelList.add(level);
            });