main
parent
6d5f0874bb
commit
6d667b4f79
|
|
@ -4,6 +4,7 @@ import java.util.List;
|
|||
import java.io.IOException;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import com.ruoyi.app.domain.vo.AppUserDynamicVo;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
|
@ -52,6 +53,15 @@ public class AppUserDynamicController extends BaseController
|
|||
return getDataTable(list);
|
||||
}
|
||||
|
||||
@RequiresPermissions("app:dynamic:list")
|
||||
@GetMapping("/pageList")
|
||||
@ApiOperation(value = "分页app用户动态列表", notes = "分页app用户动态列表", httpMethod = "GET")
|
||||
public TableDataInfo pageList(AppUserDynamic appUserDynamic) {
|
||||
startPage();
|
||||
List<AppUserDynamicVo> list = appUserDynamicService.selectDynamicList(appUserDynamic);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出App用户动态列表
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -0,0 +1,81 @@
|
|||
package com.ruoyi.app.domain.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.ruoyi.app.domain.AppDynamicImg;
|
||||
import com.ruoyi.app.domain.AppTopic;
|
||||
import com.ruoyi.app.domain.AppUserDynamic;
|
||||
import com.ruoyi.common.core.annotation.Excel;
|
||||
import com.ruoyi.common.core.web.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* App用户动态对象 app_user_dynamic
|
||||
*
|
||||
* @author wyh
|
||||
* @date 2024-04-23
|
||||
*/
|
||||
@Data
|
||||
public class AppUserDynamicVo extends AppUserDynamic
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private String username;
|
||||
|
||||
private String avatarUrl;
|
||||
|
||||
@Excel(name = "学历")
|
||||
private String education;
|
||||
|
||||
@Excel(name = "学校")
|
||||
private Long school;
|
||||
|
||||
@Excel(name = "专业")
|
||||
private String major;
|
||||
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
@Excel(name = "学历开始时间", width = 30, dateFormat = "yyyy-MM-dd")
|
||||
private Date startTime;
|
||||
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
@Excel(name = "学历结束时间", width = 30, dateFormat = "yyyy-MM-dd")
|
||||
private Date endTime;
|
||||
|
||||
private int countLike;
|
||||
|
||||
private int countComment;
|
||||
|
||||
// 是否会员;0是1否
|
||||
private int isMember;
|
||||
|
||||
// 话题
|
||||
private List<AppTopic> appTopicList = new ArrayList<>();
|
||||
|
||||
// 图片列表
|
||||
private List<AppDynamicImg> appDynamicImgs = new ArrayList<>();
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("id", getId())
|
||||
.append("userId", getUserId())
|
||||
.append("content", getContent())
|
||||
.append("videoUrl", getVideoUrl())
|
||||
.append("topicId", getTopicId())
|
||||
.append("address", getAddress())
|
||||
.append("privacyStatus", getPrivacyStatus())
|
||||
.append("remark", getRemark())
|
||||
.append("createTime", getCreateTime())
|
||||
.append("updateTime", getUpdateTime())
|
||||
.append("createBy", getCreateBy())
|
||||
.append("updateBy", getUpdateBy())
|
||||
.append("imgUrls", getImgUrls())
|
||||
.append("isTop", getIsTop())
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
|
@ -26,6 +26,7 @@ public interface AppTopicMapper
|
|||
* @return 话题信息集合
|
||||
*/
|
||||
public List<AppTopic> selectAppTopicList(AppTopic appTopic);
|
||||
public List<AppTopic> selectByIdsList(List<Long> ids);
|
||||
|
||||
/**
|
||||
* 新增话题信息
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ package com.ruoyi.app.mapper;
|
|||
|
||||
import java.util.List;
|
||||
import com.ruoyi.app.domain.AppUserDynamic;
|
||||
import com.ruoyi.app.domain.vo.AppUserDynamicVo;
|
||||
|
||||
/**
|
||||
* App用户动态Mapper接口
|
||||
|
|
@ -26,6 +27,7 @@ public interface AppUserDynamicMapper
|
|||
* @return App用户动态集合
|
||||
*/
|
||||
public List<AppUserDynamic> selectAppUserDynamicList(AppUserDynamic appUserDynamic);
|
||||
public List<AppUserDynamicVo> selectDynamicList(AppUserDynamic appUserDynamic);
|
||||
|
||||
/**
|
||||
* 新增App用户动态
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ package com.ruoyi.app.service;
|
|||
|
||||
import java.util.List;
|
||||
import com.ruoyi.app.domain.AppUserDynamic;
|
||||
import com.ruoyi.app.domain.vo.AppUserDynamicVo;
|
||||
|
||||
/**
|
||||
* App用户动态Service接口
|
||||
|
|
@ -26,6 +27,7 @@ public interface IAppUserDynamicService
|
|||
* @return App用户动态集合
|
||||
*/
|
||||
public List<AppUserDynamic> selectAppUserDynamicList(AppUserDynamic appUserDynamic);
|
||||
public List<AppUserDynamicVo> selectDynamicList(AppUserDynamic appUserDynamic);
|
||||
|
||||
/**
|
||||
* 新增App用户动态
|
||||
|
|
|
|||
|
|
@ -3,13 +3,15 @@ package com.ruoyi.app.service.impl;
|
|||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import com.ruoyi.app.domain.AppDynamicComment;
|
||||
import com.ruoyi.app.domain.AppDynamicImg;
|
||||
import com.ruoyi.app.mapper.AppDynamicImgMapper;
|
||||
import com.ruoyi.app.domain.AppDynamicLike;
|
||||
import com.ruoyi.app.domain.vo.AppUserDynamicVo;
|
||||
import com.ruoyi.app.mapper.*;
|
||||
import com.ruoyi.common.core.utils.DateUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.ruoyi.app.mapper.AppUserDynamicMapper;
|
||||
import com.ruoyi.app.domain.AppUserDynamic;
|
||||
import com.ruoyi.app.service.IAppUserDynamicService;
|
||||
|
||||
|
|
@ -28,6 +30,15 @@ public class AppUserDynamicServiceImpl implements IAppUserDynamicService
|
|||
@Autowired
|
||||
private AppDynamicImgMapper appDynamicImgMapper;
|
||||
|
||||
@Autowired
|
||||
private AppDynamicLikeMapper appDynamicLikeMapper;
|
||||
|
||||
@Autowired
|
||||
private AppDynamicCommentMapper appDynamicCommentMapper;
|
||||
|
||||
@Autowired
|
||||
private AppTopicMapper appTopicMapper;
|
||||
|
||||
/**
|
||||
* 查询App用户动态
|
||||
*
|
||||
|
|
@ -124,4 +135,30 @@ public class AppUserDynamicServiceImpl implements IAppUserDynamicService
|
|||
appDynamicImgMapper.deleteAppDynamicImgByDynamicId(id);
|
||||
return appUserDynamicMapper.deleteAppUserDynamicById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<AppUserDynamicVo> selectDynamicList(AppUserDynamic appUserDynamic) {
|
||||
List<AppUserDynamicVo> list = appUserDynamicMapper.selectDynamicList(appUserDynamic);
|
||||
for (AppUserDynamicVo appUserDynamicVo : list) {
|
||||
Long id = appUserDynamicVo.getId();
|
||||
// 图片信息
|
||||
AppDynamicImg appDynamicImg = new AppDynamicImg();
|
||||
appDynamicImg.setUserDynamicId(id);
|
||||
appUserDynamicVo.setAppDynamicImgs(appDynamicImgMapper.selectAppDynamicImgList(appDynamicImg));
|
||||
// 话题信息
|
||||
if (StringUtils.isNotBlank(appUserDynamicVo.getTopicId())) {
|
||||
List ids = Arrays.asList(appUserDynamicVo.getTopicId().split(","));
|
||||
appUserDynamicVo.setAppTopicList(appTopicMapper.selectByIdsList(ids));
|
||||
}
|
||||
// 点赞数
|
||||
AppDynamicLike appDynamicLike = new AppDynamicLike();
|
||||
appDynamicLike.setDynamicId(id);
|
||||
appUserDynamicVo.setCountLike(appDynamicLikeMapper.selectAppDynamicLikeList(appDynamicLike).size());
|
||||
// 评论数
|
||||
AppDynamicComment appDynamicComment = new AppDynamicComment();
|
||||
appDynamicComment.setDynamicId(id);
|
||||
appUserDynamicVo.setCountComment(appDynamicCommentMapper.selectAppDynamicCommentList(appDynamicComment).size());
|
||||
}
|
||||
return appUserDynamicMapper.selectDynamicList(appUserDynamic);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,6 +25,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<if test="updateBy != null and updateBy != ''"> and updateBy = #{updateBy}</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="selectByIdsList" resultMap="AppTopicResult">
|
||||
<include refid="selectAppTopicVo"/>
|
||||
<where>
|
||||
<if test="ids != null">
|
||||
and id in
|
||||
<foreach collection="ids" item="item" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="selectAppTopicById" parameterType="Long" resultMap="AppTopicResult">
|
||||
<include refid="selectAppTopicVo"/>
|
||||
|
|
|
|||
|
|
@ -37,6 +37,30 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<if test="isTop != null "> and is_top = #{isTop}</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="selectDynamicList" parameterType="AppUserDynamic" resultType="com.ruoyi.app.domain.vo.AppUserDynamicVo">
|
||||
select a.id as "id",a.user_id as "userId",a.content as "content",a.video_url as "videoUrl",a.topic_id as "topicId",a.address as "address",
|
||||
a.privacy_status as "privacyStatus",
|
||||
u.username as "username",
|
||||
u.avatar_url as "avatarUrl",
|
||||
u.education as "education",
|
||||
u.school as "school",
|
||||
u.major as "major",
|
||||
u.start_time as "startTime",
|
||||
u.end_time as "endTime"
|
||||
from app_user_dynamic a
|
||||
left join app_user u on u.id = a.user_id
|
||||
<where>
|
||||
<if test="userId != null "> and user_id = #{userId}</if>
|
||||
<if test="content != null and content != ''"> and content = #{content}</if>
|
||||
<if test="videoUrl != null and videoUrl != ''"> and video_url = #{videoUrl}</if>
|
||||
<if test="topicId != null "> and topic_id like concat('%',#{topicId},'%')</if>
|
||||
<if test="address != null and address != ''"> and address = #{address}</if>
|
||||
<if test="privacyStatus != null "> and privacy_status = #{privacyStatus}</if>
|
||||
<if test="updateBy != null and updateBy != ''"> and updateBy = #{updateBy}</if>
|
||||
<if test="isTop != null "> and is_top = #{isTop}</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="selectAppUserDynamicById" parameterType="Long" resultMap="AppUserDynamicResult">
|
||||
<include refid="selectAppUserDynamicVo"/>
|
||||
|
|
|
|||
Loading…
Reference in New Issue