From 4141a1785f61f275644126faec1587b65899e64e Mon Sep 17 00:00:00 2001 From: zuoqinbo Date: Mon, 23 Oct 2023 10:21:50 +0800 Subject: [PATCH] =?UTF-8?q?feat:REQ-1419=20=E4=BB=A3=E7=A0=81=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../center/common/enums/AccountTypeEnum.java | 13 +++++++++--- .../im/center/common/enums/AppTypeEnum.java | 20 +++---------------- .../enums/RobotMsgTemplateStatusEnum.java | 12 +++++++++-- .../center/common/enums/RobotStatusEnum.java | 17 ++++++++++++++-- .../common/enums/RobotTagStatusEnum.java | 12 +++++++++-- .../im/channel/netease/NimChannelService.java | 5 ++++- .../im/channel/netease/NimMsgTypeEnum.java | 19 +++--------------- .../axzo/im/job/SyncImAccountJobHandler.java | 4 ++-- .../cn/axzo/im/service/AccountService.java | 15 ++++++-------- 9 files changed, 63 insertions(+), 54 deletions(-) diff --git a/im-center-common/src/main/java/cn/axzo/im/center/common/enums/AccountTypeEnum.java b/im-center-common/src/main/java/cn/axzo/im/center/common/enums/AccountTypeEnum.java index fae5134..14b25de 100644 --- a/im-center-common/src/main/java/cn/axzo/im/center/common/enums/AccountTypeEnum.java +++ b/im-center-common/src/main/java/cn/axzo/im/center/common/enums/AccountTypeEnum.java @@ -6,22 +6,29 @@ import lombok.Getter; /** * IM账户类型 * - * @version V1.0 * @author zuoqinbo + * @version V1.0 * @date 2023/10/9 16:01 */ @Getter public enum AccountTypeEnum { + /** + * 机器人 + */ ROBOT("robot", "机器人"), + /** + * 普通用户 + */ USER("user", "普通用户"); - private String code; + private final String code; - private String message; + private final String message; AccountTypeEnum(String code, String message) { this.code = code; + this.message = message; } } diff --git a/im-center-common/src/main/java/cn/axzo/im/center/common/enums/AppTypeEnum.java b/im-center-common/src/main/java/cn/axzo/im/center/common/enums/AppTypeEnum.java index 69d6d63..2ca7e81 100644 --- a/im-center-common/src/main/java/cn/axzo/im/center/common/enums/AppTypeEnum.java +++ b/im-center-common/src/main/java/cn/axzo/im/center/common/enums/AppTypeEnum.java @@ -30,29 +30,15 @@ public enum AppTypeEnum { SYSTEM("system", "服务器"); - private String code; + private final String code; - private String message; + private final String message; AppTypeEnum(String code, String message) { this.code = code; + this.message = message; } - - public static AppTypeEnum isValidAppType(List appTypeList) { - if (appTypeList == null) { - return null; - } - AppTypeEnum[] appTypeEnums = AppTypeEnum.values(); - for (AppTypeEnum appTypeEnum : appTypeEnums) { - if (appTypeEnum.getCode().equals("appType.toLowerCase()")) { - return appTypeEnum; - } - } - return null; - } - - public static AppTypeEnum isValidAppType(String appType) { if (StringUtils.isBlank(appType)) { return null; diff --git a/im-center-common/src/main/java/cn/axzo/im/center/common/enums/RobotMsgTemplateStatusEnum.java b/im-center-common/src/main/java/cn/axzo/im/center/common/enums/RobotMsgTemplateStatusEnum.java index c5067d2..5e84e80 100644 --- a/im-center-common/src/main/java/cn/axzo/im/center/common/enums/RobotMsgTemplateStatusEnum.java +++ b/im-center-common/src/main/java/cn/axzo/im/center/common/enums/RobotMsgTemplateStatusEnum.java @@ -13,15 +13,23 @@ import lombok.Getter; @Getter public enum RobotMsgTemplateStatusEnum { + /** + * 已上架 + */ ENABLED(1, "已上架"), + + /** + * 已停用 + */ DISABLED(0, "已停用"); - private int code; + private final int code; - private String message; + private final String message; RobotMsgTemplateStatusEnum(int code, String message) { this.code = code; + this.message = message; } } diff --git a/im-center-common/src/main/java/cn/axzo/im/center/common/enums/RobotStatusEnum.java b/im-center-common/src/main/java/cn/axzo/im/center/common/enums/RobotStatusEnum.java index 6f407c7..8e81461 100644 --- a/im-center-common/src/main/java/cn/axzo/im/center/common/enums/RobotStatusEnum.java +++ b/im-center-common/src/main/java/cn/axzo/im/center/common/enums/RobotStatusEnum.java @@ -14,17 +14,30 @@ import org.apache.commons.lang3.StringUtils; @Getter public enum RobotStatusEnum { + /** + * 待生成IM账号 + */ CREATING("creating", "待生成IM账号"), + /** + * 待启用 + */ UN_ENABLE("un_enable", "待启用"), + /** + * 运行中 + */ ENABLED("enabled", "运行中"), + /** + * 已停用 + */ DISABLED("disabled", "已停用"); - private String code; + private final String code; - private String message; + private final String message; RobotStatusEnum(String code, String message) { this.code = code; + this.message = message; } diff --git a/im-center-common/src/main/java/cn/axzo/im/center/common/enums/RobotTagStatusEnum.java b/im-center-common/src/main/java/cn/axzo/im/center/common/enums/RobotTagStatusEnum.java index f3990d7..68e1b9e 100644 --- a/im-center-common/src/main/java/cn/axzo/im/center/common/enums/RobotTagStatusEnum.java +++ b/im-center-common/src/main/java/cn/axzo/im/center/common/enums/RobotTagStatusEnum.java @@ -14,15 +14,23 @@ import org.apache.commons.lang3.StringUtils; @Getter public enum RobotTagStatusEnum { + /** + * 启用状态 + */ ENABLED(1, "已上架"), + + /** + * 停用状态 + */ DISABLED(0, "已停用"); - private int code; + private final int code; - private String message; + private final String message; RobotTagStatusEnum(int code, String message) { this.code = code; + this.message = message; } } diff --git a/im-center-server/src/main/java/cn/axzo/im/channel/netease/NimChannelService.java b/im-center-server/src/main/java/cn/axzo/im/channel/netease/NimChannelService.java index e79b262..3e1ece6 100644 --- a/im-center-server/src/main/java/cn/axzo/im/channel/netease/NimChannelService.java +++ b/im-center-server/src/main/java/cn/axzo/im/channel/netease/NimChannelService.java @@ -81,10 +81,13 @@ public class NimChannelService implements IMChannelProvider { String result = response.body(); if (response.getStatus() == SUCCESS_CODE) { RegisterResponse registerResponse = JSONUtil.toBean(result, RegisterResponse.class); + if (registerResponse == null) { + return RegisterResponse.builder().desc("请求网易云信Server异常[" + result + "],请联系管理员!").build(); + } if (registerResponse.getCode() != SUCCESS_CODE) { log.warn("im-center请求网易云信Server:{},返回异常:{}", NIM_ACCOUNT_CREATE_URL, result); if (StringUtils.isNotBlank(registerResponse.getDesc()) && - registerResponse.getDesc().equals(NIM_ACCOUNT_ALREADY_REGISTER)) { + registerResponse.getDesc().contains(NIM_ACCOUNT_ALREADY_REGISTER)) { HashMap queryParamMap = Maps.newHashMap(); JSONArray jsonArray = new JSONArray(); jsonArray.add(register.getAccid()); diff --git a/im-center-server/src/main/java/cn/axzo/im/channel/netease/NimMsgTypeEnum.java b/im-center-server/src/main/java/cn/axzo/im/channel/netease/NimMsgTypeEnum.java index 89a2d6f..3485a22 100644 --- a/im-center-server/src/main/java/cn/axzo/im/channel/netease/NimMsgTypeEnum.java +++ b/im-center-server/src/main/java/cn/axzo/im/channel/netease/NimMsgTypeEnum.java @@ -28,26 +28,13 @@ public enum NimMsgTypeEnum { notify("notify", "通知消息"); - private String code; + private final String code; - private String message; + private final String message; NimMsgTypeEnum(String code, String message) { this.code = code; - } - - - public static NimMsgTypeEnum isValidAppType(String appType) { - if (StringUtils.isBlank(appType)) { - return null; - } - NimMsgTypeEnum[] appTypeEnums = NimMsgTypeEnum.values(); - for (NimMsgTypeEnum appTypeEnum : appTypeEnums) { - if (appTypeEnum.getCode().equals(appType.toLowerCase())) { - return appTypeEnum; - } - } - return null; + this.message = message; } } diff --git a/im-center-server/src/main/java/cn/axzo/im/job/SyncImAccountJobHandler.java b/im-center-server/src/main/java/cn/axzo/im/job/SyncImAccountJobHandler.java index f3639b0..bf07883 100644 --- a/im-center-server/src/main/java/cn/axzo/im/job/SyncImAccountJobHandler.java +++ b/im-center-server/src/main/java/cn/axzo/im/job/SyncImAccountJobHandler.java @@ -9,7 +9,7 @@ import org.springframework.stereotype.Component; /** * 定时同步新建用户IM账户 * 1.捞取当前未注册IM账户的用户 - * 2.创建IM账户 + * 2.创建IM账户,多个App类型终端都创建 * 3.更新IM账户到用户系统 * @author zuoqinbo * @see SyncImAccountJobHandler @@ -25,7 +25,7 @@ public class SyncImAccountJobHandler extends BaseJobHandler { @Override @XxlJob("syncImAccountJobHandler") - public ReturnT execute(String param) throws Exception { + public ReturnT execute(String param) { return jobLoggerTemplate.execute(CTX_LOG_ID_MDC, () -> { log.info("SyncImAccountJobHandler.execute task Start ......"); try { diff --git a/im-center-server/src/main/java/cn/axzo/im/service/AccountService.java b/im-center-server/src/main/java/cn/axzo/im/service/AccountService.java index 262ced7..48a5ba2 100644 --- a/im-center-server/src/main/java/cn/axzo/im/service/AccountService.java +++ b/im-center-server/src/main/java/cn/axzo/im/service/AccountService.java @@ -55,7 +55,7 @@ public class AccountService { /** * 创建IM账户 * - * @param userAccountReq + * @param userAccountReq 创建IM账户请求参数 */ @Transactional(rollbackFor = Exception.class) public UserAccountResp generateAccount(@Valid UserAccountReq userAccountReq, INotifyService iNotifyService) { @@ -123,20 +123,19 @@ public class AccountService { accountRegisterDao.saveOrUpdate(accountRegister); } else { //2.1注册出现异常 - UserAccountResp userAccountResp = UserAccountResp.builder() + assert accountResp != null; + return UserAccountResp.builder() .desc(accountResp.getDesc()) .build(); - return userAccountResp; } return accountResp; } //1.1 如果已经创建直接返回 - UserAccountResp userAccountResp = UserAccountResp.builder() + return UserAccountResp.builder() .imAccount(accountRegister.getImAccount()) .userId(userIdWrapper) .token(accountRegister.getToken()) .build(); - return userAccountResp; } @@ -169,14 +168,12 @@ public class AccountService { accountQuery.getAppType()) .list(); if (CollectionUtils.isNotEmpty(accountRegisterList)) { - List accountRespList = accountRegisterList.stream().map(accountRegister -> { - UserAccountResp userAccountResp = UserAccountResp.builder() + return accountRegisterList.stream().map(accountRegister -> { + return UserAccountResp.builder() .userId(accountRegister.getAccountWrapper()) .token(accountRegister.getToken()) .imAccount(accountRegister.getImAccount()).build(); - return userAccountResp; }).collect(Collectors.toList()); - return accountRespList; } return null; }