From 3ba2d600c22adb4550c31899e36fe6500418c328 Mon Sep 17 00:00:00 2001 From: wangxulei <727869402@qq.com> Date: Wed, 15 Jan 2025 10:28:21 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BC=80=E5=8F=91=E6=B6=88=E6=81=AF=E9=80=9A?= =?UTF-8?q?=E7=9F=A5=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- .../dd/admin/business/api/AuthChatApi.java | 6 +- .../dd/admin/business/api/AuthNoticeApi.java | 96 ++++ .../business/api/domain/UnReadCountBean.java | 4 +- .../notice/controller/NoticeController.java | 126 +++++ .../business/notice/domain/NoticeDto.java | 77 +++ .../business/notice/domain/NoticeVo.java | 74 +++ .../business/notice/domain/SendNoticeDto.java | 30 ++ .../admin/business/notice/entity/Notice.java | 91 ++++ .../business/notice/mapper/NoticeMapper.java | 28 ++ .../notice/mapper/xml/NoticeMapper.xml | 40 ++ .../notice/service/NoticeService.java | 26 + .../service/impl/NoticeServiceImpl.java | 40 ++ .../receive/controller/ReceiveController.java | 94 ++++ .../business/receive/domain/ReceiveDto.java | 62 +++ .../business/receive/domain/ReceiveVo.java | 62 +++ .../business/receive/entity/Receive.java | 71 +++ .../receive/mapper/ReceiveMapper.java | 30 ++ .../receive/mapper/xml/ReceiveMapper.xml | 48 ++ .../receive/service/ReceiveService.java | 32 ++ .../service/impl/ReceiveServiceImpl.java | 62 +++ .../GetApiReadCountMessageHandler.java | 7 +- web/.env.development | 3 +- web/package.json | 1 + web/src/api/business/notice/notice.js | 48 ++ web/src/api/business/receive/receive.js | 41 ++ web/src/components/Pagination/index.vue | 2 +- web/src/main.js | 7 + web/src/views/business/notice/addNotice.vue | 142 ++++++ web/src/views/business/notice/authorList.vue | 467 ++++++++++++++++++ .../views/business/notice/chooseAuthor.vue | 46 ++ web/src/views/business/notice/editNotice.vue | 152 ++++++ web/src/views/business/notice/noticeList.vue | 358 ++++++++++++++ web/src/views/business/receive/addReceive.vue | 121 +++++ .../views/business/receive/editReceive.vue | 122 +++++ .../views/business/receive/receiveList.vue | 273 ++++++++++ web/src/views/login/login.vue | 4 +- 37 files changed, 2887 insertions(+), 8 deletions(-) create mode 100644 src/main/java/com/dd/admin/business/api/AuthNoticeApi.java create mode 100644 src/main/java/com/dd/admin/business/notice/controller/NoticeController.java create mode 100644 src/main/java/com/dd/admin/business/notice/domain/NoticeDto.java create mode 100644 src/main/java/com/dd/admin/business/notice/domain/NoticeVo.java create mode 100644 src/main/java/com/dd/admin/business/notice/domain/SendNoticeDto.java create mode 100644 src/main/java/com/dd/admin/business/notice/entity/Notice.java create mode 100644 src/main/java/com/dd/admin/business/notice/mapper/NoticeMapper.java create mode 100644 src/main/java/com/dd/admin/business/notice/mapper/xml/NoticeMapper.xml create mode 100644 src/main/java/com/dd/admin/business/notice/service/NoticeService.java create mode 100644 src/main/java/com/dd/admin/business/notice/service/impl/NoticeServiceImpl.java create mode 100644 src/main/java/com/dd/admin/business/receive/controller/ReceiveController.java create mode 100644 src/main/java/com/dd/admin/business/receive/domain/ReceiveDto.java create mode 100644 src/main/java/com/dd/admin/business/receive/domain/ReceiveVo.java create mode 100644 src/main/java/com/dd/admin/business/receive/entity/Receive.java create mode 100644 src/main/java/com/dd/admin/business/receive/mapper/ReceiveMapper.java create mode 100644 src/main/java/com/dd/admin/business/receive/mapper/xml/ReceiveMapper.xml create mode 100644 src/main/java/com/dd/admin/business/receive/service/ReceiveService.java create mode 100644 src/main/java/com/dd/admin/business/receive/service/impl/ReceiveServiceImpl.java create mode 100644 web/src/api/business/notice/notice.js create mode 100644 web/src/api/business/receive/receive.js create mode 100644 web/src/views/business/notice/addNotice.vue create mode 100644 web/src/views/business/notice/authorList.vue create mode 100644 web/src/views/business/notice/chooseAuthor.vue create mode 100644 web/src/views/business/notice/editNotice.vue create mode 100644 web/src/views/business/notice/noticeList.vue create mode 100644 web/src/views/business/receive/addReceive.vue create mode 100644 web/src/views/business/receive/editReceive.vue create mode 100644 web/src/views/business/receive/receiveList.vue diff --git a/README.md b/README.md index 047cbfc..9968ca7 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ **线上预览:** > ### 移动端 **[http://8.146.211.120:8081/](http://8.146.211.120:8081/)** -> ### 管理端 **[http://8.146.211.120:8086/](http://8.146.211.120:8086/)** +> ### 管理端 **[http://8.146.211.120:8088/](http://8.146.211.120:8088/)** 小红书凭借优秀的产品体验 和超高人气 目前成为笔记类产品佼佼者 此项目将详细介绍如何使用Vue.js和Spring Boot 集合uniapp diff --git a/src/main/java/com/dd/admin/business/api/AuthChatApi.java b/src/main/java/com/dd/admin/business/api/AuthChatApi.java index adb92e5..532e7cb 100644 --- a/src/main/java/com/dd/admin/business/api/AuthChatApi.java +++ b/src/main/java/com/dd/admin/business/api/AuthChatApi.java @@ -11,6 +11,7 @@ import com.dd.admin.business.file.service.FileService; import com.dd.admin.business.follow.service.FollowService; import com.dd.admin.business.note.service.NoteService; import com.dd.admin.business.noteImg.service.NoteImgService; +import com.dd.admin.business.receive.service.ReceiveService; import com.dd.admin.business.reply.service.ReplyService; import com.dd.admin.business.starNotes.service.StarNotesService; import com.dd.admin.business.upNotes.service.UpNotesService; @@ -48,6 +49,8 @@ public class AuthChatApi { ReplyService replyService; @Autowired FollowService followService; + @Autowired + ReceiveService receiveService; @ApiOperation(value = "获取消息列表") @ApiOperationSupport(order = 1) @@ -135,8 +138,9 @@ public class AuthChatApi { Integer starNotesUnReadCount = starNotesService.selectUnReadCount(loginId); Integer replyUnReadCount = replyService.selectUnReadCount(loginId); Integer followUnReadCount = followService.selectUnReadCount(loginId); + Integer receiveUnReadCount = receiveService.selectUnReadCount(loginId); Integer totalUnReadCount = 0; - UnReadCountBean unReadCountBean = new UnReadCountBean(chatUnReadCount,upNotesUnReadCount,starNotesUnReadCount,replyUnReadCount,followUnReadCount,totalUnReadCount); + UnReadCountBean unReadCountBean = new UnReadCountBean(chatUnReadCount,upNotesUnReadCount,starNotesUnReadCount,replyUnReadCount,followUnReadCount,receiveUnReadCount,totalUnReadCount); unReadCountBean.calculateTotalUnReadCount(); return ResultBean.success(unReadCountBean); }; diff --git a/src/main/java/com/dd/admin/business/api/AuthNoticeApi.java b/src/main/java/com/dd/admin/business/api/AuthNoticeApi.java new file mode 100644 index 0000000..b9340c1 --- /dev/null +++ b/src/main/java/com/dd/admin/business/api/AuthNoticeApi.java @@ -0,0 +1,96 @@ +package com.dd.admin.business.api; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollectionUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.metadata.OrderItem; +import com.dd.admin.business.author.entity.Author; +import com.dd.admin.business.author.service.AuthorService; +import com.dd.admin.business.chat.domain.AuthorParam; +import com.dd.admin.business.file.entity.File; +import com.dd.admin.business.file.service.FileService; +import com.dd.admin.business.follow.entity.Follow; +import com.dd.admin.business.follow.service.FollowService; +import com.dd.admin.business.note.domain.NoteDto; +import com.dd.admin.business.note.domain.NoteVo; +import com.dd.admin.business.note.domain.ReplayMeVo; +import com.dd.admin.business.note.domain.UpMeVo; +import com.dd.admin.business.note.entity.Note; +import com.dd.admin.business.note.service.NoteService; +import com.dd.admin.business.noteImg.entity.NoteImg; +import com.dd.admin.business.noteImg.service.NoteImgService; +import com.dd.admin.business.receive.domain.ReceiveDto; +import com.dd.admin.business.receive.domain.ReceiveVo; +import com.dd.admin.business.receive.entity.Receive; +import com.dd.admin.business.receive.service.ReceiveService; +import com.dd.admin.business.reply.domain.ReplyDto; +import com.dd.admin.business.reply.domain.ReplyVo; +import com.dd.admin.business.reply.service.ReplyService; +import com.dd.admin.common.aop.operationLog.aop.OperLog; +import com.dd.admin.common.aop.operationLog.aop.OperType; +import com.dd.admin.common.model.result.ResultBean; +import com.dd.admin.common.utils.AddressUtils; +import com.dd.admin.common.utils.CommonUtil; +import com.dd.admin.common.utils.IPUtils; +import com.dd.admin.common.utils.StringUtil; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +import javax.servlet.http.HttpServletRequest; +import java.util.*; +import java.util.stream.Collectors; + +@ApiModel("笔记相关Api") +@RestController +public class AuthNoticeApi { + @Autowired + HttpServletRequest request; + @Autowired + ReceiveService receiveService; + + @ApiOperation(value = "读取系统消息") + @ApiOperationSupport(order = 4) + @PostMapping("/api/auth/readAuthorReceive") + @OperLog(operModule = "读取系统消息", operType = OperType.OTHER, operDesc = "读取系统消息") + public ResultBean readAuthorReceive() { + String authorId = String.valueOf(request.getAttribute("authorId")); + receiveService.readMessage(authorId); + return ResultBean.success(); + } + + + @ApiOperation(value = "获取所有系统消息") + @ApiOperationSupport(order = 1) + @GetMapping("/api/auth/getReceivePage") + @OperLog(operModule = "获取所有系统消息", operType = OperType.QUERY, operDesc = "获取所有系统消息") + public ResultBean> getReceivePage() { + String authorId = String.valueOf(request.getAttribute("authorId")); + ReceiveDto receiveDto = new ReceiveDto(); + receiveDto.setAuthorId(authorId); + // 1. 通过noteService根据传入的NoteDto参数查询笔记的分页信息,获取包含笔记数据的分页对象 + IPage receiveVoIPage = receiveService.selectReceivePage(receiveDto); + // 20. 将处理好的包含笔记信息(已设置点赞状态和点赞数量)的分页对象包装在ResultBean中返回,以便前端或其他调用方获取处理后的结果数据 + return ResultBean.success(receiveVoIPage); + } + + + @ApiOperation(value = "获取最后一条系统消息") + @ApiOperationSupport(order = 1) + @GetMapping("/api/auth/getReceiveLast") + @OperLog(operModule = "获取最后一条系统消息", operType = OperType.QUERY, operDesc = "获取最后一条系统消息") + public ResultBean getReceiveLast() { + String authorId = String.valueOf(request.getAttribute("authorId")); + // 1. 通过noteService根据传入的NoteDto参数查询笔记的分页信息,获取包含笔记数据的分页对象 + ReceiveVo lastReceive = receiveService.selectReceiveLast(authorId); + // 20. 将处理好的包含笔记信息(已设置点赞状态和点赞数量)的分页对象包装在ResultBean中返回,以便前端或其他调用方获取处理后的结果数据 + return ResultBean.success(lastReceive); + } +} diff --git a/src/main/java/com/dd/admin/business/api/domain/UnReadCountBean.java b/src/main/java/com/dd/admin/business/api/domain/UnReadCountBean.java index 07cc907..f88d137 100644 --- a/src/main/java/com/dd/admin/business/api/domain/UnReadCountBean.java +++ b/src/main/java/com/dd/admin/business/api/domain/UnReadCountBean.java @@ -13,6 +13,7 @@ public class UnReadCountBean { private Integer starNotesUnReadCount; private Integer replyUnReadCount; private Integer followUnReadCount; + private Integer receiveUnReadCount; private Integer totalUnReadCount; // 自定义方法,用于计算总数量(也可以在构造函数等其他地方调用此方法来计算总和) @@ -22,7 +23,8 @@ public class UnReadCountBean { int starNotesCount = starNotesUnReadCount!= null? starNotesUnReadCount : 0; int replyCount = replyUnReadCount!= null? replyUnReadCount : 0; int followCount = followUnReadCount!= null? followUnReadCount : 0; + int receiveCount = receiveUnReadCount!= null? receiveUnReadCount : 0; - totalUnReadCount = chatCount + upNotesCount + starNotesCount + replyCount + followCount; + totalUnReadCount = chatCount + upNotesCount + starNotesCount + replyCount + followCount + receiveCount; } } diff --git a/src/main/java/com/dd/admin/business/notice/controller/NoticeController.java b/src/main/java/com/dd/admin/business/notice/controller/NoticeController.java new file mode 100644 index 0000000..7e09264 --- /dev/null +++ b/src/main/java/com/dd/admin/business/notice/controller/NoticeController.java @@ -0,0 +1,126 @@ +package com.dd.admin.business.notice.controller; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollectionUtil; +import com.dd.admin.business.author.entity.Author; +import com.dd.admin.business.note.service.NoteService; +import com.dd.admin.business.notice.domain.SendNoticeDto; +import com.dd.admin.business.receive.entity.Receive; +import com.dd.admin.business.receive.service.ReceiveService; +import com.dd.admin.common.exception.ApiException; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import org.springframework.web.bind.annotation.*; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import com.dd.admin.common.model.UpdateGroup; +import com.dd.admin.common.model.result.ResultBean; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import javax.validation.constraints.NotBlank; +import com.dd.admin.business.notice.entity.Notice; +import com.dd.admin.business.notice.domain.NoticeVo; +import com.dd.admin.business.notice.domain.NoticeDto; +import com.dd.admin.business.notice.service.NoticeService; + +import java.util.ArrayList; +import java.util.List; + +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 通知公告表 前端控制器 + *

