| | |
| | | package org.ruoyi.chat.service.chat; |
| | | |
| | | import cn.dev33.satoken.stp.StpUtil; |
| | | import lombok.RequiredArgsConstructor; |
| | | import org.ruoyi.chat.enums.DisplayType; |
| | | import org.ruoyi.chat.enums.UserGradeType; |
| | | import org.ruoyi.common.satoken.utils.LoginHelper; |
| | | import org.ruoyi.domain.bo.ChatModelBo; |
| | | import org.ruoyi.domain.bo.ChatPackagePlanBo; |
| | | import org.ruoyi.domain.vo.ChatModelVo; |
| | | import org.ruoyi.domain.vo.ChatPackagePlanVo; |
| | | import org.ruoyi.service.IChatModelService; |
| | | import org.ruoyi.service.IChatPackagePlanService; |
| | | import org.ruoyi.system.domain.vo.SysUserVo; |
| | | import org.ruoyi.system.service.ISysUserService; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 描述:用户模型信息 |
| | | * 用户模型信息 |
| | | * |
| | | * @author ageerle@163.com |
| | | * date 2025/4/10 |
| | |
| | | |
| | | private final IChatModelService chatModelService; |
| | | |
| | | private final ISysUserService userService; |
| | | |
| | | private final IChatPackagePlanService packagePlanService; |
| | | |
| | | public List<ChatModelVo> modelList(ChatModelBo bo) { |
| | | bo.setModelShow(DisplayType.VISIBLE.getCode()); |
| | | List<ChatModelVo> chatModelList = chatModelService.queryList(bo); |
| | | ChatPackagePlanBo sysPackagePlanBo = new ChatPackagePlanBo(); |
| | | if (StpUtil.isLogin()) { |
| | | Long userId = LoginHelper.getLoginUser().getUserId(); |
| | | SysUserVo sysUserVo = userService.selectUserById(userId); |
| | | if (UserGradeType.UNPAID.getCode().equals(sysUserVo.getUserGrade())){ |
| | | sysPackagePlanBo.setName("Free"); |
| | | ChatPackagePlanVo chatPackagePlanVo = packagePlanService.queryList(sysPackagePlanBo).get(0); |
| | | List<String> array = new ArrayList<>(Arrays.asList(chatPackagePlanVo.getPlanDetail().split(","))); |
| | | chatModelList.removeIf(model -> !array.contains(model.getModelName())); |
| | | } |
| | | }else { |
| | | sysPackagePlanBo.setName("Visitor"); |
| | | ChatPackagePlanVo sysPackagePlanVo = packagePlanService.queryList(sysPackagePlanBo).get(0); |
| | | List<String> array = new ArrayList<>(Arrays.asList(sysPackagePlanVo.getPlanDetail().split(","))); |
| | | chatModelList.removeIf(model -> !array.contains(model.getModelName())); |
| | | } |
| | | return new ArrayList<>(chatModelList); |
| | | return chatModelService.queryList(bo); |
| | | } |
| | | |
| | | } |