feat:机器人消息模板管理
This commit is contained in:
parent
3949e365e9
commit
73e8458a8a
@ -67,12 +67,11 @@ public interface RobotInfoApi {
|
||||
|
||||
/**
|
||||
* Mobile移动端-查询当前所有运行中的机器人列表
|
||||
* 暂定
|
||||
* 包含模板信息、标签信息
|
||||
* @return 所有机器人的列表信息,包含标签、以及消息模板信息
|
||||
*/
|
||||
@GetMapping("api/im/robot/msgTemplate/list")
|
||||
ApiResult<List<RobotMsgTemplateResp>> queryRunningRobots();
|
||||
@GetMapping("api/im/robot/enabled/list")
|
||||
ApiResult<List<RobotInfoResp>> queryRunningRobots();
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -56,4 +56,9 @@ public class RobotInfoResp {
|
||||
private Integer msgTemplateTotal;
|
||||
|
||||
|
||||
/**
|
||||
* 机器人消息模板列表
|
||||
*/
|
||||
private List<String> msgTemplateList;
|
||||
|
||||
}
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
D:\im-center\im-center-api\src\main\java\cn\axzo\im\center\api\feign\AccountApi.java
|
||||
D:\im-center\im-center-api\src\main\java\cn\axzo\im\center\api\feign\RobotTagApi.java
|
||||
D:\im-center\im-center-api\src\main\java\cn\axzo\im\center\api\feign\MessageApi.java
|
||||
D:\im-center\im-center-api\src\main\java\cn\axzo\im\center\api\vo\req\RobotMsgTemplateReq.java
|
||||
D:\im-center\im-center-api\src\main\java\cn\axzo\im\center\api\vo\resp\UserAccountResp.java
|
||||
D:\im-center\im-center-api\src\main\java\cn\axzo\im\center\api\vo\req\RobotAccountReq.java
|
||||
D:\im-center\im-center-api\src\main\java\cn\axzo\im\center\api\vo\req\UserAccountReq.java
|
||||
@ -11,6 +12,7 @@ D:\im-center\im-center-api\src\main\java\cn\axzo\im\center\api\vo\req\RobotInfoR
|
||||
D:\im-center\im-center-api\src\main\java\cn\axzo\im\center\api\vo\req\UpdateRobotTagReq.java
|
||||
D:\im-center\im-center-api\src\main\java\cn\axzo\im\center\api\vo\req\MessageInfo.java
|
||||
D:\im-center\im-center-api\src\main\java\cn\axzo\im\center\api\feign\RobotInfoApi.java
|
||||
D:\im-center\im-center-api\src\main\java\cn\axzo\im\center\api\feign\RobotMsgTemplateApi.java
|
||||
D:\im-center\im-center-api\src\main\java\cn\axzo\im\center\api\vo\req\RobotPageQuery.java
|
||||
D:\im-center\im-center-api\src\main\java\cn\axzo\im\center\api\vo\req\RobotTagQuery.java
|
||||
D:\im-center\im-center-api\src\main\java\cn\axzo\im\center\api\vo\resp\MessageResp.java
|
||||
|
||||
@ -57,8 +57,8 @@ public class RobotInfoController implements RobotInfoApi {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApiResult<List<RobotMsgTemplateResp>> queryRunningRobots() {
|
||||
List<RobotMsgTemplateResp> robotTagResp = infoService.queryRunningRobotList();
|
||||
public ApiResult<List<RobotInfoResp>> queryRunningRobots() {
|
||||
List<RobotInfoResp> robotTagResp = infoService.queryRunningRobotList();
|
||||
return ApiResult.ok(robotTagResp);
|
||||
}
|
||||
}
|
||||
|
||||
@ -13,12 +13,15 @@ import cn.axzo.im.center.common.enums.RobotStatusEnum;
|
||||
import cn.axzo.im.dao.repository.RobotInfoDao;
|
||||
import cn.axzo.im.dao.repository.RobotTagDao;
|
||||
import cn.axzo.im.entity.RobotInfo;
|
||||
import cn.axzo.im.entity.RobotMsgTemplate;
|
||||
import cn.axzo.im.entity.RobotTag;
|
||||
import cn.axzo.im.utils.BeanConvertUtils;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.checkerframework.checker.units.qual.C;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
@ -27,6 +30,9 @@ import javax.validation.Valid;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
import java.util.function.Consumer;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* im
|
||||
@ -43,10 +49,15 @@ public class RobotInfoService {
|
||||
@Resource
|
||||
private RobotInfoDao robotInfoDao;
|
||||
|
||||
|
||||
@Resource
|
||||
private RobotTagDao robotTagDao;
|
||||
|
||||
@Resource
|
||||
private RobotMsgTemplateService templateService;
|
||||
|
||||
@Resource
|
||||
private RobotTagService robotTagService;
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public RobotInfoResp saveRobotInfo(@Valid RobotInfoReq robotInfoRequest) {
|
||||
verifyRobotName(robotInfoRequest.getNickName(), null);
|
||||
@ -112,6 +123,10 @@ public class RobotInfoService {
|
||||
RobotInfoResp robotInfoResp = BeanMapper.map(robotInfo, RobotInfoResp.class);
|
||||
List<RobotTag> robotTags = robotTagDao.queryRobotTagValidList(tagIdList);
|
||||
List<RobotTagResp> robotTagsResp = BeanMapper.copyList(robotTags, RobotTagResp.class);
|
||||
robotTagsResp.stream().forEach(robotTag -> {
|
||||
int useCount = robotTagService.findTagUseCount(Integer.parseInt(String.valueOf(robotTag.getId())));
|
||||
robotTag.setUseCount(useCount);
|
||||
});
|
||||
robotInfoResp.setRobotTagList(robotTagsResp);
|
||||
return robotInfoResp;
|
||||
}
|
||||
@ -125,13 +140,30 @@ public class RobotInfoService {
|
||||
List<RobotInfoResp> list = BeanMapper.copyList(robotInfoIPage.getRecords(), RobotInfoResp.class);
|
||||
PageResp<RobotInfoResp> pageOfRobotInfoResp = PageResp.list(robotInfoIPage.getCurrent(), robotInfoIPage.getSize(),
|
||||
robotInfoIPage.getTotal(), list);
|
||||
list.stream().forEach(robotInfoResp -> {
|
||||
RobotMsgTemplateResp robotMsgTemplate = templateService.queryRobotMsgTemplateList(robotInfoResp.getRobotId());
|
||||
if (robotMsgTemplate != null) {
|
||||
robotInfoResp.setMsgTemplateList(robotMsgTemplate.getMsgTemplateList());
|
||||
}
|
||||
});
|
||||
return pageOfRobotInfoResp;
|
||||
}
|
||||
|
||||
public List<RobotMsgTemplateResp> queryRunningRobotList() {
|
||||
public List<RobotInfoResp> queryRunningRobotList() {
|
||||
List<RobotInfo> runningRobots = robotInfoDao.queryRunningRobotList();
|
||||
List<RobotMsgTemplateResp> msgTemplateResps = BeanMapper.copyList(runningRobots, RobotMsgTemplateResp.class);
|
||||
return msgTemplateResps;
|
||||
if (CollectionUtils.isEmpty(runningRobots)) {
|
||||
throw new ServiceException("当前无可用的机器人[状态为已启用]!");
|
||||
}
|
||||
List<RobotInfoResp> robotInfoRespList = runningRobots.stream().map(new Function<RobotInfo, RobotInfoResp>() {
|
||||
@Override
|
||||
public RobotInfoResp apply(RobotInfo robotInfo) {
|
||||
RobotInfoResp robotInfoResp = findRobotInfoById(robotInfo.getId());
|
||||
RobotMsgTemplateResp robotMsgTemplate = templateService.queryRobotMsgTemplateList(robotInfoResp.getRobotId());
|
||||
robotInfoResp.setMsgTemplateList(robotMsgTemplate.getMsgTemplateList());
|
||||
return robotInfoResp;
|
||||
}
|
||||
}).collect(Collectors.toList());
|
||||
return robotInfoRespList;
|
||||
}
|
||||
|
||||
public void updateRobotStatus(String robotId, String imAccount) {
|
||||
|
||||
@ -102,7 +102,7 @@ public class RobotTagService {
|
||||
return null;
|
||||
}
|
||||
|
||||
private int findTagUseCount(int robotTagId) {
|
||||
public int findTagUseCount(int robotTagId) {
|
||||
List<RobotInfo> robotInfoList = robotInfoDao.queryAllCreatedRobotList();
|
||||
final int[] useCount = {0};
|
||||
robotInfoList.stream().forEach(robotInfo -> {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user