ソースを参照

bbs 模块已完成- 部署sit

wuweihao 3 年 前
コミット
4f8b00163c
22 ファイル変更132 行追加382 行削除
  1. 1 3
      gis_cms/src/main/java/com/gis/cms/controller/BbsController.java
  2. 0 70
      gis_cms/src/main/java/com/gis/cms/controller/BbsMessageController.java
  3. 26 27
      gis_cms/src/main/java/com/gis/cms/controller/WebController.java
  4. 15 2
      gis_cms/src/main/java/com/gis/cms/entity/dto/BbsDto.java
  5. 0 29
      gis_cms/src/main/java/com/gis/cms/entity/dto/BbsMessageDto.java
  6. 3 3
      gis_cms/src/main/java/com/gis/cms/entity/dto/BbsMessagePageDto.java
  7. 3 0
      gis_cms/src/main/java/com/gis/cms/entity/dto/BbsPageDto.java
  8. 4 2
      gis_cms/src/main/java/com/gis/cms/entity/dto/CommentDto.java
  9. 3 3
      gis_cms/src/main/java/com/gis/cms/entity/dto/CommentPageDto.java
  10. 1 2
      gis_cms/src/main/java/com/gis/cms/entity/dto/MusicDto.java
  11. 12 3
      gis_cms/src/main/java/com/gis/cms/entity/po/BbsEntity.java
  12. 0 49
      gis_cms/src/main/java/com/gis/cms/entity/po/BbsMessageEntity.java
  13. 3 0
      gis_cms/src/main/java/com/gis/cms/entity/po/CommentEntity.java
  14. 5 2
      gis_cms/src/main/java/com/gis/cms/mapper/BbsMapper.java
  15. 0 30
      gis_cms/src/main/java/com/gis/cms/mapper/BbsMessageMapper.java
  16. 2 3
      gis_cms/src/main/java/com/gis/cms/mapper/CommentMapper.java
  17. 2 8
      gis_cms/src/main/java/com/gis/cms/mapper/provider/CommentProvider.java
  18. 0 28
      gis_cms/src/main/java/com/gis/cms/service/BbsMessageService.java
  19. 5 4
      gis_cms/src/main/java/com/gis/cms/service/BbsService.java
  20. 0 112
      gis_cms/src/main/java/com/gis/cms/service/impl/BbsMessageServiceImpl.java
  21. 46 1
      gis_cms/src/main/java/com/gis/cms/service/impl/BbsServiceImpl.java
  22. 1 1
      gis_cms/src/main/java/com/gis/cms/service/impl/CommentServiceImpl.java

+ 1 - 3
gis_cms/src/main/java/com/gis/cms/controller/BbsController.java