+ * + * @author 727869402@qq.com + * @since 2025-01-14 + */ +@Api(tags = "通知公告表") +@RestController +public class NoticeController { + + @Autowired + NoticeService noticeService; + + @Autowired + ReceiveService receiveService; + + @ApiOperation(value = "通知公告表-添加") + @ApiOperationSupport(order = 3) + @PostMapping("/admin/notice/sendNotice") + public ResultBean sendNotice(@RequestBody @Validated SendNoticeDto sendNoticeDto) { + System.out.println(sendNoticeDto); + if(CollectionUtil.isNotEmpty(sendNoticeDto.getAuthorList())){ + Notice notice = noticeService.getById(sendNoticeDto.getNoticeId()); + List authorList = sendNoticeDto.getAuthorList(); + + List receiveList = new ArrayList<>(); + authorList.stream().forEach(author -> { + Receive receive = new Receive(); + receive.setNoticeId(notice.getNoticeId()); + receive.setAuthorId(author.getAuthorId()); + receive.setAuthorName(author.getAuthorName()); + receiveList.add(receive); + }); + + receiveService.saveBatch(receiveList); + + }else{ + throw new ApiException("请选择发送对象~"); + } + + return ResultBean.success(); + } + + @ApiOperation(value = "通知公告表-分页列表") + @ApiOperationSupport(order = 1) + @GetMapping("/admin/notice/page") + public ResultBean> page(NoticeDto noticeDto) { + IPage pageInfo = noticeService.selectNoticePage(noticeDto); + return ResultBean.success(pageInfo); + } + + @ApiOperation(value = "通知公告表-列表") + @ApiOperationSupport(order = 2) + @GetMapping("/admin/notice/list") + public ResultBean> list(NoticeDto noticeDto) { + List list = noticeService.selectNoticeList(noticeDto); + return ResultBean.success(list); + } + + @ApiOperation(value = "通知公告表-添加") + @ApiOperationSupport(order = 3) + @PostMapping("/admin/notice/add") + public ResultBean add(@RequestBody @Validated NoticeDto noticeDto) { + Notice notice = BeanUtil.copyProperties(noticeDto, Notice.class); + noticeService.save(notice); + return ResultBean.success(notice); + } + + @ApiOperation(value = "通知公告表-查询") + @ApiOperationSupport(order = 4) + @GetMapping("/admin/notice/{noticeId}") + public ResultBean get(@PathVariable @NotBlank String noticeId) { + Notice notice = noticeService.getById(noticeId); + NoticeVo noticeVo = BeanUtil.copyProperties(notice,NoticeVo.class); + return ResultBean.success(noticeVo); + } + + @ApiOperation(value = "通知公告表-修改") + @ApiOperationSupport(order = 5) + @PostMapping("/admin/notice/update") + public ResultBean update(@RequestBody @Validated(UpdateGroup.class) NoticeDto noticeDto) { + Notice notice = BeanUtil.copyProperties(noticeDto, Notice.class); + noticeService.updateById(notice); + return ResultBean.success(notice); + } + + @ApiOperation(value = "通知公告表-删除") + @ApiOperationSupport(order = 6) + @GetMapping("/admin/notice/delete/{noticeId}") + public ResultBean delete(@PathVariable @NotBlank String noticeId) { + Boolean b = noticeService.removeById(noticeId); + return ResultBean.success(b); + } +} diff --git a/src/main/java/com/dd/admin/business/notice/domain/NoticeDto.java b/src/main/java/com/dd/admin/business/notice/domain/NoticeDto.java new file mode 100644 index 0000000..827f4ef --- /dev/null +++ b/src/main/java/com/dd/admin/business/notice/domain/NoticeDto.java @@ -0,0 +1,77 @@ +package com.dd.admin.business.notice.domain; + +import com.baomidou.mybatisplus.annotation.TableName; +import java.util.Date; +import com.baomidou.mybatisplus.annotation.Version; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableField; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import javax.validation.constraints.NotBlank; +import com.dd.admin.common.model.UpdateGroup; + + +/** + *

+ * 通知公告表返回对象 + *

+ * + * @author 727869402@qq.com + * @since 2025-01-14 + */ +@Data +@ApiModel(value="通知公告表接收对象") +public class NoticeDto { + + + @ApiModelProperty(value = "通知id") + private String noticeId; + + @ApiModelProperty(value = "通知标题") + private String noticeTitle; + + @ApiModelProperty(value = "通知内容") + private String noticeContent; + + @ApiModelProperty(value = "跳转url") + private String redirectUrl; + + @ApiModelProperty(value = "乐观锁字段") + private Long version; + + @ApiModelProperty(value = "0正常 1删除") + private Integer deleted; + + @ApiModelProperty(value = "门店id") + private String shopId; + + @ApiModelProperty(value = "门店名") + private String shopName; + + @ApiModelProperty(value = "创建人") + private String createName; + + @ApiModelProperty(value = "创建时间") + private Date createTime; + + @ApiModelProperty(value = "创建人id") + private String createId; + + @ApiModelProperty(value = "修改时间") + private Date updateTime; + + @ApiModelProperty(value = "修改人") + private String updateName; + + @ApiModelProperty(value = "修改人id") + private String updateId; + + @ApiModelProperty(value = "通知类型") + private Integer noticeType; + + +} diff --git a/src/main/java/com/dd/admin/business/notice/domain/NoticeVo.java b/src/main/java/com/dd/admin/business/notice/domain/NoticeVo.java new file mode 100644 index 0000000..f0fa073 --- /dev/null +++ b/src/main/java/com/dd/admin/business/notice/domain/NoticeVo.java @@ -0,0 +1,74 @@ +package com.dd.admin.business.notice.domain; + +import com.baomidou.mybatisplus.annotation.TableName; +import java.util.Date; +import com.baomidou.mybatisplus.annotation.Version; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableField; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + *

+ * 通知公告表返回对象 + *

+ * + * @author 727869402@qq.com + * @since 2025-01-14 + */ +@Data +@ApiModel(value="通知公告表返回对象") +public class NoticeVo { + + + @ApiModelProperty(value = "通知id") + private String noticeId; + + @ApiModelProperty(value = "通知标题") + private String noticeTitle; + + @ApiModelProperty(value = "通知内容") + private String noticeContent; + + @ApiModelProperty(value = "跳转url") + private String redirectUrl; + + @ApiModelProperty(value = "乐观锁字段") + private Long version; + + @ApiModelProperty(value = "0正常 1删除") + private Integer deleted; + + @ApiModelProperty(value = "门店id") + private String shopId; + + @ApiModelProperty(value = "门店名") + private String shopName; + + @ApiModelProperty(value = "创建人") + private String createName; + + @ApiModelProperty(value = "创建时间") + private Date createTime; + + @ApiModelProperty(value = "创建人id") + private String createId; + + @ApiModelProperty(value = "修改时间") + private Date updateTime; + + @ApiModelProperty(value = "修改人") + private String updateName; + + @ApiModelProperty(value = "修改人id") + private String updateId; + + @ApiModelProperty(value = "通知类型") + private Integer noticeType; + + +} diff --git a/src/main/java/com/dd/admin/business/notice/domain/SendNoticeDto.java b/src/main/java/com/dd/admin/business/notice/domain/SendNoticeDto.java new file mode 100644 index 0000000..f7319ec --- /dev/null +++ b/src/main/java/com/dd/admin/business/notice/domain/SendNoticeDto.java @@ -0,0 +1,30 @@ +package com.dd.admin.business.notice.domain; + +import com.dd.admin.business.author.entity.Author; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; +import java.util.List; + + +/** + *

+ * 通知公告表返回对象 + *

+ * + * @author 727869402@qq.com + * @since 2025-01-14 + */ +@Data +@ApiModel(value="通知公告表接收对象") +public class SendNoticeDto { + + @ApiModelProperty(value = "通知id") + private String noticeId; + + @ApiModelProperty(value = "作者集合 没有则全部发布") + private List authorList; + +} diff --git a/src/main/java/com/dd/admin/business/notice/entity/Notice.java b/src/main/java/com/dd/admin/business/notice/entity/Notice.java new file mode 100644 index 0000000..c009232 --- /dev/null +++ b/src/main/java/com/dd/admin/business/notice/entity/Notice.java @@ -0,0 +1,91 @@ +package com.dd.admin.business.notice.entity; + +import com.baomidou.mybatisplus.annotation.*; + +import java.util.Date; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + *

