From 91fabb91b29d66c305807927f4a3b6cc8ee37783 Mon Sep 17 00:00:00 2001 From: luofu Date: Wed, 25 Oct 2023 11:16:26 +0800 Subject: [PATCH] =?UTF-8?q?feat(REQ-1465):=20=E6=A8=A1=E6=9D=BF=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E6=95=B0=E6=8D=AE=E6=A8=A1=E5=9E=8B=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E5=88=A0=E9=99=A4=E7=9A=84=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 背景: https://jira.axzo.cn/browse/REQ-1465?goToView=1 修改: 1、模板相关数据模型逻辑删除的支持 影响: 无 --- .../notices/config/MessageSystemConfig.java | 2 + .../impl/GeneralMessageServiceImpl.java | 9 ++-- .../impl/MessageGroupNodeServiceImpl.java | 2 - .../impl/MessageTemplateGroupServiceImpl.java | 5 --- .../MessageTemplateRouterServiceImpl.java | 3 -- .../center/api/InsideMessageRecordApi.java | 2 +- .../center/api/InsideMessageTemplateApi.java | 2 +- .../axzo/msg/center/api/InsideNoticesApi.java | 2 +- .../axzo/msg/center/api/MessagePushApi.java | 2 +- .../domain/entity/MessageGroupNode.java | 4 +- .../domain/entity/MessageTemplateGroup.java | 4 +- .../domain/entity/MessageTemplateRouter.java | 4 +- .../domain/persistence/BaseEntityExt.java | 45 +++++++++++++++++++ 13 files changed, 60 insertions(+), 26 deletions(-) create mode 100644 msg-center-domain/src/main/java/cn/axzo/msg/center/domain/persistence/BaseEntityExt.java diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/config/MessageSystemConfig.java b/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/config/MessageSystemConfig.java index 49f7041c..113845a8 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/config/MessageSystemConfig.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/config/MessageSystemConfig.java @@ -24,4 +24,6 @@ public class MessageSystemConfig { */ @Value("${message.common.record.divide-days:-1}") private Integer dataDivideDays; + @Value("${message.common.icon.orgIcon:https://axzo-pro.oss-cn-hangzhou.aliyuncs.com/rs_app/ic_org_icon.png}") + private String orgIcon; } diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/GeneralMessageServiceImpl.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/GeneralMessageServiceImpl.java index bdd38787..140f590e 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/GeneralMessageServiceImpl.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/GeneralMessageServiceImpl.java @@ -10,7 +10,7 @@ import cn.axzo.msg.center.common.utils.PlaceholderResolver; import cn.axzo.msg.center.dal.GeneralMessageRecordDao; import cn.axzo.msg.center.domain.entity.GeneralMessageRecord; import cn.axzo.msg.center.domain.enums.UserTypeEnum; -import cn.axzo.msg.center.inside.notices.service.MessageRecordService; +import cn.axzo.msg.center.inside.notices.config.MessageSystemConfig; import cn.axzo.msg.center.message.domain.dto.MessageTemplateDTO; import cn.axzo.msg.center.message.domain.dto.RawMessageRouterDTO; import cn.axzo.msg.center.message.domain.vo.GeneralMessagePushVO; @@ -62,11 +62,8 @@ public class GeneralMessageServiceImpl implements GeneralMessageService { PushTerminalEnum.C_WORKER_APP, AppTypeEnum.CM ); - // TODO:[cold_blade] [P2] 图片icon的最好配置在nacos上 - private final String orgIcon = "https://axzo-pro.oss-cn-hangzhou.aliyuncs.com/rs_app/ic_org_icon.png"; - private final MessageApi messageApi; - private final MessageRecordService messageRecordService; + private final MessageSystemConfig messageSystemConfig; private final GeneralMessageRecordDao generalMessageRecordDao; private final GeneralMessageOldService generalMessageOldService; private final MessageTemplateNewService messageTemplateNewService; @@ -185,7 +182,7 @@ public class GeneralMessageServiceImpl implements GeneralMessageService { e.setValue(value); }); } - return GeneralMessagePushVO.from(record, template.getIcon(), orgIcon, routerButtons, cardContentItems); + return GeneralMessagePushVO.from(record, template.getIcon(), messageSystemConfig.getOrgIcon(), routerButtons, cardContentItems); } private String parseString(String string, JSONObject params) { diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/MessageGroupNodeServiceImpl.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/MessageGroupNodeServiceImpl.java index 0f642542..97680abd 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/MessageGroupNodeServiceImpl.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/MessageGroupNodeServiceImpl.java @@ -116,8 +116,6 @@ public class MessageGroupNodeServiceImpl implements MessageGroupNodeService { // 删除结点 boolean removeResult = messageGroupNodeDao.lambdaUpdate() .eq(MessageGroupNode::getCode, nodeCode) - .eq(MessageGroupNode::getIsDelete, TableIsDeleteEnum.NORMAL.value) - // TODO: [cold_blade] [P2] 这里需要逻辑删除而非物理删除 .remove(); if (removeResult) { // 刷新缓存 diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/MessageTemplateGroupServiceImpl.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/MessageTemplateGroupServiceImpl.java index 3ab0d607..eb753d69 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/MessageTemplateGroupServiceImpl.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/MessageTemplateGroupServiceImpl.java @@ -83,8 +83,6 @@ public class MessageTemplateGroupServiceImpl implements MessageTemplateGroupServ } messageTemplateGroupDao.lambdaUpdate() .eq(MessageTemplateGroup::getTemplateCode, templateNode) - .eq(MessageTemplateGroup::getIsDelete, TableIsDeleteEnum.NORMAL.value) - // TODO: [cold_blade] [P2] 这里需要逻辑删除而非物理删除 .remove(); } @@ -103,7 +101,6 @@ public class MessageTemplateGroupServiceImpl implements MessageTemplateGroupServ @Override public void remove(String curGroupNodeCode, Collection templateCodes) { - // TODO: [cold_blade] // 参数校验 AssertUtil.isTrue(StringUtils.isNotBlank(curGroupNodeCode), "curGroupNodeCode can not be blank"); AssertUtil.notEmpty(templateCodes, "templateCodes can not be empty"); @@ -133,8 +130,6 @@ public class MessageTemplateGroupServiceImpl implements MessageTemplateGroupServ messageTemplateGroupDao.lambdaUpdate() .in(MessageTemplateGroup::getTemplateCode, templateCodes) .eq(MessageTemplateGroup::getPath, nodeCodePathMap.get(curGroupNodeCode)) - .eq(MessageTemplateGroup::getIsDelete, TableIsDeleteEnum.NORMAL.value) - // TODO: [cold_blade] [P2] 这里需要逻辑删除而非物理删除 .remove(); } diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/MessageTemplateRouterServiceImpl.java b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/MessageTemplateRouterServiceImpl.java index 553ca5c0..bab7e237 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/MessageTemplateRouterServiceImpl.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/message/service/impl/MessageTemplateRouterServiceImpl.java @@ -1,6 +1,5 @@ package cn.axzo.msg.center.message.service.impl; -import cn.axzo.msg.center.common.enums.TableIsDeleteEnum; import cn.axzo.msg.center.dal.MessageTemplateRouterDao; import cn.axzo.msg.center.domain.entity.MessageTemplateRouter; import cn.axzo.msg.center.message.domain.dto.RawMessageRouterDTO; @@ -62,8 +61,6 @@ public class MessageTemplateRouterServiceImpl implements MessageTemplateRouterSe // 移除之前的路由信息 messageTemplateRouterDao.lambdaUpdate() .eq(MessageTemplateRouter::getTemplateCode, templateCode) - .eq(MessageTemplateRouter::getIsDelete, TableIsDeleteEnum.NORMAL.value) - // TODO: [cold_blade] [P2] 这里需要逻辑删除而非物理删除 .remove(); // 创建信息的路由信息 List newRouters = routers.stream() diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/api/InsideMessageRecordApi.java b/msg-center-api/src/main/java/cn/axzo/msg/center/api/InsideMessageRecordApi.java index 2fc65bf1..afb50d09 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/api/InsideMessageRecordApi.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/api/InsideMessageRecordApi.java @@ -14,7 +14,7 @@ import org.springframework.web.bind.annotation.RequestBody; import javax.validation.Valid; -@FeignClient(name = "msg-center", url = "${server.serviceUrl}", fallback = InsideMessageRecordApiFallBack.class) +@FeignClient(name = "msg-center", url = "${server.serviceUrl:http://msg-center:8080}", fallback = InsideMessageRecordApiFallBack.class) @Component public interface InsideMessageRecordApi { diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/api/InsideMessageTemplateApi.java b/msg-center-api/src/main/java/cn/axzo/msg/center/api/InsideMessageTemplateApi.java index f77a7f37..2045687d 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/api/InsideMessageTemplateApi.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/api/InsideMessageTemplateApi.java @@ -16,7 +16,7 @@ import org.springframework.web.bind.annotation.*; import java.util.List; -@FeignClient(name = "msg-center", url = "${server.serviceUrl}", fallback = InsideMessageTemplateApiFallBack.class) +@FeignClient(name = "msg-center", url = "${server.serviceUrl:http://msg-center:8080}", fallback = InsideMessageTemplateApiFallBack.class) @Component public interface InsideMessageTemplateApi { diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/api/InsideNoticesApi.java b/msg-center-api/src/main/java/cn/axzo/msg/center/api/InsideNoticesApi.java index addc0dc8..7a338415 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/api/InsideNoticesApi.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/api/InsideNoticesApi.java @@ -16,7 +16,7 @@ import java.util.List; /** * 站内消息相关接口 */ -@FeignClient(name = "msg-center", url = "${server.serviceUrl}", fallback = InsideNoticesApiFallBack.class) +@FeignClient(name = "msg-center", url = "${server.serviceUrl:http://msg-center:8080}", fallback = InsideNoticesApiFallBack.class) @Component public interface InsideNoticesApi { diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/api/MessagePushApi.java b/msg-center-api/src/main/java/cn/axzo/msg/center/api/MessagePushApi.java index 8fbb477e..498333c2 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/api/MessagePushApi.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/api/MessagePushApi.java @@ -12,7 +12,7 @@ import org.springframework.web.bind.annotation.RequestBody; /** * 发送app push消息,底层使用友盟 */ -@FeignClient(value = "msg-center", url = "${server.serviceUrl}", fallbackFactory = MessagePushApiFallbackFactory.class) +@FeignClient(value = "msg-center", url = "${server.serviceUrl:http://msg-center:8080}", fallbackFactory = MessagePushApiFallbackFactory.class) @Component public interface MessagePushApi { diff --git a/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/entity/MessageGroupNode.java b/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/entity/MessageGroupNode.java index 75509df6..f349f496 100644 --- a/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/entity/MessageGroupNode.java +++ b/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/entity/MessageGroupNode.java @@ -1,6 +1,6 @@ package cn.axzo.msg.center.domain.entity; -import cn.axzo.msg.center.domain.persistence.BaseEntity; +import cn.axzo.msg.center.domain.persistence.BaseEntityExt; import cn.axzo.msg.center.service.enums.MessageGroupNodeCategoryEnum; import cn.axzo.msg.center.service.enums.StatusEnum; import com.alibaba.fastjson.JSON; @@ -18,7 +18,7 @@ import java.io.Serializable; */ @Setter @Getter -public class MessageGroupNode extends BaseEntity implements Serializable { +public class MessageGroupNode extends BaseEntityExt implements Serializable { private static final long serialVersionUID = -4536503805143925884L; diff --git a/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/entity/MessageTemplateGroup.java b/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/entity/MessageTemplateGroup.java index 766c4f6a..b5b78a72 100644 --- a/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/entity/MessageTemplateGroup.java +++ b/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/entity/MessageTemplateGroup.java @@ -1,6 +1,6 @@ package cn.axzo.msg.center.domain.entity; -import cn.axzo.msg.center.domain.persistence.BaseEntity; +import cn.axzo.msg.center.domain.persistence.BaseEntityExt; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Getter; @@ -19,7 +19,7 @@ import java.io.Serializable; @Setter @Getter @TableName("message_template_group") -public class MessageTemplateGroup extends BaseEntity implements Serializable { +public class MessageTemplateGroup extends BaseEntityExt implements Serializable { private static final long serialVersionUID = 3902204750978588588L; diff --git a/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/entity/MessageTemplateRouter.java b/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/entity/MessageTemplateRouter.java index 8ef1f5f7..861831c3 100644 --- a/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/entity/MessageTemplateRouter.java +++ b/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/entity/MessageTemplateRouter.java @@ -1,6 +1,6 @@ package cn.axzo.msg.center.domain.entity; -import cn.axzo.msg.center.domain.persistence.BaseEntity; +import cn.axzo.msg.center.domain.persistence.BaseEntityExt; import cn.axzo.msg.center.service.enums.RouterCategoryEnum; import cn.axzo.msg.center.service.enums.TerminalTypeEnum; import com.alibaba.fastjson.JSON; @@ -20,7 +20,7 @@ import java.io.Serializable; @Setter @Getter @TableName("message_template_router") -public class MessageTemplateRouter extends BaseEntity implements Serializable { +public class MessageTemplateRouter extends BaseEntityExt implements Serializable { private static final long serialVersionUID = 6549664208396593182L; diff --git a/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/persistence/BaseEntityExt.java b/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/persistence/BaseEntityExt.java new file mode 100644 index 00000000..580c65ef --- /dev/null +++ b/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/persistence/BaseEntityExt.java @@ -0,0 +1,45 @@ +package cn.axzo.msg.center.domain.persistence; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.util.Date; + +/** + * @author cold_blade + * @date 2023/10/24 + * @version 1.0 + */ +@Setter +@Getter +public abstract class BaseEntityExt> extends Model implements Serializable { + + private static final long serialVersionUID = -420591992046546211L; + + /** + * id + */ + @TableId(type = IdType.AUTO) + protected Long id; + + /** + * 创建时间 + */ + protected Date createAt; + + /** + * 修改时间 + */ + protected Date updateAt; + + /** + * 是否删除 0正常,1删除 + */ + @TableLogic(delval = "id", value = "0") + protected Long isDelete = 0L; +}