diff --git a/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/controller/AppUserDynamicController.java b/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/controller/AppUserDynamicController.java index 20a4ab8..6e8eb8f 100644 --- a/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/controller/AppUserDynamicController.java +++ b/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/controller/AppUserDynamicController.java @@ -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 list = appUserDynamicService.selectDynamicList(appUserDynamic); + return getDataTable(list); + } + /** * 导出App用户动态列表 */ diff --git a/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/domain/vo/AppUserDynamicVo.java b/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/domain/vo/AppUserDynamicVo.java new file mode 100644 index 0000000..76ae66e --- /dev/null +++ b/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/domain/vo/AppUserDynamicVo.java @@ -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 appTopicList = new ArrayList<>(); + + // 图片列表 + private List 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(); + } +} diff --git a/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/mapper/AppTopicMapper.java b/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/mapper/AppTopicMapper.java index 9038140..f8fb991 100644 --- a/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/mapper/AppTopicMapper.java +++ b/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/mapper/AppTopicMapper.java @@ -26,6 +26,7 @@ public interface AppTopicMapper * @return 话题信息集合 */ public List selectAppTopicList(AppTopic appTopic); + public List selectByIdsList(List ids); /** * 新增话题信息 diff --git a/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/mapper/AppUserDynamicMapper.java b/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/mapper/AppUserDynamicMapper.java index b0991c3..14a854d 100644 --- a/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/mapper/AppUserDynamicMapper.java +++ b/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/mapper/AppUserDynamicMapper.java @@ -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 selectAppUserDynamicList(AppUserDynamic appUserDynamic); + public List selectDynamicList(AppUserDynamic appUserDynamic); /** * 新增App用户动态 diff --git a/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/service/IAppUserDynamicService.java b/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/service/IAppUserDynamicService.java index ade1c08..e32a6cf 100644 --- a/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/service/IAppUserDynamicService.java +++ b/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/service/IAppUserDynamicService.java @@ -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 selectAppUserDynamicList(AppUserDynamic appUserDynamic); + public List selectDynamicList(AppUserDynamic appUserDynamic); /** * 新增App用户动态 diff --git a/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/service/impl/AppUserDynamicServiceImpl.java b/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/service/impl/AppUserDynamicServiceImpl.java index c6094e2..618c7d4 100644 --- a/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/service/impl/AppUserDynamicServiceImpl.java +++ b/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/service/impl/AppUserDynamicServiceImpl.java @@ -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 selectDynamicList(AppUserDynamic appUserDynamic) { + List 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); + } } diff --git a/gan-modules/ruoyi-gan/src/main/resources/mapper/app/AppTopicMapper.xml b/gan-modules/ruoyi-gan/src/main/resources/mapper/app/AppTopicMapper.xml index 477f09d..39ddbac 100644 --- a/gan-modules/ruoyi-gan/src/main/resources/mapper/app/AppTopicMapper.xml +++ b/gan-modules/ruoyi-gan/src/main/resources/mapper/app/AppTopicMapper.xml @@ -25,6 +25,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and updateBy = #{updateBy} + + + +