+ * 通知公告表 + *

+ * + * @author 727869402@qq.com + * @since 2025-01-14 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("business_notice") +@ApiModel(value="Notice对象", description="通知公告表") +public class Notice implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "通知id") + @TableId(value = "NOTICE_ID", type = IdType.ASSIGN_UUID) + private String noticeId; + + @ApiModelProperty(value = "通知标题") + @TableField("NOTICE_TITLE") + private String noticeTitle; + + @ApiModelProperty(value = "通知内容") + @TableField("NOTICE_CONTENT") + private String noticeContent; + + @ApiModelProperty(value = "跳转url") + @TableField("REDIRECT_URL") + private String redirectUrl; + + @ApiModelProperty(value = "乐观锁字段") + @TableField("VERSION") + @Version + private Long version; + + @ApiModelProperty(value = "0正常 1删除") + @TableField("DELETED") + @TableLogic + private Integer deleted; + + @ApiModelProperty(value = "门店id") + @TableField(value = "SHOP_ID", fill = FieldFill.INSERT) + private String shopId; + + @ApiModelProperty(value = "门店名") + @TableField(value = "SHOP_NAME", fill = FieldFill.INSERT) + private String shopName; + + @ApiModelProperty(value = "创建人") + @TableField(value = "CREATE_NAME", fill = FieldFill.INSERT) + private String createName; + + @ApiModelProperty(value = "创建时间") + @TableField(value = "CREATE_TIME", fill = FieldFill.INSERT) + private Date createTime; + + @ApiModelProperty(value = "创建人id") + @TableField(value = "CREATE_ID", fill = FieldFill.INSERT) + private String createId; + + @ApiModelProperty(value = "修改时间") + @TableField(value = "UPDATE_TIME", fill = FieldFill.UPDATE) + private Date updateTime; + + @ApiModelProperty(value = "修改人") + @TableField(value = "UPDATE_NAME", fill = FieldFill.UPDATE) + private String updateName; + + @ApiModelProperty(value = "修改人id") + @TableField(value = "UPDATE_ID", fill = FieldFill.UPDATE) + private String updateId; + + @ApiModelProperty(value = "通知类型") + @TableField("NOTICE_TYPE") + private Integer noticeType; + + +} diff --git a/src/main/java/com/dd/admin/business/notice/mapper/NoticeMapper.java b/src/main/java/com/dd/admin/business/notice/mapper/NoticeMapper.java new file mode 100644 index 0000000..61229d3 --- /dev/null +++ b/src/main/java/com/dd/admin/business/notice/mapper/NoticeMapper.java @@ -0,0 +1,28 @@ +package com.dd.admin.business.notice.mapper; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.dd.admin.business.notice.entity.Notice; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dd.admin.business.notice.domain.NoticeVo; +import com.dd.admin.business.notice.domain.NoticeDto; + +import java.util.List; + +/** + *

+ * 通知公告表 Mapper 接口 + *

+ * + * @author 727869402@qq.com + * @since 2025-01-14 + */ +@Mapper +public interface NoticeMapper extends BaseMapper { + + IPage selectNoticePage(Page page, @Param("noticeDto") NoticeDto noticeDto); + + List selectNoticeList(@Param("noticeDto") NoticeDto noticeDto); +} diff --git a/src/main/java/com/dd/admin/business/notice/mapper/xml/NoticeMapper.xml b/src/main/java/com/dd/admin/business/notice/mapper/xml/NoticeMapper.xml new file mode 100644 index 0000000..a4164fe --- /dev/null +++ b/src/main/java/com/dd/admin/business/notice/mapper/xml/NoticeMapper.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + NOTICE_ID, NOTICE_TITLE, NOTICE_CONTENT, REDIRECT_URL, VERSION, DELETED, SHOP_ID, SHOP_NAME, CREATE_NAME, CREATE_TIME, CREATE_ID, UPDATE_TIME, UPDATE_NAME, UPDATE_ID, NOTICE_TYPE + + + + + + diff --git a/src/main/java/com/dd/admin/business/notice/service/NoticeService.java b/src/main/java/com/dd/admin/business/notice/service/NoticeService.java new file mode 100644 index 0000000..6c50940 --- /dev/null +++ b/src/main/java/com/dd/admin/business/notice/service/NoticeService.java @@ -0,0 +1,26 @@ +package com.dd.admin.business.notice.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.dd.admin.business.notice.entity.Notice; +import com.baomidou.mybatisplus.extension.service.IService; +import com.dd.admin.business.notice.domain.NoticeVo; +import com.dd.admin.business.notice.domain.NoticeDto; +import java.util.List; + +/** + *

+ * 通知公告表 服务类 + *

+ * + * @author 727869402@qq.com + * @since 2025-01-14 + */ +public interface NoticeService extends IService { + + //通知公告表-分页列表 + IPage selectNoticePage(NoticeDto noticeDto); + + //通知公告表-列表 + List selectNoticeList(NoticeDto noticeDto); + +} diff --git a/src/main/java/com/dd/admin/business/notice/service/impl/NoticeServiceImpl.java b/src/main/java/com/dd/admin/business/notice/service/impl/NoticeServiceImpl.java new file mode 100644 index 0000000..716f378 --- /dev/null +++ b/src/main/java/com/dd/admin/business/notice/service/impl/NoticeServiceImpl.java @@ -0,0 +1,40 @@ +package com.dd.admin.business.notice.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.dd.admin.business.chat.entity.Chat; +import com.dd.admin.common.model.PageFactory; +import com.dd.admin.business.notice.entity.Notice; +import com.dd.admin.business.notice.mapper.NoticeMapper; +import com.dd.admin.business.notice.service.NoticeService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import com.dd.admin.business.notice.domain.NoticeVo; +import com.dd.admin.business.notice.domain.NoticeDto; +import java.util.List; + +/** + *

+ * 通知公告表 服务实现类 + *

+ * + * @author 727869402@qq.com + * @since 2025-01-14 + */ +@Service +public class NoticeServiceImpl extends ServiceImpl implements NoticeService { + + @Override + public IPage selectNoticePage(NoticeDto noticeDto) { + Page page = PageFactory.defaultPage(); + return baseMapper.selectNoticePage(page,noticeDto); + } + + @Override + public List selectNoticeList(NoticeDto noticeDto) { + return baseMapper.selectNoticeList(noticeDto); + } + + +} diff --git a/src/main/java/com/dd/admin/business/receive/controller/ReceiveController.java b/src/main/java/com/dd/admin/business/receive/controller/ReceiveController.java new file mode 100644 index 0000000..2a84c7d --- /dev/null +++ b/src/main/java/com/dd/admin/business/receive/controller/ReceiveController.java @@ -0,0 +1,94 @@ +package com.dd.admin.business.receive.controller; + +import cn.hutool.core.bean.BeanUtil; +import com.dd.admin.business.chat.domain.AuthorParam; +import com.dd.admin.common.aop.operationLog.aop.OperLog; +import com.dd.admin.common.aop.operationLog.aop.OperType; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import org.springframework.web.bind.annotation.*; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import com.dd.admin.common.model.UpdateGroup; +import com.dd.admin.common.model.result.ResultBean; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import javax.validation.constraints.NotBlank; +import com.dd.admin.business.receive.entity.Receive; +import com.dd.admin.business.receive.domain.ReceiveVo; +import com.dd.admin.business.receive.domain.ReceiveDto; +import com.dd.admin.business.receive.service.ReceiveService; + +import java.util.List; + +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 接收消息表 前端控制器 + *

+ * + * @author 727869402@qq.com + * @since 2025-01-14 + */ +@Api(tags = "接收消息表") +@RestController +public class ReceiveController { + + @Autowired + ReceiveService receiveService; + + @ApiOperation(value = "接收消息表-分页列表") + @ApiOperationSupport(order = 1) + @GetMapping("/admin/receive/page") + public ResultBean> page(ReceiveDto receiveDto) { + IPage pageInfo = receiveService.selectReceivePage(receiveDto); + return ResultBean.success(pageInfo); + } + + + + + @ApiOperation(value = "接收消息表-列表") + @ApiOperationSupport(order = 2) + @GetMapping("/admin/receive/list") + public ResultBean> list(ReceiveDto receiveDto) { + List list = receiveService.selectReceiveList(receiveDto); + return ResultBean.success(list); + } + + @ApiOperation(value = "接收消息表-添加") + @ApiOperationSupport(order = 3) + @PostMapping("/admin/receive/add") + public ResultBean add(@RequestBody @Validated ReceiveDto receiveDto) { + Receive receive = BeanUtil.copyProperties(receiveDto, Receive.class); + receiveService.save(receive); + return ResultBean.success(receive); + } + + @ApiOperation(value = "接收消息表-查询") + @ApiOperationSupport(order = 4) + @GetMapping("/admin/receive/{receiveId}") + public ResultBean get(@PathVariable @NotBlank String receiveId) { + Receive receive = receiveService.getById(receiveId); + ReceiveVo receiveVo = BeanUtil.copyProperties(receive,ReceiveVo.class); + return ResultBean.success(receiveVo); + } + + @ApiOperation(value = "接收消息表-修改") + @ApiOperationSupport(order = 5) + @PostMapping("/admin/receive/update") + public ResultBean update(@RequestBody @Validated(UpdateGroup.class) ReceiveDto receiveDto) { + Receive receive = BeanUtil.copyProperties(receiveDto, Receive.class); + receiveService.updateById(receive); + return ResultBean.success(receive); + } + + @ApiOperation(value = "接收消息表-删除") + @ApiOperationSupport(order = 6) + @GetMapping("/admin/receive/delete/{receiveId}") + public ResultBean delete(@PathVariable @NotBlank String receiveId) { + Boolean b = receiveService.removeById(receiveId); + return ResultBean.success(b); + } +} diff --git a/src/main/java/com/dd/admin/business/receive/domain/ReceiveDto.java b/src/main/java/com/dd/admin/business/receive/domain/ReceiveDto.java new file mode 100644 index 0000000..ed88cf3 --- /dev/null +++ b/src/main/java/com/dd/admin/business/receive/domain/ReceiveDto.java @@ -0,0 +1,62 @@ +package com.dd.admin.business.receive.domain; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import java.util.Date; +import com.baomidou.mybatisplus.annotation.Version; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableField; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import javax.validation.constraints.NotBlank; +import com.dd.admin.common.model.UpdateGroup; + + +/** + *

+ * 接收消息表返回对象 + *

+ * + * @author 727869402@qq.com + * @since 2025-01-14 + */ +@Data +@ApiModel(value="接收消息表接收对象") +public class ReceiveDto { + + + @ApiModelProperty(value = "接收id") + @NotBlank(message = "接收消息表id不能为空",groups = UpdateGroup.class) + private String receiveId; + + @ApiModelProperty(value = "博主id") + private String authorId; + + @ApiModelProperty(value = "博主名") + private String authorName; + + @ApiModelProperty(value = "通知id") + private String noticeId; + + @ApiModelProperty(value = "通知标题") + private String noticeTitle; + + @ApiModelProperty(value = "0正常 1删除") + private Integer deleted; + + @ApiModelProperty(value = "创建时间") + private Date createTime; + + @ApiModelProperty(value = "修改时间") + private Date updateTime; + + @ApiModelProperty(value = "0 发送 1已读") + private Integer receiveStatus; + + +} diff --git a/src/main/java/com/dd/admin/business/receive/domain/ReceiveVo.java b/src/main/java/com/dd/admin/business/receive/domain/ReceiveVo.java new file mode 100644 index 0000000..344e774 --- /dev/null +++ b/src/main/java/com/dd/admin/business/receive/domain/ReceiveVo.java @@ -0,0 +1,62 @@ +package com.dd.admin.business.receive.domain; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import java.util.Date; +import com.baomidou.mybatisplus.annotation.Version; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableField; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + *

+ * 接收消息表返回对象 + *

+ * + * @author 727869402@qq.com + * @since 2025-01-14 + */ +@Data +@ApiModel(value="接收消息表返回对象") +public class ReceiveVo { + + + @ApiModelProperty(value = "接收id") + private String receiveId; + + @ApiModelProperty(value = "博主id") + private String authorId; + + @ApiModelProperty(value = "博主名") + private String authorName; + + @ApiModelProperty(value = "通知id") + private String noticeId; + + @ApiModelProperty(value = "通知标题") + private String noticeTitle; + + @ApiModelProperty(value = "通知标题") + private String noticeContent; + + + @ApiModelProperty(value = "0正常 1删除") + private Integer deleted; + + @ApiModelProperty(value = "创建时间") + private Date createTime; + + @ApiModelProperty(value = "修改时间") + private Date updateTime; + + @ApiModelProperty(value = "0 发送 1已读") + private Integer receiveStatus; + + +} diff --git a/src/main/java/com/dd/admin/business/receive/entity/Receive.java b/src/main/java/com/dd/admin/business/receive/entity/Receive.java new file mode 100644 index 0000000..c299626 --- /dev/null +++ b/src/main/java/com/dd/admin/business/receive/entity/Receive.java @@ -0,0 +1,71 @@ +package com.dd.admin.business.receive.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import java.util.Date; +import com.baomidou.mybatisplus.annotation.Version; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableField; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + *

+ * 接收消息表 + *

+ * + * @author 727869402@qq.com + * @since 2025-01-14 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("business_receive") +@ApiModel(value="Receive对象", description="接收消息表") +public class Receive implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "接收id") + @TableId(value = "RECEIVE_ID", type = IdType.ASSIGN_UUID) + private String receiveId; + + @ApiModelProperty(value = "博主id") + @TableField("AUTHOR_ID") + private String authorId; + + @ApiModelProperty(value = "博主名") + @TableField("AUTHOR_NAME") + private String authorName; + + @ApiModelProperty(value = "通知id") + @TableField("NOTICE_ID") + private String noticeId; + + @ApiModelProperty(value = "通知标题") + @TableField("NOTICE_TITLE") + private String noticeTitle; + + @ApiModelProperty(value = "0正常 1删除") + @TableField("DELETED") + @TableLogic + private Integer deleted; + + @ApiModelProperty(value = "创建时间") + @TableField(value = "CREATE_TIME", fill = FieldFill.INSERT) + private Date createTime; + + @ApiModelProperty(value = "修改时间") + @TableField(value = "UPDATE_TIME", fill = FieldFill.UPDATE) + private Date updateTime; + + @ApiModelProperty(value = "0 发送 1已读") + @TableField("RECEIVE_STATUS") + private Integer receiveStatus; + + +} diff --git a/src/main/java/com/dd/admin/business/receive/mapper/ReceiveMapper.java b/src/main/java/com/dd/admin/business/receive/mapper/ReceiveMapper.java new file mode 100644 index 0000000..bb9563e --- /dev/null +++ b/src/main/java/com/dd/admin/business/receive/mapper/ReceiveMapper.java @@ -0,0 +1,30 @@ +package com.dd.admin.business.receive.mapper; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.dd.admin.business.receive.entity.Receive; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.dd.admin.business.receive.domain.ReceiveVo; +import com.dd.admin.business.receive.domain.ReceiveDto; + +import java.util.List; + +/** + *

+ * 接收消息表 Mapper 接口 + *

+ * + * @author 727869402@qq.com + * @since 2025-01-14 + */ +@Mapper +public interface ReceiveMapper extends BaseMapper { + + IPage selectReceivePage(Page page, @Param("receiveDto") ReceiveDto receiveDto); + + List selectReceiveList(@Param("receiveDto") ReceiveDto receiveDto); + + ReceiveVo selectReceiveLast(@Param("authorId")String authorId); +} diff --git a/src/main/java/com/dd/admin/business/receive/mapper/xml/ReceiveMapper.xml b/src/main/java/com/dd/admin/business/receive/mapper/xml/ReceiveMapper.xml new file mode 100644 index 0000000..cf42559 --- /dev/null +++ b/src/main/java/com/dd/admin/business/receive/mapper/xml/ReceiveMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + RECEIVE_ID, AUTHOR_ID, AURHOR_NAME, NOTICE_ID, NOTICE_TITLE, DELETED, CREATE_TIME, UPDATE_TIME, RECEIVE_STATUS + + + + + + + diff --git a/src/main/java/com/dd/admin/business/receive/service/ReceiveService.java b/src/main/java/com/dd/admin/business/receive/service/ReceiveService.java new file mode 100644 index 0000000..6a9948b --- /dev/null +++ b/src/main/java/com/dd/admin/business/receive/service/ReceiveService.java @@ -0,0 +1,32 @@ +package com.dd.admin.business.receive.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.dd.admin.business.receive.entity.Receive; +import com.baomidou.mybatisplus.extension.service.IService; +import com.dd.admin.business.receive.domain.ReceiveVo; +import com.dd.admin.business.receive.domain.ReceiveDto; +import java.util.List; + +/** + *

+ * 接收消息表 服务类 + *

+ * + * @author 727869402@qq.com + * @since 2025-01-14 + */ +public interface ReceiveService extends IService { + + //接收消息表-分页列表 + IPage selectReceivePage(ReceiveDto receiveDto); + + //接收消息表-列表 + List selectReceiveList(ReceiveDto receiveDto); + + Integer selectUnReadCount(String authorId); + + ReceiveVo selectReceiveLast(String authorId); + + public void readMessage(String authorId); + +} diff --git a/src/main/java/com/dd/admin/business/receive/service/impl/ReceiveServiceImpl.java b/src/main/java/com/dd/admin/business/receive/service/impl/ReceiveServiceImpl.java new file mode 100644 index 0000000..e726747 --- /dev/null +++ b/src/main/java/com/dd/admin/business/receive/service/impl/ReceiveServiceImpl.java @@ -0,0 +1,62 @@ +package com.dd.admin.business.receive.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.dd.admin.business.chat.entity.Chat; +import com.dd.admin.business.follow.entity.Follow; +import com.dd.admin.business.notice.entity.Notice; +import com.dd.admin.common.model.PageFactory; +import com.dd.admin.business.receive.entity.Receive; +import com.dd.admin.business.receive.mapper.ReceiveMapper; +import com.dd.admin.business.receive.service.ReceiveService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import com.dd.admin.business.receive.domain.ReceiveVo; +import com.dd.admin.business.receive.domain.ReceiveDto; +import java.util.List; + +/** + *

+ * 接收消息表 服务实现类 + *

+ * + * @author 727869402@qq.com + * @since 2025-01-14 + */ +@Service +public class ReceiveServiceImpl extends ServiceImpl implements ReceiveService { + + @Override + public IPage selectReceivePage(ReceiveDto receiveDto) { + Page page = PageFactory.defaultPage(); + return baseMapper.selectReceivePage(page,receiveDto); + } + + @Override + public List selectReceiveList(ReceiveDto receiveDto) { + return baseMapper.selectReceiveList(receiveDto); + } + + @Override + public Integer selectUnReadCount(String authorId) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper(); + queryWrapper.eq(Receive::getAuthorId,authorId); + queryWrapper.eq(Receive::getReceiveStatus,0); + return baseMapper.selectCount(queryWrapper); + } + + @Override + public ReceiveVo selectReceiveLast(String authorId) { + return baseMapper.selectReceiveLast(authorId); + } + + @Override + public void readMessage(String authorId) { + LambdaUpdateWrapper queryWrapper = new LambdaUpdateWrapper(); + queryWrapper.eq(Receive::getAuthorId,authorId); + queryWrapper.set(Receive::getReceiveStatus,1); + this.update(queryWrapper); + } +} diff --git a/src/main/java/com/dd/admin/business/webSocket/handler/GetApiReadCountMessageHandler.java b/src/main/java/com/dd/admin/business/webSocket/handler/GetApiReadCountMessageHandler.java index 91e78e7..b6924ee 100644 --- a/src/main/java/com/dd/admin/business/webSocket/handler/GetApiReadCountMessageHandler.java +++ b/src/main/java/com/dd/admin/business/webSocket/handler/GetApiReadCountMessageHandler.java @@ -4,6 +4,7 @@ import com.dd.admin.business.api.domain.UnReadCountBean; import com.dd.admin.business.author.service.AuthorService; import com.dd.admin.business.chat.service.ChatService; import com.dd.admin.business.follow.service.FollowService; +import com.dd.admin.business.receive.service.ReceiveService; import com.dd.admin.business.reply.service.ReplyService; import com.dd.admin.business.starNotes.service.StarNotesService; import com.dd.admin.business.upNotes.service.UpNotesService; @@ -32,6 +33,8 @@ public class GetApiReadCountMessageHandler implements MsgHandlerInterface { ReplyService replyService; @Autowired FollowService followService; + @Autowired + ReceiveService receiveService; @Override public Object handler(Map map, ChannelContext context) { String authorId = String.valueOf(map.get("authorId")); @@ -40,8 +43,10 @@ public class GetApiReadCountMessageHandler implements MsgHandlerInterface { Integer starNotesUnReadCount = starNotesService.selectUnReadCount(authorId); Integer replyUnReadCount = replyService.selectUnReadCount(authorId); Integer followUnReadCount = followService.selectUnReadCount(authorId); + Integer receiveUnReadCount = receiveService.selectUnReadCount(authorId); + Integer totalUnReadCount = 0; - UnReadCountBean unReadCountBean = new UnReadCountBean(chatUnReadCount,upNotesUnReadCount,starNotesUnReadCount,replyUnReadCount,followUnReadCount,totalUnReadCount); + UnReadCountBean unReadCountBean = new UnReadCountBean(chatUnReadCount,upNotesUnReadCount,starNotesUnReadCount,replyUnReadCount,followUnReadCount,receiveUnReadCount,totalUnReadCount); unReadCountBean.calculateTotalUnReadCount(); TioUtil.sendChatMessageToUser(context.getGroupContext(),authorId,"9",unReadCountBean); diff --git a/web/.env.development b/web/.env.development index a593222..2f24226 100644 --- a/web/.env.development +++ b/web/.env.development @@ -3,7 +3,8 @@ ENV = 'development' # base api VUE_APP_BASE_API = 'http://127.0.0.1:8080' -VUE_APP_WEBSOCKET_API = 'ws://192.168.10.98:9326' +#VUE_APP_WEBSOCKET_API = 'ws://192.168.10.98:9326' +VUE_APP_WEBSOCKET_API = 'ws://192.168.1.136:9326' # system name VUE_APP_SYSTEM_NAME = '小红书社区后台管理系统' diff --git a/web/package.json b/web/package.json index fe338a8..b8391fc 100644 --- a/web/package.json +++ b/web/package.json @@ -23,6 +23,7 @@ "element-ui": "2.15.14", "js-cookie": "2.2.0", "lemon-imui": "^1.8.0", + "mavon-editor": "^2.10.4", "normalize.css": "7.0.0", "nprogress": "0.2.0", "path-to-regexp": "2.4.0", diff --git a/web/src/api/business/notice/notice.js b/web/src/api/business/notice/notice.js new file mode 100644 index 0000000..3bd323b --- /dev/null +++ b/web/src/api/business/notice/notice.js @@ -0,0 +1,48 @@ +import request from '@/utils/request' + +export function getNoticePage(params) { + return request({ + url: '/admin/notice/page', + method: 'get', + params + }) +} + +export function getNoticeList(params) { + return request({ + url: '/admin/notice/list', + method: 'get', + params + }) +} + +export function addNotice(data) { + return request({ + url: '/admin/notice/add', + method: 'post', + data: data + }) +} + +export function editNotice(data) { + return request({ + url: '/admin/notice/update', + method: 'post', + data: data + }) +} + +export function deleteNotice(noticeId) { + return request({ + url: '/admin/notice/delete/' + noticeId, + method: 'get' + }) +} + +export function sendNotice(data) { + return request({ + url: '/admin/notice/sendNotice', + method: 'post', + data: data + }) +} diff --git a/web/src/api/business/receive/receive.js b/web/src/api/business/receive/receive.js new file mode 100644 index 0000000..bde67f9 --- /dev/null +++ b/web/src/api/business/receive/receive.js @@ -0,0 +1,41 @@ +import request from '@/utils/request' + +export function getReceivePage(params) { + return request({ + url: '/admin/receive/page', + method: 'get', + params + }) +} + +export function getReceiveList(params) { + return request({ + url: '/admin/receive/list', + method: 'get', + params + }) +} + +export function addReceive(data) { + return request({ + url: '/admin/receive/add', + method: 'post', + data: data + }) +} + +export function editReceive(data) { + return request({ + url: '/admin/receive/update', + method: 'post', + data: data + }) +} + +export function deleteReceive(receiveId) { + return request({ + url: '/admin/receive/delete/' + receiveId, + method: 'get' + }) +} + diff --git a/web/src/components/Pagination/index.vue b/web/src/components/Pagination/index.vue index 787c75d..94a9814 100644 --- a/web/src/components/Pagination/index.vue +++ b/web/src/components/Pagination/index.vue @@ -35,7 +35,7 @@ export default { pageSizes: { type: Array, default() { - return [10, 20, 30, 50] + return [10, 20, 30, 50,200] } }, layout: { diff --git a/web/src/main.js b/web/src/main.js index f87f22c..f7eb3c4 100644 --- a/web/src/main.js +++ b/web/src/main.js @@ -32,6 +32,13 @@ import '@/permission' // permission control import LemonIMUI from 'lemon-imui'; import 'lemon-imui/dist/index.css'; Vue.use(LemonIMUI); + +//引入markdown +import mavonEditor from 'mavon-editor' +import 'mavon-editor/dist/css/index.css' +// use markdown +Vue.use(mavonEditor) + // set ElementUI lang to EN Vue.use(ElementUI, { locale }) // 如果想要中文版 element-ui,按如下方式声明 diff --git a/web/src/views/business/notice/addNotice.vue b/web/src/views/business/notice/addNotice.vue new file mode 100644 index 0000000..6c2538a --- /dev/null +++ b/web/src/views/business/notice/addNotice.vue @@ -0,0 +1,142 @@ + + + + + diff --git a/web/src/views/business/notice/authorList.vue b/web/src/views/business/notice/authorList.vue new file mode 100644 index 0000000..50c8556 --- /dev/null +++ b/web/src/views/business/notice/authorList.vue @@ -0,0 +1,467 @@ + + + + + diff --git a/web/src/views/business/notice/chooseAuthor.vue b/web/src/views/business/notice/chooseAuthor.vue new file mode 100644 index 0000000..7bb144a --- /dev/null +++ b/web/src/views/business/notice/chooseAuthor.vue @@ -0,0 +1,46 @@ + + + + + diff --git a/web/src/views/business/notice/editNotice.vue b/web/src/views/business/notice/editNotice.vue new file mode 100644 index 0000000..4dd1197 --- /dev/null +++ b/web/src/views/business/notice/editNotice.vue @@ -0,0 +1,152 @@ + + + + + diff --git a/web/src/views/business/notice/noticeList.vue b/web/src/views/business/notice/noticeList.vue new file mode 100644 index 0000000..6462d1c --- /dev/null +++ b/web/src/views/business/notice/noticeList.vue @@ -0,0 +1,358 @@ + + + + + diff --git a/web/src/views/business/receive/addReceive.vue b/web/src/views/business/receive/addReceive.vue new file mode 100644 index 0000000..8594924 --- /dev/null +++ b/web/src/views/business/receive/addReceive.vue @@ -0,0 +1,121 @@ + + + + + diff --git a/web/src/views/business/receive/editReceive.vue b/web/src/views/business/receive/editReceive.vue new file mode 100644 index 0000000..ff25702 --- /dev/null +++ b/web/src/views/business/receive/editReceive.vue @@ -0,0 +1,122 @@ + + + + + diff --git a/web/src/views/business/receive/receiveList.vue b/web/src/views/business/receive/receiveList.vue new file mode 100644 index 0000000..962264f --- /dev/null +++ b/web/src/views/business/receive/receiveList.vue @@ -0,0 +1,273 @@ + + + + + diff --git a/web/src/views/login/login.vue b/web/src/views/login/login.vue index b7ac697..b9521ab 100644 --- a/web/src/views/login/login.vue +++ b/web/src/views/login/login.vue @@ -207,7 +207,7 @@
- 账号:用户名:admin 密码:111111

+ 账号:用户名:demo 密码:111111

@@ -258,7 +258,7 @@ export default { return { loginLogo: '', loginForm: { - username: 'admin', + username: 'demo', password: '111111' }, input4:'',