From 4b87cc7b73c4e2c42ded86d2f2487a4e91106057 Mon Sep 17 00:00:00 2001 From: linhw <5331581+linhw11@user.noreply.gitee.com> Date: Fri, 17 May 2024 18:00:15 +0800 Subject: [PATCH] ~ --- .../com/mdd/common/entity/AppContentGift.java | 3 + .../common/mapper/AppCircleContentMapper.java | 6 +- .../mdd/common/vo/CircleContentListedVo.java | 86 +++++++++++++++++++ .../mapper/AppCircleContentMapper.xml | 47 ++++++++++ .../AppCircleContentController.java | 10 +++ .../service/IAppCircleContentService.java | 3 + .../impl/AppCircleContentServiceImpl.java | 21 +++++ .../impl/AppCircleUserServiceImpl.java | 12 +++ 8 files changed, 187 insertions(+), 1 deletion(-) create mode 100644 server/like-common/src/main/java/com/mdd/common/vo/CircleContentListedVo.java diff --git a/server/like-common/src/main/java/com/mdd/common/entity/AppContentGift.java b/server/like-common/src/main/java/com/mdd/common/entity/AppContentGift.java index c4731ef..a5c5c6b 100644 --- a/server/like-common/src/main/java/com/mdd/common/entity/AppContentGift.java +++ b/server/like-common/src/main/java/com/mdd/common/entity/AppContentGift.java @@ -27,6 +27,9 @@ public class AppContentGift implements Serializable { @ApiModelProperty(value = "送礼用户") private Integer userId; + @ApiModelProperty(value = "送礼入口1动态2聊天3圈子内容") + private Integer type; + @ApiModelProperty(value = "礼物图片") private String imgUrl; diff --git a/server/like-common/src/main/java/com/mdd/common/mapper/AppCircleContentMapper.java b/server/like-common/src/main/java/com/mdd/common/mapper/AppCircleContentMapper.java index ccb9430..5e6b055 100644 --- a/server/like-common/src/main/java/com/mdd/common/mapper/AppCircleContentMapper.java +++ b/server/like-common/src/main/java/com/mdd/common/mapper/AppCircleContentMapper.java @@ -1,10 +1,12 @@ package com.mdd.common.mapper; import com.mdd.common.core.basics.IBaseMapper; -import com.mdd.common.entity.AppCircle; import com.mdd.common.entity.AppCircleContent; +import com.mdd.common.vo.CircleContentListedVo; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * 圈子内容信息Mapper * @author LikeAdmin @@ -12,4 +14,6 @@ import org.apache.ibatis.annotations.Mapper; @Mapper public interface AppCircleContentMapper extends IBaseMapper { void updateByPlateId(Integer plateId); + + List listCircleContent(AppCircleContent appCircleContent); } diff --git a/server/like-common/src/main/java/com/mdd/common/vo/CircleContentListedVo.java b/server/like-common/src/main/java/com/mdd/common/vo/CircleContentListedVo.java new file mode 100644 index 0000000..7e4149b --- /dev/null +++ b/server/like-common/src/main/java/com/mdd/common/vo/CircleContentListedVo.java @@ -0,0 +1,86 @@ +package com.mdd.common.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +@Data +@ApiModel("圈子内容信息列表Vo") +public class CircleContentListedVo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键") + private Integer id; + + @ApiModelProperty(value = "圈子id") + private Integer circleId; + + @ApiModelProperty(value = "创建用户id") + private Integer userId; + + @ApiModelProperty(value = "图片,多张用逗号分隔") + private String imgUrl; + + @ApiModelProperty(value = "视频地址") + private String videoUrl; + + @ApiModelProperty(value = "引用类型1动态2圈子内容3心愿单") + private Integer citeType; + + @ApiModelProperty(value = "引用类型=1为动态id;=2为圈子内容id;=3为心愿单内容id") + private Integer citeId; + + @ApiModelProperty(value = "是否置顶1是2否") + private Integer isTop; + + @ApiModelProperty(value = "是否屏蔽1是2否") + private Integer isShield; + + @ApiModelProperty(value = "是否开启sos1是2否") + private Integer isSos; + + @ApiModelProperty(value = "是否推荐1是2否") + private Integer isTj; + + @ApiModelProperty(value = "板块id") + private Integer plateId; + + @ApiModelProperty(value = "是否圈主1是2否") + private Integer isOwner; + + @ApiModelProperty(value = "是否是管理员1是2否") + private Integer isAdmin; + + @ApiModelProperty(value = "位置") + private String address; + + @ApiModelProperty(value = "创建时间") + private String createTime; + + @ApiModelProperty(value = "更新时间") + private String updateTime; + + @ApiModelProperty(value = "头像") + private String avatar; + + @ApiModelProperty(value = "用户账号") + private String username; + + @ApiModelProperty(value = "用户性别: [1=男, 2=女]") + private Integer sex; + + @ApiModelProperty(value = "点赞数") + private Integer countLike; + + @ApiModelProperty(value = "分享数") + private Integer countShare; + + @ApiModelProperty(value = "评论数") + private Integer countComment; + + @ApiModelProperty(value = "礼物数") + private Integer countGift; +} diff --git a/server/like-common/src/main/resources/mapper/AppCircleContentMapper.xml b/server/like-common/src/main/resources/mapper/AppCircleContentMapper.xml index 1e6e28d..1a02fd7 100644 --- a/server/like-common/src/main/resources/mapper/AppCircleContentMapper.xml +++ b/server/like-common/src/main/resources/mapper/AppCircleContentMapper.xml @@ -3,10 +3,57 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> + + a.id as "id", + a.circle_id as "circleId", + a.user_id as "userId", + a.img_url as "imgUrl", + a.video_url as "videoUrl", + a.cite_type as "citeType", + a.cite_id as "citeId", + a.is_top as "isTop", + a.is_shield as "isShield", + a.is_sos as "isSos", + a.is_tj as "isTj", + a.plate_id as "plateId", + a.is_owner as "isOwner", + a.is_admin as "isAdmin", + a.address as "address", + a.create_time as "createTime" + + update la_app_circle_content set plate_id = null where plate_id = #{plateId} + + \ No newline at end of file diff --git a/server/like-front/src/main/java/com/mdd/front/controller/AppCircleContentController.java b/server/like-front/src/main/java/com/mdd/front/controller/AppCircleContentController.java index f0615f2..6a11ef0 100644 --- a/server/like-front/src/main/java/com/mdd/front/controller/AppCircleContentController.java +++ b/server/like-front/src/main/java/com/mdd/front/controller/AppCircleContentController.java @@ -1,5 +1,7 @@ package com.mdd.front.controller; +import com.github.pagehelper.PageInfo; +import com.mdd.common.vo.CircleContentListedVo; import com.mdd.front.aop.Log; import com.mdd.front.service.IAppCircleContentService; import com.mdd.front.validate.common.IdValidate; @@ -35,6 +37,14 @@ public class AppCircleContentController { return AjaxResult.success(list); } + @GetMapping("/pageList") + @ApiOperation(value="圈子列表-请用这个") + public AjaxResult> pageList(@Validated PageValidate pageValidate, + @Validated AppCircleContentSearchValidate searchValidate) { + PageInfo list = iAppCircleContentService.pageList(pageValidate, searchValidate); + return AjaxResult.success(list); + } + @GetMapping("/detail") @ApiOperation(value="圈子内容信息详情") public AjaxResult detail(@Validated @IDMust() @RequestParam("id") Integer id) { diff --git a/server/like-front/src/main/java/com/mdd/front/service/IAppCircleContentService.java b/server/like-front/src/main/java/com/mdd/front/service/IAppCircleContentService.java index 2cebd57..394dfa8 100644 --- a/server/like-front/src/main/java/com/mdd/front/service/IAppCircleContentService.java +++ b/server/like-front/src/main/java/com/mdd/front/service/IAppCircleContentService.java @@ -1,5 +1,7 @@ package com.mdd.front.service; +import com.github.pagehelper.PageInfo; +import com.mdd.common.vo.CircleContentListedVo; import com.mdd.front.validate.common.PageValidate; import com.mdd.front.validate.AppCircleContentCreateValidate; import com.mdd.front.validate.AppCircleContentUpdateValidate; @@ -23,6 +25,7 @@ public interface IAppCircleContentService { * @return PageResult */ PageResult list(PageValidate pageValidate, AppCircleContentSearchValidate searchValidate); + PageInfo pageList(PageValidate pageValidate, AppCircleContentSearchValidate searchValidate); /** * 圈子内容信息详情 diff --git a/server/like-front/src/main/java/com/mdd/front/service/impl/AppCircleContentServiceImpl.java b/server/like-front/src/main/java/com/mdd/front/service/impl/AppCircleContentServiceImpl.java index d8908b8..df78290 100644 --- a/server/like-front/src/main/java/com/mdd/front/service/impl/AppCircleContentServiceImpl.java +++ b/server/like-front/src/main/java/com/mdd/front/service/impl/AppCircleContentServiceImpl.java @@ -3,6 +3,8 @@ package com.mdd.front.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; import com.mdd.common.core.PageResult; import com.mdd.common.entity.AppCircle; import com.mdd.common.entity.AppCircleContent; @@ -14,6 +16,8 @@ import com.mdd.common.mapper.AppCirclePlateMapper; import com.mdd.common.mapper.AppCircleUserMapper; import com.mdd.common.util.RedisUtils; import com.mdd.common.util.TimeUtils; +import com.mdd.common.vo.AppCircleVo; +import com.mdd.common.vo.CircleContentListedVo; import com.mdd.front.service.IAppCircleContentService; import com.mdd.front.validate.AppCircleContentCreateValidate; import com.mdd.front.validate.AppCircleContentSearchValidate; @@ -102,6 +106,23 @@ public class AppCircleContentServiceImpl implements IAppCircleContentService { return PageResult.iPageHandle(iPage.getTotal(), iPage.getCurrent(), iPage.getSize(), list); } + @Override + public PageInfo pageList(PageValidate pageValidate, AppCircleContentSearchValidate searchValidate) { + AppCircleContent appCircleContent = new AppCircleContent(); + BeanUtils.copyProperties(searchValidate,appCircleContent); + Integer pageNo = pageValidate.getPageNo(); + Integer pageSize = pageValidate.getPageSize(); + PageHelper.startPage(pageNo, pageSize); + PageInfo page = new PageInfo(appCircleContentMapper.listCircleContent(appCircleContent)); + List list = page.getList(); + for (CircleContentListedVo circleContentListedVo : list) { + Object share = RedisUtils.get(shareRedisKey + circleContentListedVo.getId()); + circleContentListedVo.setCountShare(share == null ? 0 : Integer.valueOf(share.toString())); + } + page.setList(list); + return page; + } + /** * 圈子内容信息详情 * diff --git a/server/like-front/src/main/java/com/mdd/front/service/impl/AppCircleUserServiceImpl.java b/server/like-front/src/main/java/com/mdd/front/service/impl/AppCircleUserServiceImpl.java index 67a9a43..af9ed1b 100644 --- a/server/like-front/src/main/java/com/mdd/front/service/impl/AppCircleUserServiceImpl.java +++ b/server/like-front/src/main/java/com/mdd/front/service/impl/AppCircleUserServiceImpl.java @@ -118,6 +118,18 @@ public class AppCircleUserServiceImpl implements IAppCircleUserService { .eq("is_delete", 0) .last("limit 1")); Assert.notNull(appCircle, "圈子数据不存在"); + List adminIds = Arrays.asList(appCircle.getAdminIds().split(",")); + if (adminIds.size() >= 4) { + Assert.notNull(null, "管理员位数已达到最高限制!"); + } + if (adminIds.contains(createValidate.getUserId())) { + Assert.notNull(null, "该用户已经是管理员不能重复设置!"); + } + AppCircle entity = new AppCircle(); + entity.setId(appCircle.getId()); + entity.setUpdateTime(System.currentTimeMillis() / 1000); + entity.setAdminIds(appCircle.getAdminIds() + createValidate.getUserId() + ","); + appCircleMapper.updateById(entity); AppCircleUser model = new AppCircleUser(); model.setCircleId(createValidate.getCircleId());