commit 1595b8a78fc99570d74a00f52e903083f08e6670 Author: djz236 Date: Thu Mar 31 23:48:47 2022 +0800 1 diff --git a/doc/message-center.sql b/doc/message-center.sql new file mode 100644 index 0000000..b49979d --- /dev/null +++ b/doc/message-center.sql @@ -0,0 +1,188 @@ +-- 1、消息体 +DROP TABLE IF EXISTS `message`; +CREATE TABLE `message` +( + `id` int(32) NOT NULL AUTO_INCREMENT COMMENT 'id', + `sid` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'sid', + `lockVersion` int(32) NULL DEFAULT 0 COMMENT '版本锁', + `createTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间(消息产生时间)', + `modifyTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', + `isEnable` int(32) NULL DEFAULT 1 COMMENT '是否可用:1可用,0不可用', + `state` int(32) NULL DEFAULT 1 COMMENT '状态', + `isDelete` int(32) NULL DEFAULT 0 COMMENT '是否删除:0未删除,1已删除', + `remarks` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注', + `createBySid` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人sid', + `updateBySid` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '修改人sid', + `msgTypeSid` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '消息类别Sid', + `msgType` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '消息类别名称', + `msgTitle` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '消息标题', + `msgContent` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '消息内容', + `msgSource` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '来源(资源名称)', + `senderSid` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '发送人sid', + `senderName` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '发起人姓名', + `senderDeptSid` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '发送人部门Id', + `senderDeptName` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '发起人部门名称', + `businessSid` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '业务Id(扩展字段,与工作相关)', + `moduleSid` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '插件Sid', + `moduleAction` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '具体页面action', + `app_type` varchar(4) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '0.内置Activity 1.内置WebView 2.RePlugin插件', + `args_json` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '参数(规则),json类型的传参(必须为 string、string)', + `h5_url` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '目标网页地址', + `xcx_url` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '小程序页面地址', + `msgTargetUri` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '推送的消息打开的action(APP),推送参数对应class_name', + PRIMARY KEY (`id`) USING BTREE, + INDEX `id`(`id`) USING BTREE +) ENGINE = INNODB + DEFAULT CHARSET = utf8 COMMENT ='消息体'; + +-- 2、消息列表 +DROP TABLE IF EXISTS `message_list`; +CREATE TABLE `message_list` +( + `id` int(32) NOT NULL AUTO_INCREMENT COMMENT 'id', + `sid` varchar(64) NOT NULL COMMENT 'sid', + `lockVersion` int(32) DEFAULT '0' COMMENT '版本锁', + `createTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间(发送时间)', + `modifyTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间(阅读时间)', + `isEnable` int(32) DEFAULT '1' COMMENT '是否可用:1可用,0不可用', + `state` int(32) DEFAULT '1' COMMENT '状态(阅读状态,0未阅,1已阅)', + `isDelete` int(32) DEFAULT '0' COMMENT '是否删除:0未删除,1已删除', + `remarks` varchar(255) DEFAULT NULL COMMENT '备注', + `createBySid` varchar(64) DEFAULT NULL COMMENT '创建人sid', + `updateBySid` varchar(64) DEFAULT NULL COMMENT '修改人sid', + `msgSid` varchar(64) DEFAULT NULL COMMENT '消息sid', + `receiverSid` varchar(64) DEFAULT NULL COMMENT '接收人sid', + `receiverName` varchar(64) DEFAULT NULL COMMENT '接收人姓名', + `receiverDeptSid` varchar(64) DEFAULT NULL COMMENT '接收人部门sid', + `receiverDeptName` varchar(64) DEFAULT NULL COMMENT '接收人部门名称', + `rDelStatus` int(32) DEFAULT NULL COMMENT '接收人删除状态', + `sDelStatus` int(32) DEFAULT NULL COMMENT '发送人删除状态', + PRIMARY KEY (`id`), + KEY `id` (`id`) +) ENGINE = INNODB + DEFAULT CHARSET = utf8 COMMENT ='消息列表'; + +-- 3、消息回复 +DROP TABLE IF EXISTS `message_reply`; +CREATE TABLE `message_reply` +( + `id` int(32) NOT NULL AUTO_INCREMENT COMMENT 'id', + `sid` varchar(64) NOT NULL COMMENT 'sid', + `lockVersion` int(32) DEFAULT '0' COMMENT '版本锁', + `createTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间(回复时间)', + `modifyTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', + `isEnable` int(32) DEFAULT '1' COMMENT '是否可用:1可用,0不可用', + `state` int(32) DEFAULT '1' COMMENT '状态', + `isDelete` int(32) DEFAULT '0' COMMENT '是否删除:0未删除,1已删除', + `remarks` varchar(255) DEFAULT NULL COMMENT '备注', + `createBySid` varchar(64) DEFAULT NULL COMMENT '创建人sid', + `updateBySid` varchar(64) DEFAULT NULL COMMENT '修改人sid', + `msgSid` varchar(64) DEFAULT NULL COMMENT '消息体Id', + `replyConent` varchar(64) DEFAULT NULL COMMENT '回复内容', + `replyPersonName` varchar(32) DEFAULT NULL COMMENT '回复人姓名', + `replyUserSid` varchar(64) DEFAULT NULL COMMENT '回复用户sid', + PRIMARY KEY (`id`), + KEY `id` (`id`) +) ENGINE = INNODB + DEFAULT CHARSET = utf8 COMMENT ='消息回复'; + +-- 4、消息附件 +DROP TABLE IF EXISTS `message_file`; +CREATE TABLE `message_file` +( + `id` int(32) NOT NULL AUTO_INCREMENT COMMENT 'id', + `sid` varchar(64) NOT NULL COMMENT 'sid', + `lockVersion` int(32) DEFAULT '0' COMMENT '版本锁', + `createTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `modifyTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', + `isEnable` int(32) DEFAULT '1' COMMENT '是否可用:1可用,0不可用', + `state` int(32) DEFAULT '1' COMMENT '状态', + `isDelete` int(32) DEFAULT '0' COMMENT '是否删除:0未删除,1已删除', + `remarks` varchar(255) DEFAULT NULL COMMENT '备注', + `createBySid` varchar(64) DEFAULT NULL COMMENT '创建人sid', + `updateBySid` varchar(64) DEFAULT NULL COMMENT '修改人sid', + `msgSid` varchar(64) DEFAULT NULL COMMENT '消息体Id', + `fileName` varchar(64) DEFAULT NULL COMMENT '名称', + `fileType` varchar(64) DEFAULT NULL COMMENT '文件类型', + `filePath` varchar(500) DEFAULT NULL COMMENT '路径', + `attachType` varchar(64) DEFAULT NULL COMMENT '附件类型', + `fileSize` int(32) DEFAULT NULL COMMENT '文件大小 K', + PRIMARY KEY (`id`), + KEY `id` (`id`) +) ENGINE = INNODB + DEFAULT CHARSET = utf8 COMMENT ='消息附件'; + +-- 5、提醒规则 +DROP TABLE IF EXISTS `message_remindRule`; +CREATE TABLE `message_remindRule` +( + `id` int(32) NOT NULL AUTO_INCREMENT COMMENT 'id', + `sid` varchar(64) NOT NULL COMMENT 'sid', + `lockVersion` int(32) DEFAULT '0' COMMENT '版本锁', + `createTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `modifyTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', + `isEnable` int(32) DEFAULT '1' COMMENT '是否可用:1可用,0不可用', + `state` int(32) DEFAULT '1' COMMENT '状态', + `isDelete` int(32) DEFAULT '0' COMMENT '是否删除:0未删除,1已删除', + `remarks` varchar(255) DEFAULT NULL COMMENT '备注(提醒方式)', + `createBySid` varchar(64) DEFAULT NULL COMMENT '创建人sid', + `updateBySid` varchar(64) DEFAULT NULL COMMENT '修改人sid', + `ruleCode` varchar(64) DEFAULT NULL COMMENT '代码', + `rules` int(32) DEFAULT NULL COMMENT '提前提醒0,超期循环提醒1,循环提醒2', + `remindWay` int(32) DEFAULT NULL COMMENT '系统消息0,手机短信1', + PRIMARY KEY (`id`), + KEY `id` (`id`) +) ENGINE = INNODB + DEFAULT CHARSET = utf8 COMMENT ='提醒规则'; + +-- 6、消息转发记录 +DROP TABLE IF EXISTS `message_forwardList`; +CREATE TABLE `message_forwardList` +( + `id` int(32) NOT NULL AUTO_INCREMENT COMMENT 'id', + `sid` varchar(64) NOT NULL COMMENT 'sid', + `lockVersion` int(32) DEFAULT '0' COMMENT '版本锁', + `createTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `modifyTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', + `isEnable` int(32) DEFAULT '1' COMMENT '是否可用:1可用,0不可用', + `state` int(32) DEFAULT '1' COMMENT '状态', + `isDelete` int(32) DEFAULT '0' COMMENT '是否删除:0未删除,1已删除', + `remarks` varchar(255) DEFAULT NULL COMMENT '备注', + `createBySid` varchar(64) DEFAULT NULL COMMENT '创建人sid', + `updateBySid` varchar(64) DEFAULT NULL COMMENT '修改人sid', + `msgSid` varchar(64) DEFAULT NULL COMMENT '消息Id', + `forwardTime` timestamp DEFAULT NULL COMMENT '转发时间', + `forwardPerson` varchar(64) DEFAULT NULL COMMENT '转发人', + `forwordMsgSid` varchar(64) DEFAULT NULL COMMENT '转发的新消息ID', + PRIMARY KEY (`id`), + KEY `id` (`id`) +) ENGINE = INNODB + DEFAULT CHARSET = utf8 COMMENT ='消息转发记录'; + +-- 7、消息类别 +DROP TABLE IF EXISTS `message_type`; +CREATE TABLE `message_type` +( + `id` int(32) NOT NULL AUTO_INCREMENT COMMENT 'id', + `sid` varchar(64) NOT NULL COMMENT 'sid', + `lockVersion` int(32) DEFAULT '0' COMMENT '版本锁', + `createTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `modifyTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', + `isEnable` int(32) DEFAULT '1' COMMENT '是否可用:1可用,0不可用', + `state` int(32) DEFAULT '1' COMMENT '状态', + `isDelete` int(32) DEFAULT '0' COMMENT '是否删除:0未删除,1已删除', + `remarks` varchar(255) DEFAULT NULL COMMENT '备注', + `createBySid` varchar(64) DEFAULT NULL COMMENT '创建人sid', + `updateBySid` varchar(64) DEFAULT NULL COMMENT '修改人sid', + `msgType` varchar(64) DEFAULT NULL COMMENT '消息类别名称', + `crossIconUrl` varchar(64) DEFAULT NULL COMMENT '横排消息类别图标', + `longIconUrl` varchar(64) DEFAULT NULL COMMENT '纵排消息类别图标', + `sort` int(32) DEFAULT NULL COMMENT '排序', + `identifier` varchar(64) DEFAULT NULL COMMENT '消息标识:0001为小程序、0002为app', + PRIMARY KEY (`id`), + KEY `id` (`id`) +) ENGINE = INNODB + DEFAULT CHARSET = utf8 COMMENT ='消息类别'; + + + diff --git a/message-center-api/message-center-api.iml b/message-center-api/message-center-api.iml new file mode 100644 index 0000000..ce98efe --- /dev/null +++ b/message-center-api/message-center-api.iml @@ -0,0 +1,131 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/message-center-api/pom.xml b/message-center-api/pom.xml new file mode 100644 index 0000000..8f5e6dc --- /dev/null +++ b/message-center-api/pom.xml @@ -0,0 +1,62 @@ + + + 4.0.0 + + com.yxt + yxt-parent + 0.0.1 + + + + com.yxt.messagecenter + message-center-api + 0.0.1 + + + + com.yxt + yxt-common-core + 0.0.1 + + + org.springframework.cloud + spring-cloud-starter-openfeign + + + org.projectlombok + lombok + true + + + com.alibaba + fastjson + + + org.hibernate.validator + hibernate-validator + + + com.baomidou + mybatis-plus-annotation + + + com.baomidou + mybatis-plus-boot-starter + + + javax.servlet + javax.servlet-api + 4.0.1 + compile + + + com.github.xiaoymin + knife4j-annotations + 2.0.4 + compile + + + + + diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/message/AppMessageDto.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/message/AppMessageDto.java new file mode 100644 index 0000000..229d546 --- /dev/null +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/message/AppMessageDto.java @@ -0,0 +1,68 @@ +package com.yxt.messagecenter.api.message; + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description + * @Author liuguohui + * @Date 2021/11/23 + */ +@Data +public class AppMessageDto implements Dto { + + @ApiModelProperty("消息体sid") + private String sid; + + @ApiModelProperty("消息类别sid") + private String msgTypeSid; + + @ApiModelProperty("消息类别名称") + private String msgType; + + @ApiModelProperty("消息标题") + private String msgTitle; + + @ApiModelProperty("消息内容") + private String msgContent; + + @ApiModelProperty("来源(资源名称)") + private String msgSource; + + @ApiModelProperty("发送人sid") + private String senderSid; + + @ApiModelProperty("发起人姓名") + private String senderName; + + @ApiModelProperty("发送人部门Id") + private String senderDeptSid; + + @ApiModelProperty("发起人部门名称") + private String senderDeptName; + + @ApiModelProperty("业务Id(扩展字段,与工作相关)") + private String businessSid; + + @ApiModelProperty("插件Sid") + private String moduleSid; + + @ApiModelProperty("具体页面action") + private String moduleAction; + + @ApiModelProperty("0.内置Activity 1.内置WebView 2.RePlugin插件") + private String app_type; + + @ApiModelProperty("参数(规则),json类型的传参(必须为 string、string)") + private String args_json; + + @ApiModelProperty("目标网页地址") + private String h5_url; + + @ApiModelProperty("小程序页面地址") + private String xcx_url; + + @ApiModelProperty("推送的消息打开的action(APP),推送参数对应class_name") + private String msgTargetUri; +} diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/message/Message.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/message/Message.java new file mode 100644 index 0000000..3436800 --- /dev/null +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/message/Message.java @@ -0,0 +1,79 @@ +package com.yxt.messagecenter.api.message; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: message-center(消息中心)
+ * File: Message.java
+ * Class: com.yxt.messagecenter.api.message.Message
+ * Description: 消息体.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 10:20:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "消息体", description = "消息体") +@TableName("message") +@Data +public class Message extends BaseEntity { + private static final long serialVersionUID = 1L; + + + @ApiModelProperty("消息类别sid") + private String msgTypeSid; + + @ApiModelProperty("消息类别名称") + private String msgType; + + @ApiModelProperty("消息标题") + private String msgTitle; + + @ApiModelProperty("消息内容") + private String msgContent; + + @ApiModelProperty("来源(资源名称)") + private String msgSource; + + @ApiModelProperty("发送人sid") + private String senderSid; + + @ApiModelProperty("发起人姓名") + private String senderName; + + @ApiModelProperty("发送人部门Id") + private String senderDeptSid; + + @ApiModelProperty("发起人部门名称") + private String senderDeptName; + + @ApiModelProperty("业务Id(扩展字段,与工作相关)") + private String businessSid; + + @ApiModelProperty("插件Sid") + private String moduleSid; + + @ApiModelProperty("具体页面action") + private String moduleAction; + + @ApiModelProperty("0.内置Activity 1.内置WebView 2.RePlugin插件") + private String app_type; + + @ApiModelProperty("参数(规则),json类型的传参(必须为 string、string)") + private String args_json; + + @ApiModelProperty("目标网页地址") + private String h5_url; + + @ApiModelProperty("小程序页面地址") + private String xcx_url; + + @ApiModelProperty("推送的消息打开的action(APP),推送参数对应class_name") + private String msgTargetUri; +} diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/message/MessageDto.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/message/MessageDto.java new file mode 100644 index 0000000..8a09bc0 --- /dev/null +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/message/MessageDto.java @@ -0,0 +1,96 @@ +package com.yxt.messagecenter.api.message; + + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * Project: message-center(消息中心)
+ * File: MessageDto.java
+ * Class: com.yxt.messagecenter.api.message.MessageDto
+ * Description: 消息体 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 10:20:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "消息体 数据传输对象", description = "消息体 数据传输对象") +@Data +public class MessageDto implements Dto { + + + @ApiModelProperty(value = "消息类别Sid", required = true) + @NotBlank(message = "消息类别Sid不能为空") + private String msgTypeKey; + + + @ApiModelProperty(value = "消息类别名称", required = true) + @NotBlank(message = "消息类别名称不能为空") + private String msgType; + + @ApiModelProperty(value = "消息标题", required = true) + @NotBlank(message = "消息标题不能为空") + private String msgTitle; + + @ApiModelProperty(value = "消息内容", required = true) + @NotBlank(message = "消息内容不能为空") + private String msgContent; + + @ApiModelProperty(value = "来源(资源名称)", required = true) + @NotBlank(message = "来源(资源名称)不能为空") + private String msgSource; + + @ApiModelProperty(value = "发送人sid", required = true) + @NotBlank(message = "发送人sid不能为空") + private String senderSid; + + @ApiModelProperty(value = "发起人姓名", required = true) + @NotBlank(message = "发起人姓名不能为空") + private String senderName; + + @ApiModelProperty(value = "发送人部门Id") + private String senderDeptSid; + + @ApiModelProperty(value = "发起人部门名称") + private String senderDeptName; + + @ApiModelProperty("业务Id(扩展字段,与工作相关)") + private String businessSid; + + @ApiModelProperty("插件Sid") + private String moduleSid; + + @ApiModelProperty("具体页面action") + private String moduleAction; + + @ApiModelProperty("0.内置Activity 1.内置WebView 2.RePlugin插件") + private String app_type; + + @ApiModelProperty("参数(规则),json类型的传参(必须为 string、string)") + private String args_json; + + @ApiModelProperty("目标网页地址") + private String h5_url; + + @ApiModelProperty("小程序页面地址") + private String xcx_url; + + @ApiModelProperty("推送的消息打开的action(APP),推送参数对应class_name") + private String msgTargetUri; + + + @ApiModelProperty(value = "接收人(多个人员以,分隔)", required = true) + @NotBlank(message = "接收人姓名不能为空") + private String receiveNames; + + @ApiModelProperty(value = "接收人sid(多个人员以,分隔)", required = true) + @NotBlank(message = "接收人sid不能为空") + private String receiveSids; +} \ No newline at end of file diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/message/MessageFeign.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/message/MessageFeign.java new file mode 100644 index 0000000..d38e984 --- /dev/null +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/message/MessageFeign.java @@ -0,0 +1,62 @@ +package com.yxt.messagecenter.api.message; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +/** + * Project: message-center(消息中心)
+ * File: MessageFeign.java
+ * Class: com.yxt.messagecenter.api.message.MessageFeign
+ * Description: 消息体.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 10:20:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "消息体") +@FeignClient( + contextId = "message-center-Message", + name = "message-center", + path = "v1/message", + fallback = MessageFeignFallback.class) +public interface MessageFeign { + + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq); + + @ApiOperation("新增保存") + @PostMapping("/save") + public ResultBean save(@RequestBody MessageDto dto); + + @ApiOperation("修改保存") + @PostMapping("/update/{sid}") + public ResultBean update(@RequestBody MessageDto dto, @PathVariable("sid") String sid); + + @ApiOperation("删除记录") + @GetMapping("/del/{ids}") + public ResultBean del(@PathVariable("ids") String ids); + + @ApiOperation("获取一条记录") + @GetMapping("/fetchSid/{sid}") + public ResultBean fetchBySid(@PathVariable("sid") String sid); + + /***************************************手机端接口*********************************************/ + + @ApiOperation("手机端保存/修改消息体") + @PostMapping("/saveOrUpdateAppMessage") + public ResultBean saveOrUpdateAppMessage(@RequestBody AppMessageDto dto); + + /**********************************************************************************************/ +} \ No newline at end of file diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/message/MessageFeignFallback.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/message/MessageFeignFallback.java new file mode 100644 index 0000000..2d81052 --- /dev/null +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/message/MessageFeignFallback.java @@ -0,0 +1,56 @@ +package com.yxt.messagecenter.api.message; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import org.springframework.stereotype.Component; + +/** + * Project: message-center(消息中心)
+ * File: MessageFeignFallback.java
+ * Class: com.yxt.messagecenter.api.message.MessageFeignFallback
+ * Description: 消息体.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 10:20:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Component +public class MessageFeignFallback implements MessageFeign { + + @Override + public ResultBean> listPage(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口message-center/message/listPage无法访问"); + } + + @Override + public ResultBean save(MessageDto dto) { + return ResultBean.fireFail().setMsg("接口message-center/message/save无法访问"); + } + + @Override + public ResultBean update(MessageDto dto, String sid) { + return ResultBean.fireFail().setMsg("接口message-center/message/update无法访问"); + } + + @Override + public ResultBean del(String ids) { + return ResultBean.fireFail().setMsg("接口message-center/message/del无法访问"); + } + + @Override + public ResultBean fetchBySid(String sid) { + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口message-center/message/fetch无法访问"); + } + + @Override + public ResultBean saveOrUpdateAppMessage(AppMessageDto dto) { + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口message-center/message/saveOrUpdateAppMessage无法访问"); + } +} \ No newline at end of file diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/message/MessageQuery.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/message/MessageQuery.java new file mode 100644 index 0000000..fd50f61 --- /dev/null +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/message/MessageQuery.java @@ -0,0 +1,78 @@ +package com.yxt.messagecenter.api.message; + + +import com.yxt.common.core.query.Query; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: message-center(消息中心)
+ * File: MessageQuery.java
+ * Class: com.yxt.messagecenter.api.message.MessageQuery
+ * Description: 消息体 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 10:20:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "消息体 查询条件", description = "消息体 查询条件") +@Data +public class MessageQuery implements Query { + + + @ApiModelProperty("消息类别Sid") + private String msgTypeSid; + + @ApiModelProperty("消息类别名称") + private String msgType; + + @ApiModelProperty("消息标题") + private String msgTitle; + + @ApiModelProperty("消息内容") + private String msgContent; + + @ApiModelProperty("来源(资源名称)") + private String msgSource; + + @ApiModelProperty("发送人sid") + private String senderSid; + + @ApiModelProperty("发起人姓名") + private String senderName; + + @ApiModelProperty("发送人部门Id") + private String senderDeptSid; + + @ApiModelProperty("发起人部门名称") + private String senderDeptName; + + @ApiModelProperty("业务Id(扩展字段,与工作相关)") + private String businessSid; + + @ApiModelProperty("插件Sid") + private String moduleSid; + + @ApiModelProperty("具体页面action") + private String moduleAction; + + @ApiModelProperty("0.内置Activity 1.内置WebView 2.RePlugin插件") + private String app_type; + + @ApiModelProperty("参数(规则),json类型的传参(必须为 string、string)") + private String args_json; + + @ApiModelProperty("目标网页地址") + private String h5_url; + + @ApiModelProperty("小程序页面地址") + private String xcx_url; + + @ApiModelProperty("推送的消息打开的action(APP),推送参数对应class_name") + private String msgTargetUri; +} diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/message/MessageVo.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/message/MessageVo.java new file mode 100644 index 0000000..9b465ec --- /dev/null +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/message/MessageVo.java @@ -0,0 +1,78 @@ +package com.yxt.messagecenter.api.message; + + +import com.yxt.common.core.vo.Vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: message-center(消息中心)
+ * File: MessageVo.java
+ * Class: com.yxt.messagecenter.api.message.MessageVo
+ * Description: 消息体 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 10:20:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "消息体 视图数据对象", description = "消息体 视图数据对象") +@Data +public class MessageVo implements Vo { + + + @ApiModelProperty("消息类别Sid") + private String msgTypeSid; + + @ApiModelProperty("消息类别名称") + private String msgType; + + @ApiModelProperty("消息标题") + private String msgTitle; + + @ApiModelProperty("消息内容") + private String msgContent; + + @ApiModelProperty("来源(资源名称)") + private String msgSource; + + @ApiModelProperty("发送人sid") + private String senderSid; + + @ApiModelProperty("发起人姓名") + private String senderName; + + @ApiModelProperty("发送人部门Id") + private String senderDeptSid; + + @ApiModelProperty("发起人部门名称") + private String senderDeptName; + + @ApiModelProperty("业务Id(扩展字段,与工作相关)") + private String businessSid; + + @ApiModelProperty("插件Sid") + private String moduleSid; + + @ApiModelProperty("具体页面action") + private String moduleAction; + + @ApiModelProperty("0.内置Activity 1.内置WebView 2.RePlugin插件") + private String app_type; + + @ApiModelProperty("参数(规则),json类型的传参(必须为 string、string)") + private String args_json; + + @ApiModelProperty("目标网页地址") + private String h5_url; + + @ApiModelProperty("小程序页面地址") + private String xcx_url; + + @ApiModelProperty("推送的消息打开的action(APP),推送参数对应class_name") + private String msgTargetUri; +} diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/messagefile/MessageFile.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagefile/MessageFile.java new file mode 100644 index 0000000..bef5453 --- /dev/null +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagefile/MessageFile.java @@ -0,0 +1,46 @@ +package com.yxt.messagecenter.api.messagefile; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: message-center(消息中心)
+ * File: MessageFile.java
+ * Class: com.yxt.messagecenter.api.messagefile.MessageFile
+ * Description: 消息附件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 10:20:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "消息附件", description = "消息附件") +@TableName("message_file") +@Data +public class MessageFile extends BaseEntity { + private static final long serialVersionUID = 1L; + + + @ApiModelProperty("消息体Id") + private String msgSid; + + @ApiModelProperty("名称") + private String fileName; + + @ApiModelProperty("文件类型") + private String fileType; + + @ApiModelProperty("路径") + private String filePath; + + @ApiModelProperty("附件类型") + private String attachType; + + @ApiModelProperty("文件大小 K") + private Integer fileSize; +} diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/messagefile/MessageFileDto.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagefile/MessageFileDto.java new file mode 100644 index 0000000..8546856 --- /dev/null +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagefile/MessageFileDto.java @@ -0,0 +1,45 @@ +package com.yxt.messagecenter.api.messagefile; + + +import com.yxt.common.core.dto.Dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: message-center(消息中心)
+ * File: MessageFileDto.java
+ * Class: com.yxt.messagecenter.api.messagefile.MessageFileDto
+ * Description: 消息附件 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 10:20:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "消息附件 数据传输对象", description = "消息附件 数据传输对象") +@Data +public class MessageFileDto implements Dto { + + + @ApiModelProperty("消息体Id") + private String msgSid; + + @ApiModelProperty("名称") + private String fileName; + + @ApiModelProperty("文件类型") + private String fileType; + + @ApiModelProperty("路径") + private String filePath; + + @ApiModelProperty("附件类型") + private String attachType; + + @ApiModelProperty("文件大小 K") + private Integer fileSize; +} \ No newline at end of file diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/messagefile/MessageFileFeign.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagefile/MessageFileFeign.java new file mode 100644 index 0000000..a3db1e3 --- /dev/null +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagefile/MessageFileFeign.java @@ -0,0 +1,65 @@ +package com.yxt.messagecenter.api.messagefile; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * Project: message-center(消息中心)
+ * File: MessageFileFeign.java
+ * Class: com.yxt.messagecenter.api.messagefile.MessageFileFeign
+ * Description: 消息附件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 10:20:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "消息附件") +@FeignClient( + contextId = "message-center-MessageFile", + name = "message-center", + path = "v1/messagefile", + fallback = MessageFileFeignFallback.class) +public interface MessageFileFeign { + + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq); + + @ApiOperation("根据条件查询所有数据列表") + @PostMapping("/listAll") + public ResultBean> listAll(@RequestBody MessageFileQuery query); + + @ApiOperation("所有数据列表") + @GetMapping("/list") + public ResultBean> list(); + + @ApiOperation("新增保存") + @PostMapping("/save") + public ResultBean save(@RequestBody MessageFileDto dto); + + @ApiOperation("修改保存") + @PostMapping("/update/{sid}") + public ResultBean update(@RequestBody MessageFileDto dto,@PathVariable("sid") String sid); + + @ApiOperation("删除记录") + @GetMapping("/del/{ids}") + public ResultBean del(@PathVariable("ids") String ids); + + @ApiOperation("获取一条记录") + @GetMapping("/fetch/{id}") + public ResultBean fetch(@PathVariable("id") String id); + + @ApiOperation("获取一条记录") + @GetMapping("/fetchSid/{sid}") + public ResultBean fetchBySid(@PathVariable("sid") String sid); +} \ No newline at end of file diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/messagefile/MessageFileFeignFallback.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagefile/MessageFileFeignFallback.java new file mode 100644 index 0000000..24e8fd1 --- /dev/null +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagefile/MessageFileFeignFallback.java @@ -0,0 +1,71 @@ +package com.yxt.messagecenter.api.messagefile; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * Project: message-center(消息中心)
+ * File: MessageFileFeignFallback.java
+ * Class: com.yxt.messagecenter.api.messagefile.MessageFileFeignFallback
+ * Description: 消息附件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 10:20:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Component +public class MessageFileFeignFallback implements MessageFileFeign { + + @Override + public ResultBean> listPage(PagerQuery pq){ + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口message-center/messagefile/listPage无法访问"); + } + + @Override + public ResultBean> listAll(MessageFileQuery query){ + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口message-center/messagefile/listAll无法访问"); + } + + @Override + public ResultBean> list(){ + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口message-center/messagefile/list无法访问"); + } + + @Override + public ResultBean save(MessageFileDto dto){ + return ResultBean.fireFail().setMsg("接口message-center/messagefile/save无法访问"); + } + + @Override + public ResultBean update(MessageFileDto dto,String sid){ + return ResultBean.fireFail().setMsg("接口message-center/messagefile/update无法访问"); + } + + @Override + public ResultBean del(String ids){ + return ResultBean.fireFail().setMsg("接口message-center/messagefile/del无法访问"); + } + + @Override + public ResultBean fetch(String id){ + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口message-center/messagefile/fetch无法访问"); + } + + @Override + public ResultBean fetchBySid(String sid){ + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口message-center/messagefile/fetch无法访问"); + } + +} \ No newline at end of file diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/messagefile/MessageFileQuery.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagefile/MessageFileQuery.java new file mode 100644 index 0000000..a9de235 --- /dev/null +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagefile/MessageFileQuery.java @@ -0,0 +1,45 @@ +package com.yxt.messagecenter.api.messagefile; + + +import com.yxt.common.core.query.Query; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: message-center(消息中心)
+ * File: MessageFileQuery.java
+ * Class: com.yxt.messagecenter.api.messagefile.MessageFileQuery
+ * Description: 消息附件 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 10:20:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "消息附件 查询条件", description = "消息附件 查询条件") +@Data +public class MessageFileQuery implements Query { + + + @ApiModelProperty("消息体Id") + private String msgSid; + + @ApiModelProperty("名称") + private String fileName; + + @ApiModelProperty("文件类型") + private String fileType; + + @ApiModelProperty("路径") + private String filePath; + + @ApiModelProperty("附件类型") + private String attachType; + + @ApiModelProperty("文件大小 K") + private Integer fileSize; +} diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/messagefile/MessageFileVo.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagefile/MessageFileVo.java new file mode 100644 index 0000000..2118121 --- /dev/null +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagefile/MessageFileVo.java @@ -0,0 +1,45 @@ +package com.yxt.messagecenter.api.messagefile; + + +import com.yxt.common.core.vo.Vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: message-center(消息中心)
+ * File: MessageFileVo.java
+ * Class: com.yxt.messagecenter.api.messagefile.MessageFileVo
+ * Description: 消息附件 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 10:20:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "消息附件 视图数据对象", description = "消息附件 视图数据对象") +@Data +public class MessageFileVo implements Vo { + + + @ApiModelProperty("消息体Id") + private String msgSid; + + @ApiModelProperty("名称") + private String fileName; + + @ApiModelProperty("文件类型") + private String fileType; + + @ApiModelProperty("路径") + private String filePath; + + @ApiModelProperty("附件类型") + private String attachType; + + @ApiModelProperty("文件大小 K") + private Integer fileSize; +} diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/messageforwardlist/MessageForwardlist.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/messageforwardlist/MessageForwardlist.java new file mode 100644 index 0000000..806ca20 --- /dev/null +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/messageforwardlist/MessageForwardlist.java @@ -0,0 +1,43 @@ +package com.yxt.messagecenter.api.messageforwardlist; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import com.fasterxml.jackson.annotation.JsonFormat; +import java.util.Date; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: message-center(消息中心)
+ * File: MessageForwardlist.java
+ * Class: com.yxt.messagecenter.api.messageforwardlist.MessageForwardlist
+ * Description: 消息转发记录.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 10:20:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "消息转发记录", description = "消息转发记录") +@TableName("message_forwardlist") +@Data +public class MessageForwardlist extends BaseEntity { + private static final long serialVersionUID = 1L; + + + @ApiModelProperty("消息Id") + private String msgSid; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @ApiModelProperty("转发时间") + private Date forwardTime; + + @ApiModelProperty("转发人") + private String forwardPerson; + + @ApiModelProperty("转发的新消息ID") + private String forwordMsgSid; +} diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/messageforwardlist/MessageForwardlistDto.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/messageforwardlist/MessageForwardlistDto.java new file mode 100644 index 0000000..11e1c55 --- /dev/null +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/messageforwardlist/MessageForwardlistDto.java @@ -0,0 +1,42 @@ +package com.yxt.messagecenter.api.messageforwardlist; + + +import com.yxt.common.core.dto.Dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import java.util.Date; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: message-center(消息中心)
+ * File: MessageForwardlistDto.java
+ * Class: com.yxt.messagecenter.api.messageforwardlist.MessageForwardlistDto
+ * Description: 消息转发记录 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 10:20:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "消息转发记录 数据传输对象", description = "消息转发记录 数据传输对象") +@Data +public class MessageForwardlistDto implements Dto { + + + @ApiModelProperty("消息Id") + private String msgSid; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @ApiModelProperty("转发时间") + private Date forwardTime; + + @ApiModelProperty("转发人") + private String forwardPerson; + + @ApiModelProperty("转发的新消息ID") + private String forwordMsgSid; +} \ No newline at end of file diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/messageforwardlist/MessageForwardlistFeign.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/messageforwardlist/MessageForwardlistFeign.java new file mode 100644 index 0000000..68cbbd7 --- /dev/null +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/messageforwardlist/MessageForwardlistFeign.java @@ -0,0 +1,65 @@ +package com.yxt.messagecenter.api.messageforwardlist; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * Project: message-center(消息中心)
+ * File: MessageForwardlistFeign.java
+ * Class: com.yxt.messagecenter.api.messageforwardlist.MessageForwardlistFeign
+ * Description: 消息转发记录.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 10:20:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "消息转发记录") +@FeignClient( + contextId = "message-center-MessageForwardlist", + name = "message-center", + path = "v1/messageforwardlist", + fallback = MessageForwardlistFeignFallback.class) +public interface MessageForwardlistFeign { + + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq); + + @ApiOperation("根据条件查询所有数据列表") + @PostMapping("/listAll") + public ResultBean> listAll(@RequestBody MessageForwardlistQuery query); + + @ApiOperation("所有数据列表") + @GetMapping("/list") + public ResultBean> list(); + + @ApiOperation("新增保存") + @PostMapping("/save") + public ResultBean save(@RequestBody MessageForwardlistDto dto); + + @ApiOperation("修改保存") + @PostMapping("/update/{sid}") + public ResultBean update(@RequestBody MessageForwardlistDto dto,@PathVariable("sid") String sid); + + @ApiOperation("删除记录") + @GetMapping("/del/{ids}") + public ResultBean del(@PathVariable("ids") String ids); + + @ApiOperation("获取一条记录") + @GetMapping("/fetch/{id}") + public ResultBean fetch(@PathVariable("id") String id); + + @ApiOperation("获取一条记录") + @GetMapping("/fetchSid/{sid}") + public ResultBean fetchBySid(@PathVariable("sid") String sid); +} \ No newline at end of file diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/messageforwardlist/MessageForwardlistFeignFallback.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/messageforwardlist/MessageForwardlistFeignFallback.java new file mode 100644 index 0000000..8b428d0 --- /dev/null +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/messageforwardlist/MessageForwardlistFeignFallback.java @@ -0,0 +1,71 @@ +package com.yxt.messagecenter.api.messageforwardlist; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * Project: message-center(消息中心)
+ * File: MessageForwardlistFeignFallback.java
+ * Class: com.yxt.messagecenter.api.messageforwardlist.MessageForwardlistFeignFallback
+ * Description: 消息转发记录.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 10:20:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Component +public class MessageForwardlistFeignFallback implements MessageForwardlistFeign { + + @Override + public ResultBean> listPage(PagerQuery pq){ + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口message-center/messageforwardlist/listPage无法访问"); + } + + @Override + public ResultBean> listAll(MessageForwardlistQuery query){ + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口message-center/messageforwardlist/listAll无法访问"); + } + + @Override + public ResultBean> list(){ + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口message-center/messageforwardlist/list无法访问"); + } + + @Override + public ResultBean save(MessageForwardlistDto dto){ + return ResultBean.fireFail().setMsg("接口message-center/messageforwardlist/save无法访问"); + } + + @Override + public ResultBean update(MessageForwardlistDto dto,String sid){ + return ResultBean.fireFail().setMsg("接口message-center/messageforwardlist/update无法访问"); + } + + @Override + public ResultBean del(String ids){ + return ResultBean.fireFail().setMsg("接口message-center/messageforwardlist/del无法访问"); + } + + @Override + public ResultBean fetch(String id){ + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口message-center/messageforwardlist/fetch无法访问"); + } + + @Override + public ResultBean fetchBySid(String sid){ + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口message-center/messageforwardlist/fetch无法访问"); + } + +} \ No newline at end of file diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/messageforwardlist/MessageForwardlistQuery.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/messageforwardlist/MessageForwardlistQuery.java new file mode 100644 index 0000000..1ce1dbc --- /dev/null +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/messageforwardlist/MessageForwardlistQuery.java @@ -0,0 +1,42 @@ +package com.yxt.messagecenter.api.messageforwardlist; + + +import com.yxt.common.core.query.Query; + +import com.fasterxml.jackson.annotation.JsonFormat; +import java.util.Date; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: message-center(消息中心)
+ * File: MessageForwardlistQuery.java
+ * Class: com.yxt.messagecenter.api.messageforwardlist.MessageForwardlistQuery
+ * Description: 消息转发记录 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 10:20:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "消息转发记录 查询条件", description = "消息转发记录 查询条件") +@Data +public class MessageForwardlistQuery implements Query { + + + @ApiModelProperty("消息Id") + private String msgSid; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @ApiModelProperty("转发时间") + private Date forwardTime; + + @ApiModelProperty("转发人") + private String forwardPerson; + + @ApiModelProperty("转发的新消息ID") + private String forwordMsgSid; +} diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/messageforwardlist/MessageForwardlistVo.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/messageforwardlist/MessageForwardlistVo.java new file mode 100644 index 0000000..971a177 --- /dev/null +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/messageforwardlist/MessageForwardlistVo.java @@ -0,0 +1,42 @@ +package com.yxt.messagecenter.api.messageforwardlist; + + +import com.yxt.common.core.vo.Vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import java.util.Date; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: message-center(消息中心)
+ * File: MessageForwardlistVo.java
+ * Class: com.yxt.messagecenter.api.messageforwardlist.MessageForwardlistVo
+ * Description: 消息转发记录 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 10:20:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "消息转发记录 视图数据对象", description = "消息转发记录 视图数据对象") +@Data +public class MessageForwardlistVo implements Vo { + + + @ApiModelProperty("消息Id") + private String msgSid; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @ApiModelProperty("转发时间") + private Date forwardTime; + + @ApiModelProperty("转发人") + private String forwardPerson; + + @ApiModelProperty("转发的新消息ID") + private String forwordMsgSid; +} diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/MessageList.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/MessageList.java new file mode 100644 index 0000000..ddb4a8b --- /dev/null +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/MessageList.java @@ -0,0 +1,49 @@ +package com.yxt.messagecenter.api.messagelist; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: message-center(消息中心)
+ * File: MessageList.java
+ * Class: com.yxt.messagecenter.api.messagelist.MessageList
+ * Description: 消息列表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 10:20:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "消息列表", description = "消息列表") +@TableName("message_list") +@Data +public class MessageList extends BaseEntity { + private static final long serialVersionUID = 1L; + + + @ApiModelProperty("消息sid") + private String msgSid; + + @ApiModelProperty("接收人sid") + private String receiverSid; + + @ApiModelProperty("接收人姓名") + private String receiverName; + + @ApiModelProperty("接收人部门sid") + private String receiverDeptSid; + + @ApiModelProperty("接收人部门名称") + private String receiverDeptName; + + @ApiModelProperty("接收人删除状态") + private Integer rDelStatus; + + @ApiModelProperty("发送人删除状态") + private Integer sDelStatus; +} diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/MessageListDto.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/MessageListDto.java new file mode 100644 index 0000000..fff4bf1 --- /dev/null +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/MessageListDto.java @@ -0,0 +1,51 @@ +package com.yxt.messagecenter.api.messagelist; + + +import com.yxt.common.core.dto.Dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: message-center(消息中心)
+ * File: MessageListDto.java
+ * Class: com.yxt.messagecenter.api.messagelist.MessageListDto
+ * Description: 消息列表 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 10:20:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "消息列表 数据传输对象", description = "消息列表 数据传输对象") +@Data +public class MessageListDto implements Dto { + + + @ApiModelProperty("消息sid") + private String msgSid; + + @ApiModelProperty("接收人sid") + private String receiverSid; + + @ApiModelProperty("接收人姓名") + private String receiverName; + + @ApiModelProperty("接收人部门sid") + private String receiverDeptSid; + + @ApiModelProperty("接收人部门名称") + private String receiverDeptName; + + @ApiModelProperty("接收人删除状态") + private Integer rDelStatus; + + @ApiModelProperty("发送人删除状态") + private Integer sDelStatus; + + @ApiModelProperty("状态(阅读状态,0未阅,1已阅)") + private Integer state = 0; +} \ No newline at end of file diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/MessageListFeign.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/MessageListFeign.java new file mode 100644 index 0000000..7d1541e --- /dev/null +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/MessageListFeign.java @@ -0,0 +1,120 @@ +package com.yxt.messagecenter.api.messagelist; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.messagecenter.api.message.Message; +import com.yxt.messagecenter.api.messagelist.app.AppMessageListQuery; +import com.yxt.messagecenter.api.messagelist.app.AppMessageListVo; +import com.yxt.messagecenter.api.messagelist.app.AppMsgMainVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * Project: message-center(消息中心)
+ * File: WxMessageListFeign.java
+ * Class: com.yxt.messagecenter.api.messagelist.MessageListFeign
+ * Description: 消息列表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 10:20:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "消息列表") +@FeignClient( + contextId = "message-center-MessageList", + name = "message-center", + path = "v1/messagelist", + fallback = MessageListFeignFallback.class) +public interface MessageListFeign { + + @ApiOperation("根据条件分页查询未读消息列表") + @PostMapping(value="/noreadListPage") + public ResultBean> noreadListPage(@RequestBody PagerQuery pq); + + @ApiOperation("根据条件分页查询已读消息列表") + @PostMapping(value="/readListPage") + public ResultBean> readListPage(@RequestBody PagerQuery pq); + + @ApiOperation("所有数据列表") + @GetMapping("/list") + public ResultBean> list(); + + @ApiOperation("新增保存") + @PostMapping("/save") + public ResultBean save(@RequestBody MessageListDto dto); + + @ApiOperation("修改保存") + @PostMapping("/update/{sid}") + public ResultBean update(@RequestBody MessageListDto dto, @PathVariable("sid") String sid); + + @ApiOperation("删除记录") + @GetMapping("/del/{ids}") + public ResultBean del(@PathVariable("ids") String ids); + +/* @ApiOperation("获取一条记录") + @GetMapping("/fetch/{id}") + public ResultBean fetch(@PathVariable("id") String id); + + @ApiOperation("获取一条记录") + @GetMapping("/fetchSid/{sid}") + public ResultBean fetchBySid(@PathVariable("sid") String sid);*/ + + @ApiOperation("获取一条记录") + @GetMapping("/fetchByMsgSid/{sid}") + public ResultBean fetchByMsgSid(@PathVariable("sid") String sid); + + @ApiOperation("全部设为已读") + @GetMapping("/allChangeRead") + public ResultBean allChangeRead(); + + @ApiOperation("批量设为已读") + @GetMapping("/changeRead") + @ApiImplicitParam(name = "sids") + public ResultBean changeRead(@RequestParam("sids") String sids); + + @ApiOperation("批量设为未读") + @GetMapping("/noChangeRead") + @ApiImplicitParam(name = "sids") + public ResultBean changeUnRead(@RequestParam("sids") String sids); + + /** + * 删除、批量删除 + * + * @param sids + * @return + */ + @ApiOperation("删除、批量删除") + @GetMapping("/deleteBySids") + @ApiImplicitParam(name = "sids") + public ResultBean deleteBySids(@RequestParam("sids") String sids); + + @ApiOperation("获取待阅数量") + @GetMapping("/selectUnReadCount") + public ResultBean selectUnReadCount(@RequestParam(value = "msgTypeSid", required = false) String msgTypeSid, + @RequestParam("userSid") String userSid); + + /********************************************************手机端接口*********************************************************/ + + @ApiOperation("手机端查询消息主页面") + @GetMapping("/getAppMsgMainList") + public ResultBean getAppMsgMainList(@RequestParam("userSid") String userSid); + + @ApiOperation("手机端查询消息列表") + @PostMapping("/getAppMsgListByUserSid") + public ResultBean> getAppMsgListByUserSid(@RequestBody PagerQuery pq); + + @ApiOperation("手机端用户根据消息类型批量设为已读") + @PostMapping("/updateAppReadByType") + public ResultBean updateAppReadByType(@RequestParam ("msgTypeSid") String msgTypeSid, @RequestParam ("userSid") String userSid); + + /****************************************************************************************************************************/ +} \ No newline at end of file diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/MessageListFeignFallback.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/MessageListFeignFallback.java new file mode 100644 index 0000000..92e118d --- /dev/null +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/MessageListFeignFallback.java @@ -0,0 +1,116 @@ +package com.yxt.messagecenter.api.messagelist; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.messagecenter.api.message.Message; +import com.yxt.messagecenter.api.messagelist.app.AppMessageListQuery; +import com.yxt.messagecenter.api.messagelist.app.AppMsgMainVo; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * Project: message-center(消息中心)
+ * File: MessageListFeignFallback.java
+ * Class: com.yxt.messagecenter.api.messagelist.MessageListFeignFallback
+ * Description: 消息列表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 10:20:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Component +public class MessageListFeignFallback implements MessageListFeign { + + @Override + public ResultBean> noreadListPage(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口message-center/messagelist/noreadListPage无法访问"); + } + + @Override + public ResultBean> readListPage(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口message-center/messagelist/readListPage无法访问"); + } + + + @Override + public ResultBean> list() { + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口message-center/messagelist/list无法访问"); + } + + @Override + public ResultBean save(MessageListDto dto) { + return ResultBean.fireFail().setMsg("接口message-center/messagelist/save无法访问"); + } + + @Override + public ResultBean update(MessageListDto dto, String sid) { + return ResultBean.fireFail().setMsg("接口message-center/messagelist/update无法访问"); + } + + @Override + public ResultBean del(String ids) { + return ResultBean.fireFail().setMsg("接口message-center/messagelist/del无法访问"); + } + + @Override + public ResultBean fetchByMsgSid(String sid) { + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口message-center/messagelist/fetchByMsgSid无法访问"); + } + + @Override + public ResultBean allChangeRead() { + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口message-center/messagelist/allChangeRead无法访问"); + } + + @Override + public ResultBean changeRead(String sids) { + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口message-center/messagelist/changeRead无法访问"); + } + + @Override + public ResultBean changeUnRead(String sids) { + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口message-center/messagelist/changeUnRead无法访问"); + } + + @Override + public ResultBean deleteBySids(String sids) { + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口message-center/messagelist/deleteBySids无法访问"); + } + + @Override + public ResultBean selectUnReadCount(String msgTypeSid, String userSid) { + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口message-center/messagelist/selectUnReadCount无法访问"); + } + + @Override + public ResultBean getAppMsgMainList(String userSid) { + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口message-center/messagelist/getAppMsgMainList无法访问"); + } + + @Override + public ResultBean getAppMsgListByUserSid(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口message-center/messagelist/getAppMsgListByUserSid无法访问"); + } + + @Override + public ResultBean updateAppReadByType(String msgTypeSid, String userSid) { + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口message-center/messagelist/updateAppReadByType无法访问"); + } +} \ No newline at end of file diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/MessageListGetMsgTypeVo.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/MessageListGetMsgTypeVo.java new file mode 100644 index 0000000..5b9108e --- /dev/null +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/MessageListGetMsgTypeVo.java @@ -0,0 +1,37 @@ +package com.yxt.messagecenter.api.messagelist; + + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: message-center(消息中心)
+ * File: MessageListVo.java
+ * Class: com.yxt.messagecenter.api.messagelist.MessageListVo
+ * Description: 消息列表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 10:20:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +public class MessageListGetMsgTypeVo implements Vo { + + + @ApiModelProperty("消息类别key") + private String dictKey; + + @ApiModelProperty("消息类别名称") + private String dictValue; + + @ApiModelProperty("消息状态 0未读 1已读") + private Integer state; + + @ApiModelProperty("图标路径") + private String iconImg; +} diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/MessageListJoinMsgVo.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/MessageListJoinMsgVo.java new file mode 100644 index 0000000..99c3809 --- /dev/null +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/MessageListJoinMsgVo.java @@ -0,0 +1,55 @@ +package com.yxt.messagecenter.api.messagelist; + + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: message-center(消息中心)
+ * File: MessageListVo.java
+ * Class: com.yxt.messagecenter.api.messagelist.MessageListVo
+ * Description: 消息列表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 10:20:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "消息列表 视图数据对象", description = "消息列表 视图数据对象") +@Data +public class MessageListJoinMsgVo implements Vo { + + @ApiModelProperty("消息列表sid") + private String sid; + + @ApiModelProperty("消息sid") + private String msgSid; + + @ApiModelProperty("发起人姓名") + private String senderName; + + @ApiModelProperty("消息标题") + private String msgTitle; + + @ApiModelProperty("消息日期") + private String createTime; + + @ApiModelProperty("消息类别名称") + private String msgType; + + @ApiModelProperty("来源(资源名称)") + private String msgSource; + + @ApiModelProperty("阅读状态") + private String state; + + @ApiModelProperty("消息内容") + private String msgContent; + + @ApiModelProperty("接收人sid") + private String receiverSid; +} diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/MessageListQuery.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/MessageListQuery.java new file mode 100644 index 0000000..91387b6 --- /dev/null +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/MessageListQuery.java @@ -0,0 +1,48 @@ +package com.yxt.messagecenter.api.messagelist; + + +import com.yxt.common.core.query.Query; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: message-center(消息中心)
+ * File: MessageListQuery.java
+ * Class: com.yxt.messagecenter.api.messagelist.MessageListQuery
+ * Description: 消息列表 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 10:20:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "消息列表 查询条件", description = "消息列表 查询条件") +@Data +public class MessageListQuery implements Query { + + + @ApiModelProperty("发起人姓名") + private String senderName; + + @ApiModelProperty("消息类别名称") + private String msgType; + + @ApiModelProperty("消息标题") + private String msgTitle; + + @ApiModelProperty("来源(资源名称)") + private String msgSource; + + @ApiModelProperty("接收开始日期") + private String createDateStart; + + @ApiModelProperty("接收结束日期") + private String createDateEnd; + + @ApiModelProperty("接收人sid") + private String receiverSid; +} diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/MessageListVo.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/MessageListVo.java new file mode 100644 index 0000000..5763f50 --- /dev/null +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/MessageListVo.java @@ -0,0 +1,48 @@ +package com.yxt.messagecenter.api.messagelist; + + +import com.yxt.common.core.vo.Vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: message-center(消息中心)
+ * File: MessageListVo.java
+ * Class: com.yxt.messagecenter.api.messagelist.MessageListVo
+ * Description: 消息列表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 10:20:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "消息列表 视图数据对象", description = "消息列表 视图数据对象") +@Data +public class MessageListVo implements Vo { + + + @ApiModelProperty("消息sid") + private String msgSid; + + @ApiModelProperty("接收人sid") + private String receiverSid; + + @ApiModelProperty("接收人姓名") + private String receiverName; + + @ApiModelProperty("接收人部门sid") + private String receiverDeptSid; + + @ApiModelProperty("接收人部门名称") + private String receiverDeptName; + + @ApiModelProperty("接收人删除状态") + private Integer rDelStatus; + + @ApiModelProperty("发送人删除状态") + private Integer sDelStatus; +} diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/app/AppCrossIcon.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/app/AppCrossIcon.java new file mode 100644 index 0000000..35cb17c --- /dev/null +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/app/AppCrossIcon.java @@ -0,0 +1,25 @@ +package com.yxt.messagecenter.api.messagelist.app; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description + * @Author liuguohui + * @Date 2021/11/27 + */ +@Data +public class AppCrossIcon{ + + @ApiModelProperty("消息类型sid") + private String msgTypeSid; + + @ApiModelProperty("消息类型") + private String msgType; + + @ApiModelProperty("icon路径") + private String iconUrl; + + @ApiModelProperty("未读数量") + private String num; +} diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/app/AppLastMsgVo.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/app/AppLastMsgVo.java new file mode 100644 index 0000000..a9468b2 --- /dev/null +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/app/AppLastMsgVo.java @@ -0,0 +1,36 @@ +package com.yxt.messagecenter.api.messagelist.app; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description + * @Author liuguohui + * @Date 2021/11/27 + */ +@ApiModel("最近一次消息") +@Data +public class AppLastMsgVo implements Vo { + + @ApiModelProperty("发送时间") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private String sendTime; + + @ApiModelProperty("是否已读") + private String num; + + @ApiModelProperty("标题") + private String msgTitle; + + @ApiModelProperty("内容") + private String msgContent; + + @ApiModelProperty("消息列表sid") + private String sid; + + @ApiModelProperty("消息体sid") + private String msgSid; +} diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/app/AppLongsIcon.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/app/AppLongsIcon.java new file mode 100644 index 0000000..0725293 --- /dev/null +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/app/AppLongsIcon.java @@ -0,0 +1,35 @@ +package com.yxt.messagecenter.api.messagelist.app; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description + * @Author liuguohui + * @Date 2021/11/27 + */ +@Data +public class AppLongsIcon { + + @ApiModelProperty("消息类型") + private String msgType; + + @ApiModelProperty("消息类型sid") + private String msgTypeSid; + + @ApiModelProperty("标题") + private String title; + + @ApiModelProperty("内容") + private String content; + + @ApiModelProperty("icon路径") + private String iconUrl; + + @ApiModelProperty("未读数量") + private String num; + + @ApiModelProperty("发送时间") + private String sendTime; + +} diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/app/AppMessageListQuery.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/app/AppMessageListQuery.java new file mode 100644 index 0000000..e149f2a --- /dev/null +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/app/AppMessageListQuery.java @@ -0,0 +1,20 @@ +package com.yxt.messagecenter.api.messagelist.app; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description + * @Author liuguohui + * @Date 2021/11/26 + */ +@Data +public class AppMessageListQuery implements Query { + + @ApiModelProperty("用户sid") + private String userSid; + + @ApiModelProperty("消息类别") + private String msgTypeSid; +} diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/app/AppMessageListVo.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/app/AppMessageListVo.java new file mode 100644 index 0000000..68b203a --- /dev/null +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/app/AppMessageListVo.java @@ -0,0 +1,55 @@ +package com.yxt.messagecenter.api.messagelist.app; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description + * @Author liuguohui + * @Date 2021/11/26 + */ +@ApiModel("手机端消息列表") +@Data +public class AppMessageListVo implements Vo { + + @ApiModelProperty("消息列表sid") + private String sid; + + @ApiModelProperty("消息体sid") + private String msgSid; + + @ApiModelProperty("0.内置Activity 1.内置WebView 2.RePlugin插件") + private String type; + + @ApiModelProperty("apk下载地址(type = 2有)") + private String path; + + @ApiModelProperty("RePlugin插件名称(type = 2有)") + private String modulePluginName; + + @ApiModelProperty("启动模块的动作(0.启动Activity的包名+类名 1.html地址 2.启动Activity的包名+类名)") + private String moduleAction; + + @ApiModelProperty("模块的版本(type = 2,3有)") + private int moduleVersion; + + @ApiModelProperty("插件Sid(type = 2有)") + private String moduleSid; + + @ApiModelProperty("参数(规则),json类型的传参(必须为 string、string)") + private String json; + + @ApiModelProperty("消息标题") + private String msgTitle; + + @ApiModelProperty("消息内容") + private String msgContent; + + @ApiModelProperty("状态(阅读状态,0未阅,1已阅)") + private String state; + + @ApiModelProperty("发送时间") + private String sendTime; +} diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/app/AppMsgMainVo.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/app/AppMsgMainVo.java new file mode 100644 index 0000000..63c1513 --- /dev/null +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/app/AppMsgMainVo.java @@ -0,0 +1,27 @@ +package com.yxt.messagecenter.api.messagelist.app; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Description + * @Author liuguohui + * @Date 2021/11/27 + */ +@ApiModel("手机端消息主页面") +@Data +public class AppMsgMainVo implements Vo { + + @ApiModelProperty("横向icon") + private List crossIconList; + + @ApiModelProperty("竖向icon") + private List longIconList; + + @ApiModelProperty("未读消息") + private String msgTotal; +} \ No newline at end of file diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/wx/WxMessageListFeign.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/wx/WxMessageListFeign.java new file mode 100644 index 0000000..b245243 --- /dev/null +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/wx/WxMessageListFeign.java @@ -0,0 +1,27 @@ +package com.yxt.messagecenter.api.messagelist.wx; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +/** + * @author dimengzhe + * @date 2021/11/1 16:45 + * @description + */ +@FeignClient( + contextId = "message-center-WxMessageList", + name = "message-center", + path = "v1/wx/messagelist", + fallback = WxMessageListFeignFallback.class) +public interface WxMessageListFeign { + + @ApiOperation("客户端查询所有消息列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq); + +} diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/wx/WxMessageListFeignFallback.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/wx/WxMessageListFeignFallback.java new file mode 100644 index 0000000..ff84cf4 --- /dev/null +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/wx/WxMessageListFeignFallback.java @@ -0,0 +1,19 @@ +package com.yxt.messagecenter.api.messagelist.wx; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import org.springframework.stereotype.Component; + +/** + * @author dimengzhe + * @date 2021/11/1 16:48 + * @description + */ +@Component +public class WxMessageListFeignFallback implements WxMessageListFeign { + @Override + public ResultBean> listPage(PagerQuery pq) { + return null; + } +} diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/wx/WxMessageListQuery.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/wx/WxMessageListQuery.java new file mode 100644 index 0000000..6980c2a --- /dev/null +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/wx/WxMessageListQuery.java @@ -0,0 +1,21 @@ +package com.yxt.messagecenter.api.messagelist.wx; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author dimengzhe + * @date 2021/11/1 17:00 + * @description + */ +@Data +public class WxMessageListQuery implements Query { + private static final long serialVersionUID = -5016458608578452869L; + + @ApiModelProperty("消息类别") + private String msgTypeSid; + + @ApiModelProperty("接收人sid") + private String receiverSid; +} diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/wx/WxMessageListVo.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/wx/WxMessageListVo.java new file mode 100644 index 0000000..1f72ae4 --- /dev/null +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/wx/WxMessageListVo.java @@ -0,0 +1,37 @@ +package com.yxt.messagecenter.api.messagelist.wx; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author dimengzhe + * @date 2021/11/1 16:50 + * @description + */ +@Data +public class WxMessageListVo implements Vo { + private static final long serialVersionUID = -3077053489268824652L; + + @ApiModelProperty("消息列表sid") + private String sid; + + @ApiModelProperty("消息标题") + private String msgTitle; + + @ApiModelProperty("消息日期") + private String createTime; + + @ApiModelProperty("消息类别名称") + private String msgType; + + @ApiModelProperty(value = "消息类别图标") + private String iconImage; + + @ApiModelProperty("阅读状态:0未读,1已读") + private Integer state; + + @ApiModelProperty("消息内容") + private String msgContent; + +} diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/messageremindrule/MessageRemindrule.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/messageremindrule/MessageRemindrule.java new file mode 100644 index 0000000..7bf9fa6 --- /dev/null +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/messageremindrule/MessageRemindrule.java @@ -0,0 +1,37 @@ +package com.yxt.messagecenter.api.messageremindrule; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: message-center(消息中心)
+ * File: MessageRemindrule.java
+ * Class: com.yxt.messagecenter.api.messageremindrule.MessageRemindrule
+ * Description: 提醒规则.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 10:20:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "提醒规则", description = "提醒规则") +@TableName("message_remindrule") +@Data +public class MessageRemindrule extends BaseEntity { + private static final long serialVersionUID = 1L; + + + @ApiModelProperty("代码") + private String ruleCode; + + @ApiModelProperty("提前提醒0,超期循环提醒1,循环提醒2") + private Integer rules; + + @ApiModelProperty("系统消息0,手机短信1") + private Integer remindWay; +} diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/messageremindrule/MessageRemindruleDto.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/messageremindrule/MessageRemindruleDto.java new file mode 100644 index 0000000..783b1dd --- /dev/null +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/messageremindrule/MessageRemindruleDto.java @@ -0,0 +1,36 @@ +package com.yxt.messagecenter.api.messageremindrule; + + +import com.yxt.common.core.dto.Dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: message-center(消息中心)
+ * File: MessageRemindruleDto.java
+ * Class: com.yxt.messagecenter.api.messageremindrule.MessageRemindruleDto
+ * Description: 提醒规则 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 10:20:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "提醒规则 数据传输对象", description = "提醒规则 数据传输对象") +@Data +public class MessageRemindruleDto implements Dto { + + + @ApiModelProperty("代码") + private String ruleCode; + + @ApiModelProperty("提前提醒0,超期循环提醒1,循环提醒2") + private Integer rules; + + @ApiModelProperty("系统消息0,手机短信1") + private Integer remindWay; +} \ No newline at end of file diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/messageremindrule/MessageRemindruleFeign.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/messageremindrule/MessageRemindruleFeign.java new file mode 100644 index 0000000..fcf7b33 --- /dev/null +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/messageremindrule/MessageRemindruleFeign.java @@ -0,0 +1,65 @@ +package com.yxt.messagecenter.api.messageremindrule; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * Project: message-center(消息中心)
+ * File: MessageRemindruleFeign.java
+ * Class: com.yxt.messagecenter.api.messageremindrule.MessageRemindruleFeign
+ * Description: 提醒规则.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 10:20:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "提醒规则") +@FeignClient( + contextId = "message-center-MessageRemindrule", + name = "message-center", + path = "v1/messageremindrule", + fallback = MessageRemindruleFeignFallback.class) +public interface MessageRemindruleFeign { + + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq); + + @ApiOperation("根据条件查询所有数据列表") + @PostMapping("/listAll") + public ResultBean> listAll(@RequestBody MessageRemindruleQuery query); + + @ApiOperation("所有数据列表") + @GetMapping("/list") + public ResultBean> list(); + + @ApiOperation("新增保存") + @PostMapping("/save") + public ResultBean save(@RequestBody MessageRemindruleDto dto); + + @ApiOperation("修改保存") + @PostMapping("/update/{sid}") + public ResultBean update(@RequestBody MessageRemindruleDto dto,@PathVariable("sid") String sid); + + @ApiOperation("删除记录") + @GetMapping("/del/{ids}") + public ResultBean del(@PathVariable("ids") String ids); + + @ApiOperation("获取一条记录") + @GetMapping("/fetch/{id}") + public ResultBean fetch(@PathVariable("id") String id); + + @ApiOperation("获取一条记录") + @GetMapping("/fetchSid/{sid}") + public ResultBean fetchBySid(@PathVariable("sid") String sid); +} \ No newline at end of file diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/messageremindrule/MessageRemindruleFeignFallback.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/messageremindrule/MessageRemindruleFeignFallback.java new file mode 100644 index 0000000..333bae3 --- /dev/null +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/messageremindrule/MessageRemindruleFeignFallback.java @@ -0,0 +1,71 @@ +package com.yxt.messagecenter.api.messageremindrule; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * Project: message-center(消息中心)
+ * File: MessageRemindruleFeignFallback.java
+ * Class: com.yxt.messagecenter.api.messageremindrule.MessageRemindruleFeignFallback
+ * Description: 提醒规则.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 10:20:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Component +public class MessageRemindruleFeignFallback implements MessageRemindruleFeign { + + @Override + public ResultBean> listPage(PagerQuery pq){ + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口message-center/messageremindrule/listPage无法访问"); + } + + @Override + public ResultBean> listAll(MessageRemindruleQuery query){ + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口message-center/messageremindrule/listAll无法访问"); + } + + @Override + public ResultBean> list(){ + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口message-center/messageremindrule/list无法访问"); + } + + @Override + public ResultBean save(MessageRemindruleDto dto){ + return ResultBean.fireFail().setMsg("接口message-center/messageremindrule/save无法访问"); + } + + @Override + public ResultBean update(MessageRemindruleDto dto,String sid){ + return ResultBean.fireFail().setMsg("接口message-center/messageremindrule/update无法访问"); + } + + @Override + public ResultBean del(String ids){ + return ResultBean.fireFail().setMsg("接口message-center/messageremindrule/del无法访问"); + } + + @Override + public ResultBean fetch(String id){ + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口message-center/messageremindrule/fetch无法访问"); + } + + @Override + public ResultBean fetchBySid(String sid){ + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口message-center/messageremindrule/fetch无法访问"); + } + +} \ No newline at end of file diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/messageremindrule/MessageRemindruleQuery.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/messageremindrule/MessageRemindruleQuery.java new file mode 100644 index 0000000..293326b --- /dev/null +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/messageremindrule/MessageRemindruleQuery.java @@ -0,0 +1,36 @@ +package com.yxt.messagecenter.api.messageremindrule; + + +import com.yxt.common.core.query.Query; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: message-center(消息中心)
+ * File: MessageRemindruleQuery.java
+ * Class: com.yxt.messagecenter.api.messageremindrule.MessageRemindruleQuery
+ * Description: 提醒规则 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 10:20:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "提醒规则 查询条件", description = "提醒规则 查询条件") +@Data +public class MessageRemindruleQuery implements Query { + + + @ApiModelProperty("代码") + private String ruleCode; + + @ApiModelProperty("提前提醒0,超期循环提醒1,循环提醒2") + private Integer rules; + + @ApiModelProperty("系统消息0,手机短信1") + private Integer remindWay; +} diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/messageremindrule/MessageRemindruleVo.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/messageremindrule/MessageRemindruleVo.java new file mode 100644 index 0000000..e799a51 --- /dev/null +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/messageremindrule/MessageRemindruleVo.java @@ -0,0 +1,36 @@ +package com.yxt.messagecenter.api.messageremindrule; + + +import com.yxt.common.core.vo.Vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: message-center(消息中心)
+ * File: MessageRemindruleVo.java
+ * Class: com.yxt.messagecenter.api.messageremindrule.MessageRemindruleVo
+ * Description: 提醒规则 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 10:20:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "提醒规则 视图数据对象", description = "提醒规则 视图数据对象") +@Data +public class MessageRemindruleVo implements Vo { + + + @ApiModelProperty("代码") + private String ruleCode; + + @ApiModelProperty("提前提醒0,超期循环提醒1,循环提醒2") + private Integer rules; + + @ApiModelProperty("系统消息0,手机短信1") + private Integer remindWay; +} diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/messagereply/MessageReply.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagereply/MessageReply.java new file mode 100644 index 0000000..51e322d --- /dev/null +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagereply/MessageReply.java @@ -0,0 +1,40 @@ +package com.yxt.messagecenter.api.messagereply; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: message-center(消息中心)
+ * File: MessageReply.java
+ * Class: com.yxt.messagecenter.api.messagereply.MessageReply
+ * Description: 消息回复.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 10:20:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "消息回复", description = "消息回复") +@TableName("message_reply") +@Data +public class MessageReply extends BaseEntity { + private static final long serialVersionUID = 1L; + + + @ApiModelProperty("消息体Id") + private String msgSid; + + @ApiModelProperty("回复内容") + private String replyConent; + + @ApiModelProperty("回复人姓名") + private String replyPersonName; + + @ApiModelProperty("回复用户sid") + private String replyUserSid; +} diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/messagereply/MessageReplyDto.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagereply/MessageReplyDto.java new file mode 100644 index 0000000..7ef9469 --- /dev/null +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagereply/MessageReplyDto.java @@ -0,0 +1,39 @@ +package com.yxt.messagecenter.api.messagereply; + + +import com.yxt.common.core.dto.Dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: message-center(消息中心)
+ * File: MessageReplyDto.java
+ * Class: com.yxt.messagecenter.api.messagereply.MessageReplyDto
+ * Description: 消息回复 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 10:20:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "消息回复 数据传输对象", description = "消息回复 数据传输对象") +@Data +public class MessageReplyDto implements Dto { + + + @ApiModelProperty("消息体Id") + private String msgSid; + + @ApiModelProperty("回复内容") + private String replyConent; + + @ApiModelProperty("回复人姓名") + private String replyPersonName; + + @ApiModelProperty("回复用户sid") + private String replyUserSid; +} \ No newline at end of file diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/messagereply/MessageReplyFeign.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagereply/MessageReplyFeign.java new file mode 100644 index 0000000..9e7f1d6 --- /dev/null +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagereply/MessageReplyFeign.java @@ -0,0 +1,65 @@ +package com.yxt.messagecenter.api.messagereply; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * Project: message-center(消息中心)
+ * File: MessageReplyFeign.java
+ * Class: com.yxt.messagecenter.api.messagereply.MessageReplyFeign
+ * Description: 消息回复.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 10:20:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "消息回复") +@FeignClient( + contextId = "message-center-MessageReply", + name = "message-center", + path = "v1/messagereply", + fallback = MessageReplyFeignFallback.class) +public interface MessageReplyFeign { + + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq); + + @ApiOperation("根据条件查询所有数据列表") + @PostMapping("/listAll") + public ResultBean> listAll(@RequestBody MessageReplyQuery query); + + @ApiOperation("所有数据列表") + @GetMapping("/list") + public ResultBean> list(); + + @ApiOperation("新增保存") + @PostMapping("/save") + public ResultBean save(@RequestBody MessageReplyDto dto); + + @ApiOperation("修改保存") + @PostMapping("/update/{sid}") + public ResultBean update(@RequestBody MessageReplyDto dto,@PathVariable("sid") String sid); + + @ApiOperation("删除记录") + @GetMapping("/del/{ids}") + public ResultBean del(@PathVariable("ids") String ids); + + @ApiOperation("获取一条记录") + @GetMapping("/fetch/{id}") + public ResultBean fetch(@PathVariable("id") String id); + + @ApiOperation("获取一条记录") + @GetMapping("/fetchSid/{sid}") + public ResultBean fetchBySid(@PathVariable("sid") String sid); +} \ No newline at end of file diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/messagereply/MessageReplyFeignFallback.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagereply/MessageReplyFeignFallback.java new file mode 100644 index 0000000..e9f7a06 --- /dev/null +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagereply/MessageReplyFeignFallback.java @@ -0,0 +1,71 @@ +package com.yxt.messagecenter.api.messagereply; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * Project: message-center(消息中心)
+ * File: MessageReplyFeignFallback.java
+ * Class: com.yxt.messagecenter.api.messagereply.MessageReplyFeignFallback
+ * Description: 消息回复.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 10:20:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Component +public class MessageReplyFeignFallback implements MessageReplyFeign { + + @Override + public ResultBean> listPage(PagerQuery pq){ + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口message-center/messagereply/listPage无法访问"); + } + + @Override + public ResultBean> listAll(MessageReplyQuery query){ + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口message-center/messagereply/listAll无法访问"); + } + + @Override + public ResultBean> list(){ + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口message-center/messagereply/list无法访问"); + } + + @Override + public ResultBean save(MessageReplyDto dto){ + return ResultBean.fireFail().setMsg("接口message-center/messagereply/save无法访问"); + } + + @Override + public ResultBean update(MessageReplyDto dto,String sid){ + return ResultBean.fireFail().setMsg("接口message-center/messagereply/update无法访问"); + } + + @Override + public ResultBean del(String ids){ + return ResultBean.fireFail().setMsg("接口message-center/messagereply/del无法访问"); + } + + @Override + public ResultBean fetch(String id){ + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口message-center/messagereply/fetch无法访问"); + } + + @Override + public ResultBean fetchBySid(String sid){ + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口message-center/messagereply/fetch无法访问"); + } + +} \ No newline at end of file diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/messagereply/MessageReplyQuery.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagereply/MessageReplyQuery.java new file mode 100644 index 0000000..7bf93c0 --- /dev/null +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagereply/MessageReplyQuery.java @@ -0,0 +1,39 @@ +package com.yxt.messagecenter.api.messagereply; + + +import com.yxt.common.core.query.Query; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: message-center(消息中心)
+ * File: MessageReplyQuery.java
+ * Class: com.yxt.messagecenter.api.messagereply.MessageReplyQuery
+ * Description: 消息回复 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 10:20:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "消息回复 查询条件", description = "消息回复 查询条件") +@Data +public class MessageReplyQuery implements Query { + + + @ApiModelProperty("消息体Id") + private String msgSid; + + @ApiModelProperty("回复内容") + private String replyConent; + + @ApiModelProperty("回复人姓名") + private String replyPersonName; + + @ApiModelProperty("回复用户sid") + private String replyUserSid; +} diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/messagereply/MessageReplyVo.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagereply/MessageReplyVo.java new file mode 100644 index 0000000..7f3369b --- /dev/null +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagereply/MessageReplyVo.java @@ -0,0 +1,39 @@ +package com.yxt.messagecenter.api.messagereply; + + +import com.yxt.common.core.vo.Vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: message-center(消息中心)
+ * File: MessageReplyVo.java
+ * Class: com.yxt.messagecenter.api.messagereply.MessageReplyVo
+ * Description: 消息回复 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 10:20:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "消息回复 视图数据对象", description = "消息回复 视图数据对象") +@Data +public class MessageReplyVo implements Vo { + + + @ApiModelProperty("消息体Id") + private String msgSid; + + @ApiModelProperty("回复内容") + private String replyConent; + + @ApiModelProperty("回复人姓名") + private String replyPersonName; + + @ApiModelProperty("回复用户sid") + private String replyUserSid; +} diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/messagetype/MessageType.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagetype/MessageType.java new file mode 100644 index 0000000..72cbab3 --- /dev/null +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagetype/MessageType.java @@ -0,0 +1,42 @@ +package com.yxt.messagecenter.api.messagetype; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: message-center(消息中心)
+ * File: MessageType.java
+ * Class: com.yxt.messagecenter.api.messagetype.MessageType
+ * Description: 消息类别.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-11-01 15:25:56
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "消息类别", description = "消息类别") +@TableName("message_type") +@Data +public class MessageType extends BaseEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("消息类别名称") + private String msgType; + + @ApiModelProperty("横排消息类别图标") + private String crossIconUrl; + + @ApiModelProperty("纵排消息类别图标") + private String longIconUrl; + + @ApiModelProperty("排序") + private Integer sort; + + @ApiModelProperty("消息标识:0001为小程序、0002为app") + private String identifier; +} diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/messagetype/MessageTypeDto.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagetype/MessageTypeDto.java new file mode 100644 index 0000000..4620f6d --- /dev/null +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagetype/MessageTypeDto.java @@ -0,0 +1,41 @@ +package com.yxt.messagecenter.api.messagetype; + + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: message-center(消息中心)
+ * File: MessageTypeDto.java
+ * Class: com.yxt.messagecenter.api.messagetype.MessageTypeDto
+ * Description: 消息类别 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-11-01 15:25:56
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "消息类别 数据传输对象", description = "消息类别 数据传输对象") +@Data +public class MessageTypeDto implements Dto { + + private static final long serialVersionUID = -4102266371674116796L; + @ApiModelProperty("消息类别名称") + private String msgType; + + @ApiModelProperty("横排消息类别图标") + private String crossIconUrl; + + @ApiModelProperty("纵排消息类别图标") + private String longIconUrl; + + @ApiModelProperty("排序") + private Integer sort; + + @ApiModelProperty("消息标识:0001为小程序、0002为app") + private String identifier; +} \ No newline at end of file diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/messagetype/MessageTypeFeign.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagetype/MessageTypeFeign.java new file mode 100644 index 0000000..d653391 --- /dev/null +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagetype/MessageTypeFeign.java @@ -0,0 +1,52 @@ +package com.yxt.messagecenter.api.messagetype; + +import com.yxt.common.core.result.ResultBean; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * Project: message-center(消息中心)
+ * File: MessageTypeFeign.java
+ * Class: com.yxt.messagecenter.api.messagetype.MessageTypeFeign
+ * Description: 消息类别.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-11-01 15:25:56
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "消息类别") +@FeignClient( + contextId = "message-center-MessageType", + name = "message-center", + path = "v1/messagetype", + fallback = MessageTypeFeignFallback.class) +public interface MessageTypeFeign { + + @ApiOperation("新增保存") + @PostMapping("/save") + public ResultBean save(@RequestBody MessageTypeDto dto); + + @ApiOperation("修改保存") + @PostMapping("/update/{sid}") + public ResultBean update(@RequestBody MessageTypeDto dto, @PathVariable("sid") String sid); + + @ApiOperation("删除记录") + @GetMapping("/del/{ids}") + public ResultBean del(@PathVariable("ids") String ids); + + @ApiOperation("客户端消息类别列表") + @PostMapping("/selectList") + ResultBean> selectList(); + + + @ApiOperation("手机端查询消息类别列表") + @GetMapping("/selectAppMsgTypeList") + ResultBean> selectAppMsgTypeList(@RequestParam ("identifier") String identifier); +} \ No newline at end of file diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/messagetype/MessageTypeFeignFallback.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagetype/MessageTypeFeignFallback.java new file mode 100644 index 0000000..73bf6be --- /dev/null +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagetype/MessageTypeFeignFallback.java @@ -0,0 +1,48 @@ +package com.yxt.messagecenter.api.messagetype; + +import com.yxt.common.core.result.ResultBean; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * Project: message-center(消息中心)
+ * File: MessageTypeFeignFallback.java
+ * Class: com.yxt.messagecenter.api.messagetype.MessageTypeFeignFallback
+ * Description: 消息类别.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-11-01 15:25:56
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Component +public class MessageTypeFeignFallback implements MessageTypeFeign { + + @Override + public ResultBean save(MessageTypeDto dto) { + return ResultBean.fireFail().setMsg("接口message-center/messagetype/save无法访问"); + } + + @Override + public ResultBean update(MessageTypeDto dto, String sid) { + return ResultBean.fireFail().setMsg("接口message-center/messagetype/update无法访问"); + } + + @Override + public ResultBean del(String ids) { + return ResultBean.fireFail().setMsg("接口message-center/messagetype/del无法访问"); + } + + @Override + public ResultBean> selectList() { + return null; + } + + @Override + public ResultBean selectAppMsgTypeList(String identifier) { + return ResultBean.fireFail().setMsg("接口message-center/messagetype/selectAppMsgTypeList无法访问"); + } +} \ No newline at end of file diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/messagetype/MessageTypeQuery.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagetype/MessageTypeQuery.java new file mode 100644 index 0000000..db86c48 --- /dev/null +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagetype/MessageTypeQuery.java @@ -0,0 +1,40 @@ +package com.yxt.messagecenter.api.messagetype; + + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: message-center(消息中心)
+ * File: MessageTypeQuery.java
+ * Class: com.yxt.messagecenter.api.messagetype.MessageTypeQuery
+ * Description: 消息类别 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-11-01 15:25:56
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "消息类别 查询条件", description = "消息类别 查询条件") +@Data +public class MessageTypeQuery implements Query { + private static final long serialVersionUID = -1185819470050546097L; + @ApiModelProperty("消息类别名称") + private String msgType; + + @ApiModelProperty("横排消息类别图标") + private String crossIconUrl; + + @ApiModelProperty("纵排消息类别图标") + private String longIconUrl; + + @ApiModelProperty("排序") + private Integer sort; + + @ApiModelProperty("消息标识:0001为小程序、0002为app") + private String identifier; +} diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/messagetype/MessageTypeVo.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagetype/MessageTypeVo.java new file mode 100644 index 0000000..f5ef91d --- /dev/null +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagetype/MessageTypeVo.java @@ -0,0 +1,39 @@ +package com.yxt.messagecenter.api.messagetype; + + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: message-center(消息中心)
+ * File: MessageTypeVo.java
+ * Class: com.yxt.messagecenter.api.messagetype.MessageTypeVo
+ * Description: 消息类别 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-11-01 15:25:56
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "消息类别 视图数据对象", description = "消息类别 视图数据对象") +@Data +public class MessageTypeVo implements Vo { + private static final long serialVersionUID = 4952236128415820727L; + + @ApiModelProperty(value = "消息类别sid") + private String msgTypeSid; + @ApiModelProperty(value = "消息类别名称") + private String msgType; + @ApiModelProperty(value = "横排消息类别图标") + private String crossIconUrl; + @ApiModelProperty(value = "纵排消息类别图标") + private String longIconUrl; + @ApiModelProperty(value = "排序") + private Integer sort; + @ApiModelProperty(value = "是否有未读") + private Boolean isHave; +} diff --git a/message-center-biz/message-center-biz.iml b/message-center-biz/message-center-biz.iml new file mode 100644 index 0000000..1f6735c --- /dev/null +++ b/message-center-biz/message-center-biz.iml @@ -0,0 +1,213 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/message-center-biz/pom.xml b/message-center-biz/pom.xml new file mode 100644 index 0000000..189695f --- /dev/null +++ b/message-center-biz/pom.xml @@ -0,0 +1,81 @@ + + + 4.0.0 + + com.yxt + yxt-parent + 0.0.1 + + + + com.yxt.messagecenter + message-center-biz + 0.0.1 + + + + com.yxt + yxt-common-base + 0.0.1 + + + com.yxt.messagecenter + message-center-api + 0.0.1 + + + anrui-portal-api + com.yxt.anrui + 0.0.1 + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-discovery + + + + mysql + mysql-connector-java + + + + com.github.xiaoymin + knife4j-spring-boot-starter + + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + repackage + + + + + + + + src/main/java + + **/*Mapper.xml + + + + src/main/resources + + **/*.yml + + false + + + + diff --git a/message-center-biz/src/main/java/com/yxt/messagecenter/MessageCenterApplication.java b/message-center-biz/src/main/java/com/yxt/messagecenter/MessageCenterApplication.java new file mode 100644 index 0000000..6e35041 --- /dev/null +++ b/message-center-biz/src/main/java/com/yxt/messagecenter/MessageCenterApplication.java @@ -0,0 +1,23 @@ +package com.yxt.messagecenter; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; +import org.springframework.cloud.openfeign.EnableFeignClients; + + + +@EnableDiscoveryClient +@SpringBootApplication(scanBasePackages = { + "com.yxt.common.base.config", + "com.yxt.messagecenter" +}) + +@EnableFeignClients(basePackages = {"com.yxt.anrui.portal"}) +public class MessageCenterApplication +{ + public static void main( String[] args ) + { + SpringApplication.run(MessageCenterApplication.class, args); + } +} diff --git a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/message/MessageMapper.java b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/message/MessageMapper.java new file mode 100644 index 0000000..8c997d6 --- /dev/null +++ b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/message/MessageMapper.java @@ -0,0 +1,40 @@ +package com.yxt.messagecenter.biz.message; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; +import com.yxt.messagecenter.api.message.Message; +import com.yxt.messagecenter.api.message.MessageVo; + +import java.util.List; + +/** + * Project: message-center(消息中心)
+ * File: MessageMapper.java
+ * Class: com.yxt.messagecenter.biz.message.MessageMapper
+ * Description: 消息体.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 10:20:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Mapper +public interface MessageMapper extends BaseMapper { + + //@Update("update message set name=#{msg} where id=#{id}") + //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); + + List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw); + + @Select("select * from message") + List selectListVo(); +} \ No newline at end of file diff --git a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/message/MessageMapper.xml b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/message/MessageMapper.xml new file mode 100644 index 0000000..872968d --- /dev/null +++ b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/message/MessageMapper.xml @@ -0,0 +1,13 @@ + + + + + + + + + \ No newline at end of file diff --git a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/message/MessageRest.java b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/message/MessageRest.java new file mode 100644 index 0000000..fb8744b --- /dev/null +++ b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/message/MessageRest.java @@ -0,0 +1,113 @@ +package com.yxt.messagecenter.biz.message; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.messagecenter.api.message.*; +import com.yxt.messagecenter.api.messagelist.MessageList; +import com.yxt.messagecenter.biz.messagelist.MessageListService; +import io.swagger.annotations.Api; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * Project: message-center(消息中心)
+ * File: MessageFeignFallback.java
+ * Class: com.yxt.messagecenter.biz.message.MessageRest
+ * Description: 消息体.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 10:20:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "消息体") +@RestController +@RequestMapping("v1/message") +public class MessageRest implements MessageFeign { + + @Autowired + private MessageService messageService; + @Autowired + MessageListService messageListService; + + @Override + public ResultBean> listPage(@RequestBody PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = messageService.listPageVo(pq); + return rb.success().setData(pv); + } + + @Override + public ResultBean save(MessageDto dto) { + ResultBean rb = ResultBean.fireFail(); + Message m = new Message(); + dto.fillEntity(m); + if (!messageService.save(m)) { + return ResultBean.fireFail(); + } + if (dto != null && StringUtils.isNotBlank(dto.getReceiveSids())) { + if (dto.getReceiveSids().indexOf(",") >= -1) { + String[] ReceiveUserSids = dto.getReceiveSids().split(","); + String[] receiveUsers = dto.getReceiveNames().split(","); + for (int i = 0; ReceiveUserSids.length > i; i++) { + MessageList messageList = new MessageList(); + messageList.setMsgSid(m.getSid()); + messageList.setReceiverSid(ReceiveUserSids[i]); + messageList.setReceiverName(receiveUsers[i]); +// messageList.setReceiverDeptName(); +// messageList.setReceiverDeptSid(); + messageList.setState(0); + messageListService.save(messageList); + } + } + } + + return ResultBean.fireSuccess().setData(m.getSid()); + } + + @Override + public ResultBean update(MessageDto dto, String sid) { + ResultBean rb = ResultBean.fireFail(); + messageService.updateBySid(dto.toMap(), sid); + return rb.success(); + } + + @Override + public ResultBean del(String ids) { + ResultBean rb = ResultBean.fireFail(); + messageService.delByIds(ids); + return rb.success(); + } + + @Override + public ResultBean fetchBySid(String sid) { + ResultBean rb = ResultBean.fireFail(); + Message vo = messageService.fetchBySid(sid); + return rb.success().setData(vo); + } + + + public ResultBean messageDtail(String sid) { + ResultBean rb = ResultBean.fireFail(); + MessageList ml = messageListService.fetchBySid(sid); + if (ml.getState() == 0) { + ml.setState(1); + messageListService.updateById(ml);//修改状态为已阅; + } + MessageVo vo = new MessageVo(); + Message message = messageService.fetchBySid(ml.getMsgSid()); + vo.fromEntity(message); + return rb.success().setData(vo); + } + + @Override + public ResultBean saveOrUpdateAppMessage(AppMessageDto dto) { + return messageService.saveOrUpdateAppMessage(dto); + } +} diff --git a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/message/MessageService.java b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/message/MessageService.java new file mode 100644 index 0000000..322e936 --- /dev/null +++ b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/message/MessageService.java @@ -0,0 +1,170 @@ +package com.yxt.messagecenter.biz.message; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.messagecenter.api.message.*; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.UUID; + +/** + * Project: message-center(消息中心)
+ * File: MessageService.java
+ * Class: com.yxt.messagecenter.biz.message.MessageService
+ * Description: 消息体 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 10:20:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Service +public class MessageService extends MybatisBaseService { + public PagerVo listPage(PagerQuery pq) { + MessageQuery query = pq.getParams(); + QueryWrapper qw = createQueryWrapper(query); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPage(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + public List listAll(MessageQuery query) { + QueryWrapper qw = createQueryWrapper(query); + return baseMapper.selectList(qw); + } + private QueryWrapper createQueryWrapper(MessageQuery query) { + // todo: 这里根据具体业务调整查询条件 + // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); + QueryWrapper qw = new QueryWrapper<>(); + + if (StringUtils.isNotBlank(query.getMsgType())) { + qw.eq("msgType", query.getMsgType()); + } + + if (StringUtils.isNotBlank(query.getMsgTitle())) { + qw.eq("msgTitle", query.getMsgTitle()); + } + + if (StringUtils.isNotBlank(query.getMsgContent())) { + qw.eq("msgContent", query.getMsgContent()); + } + + if (StringUtils.isNotBlank(query.getMsgSource())) { + qw.eq("msgSource", query.getMsgSource()); + } + + if (StringUtils.isNotBlank(query.getSenderSid())) { + qw.eq("senderSid", query.getSenderSid()); + } + + if (StringUtils.isNotBlank(query.getSenderName())) { + qw.eq("senderName", query.getSenderName()); + } + + if (StringUtils.isNotBlank(query.getSenderDeptSid())) { + qw.eq("senderDeptSid", query.getSenderDeptSid()); + } + + if (StringUtils.isNotBlank(query.getSenderDeptName())) { + qw.eq("senderDeptName", query.getSenderDeptName()); + } + + if (StringUtils.isNotBlank(query.getBusinessSid())) { + qw.eq("businessSid", query.getBusinessSid()); + } + + if (StringUtils.isNotBlank(query.getModuleSid())) { + qw.eq("moduleSid", query.getModuleSid()); + } + + if (StringUtils.isNotBlank(query.getModuleAction())) { + qw.eq("moduleAction", query.getModuleAction()); + } + + if (StringUtils.isNotBlank(query.getArgs_json())) { + qw.eq("args_json", query.getArgs_json()); + } + + if (StringUtils.isNotBlank(query.getH5_url())) { + qw.eq("h5_url", query.getH5_url()); + } + + if (StringUtils.isNotBlank(query.getXcx_url())) { + qw.eq("xcx_url", query.getXcx_url()); + } + + if (StringUtils.isNotBlank(query.getMsgTargetUri())) { + qw.eq("msgTargetUri", query.getMsgTargetUri()); + } + return qw; + } + + public PagerVo listPageVo(PagerQuery pq) { + MessageQuery query = pq.getParams(); + QueryWrapper qw = createQueryWrapper(query); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPageVo(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public List listAllVo(MessageQuery query) { + QueryWrapper qw = createQueryWrapper(query); + return baseMapper.selectListAllVo(qw); + } + + public List listVo() { + return baseMapper.selectListVo(); + } + + public void saveOrUpdateDto(MessageDto dto){ + Message entity = new Message(); + dto.fillEntity(entity); + this.saveOrUpdate(entity); + } + + public MessageVo fetchByIdVo(String id){ + Message entity = this.fetchById(id); + MessageVo vo = new MessageVo(); + BeanUtil.copyProperties(entity, vo); + return vo; + } + + /** + * 手机端保存/修改消息体 + * @param dto + * @return + */ + public ResultBean saveOrUpdateAppMessage(AppMessageDto dto) { + if (StringUtils.isBlank(dto.getSid())) { // 新增 + Message message = new Message(); + dto.fillEntity(message); + message.setSid(UUID.randomUUID().toString()); + Boolean flag = save(message); + if (flag) { + return new ResultBean().success().setMsg("保存成功").setData(message.getSid()); + } else { + return new ResultBean().fail().setMsg("保存失败"); + } + } else { // 修改 + Message message = fetchBySid(dto.getSid()); + BeanUtil.copyProperties(dto, message); + Boolean flag = updateById(message); + if (flag) { + return new ResultBean().success().setMsg("修改成功").setData(message.getSid()); + } else { + return new ResultBean().fail().setMsg("修改失败"); + } + } + } +} \ No newline at end of file diff --git a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagefile/MessageFileMapper.java b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagefile/MessageFileMapper.java new file mode 100644 index 0000000..957e755 --- /dev/null +++ b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagefile/MessageFileMapper.java @@ -0,0 +1,40 @@ +package com.yxt.messagecenter.biz.messagefile; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; +import com.yxt.messagecenter.api.messagefile.MessageFile; +import com.yxt.messagecenter.api.messagefile.MessageFileVo; + +import java.util.List; + +/** + * Project: message-center(消息中心)
+ * File: MessageFileMapper.java
+ * Class: com.yxt.messagecenter.biz.messagefile.MessageFileMapper
+ * Description: 消息附件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 10:20:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Mapper +public interface MessageFileMapper extends BaseMapper { + + //@Update("update message_file set name=#{msg} where id=#{id}") + //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); + + List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw); + + @Select("select * from message_file") + List selectListVo(); +} \ No newline at end of file diff --git a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagefile/MessageFileMapper.xml b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagefile/MessageFileMapper.xml new file mode 100644 index 0000000..30109d1 --- /dev/null +++ b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagefile/MessageFileMapper.xml @@ -0,0 +1,13 @@ + + + + + + + + + \ No newline at end of file diff --git a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagefile/MessageFileRest.java b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagefile/MessageFileRest.java new file mode 100644 index 0000000..41c5635 --- /dev/null +++ b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagefile/MessageFileRest.java @@ -0,0 +1,94 @@ +package com.yxt.messagecenter.biz.messagefile; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import com.yxt.messagecenter.api.messagefile.MessageFile; +import com.yxt.messagecenter.api.messagefile.MessageFileQuery; +import com.yxt.messagecenter.api.messagefile.MessageFileVo; +import com.yxt.messagecenter.api.messagefile.MessageFileDto; +import com.yxt.messagecenter.api.messagefile.MessageFileFeign; + +/** + * Project: message-center(消息中心)
+ * File: MessageFileFeignFallback.java
+ * Class: com.yxt.messagecenter.biz.messagefile.MessageFileRest
+ * Description: 消息附件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 10:20:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "消息附件") +@RestController +@RequestMapping("v1/messagefile") +public class MessageFileRest implements MessageFileFeign { + + @Autowired + private MessageFileService messageFileService; + + @Override + public ResultBean> listPage(@RequestBody PagerQuery pq){ + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = messageFileService.listPageVo(pq); + return rb.success().setData(pv); + } + + @Override + public ResultBean> listAll(@RequestBody MessageFileQuery query){ + ResultBean rb = ResultBean.fireFail(); + List list = messageFileService.listAllVo(query); + return rb.success().setData(list); + } + + @Override + public ResultBean> list(){ + ResultBean rb = ResultBean.fireFail(); + List list = messageFileService.listVo(); + return rb.success().setData(list); + } + + @Override + public ResultBean save(MessageFileDto dto){ + ResultBean rb = ResultBean.fireFail(); + messageFileService.saveOrUpdateDto(dto); + return rb.success(); + } + + @Override + public ResultBean update(MessageFileDto dto,String sid){ + ResultBean rb = ResultBean.fireFail(); + messageFileService.updateBySid(dto.toMap(),sid); + return rb.success(); + } + + @Override + public ResultBean del(String ids){ + ResultBean rb = ResultBean.fireFail(); + messageFileService.delByIds(ids); + return rb.success(); + } + + @Override + public ResultBean fetch(String id){ + ResultBean rb = ResultBean.fireFail(); + MessageFileVo vo = messageFileService.fetchByIdVo(id); + return rb.success().setData(vo); + } + + @Override + public ResultBean fetchBySid(String sid){ + ResultBean rb = ResultBean.fireFail(); + MessageFile vo = messageFileService.fetchBySid(sid); + return rb.success().setData(vo); + } +} diff --git a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagefile/MessageFileService.java b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagefile/MessageFileService.java new file mode 100644 index 0000000..22ebe5b --- /dev/null +++ b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagefile/MessageFileService.java @@ -0,0 +1,111 @@ +package com.yxt.messagecenter.biz.messagefile; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.commons.lang3.StringUtils; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.messagecenter.api.messagefile.MessageFile; +import com.yxt.messagecenter.api.messagefile.MessageFileQuery; +import com.yxt.messagecenter.api.messagefile.MessageFileVo; +import com.yxt.messagecenter.api.messagefile.MessageFileDto; +import com.yxt.messagecenter.api.messagefile.MessageFileFeign; + +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * Project: message-center(消息中心)
+ * File: MessageFileService.java
+ * Class: com.yxt.messagecenter.biz.messagefile.MessageFileService
+ * Description: 消息附件 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 10:20:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Service +public class MessageFileService extends MybatisBaseService { + public PagerVo listPage(PagerQuery pq) { + MessageFileQuery query = pq.getParams(); + QueryWrapper qw = createQueryWrapper(query); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPage(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + public List listAll(MessageFileQuery query) { + QueryWrapper qw = createQueryWrapper(query); + return baseMapper.selectList(qw); + } + private QueryWrapper createQueryWrapper(MessageFileQuery query) { + // todo: 这里根据具体业务调整查询条件 + // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); + QueryWrapper qw = new QueryWrapper<>(); + + + if (StringUtils.isNotBlank(query.getMsgSid())) { + qw.eq("msgSid", query.getMsgSid()); + } + + if (StringUtils.isNotBlank(query.getFileName())) { + qw.eq("fileName", query.getFileName()); + } + + if (StringUtils.isNotBlank(query.getFileType())) { + qw.eq("fileType", query.getFileType()); + } + + if (StringUtils.isNotBlank(query.getFilePath())) { + qw.eq("filePath", query.getFilePath()); + } + + if (StringUtils.isNotBlank(query.getAttachType())) { + qw.eq("attachType", query.getAttachType()); + } + + if (query.getFileSize() != null) { + qw.eq("fileSize", query.getFileSize()); + } + return qw; + } + + public PagerVo listPageVo(PagerQuery pq) { + MessageFileQuery query = pq.getParams(); + QueryWrapper qw = createQueryWrapper(query); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPageVo(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public List listAllVo(MessageFileQuery query) { + QueryWrapper qw = createQueryWrapper(query); + return baseMapper.selectListAllVo(qw); + } + + public List listVo() { + return baseMapper.selectListVo(); + } + + public void saveOrUpdateDto(MessageFileDto dto){ + MessageFile entity = new MessageFile(); + dto.fillEntity(entity); + this.saveOrUpdate(entity); + } + + public MessageFileVo fetchByIdVo(String id){ + MessageFile entity = this.fetchById(id); + MessageFileVo vo = new MessageFileVo(); + BeanUtil.copyProperties(entity, vo); + return vo; + } +} \ No newline at end of file diff --git a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messageforwardlist/MessageForwardlistMapper.java b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messageforwardlist/MessageForwardlistMapper.java new file mode 100644 index 0000000..08838e8 --- /dev/null +++ b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messageforwardlist/MessageForwardlistMapper.java @@ -0,0 +1,40 @@ +package com.yxt.messagecenter.biz.messageforwardlist; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; +import com.yxt.messagecenter.api.messageforwardlist.MessageForwardlist; +import com.yxt.messagecenter.api.messageforwardlist.MessageForwardlistVo; + +import java.util.List; + +/** + * Project: message-center(消息中心)
+ * File: MessageForwardlistMapper.java
+ * Class: com.yxt.messagecenter.biz.messageforwardlist.MessageForwardlistMapper
+ * Description: 消息转发记录.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 10:20:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Mapper +public interface MessageForwardlistMapper extends BaseMapper { + + //@Update("update message_forwardlist set name=#{msg} where id=#{id}") + //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); + + List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw); + + @Select("select * from message_forwardlist") + List selectListVo(); +} \ No newline at end of file diff --git a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messageforwardlist/MessageForwardlistMapper.xml b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messageforwardlist/MessageForwardlistMapper.xml new file mode 100644 index 0000000..cd3e538 --- /dev/null +++ b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messageforwardlist/MessageForwardlistMapper.xml @@ -0,0 +1,13 @@ + + + + + + + + + \ No newline at end of file diff --git a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messageforwardlist/MessageForwardlistRest.java b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messageforwardlist/MessageForwardlistRest.java new file mode 100644 index 0000000..928cedd --- /dev/null +++ b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messageforwardlist/MessageForwardlistRest.java @@ -0,0 +1,94 @@ +package com.yxt.messagecenter.biz.messageforwardlist; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import com.yxt.messagecenter.api.messageforwardlist.MessageForwardlist; +import com.yxt.messagecenter.api.messageforwardlist.MessageForwardlistQuery; +import com.yxt.messagecenter.api.messageforwardlist.MessageForwardlistVo; +import com.yxt.messagecenter.api.messageforwardlist.MessageForwardlistDto; +import com.yxt.messagecenter.api.messageforwardlist.MessageForwardlistFeign; + +/** + * Project: message-center(消息中心)
+ * File: MessageForwardlistFeignFallback.java
+ * Class: com.yxt.messagecenter.biz.messageforwardlist.MessageForwardlistRest
+ * Description: 消息转发记录.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 10:20:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "消息转发记录") +@RestController +@RequestMapping("v1/messageforwardlist") +public class MessageForwardlistRest implements MessageForwardlistFeign { + + @Autowired + private MessageForwardlistService messageForwardlistService; + + @Override + public ResultBean> listPage(@RequestBody PagerQuery pq){ + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = messageForwardlistService.listPageVo(pq); + return rb.success().setData(pv); + } + + @Override + public ResultBean> listAll(@RequestBody MessageForwardlistQuery query){ + ResultBean rb = ResultBean.fireFail(); + List list = messageForwardlistService.listAllVo(query); + return rb.success().setData(list); + } + + @Override + public ResultBean> list(){ + ResultBean rb = ResultBean.fireFail(); + List list = messageForwardlistService.listVo(); + return rb.success().setData(list); + } + + @Override + public ResultBean save(MessageForwardlistDto dto){ + ResultBean rb = ResultBean.fireFail(); + messageForwardlistService.saveOrUpdateDto(dto); + return rb.success(); + } + + @Override + public ResultBean update(MessageForwardlistDto dto,String sid){ + ResultBean rb = ResultBean.fireFail(); + messageForwardlistService.updateBySid(dto.toMap(),sid); + return rb.success(); + } + + @Override + public ResultBean del(String ids){ + ResultBean rb = ResultBean.fireFail(); + messageForwardlistService.delByIds(ids); + return rb.success(); + } + + @Override + public ResultBean fetch(String id){ + ResultBean rb = ResultBean.fireFail(); + MessageForwardlistVo vo = messageForwardlistService.fetchByIdVo(id); + return rb.success().setData(vo); + } + + @Override + public ResultBean fetchBySid(String sid){ + ResultBean rb = ResultBean.fireFail(); + MessageForwardlist vo = messageForwardlistService.fetchBySid(sid); + return rb.success().setData(vo); + } +} diff --git a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messageforwardlist/MessageForwardlistService.java b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messageforwardlist/MessageForwardlistService.java new file mode 100644 index 0000000..4ede74a --- /dev/null +++ b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messageforwardlist/MessageForwardlistService.java @@ -0,0 +1,103 @@ +package com.yxt.messagecenter.biz.messageforwardlist; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.commons.lang3.StringUtils; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.messagecenter.api.messageforwardlist.MessageForwardlist; +import com.yxt.messagecenter.api.messageforwardlist.MessageForwardlistQuery; +import com.yxt.messagecenter.api.messageforwardlist.MessageForwardlistVo; +import com.yxt.messagecenter.api.messageforwardlist.MessageForwardlistDto; +import com.yxt.messagecenter.api.messageforwardlist.MessageForwardlistFeign; + +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * Project: message-center(消息中心)
+ * File: MessageForwardlistService.java
+ * Class: com.yxt.messagecenter.biz.messageforwardlist.MessageForwardlistService
+ * Description: 消息转发记录 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 10:20:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Service +public class MessageForwardlistService extends MybatisBaseService { + public PagerVo listPage(PagerQuery pq) { + MessageForwardlistQuery query = pq.getParams(); + QueryWrapper qw = createQueryWrapper(query); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPage(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + public List listAll(MessageForwardlistQuery query) { + QueryWrapper qw = createQueryWrapper(query); + return baseMapper.selectList(qw); + } + private QueryWrapper createQueryWrapper(MessageForwardlistQuery query) { + // todo: 这里根据具体业务调整查询条件 + // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); + QueryWrapper qw = new QueryWrapper<>(); + + + if (StringUtils.isNotBlank(query.getMsgSid())) { + qw.eq("msgSid", query.getMsgSid()); + } + + if (query.getForwardTime() != null) { + qw.ge("forwardTime", query.getForwardTime()); + } + + if (StringUtils.isNotBlank(query.getForwardPerson())) { + qw.eq("forwardPerson", query.getForwardPerson()); + } + + if (StringUtils.isNotBlank(query.getForwordMsgSid())) { + qw.eq("forwordMsgSid", query.getForwordMsgSid()); + } + return qw; + } + + public PagerVo listPageVo(PagerQuery pq) { + MessageForwardlistQuery query = pq.getParams(); + QueryWrapper qw = createQueryWrapper(query); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPageVo(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public List listAllVo(MessageForwardlistQuery query) { + QueryWrapper qw = createQueryWrapper(query); + return baseMapper.selectListAllVo(qw); + } + + public List listVo() { + return baseMapper.selectListVo(); + } + + public void saveOrUpdateDto(MessageForwardlistDto dto){ + MessageForwardlist entity = new MessageForwardlist(); + dto.fillEntity(entity); + this.saveOrUpdate(entity); + } + + public MessageForwardlistVo fetchByIdVo(String id){ + MessageForwardlist entity = this.fetchById(id); + MessageForwardlistVo vo = new MessageForwardlistVo(); + BeanUtil.copyProperties(entity, vo); + return vo; + } +} \ No newline at end of file diff --git a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListMapper.java b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListMapper.java new file mode 100644 index 0000000..cdb6d90 --- /dev/null +++ b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListMapper.java @@ -0,0 +1,90 @@ +package com.yxt.messagecenter.biz.messagelist; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.messagecenter.api.messagelist.MessageList; +import com.yxt.messagecenter.api.messagelist.MessageListJoinMsgVo; +import com.yxt.messagecenter.api.messagelist.MessageListVo; +import com.yxt.messagecenter.api.messagelist.app.AppLastMsgVo; +import com.yxt.messagecenter.api.messagelist.app.AppMessageListQuery; +import com.yxt.messagecenter.api.messagelist.app.AppMessageListVo; +import com.yxt.messagecenter.api.messagelist.wx.WxMessageListQuery; +import com.yxt.messagecenter.api.messagelist.wx.WxMessageListVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * Project: message-center(消息中心)
+ * File: MessageListMapper.java
+ * Class: com.yxt.messagecenter.biz.messagelist.MessageListMapper
+ * Description: 消息列表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 10:20:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Mapper +public interface MessageListMapper extends BaseMapper { + + //@Update("update message_list set name=#{msg} where id=#{id}") + //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); + + List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw); + + @Select("SELECT * FROM message_list") + List selectListVo(); + + IPage noreadListPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + IPage readListPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + int updateByReceiverSid(@Param("receiverSid") String receiverSid); + + int deleteBySids(String sid); + + int changeRead(List sidList); + + int changeUnRead(List sidList); + + /** + * @param page + * @param qw + * @description: 客户端消息分页列表 + * @return: + * @Author: dimengzhe + * @Date: 2021/11/1 17:42 + */ + IPage listPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + /** + * @param msgTypeSid 消息类别sid + * @description: 根据消息类别sid查询消息未读的数量 + * @return: + * @Author: dimengzhe + * @Date: 2021/11/1 16:16 + */ + int selectListCount(String msgTypeSid); + + MessageListJoinMsgVo fetchByMsgSid(String sid); + + Integer fetchByReceiverSid(String receiverSid); + + int selectUnReadCount(@Param("msgTypeSid") String msgTypeSid, @Param("userSid") String userSid); + + AppLastMsgVo selectLastMsg(@Param("userSid") String userSid, @Param("msgTypeSid") String msgTypeSid); + + IPage getAppMsgListByUserSid(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + int updateAppReadByType(@Param("msgTypeSid") String msgTypeSid, @Param("userSid") String userSid); +} \ No newline at end of file diff --git a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListMapper.xml b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListMapper.xml new file mode 100644 index 0000000..cb99b49 --- /dev/null +++ b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListMapper.xml @@ -0,0 +1,190 @@ + + + + + update message_list + set rDelStatus = 1 + WHERE sid = #{sid} + + + + + + + + + + + + + + + update message_list + set state=1 + where receiverSid = #{receiverSid} + and state = 0 + + + + update message_list + set state=1 + WHERE sid IN + + #{item} + + and state = 0 + + + + update message_list + set state=0 + WHERE sid IN + + #{item} + + and state = 1 + + + + + + + + + + + + + + + + UPDATE message_list ml,message m set ml.state=1 + WHERE ml.msgSid=m.sid AND ml.receiverSid=#{userSid} AND m.msgTypeSid=#{msgTypeSid} + + + \ No newline at end of file diff --git a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListRest.java b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListRest.java new file mode 100644 index 0000000..6648fcd --- /dev/null +++ b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListRest.java @@ -0,0 +1,177 @@ +package com.yxt.messagecenter.biz.messagelist; + +import com.auth0.jwt.JWT; +import com.auth0.jwt.interfaces.DecodedJWT; +import com.yxt.common.base.utils.JWTUtil; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.messagecenter.api.message.Message; +import com.yxt.messagecenter.api.messagelist.*; +import com.yxt.messagecenter.api.messagelist.app.AppMessageListQuery; +import com.yxt.messagecenter.api.messagelist.app.AppMessageListVo; +import com.yxt.messagecenter.api.messagelist.app.AppMsgMainVo; +import io.swagger.annotations.Api; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.servlet.http.HttpServletRequest; +import java.util.Arrays; +import java.util.List; + +/** + * Project: message-center(消息中心)
+ * File: MessageListFeignFallback.java
+ * Class: com.yxt.messagecenter.biz.messagelist.MessageListRest
+ * Description: 消息列表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 10:20:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "消息列表") +@RestController +@RequestMapping("v1/messagelist") +public class MessageListRest implements MessageListFeign { + + @Autowired + private MessageListService messageListService; + + @Autowired + private HttpServletRequest request; + + @Override + public ResultBean> noreadListPage(PagerQuery pq) { + //将token解密userSid + String token = request.getHeader("token"); + DecodedJWT decodedJWT = JWT.decode(token); + String userSid = JWTUtil.getUserSid(decodedJWT); + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = messageListService.noreadListPage(pq,userSid); + return rb.success().setData(pv); + } + + @Override + public ResultBean> readListPage(PagerQuery pq) { + //将token解密userSid + String token = request.getHeader("token"); + DecodedJWT decodedJWT = JWT.decode(token); + String userSid = JWTUtil.getUserSid(decodedJWT); + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = messageListService.readListPage(pq,userSid); + return rb.success().setData(pv); + } + + @Override + public ResultBean> list() { + ResultBean rb = ResultBean.fireFail(); + List list = messageListService.listVo(); + return rb.success().setData(list); + } + + @Override + public ResultBean save(MessageListDto dto) { + ResultBean rb = ResultBean.fireFail(); + messageListService.saveOrUpdateDto(dto); + return rb.success(); + } + + @Override + public ResultBean update(MessageListDto dto, String sid) { + ResultBean rb = ResultBean.fireFail(); + messageListService.updateBySid(dto.toMap(), sid); + return rb.success(); + } + + @Override + public ResultBean del(String ids) { + ResultBean rb = ResultBean.fireFail(); + messageListService.delByIds(ids); + return rb.success(); + } + + @Override + public ResultBean fetchByMsgSid(String sid) { + ResultBean rb = ResultBean.fireFail(); + MessageListJoinMsgVo messageListJoinMsgVo = messageListService.fetchByMsgSid(sid); + return rb.success().setData(messageListJoinMsgVo); + } + + @Override + public ResultBean allChangeRead() { + ResultBean rb = ResultBean.fireFail(); + //将token解密userSid + String token = request.getHeader("token"); + DecodedJWT decodedJWT = JWT.decode(token); + String receiverSid = JWTUtil.getUserSid(decodedJWT); + Integer count = messageListService.fetchByReceiverSid(receiverSid); + if (count == 0){ + return rb.success().setMessage("该用户下暂无未读消息"); + }else { + int num = messageListService.updateByReceiverSid(receiverSid); + } + return rb.success().setMessage("操作成功"); + } + + @Override + public ResultBean changeRead(String sids) { + ResultBean rb = ResultBean.fireFail(); + List sidList = Arrays.asList(sids.split(",")); + int count = messageListService.changeRead(sidList); + return rb.success().setMessage("操作成功"); + } + + @Override + public ResultBean changeUnRead(String sids) { + ResultBean rb = ResultBean.fireFail(); + List sidList = Arrays.asList(sids.split(",")); + int count = messageListService.changeUnRead(sidList); + return rb.success().setMessage("操作成功"); + } + + @Override + public ResultBean deleteBySids(String sids) { + List sidList = Arrays.asList(sids.split(",")); + int count = messageListService.deleteBySids(sidList); + if (count != 1) { + return ResultBean.fireFail().setMsg("删除失败"); + } + return ResultBean.fireSuccess().setMsg("删除成功"); + } + + @Override + public ResultBean selectUnReadCount(String msgTypeSid, String userSid) { + return new ResultBean().success().setData(messageListService.selectUnReadCount(msgTypeSid, userSid)); + } + + @Override + public ResultBean getAppMsgMainList(String userSid) { + return new ResultBean().success().setData(messageListService.getAppMsgMainList(userSid)); + } + + @Override + public ResultBean> getAppMsgListByUserSid(PagerQuery pq) { + if (StringUtils.isBlank(pq.getParams().getUserSid())) { + return new ResultBean().fail().setMsg("用户sid不能为空"); + } + if (StringUtils.isBlank(pq.getParams().getMsgTypeSid())) { + return new ResultBean().fail().setMsg("消息类型不能为空"); + } + PagerVo pagerVo = messageListService.getAppMsgListByUserSid(pq); + return new ResultBean>().success().setData(pagerVo); + } + + @Override + public ResultBean updateAppReadByType(String msgTypeSid, String userSid) { + int i = messageListService.updateAppReadByType(msgTypeSid, userSid); + if (i == 0) { + return new ResultBean().fail(); + } + return new ResultBean().success(); + } +} diff --git a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListService.java b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListService.java new file mode 100644 index 0000000..0707ad0 --- /dev/null +++ b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListService.java @@ -0,0 +1,332 @@ +package com.yxt.messagecenter.biz.messagelist; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.anrui.portal.api.appsubsetversion.AppSubsetVersionFeign; +import com.yxt.anrui.portal.api.appsubsetversion.AppSubsetVersionVo; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.messagecenter.api.messagelist.*; +import com.yxt.messagecenter.api.messagelist.app.*; +import com.yxt.messagecenter.api.messagelist.wx.WxMessageListQuery; +import com.yxt.messagecenter.api.messagelist.wx.WxMessageListVo; +import com.yxt.messagecenter.api.messagetype.MessageTypeVo; +import com.yxt.messagecenter.biz.message.MessageService; +import com.yxt.messagecenter.biz.messagetype.MessageTypeService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; + +/** + * Project: message-center(消息中心)
+ * File: MessageListService.java
+ * Class: com.yxt.messagecenter.biz.messagelist.MessageListService
+ * Description: 消息列表 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 10:20:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Service +public class MessageListService extends MybatisBaseService { + + @Autowired + private MessageTypeService messageTypeService; + @Autowired + private MessageService messageService; + @Autowired + private AppSubsetVersionFeign appSubsetVersionFeign; + + public List listAll(MessageListQuery query) { + QueryWrapper qw = createQueryWrapper(query); + return baseMapper.selectList(qw); + } + + private QueryWrapper createQueryWrapper(MessageListQuery query) { + QueryWrapper qw = new QueryWrapper<>(); + + + /* if (StringUtils.isNotBlank(query.getMsgSid())) { + qw.eq("ml.msgSid", query.getMsgSid()); + }*/ + + if (StringUtils.isNotBlank(query.getMsgType())) { + qw.like("m.msgType", query.getMsgType()); + } + + if (StringUtils.isNotBlank(query.getMsgSource())) { + qw.like("m.msgSource", query.getMsgSource()); + } + + if (StringUtils.isNotBlank(query.getMsgTitle())) { + qw.like("m.msgTitle", query.getMsgTitle()); + } + + if (StringUtils.isNotBlank(query.getReceiverSid())) { + qw.eq("ml.receiverSid", query.getReceiverSid()); + } + + /* if (StringUtils.isNotBlank(query.getReceiverName())) { + qw.eq("ml.receiverName", query.getReceiverName()); + } + + if (StringUtils.isNotBlank(query.getReceiverDeptSid())) { + qw.eq("ml.receiverDeptSid", query.getReceiverDeptSid()); + } + + if (StringUtils.isNotBlank(query.getReceiverDeptName())) { + qw.eq("ml.receiverDeptName", query.getReceiverDeptName()); + } + + if (query.getRDelStatus() != null) { + qw.eq("ml.rDelStatus", query.getRDelStatus()); + } + + if (query.getSDelStatus() != null) { + qw.eq("ml.sDelStatus", query.getSDelStatus()); + }*/ + + if (StringUtils.isNotBlank(query.getSenderName())) { + qw.like("m.senderName", query.getSenderName()); + } + + String createDateStart = query.getCreateDateStart(); + String createDateEnd = query.getCreateDateEnd(); + + /* if (StringUtils.isNotBlank(createDateEnd)) { + createDateEnd = createDateEnd + (" 23:59:59"); + } + if (StringUtils.isNotBlank(createDateStart) && StringUtils.isNotBlank(createDateEnd)) { + qw.between("m.createTime",createDateStart,createDateEnd); + }*/ + qw.apply(StringUtils.isNotEmpty(createDateStart), "date_format (m.createTime,'%Y-%m-%d') >= date_format('" + createDateStart + "','%Y-%m-%d')"). + apply(StringUtils.isNotEmpty(createDateEnd), "date_format (m.createTime,'%Y-%m-%d') <= date_format('" + createDateEnd + "','%Y-%m-%d')" + ); + return qw; + } + + + public PagerVo listPageVo(PagerQuery pq) { + MessageListQuery query = pq.getParams(); + QueryWrapper qw = createQueryWrapper(query); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPageVo(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public List listVo() { + return baseMapper.selectListVo(); + } + + public void saveOrUpdateDto(MessageListDto dto) { + MessageList entity = new MessageList(); + dto.fillEntity(entity); + this.saveOrUpdate(entity); + } + + public MessageListVo fetchByIdVo(String id) { + MessageList entity = this.fetchById(id); + MessageListVo vo = new MessageListVo(); + BeanUtil.copyProperties(entity, vo); + return vo; + } + + public PagerVo noreadListPage(PagerQuery pq,String userSid) { + MessageListQuery query = pq.getParams(); + query.setReceiverSid(userSid); + QueryWrapper qw = createQueryWrapper(query); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.noreadListPage(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public PagerVo readListPage(PagerQuery pq,String userSid) { + MessageListQuery query = pq.getParams(); + query.setReceiverSid(userSid); + QueryWrapper qw = createQueryWrapper(query); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.readListPage(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public int updateByReceiverSid(String receiverSid) { + return baseMapper.updateByReceiverSid(receiverSid); + } + + public int deleteBySids(List sidList) { + int i = 0; + for (String s : sidList) { + i = baseMapper.deleteBySids(s); + } + return i; + } + + public int changeRead(List sidList) { + return baseMapper.changeRead(sidList); + } + + public int changeUnRead(List sidList) { + return baseMapper.changeUnRead(sidList); + } + + /** + * @param pagerQuery 查询条件 + * @description: 客户端的消息分页列表 + * @return: + * @Author: dimengzhe + * @Date: 2021/11/1 17:26 + */ + public IPage listPage(PagerQuery pagerQuery) { + // mybits所用的分页对对象 + IPage page = PagerUtil.queryToPage(pagerQuery); + // mybits所用的查询条件封装类 + QueryWrapper qw = buildQueryWrapper(pagerQuery.getParams()); + return baseMapper.listPage(page, qw); + } + + /** + * @param query + * @description: 构造查询条件 + * @return: + * @Author: dimengzhe + * @Date: 2021/11/1 17:36 + */ + private QueryWrapper buildQueryWrapper(WxMessageListQuery query) { + QueryWrapper qw = new QueryWrapper<>(); + if (StringUtils.isNotBlank(query.getMsgTypeSid())) { + qw.eq("m.msgTypeSid", query.getMsgTypeSid()); + } + if (StringUtils.isNotBlank(query.getReceiverSid())) { + qw.eq("ml.receiverSid", query.getReceiverSid()); + } + qw.eq("mt.identifier", "0001"); + return qw; + } + + /** + * @param msgTypeSid 消息类别sid + * @description: 根据消息类别sid查询 + * @return: + * @Author: dimengzhe + * @Date: 2021/11/1 16:12 + */ + public int selectListCount(String msgTypeSid) { + return baseMapper.selectListCount(msgTypeSid); + } + + public MessageListJoinMsgVo fetchByMsgSid(String sid) { + MessageList messageList = this.fetchBySid(sid); + String msgSid = messageList.getMsgSid(); + return baseMapper.fetchByMsgSid(msgSid); + } + + public Integer fetchByReceiverSid(String receiverSid) { + return baseMapper.fetchByReceiverSid(receiverSid); + } + + /** + * 查询未读数量 + * @param msgTypeSid + * @param userSid + * @return + */ + public Integer selectUnReadCount(String msgTypeSid, String userSid) { + return baseMapper.selectUnReadCount(msgTypeSid, userSid); + } + + /** + * 手机端查询消息主页面 + * @param userSid + * @return + */ + public AppMsgMainVo getAppMsgMainList(String userSid) { + AppMsgMainVo vo = new AppMsgMainVo(); + List crossIconList = new ArrayList<>(); + List longIconList = new ArrayList<>(); + List typeList = messageTypeService.selectMsgTypeList("0002"); + typeList.forEach(messageTypeVo -> { + // 未读数量 + int unReadCount = baseMapper.selectUnReadCount(messageTypeVo.getMsgTypeSid(), userSid); + String num = ""; + if (unReadCount != 0) { + num = String.valueOf(unReadCount); + } + if (StringUtils.isNotBlank(messageTypeVo.getCrossIconUrl())) { // 横排消息 + AppCrossIcon crossIcon = new AppCrossIcon(); + crossIcon.setMsgTypeSid(messageTypeVo.getMsgTypeSid()); + crossIcon.setMsgType(messageTypeVo.getMsgType()); + crossIcon.setIconUrl(messageTypeVo.getCrossIconUrl()); + crossIcon.setNum(num); + crossIconList.add(crossIcon); + } else { // 纵排消息 + AppLongsIcon longsIcon = new AppLongsIcon(); + longsIcon.setMsgType(messageTypeVo.getMsgType()); + longsIcon.setIconUrl(messageTypeVo.getLongIconUrl()); + AppLastMsgVo lastMsg = baseMapper.selectLastMsg(userSid, messageTypeVo.getMsgTypeSid()); + longsIcon.setMsgTypeSid(messageTypeVo.getMsgTypeSid()); + longsIcon.setTitle(lastMsg == null ? "" : lastMsg.getMsgTitle()); + longsIcon.setContent(lastMsg == null ? "" : lastMsg.getMsgContent()); + longsIcon.setSendTime(lastMsg == null ? "" : lastMsg.getSendTime()); + longsIcon.setNum(num); + longIconList.add(longsIcon); + } + }); + vo.setCrossIconList(crossIconList); + vo.setLongIconList(longIconList); + int unReadCount = baseMapper.selectUnReadCount("", userSid); + if (unReadCount != 0) { + vo.setMsgTotal("未读消息"+unReadCount+"条"); + } + return vo; + } + + /** + * 手机端查询消息列表 + * @param pq + * @return + */ + public PagerVo getAppMsgListByUserSid(PagerQuery pq) { + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("ml.receiverSid", pq.getParams().getUserSid()); + qw.eq("m.msgTypeSid", pq.getParams().getMsgTypeSid()); + IPage iPage = PagerUtil.queryToPage(pq); + IPage page = baseMapper.getAppMsgListByUserSid(iPage, qw); + PagerVo pagerVo = PagerUtil.pageToVo(page, null); + pagerVo.getRecords().stream().forEach(vo -> { + if (vo.getType().equals("2")) { + AppSubsetVersionVo subsetVersionVo = appSubsetVersionFeign.fetchBySid(vo.getModuleSid()).getData(); + vo.setPath(subsetVersionVo.getUpdateUrl()); + vo.setModulePluginName(subsetVersionVo.getModulePluginName()); + if (StringUtils.isNotBlank(subsetVersionVo.getVersionName())) { + vo.setModuleVersion(Integer.parseInt(subsetVersionVo.getVersionName())); + } + } + if (StringUtils.isBlank(vo.getJson())) { + vo.setJson("{}"); + } + }); + pagerVo.setMsg("共查询出"+pagerVo.getTotal()+"条消息"); + return pagerVo; + } + + /** + * 手机端用户根据消息类型批量设为已读 + * @param msgTypeSid + * @return + */ + public int updateAppReadByType(String msgTypeSid, String userSid) { + return baseMapper.updateAppReadByType(msgTypeSid, userSid); + } +} \ No newline at end of file diff --git a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/wx/WxMessageListRest.java b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/wx/WxMessageListRest.java new file mode 100644 index 0000000..36ead20 --- /dev/null +++ b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/wx/WxMessageListRest.java @@ -0,0 +1,38 @@ +package com.yxt.messagecenter.biz.messagelist.wx; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.messagecenter.api.messagelist.wx.WxMessageListFeign; +import com.yxt.messagecenter.api.messagelist.wx.WxMessageListQuery; +import com.yxt.messagecenter.api.messagelist.wx.WxMessageListVo; +import com.yxt.messagecenter.biz.messagelist.MessageListService; +import io.swagger.annotations.Api; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author dimengzhe + * @date 2021/11/1 17:07 + * @description + */ +@Api(tags = "客户端消息列表") +@RestController +@RequestMapping("v1/wx/messagelist") +public class WxMessageListRest implements WxMessageListFeign { + + @Autowired + private MessageListService messageListService; + + @Override + public ResultBean> listPage(PagerQuery pagerQuery) { + ResultBean> rb = ResultBean.fireFail(); + IPage page = messageListService.listPage(pagerQuery); + PagerVo pv = new PagerVo<>(); + PagerVo pv1 = PagerUtil.pageToVo(page, pv); + return rb.success().setData(pv1); + } +} diff --git a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messageremindrule/MessageRemindruleMapper.java b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messageremindrule/MessageRemindruleMapper.java new file mode 100644 index 0000000..2fa26c5 --- /dev/null +++ b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messageremindrule/MessageRemindruleMapper.java @@ -0,0 +1,40 @@ +package com.yxt.messagecenter.biz.messageremindrule; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; +import com.yxt.messagecenter.api.messageremindrule.MessageRemindrule; +import com.yxt.messagecenter.api.messageremindrule.MessageRemindruleVo; + +import java.util.List; + +/** + * Project: message-center(消息中心)
+ * File: MessageRemindruleMapper.java
+ * Class: com.yxt.messagecenter.biz.messageremindrule.MessageRemindruleMapper
+ * Description: 提醒规则.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 10:20:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Mapper +public interface MessageRemindruleMapper extends BaseMapper { + + //@Update("update message_remindrule set name=#{msg} where id=#{id}") + //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); + + List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw); + + @Select("select * from message_remindrule") + List selectListVo(); +} \ No newline at end of file diff --git a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messageremindrule/MessageRemindruleMapper.xml b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messageremindrule/MessageRemindruleMapper.xml new file mode 100644 index 0000000..99c0bbf --- /dev/null +++ b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messageremindrule/MessageRemindruleMapper.xml @@ -0,0 +1,13 @@ + + + + + + + + + \ No newline at end of file diff --git a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messageremindrule/MessageRemindruleRest.java b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messageremindrule/MessageRemindruleRest.java new file mode 100644 index 0000000..17e8615 --- /dev/null +++ b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messageremindrule/MessageRemindruleRest.java @@ -0,0 +1,94 @@ +package com.yxt.messagecenter.biz.messageremindrule; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import com.yxt.messagecenter.api.messageremindrule.MessageRemindrule; +import com.yxt.messagecenter.api.messageremindrule.MessageRemindruleQuery; +import com.yxt.messagecenter.api.messageremindrule.MessageRemindruleVo; +import com.yxt.messagecenter.api.messageremindrule.MessageRemindruleDto; +import com.yxt.messagecenter.api.messageremindrule.MessageRemindruleFeign; + +/** + * Project: message-center(消息中心)
+ * File: MessageRemindruleFeignFallback.java
+ * Class: com.yxt.messagecenter.biz.messageremindrule.MessageRemindruleRest
+ * Description: 提醒规则.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 10:20:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "提醒规则") +@RestController +@RequestMapping("v1/messageremindrule") +public class MessageRemindruleRest implements MessageRemindruleFeign { + + @Autowired + private MessageRemindruleService messageRemindruleService; + + @Override + public ResultBean> listPage(@RequestBody PagerQuery pq){ + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = messageRemindruleService.listPageVo(pq); + return rb.success().setData(pv); + } + + @Override + public ResultBean> listAll(@RequestBody MessageRemindruleQuery query){ + ResultBean rb = ResultBean.fireFail(); + List list = messageRemindruleService.listAllVo(query); + return rb.success().setData(list); + } + + @Override + public ResultBean> list(){ + ResultBean rb = ResultBean.fireFail(); + List list = messageRemindruleService.listVo(); + return rb.success().setData(list); + } + + @Override + public ResultBean save(MessageRemindruleDto dto){ + ResultBean rb = ResultBean.fireFail(); + messageRemindruleService.saveOrUpdateDto(dto); + return rb.success(); + } + + @Override + public ResultBean update(MessageRemindruleDto dto,String sid){ + ResultBean rb = ResultBean.fireFail(); + messageRemindruleService.updateBySid(dto.toMap(),sid); + return rb.success(); + } + + @Override + public ResultBean del(String ids){ + ResultBean rb = ResultBean.fireFail(); + messageRemindruleService.delByIds(ids); + return rb.success(); + } + + @Override + public ResultBean fetch(String id){ + ResultBean rb = ResultBean.fireFail(); + MessageRemindruleVo vo = messageRemindruleService.fetchByIdVo(id); + return rb.success().setData(vo); + } + + @Override + public ResultBean fetchBySid(String sid){ + ResultBean rb = ResultBean.fireFail(); + MessageRemindrule vo = messageRemindruleService.fetchBySid(sid); + return rb.success().setData(vo); + } +} diff --git a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messageremindrule/MessageRemindruleService.java b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messageremindrule/MessageRemindruleService.java new file mode 100644 index 0000000..20f32d8 --- /dev/null +++ b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messageremindrule/MessageRemindruleService.java @@ -0,0 +1,99 @@ +package com.yxt.messagecenter.biz.messageremindrule; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.commons.lang3.StringUtils; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.messagecenter.api.messageremindrule.MessageRemindrule; +import com.yxt.messagecenter.api.messageremindrule.MessageRemindruleQuery; +import com.yxt.messagecenter.api.messageremindrule.MessageRemindruleVo; +import com.yxt.messagecenter.api.messageremindrule.MessageRemindruleDto; +import com.yxt.messagecenter.api.messageremindrule.MessageRemindruleFeign; + +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * Project: message-center(消息中心)
+ * File: MessageRemindruleService.java
+ * Class: com.yxt.messagecenter.biz.messageremindrule.MessageRemindruleService
+ * Description: 提醒规则 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 10:20:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Service +public class MessageRemindruleService extends MybatisBaseService { + public PagerVo listPage(PagerQuery pq) { + MessageRemindruleQuery query = pq.getParams(); + QueryWrapper qw = createQueryWrapper(query); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPage(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + public List listAll(MessageRemindruleQuery query) { + QueryWrapper qw = createQueryWrapper(query); + return baseMapper.selectList(qw); + } + private QueryWrapper createQueryWrapper(MessageRemindruleQuery query) { + // todo: 这里根据具体业务调整查询条件 + // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); + QueryWrapper qw = new QueryWrapper<>(); + + + if (StringUtils.isNotBlank(query.getRuleCode())) { + qw.eq("ruleCode", query.getRuleCode()); + } + + if (query.getRules() != null) { + qw.eq("rules", query.getRules()); + } + + if (query.getRemindWay() != null) { + qw.eq("remindWay", query.getRemindWay()); + } + return qw; + } + + public PagerVo listPageVo(PagerQuery pq) { + MessageRemindruleQuery query = pq.getParams(); + QueryWrapper qw = createQueryWrapper(query); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPageVo(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public List listAllVo(MessageRemindruleQuery query) { + QueryWrapper qw = createQueryWrapper(query); + return baseMapper.selectListAllVo(qw); + } + + public List listVo() { + return baseMapper.selectListVo(); + } + + public void saveOrUpdateDto(MessageRemindruleDto dto){ + MessageRemindrule entity = new MessageRemindrule(); + dto.fillEntity(entity); + this.saveOrUpdate(entity); + } + + public MessageRemindruleVo fetchByIdVo(String id){ + MessageRemindrule entity = this.fetchById(id); + MessageRemindruleVo vo = new MessageRemindruleVo(); + BeanUtil.copyProperties(entity, vo); + return vo; + } +} \ No newline at end of file diff --git a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagereply/MessageReplyMapper.java b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagereply/MessageReplyMapper.java new file mode 100644 index 0000000..0cc597a --- /dev/null +++ b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagereply/MessageReplyMapper.java @@ -0,0 +1,40 @@ +package com.yxt.messagecenter.biz.messagereply; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; +import com.yxt.messagecenter.api.messagereply.MessageReply; +import com.yxt.messagecenter.api.messagereply.MessageReplyVo; + +import java.util.List; + +/** + * Project: message-center(消息中心)
+ * File: MessageReplyMapper.java
+ * Class: com.yxt.messagecenter.biz.messagereply.MessageReplyMapper
+ * Description: 消息回复.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 10:20:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Mapper +public interface MessageReplyMapper extends BaseMapper { + + //@Update("update message_reply set name=#{msg} where id=#{id}") + //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); + + List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw); + + @Select("select * from message_reply") + List selectListVo(); +} \ No newline at end of file diff --git a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagereply/MessageReplyMapper.xml b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagereply/MessageReplyMapper.xml new file mode 100644 index 0000000..c13effd --- /dev/null +++ b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagereply/MessageReplyMapper.xml @@ -0,0 +1,13 @@ + + + + + + + + + \ No newline at end of file diff --git a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagereply/MessageReplyRest.java b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagereply/MessageReplyRest.java new file mode 100644 index 0000000..d7041a0 --- /dev/null +++ b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagereply/MessageReplyRest.java @@ -0,0 +1,94 @@ +package com.yxt.messagecenter.biz.messagereply; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import com.yxt.messagecenter.api.messagereply.MessageReply; +import com.yxt.messagecenter.api.messagereply.MessageReplyQuery; +import com.yxt.messagecenter.api.messagereply.MessageReplyVo; +import com.yxt.messagecenter.api.messagereply.MessageReplyDto; +import com.yxt.messagecenter.api.messagereply.MessageReplyFeign; + +/** + * Project: message-center(消息中心)
+ * File: MessageReplyFeignFallback.java
+ * Class: com.yxt.messagecenter.biz.messagereply.MessageReplyRest
+ * Description: 消息回复.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 10:20:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "消息回复") +@RestController +@RequestMapping("v1/messagereply") +public class MessageReplyRest implements MessageReplyFeign { + + @Autowired + private MessageReplyService messageReplyService; + + @Override + public ResultBean> listPage(@RequestBody PagerQuery pq){ + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = messageReplyService.listPageVo(pq); + return rb.success().setData(pv); + } + + @Override + public ResultBean> listAll(@RequestBody MessageReplyQuery query){ + ResultBean rb = ResultBean.fireFail(); + List list = messageReplyService.listAllVo(query); + return rb.success().setData(list); + } + + @Override + public ResultBean> list(){ + ResultBean rb = ResultBean.fireFail(); + List list = messageReplyService.listVo(); + return rb.success().setData(list); + } + + @Override + public ResultBean save(MessageReplyDto dto){ + ResultBean rb = ResultBean.fireFail(); + messageReplyService.saveOrUpdateDto(dto); + return rb.success(); + } + + @Override + public ResultBean update(MessageReplyDto dto,String sid){ + ResultBean rb = ResultBean.fireFail(); + messageReplyService.updateBySid(dto.toMap(),sid); + return rb.success(); + } + + @Override + public ResultBean del(String ids){ + ResultBean rb = ResultBean.fireFail(); + messageReplyService.delByIds(ids); + return rb.success(); + } + + @Override + public ResultBean fetch(String id){ + ResultBean rb = ResultBean.fireFail(); + MessageReplyVo vo = messageReplyService.fetchByIdVo(id); + return rb.success().setData(vo); + } + + @Override + public ResultBean fetchBySid(String sid){ + ResultBean rb = ResultBean.fireFail(); + MessageReply vo = messageReplyService.fetchBySid(sid); + return rb.success().setData(vo); + } +} diff --git a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagereply/MessageReplyService.java b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagereply/MessageReplyService.java new file mode 100644 index 0000000..2091579 --- /dev/null +++ b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagereply/MessageReplyService.java @@ -0,0 +1,103 @@ +package com.yxt.messagecenter.biz.messagereply; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.commons.lang3.StringUtils; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.messagecenter.api.messagereply.MessageReply; +import com.yxt.messagecenter.api.messagereply.MessageReplyQuery; +import com.yxt.messagecenter.api.messagereply.MessageReplyVo; +import com.yxt.messagecenter.api.messagereply.MessageReplyDto; +import com.yxt.messagecenter.api.messagereply.MessageReplyFeign; + +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * Project: message-center(消息中心)
+ * File: MessageReplyService.java
+ * Class: com.yxt.messagecenter.biz.messagereply.MessageReplyService
+ * Description: 消息回复 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-10-28 10:20:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Service +public class MessageReplyService extends MybatisBaseService { + public PagerVo listPage(PagerQuery pq) { + MessageReplyQuery query = pq.getParams(); + QueryWrapper qw = createQueryWrapper(query); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPage(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + public List listAll(MessageReplyQuery query) { + QueryWrapper qw = createQueryWrapper(query); + return baseMapper.selectList(qw); + } + private QueryWrapper createQueryWrapper(MessageReplyQuery query) { + // todo: 这里根据具体业务调整查询条件 + // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); + QueryWrapper qw = new QueryWrapper<>(); + + + if (StringUtils.isNotBlank(query.getMsgSid())) { + qw.eq("msgSid", query.getMsgSid()); + } + + if (StringUtils.isNotBlank(query.getReplyConent())) { + qw.eq("replyConent", query.getReplyConent()); + } + + if (StringUtils.isNotBlank(query.getReplyPersonName())) { + qw.eq("replyPersonName", query.getReplyPersonName()); + } + + if (StringUtils.isNotBlank(query.getReplyUserSid())) { + qw.eq("replyUserSid", query.getReplyUserSid()); + } + return qw; + } + + public PagerVo listPageVo(PagerQuery pq) { + MessageReplyQuery query = pq.getParams(); + QueryWrapper qw = createQueryWrapper(query); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPageVo(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public List listAllVo(MessageReplyQuery query) { + QueryWrapper qw = createQueryWrapper(query); + return baseMapper.selectListAllVo(qw); + } + + public List listVo() { + return baseMapper.selectListVo(); + } + + public void saveOrUpdateDto(MessageReplyDto dto){ + MessageReply entity = new MessageReply(); + dto.fillEntity(entity); + this.saveOrUpdate(entity); + } + + public MessageReplyVo fetchByIdVo(String id){ + MessageReply entity = this.fetchById(id); + MessageReplyVo vo = new MessageReplyVo(); + BeanUtil.copyProperties(entity, vo); + return vo; + } +} \ No newline at end of file diff --git a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagetype/MessageTypeMapper.java b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagetype/MessageTypeMapper.java new file mode 100644 index 0000000..b26d7ae --- /dev/null +++ b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagetype/MessageTypeMapper.java @@ -0,0 +1,33 @@ +package com.yxt.messagecenter.biz.messagetype; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.messagecenter.api.messagetype.MessageType; +import com.yxt.messagecenter.api.messagetype.MessageTypeVo; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * Project: message-center(消息中心)
+ * File: MessageTypeMapper.java
+ * Class: com.yxt.messagecenter.biz.messagetype.MessageTypeMapper
+ * Description: 消息类别.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-11-01 15:25:56
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Mapper +public interface MessageTypeMapper extends BaseMapper { + /** + * @param identifier 消息标识:0001为小程序、0002为app + * @description: 获取消息类别的列表 + * @return: + * @Author: dimengzhe + * @Date: 2021/11/1 15:45 + */ + List selectMsgTypeList(String identifier); +} \ No newline at end of file diff --git a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagetype/MessageTypeMapper.xml b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagetype/MessageTypeMapper.xml new file mode 100644 index 0000000..64d1ae5 --- /dev/null +++ b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagetype/MessageTypeMapper.xml @@ -0,0 +1,20 @@ + + + + + + + + \ No newline at end of file diff --git a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagetype/MessageTypeRest.java b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagetype/MessageTypeRest.java new file mode 100644 index 0000000..11683a7 --- /dev/null +++ b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagetype/MessageTypeRest.java @@ -0,0 +1,72 @@ +package com.yxt.messagecenter.biz.messagetype; + +import com.yxt.common.core.result.ResultBean; +import com.yxt.messagecenter.api.messagetype.MessageTypeDto; +import com.yxt.messagecenter.api.messagetype.MessageTypeFeign; +import com.yxt.messagecenter.api.messagetype.MessageTypeVo; +import com.yxt.messagecenter.biz.messagelist.MessageListService; +import io.swagger.annotations.Api; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * Project: message-center(消息中心)
+ * File: MessageTypeFeignFallback.java
+ * Class: com.yxt.messagecenter.biz.messagetype.MessageTypeRest
+ * Description: 消息类别.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-11-01 15:25:56
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "消息类别") +@RestController +@RequestMapping("v1/messagetype") +public class MessageTypeRest implements MessageTypeFeign { + + @Autowired + private MessageTypeService messageTypeService; + @Autowired + private MessageListService messageListService; + + @Override + public ResultBean save(MessageTypeDto dto) { + ResultBean rb = ResultBean.fireFail(); + messageTypeService.saveOrUpdateDto(dto); + return rb.success(); + } + + @Override + public ResultBean update(MessageTypeDto dto, String sid) { + ResultBean rb = ResultBean.fireFail(); + messageTypeService.updateBySid(dto.toMap(), sid); + return rb.success(); + } + + @Override + public ResultBean del(String ids) { + ResultBean rb = ResultBean.fireFail(); + messageTypeService.delByIds(ids); + return rb.success(); + } + + @Override + public ResultBean> selectList() { + String identifier = "0001"; + + List messageWxTypeVoList = messageTypeService.selectMsgTypeList(identifier); + return new ResultBean>().success().setData(messageWxTypeVoList); + } + + @Override + public ResultBean> selectAppMsgTypeList(String identifier) { + List messageWxTypeVoList = messageTypeService.selectMsgTypeList(identifier); + return new ResultBean>().success().setData(messageWxTypeVoList); + } +} diff --git a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagetype/MessageTypeService.java b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagetype/MessageTypeService.java new file mode 100644 index 0000000..a7e1c02 --- /dev/null +++ b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagetype/MessageTypeService.java @@ -0,0 +1,69 @@ +package com.yxt.messagecenter.biz.messagetype; + +import cn.hutool.core.bean.BeanUtil; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.messagecenter.api.messagetype.MessageType; +import com.yxt.messagecenter.api.messagetype.MessageTypeDto; +import com.yxt.messagecenter.api.messagetype.MessageTypeVo; +import com.yxt.messagecenter.biz.messagelist.MessageListService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * Project: message-center(消息中心)
+ * File: MessageTypeService.java
+ * Class: com.yxt.messagecenter.biz.messagetype.MessageTypeService
+ * Description: 消息类别 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-11-01 15:25:56
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Service +public class MessageTypeService extends MybatisBaseService { + + @Autowired + private MessageListService messageListService; + + public void saveOrUpdateDto(MessageTypeDto dto) { + MessageType entity = new MessageType(); + dto.fillEntity(entity); + this.saveOrUpdate(entity); + } + + public MessageTypeVo fetchByIdVo(String id) { + MessageType entity = this.fetchById(id); + MessageTypeVo vo = new MessageTypeVo(); + BeanUtil.copyProperties(entity, vo); + return vo; + } + + /** + * @param identifier 消息标识:0001为小程序、0002为app + * @description: 获取消息类别的列表 + * @return: + * @Author: dimengzhe + * @Date: 2021/11/1 15:46 + */ + public List selectMsgTypeList(String identifier) { + List messageWxTypeVoList = baseMapper.selectMsgTypeList(identifier); + for (MessageTypeVo msgType : messageWxTypeVoList) { + boolean isHave = false; + String msgTypeSid = msgType.getMsgTypeSid(); + //查询该消息类别下是否包含未读的消息 + int count = messageListService.selectListCount(msgTypeSid); + if (count > 0) { + isHave = true; + msgType.setIsHave(isHave); + }else{ + msgType.setIsHave(isHave); + } + } + return messageWxTypeVoList; + } +} \ No newline at end of file diff --git a/message-center-biz/src/main/java/com/yxt/messagecenter/conf/Swagger2Config.java b/message-center-biz/src/main/java/com/yxt/messagecenter/conf/Swagger2Config.java new file mode 100644 index 0000000..47c0dff --- /dev/null +++ b/message-center-biz/src/main/java/com/yxt/messagecenter/conf/Swagger2Config.java @@ -0,0 +1,70 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.messagecenter.conf; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import springfox.documentation.builders.ApiInfoBuilder; +import springfox.documentation.builders.PathSelectors; +import springfox.documentation.builders.RequestHandlerSelectors; +import springfox.documentation.service.ApiInfo; +import springfox.documentation.spi.DocumentationType; +import springfox.documentation.spring.web.plugins.Docket; +import springfox.documentation.swagger2.annotations.EnableSwagger2; + +import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j; + +/** + * Project: jlcyry
+ * File: Swagger2Config.java
+ * Class: com.yxt.jlzx.jlcyry.conf.Swagger2Config
+ * Description: <描述类的功能>.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2020/8/25 23:27
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Configuration +@EnableSwagger2 +@EnableKnife4j +public class Swagger2Config { + @Bean + public Docket createRestApi() { + return new Docket(DocumentationType.SWAGGER_2) + .apiInfo(apiInfo()).select() + .apis(RequestHandlerSelectors.basePackage("com.yxt")) + .paths(PathSelectors.any()).build(); + } + + private ApiInfo apiInfo() { + return new ApiInfoBuilder().title("消息中心").description("消息中心").version("1.0") + .build(); + } +} diff --git a/message-center-biz/src/main/resources/application-dev.yml b/message-center-biz/src/main/resources/application-dev.yml new file mode 100644 index 0000000..7b1ab52 --- /dev/null +++ b/message-center-biz/src/main/resources/application-dev.yml @@ -0,0 +1,34 @@ +spring: + datasource: + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://127.0.0.1:3306/message-center?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&serverTimezone=GMT%2B8&failOverReadOnly=false + username: root + password: root + redis: + database: 2 # Redis数据库索引(默认为0) + host: 127.0.0.1 + jedis: + pool: + max-active: -1 #连接池最大连接数(使用负值表示没有限制) + max-idle: 8 #连接池中的最大空闲连接 + max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制) + min-idle: 0 # 连接池中的最小空闲连接 + password: + port: 6379 + timeout: 0 # 连接超时时间(毫秒) + nacos: + discovery: + server-addr: 127.0.0.1:8848 + +# 日志配置 +logging: + level: + com.yxt: debug + org.mybatis: debug + org.springframework: warn + +image: + upload: + path: D:\\anrui\\upload\\ + url: + prefix: http://127.0.0.1:8111/upload/ \ No newline at end of file diff --git a/message-center-biz/src/main/resources/application-pro.yml b/message-center-biz/src/main/resources/application-pro.yml new file mode 100644 index 0000000..cc88c21 --- /dev/null +++ b/message-center-biz/src/main/resources/application-pro.yml @@ -0,0 +1,29 @@ +spring: + datasource: + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://120.46.131.15:3306/message_center?serverTimezone=GMT%2B8&autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&nullCatalogMeansCurrent=true + username: root + password: anrui_@root + cloud: + nacos: + discovery: + server-addr: 127.0.0.1:8848 + redis: + database: 3 # Redis数据库索引(默认为0) + host: 127.0.0.1 + jedis: + pool: + max-active: -1 #连接池最大连接数(使用负值表示没有限制) + max-idle: 8 #连接池中的最大空闲连接 + max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制) + min-idle: 0 # 连接池中的最小空闲连接 + password: 123456 + port: 6379 + timeout: 0 # 连接超时时间(毫秒) + +image: + upload: + path: D:\anrui\upload\ + url: + prefix: http://120.46.131.15:8111/upload/ + diff --git a/message-center-biz/src/main/resources/application-test.yml b/message-center-biz/src/main/resources/application-test.yml new file mode 100644 index 0000000..e3104e3 --- /dev/null +++ b/message-center-biz/src/main/resources/application-test.yml @@ -0,0 +1,13 @@ +spring: + datasource: + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://127.0.0.1:3306/message-center?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&serverTimezone=GMT%2B8&failOverReadOnly=false + username: root + password: root + +# 日志配置 +logging: + level: + com.yxt: debug + org.mybatis: debug + org.springframework: warn \ No newline at end of file diff --git a/message-center-biz/src/main/resources/application.yml b/message-center-biz/src/main/resources/application.yml new file mode 100644 index 0000000..68a3ead --- /dev/null +++ b/message-center-biz/src/main/resources/application.yml @@ -0,0 +1,48 @@ +spring: + application: + name: message-center + profiles: + active: pro + # 资源信息 + messages: + # 国际化资源文件路径 + basename: i18n/messages + servlet: + multipart: + max-file-size: 50MB + max-request-size: 100MB + output: + ansi: + enabled: ALWAYS + +server: + port: 8107 + +#mybatis +mybatis-plus: + mapper-locations: classpath*:**Mapper.xml + global-config: + refresh: true + db-config: + id-type: Auto + db-type: mysql + configuration: + map-underscore-to-camel-case: false + cache-enabled: true + call-setters-on-nulls: true + log-impl: org.apache.ibatis.logging.stdout.StdOutImpl + +#hystrix的超时时间 +hystrix: + command: + default: + execution: + timeout: + enabled: true + isolation: + thread: + timeoutInMilliseconds: 30000 +#ribbon的超时时间 +ribbon: + ReadTimeout: 30000 + ConnectTimeout: 30000 \ No newline at end of file diff --git a/message-center-biz/src/main/resources/logback-spring.xml b/message-center-biz/src/main/resources/logback-spring.xml new file mode 100644 index 0000000..b425310 --- /dev/null +++ b/message-center-biz/src/main/resources/logback-spring.xml @@ -0,0 +1,50 @@ + + + + + + + + + + %yellow(%date{yyyy-MM-dd HH:mm:ss}) |%highlight(%-5level) |%green(%logger:%line) |%blue(%msg%n) + + + + + + + + + + + + + + + ${log.base}.log + + ${log.base}.%d{yyyyMMdd}.%i.log.zip + + + + 1MB + + + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} + -%msg%n + + + + + + + + + + \ No newline at end of file diff --git a/message-center.iml b/message-center.iml new file mode 100644 index 0000000..4fd5057 --- /dev/null +++ b/message-center.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..cdfec91 --- /dev/null +++ b/pom.xml @@ -0,0 +1,16 @@ + + + 4.0.0 + + + message-center + com.yxt.messagecenter + 0.0.1 + pom + + + message-center-api + message-center-biz + + + \ No newline at end of file