Commit b8553733 authored by 万成波's avatar 万成波

优化代码

parent 0d2c4a9c
......@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.tangguo.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
......@@ -37,6 +38,7 @@ public class BaseEntity implements Serializable {
/**
* 创建时间
*/
@Excel(name = "创建时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
@TableField(fill = FieldFill.INSERT)
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty("创建时间")
......
......@@ -5,6 +5,7 @@ import com.tangguo.common.core.controller.BaseController;
import com.tangguo.common.core.domain.AjaxResult;
import com.tangguo.common.core.page.TableDataInfo;
import com.tangguo.common.enums.BusinessType;
import com.tangguo.common.utils.poi.ExcelUtil;
import com.tangguo.domain.BbsMoment;
import com.tangguo.domain.vo.BbsMomentListVO;
import com.tangguo.service.IBbsMomentService;
......@@ -14,6 +15,7 @@ import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
......@@ -44,6 +46,20 @@ public class BbsMomentController extends BaseController {
}
/**
* 导出动态列表
*/
@ApiOperation("导出动态列表")
@PreAuthorize("@ss.hasPermi('points:points:export')")
@Log(title = "导出动态列表", businessType = BusinessType.EXPORT)
@PostMapping("/list/export")
public void export(HttpServletResponse response, BbsMoment bbsMoment) {
List<BbsMoment> list = bbsMomentService.selectBbsMomentList(bbsMoment);
ExcelUtil<BbsMoment> util = new ExcelUtil<>(BbsMoment.class);
util.exportExcel(response, list, "动态数据");
}
/**
* 获取动态详细信息
*/
......
......@@ -15,6 +15,7 @@ import lombok.ToString;
import lombok.experimental.Accessors;
import java.util.Date;
import java.util.List;
/**
* 动态对象 bbs_moment
......@@ -37,94 +38,88 @@ public class BbsMoment extends BaseEntity {
private Long id;
/** 发布人用户名 */
@Excel(name = "发布人用户名")
@ApiModelProperty("发布人用户名")
@Excel(name = "用户名", sort = 2)
private String userName;
/** 动态内容 */
@Excel(name = "动态内容")
@Excel(name = "动态内容", sort = 4)
@ApiModelProperty("动态内容")
private String content;
/** 动态类型:IMAGE 图片动态、VIDEO 视频动态、URL 链接动态 */
@Excel(name = "动态类型:IMAGE 图片动态、VIDEO 视频动态、URL 链接动态")
@ApiModelProperty("动态类型:IMAGE 图片动态、VIDEO 视频动态、URL 链接动态")
private String type;
/** 话题名称(逗号分割) */
@Excel(name = "话题名称", readConverterExp = "逗号分割")
@Excel(name = "话题名称", sort = 5)
@ApiModelProperty("话题名称(逗号分割)")
private String topicNames;
/** 话题Ids(逗号分割) */
@Excel(name = "话题Ids", readConverterExp = "逗号分割")
@ApiModelProperty("话题Ids(逗号分割)")
private String topicIds;
/** 外部链接地址 */
@Excel(name = "外部链接地址")
@ApiModelProperty("外部链接地址")
private String linkUrl;
/** 是否开启评论:0 否、1 是 */
@Excel(name = "是否开启评论:0 否、1 是")
@ApiModelProperty("是否开启评论:0 否、1 是")
private Integer isEnableComment;
/** 是否精选评论:0 否、1 是 */
@Excel(name = "是否精选评论:0 否、1 是")
@ApiModelProperty("是否精选评论:0 否、1 是")
private Integer isEnableFeaturedComment;
/** 是否开启投票:0 否、1 是 */
@Excel(name = "是否开启投票:0 否、1 是")
@ApiModelProperty("是否开启投票:0 否、1 是")
private Integer isEnableVote;
/** 投票标题 */
@Excel(name = "投票标题")
@ApiModelProperty("投票标题")
private String voteTitle;
/** 投票选项类型:TEXT 文字、IMAGE 图片 */
@Excel(name = "投票选项类型:TEXT 文字、IMAGE 图片")
@ApiModelProperty("投票选项类型:TEXT 文字、IMAGE 图片")
private String voteOptionType;
/** 投票开始时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "投票开始时间", width = 30, dateFormat = "yyyy-MM-dd")
@ApiModelProperty("投票开始时间")
private Date voteStartTime;
/** 投票结束时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "投票结束时间", width = 30, dateFormat = "yyyy-MM-dd")
@ApiModelProperty("投票结束时间")
private Date voteEndTime;
/** 动态点赞人数 */
@Excel(name = "动态点赞人数")
@Excel(name = "点赞人数", sort = 6)
@ApiModelProperty("动态点赞人数")
private Integer likeCount;
/** 动态评论人数 */
@Excel(name = "动态评论人数")
@Excel(name = "评论人数", sort = 7)
@ApiModelProperty("动态评论人数")
private Integer commentCount;
/** 动态投票人数 */
@Excel(name = "动态投票人数")
@ApiModelProperty("动态投票人数")
private Integer voteCount;
/** 用户姓名 */
@Excel(name = "姓名", sort = 1)
@TableField(exist = false)
private String nickName;
/** 用户部门 */
@Excel(name = "所在部门", sort = 3)
@TableField(exist = false)
private String deptName;
/** 动态附件 */
@TableField(exist = false)
private List<BbsMomentAttachment> attachments;
}
......@@ -67,7 +67,18 @@ public class BbsMomentServiceImpl extends ServiceImpl<BbsMomentMapper, BbsMoment
*/
@Override
public List<BbsMoment> selectBbsMomentList(BbsMoment moment) {
return this.baseMapper.selectBbsMomentList(moment);
List<BbsMoment> dbMoments = this.baseMapper.selectBbsMomentList(moment);
List<Long> momentIds = dbMoments.stream().map(BbsMoment::getId).collect(Collectors.toList());
List<BbsMomentAttachment> dbAtts = this.attachmentsService.getAttachments(momentIds);
for (BbsMoment dbMoment : dbMoments) {
List<BbsMomentAttachment> atts = dbAtts.stream()
.filter(a -> dbMoment.getId().equals(a.getMomentId()))
.collect(Collectors.toList());
dbMoment.setAttachments(atts);
}
return dbMoments;
}
......
......@@ -19,6 +19,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="moment.content != null and moment.content != ''">
m.content LIKE CONCAT('%', #{moment.content}, '%')
</if>
<if test="moment.topicNames != null and moment.topicNames != ''">
AND m.topic_names LIKE CONCAT('%', #{moment.topicNames}, '%')
</if>
<if test="moment.params.startTime != null and moment.params.startTime != ''">
AND DATE_FORMAT(m.create_time, '%Y-%m-%d') >= #{moment.params.startTime}
</if>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment