1.
phpcjl
2024-12-05 bd8574be2b262a901865dd5fea9cc35da8e2d229
1.
5个文件已修改
1个文件已删除
1个文件已添加
167 ■■■■■ 已修改文件
ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/RemoteVipSettingFallbackFactory.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/RemoteVipSettingClient.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/VipCenter.java 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/vo/vip/Describe.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/vo/vip/Level.java 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/vo/vip/VipLevel.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/VipSettingController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/RemoteVipSettingFallbackFactory.java
@@ -7,6 +7,8 @@
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FallbackFactory;
import java.util.List;
@Slf4j
public class RemoteVipSettingFallbackFactory implements FallbackFactory<RemoteVipSettingClient> {
    @Override
@@ -17,6 +19,11 @@
                log.error("获取会员设置信息失败:{}", cause.getMessage());
                throw new ServiceException("获取会员设置信息失败");
            }
            @Override
            public R<List<VipSetting>> list() {
                return R.fail("获取会员设置信息失败");
            }
        };
    }
}
ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/RemoteVipSettingClient.java
@@ -8,9 +8,14 @@
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
@FeignClient(contextId = "RemoteVipSettingClient", value = ServiceNameConstants.OTHER_SERVICE, fallbackFactory = RemoteVipSettingFallbackFactory.class)
public interface RemoteVipSettingClient {
    @GetMapping("/vip-setting/getVipSettingById")
    R<VipSetting> getVipSettingById(@RequestParam(value = "id",required = true) Integer id);
    @GetMapping("/vip-setting/list")
    R<List<VipSetting>> list();
}
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/VipCenter.java
@@ -1,14 +1,85 @@
package com.ruoyi.account.controller;
import com.ruoyi.account.service.VipSettingService;
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.security.service.TokenService;
import com.ruoyi.other.api.domain.BaseSetting;
import com.ruoyi.other.api.domain.VipSetting;
import com.ruoyi.other.api.feignClient.BaseSettingClient;
import com.ruoyi.other.api.feignClient.RemoteVipSettingClient;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.log4j.Log4j2;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
@RestController
@RequestMapping("/vipCenter")
@Api(tags = "小程序-会员中心")
@Log4j2
public class VipCenter {
    @Resource
    private RemoteVipSettingClient remoteVipSettingClient;
    @Resource
    private BaseSettingClient baseSettingClient;
    @Resource
    private VipSettingService vipSettingService;
    @Resource
    private TokenService tokenService;
    @GetMapping("getVipLevelList")
    @ApiOperation(value = "会员等级列表", tags = {"会员中心-小程序"})
    public R<VipLevel> vipLevelList() {
        R<List<VipSetting>> r = remoteVipSettingClient.list();
        if (!R.isSuccess(r)){
            return R.fail("会员等级获取失败");
        }
        List<VipSetting> vipSettingList = r.getData();
        if (vipSettingList == null || vipSettingList.isEmpty()){
            return R.fail("会员等级获取失败");
        }
        R<BaseSetting> baseSettingR = baseSettingClient.getBaseSetting(3);
        if (!R.isSuccess(baseSettingR)){
            log.error("【会员设置说明】获取失败");
            return R.fail("会员等级获取失败");
        }
        BaseSetting baseSetting = baseSettingR.getData();
        if (baseSetting == null){
            log.error("【会员设置说明】未设置");
            return R.fail("会员等级获取失败");
        }
        Long userid = tokenService.getLoginUserApplet().getUserid();
        VipSetting loginUserVipSetting = vipSettingService.getVipSettingByUserId(userid);
        VipLevel vipLevel = new VipLevel();
        List<Level> levelList = new ArrayList<>();
        vipSettingList.forEach(vipSetting -> {
            Level level = new Level();
            level.setId(vipSetting.getId());
            level.setName(vipSetting.getVipName());
            level.setVipInfo(vipSetting.getVipInfo());
            level.setVipDesc(baseSetting.getContent());
            level.setVipLevelUpShop(vipSetting.getVipLevelUpShop());
            level.setVipLevelUpShare(vipSetting.getVipLevelUpShare());
            level.setKeepBuyDay(vipSetting.getKeepBuyDay());
            level.setKeepBuyPoint(vipSetting.getKeepBuyPoint());
            level.setKeepShareDay(vipSetting.getKeepShareDay());
            level.setKeepSharePoint(vipSetting.getKeepSharePoint());
            level.setKeepShopDay(vipSetting.getKeepShopDay());
            level.setKeepShopPoint(vipSetting.getKeepShopPoint());
            levelList.add(level);
        });
        vipLevel.setLevelList(levelList);
        vipLevel.setCurrentLevel(loginUserVipSetting.getId());
        return R.ok(vipLevel);
    }
}
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/vo/vip/Describe.java
File was deleted
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/vo/vip/Level.java
@@ -1,11 +1,60 @@
package com.ruoyi.account.vo.vip;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.List;
@Data
public class Level {
    @ApiModelProperty(value = "会员等级id")
    private Integer id;
    /**
     * 会员名称
     */
    @ApiModelProperty(value = "会员名称")
    private String name;
    @ApiModelProperty(value = "会员专属权益")
    private String vipInfo;
    @ApiModelProperty(value = "会员说明")
    private String vipDesc;
    @ApiModelProperty(value = "消费达到积分 后升级")
    private BigDecimal vipLevelUpShop;
    @ApiModelProperty(value = "返佣达到积分 后升级")
    private BigDecimal vipLevelUpShare;
    @ApiModelProperty(value = "升级会员的直推用户人数要求")
    private Integer vipDirectNum;
    @ApiModelProperty(value = "升级会员的团队数要求")
    private Integer vipTeamNum;
    @ApiModelProperty(value = "保级:消费x天")
    private Integer keepBuyDay;
    @ApiModelProperty(value = "保级:消费x分")
    private BigDecimal keepBuyPoint;
    @ApiModelProperty(value = "保级:返佣x天")
    private Integer keepShareDay;
    @ApiModelProperty(value = "保级:返佣x分")
    private BigDecimal keepSharePoint;
    @ApiModelProperty(value = "保级:门店x天")
    private Integer keepShopDay;
    @ApiModelProperty(value = "保级:门店x分")
    private BigDecimal keepShopPoint;
}
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/vo/vip/VipLevel.java
New file
@@ -0,0 +1,20 @@
package com.ruoyi.account.vo.vip;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Api(tags = "会员等级")
@Data
public class VipLevel {
    /**
     * 当前等级
     */
    @ApiModelProperty(value = "当前等级")
    private Integer currentLevel;
    @ApiModelProperty(value = "会员等级列表")
    private List<Level> levelList;
}
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/VipSettingController.java
@@ -36,9 +36,8 @@
    @Resource
    private VipGoodService vipGoodService;
    @GetMapping("/info")
    @ApiOperation(value = "获取各级会员信息", tags = {"小程序-个人中心首页", "小程序-会员中心"})
    public R<List<VipSetting>> info() {
    @GetMapping("/list")
    public R<List<VipSetting>> list() {
        List<VipSetting> list = vipSettingService.list();
        return R.ok(list);
    }