From 58519e32180a828e87083a9edc0ce5670980663c Mon Sep 17 00:00:00 2001 From: zuoqinbo Date: Tue, 17 Oct 2023 15:21:58 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=9C=BA=E5=99=A8=E4=BA=BA=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E6=A8=A1=E6=9D=BF=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../center/api/feign/RobotMsgTemplateApi.java | 17 +--- ...ry.java => RobotMsgTemplatePageQuery.java} | 2 +- .../center/api/vo/req/UpdateRobotInfoReq.java | 6 +- .../compile/default-compile/createdFiles.lst | 2 +- .../compile/default-compile/inputFiles.lst | 15 ++-- im-center-server/im-center-server.iml | 79 ++++++++++--------- im-center-server/pom.xml | 1 + .../RobotMsgTemplateController.java | 19 +---- .../cn/axzo/im/service/RobotInfoService.java | 44 +++++++---- .../im/service/RobotMsgTemplateService.java | 4 +- pom.xml | 6 ++ 11 files changed, 93 insertions(+), 102 deletions(-) rename im-center-api/src/main/java/cn/axzo/im/center/api/vo/req/{MsgTemplatePageQuery.java => RobotMsgTemplatePageQuery.java} (86%) diff --git a/im-center-api/src/main/java/cn/axzo/im/center/api/feign/RobotMsgTemplateApi.java b/im-center-api/src/main/java/cn/axzo/im/center/api/feign/RobotMsgTemplateApi.java index 8d65a6f..54fe109 100644 --- a/im-center-api/src/main/java/cn/axzo/im/center/api/feign/RobotMsgTemplateApi.java +++ b/im-center-api/src/main/java/cn/axzo/im/center/api/feign/RobotMsgTemplateApi.java @@ -2,18 +2,14 @@ package cn.axzo.im.center.api.feign; import cn.axzo.framework.domain.web.result.ApiPageResult; import cn.axzo.framework.domain.web.result.ApiResult; -import cn.axzo.im.center.api.vo.req.MsgTemplatePageQuery; +import cn.axzo.im.center.api.vo.req.RobotMsgTemplatePageQuery; import cn.axzo.im.center.api.vo.req.RobotMsgTemplateReq; -import cn.axzo.im.center.api.vo.resp.MsgTemplateResp; import cn.axzo.im.center.api.vo.resp.RobotMsgTemplateResp; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; -import java.util.List; - /** * 机器人消息模板管理API * @@ -33,16 +29,7 @@ public interface RobotMsgTemplateApi { * @return 机器人消息模板列表 */ @PostMapping("api/im/robot/msgTemplate/list/page") - ApiPageResult queryRobotMsgTemplateList(@RequestBody @Validated MsgTemplatePageQuery msgTemplatePageQuery); - - - /** - * 查询可选的消息模板列表 - * - * @return 消息模板列表 - */ - @GetMapping("api/im/robot/msgTemplate/list") - ApiResult> queryMsgTemplateList(); + ApiPageResult queryRobotMsgTemplateList(@RequestBody @Validated RobotMsgTemplatePageQuery msgTemplatePageQuery); /** diff --git a/im-center-api/src/main/java/cn/axzo/im/center/api/vo/req/MsgTemplatePageQuery.java b/im-center-api/src/main/java/cn/axzo/im/center/api/vo/req/RobotMsgTemplatePageQuery.java similarity index 86% rename from im-center-api/src/main/java/cn/axzo/im/center/api/vo/req/MsgTemplatePageQuery.java rename to im-center-api/src/main/java/cn/axzo/im/center/api/vo/req/RobotMsgTemplatePageQuery.java index e304760..665b19c 100644 --- a/im-center-api/src/main/java/cn/axzo/im/center/api/vo/req/MsgTemplatePageQuery.java +++ b/im-center-api/src/main/java/cn/axzo/im/center/api/vo/req/RobotMsgTemplatePageQuery.java @@ -13,7 +13,7 @@ import javax.validation.constraints.NotNull; * @date 2023/10/9 16:01 */ @Data -public class MsgTemplatePageQuery extends PageRequest { +public class RobotMsgTemplatePageQuery extends PageRequest { /** * 机器人ID diff --git a/im-center-api/src/main/java/cn/axzo/im/center/api/vo/req/UpdateRobotInfoReq.java b/im-center-api/src/main/java/cn/axzo/im/center/api/vo/req/UpdateRobotInfoReq.java index eec1027..5210994 100644 --- a/im-center-api/src/main/java/cn/axzo/im/center/api/vo/req/UpdateRobotInfoReq.java +++ b/im-center-api/src/main/java/cn/axzo/im/center/api/vo/req/UpdateRobotInfoReq.java @@ -17,10 +17,10 @@ public class UpdateRobotInfoReq { /** - * 机器人主键ID + * 机器人ID */ - @NotNull(message = "机器人主键ID不能为空") - private Long id; + @NotNull(message = "机器人ID不能为空") + private String robotId; /** diff --git a/im-center-api/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/im-center-api/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst index 1d4a13a..9205989 100644 --- a/im-center-api/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +++ b/im-center-api/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -1,5 +1,6 @@ cn\axzo\im\center\api\feign\RobotMsgTemplateApi.class cn\axzo\im\center\api\feign\RobotTagApi.class +cn\axzo\im\center\api\vo\req\RobotMsgTemplatePageQuery.class cn\axzo\im\center\api\vo\req\RobotInfoReq.class cn\axzo\im\center\api\vo\req\UpdateRobotInfoReq.class cn\axzo\im\center\api\vo\req\UserAccountReq.class @@ -19,7 +20,6 @@ cn\axzo\im\center\api\vo\resp\RobotMsgTemplateResp.class cn\axzo\im\center\api\feign\AccountApi.class cn\axzo\im\center\api\vo\req\UpdateRobotTagReq.class cn\axzo\im\center\api\vo\resp\RobotTagResp.class -cn\axzo\im\center\api\vo\req\MsgTemplatePageQuery.class cn\axzo\im\center\api\vo\req\RobotTagReq.class cn\axzo\im\center\api\feign\RobotInfoApi.class cn\axzo\im\center\api\feign\MessageApi.class diff --git a/im-center-api/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/im-center-api/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst index a7b22e2..58a8cc1 100644 --- a/im-center-api/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +++ b/im-center-api/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -1,24 +1,25 @@ 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\resp\MsgTemplateResp.java +D:\im-center\im-center-api\src\main\java\cn\axzo\im\center\api\vo\resp\RobotTagResp.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\BatchAccountReq.java +D:\im-center\im-center-api\src\main\java\cn\axzo\im\center\api\vo\req\UpdateRobotInfoReq.java +D:\im-center\im-center-api\src\main\java\cn\axzo\im\center\api\vo\resp\MessageDispatchResp.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\req\RobotAccountReq.java D:\im-center\im-center-api\src\main\java\cn\axzo\im\center\api\vo\req\MsgTemplatePageQuery.java D:\im-center\im-center-api\src\main\java\cn\axzo\im\center\api\vo\req\UserAccountReq.java D:\im-center\im-center-api\src\main\java\cn\axzo\im\center\api\vo\resp\MessageTemplateResp.java D:\im-center\im-center-api\src\main\java\cn\axzo\im\center\api\vo\req\RobotTagReq.java -D:\im-center\im-center-api\src\main\java\cn\axzo\im\center\api\vo\resp\RobotTagResp.java D:\im-center\im-center-api\src\main\java\cn\axzo\im\center\api\vo\req\RobotInfoReq.java 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\RobotInfoResp.java -D:\im-center\im-center-api\src\main\java\cn\axzo\im\center\api\vo\req\BatchAccountReq.java -D:\im-center\im-center-api\src\main\java\cn\axzo\im\center\api\vo\req\UpdateRobotInfoReq.java D:\im-center\im-center-api\src\main\java\cn\axzo\im\center\api\vo\req\AccountQuery.java -D:\im-center\im-center-api\src\main\java\cn\axzo\im\center\api\vo\resp\MessageDispatchResp.java D:\im-center\im-center-api\src\main\java\cn\axzo\im\center\api\vo\resp\RobotMsgTemplateResp.java diff --git a/im-center-server/im-center-server.iml b/im-center-server/im-center-server.iml index a32beb4..8365df9 100644 --- a/im-center-server/im-center-server.iml +++ b/im-center-server/im-center-server.iml @@ -28,6 +28,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -67,7 +107,6 @@ - @@ -113,7 +152,6 @@ - @@ -134,10 +172,6 @@ - - - - @@ -146,13 +180,7 @@ - - - - - - @@ -186,14 +214,10 @@ - - - - @@ -225,7 +249,6 @@ - @@ -311,28 +334,6 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/im-center-server/pom.xml b/im-center-server/pom.xml index a0db603..eefaa88 100644 --- a/im-center-server/pom.xml +++ b/im-center-server/pom.xml @@ -29,6 +29,7 @@ cn.axzo.msgcenter msg-center-api + 1.0.0-SNAPSHOT cn.axzo.framework diff --git a/im-center-server/src/main/java/cn/axzo/im/controller/RobotMsgTemplateController.java b/im-center-server/src/main/java/cn/axzo/im/controller/RobotMsgTemplateController.java index 3a0ef0b..d1fd0b0 100644 --- a/im-center-server/src/main/java/cn/axzo/im/controller/RobotMsgTemplateController.java +++ b/im-center-server/src/main/java/cn/axzo/im/controller/RobotMsgTemplateController.java @@ -4,18 +4,15 @@ import cn.axzo.framework.domain.page.PageResp; import cn.axzo.framework.domain.web.result.ApiPageResult; import cn.axzo.framework.domain.web.result.ApiResult; import cn.axzo.im.center.api.feign.RobotMsgTemplateApi; -import cn.axzo.im.center.api.vo.req.MsgTemplatePageQuery; +import cn.axzo.im.center.api.vo.req.RobotMsgTemplatePageQuery; import cn.axzo.im.center.api.vo.req.RobotMsgTemplateReq; -import cn.axzo.im.center.api.vo.resp.MsgTemplateResp; import cn.axzo.im.center.api.vo.resp.RobotMsgTemplateResp; import cn.axzo.im.service.RobotMsgTemplateService; -import com.google.common.collect.Lists; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; -import java.util.List; /** * 机器人消息模板管理API @@ -34,23 +31,11 @@ public class RobotMsgTemplateController implements RobotMsgTemplateApi { private RobotMsgTemplateService robotMsgTemplateService; @Override - public ApiPageResult queryRobotMsgTemplateList(MsgTemplatePageQuery msgTemplatePageQuery) { + public ApiPageResult queryRobotMsgTemplateList(RobotMsgTemplatePageQuery msgTemplatePageQuery) { PageResp robotMsgTemplateResp = robotMsgTemplateService.queryRobotMsgTemplateOfPage(msgTemplatePageQuery); return ApiPageResult.ok(robotMsgTemplateResp); } - @Override - public ApiResult> queryMsgTemplateList() { - List msgTemplates = Lists.newArrayList(); - for (int i = 0; i < 5; i++) { - MsgTemplateResp msgTemplateResp = new MsgTemplateResp(); - msgTemplateResp.setId(i + ""); - msgTemplateResp.setMsgTemplateId("templateId"+i); - msgTemplates.add(msgTemplateResp); - } - return ApiResult.ok(msgTemplates); - } - @Override public ApiResult updateRobotMsgTemplateList(RobotMsgTemplateReq robotMsgTemplateReq) { RobotMsgTemplateResp robotMsgTemplateResp = robotMsgTemplateService.updateRobotMsgTemplateList(robotMsgTemplateReq); diff --git a/im-center-server/src/main/java/cn/axzo/im/service/RobotInfoService.java b/im-center-server/src/main/java/cn/axzo/im/service/RobotInfoService.java index 0f37c20..d10c7c5 100644 --- a/im-center-server/src/main/java/cn/axzo/im/service/RobotInfoService.java +++ b/im-center-server/src/main/java/cn/axzo/im/service/RobotInfoService.java @@ -72,32 +72,42 @@ public class RobotInfoService { @Transactional(rollbackFor = Exception.class) public RobotInfoResp updateRobotInfo(@Valid UpdateRobotInfoReq updateRobotInfoReq, INotifyService iNotifyService) { - Long primaryId = updateRobotInfoReq.getId(); - RobotInfo robotTag = robotInfoDao.lambdaQuery().eq(RobotInfo::getIsDelete, 0) - .eq(RobotInfo::getId, primaryId).one(); - if (robotTag == null) { - throw new ServiceException("机器人主键ID=[" + primaryId + "]的查询不到有效数据!无法进行更新"); + String robotId = updateRobotInfoReq.getRobotId(); + RobotInfo robotInfoOld = robotInfoDao.lambdaQuery().eq(RobotInfo::getIsDelete, 0) + .eq(RobotInfo::getRobotId, robotId).one(); + if (robotInfoOld == null) { + throw new ServiceException("机器人ID=[" + robotId + "]的查询不到有效数据!无法进行更新"); } - verifyRobotName(updateRobotInfoReq.getNickName(), primaryId); - verifyRobotStatus(updateRobotInfoReq.getStatus(), primaryId); - - RobotInfo robotInfo = BeanConvertUtils.copyBean(updateRobotInfoReq, RobotInfo.class); - robotInfo.setUpdateAt(new Date()); - robotInfo = robotInfoDao.saveOrUpdateRobotInfo(robotInfo); + verifyRobotName(updateRobotInfoReq.getNickName(), robotId); + verifyRobotStatus(updateRobotInfoReq.getStatus(), robotId); + robotInfoOld.setUpdateAt(new Date()); + if(CollectionUtils.isNotEmpty(updateRobotInfoReq.getTagNameList())){ + robotInfoOld.setTagNameList(updateRobotInfoReq.getTagNameList()); + } + if(StringUtils.isNotEmpty(updateRobotInfoReq.getNickName())){ + robotInfoOld.setNickName(updateRobotInfoReq.getNickName()); + } + if(StringUtils.isNotEmpty(updateRobotInfoReq.getHeadImageUrl())){ + robotInfoOld.setHeadImageUrl(updateRobotInfoReq.getHeadImageUrl()); + } + if(StringUtils.isNotEmpty(updateRobotInfoReq.getStatus())){ + robotInfoOld.setStatus(updateRobotInfoReq.getStatus()); + } + RobotInfo robotInfoNew = robotInfoDao.saveOrUpdateRobotInfo(robotInfoOld); if (iNotifyService != null) { - iNotifyService.notifyAccountChange(robotInfo.getId()); + iNotifyService.notifyAccountChange(robotInfoNew.getId()); } - return findRobotInfoById(robotInfo.getId()); + return findRobotInfoById(robotInfoNew.getId()); } - private void verifyRobotStatus(String status, Long primaryId) { + private void verifyRobotStatus(String status, String robotId) { RobotStatusEnum appTypeEnum = RobotStatusEnum.isValidRobotStatus(status); if (appTypeEnum == null) { throw new ServiceException("服务器不支持该状态status[" + status + "]!"); } //只有是待生成账户状态时,imAccount才能是空,要做其他状态操作,必须有IM账户 RobotInfo robotTag = robotInfoDao.lambdaQuery().eq(RobotInfo::getIsDelete, 0) - .eq(RobotInfo::getId, primaryId).one(); + .eq(RobotInfo::getRobotId, robotId).one(); if (!appTypeEnum.getCode().equals(RobotStatusEnum.CREATING.getCode()) && StringUtils.isBlank(robotTag.getImAccount())) { throw new ServiceException("机器人未生成IM账户,无法进行状态更新"); @@ -105,10 +115,10 @@ public class RobotInfoService { } - private void verifyRobotName(String nickName, Long currentId) { + private void verifyRobotName(String nickName, String robotId) { RobotInfo nickNameVerify = robotInfoDao.lambdaQuery().eq(RobotInfo::getIsDelete, 0) .eq(RobotInfo::getNickName, nickName).one(); - if (nickNameVerify != null && !nickNameVerify.getId().equals(currentId)) { + if (nickNameVerify != null && !nickNameVerify.getRobotId().equals(robotId)) { throw new ServiceException("机器人名称=[" + nickName + "]重复!无法进行保存"); } } diff --git a/im-center-server/src/main/java/cn/axzo/im/service/RobotMsgTemplateService.java b/im-center-server/src/main/java/cn/axzo/im/service/RobotMsgTemplateService.java index c9dff19..efaa0e6 100644 --- a/im-center-server/src/main/java/cn/axzo/im/service/RobotMsgTemplateService.java +++ b/im-center-server/src/main/java/cn/axzo/im/service/RobotMsgTemplateService.java @@ -3,7 +3,7 @@ package cn.axzo.im.service; import cn.axzo.basics.common.BeanMapper; import cn.axzo.basics.common.exception.ServiceException; import cn.axzo.framework.domain.page.PageResp; -import cn.axzo.im.center.api.vo.req.MsgTemplatePageQuery; +import cn.axzo.im.center.api.vo.req.RobotMsgTemplatePageQuery; import cn.axzo.im.center.api.vo.req.RobotMsgTemplateReq; import cn.axzo.im.center.api.vo.resp.RobotMsgTemplateResp; import cn.axzo.im.dao.repository.RobotInfoDao; @@ -58,7 +58,7 @@ public class RobotMsgTemplateService { return fillMsgTemplateList(robotMsgTemplate.getMsgTemplateList()); } - public PageResp queryRobotMsgTemplateOfPage(MsgTemplatePageQuery msgTemplatePageQuery) { + public PageResp queryRobotMsgTemplateOfPage(RobotMsgTemplatePageQuery msgTemplatePageQuery) { String robotId = msgTemplatePageQuery.getRobotId(); int pageSize = msgTemplatePageQuery.getPageSize(); int page = msgTemplatePageQuery.getPage(); diff --git a/pom.xml b/pom.xml index 48b85e3..5d5154a 100644 --- a/pom.xml +++ b/pom.xml @@ -50,6 +50,12 @@ im-center-api ${project.version} + + + cn.axzo.msgcenter + msg-center-api + + cn.axzo.im.center im-center-common