diff --git a/mcwl-admin/src/main/java/com/mcwl/web/controller/communityCenter/PublishController.java b/mcwl-admin/src/main/java/com/mcwl/web/controller/communityCenter/PublishController.java index 7938929..5a014fe 100644 --- a/mcwl-admin/src/main/java/com/mcwl/web/controller/communityCenter/PublishController.java +++ b/mcwl-admin/src/main/java/com/mcwl/web/controller/communityCenter/PublishController.java @@ -62,6 +62,24 @@ public class PublishController { return publishService.publish(publishRes); } + /** + * 获取发布图片列表 + */ + @ApiOperation(value = "获取发布图片列表") + @PostMapping("publishImage") + public TableDataInfo publishImage(@RequestBody @Valid PublishPageRes publishPageRes) { + return publishService.publishImage(publishPageRes); + } + + /** + * 获取发布文件列表 + */ + @ApiOperation(value = "获取发布文件列表") + @PostMapping("publishFile") + public TableDataInfo publishFile(@RequestBody @Valid PublishPageRes publishPageRes) { + return publishService.publishFile(publishPageRes); + } + /** * 删除 */ diff --git a/mcwl-admin/src/main/java/com/mcwl/web/controller/communityCenter/QuestionController.java b/mcwl-admin/src/main/java/com/mcwl/web/controller/communityCenter/QuestionController.java index b30ae11..8e7147b 100644 --- a/mcwl-admin/src/main/java/com/mcwl/web/controller/communityCenter/QuestionController.java +++ b/mcwl-admin/src/main/java/com/mcwl/web/controller/communityCenter/QuestionController.java @@ -44,15 +44,25 @@ public class QuestionController { /** - * 获取问题列表 + * 获取提问列表 */ @PostMapping("list") - @ApiOperation(value = "获取问题列表") + @ApiOperation(value = "获取提问列表") public TableDataInfo list(@RequestBody @Valid QuestionPageRes questionPageRes) { return questionService.list(questionPageRes); } + /** + * 获取提问图片列表 + */ + @PostMapping("listImage") + @ApiOperation(value = "获取提问图片列表") + public TableDataInfo listImage(@RequestBody @Valid QuestionPageRes questionPageRes) { + + return questionService.listImage(questionPageRes); + } + /** * 获取问题详情 */ diff --git a/mcwl-communityCenter/src/main/java/com/mcwl/communityCenter/domain/Publish.java b/mcwl-communityCenter/src/main/java/com/mcwl/communityCenter/domain/Publish.java index d2aea50..d813ed9 100644 --- a/mcwl-communityCenter/src/main/java/com/mcwl/communityCenter/domain/Publish.java +++ b/mcwl-communityCenter/src/main/java/com/mcwl/communityCenter/domain/Publish.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.mcwl.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; @@ -39,6 +40,16 @@ public class Publish extends BaseEntity { */ private String content; + /** + * 发布图片 + */ + private String imageUrl; + + /** + * 发布文件 + */ + private String fileUrl; + /** * 发布人 */ diff --git a/mcwl-communityCenter/src/main/java/com/mcwl/communityCenter/domain/dto/PublishRes.java b/mcwl-communityCenter/src/main/java/com/mcwl/communityCenter/domain/dto/PublishRes.java index b2921e6..651f987 100644 --- a/mcwl-communityCenter/src/main/java/com/mcwl/communityCenter/domain/dto/PublishRes.java +++ b/mcwl-communityCenter/src/main/java/com/mcwl/communityCenter/domain/dto/PublishRes.java @@ -32,6 +32,17 @@ public class PublishRes { @NotBlank(message = "内容不能为空") @ApiModelProperty(value = "内容", required = true) private String content; + /** + * 发布图片 + */ + @ApiModelProperty(value = "发布图片") + private String imageUrl; + + /** + * 发布文件 + */ + @ApiModelProperty(value = "发布文件") + private String fileUrl; /** * 发布时间 - 定时发布 diff --git a/mcwl-communityCenter/src/main/java/com/mcwl/communityCenter/domain/vo/PublishVo.java b/mcwl-communityCenter/src/main/java/com/mcwl/communityCenter/domain/vo/PublishVo.java index 2241902..fb9aeca 100644 --- a/mcwl-communityCenter/src/main/java/com/mcwl/communityCenter/domain/vo/PublishVo.java +++ b/mcwl-communityCenter/src/main/java/com/mcwl/communityCenter/domain/vo/PublishVo.java @@ -8,7 +8,7 @@ import springfox.documentation.annotations.ApiIgnore; import java.util.Date; /** - * 发布、提问信息 + * 发布信息 */ @Data @ApiModel(description = "发布信息") @@ -56,6 +56,18 @@ public class PublishVo { @ApiModelProperty(value = "内容") private String content; + /** + * 发布图片 + */ + @ApiModelProperty(value = "发布图片") + private String imageUrl; + + /** + * 发布文件 + */ + @ApiModelProperty(value = "发布文件") + private String fileUrl; + /** * 发布时间 - 定时发布 */ diff --git a/mcwl-communityCenter/src/main/java/com/mcwl/communityCenter/domain/vo/QuestionVo.java b/mcwl-communityCenter/src/main/java/com/mcwl/communityCenter/domain/vo/QuestionVo.java index 4077f82..43570c9 100644 --- a/mcwl-communityCenter/src/main/java/com/mcwl/communityCenter/domain/vo/QuestionVo.java +++ b/mcwl-communityCenter/src/main/java/com/mcwl/communityCenter/domain/vo/QuestionVo.java @@ -1,6 +1,8 @@ package com.mcwl.communityCenter.domain.vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotBlank; @@ -8,64 +10,77 @@ import javax.validation.constraints.NotNull; import java.util.Date; @Data +@ApiModel(description = "问题信息") public class QuestionVo { + @ApiModelProperty(value = "主键") private Long id; /** * 社区id */ + @ApiModelProperty(value = "社区id") private Long communityId; /** * 提问用户id */ + @ApiModelProperty(value = "提问用户id") private Long questionUserId; /** * 提问用户名 */ + @ApiModelProperty(value = "提问用户名") private String questionUserName; /** * 提问用户头像 */ + @ApiModelProperty(value = "提问用户头像") private String questionUserAvatar; /** * 提问内容 */ + @ApiModelProperty(value = "提问内容") private String content; /** * 提问图片 */ + @ApiModelProperty(value = "提问图片") private String questionUrl; /** * 提问时间 */ + @ApiModelProperty(value = "提问时间") private Date createTime; /** * 答复用户id */ + @ApiModelProperty(value = "答复用户id") private Long replyUserId; /** * 回复内容 */ + @ApiModelProperty(value = "回复内容") private String reply; /** * 回复时间 */ + @ApiModelProperty(value = "回复时间") private Date replyTime; /** * 是否匿名 */ + @ApiModelProperty(value = "是否匿名") private Integer isAnonymous; diff --git a/mcwl-communityCenter/src/main/java/com/mcwl/communityCenter/mapper/PublishMapper.java b/mcwl-communityCenter/src/main/java/com/mcwl/communityCenter/mapper/PublishMapper.java index 399a418..61aa019 100644 --- a/mcwl-communityCenter/src/main/java/com/mcwl/communityCenter/mapper/PublishMapper.java +++ b/mcwl-communityCenter/src/main/java/com/mcwl/communityCenter/mapper/PublishMapper.java @@ -9,6 +9,8 @@ import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.springframework.security.core.parameters.P; +import javax.validation.constraints.NotNull; + @Mapper public interface PublishMapper extends BaseMapper { @@ -22,4 +24,19 @@ public interface PublishMapper extends BaseMapper { Long tenantId, @Param("communityId") Long communityId); + + @InterceptorIgnore(tenantLine = "true") + Page selectByTenantIdAndCommunityIdAndNotNullImagePage(Page page, + @Param("tenantId") + Long tenantId, + @Param("communityId") + Long communityId); + + @InterceptorIgnore(tenantLine = "true") + Page selectByTenantIdAndCommunityIdAndNotNullFilePage(Page page, + @Param("tenantId") + Long tenantId, + @Param("communityId") + Long communityId); + } diff --git a/mcwl-communityCenter/src/main/java/com/mcwl/communityCenter/mapper/QuestionMapper.java b/mcwl-communityCenter/src/main/java/com/mcwl/communityCenter/mapper/QuestionMapper.java index 1a965a1..5bd9359 100644 --- a/mcwl-communityCenter/src/main/java/com/mcwl/communityCenter/mapper/QuestionMapper.java +++ b/mcwl-communityCenter/src/main/java/com/mcwl/communityCenter/mapper/QuestionMapper.java @@ -30,4 +30,15 @@ public interface QuestionMapper extends BaseMapper { Long tenantId, @Param("communityId") Long communityId); + + @InterceptorIgnore(tenantLine = "true") + Page listImage(Page page, + @NotNull(message = "租户不能为空") + @Param("tenantId") + Long tenantId, + @NotNull(message = "社区不能为空") + @Param("communityId") + Long communityId, + @Param("status") + Integer status); } diff --git a/mcwl-communityCenter/src/main/java/com/mcwl/communityCenter/service/PublishService.java b/mcwl-communityCenter/src/main/java/com/mcwl/communityCenter/service/PublishService.java index 9ef00df..0478a1d 100644 --- a/mcwl-communityCenter/src/main/java/com/mcwl/communityCenter/service/PublishService.java +++ b/mcwl-communityCenter/src/main/java/com/mcwl/communityCenter/service/PublishService.java @@ -11,6 +11,7 @@ import com.mcwl.communityCenter.domain.dto.PublishPageRes; import com.mcwl.communityCenter.domain.dto.PublishRes; import com.mcwl.communityCenter.domain.vo.PublishVo; +import javax.validation.Valid; import javax.validation.constraints.NotNull; import java.util.List; @@ -25,4 +26,8 @@ public interface PublishService extends IService { AjaxResult publish(PublishRes publishRes); TableDataInfo getPublishList(PublishPageRes publishPageRes); + + TableDataInfo publishImage(@Valid PublishPageRes publishPageRes); + + TableDataInfo publishFile(@Valid PublishPageRes publishPageRes); } diff --git a/mcwl-communityCenter/src/main/java/com/mcwl/communityCenter/service/QuestionService.java b/mcwl-communityCenter/src/main/java/com/mcwl/communityCenter/service/QuestionService.java index 9e536a1..b81658e 100644 --- a/mcwl-communityCenter/src/main/java/com/mcwl/communityCenter/service/QuestionService.java +++ b/mcwl-communityCenter/src/main/java/com/mcwl/communityCenter/service/QuestionService.java @@ -10,6 +10,7 @@ import com.mcwl.communityCenter.domain.dto.QuestionReplyRes; import com.mcwl.communityCenter.domain.dto.QuestionRes; import com.mcwl.communityCenter.domain.vo.QuestionVo; +import javax.validation.Valid; import javax.validation.constraints.NotNull; public interface QuestionService extends IService { @@ -30,4 +31,6 @@ public interface QuestionService extends IService { * @param questionReplyRes 回复信息 */ AjaxResult reply(QuestionReplyRes questionReplyRes); + + TableDataInfo listImage(@Valid QuestionPageRes questionPageRes); } diff --git a/mcwl-communityCenter/src/main/java/com/mcwl/communityCenter/service/impl/PublishServiceImpl.java b/mcwl-communityCenter/src/main/java/com/mcwl/communityCenter/service/impl/PublishServiceImpl.java index cc2809f..f671a98 100644 --- a/mcwl-communityCenter/src/main/java/com/mcwl/communityCenter/service/impl/PublishServiceImpl.java +++ b/mcwl-communityCenter/src/main/java/com/mcwl/communityCenter/service/impl/PublishServiceImpl.java @@ -98,15 +98,7 @@ public class PublishServiceImpl extends ServiceImpl impl @Override public TableDataInfo getPublishList(PublishPageRes publishPageRes) { - Page page = new Page<>(publishPageRes.getPageNum(), publishPageRes.getPageSize()); - - if (StringUtils.isBlank(publishPageRes.getOrderByColumn())) { - publishPageRes.setOrderByColumn("create_time"); - } - boolean isAsc = Objects.equals(publishPageRes.getIsAsc(), "asc"); - OrderItem orderItem = new OrderItem(publishPageRes.getOrderByColumn(), isAsc); - - page.addOrder(orderItem); + Page page = this.initPage(publishPageRes); // 根据租户id和社区id查询分页数据 baseMapper.selectByTenantIdAndCommunityIdPage(page, publishPageRes.getTenantId(), publishPageRes.getCommunityId()); @@ -133,4 +125,77 @@ public class PublishServiceImpl extends ServiceImpl impl tableDataInfo.setMsg("查询成功"); return tableDataInfo; } + + @Override + public TableDataInfo publishImage(PublishPageRes publishPageRes) { + + Page page = this.initPage(publishPageRes); + + // 根据租户id和社区id和fileUrl不为空查询分页数据 + baseMapper.selectByTenantIdAndCommunityIdAndNotNullFilePage(page, publishPageRes.getTenantId(), publishPageRes.getCommunityId()); + + List publishList = page.getRecords(); + List publishVoList = new ArrayList<>(); + for (Publish publish : publishList) { + PublishVo publishVo = new PublishVo(); + BeanUtil.copyProperties(publish, publishVo); + Long userId = publish.getUserId(); + SysUser sysUser = sysUserService.selectUserById(userId); + publishVo.setUserName(sysUser.getUserName()); + publishVo.setAvatar(sysUser.getAvatar()); + publishVoList.add(publishVo); + } + + + // 封装返回 + TableDataInfo tableDataInfo = new TableDataInfo(); + tableDataInfo.setRows(publishVoList); + tableDataInfo.setTotal(page.getTotal()); + tableDataInfo.setCode(HttpStatus.SUCCESS); + tableDataInfo.setMsg("查询成功"); + return tableDataInfo; + } + + @Override + public TableDataInfo publishFile(PublishPageRes publishPageRes) { + Page page = this.initPage(publishPageRes); + + // 根据租户id和社区id和imageUrl不为空查询分页数据 + baseMapper.selectByTenantIdAndCommunityIdAndNotNullFilePage(page, publishPageRes.getTenantId(), publishPageRes.getCommunityId()); + + List publishList = page.getRecords(); + List publishVoList = new ArrayList<>(); + for (Publish publish : publishList) { + PublishVo publishVo = new PublishVo(); + BeanUtil.copyProperties(publish, publishVo); + Long userId = publish.getUserId(); + SysUser sysUser = sysUserService.selectUserById(userId); + publishVo.setUserName(sysUser.getUserName()); + publishVo.setAvatar(sysUser.getAvatar()); + publishVoList.add(publishVo); + } + + + // 封装返回 + TableDataInfo tableDataInfo = new TableDataInfo(); + tableDataInfo.setRows(publishVoList); + tableDataInfo.setTotal(page.getTotal()); + tableDataInfo.setCode(HttpStatus.SUCCESS); + tableDataInfo.setMsg("查询成功"); + return tableDataInfo; + } + + private Page initPage(PublishPageRes publishPageRes) { + Page page = new Page<>(publishPageRes.getPageNum(), publishPageRes.getPageSize()); + + if (StringUtils.isBlank(publishPageRes.getOrderByColumn())) { + publishPageRes.setOrderByColumn("create_time"); + } + boolean isAsc = Objects.equals(publishPageRes.getIsAsc(), "asc"); + OrderItem orderItem = new OrderItem(publishPageRes.getOrderByColumn(), isAsc); + + page.addOrder(orderItem); + + return page; + } } diff --git a/mcwl-communityCenter/src/main/java/com/mcwl/communityCenter/service/impl/QuestionServiceImpl.java b/mcwl-communityCenter/src/main/java/com/mcwl/communityCenter/service/impl/QuestionServiceImpl.java index c9eef6d..a62db84 100644 --- a/mcwl-communityCenter/src/main/java/com/mcwl/communityCenter/service/impl/QuestionServiceImpl.java +++ b/mcwl-communityCenter/src/main/java/com/mcwl/communityCenter/service/impl/QuestionServiceImpl.java @@ -103,14 +103,7 @@ public class QuestionServiceImpl extends ServiceImpl i @Override public TableDataInfo list(QuestionPageRes questionPageRes) { - Page page = new Page<>(questionPageRes.getPageNum(), questionPageRes.getPageSize()); - OrderItem orderItem = new OrderItem(); - if (StringUtils.isBlank(questionPageRes.getOrderByColumn())) { - questionPageRes.setOrderByColumn("create_time"); - } - orderItem.setColumn(questionPageRes.getOrderByColumn()); - orderItem.setAsc(Objects.equals(questionPageRes.getIsAsc(), "asc")); - page.addOrder(orderItem); + Page page = initPage(questionPageRes); baseMapper.list(page, questionPageRes.getTenantId(), questionPageRes.getCommunityId(), questionPageRes.getStatus()); @@ -191,5 +184,49 @@ public class QuestionServiceImpl extends ServiceImpl i } + @Override + public TableDataInfo listImage(QuestionPageRes questionPageRes) { + + Page page = initPage(questionPageRes); + + baseMapper.listImage(page, questionPageRes.getTenantId(), questionPageRes.getCommunityId(), questionPageRes.getStatus()); + + // 获取分页数据 + List questionList = page.getRecords(); + // Question数据转为QuestionVo + List questionVoList = new ArrayList<>(); + for (Question question : questionList) { + QuestionVo questionVo = new QuestionVo(); + BeanUtil.copyProperties(question, questionVo); + Long questionUserId = question.getQuestionUserId(); + SysUser sysUser = sysUserService.selectUserById(questionUserId); + questionVo.setQuestionUserName(sysUser.getUserName()); + questionVo.setQuestionUserAvatar(sysUser.getAvatar()); + questionVoList.add(questionVo); + + } + + // 封装分页信息 + TableDataInfo rspData = new TableDataInfo(); + rspData.setCode(HttpStatus.SUCCESS); + rspData.setMsg("查询成功"); + rspData.setRows(questionVoList); + rspData.setTotal(page.getTotal()); + + return rspData; + } + + private Page initPage(QuestionPageRes questionPageRes) { + Page page = new Page<>(questionPageRes.getPageNum(), questionPageRes.getPageSize()); + OrderItem orderItem = new OrderItem(); + if (StringUtils.isBlank(questionPageRes.getOrderByColumn())) { + questionPageRes.setOrderByColumn("create_time"); + } + orderItem.setColumn(questionPageRes.getOrderByColumn()); + orderItem.setAsc(Objects.equals(questionPageRes.getIsAsc(), "asc")); + page.addOrder(orderItem); + return page; + } + } diff --git a/mcwl-communityCenter/src/main/resources/mapper/communityCenter/PublishMapper.xml b/mcwl-communityCenter/src/main/resources/mapper/communityCenter/PublishMapper.xml index 0340213..4630d62 100644 --- a/mcwl-communityCenter/src/main/resources/mapper/communityCenter/PublishMapper.xml +++ b/mcwl-communityCenter/src/main/resources/mapper/communityCenter/PublishMapper.xml @@ -4,18 +4,84 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> + + \ No newline at end of file diff --git a/mcwl-communityCenter/src/main/resources/mapper/communityCenter/QuestionMapper.xml b/mcwl-communityCenter/src/main/resources/mapper/communityCenter/QuestionMapper.xml index af98a15..6612c5b 100644 --- a/mcwl-communityCenter/src/main/resources/mapper/communityCenter/QuestionMapper.xml +++ b/mcwl-communityCenter/src/main/resources/mapper/communityCenter/QuestionMapper.xml @@ -23,4 +23,15 @@ and community_id = #{communityId} and del_flag = '0' + \ No newline at end of file