package cc.mrbird.febs.yinhe.service.impl;
|
|
import cc.mrbird.febs.common.entity.FebsResponse;
|
import cc.mrbird.febs.common.utils.AppContants;
|
import cc.mrbird.febs.common.utils.LoginUserUtil;
|
import cc.mrbird.febs.common.utils.RedisUtils;
|
import cc.mrbird.febs.common.utils.YHLoginUserUtil;
|
import cc.mrbird.febs.yinhe.entity.*;
|
import cc.mrbird.febs.yinhe.mapper.*;
|
import cc.mrbird.febs.yinhe.req.*;
|
import cc.mrbird.febs.yinhe.res.*;
|
import cc.mrbird.febs.yinhe.service.YhAiService;
|
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.StrUtil;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import lombok.RequiredArgsConstructor;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.stereotype.Service;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
@Slf4j
|
@Service
|
@RequiredArgsConstructor
|
public class YhAiServiceImpl extends ServiceImpl<YhAiMemberMapper, YhAiMember> implements YhAiService {
|
|
private final YhAiMemberMapper yhAiMemberMapper;
|
private final YHAiCompanyMapper yhAiCompanyMapper;
|
|
private final YHAiAgentCategoryMapper yhAiAgentCategoryMapper;
|
private final YHAiAgentMapper yhAiAgentMapper;
|
private final YHAiAgentStartQuestionMapper yhAiAgentStartQuestionMapper;
|
|
private final YhSysAgentCategoryMapper yhSysAgentCategoryMapper;
|
private final YHSysAgentStartQuestionMapper yhSysAgentStartQuestionMapper;
|
private final YHSysAgentMapper yhSysAgentMapper;
|
|
private final RedisUtils redisUtils;
|
|
@Override
|
public FebsResponse memberInfo() {
|
|
String memberUuid = YHLoginUserUtil.getLoginUser().getMemberUuid();
|
|
YHMemberVo yhMemberVo = new YHMemberVo();
|
YhAiMember yhAiMember = yhAiMemberMapper.selectOne(
|
Wrappers.lambdaQuery(YhAiMember.class)
|
.eq(YhAiMember::getMemberUuid, memberUuid)
|
);
|
if (ObjectUtil.isNotEmpty(yhAiMember)){
|
String companyId = yhAiMember.getCompanyId();
|
YHAiCompany yhAiCompany = yhAiCompanyMapper.selectById(companyId);
|
|
yhMemberVo.setMemberUuid(yhAiMember.getMemberUuid());
|
yhMemberVo.setAvatar(yhAiMember.getAvatar());
|
yhMemberVo.setName(yhAiMember.getName());
|
yhMemberVo.setRealName(yhAiMember.getRealName());
|
yhMemberVo.setSex(yhAiMember.getSex());
|
yhMemberVo.setCompanyId(yhAiCompany.getId());
|
yhMemberVo.setCompanyName(yhAiCompany.getName());
|
yhMemberVo.setPhone(yhAiMember.getPhone());
|
}
|
return new FebsResponse().success().data(yhMemberVo);
|
}
|
|
@Override
|
public FebsResponse categoryList(YHCategoryDto dto) {
|
String companyId = YHLoginUserUtil.getLoginUser().getCompanyId();
|
List<YHCategoryVo> yhCategoryVos = new ArrayList<>();
|
|
LambdaQueryWrapper<YHAiAgentCategory> query = Wrappers.lambdaQuery(YHAiAgentCategory.class);
|
query.eq(YHAiAgentCategory::getCompanyId,companyId);
|
query.eq(YHAiAgentCategory::getState,1);
|
if (ObjectUtil.isNotEmpty(dto.getId())){
|
query.eq(YHAiAgentCategory::getId,dto.getId());
|
}
|
if (ObjectUtil.isNotEmpty(dto.getHotState())){
|
query.eq(YHAiAgentCategory::getHotState,dto.getHotState());
|
}
|
query.orderByAsc(YHAiAgentCategory::getSort);
|
List<YHAiAgentCategory> yhAiAgentCategories = yhAiAgentCategoryMapper.selectList(query);
|
|
if (CollUtil.isNotEmpty(yhAiAgentCategories)){
|
for (YHAiAgentCategory yhAiAgentCategory : yhAiAgentCategories) {
|
YHCategoryVo yhCategoryVo = new YHCategoryVo();
|
yhCategoryVo.setName(yhAiAgentCategory.getName());
|
yhCategoryVo.setId(yhAiAgentCategory.getId());
|
yhCategoryVos.add(yhCategoryVo);
|
}
|
}
|
|
return new FebsResponse().success().data(yhCategoryVos);
|
}
|
|
@Override
|
public FebsResponse agentList(YHAgentDto dto) {
|
String companyId = YHLoginUserUtil.getLoginUser().getCompanyId();
|
|
ArrayList<YHAgentVo> yhAgentVos = new ArrayList<>();
|
LambdaQueryWrapper<YHAiAgent> query = Wrappers.lambdaQuery(YHAiAgent.class);
|
query.eq(YHAiAgent::getCompanyId,companyId);
|
query.eq(YHAiAgent::getState,1);
|
if (ObjectUtil.isNotEmpty(dto.getAgentCategoryId())){
|
query.eq(YHAiAgent::getAgentCategoryId,dto.getAgentCategoryId());
|
}
|
query.orderByDesc(YHAiAgent::getCreateTime);
|
|
List<YHAiAgent> yhAiAgents = yhAiAgentMapper.selectList(query);
|
if (CollUtil.isNotEmpty(yhAiAgents)){
|
|
for (YHAiAgent yhAiAgent : yhAiAgents) {
|
YHAgentVo yhAgentVo = new YHAgentVo();
|
yhAgentVo.setId(yhAiAgent.getId());
|
yhAgentVo.setName(yhAiAgent.getName());
|
yhAgentVo.setDescription(yhAiAgent.getDescription());
|
yhAgentVo.setIconImg(yhAiAgent.getIconImg());
|
yhAgentVos.add(yhAgentVo);
|
}
|
}
|
return new FebsResponse().success().data(yhAgentVos);
|
}
|
|
@Override
|
public FebsResponse agentInfo(YHAgentInitDto dto) {
|
|
String companyId = YHLoginUserUtil.getLoginUser().getCompanyId();
|
YHAgentInitVo yhAgentInitVo = new YHAgentInitVo();
|
|
String id = dto.getId();
|
YHAiAgent yhAiAgent = yhAiAgentMapper.selectById(id);
|
if (ObjectUtil.isNotEmpty(yhAiAgent)){
|
yhAgentInitVo.setId(yhAiAgent.getId());
|
yhAgentInitVo.setName(yhAiAgent.getName());
|
yhAgentInitVo.setDescription(yhAiAgent.getDescription());
|
yhAgentInitVo.setIconImg(yhAiAgent.getIconImg());
|
yhAgentInitVo.setIntroduct(yhAiAgent.getIntroduct());
|
List<YHAiAgentStartQuestion> yhAiAgentStartQuestions = yhAiAgentStartQuestionMapper.selectList(
|
Wrappers.lambdaQuery(YHAiAgentStartQuestion.class).eq(YHAiAgentStartQuestion::getAgentId, id)
|
);
|
if (CollUtil.isNotEmpty(yhAiAgentStartQuestions)){
|
List<String> questions = new ArrayList<>();
|
for (YHAiAgentStartQuestion yhAiAgentStartQuestion : yhAiAgentStartQuestions) {
|
questions.add(yhAiAgentStartQuestion.getTitle());
|
}
|
yhAgentInitVo.setItems(questions);
|
}
|
}
|
|
return new FebsResponse().success().data(yhAgentInitVo);
|
}
|
|
@Override
|
public FebsResponse categorySysList(YHSysCategoryDto dto) {
|
List<YHSysCategoryVo> vos = new ArrayList<>();
|
|
LambdaQueryWrapper<YhSysAgentCategory> query = Wrappers.lambdaQuery(YhSysAgentCategory.class);
|
query.eq(YhSysAgentCategory::getState,1);
|
if (ObjectUtil.isNotEmpty(dto.getId())){
|
query.eq(YhSysAgentCategory::getId,dto.getId());
|
}
|
if (ObjectUtil.isNotEmpty(dto.getHotState())){
|
query.eq(YhSysAgentCategory::getHotState,dto.getHotState());
|
}
|
query.orderByAsc(YhSysAgentCategory::getSort);
|
|
List<YhSysAgentCategory> yhSysAgentCategories = yhSysAgentCategoryMapper.selectList(query);
|
if (CollUtil.isNotEmpty(yhSysAgentCategories)){
|
for (YhSysAgentCategory yhSysAgentCategory : yhSysAgentCategories) {
|
YHSysCategoryVo vo = new YHSysCategoryVo();
|
vo.setId(yhSysAgentCategory.getId());
|
vo.setName(yhSysAgentCategory.getName());
|
vos.add(vo);
|
}
|
}
|
return new FebsResponse().success().data(vos);
|
}
|
|
@Override
|
public FebsResponse agentSysList(YHSysAgentDto dto) {
|
ArrayList<YHSysAgentVo> vos = new ArrayList<>();
|
LambdaQueryWrapper<YHSysAgent> query = Wrappers.lambdaQuery(YHSysAgent.class);
|
query.eq(YHSysAgent::getState,1);
|
if (ObjectUtil.isNotEmpty(dto.getAgentCategoryId())){
|
query.eq(YHSysAgent::getAgentCategoryId,dto.getAgentCategoryId());
|
}
|
query.orderByDesc(YHSysAgent::getCreateTime);
|
|
List<YHSysAgent> list = yhSysAgentMapper.selectList(query);
|
if (CollUtil.isNotEmpty(list)){
|
|
for (YHSysAgent entity : list) {
|
YHSysAgentVo vo = new YHSysAgentVo();
|
vo.setId(entity.getId());
|
vo.setName(entity.getName());
|
vo.setDescription(entity.getDescription());
|
vo.setIconImg(entity.getIconImg());
|
vos.add(vo);
|
}
|
}
|
return new FebsResponse().success().data(vos);
|
}
|
|
@Override
|
public FebsResponse agentSysInfo(YHSysAgentInitDto dto) {
|
YHSysAgentInitVo vo = new YHSysAgentInitVo();
|
|
String id = dto.getId();
|
YHSysAgent entity = yhSysAgentMapper.selectById(id);
|
if (ObjectUtil.isNotEmpty(entity)){
|
vo.setId(entity.getId());
|
vo.setName(entity.getName());
|
vo.setDescription(entity.getDescription());
|
vo.setIconImg(entity.getIconImg());
|
vo.setIntroduct(entity.getIntroduct());
|
List<YHSysAgentStartQuestion> questionList = yhSysAgentStartQuestionMapper.selectList(
|
Wrappers.lambdaQuery(YHSysAgentStartQuestion.class).eq(YHSysAgentStartQuestion::getAgentId, id)
|
);
|
if (CollUtil.isNotEmpty(questionList)){
|
List<String> questions = new ArrayList<>();
|
for (YHSysAgentStartQuestion question : questionList) {
|
questions.add(question.getTitle());
|
}
|
vo.setItems(questions);
|
}
|
}
|
|
return new FebsResponse().success().data(vo);
|
}
|
|
@Override
|
public FebsResponse logout() {
|
String memberUuid = LoginUserUtil.getLoginUser().getMemberUuid();
|
|
String redisKey = AppContants.XCX_LOGIN_PREFIX + memberUuid;
|
String existToken = redisUtils.getString(redisKey);
|
if (StrUtil.isNotBlank(existToken)) {
|
Object o = redisUtils.get(existToken);
|
if (ObjectUtil.isNotEmpty(o)) {
|
redisUtils.del(existToken);
|
}
|
}
|
redisUtils.del(AppContants.XCX_LOGIN_PREFIX + memberUuid);
|
return new FebsResponse().success().message("退出登录");
|
}
|
}
|