From d215cf0a81d5aa38a3781bcf6a82474d18c75a69 Mon Sep 17 00:00:00 2001 From: wxl <727869402@qq.com> Date: Wed, 25 Dec 2024 00:05:30 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E5=9F=BA=E6=9C=AC=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dd/admin/business/api/ApiController.java | 77 ++++- .../com/dd/admin/business/api/AuthApi.java | 234 ++++++++++++++++ .../admin/business/note/domain/NoteDto.java | 2 + .../dd/admin/business/note/domain/NoteVo.java | 5 +- .../business/note/mapper/NoteMapper.java | 4 + .../business/note/mapper/xml/NoteMapper.xml | 22 +- .../business/note/service/NoteService.java | 8 + .../note/service/impl/NoteServiceImpl.java | 12 + .../business/noteImg/domain/NoteImgVo.java | 4 +- .../noteImg/mapper/NoteImgMapper.java | 1 + .../noteImg/mapper/xml/NoteImgMapper.xml | 1 + .../security/interceptor/ApiInterceptor.java | 2 + .../dd/admin/common/utils/AddressUtils.java | 5 +- web/src/api/business/follow/follow.js | 41 +++ web/src/api/business/noteImg/noteImg.js | 41 +++ web/src/api/business/starNotes/starNotes.js | 41 +++ web/src/api/business/upNotes/upNotes.js | 41 +++ web/src/views/business/follow/addFollow.vue | 106 +++++++ web/src/views/business/follow/editFollow.vue | 107 +++++++ web/src/views/business/follow/followList.vue | 243 ++++++++++++++++ web/src/views/business/noteImg/addNoteImg.vue | 116 ++++++++ .../views/business/noteImg/editNoteImg.vue | 117 ++++++++ .../views/business/noteImg/noteImgList.vue | 263 ++++++++++++++++++ .../views/business/starNotes/addStarNotes.vue | 116 ++++++++ .../business/starNotes/editStarNotes.vue | 117 ++++++++ .../business/starNotes/starNotesList.vue | 263 ++++++++++++++++++ web/src/views/business/upNotes/addUpNotes.vue | 116 ++++++++ .../views/business/upNotes/editUpNotes.vue | 117 ++++++++ .../views/business/upNotes/upNotesList.vue | 263 ++++++++++++++++++ 29 files changed, 2478 insertions(+), 7 deletions(-) create mode 100644 web/src/api/business/follow/follow.js create mode 100644 web/src/api/business/noteImg/noteImg.js create mode 100644 web/src/api/business/starNotes/starNotes.js create mode 100644 web/src/api/business/upNotes/upNotes.js create mode 100644 web/src/views/business/follow/addFollow.vue create mode 100644 web/src/views/business/follow/editFollow.vue create mode 100644 web/src/views/business/follow/followList.vue create mode 100644 web/src/views/business/noteImg/addNoteImg.vue create mode 100644 web/src/views/business/noteImg/editNoteImg.vue create mode 100644 web/src/views/business/noteImg/noteImgList.vue create mode 100644 web/src/views/business/starNotes/addStarNotes.vue create mode 100644 web/src/views/business/starNotes/editStarNotes.vue create mode 100644 web/src/views/business/starNotes/starNotesList.vue create mode 100644 web/src/views/business/upNotes/addUpNotes.vue create mode 100644 web/src/views/business/upNotes/editUpNotes.vue create mode 100644 web/src/views/business/upNotes/upNotesList.vue diff --git a/src/main/java/com/dd/admin/business/api/ApiController.java b/src/main/java/com/dd/admin/business/api/ApiController.java index 5cbc580..8bd5fa9 100644 --- a/src/main/java/com/dd/admin/business/api/ApiController.java +++ b/src/main/java/com/dd/admin/business/api/ApiController.java @@ -14,10 +14,14 @@ import com.dd.admin.business.noteImg.domain.NoteImgDto; import com.dd.admin.business.noteImg.domain.NoteImgVo; import com.dd.admin.business.noteImg.entity.NoteImg; import com.dd.admin.business.noteImg.service.NoteImgService; +import com.dd.admin.business.upNotes.domain.UpNotesDto; +import com.dd.admin.business.upNotes.domain.UpNotesVo; +import com.dd.admin.business.upNotes.service.UpNotesService; 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.security.SecurityUtil; +import com.dd.admin.common.security.jwt.JwtTokenUtil; import com.dd.admin.common.utils.AddressUtils; import com.dd.admin.common.utils.IPUtils; import com.dd.admin.common.utils.RandomXiaohongshuAuthorName; @@ -45,16 +49,85 @@ public class ApiController { HttpServletRequest request; @Autowired NoteImgService noteImgService; - + @Autowired + UpNotesService upNotesService; + @Autowired + private JwtTokenUtil jwtTokenUtil; @ApiOperation(value = "获取所有笔记") @ApiOperationSupport(order = 1) @GetMapping("/api/notes") - @OperLog(operModule = "获取所有笔记",operType = OperType.QUERY,operDesc = "获取所有笔记") + @OperLog(operModule = "获取所有笔记", operType = OperType.QUERY, operDesc = "获取所有笔记") public ResultBean> page(NoteDto noteDto) { + // 1. 通过noteService根据传入的NoteDto参数查询笔记的分页信息,获取包含笔记数据的分页对象 IPage pageInfo = noteService.selectNotePage(noteDto); + + // 2. 创建一个用于存储当前用户点赞笔记信息的列表,初始化为空 + List upNotesVos = new ArrayList<>(); + + // 3. 从请求头中获取名为"token"的token字符串,用于后续解析获取用户ID + String token = request.getHeader("token"); + String authorId = ""; + try { + // 4. 尝试使用jwtTokenUtil工具类从获取到的token中解析出用户名(这里假设用户名就是用户ID),如果解析成功则赋值给authorId变量 + authorId = jwtTokenUtil.getUsernameFromToken(token); + } catch (Exception e) { + // 5. 如果在解析token过程中出现异常,此处捕获异常但不做任何处理,authorId仍为空字符串,后续可根据此情况决定是否继续相关业务逻辑 + } + + // 6. 判断解析出的用户ID是否不为空(即是否成功获取到了用户ID) + if (StringUtil.isNotEmpty(authorId)) { + // 7. 如果获取到了用户ID,创建一个UpNotesDto对象,用于设置查询条件 + UpNotesDto upNotesDto = new UpNotesDto(); + // 8. 将获取到的用户ID设置到UpNotesDto对象中,作为查询当前用户点赞笔记的条件(表示要查询该用户点赞的笔记) + upNotesDto.setFollowId(authorId); + // 9. 通过upNotesService根据设置好的查询条件,查询当前用户点赞的笔记列表,并将结果赋值给upNotesVos列表 + upNotesVos = upNotesService.selectUpNotesList(upNotesDto); + } + + // 10. 通过upNotesService查询所有笔记的点赞数量统计信息,获取一个包含各笔记点赞数量相关信息的列表 + List selectAllUpCount = upNotesService.selectAllUpCount(); + + // 11. 获取前面查询到的笔记分页信息中的具体笔记记录列表,后续要对这些笔记记录进行相关属性的设置操作 + List records = pageInfo.getRecords(); + // 12. 为了能在下面的lambda表达式中使用upNotesVos变量,创建一个final修饰的变量来引用它,因为lambda表达式中访问的外部变量需要是final或者事实上的final(不可重新赋值) + List finalUpNotesVos = upNotesVos; + // 13. 同样,为了在lambda表达式中使用authorId变量,创建一个final修饰的变量来引用它 + String finalAuthorId = authorId; + + // 14. 使用Java 8的Stream API对每条笔记记录进行遍历处理 + records.stream().forEach(noteVo -> { + // 15. 判断当前用户ID是否不为空(即是否获取到了用户ID且有效),如果为空则不进行当前用户对该笔记点赞状态的判断设置操作 + if (StringUtil.isNotEmpty(finalAuthorId)) { + // 16. 在当前用户点赞笔记列表(finalUpNotesVos)中,通过Stream的filter操作筛选出与当前遍历的笔记(noteVo)的ID相等的点赞笔记记录,然后获取第一个匹配的记录(如果有的话),否则返回null + UpNotesVo upNote = finalUpNotesVos.stream().filter(upNotesVo -> noteVo.getNoteId().equals(upNotesVo.getNoteId())).findFirst().orElse(null); + // 17. 如果找到了对应的点赞笔记记录(即upNote不为null),说明当前用户点赞了这条笔记,将笔记的IsUp属性设置为true,表示已点赞状态 + if (upNote!= null) { + noteVo.setIsUp(Boolean.TRUE); + } + } + + // 18. 在所有笔记的点赞数量统计信息列表(selectAllUpCount)中,通过Stream的filter操作筛选出与当前遍历的笔记(noteVo)的ID相等的记录,然后获取第一个匹配的记录(如果有的话),否则返回null + UpNotesVo noteCount = selectAllUpCount.stream().filter(upNotesVo -> upNotesVo.getNoteId().equals(noteVo.getNoteId())).findFirst().orElse(null); + // 19. 如果找到了对应的点赞数量统计记录(即noteCount不为null),将笔记的UpCount属性设置为该记录中的点赞数量,从而为每条笔记设置对应的点赞数量信息 + if (noteCount!= null) { + noteVo.setUpCount(noteCount.getUpCount()); + } + }); + + // 20. 将处理好的包含笔记信息(已设置点赞状态和点赞数量)的分页对象包装在ResultBean中返回,以便前端或其他调用方获取处理后的结果数据 return ResultBean.success(pageInfo); } + @ApiOperation(value = "获取ip地址") + @ApiOperationSupport(order = 1) + @GetMapping("/api/getIpAddress") + @OperLog(operModule = "获取ip地址",operType = OperType.QUERY,operDesc = "获取单个笔记") + public ResultBean getIpAddress() { + String ipAddr = IPUtils.getIpAddr(request); + String realAddress = AddressUtils.getRealAddress(ipAddr); + return ResultBean.success(realAddress); + } + @ApiOperation(value = "获取单个笔记") @ApiOperationSupport(order = 1) @GetMapping("/api/getNote") diff --git a/src/main/java/com/dd/admin/business/api/AuthApi.java b/src/main/java/com/dd/admin/business/api/AuthApi.java index e678e5a..9ba502a 100644 --- a/src/main/java/com/dd/admin/business/api/AuthApi.java +++ b/src/main/java/com/dd/admin/business/api/AuthApi.java @@ -2,20 +2,35 @@ 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.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.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.starNotes.domain.StarNotesDto; +import com.dd.admin.business.starNotes.domain.StarNotesVo; +import com.dd.admin.business.starNotes.entity.StarNotes; +import com.dd.admin.business.starNotes.service.StarNotesService; +import com.dd.admin.business.upNotes.domain.UpNotesDto; +import com.dd.admin.business.upNotes.domain.UpNotesVo; +import com.dd.admin.business.upNotes.entity.UpNotes; +import com.dd.admin.business.upNotes.service.UpNotesService; 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.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; @@ -43,6 +58,182 @@ public class AuthApi { NoteImgService noteImgService; @Value("${server.port}") String port; + @Autowired + UpNotesService upNotesService; + @Autowired + StarNotesService starNotesService; + @Autowired + FollowService followService; + + @ApiOperation(value = "获取所有笔记") + @ApiOperationSupport(order = 1) + @GetMapping("/api/auth/notes") + @OperLog(operModule = "获取所有笔记",operType = OperType.QUERY,operDesc = "获取所有笔记") + public ResultBean> page(NoteDto noteDto) { + String authorId = String.valueOf(request.getAttribute("authorId")); + + IPage pageInfo = noteService.selectNotePage(noteDto); + List records = pageInfo.getRecords(); + UpNotesDto upNotesDto = new UpNotesDto(); + upNotesDto.setFollowId(authorId); + List upNotesVos = upNotesService.selectUpNotesList(upNotesDto); + + List selectAllUpCount = upNotesService.selectAllUpCount(); + records.stream().forEach(noteVo->{ + UpNotesVo upNote = upNotesVos.stream().filter(upNotesVo -> noteVo.getNoteId().equals(upNotesVo.getNoteId())).findFirst().orElse(null); + if(upNote!=null){ + noteVo.setIsUp(Boolean.TRUE); + } + UpNotesVo noteCount = selectAllUpCount.stream().filter(upNotesVo -> upNotesVo.getNoteId().equals(noteVo.getNoteId())).findFirst().orElse(null); + if(noteCount!=null){ + noteVo.setUpCount(noteCount.getUpCount()); + } + }); + + return ResultBean.success(pageInfo); + } + + + @ApiOperation(value = "获取所有笔记") + @ApiOperationSupport(order = 1) + @GetMapping("/api/auth/getFollowNotes") + @OperLog(operModule = "获取所有笔记",operType = OperType.QUERY,operDesc = "获取所有笔记") + public ResultBean> getFollowNotes(NoteDto noteDto) { + String followId = String.valueOf(request.getAttribute("authorId")); + + List follows = followService.selectFollowListByFollowId(followId); + + IPage pageInfo = new IPage() { + @Override + public List orders() { + return null; + } + + @Override + public List getRecords() { + return null; + } + + @Override + public IPage setRecords(List records) { + return null; + } + + @Override + public long getTotal() { + return 0; + } + + @Override + public IPage setTotal(long total) { + return null; + } + + @Override + public long getSize() { + return 0; + } + + @Override + public IPage setSize(long size) { + return null; + } + + @Override + public long getCurrent() { + return 0; + } + + @Override + public IPage setCurrent(long current) { + return null; + } + }; + if(CollectionUtil.isNotEmpty(follows)){ + String authorIds = CommonUtil.getIds(follows, "authorId"); + noteDto.setAuthorIds(authorIds); + pageInfo = noteService.selectNotePage(noteDto); + List records = pageInfo.getRecords(); + UpNotesDto upNotesDto = new UpNotesDto(); + upNotesDto.setFollowId(followId); + List upNotesVos = upNotesService.selectUpNotesList(upNotesDto); + + List selectAllUpCount = upNotesService.selectAllUpCount(); + records.stream().forEach(noteVo->{ + UpNotesVo upNote = upNotesVos.stream().filter(upNotesVo -> noteVo.getNoteId().equals(upNotesVo.getNoteId())).findFirst().orElse(null); + if(upNote!=null){ + noteVo.setIsUp(Boolean.TRUE); + } + UpNotesVo noteCount = selectAllUpCount.stream().filter(upNotesVo -> upNotesVo.getNoteId().equals(noteVo.getNoteId())).findFirst().orElse(null); + if(noteCount!=null){ + noteVo.setUpCount(noteCount.getUpCount()); + } + }); + } + + return ResultBean.success(pageInfo); + } + + + + @ApiOperation(value = "获取所有点赞笔记") + @ApiOperationSupport(order = 1) + @GetMapping("/api/auth/getUpNotes") + @OperLog(operModule = "获取所有点赞笔记",operType = OperType.QUERY,operDesc = "获取所有点赞笔记") + public ResultBean> getUpNotes(NoteDto noteDto) { + String authorId = String.valueOf(request.getAttribute("authorId")); + + IPage pageInfo = noteService.selectMineUpNotes(authorId); + List records = pageInfo.getRecords(); + UpNotesDto upNotesDto = new UpNotesDto(); + upNotesDto.setFollowId(authorId); + List upNotesVos = upNotesService.selectUpNotesList(upNotesDto); + + List selectAllUpCount = upNotesService.selectAllUpCount(); + records.stream().forEach(noteVo->{ + UpNotesVo upNote = upNotesVos.stream().filter(upNotesVo -> noteVo.getNoteId().equals(upNotesVo.getNoteId())).findFirst().orElse(null); + if(upNote!=null){ + noteVo.setIsUp(Boolean.TRUE); + } + UpNotesVo noteCount = selectAllUpCount.stream().filter(upNotesVo -> upNotesVo.getNoteId().equals(noteVo.getNoteId())).findFirst().orElse(null); + if(noteCount!=null){ + noteVo.setUpCount(noteCount.getUpCount()); + } + }); + + return ResultBean.success(pageInfo); + } + + + @ApiOperation(value = "获取所有收藏笔记") + @ApiOperationSupport(order = 1) + @GetMapping("/api/auth/getStarNotes") + @OperLog(operModule = "获取所有收藏笔记",operType = OperType.QUERY,operDesc = "获取所有收藏笔记") + public ResultBean> getStarNotes(NoteDto noteDto) { + String authorId = String.valueOf(request.getAttribute("authorId")); + + IPage pageInfo = noteService.selectMineStarNotes(authorId); + List records = pageInfo.getRecords(); + + UpNotesDto upNotesDto = new UpNotesDto(); + upNotesDto.setFollowId(authorId); + List upNotesVos = upNotesService.selectUpNotesList(upNotesDto); + + List selectAllUpCount = upNotesService.selectAllUpCount(); + records.stream().forEach(noteVo->{ + UpNotesVo upNote = upNotesVos.stream().filter(upNotesVo -> noteVo.getNoteId().equals(upNotesVo.getNoteId())).findFirst().orElse(null); + if(upNote!=null){ + noteVo.setIsUp(Boolean.TRUE); + } + UpNotesVo noteCount = selectAllUpCount.stream().filter(upNotesVo -> upNotesVo.getNoteId().equals(noteVo.getNoteId())).findFirst().orElse(null); + if(noteCount!=null){ + noteVo.setUpCount(noteCount.getUpCount()); + } + }); + + return ResultBean.success(pageInfo); + } + @ApiOperation(value = "获取博主信息") @ApiOperationSupport(order = 1) @@ -55,6 +246,49 @@ public class AuthApi { } + @ApiOperation(value = "获取博主笔记") + @ApiOperationSupport(order = 1) + @GetMapping("/api/auth/getMineNotes") + @OperLog(operModule = "获取博主笔记",operType = OperType.QUERY,operDesc = "获取博主笔记") + public ResultBean> getMineNotes(NoteDto noteDto) { + String authorId = String.valueOf(request.getAttribute("authorId")); + noteDto.setAuthorId(authorId); + IPage pageInfo = noteService.selectNotePage(noteDto); + return ResultBean.success(pageInfo); + } + + + @ApiOperation(value = "点赞笔记") + @ApiOperationSupport(order = 1) + @PostMapping("/api/auth/upNote") + @OperLog(operModule = "点赞笔记",operType = OperType.ADD,operDesc = "点赞笔记") + public ResultBean upNote(@RequestBody NoteDto noteDto) { + String followId = String.valueOf(request.getAttribute("authorId")); + Author follow = authorService.getById(followId); + Boolean upNote = Boolean.FALSE; + //查看在不在点赞列表 + UpNotes upNotes = upNotesService.selectOneByFollowId(noteDto.getNoteId(),noteDto.getAuthorId(), followId); + //不在证明是点赞 + if(upNotes==null){ + upNotes = new UpNotes(); + upNotes.setAuthorId(noteDto.getAuthorId()); + upNotes.setAuthorName(noteDto.getAuthorName()); + upNotes.setFollowId(follow.getAuthorId()); + upNotes.setFollowName(follow.getAuthorName()); + upNotes.setNoteId(noteDto.getNoteId()); + upNotes.setNoteTitle(noteDto.getNoteTitle()); + upNote = Boolean.TRUE; + upNotesService.save(upNotes); + }else{ + //在则表示取消赞删除数据 + upNotesService.removeById(upNotes); + } + return ResultBean.success(upNote); + }; + + + + @ApiOperation(value = "创建笔记") @ApiOperationSupport(order = 1) @PostMapping("/api/auth/addNote") diff --git a/src/main/java/com/dd/admin/business/note/domain/NoteDto.java b/src/main/java/com/dd/admin/business/note/domain/NoteDto.java index 36d7ad0..a469857 100644 --- a/src/main/java/com/dd/admin/business/note/domain/NoteDto.java +++ b/src/main/java/com/dd/admin/business/note/domain/NoteDto.java @@ -54,6 +54,8 @@ public class NoteDto { @ApiModelProperty(value = "作者ID") private String authorId; + private String authorIds; + @ApiModelProperty(value = "作者头像") private String authorAvatar; diff --git a/src/main/java/com/dd/admin/business/note/domain/NoteVo.java b/src/main/java/com/dd/admin/business/note/domain/NoteVo.java index 30f8930..e957ef0 100644 --- a/src/main/java/com/dd/admin/business/note/domain/NoteVo.java +++ b/src/main/java/com/dd/admin/business/note/domain/NoteVo.java @@ -83,7 +83,10 @@ public class NoteVo { private String ipRealAddress; @ApiModelProperty(value = "点赞数") - private Long upCount; + private Integer upCount = 0; + + @ApiModelProperty(value = "被当前达人点赞") + private Boolean isUp = Boolean.FALSE; @ApiModelProperty(value = "收藏数") private Long starCount; diff --git a/src/main/java/com/dd/admin/business/note/mapper/NoteMapper.java b/src/main/java/com/dd/admin/business/note/mapper/NoteMapper.java index 80376a3..e756aba 100644 --- a/src/main/java/com/dd/admin/business/note/mapper/NoteMapper.java +++ b/src/main/java/com/dd/admin/business/note/mapper/NoteMapper.java @@ -1,6 +1,7 @@ package com.dd.admin.business.note.mapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.dd.admin.business.noteImg.domain.NoteImgVo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -25,4 +26,7 @@ public interface NoteMapper extends BaseMapper { IPage selectNotePage(Page page, @Param("noteDto") NoteDto noteDto); List selectNoteList(@Param("noteDto") NoteDto noteDto); + + IPage selectMineUpNotes(Page page, @Param("followId")String followId); + IPage selectMineStarNotes(Page page, @Param("followId")String followId); } diff --git a/src/main/java/com/dd/admin/business/note/mapper/xml/NoteMapper.xml b/src/main/java/com/dd/admin/business/note/mapper/xml/NoteMapper.xml index 6b02dcd..a18f5ab 100644 --- a/src/main/java/com/dd/admin/business/note/mapper/xml/NoteMapper.xml +++ b/src/main/java/com/dd/admin/business/note/mapper/xml/NoteMapper.xml @@ -32,7 +32,16 @@ @@ -41,4 +50,15 @@ * from business_note where 1 = 1 + + + diff --git a/src/main/java/com/dd/admin/business/note/service/NoteService.java b/src/main/java/com/dd/admin/business/note/service/NoteService.java index 79b0d74..abfde2a 100644 --- a/src/main/java/com/dd/admin/business/note/service/NoteService.java +++ b/src/main/java/com/dd/admin/business/note/service/NoteService.java @@ -1,10 +1,13 @@ package com.dd.admin.business.note.service; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.dd.admin.business.note.entity.Note; import com.baomidou.mybatisplus.extension.service.IService; import com.dd.admin.business.note.domain.NoteVo; import com.dd.admin.business.note.domain.NoteDto; +import org.apache.ibatis.annotations.Param; + import java.util.List; /** @@ -23,4 +26,9 @@ public interface NoteService extends IService { //笔记表-列表 List selectNoteList(NoteDto noteDto); + IPage selectMineUpNotes( String followId); + + IPage selectMineStarNotes( String followId); + + } diff --git a/src/main/java/com/dd/admin/business/note/service/impl/NoteServiceImpl.java b/src/main/java/com/dd/admin/business/note/service/impl/NoteServiceImpl.java index 0bc36fd..1566dca 100644 --- a/src/main/java/com/dd/admin/business/note/service/impl/NoteServiceImpl.java +++ b/src/main/java/com/dd/admin/business/note/service/impl/NoteServiceImpl.java @@ -33,4 +33,16 @@ public class NoteServiceImpl extends ServiceImpl implements No public List selectNoteList(NoteDto noteDto) { return baseMapper.selectNoteList(noteDto); } + + @Override + public IPage selectMineUpNotes(String followId) { + Page page = PageFactory.defaultPage(); + return baseMapper.selectMineUpNotes(page,followId); + } + + @Override + public IPage selectMineStarNotes(String followId) { + Page page = PageFactory.defaultPage(); + return baseMapper.selectMineStarNotes(page,followId); + } } diff --git a/src/main/java/com/dd/admin/business/noteImg/domain/NoteImgVo.java b/src/main/java/com/dd/admin/business/noteImg/domain/NoteImgVo.java index 4bafc4c..f2b40b7 100644 --- a/src/main/java/com/dd/admin/business/noteImg/domain/NoteImgVo.java +++ b/src/main/java/com/dd/admin/business/noteImg/domain/NoteImgVo.java @@ -8,6 +8,8 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.TableField; import java.io.Serializable; + +import com.dd.admin.business.note.domain.NoteVo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -27,7 +29,7 @@ public class NoteImgVo { @ApiModelProperty(value = "关联id") - private String noteImgId; + private NoteVo noteImgId; @ApiModelProperty(value = "图片上传的文件id") private String imgId; diff --git a/src/main/java/com/dd/admin/business/noteImg/mapper/NoteImgMapper.java b/src/main/java/com/dd/admin/business/noteImg/mapper/NoteImgMapper.java index 763bf0d..6711d74 100644 --- a/src/main/java/com/dd/admin/business/noteImg/mapper/NoteImgMapper.java +++ b/src/main/java/com/dd/admin/business/noteImg/mapper/NoteImgMapper.java @@ -25,4 +25,5 @@ public interface NoteImgMapper extends BaseMapper { IPage selectNoteImgPage(Page page, @Param("noteImgDto") NoteImgDto noteImgDto); List selectNoteImgList(@Param("noteImgDto") NoteImgDto noteImgDto); + } diff --git a/src/main/java/com/dd/admin/business/noteImg/mapper/xml/NoteImgMapper.xml b/src/main/java/com/dd/admin/business/noteImg/mapper/xml/NoteImgMapper.xml index f723fca..8805212 100644 --- a/src/main/java/com/dd/admin/business/noteImg/mapper/xml/NoteImgMapper.xml +++ b/src/main/java/com/dd/admin/business/noteImg/mapper/xml/NoteImgMapper.xml @@ -34,4 +34,5 @@ order by IMG_SORT asc + diff --git a/src/main/java/com/dd/admin/common/security/interceptor/ApiInterceptor.java b/src/main/java/com/dd/admin/common/security/interceptor/ApiInterceptor.java index f46dd9b..2a22297 100644 --- a/src/main/java/com/dd/admin/common/security/interceptor/ApiInterceptor.java +++ b/src/main/java/com/dd/admin/common/security/interceptor/ApiInterceptor.java @@ -43,6 +43,8 @@ public class ApiInterceptor implements HandlerInterceptor { if (StrUtil.isBlank(token)) { throw new ApiException("请登录后访问"); } + + //解析token System.out.println(token); String authorId = jwtTokenUtil.getUsernameFromToken(token); diff --git a/src/main/java/com/dd/admin/common/utils/AddressUtils.java b/src/main/java/com/dd/admin/common/utils/AddressUtils.java index a71c56c..76d5991 100644 --- a/src/main/java/com/dd/admin/common/utils/AddressUtils.java +++ b/src/main/java/com/dd/admin/common/utils/AddressUtils.java @@ -24,10 +24,11 @@ public class AddressUtils { String rspStr = RegionUtil.getRegion(ip); if (StringUtils.isNotEmpty(rspStr)) { String[] obj = rspStr.split("\\|"); - String region = obj[2]; +// String region = obj[2]; String city = obj[3]; - return String.format("%s%s", region, city); +// return String.format("%s%s", region, city); + return String.format("%s", city); } } catch (Exception e) { log.error("获取地理位置异常 {}", e.toString()); diff --git a/web/src/api/business/follow/follow.js b/web/src/api/business/follow/follow.js new file mode 100644 index 0000000..2f92cd1 --- /dev/null +++ b/web/src/api/business/follow/follow.js @@ -0,0 +1,41 @@ +import request from '@/utils/request' + +export function getFollowPage(params) { + return request({ + url: '/admin/follow/page', + method: 'get', + params + }) +} + +export function getFollowList(params) { + return request({ + url: '/admin/follow/list', + method: 'get', + params + }) +} + +export function addFollow(data) { + return request({ + url: '/admin/follow/add', + method: 'post', + data: data + }) +} + +export function editFollow(data) { + return request({ + url: '/admin/follow/update', + method: 'post', + data: data + }) +} + +export function deleteFollow(followId) { + return request({ + url: '/admin/follow/delete/' + followId, + method: 'get' + }) +} + diff --git a/web/src/api/business/noteImg/noteImg.js b/web/src/api/business/noteImg/noteImg.js new file mode 100644 index 0000000..2194abc --- /dev/null +++ b/web/src/api/business/noteImg/noteImg.js @@ -0,0 +1,41 @@ +import request from '@/utils/request' + +export function getNoteImgPage(params) { + return request({ + url: '/admin/noteImg/page', + method: 'get', + params + }) +} + +export function getNoteImgList(params) { + return request({ + url: '/admin/noteImg/list', + method: 'get', + params + }) +} + +export function addNoteImg(data) { + return request({ + url: '/admin/noteImg/add', + method: 'post', + data: data + }) +} + +export function editNoteImg(data) { + return request({ + url: '/admin/noteImg/update', + method: 'post', + data: data + }) +} + +export function deleteNoteImg(noteImgId) { + return request({ + url: '/admin/noteImg/delete/' + noteImgId, + method: 'get' + }) +} + diff --git a/web/src/api/business/starNotes/starNotes.js b/web/src/api/business/starNotes/starNotes.js new file mode 100644 index 0000000..9393d58 --- /dev/null +++ b/web/src/api/business/starNotes/starNotes.js @@ -0,0 +1,41 @@ +import request from '@/utils/request' + +export function getStarNotesPage(params) { + return request({ + url: '/admin/starNotes/page', + method: 'get', + params + }) +} + +export function getStarNotesList(params) { + return request({ + url: '/admin/starNotes/list', + method: 'get', + params + }) +} + +export function addStarNotes(data) { + return request({ + url: '/admin/starNotes/add', + method: 'post', + data: data + }) +} + +export function editStarNotes(data) { + return request({ + url: '/admin/starNotes/update', + method: 'post', + data: data + }) +} + +export function deleteStarNotes(starNotesId) { + return request({ + url: '/admin/starNotes/delete/' + starNotesId, + method: 'get' + }) +} + diff --git a/web/src/api/business/upNotes/upNotes.js b/web/src/api/business/upNotes/upNotes.js new file mode 100644 index 0000000..a6ffbc3 --- /dev/null +++ b/web/src/api/business/upNotes/upNotes.js @@ -0,0 +1,41 @@ +import request from '@/utils/request' + +export function getUpNotesPage(params) { + return request({ + url: '/admin/upNotes/page', + method: 'get', + params + }) +} + +export function getUpNotesList(params) { + return request({ + url: '/admin/upNotes/list', + method: 'get', + params + }) +} + +export function addUpNotes(data) { + return request({ + url: '/admin/upNotes/add', + method: 'post', + data: data + }) +} + +export function editUpNotes(data) { + return request({ + url: '/admin/upNotes/update', + method: 'post', + data: data + }) +} + +export function deleteUpNotes(upNotesId) { + return request({ + url: '/admin/upNotes/delete/' + upNotesId, + method: 'get' + }) +} + diff --git a/web/src/views/business/follow/addFollow.vue b/web/src/views/business/follow/addFollow.vue new file mode 100644 index 0000000..77d4cec --- /dev/null +++ b/web/src/views/business/follow/addFollow.vue @@ -0,0 +1,106 @@ + + + + + diff --git a/web/src/views/business/follow/editFollow.vue b/web/src/views/business/follow/editFollow.vue new file mode 100644 index 0000000..576dcf4 --- /dev/null +++ b/web/src/views/business/follow/editFollow.vue @@ -0,0 +1,107 @@ + + + + + diff --git a/web/src/views/business/follow/followList.vue b/web/src/views/business/follow/followList.vue new file mode 100644 index 0000000..2e3305b --- /dev/null +++ b/web/src/views/business/follow/followList.vue @@ -0,0 +1,243 @@ + + + + + diff --git a/web/src/views/business/noteImg/addNoteImg.vue b/web/src/views/business/noteImg/addNoteImg.vue new file mode 100644 index 0000000..64ea838 --- /dev/null +++ b/web/src/views/business/noteImg/addNoteImg.vue @@ -0,0 +1,116 @@ + + + + + diff --git a/web/src/views/business/noteImg/editNoteImg.vue b/web/src/views/business/noteImg/editNoteImg.vue new file mode 100644 index 0000000..2daffd6 --- /dev/null +++ b/web/src/views/business/noteImg/editNoteImg.vue @@ -0,0 +1,117 @@ + + + + + diff --git a/web/src/views/business/noteImg/noteImgList.vue b/web/src/views/business/noteImg/noteImgList.vue new file mode 100644 index 0000000..da832af --- /dev/null +++ b/web/src/views/business/noteImg/noteImgList.vue @@ -0,0 +1,263 @@ + + + + + diff --git a/web/src/views/business/starNotes/addStarNotes.vue b/web/src/views/business/starNotes/addStarNotes.vue new file mode 100644 index 0000000..c776345 --- /dev/null +++ b/web/src/views/business/starNotes/addStarNotes.vue @@ -0,0 +1,116 @@ + + + + + diff --git a/web/src/views/business/starNotes/editStarNotes.vue b/web/src/views/business/starNotes/editStarNotes.vue new file mode 100644 index 0000000..13157a1 --- /dev/null +++ b/web/src/views/business/starNotes/editStarNotes.vue @@ -0,0 +1,117 @@ + + + + + diff --git a/web/src/views/business/starNotes/starNotesList.vue b/web/src/views/business/starNotes/starNotesList.vue new file mode 100644 index 0000000..e00a2ac --- /dev/null +++ b/web/src/views/business/starNotes/starNotesList.vue @@ -0,0 +1,263 @@ + + + + + diff --git a/web/src/views/business/upNotes/addUpNotes.vue b/web/src/views/business/upNotes/addUpNotes.vue new file mode 100644 index 0000000..df09ed3 --- /dev/null +++ b/web/src/views/business/upNotes/addUpNotes.vue @@ -0,0 +1,116 @@ + + + + + diff --git a/web/src/views/business/upNotes/editUpNotes.vue b/web/src/views/business/upNotes/editUpNotes.vue new file mode 100644 index 0000000..0b9671c --- /dev/null +++ b/web/src/views/business/upNotes/editUpNotes.vue @@ -0,0 +1,117 @@ + + + + + diff --git a/web/src/views/business/upNotes/upNotesList.vue b/web/src/views/business/upNotes/upNotesList.vue new file mode 100644 index 0000000..b5ea43b --- /dev/null +++ b/web/src/views/business/upNotes/upNotesList.vue @@ -0,0 +1,263 @@ + + + + +