@@ -38,12 +38,10 @@ public class BbsController {
     @ApiOperation("删除")
     @GetMapping("remove/{id}")
     public Result remove(@PathVariable Long id) {
-        return Result.success(entityService.removeById(id));
+        return entityService.del(id);
     }
 
 
-
-
     @ApiOperation("详情")
     @GetMapping("detail/{id}")
     public Result<BbsEntity> detail(@PathVariable Long id) {

+ 0 - 70
gis_cms/src/main/java/com/gis/cms/controller/BbsMessageController.java

@@ -1,70 +0,0 @@
-package com.gis.cms.controller;
-
-import com.gis.cms.entity.dto.BbsDto;
-import com.gis.cms.entity.dto.BbsMessageDto;
-import com.gis.cms.entity.dto.BbsMessagePageDto;
-import com.gis.cms.entity.dto.BbsPageDto;
-import com.gis.cms.entity.po.BbsEntity;
-import com.gis.cms.service.BbsMessageService;
-import com.gis.cms.service.BbsService;
-import com.gis.common.base.aop.WebControllerLog;
-import com.gis.common.util.Result;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-
-import javax.validation.Valid;
-
-/**
- * Created by owen on 2021/12/28 0008 9:54
- */
-@Slf4j
-@Api(tags = "论坛-留言管理")
-@RestController
-@RequestMapping("cms/bbsMessage")
-public class BbsMessageController {
-
-    @Autowired
-    private BbsMessageService entityService;
-
-
-    @ApiOperation(value = "列表")
-    @PostMapping("list")
-    public Result list(@RequestBody BbsMessagePageDto param) {
-        return entityService.search(param);
-    }
-
-    @ApiOperation("删除")
-    @GetMapping("remove/{id}")
-    public Result remove(@PathVariable Long id) {
-        return Result.success(entityService.removeById(id));
-    }
-
-
-
-
-    @ApiOperation("详情")
-    @GetMapping("detail/{id}")
-    public Result<BbsEntity> detail(@PathVariable Long id) {
-        return Result.success(entityService.getById(id));
-    }
-
-    @ApiOperation(value = "审核", notes = "status: 1:审核不通过, 2:审核通过")
-    @GetMapping(value = "audit/{id}/{status}")
-    public Result<BbsEntity> audit(@PathVariable Integer status, @PathVariable Long id) {
-        entityService.updateAudit(id, status);
-        return Result.success();
-    }
-
-
-
-
-
-
-
-
-
-
-}

+ 26 - 27
gis_cms/src/main/java/com/gis/cms/controller/WebController.java

@@ -9,6 +9,7 @@ import com.gis.common.util.Result;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
@@ -51,8 +52,10 @@ public class WebController {
     @Autowired
     BbsService bbsService;
 
+
+
     @Autowired
-    BbsMessageService bbsMessageService;
+    CommentService commentService;
 
 
 
@@ -127,7 +130,7 @@ public class WebController {
         return bbsService.search(param);
     }
 
-    @ApiOperation(value = "论坛-发帖")
+    @ApiOperation(value = "v0.1-论坛-发帖/留言")
     @PostMapping("bbs/save")
     public Result bbsSave(@Valid @RequestBody BbsDto param) {
         return bbsService.saveEntity(param);
@@ -146,50 +149,46 @@ public class WebController {
         return Result.success();
     }
 
-    @ApiOperation(value = "论坛-留言")
-    @PostMapping("bbs/message/save")
-    public Result bbsMessage(@Valid @RequestBody BbsMessageDto param) {
-        return bbsMessageService.saveEntity(param);
-    }
-
-    @ApiOperation(value = "论坛-留言列表")
+    @ApiOperation(value = "v0.1-论坛-发帖留言详情")
     @PostMapping("bbs/message/list")
     public Result bbsMessageList(@RequestBody BbsMessagePageDto param) {
-        return bbsMessageService.search(param);
+        return bbsService.bbsMessageList(param);
     }
 
-    @ApiOperation(value = "论坛-点赞", notes = "类型, bbs:发帖点赞, message:留言点赞")
+
+
+    @ApiOperation(value = "v0.1-论坛-点赞/踩", notes = "类型, upVote:点赞, unVote:踩")
     @PostMapping("bbs/like/{type}/{id}")
     public Result bbsLike(@PathVariable String type, @PathVariable Long id) {
-        List<String> list = Arrays.asList("bbs", "message");
+        List<String> list = Arrays.asList("upVote", "unVote");
         if (!list.contains(type)){
             return Result.failure("输入参数类型非法: " + type);
         }
 
-        if ("bbs".equals(type)){
+        if ("upVote".equals(type)){
             bbsService.addLike(id);
         } else {
-            bbsMessageService.addLike(id);
+            bbsService.addUnLike(id);
         }
 
         return Result.success();
     }
 
-    @ApiOperation(value = "论坛-踩", notes = "类型, bbs:发帖点赞, message:留言点赞")
-    @PostMapping("bbs/unLike/{type}/{id}")
-    public Result bbsUnLike(@PathVariable String type, @PathVariable Long id) {
-        List<String> list = Arrays.asList("bbs", "message");
-        if (!list.contains(type)) {
-            return Result.failure("输入参数类型非法: " + type);
-        }
 
-        if ("bbs".equals(type)) {
-            bbsService.addUnLike(id);
-        } else {
-            bbsMessageService.addUnLike(id);
-        }
 
-        return Result.success();
+
+    @WebControllerLog(description = "展示页-留言评论")
+    @ApiOperation(value = "留言-评论")
+    @PostMapping("comment/save")
+    public Result commentSave(@Valid @RequestBody CommentDto param) {
+        return commentService.saveEntity(param);
+    }
+
+    @ApiOperation(value = "留言-列表")
+    @PostMapping("comment/list")
+    public Result commentList(@RequestBody CommentPageDto param) {
+        param.setStatus(2);
+        return commentService.search(param);
     }
 
 }

+ 15 - 2
gis_cms/src/main/java/com/gis/cms/entity/dto/BbsDto.java

@@ -13,10 +13,14 @@ public class BbsDto {
 
 
 
-    @NotBlank(message = "标题不能为空")
-    @ApiModelProperty(value = "标题", required = true)
+//    @NotBlank(message = "标题不能为空")
+    @ApiModelProperty(value = "标题")
     private String title;
 
+    @NotBlank(message = "内容不能为空")
+    @ApiModelProperty(value = "内容", required = true)
+    private String content;
+
     @NotBlank(message = "类型不能为空")
     @ApiModelProperty(value = "类型: scene:数字史馆, school:校园,goods:典藏", required = true)
     private String type;
@@ -24,5 +28,14 @@ public class BbsDto {
     @ApiModelProperty(value = "创建者名")
     private String creatorName;
 
+    @NotBlank(message = "主题类型不能为空")
+    @ApiModelProperty(value = "主题类型:topic(发帖), reply(回帖) ", required = true)
+    private String bbsType;
+
+    @ApiModelProperty(value = "父级id")
+    private Long parentId;
+
+
+
 
 }

+ 0 - 29
gis_cms/src/main/java/com/gis/cms/entity/dto/BbsMessageDto.java

@@ -1,29 +0,0 @@
-package com.gis.cms.entity.dto;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
-
-/**
- * Created by owen on 2021/12/8 0008 14:34
- */
-@Data
-public class BbsMessageDto {
-
-
-
-    @NotBlank(message = "标题不能为空")
-    @ApiModelProperty(value = "标题", required = true)
-    private String title;
-
-    @ApiModelProperty(value = "创建者名")
-    private String creatorName;
-
-    @NotNull(message = "论坛ID不能为空")
-    @ApiModelProperty(value = "论坛ID", required = true)
-    private Long bbsId;
-
-
-}

+ 3 - 3
gis_cms/src/main/java/com/gis/cms/entity/dto/BbsMessagePageDto.java

@@ -12,12 +12,12 @@ public class BbsMessagePageDto extends PageDateDto {
 
 
 
-    @ApiModelProperty(value = "审核状态,0:待审核, 1:审核不通过,2:审核通过")
-    private Integer status;
+//    @ApiModelProperty(value = "审核状态(后端使用),0:待审核, 1:审核不通过,2:审核通过")
+//    private Integer status;
 
 
     @ApiModelProperty(value = "论坛ID, 官网使用")
-    private Long bbsId;
+    private Long parentId;
 
 
 

+ 3 - 0
gis_cms/src/main/java/com/gis/cms/entity/dto/BbsPageDto.java

@@ -20,4 +20,7 @@ public class BbsPageDto extends PageDateDto {
     @ApiModelProperty(value = "类型: scene:数字史馆, school:校园,goods:典藏, 官网使用")
     private String type;
 
+    @ApiModelProperty(value = "主题类型:topic(发帖), reply(回帖) ")
+    private String bbsType;
+
 }

+ 4 - 2
gis_cms/src/main/java/com/gis/cms/entity/dto/CommentDto.java

@@ -19,8 +19,10 @@ public class CommentDto {
     @ApiModelProperty(value = "父级id")
     private Long parentId;
 
-//    @ApiModelProperty(value = "是否显示真实姓名: 1:是, 0:否")
-//    private Integer isRealName;
+    @ApiModelProperty(value = "创建者名")
+    private String creatorName;
+
+
 
 
 

+ 3 - 3
gis_cms/src/main/java/com/gis/cms/entity/dto/CommentPageDto.java

@@ -10,10 +10,10 @@ import lombok.Data;
 @Data
 public class CommentPageDto extends PageDateDto {
 
-    @ApiModelProperty(value = "状态:0:待审核(默认), 1:不通过, 2:通过")
+    @ApiModelProperty(value = "状态(管理后台使用):0:待审核(默认), 1:不通过, 2:通过" )
     private Integer status;
 
-    @ApiModelProperty(value = "显示:0:不显示,1:显示", notes = "后端使用")
-    private Integer display;
+//    @ApiModelProperty(value = "显示:0:不显示,1:显示", notes = "后端使用")
+//    private Integer display;
 
 }

+ 1 - 2
gis_cms/src/main/java/com/gis/cms/entity/dto/MusicDto.java

@@ -18,8 +18,7 @@ public class MusicDto {
     @ApiModelProperty(value = "标题", required = true)
     private String name;
 
-    @NotBlank(message = "照片不能为空")
-    @ApiModelProperty(value = "照片", required = true)
+    @ApiModelProperty(value = "照片")
     private String thumb;
 
     @NotBlank(message = "视频不能为空")

+ 12 - 3
gis_cms/src/main/java/com/gis/cms/entity/po/BbsEntity.java

@@ -18,9 +18,12 @@ public class BbsEntity extends BaseEntity implements Serializable {
     private static final long serialVersionUID = -8093446477843493946L;
 
 
-    @ApiModelProperty(value = "内容")
+    @ApiModelProperty(value = "标题")
     private String title;
 
+    @ApiModelProperty(value = "内容")
+    private String content;
+
     @ApiModelProperty(value = "类型: scene:数字史馆, school:校园,goods:典藏")
     private String type;
 
@@ -31,10 +34,10 @@ public class BbsEntity extends BaseEntity implements Serializable {
     private String creatorName;
 
     @ApiModelProperty(value = "点赞")
-    private Integer like;
+    private Integer upVote;
 
     @ApiModelProperty(value = "踩")
-    private Integer unLike;
+    private Integer unVote;
 
     @ApiModelProperty(value = "浏览量")
     private Integer visit;
@@ -43,6 +46,12 @@ public class BbsEntity extends BaseEntity implements Serializable {
     @ApiModelProperty(value = "回复")
     private Integer reply;
 
+    @ApiModelProperty(value = "主题类型:topic(发帖), reply(回帖) ")
+    private String bbsType;
+
+    @ApiModelProperty(value = "父级id")
+    private Long parentId;
+
 
 
 

+ 0 - 49
gis_cms/src/main/java/com/gis/cms/entity/po/BbsMessageEntity.java

@@ -1,49 +0,0 @@
-package com.gis.cms.entity.po;
-
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.gis.common.base.entity.po.BaseEntity;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.io.Serializable;
-
-/**
- * 论坛-留言
- */
-@Data
-@TableName(value = "tb_bbs_message")
-public class BbsMessageEntity extends BaseEntity implements Serializable {
-
-    private static final long serialVersionUID = 6702168340204665447L;
-
-    @ApiModelProperty(value = "内容")
-    private String title;
-
-    @ApiModelProperty(value = "审核状态,0:待审核, 1:审核不通过,2:审核通过")
-    private Integer status;
-
-    @ApiModelProperty(value = "创建者名")
-    private String creatorName;
-
-    @ApiModelProperty(value = "论坛ID")
-    private Long bbsId;
-
-    @ApiModelProperty(value = "点赞")
-    private Integer like;
-
-    @ApiModelProperty(value = "踩")
-    private Integer unLike;
-
-
-
-
-
-
-
-
-
-
-
-
-
-}

+ 3 - 0
gis_cms/src/main/java/com/gis/cms/entity/po/CommentEntity.java

@@ -31,6 +31,9 @@ public class CommentEntity extends BaseEntity implements Serializable {
     @ApiModelProperty(value = "状态:0:待审核(默认), 1:不通过, 2:通过")
     private Integer status;
 
+    @ApiModelProperty(value = "创建者名")
+    private String creatorName;
+
 
 
 

+ 5 - 2
gis_cms/src/main/java/com/gis/cms/mapper/BbsMapper.java

@@ -23,12 +23,15 @@ public interface BbsMapper extends BaseMapper<BbsEntity> {
     @SelectProvider(type = BaseProvider.class, method = "selectSql")
     IPage<BbsEntity> pageSearchSql(String sql, IPage<BbsEntity> page);
 
-    @Update("update tb_bbs set like=like+1 , update_time = NOW() where is_delete=0 and id = #{id} ")
+    @Update("update tb_bbs set up_vote=up_vote+1 , update_time = NOW() where is_delete=0 and id = #{id} ")
     void addLike(Long id);
 
-    @Update("update tb_bbs set un_like=un_like+1 , update_time = NOW() where is_delete=0 and id = #{id} ")
+    @Update("update tb_bbs set un_vote=un_vote+1 , update_time = NOW() where is_delete=0 and id = #{id} ")
     void addUnLike(Long id);
 
     @Update("update tb_bbs set visit=visit+1 , update_time = NOW() where is_delete=0 and id = #{id} ")
     void addVisit(Long id);
+
+    @Update("update tb_bbs set is_delete=1 , update_time = NOW() where is_delete=0 and parent_id = #{parentId} ")
+    void delByParentId(Long parentId);
 }

+ 0 - 30
gis_cms/src/main/java/com/gis/cms/mapper/BbsMessageMapper.java

@@ -1,30 +0,0 @@
-package com.gis.cms.mapper;
-
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.gis.cms.entity.po.BbsEntity;
-import com.gis.cms.entity.po.BbsMessageEntity;
-import com.gis.cms.mapper.provider.BaseProvider;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.SelectProvider;
-import org.apache.ibatis.annotations.Update;
-import org.springframework.stereotype.Component;
-
-@Component
-@Mapper
-public interface BbsMessageMapper extends BaseMapper<BbsMessageEntity> {
-
-    @Update("update tb_bbs_message set status = #{status} , update_time = NOW() where is_delete=0 and id = #{id} ")
-    void updateAudit(Long id, Integer status);
-
-    @SelectProvider(type = BaseProvider.class, method = "selectSql")
-    IPage<BbsMessageEntity> pageSearchSql(String sql, IPage<BbsMessageEntity> page);
-
-    @Update("update tb_bbs_message set like=like+1 , update_time = NOW() where is_delete=0 and id = #{id} ")
-    void addLike(Long id);
-
-    @Update("update tb_bbs_message set un_like=un_like+1 , update_time = NOW() where is_delete=0 and id = #{id} ")
-    void addUnLike(Long id);
-
-}

+ 2 - 3
gis_cms/src/main/java/com/gis/cms/mapper/CommentMapper.java

@@ -20,9 +20,8 @@ public interface CommentMapper extends BaseMapper<CommentEntity> {
     @SelectProvider(type = CommentProvider.class, method = "search")
     IPage<CommentEntity> search(CommentPageDto param, IPage<CommentEntity> page);
 
-    @Update("update tb_video set status = #{status} , update_time = NOW() where is_delete=0 and id = #{id} ")
+    @Update("update tb_comment set status = #{status} , update_time = NOW() where is_delete=0 and id = #{id} ")
     void setAudit(Long id, Integer status);
 
-//    @Update("update tb_video set sort = #{sort} , update_time = NOW() where is_delete=0 and id = #{id} ")
-//    void setSort(Long id, Integer sort);
+
 }

+ 2 - 8
gis_cms/src/main/java/com/gis/cms/mapper/provider/CommentProvider.java

@@ -13,13 +13,7 @@ public class CommentProvider {
 
     public String search(CommentPageDto param) {
         StringBuffer sql = new StringBuffer(
-                "select a.* ,b.real_name as creatorName from tb_comment a left join sys_user b on b.id=a.creator_id where a.is_delete=0 ");
-
-        Integer display = param.getDisplay();
-        if (display != null){
-            sql.append( " and a.display=").append(display);
-        }
-
+                "select a.*  from tb_comment a where a.is_delete=0 ");
 
 
         if (StringUtils.isNotBlank(param.getStartTime()) && StringUtils.isNotBlank(param.getEndTime())) {
@@ -38,7 +32,7 @@ public class CommentProvider {
 
         Integer status = param.getStatus();
         if (status != null){
-            sql.append( "a.status=").append(status);
+            sql.append( " and a.status=").append(status);
         }
 
 

+ 0 - 28
gis_cms/src/main/java/com/gis/cms/service/BbsMessageService.java

@@ -1,28 +0,0 @@
-package com.gis.cms.service;
-
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.gis.cms.entity.dto.BbsDto;
-import com.gis.cms.entity.dto.BbsMessageDto;
-import com.gis.cms.entity.dto.BbsMessagePageDto;
-import com.gis.cms.entity.dto.BbsPageDto;
-import com.gis.cms.entity.po.BbsEntity;
-import com.gis.cms.entity.po.BbsMessageEntity;
-import com.gis.common.util.Result;
-
-
-/**
- * Created by owen on 2021/12/8 0011 16:14
- */
-public interface BbsMessageService extends IService<BbsMessageEntity> {
-
-    Result saveEntity(BbsMessageDto param);
-
-    Result search(BbsMessagePageDto param);
-
-    void updateAudit(Long id, Integer status);
-
-    void addLike(Long id);
-
-    void addUnLike(Long id);
-}

+ 5 - 4
gis_cms/src/main/java/com/gis/cms/service/BbsService.java

@@ -2,10 +2,7 @@ package com.gis.cms.service;
 
 
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.gis.cms.entity.dto.BbsDto;
-import com.gis.cms.entity.dto.BbsPageDto;
-import com.gis.cms.entity.dto.ImgDto;
-import com.gis.cms.entity.dto.SortPageDto;
+import com.gis.cms.entity.dto.*;
 import com.gis.cms.entity.po.BbsEntity;
 import com.gis.cms.entity.po.ImgEntity;
 import com.gis.common.util.Result;
@@ -30,4 +27,8 @@ public interface BbsService extends IService<BbsEntity> {
     void addVisit(Long id);
 
     Result upload(MultipartFile file);
+
+    Result del(Long id);
+
+    Result bbsMessageList(BbsMessagePageDto param);
 }

+ 0 - 112
gis_cms/src/main/java/com/gis/cms/service/impl/BbsMessageServiceImpl.java

@@ -1,112 +0,0 @@
-package com.gis.cms.service.impl;
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.gis.cms.entity.dto.BbsDto;
-import com.gis.cms.entity.dto.BbsMessageDto;
-import com.gis.cms.entity.dto.BbsMessagePageDto;
-import com.gis.cms.entity.dto.BbsPageDto;
-import com.gis.cms.entity.po.BbsEntity;
-import com.gis.cms.entity.po.BbsMessageEntity;
-import com.gis.cms.mapper.BbsMapper;
-import com.gis.cms.mapper.BbsMessageMapper;
-import com.gis.cms.service.BbsMessageService;
-import com.gis.cms.service.BbsService;
-import com.gis.common.base.exception.BaseRuntimeException;
-import com.gis.common.util.BaseUtil;
-import com.gis.common.util.RegexUtil;
-import com.gis.common.util.Result;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.BeanUtils;
-import org.springframework.stereotype.Service;
-
-import java.util.Arrays;
-import java.util.List;
-
-
-/**
- * Created by owen on 2020/3/11 0011 16:16
- */
-@Slf4j
-@Service
-public class BbsMessageServiceImpl extends ServiceImpl<BbsMessageMapper, BbsMessageEntity> implements BbsMessageService {
-
-
-
-
-
-    @Override
-    public Result search(BbsMessagePageDto param) {
-        BaseUtil.startPage(param);
-        IPage<BbsMessageEntity> page = new Page<>(param.getPageNum() , param.getPageSize());
-
-        StringBuffer sql = new StringBuffer();
-        sql.append("SELECT *  from tb_bbs_message where is_delete=0 ");
-        Integer status = param.getStatus();
-        if (status!=null){
-            sql.append(" and status=").append(status);
-        }
-
-        if (StringUtils.isNotBlank(param.getStartTime()) && StringUtils.isNotBlank(param.getEndTime())) {
-            sql.append(" and create_time >= ").append("'").append(param.getStartTime()).append("'");
-            sql.append(" and create_time <= ").append("'").append(param.getEndTime()).append("'");
-        }
-
-        Long bbsId = param.getBbsId();
-        if (bbsId != null){
-            sql.append(" and bbs_id=").append(bbsId);
-        }
-
-        String searchKey = param.getSearchKey();
-        if (StringUtils.isNotBlank(searchKey)){
-            searchKey = RegexUtil.sqlReplaceSpecialStr(searchKey);
-            sql.append(" and title like '%").append(searchKey).append("%'");
-        }
-
-        log.info("sql: {}", sql.toString());
-
-        IPage<BbsMessageEntity> result = getBaseMapper().pageSearchSql(sql.toString(), page);
-        return Result.success(result);
-    }
-
-    @Override
-    public void updateAudit(Long id, Integer status) {
-        List<Integer> list = Arrays.asList(1, 2);
-        if (!list.contains(status)){
-            throw new BaseRuntimeException("审核参数非法:" + status);
-        }
-        getBaseMapper().updateAudit(id, status);
-    }
-
-    @Override
-    public void addLike(Long id) {
-        getBaseMapper().addLike(id);
-    }
-
-    @Override
-    public void addUnLike(Long id) {
-        getBaseMapper().addUnLike(id);
-    }
-
-
-    @Override
-    public Result saveEntity(BbsMessageDto param) {
-        BbsMessageEntity entity = new BbsMessageEntity();
-        BeanUtils.copyProperties(param, entity);
-        String creatorName = param.getCreatorName();
-        if (StringUtils.isBlank(creatorName)){
-            entity.setCreatorName("匿名用户");
-        }
-        entity.setStatus(0);
-        this.saveOrUpdate(entity);
-        return Result.success();
-    }
-
-
-
-
-
-
-}

+ 46 - 1
gis_cms/src/main/java/com/gis/cms/service/impl/BbsServiceImpl.java

@@ -1,10 +1,13 @@
 package com.gis.cms.service.impl;
 
 import cn.hutool.core.io.FileUtil;
+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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gis.admin.entity.po.SysUserEntity;
 import com.gis.cms.entity.dto.BbsDto;
+import com.gis.cms.entity.dto.BbsMessagePageDto;
 import com.gis.cms.entity.dto.BbsPageDto;
 import com.gis.cms.entity.dto.SortPageDto;
 import com.gis.cms.entity.po.BbsEntity;
@@ -23,6 +26,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
 
+import javax.validation.constraints.NotBlank;
 import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
@@ -51,7 +55,8 @@ public class BbsServiceImpl extends ServiceImpl<BbsMapper, BbsEntity> implements
         IPage<BbsEntity> page = new Page<>(param.getPageNum() , param.getPageSize());
 
         StringBuffer sql = new StringBuffer();
-        sql.append("SELECT a.*, COUNT(case when b.status=2 and b.is_delete=0 then 1 end) reply  from tb_bbs a left join tb_bbs_message b on b.bbs_id=a.id where a.is_delete=0 ");
+//        sql.append("SELECT a.*, COUNT(case when b.status=2 and b.is_delete=0 then 1 end) reply  from tb_bbs a left join tb_bbs_message b on b.bbs_id=a.id where a.is_delete=0 ");
+        sql.append("SELECT a.*, COUNT(case when b.status=2 and b.is_delete=0 and b.bbs_type='reply' then 1 end) reply  from tb_bbs a left join tb_bbs b on b.parent_id=a.id where a.is_delete=0 ");
         Integer status = param.getStatus();
         if (status!=null){
             sql.append(" and a.status=").append(status);
@@ -67,6 +72,11 @@ public class BbsServiceImpl extends ServiceImpl<BbsMapper, BbsEntity> implements
             sql.append(" and a.type='").append(type).append("'");
         }
 
+        String bbsType = param.getBbsType();
+        if (StringUtils.isNotBlank(bbsType)){
+            sql.append(" and a.bbs_type='").append(bbsType).append("'");
+        }
+
         String searchKey = param.getSearchKey();
         if (StringUtils.isNotBlank(searchKey)){
             searchKey = RegexUtil.sqlReplaceSpecialStr(searchKey);
@@ -74,12 +84,29 @@ public class BbsServiceImpl extends ServiceImpl<BbsMapper, BbsEntity> implements
         }
 
         sql.append(" GROUP BY a.id");
+
+        sql.append(" ORDER BY a.create_time desc");
         log.info("sql: {}", sql.toString());
 
         IPage<BbsEntity> result = getBaseMapper().pageSearchSql(sql.toString(), page);
         return Result.success(result);
     }
 
+    @Override
+    public Result bbsMessageList(BbsMessagePageDto param) {
+        BaseUtil.startPage(param);
+        IPage<BbsEntity> page = new Page<>(param.getPageNum() , param.getPageSize());
+
+        LambdaQueryWrapper<BbsEntity> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(BbsEntity::getBbsType, "reply");
+        wrapper.eq(BbsEntity::getStatus, 2);
+        wrapper.eq(BbsEntity::getParentId, param.getParentId());
+
+        wrapper.orderByDesc(BbsEntity::getCreateTime);
+        IPage<BbsEntity> result = this.page(page, wrapper);
+        return Result.success(result);
+    }
+
 
 
     @Override
@@ -113,6 +140,19 @@ public class BbsServiceImpl extends ServiceImpl<BbsMapper, BbsEntity> implements
         return Result.success(map);
     }
 
+    @Override
+    public Result del(Long id) {
+        BbsEntity entity = this.getById(id);
+        // 删除所有回帖
+        if ("topic".equals(entity.getBbsType())){
+            getBaseMapper().delByParentId(id);
+        }
+        this.removeById(entity);
+        return Result.success();
+    }
+
+
+
 
     @Override
     public Result saveEntity(BbsDto param) {
@@ -122,6 +162,11 @@ public class BbsServiceImpl extends ServiceImpl<BbsMapper, BbsEntity> implements
         if (StringUtils.isBlank(creatorName)){
             entity.setCreatorName("匿名用户");
         }
+
+        String bbsType = param.getBbsType();
+        if ("reply".equals(bbsType) && param.getParentId() == null){
+            return Result.failure("回帖时,父级id不能为空");
+        }
         entity.setStatus(0);
         this.saveOrUpdate(entity);
         return Result.success();

+ 1 - 1
gis_cms/src/main/java/com/gis/cms/service/impl/CommentServiceImpl.java

@@ -57,7 +57,7 @@ public class CommentServiceImpl extends ServiceImpl<CommentMapper, CommentEntity
     @Override
     public Result saveEntity(CommentDto param) {
         CommentEntity entity = new CommentEntity();
-            entity.setCreatorId(iBaseService.getUserId());
+//            entity.setCreatorId(iBaseService.getUserId());
         BeanUtils.copyProperties(param, entity);
         this.saveOrUpdate(entity);
         return Result.success();