From fa3e5d2c0bb0c591e2df7f410c20e1cdb555b205 Mon Sep 17 00:00:00 2001 From: "kuang.yife" Date: Sat, 16 Dec 2023 22:13:23 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=95=E8=BA=AB=E6=8E=A8=E8=8D=90/=E6=96=B0?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/TbUserSingleAppController.java | 47 +++++++++++++++++++ .../web/request/UserSingleRecommendReq.java | 21 +++++++++ .../com/ruoyi/system/domain/TbUserSingle.java | 4 ++ 3 files changed, 72 insertions(+) create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/web/request/UserSingleRecommendReq.java diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/app/TbUserSingleAppController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/app/TbUserSingleAppController.java index e11ad378..840cb0d4 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/app/TbUserSingleAppController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/app/TbUserSingleAppController.java @@ -1,13 +1,17 @@ package com.ruoyi.web.controller.app; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.ruoyi.common.core.domain.Result; +import com.ruoyi.system.domain.TbUserFollow; import com.ruoyi.system.domain.TbUserImg; import com.ruoyi.system.domain.TbUserSingle; +import com.ruoyi.system.service.ITbUserFollowService; import com.ruoyi.system.service.ITbUserImgService; import com.ruoyi.system.service.ITbUserSingleService; +import com.ruoyi.web.request.UserSingleRecommendReq; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -32,6 +36,9 @@ public class TbUserSingleAppController { @Autowired private ITbUserImgService tbUserImgService; + @Autowired + private ITbUserFollowService tbUserFollowService; + @ResponseBody @PostMapping("/add") @ApiOperation(value = "填写用户信息", httpMethod = "POST") @@ -93,6 +100,46 @@ public class TbUserSingleAppController { return Result.success(PageInfo.of(list)); } + @ResponseBody + @PostMapping("/recommendForSingle") + @ApiOperation(value = "单身获取推荐用户", httpMethod = "POST") + @ApiImplicitParams({ @ApiImplicitParam(name = "pageNum", value = "当前页码", required = true, dataType = "int"), + @ApiImplicitParam(name = "pageSize", value = "每页显示的条数", required = true, dataType = "int") }) + public Result> recommendForSingle(@RequestBody UserSingleRecommendReq recommendReq, + @RequestParam("pageNum") int pageNum, + @RequestParam("pageSize") int pageSize) { + Long notExcludeSex = null; + // 获取当前登陆人信息 + TbUserSingle userSingle = tbUserSingleService.lambdaQuery().eq(TbUserSingle::getUserId, recommendReq.getUserId()).one(); + if(userSingle != null){ + notExcludeSex = userSingle.getSex(); + }else { + notExcludeSex = recommendReq.getSex(); + } + PageHelper.startPage(pageNum, pageSize); + List list = tbUserSingleService.lambdaQuery() + .ne(ObjectUtil.isNotEmpty(notExcludeSex), TbUserSingle::getSex, notExcludeSex) + .list(); + list.forEach(model->{ + //填充年纪 + if(model.getBirthday() != null){ + model.setAge(DateUtil.ageOfNow(model.getBirthday())); + } + // 填充用户图片 + model.setTbUserImgList(tbUserImgService.lambdaQuery().eq(TbUserImg::getUserId, model.getUserId()).list()); + // 填充是否已经关注 + if(ObjectUtil.isNotEmpty(userSingle)){ + long count = tbUserFollowService.lambdaQuery().eq(TbUserFollow::getFollowUserId, model.getUserId()) + .eq(TbUserFollow::getUserId, userSingle.getUserId()).count(); + if(count > 0){ + model.setIsLike(true); + } + } + + }); + return Result.success(PageInfo.of(list)); + } + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/request/UserSingleRecommendReq.java b/ruoyi-admin/src/main/java/com/ruoyi/web/request/UserSingleRecommendReq.java new file mode 100644 index 00000000..c77ce927 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/request/UserSingleRecommendReq.java @@ -0,0 +1,21 @@ +package com.ruoyi.web.request; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + *

单身用户推荐入参

+ * @author clunt + */ +@Data +@ApiModel(value = "单身用户推荐入参") +public class UserSingleRecommendReq { + + @ApiModelProperty(value = "当前登陆用户userId") + private Long userId; + + @ApiModelProperty(value = "性别,当用户没有保存性别时使用") + private Long sex; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/TbUserSingle.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/TbUserSingle.java index 37752766..afb14525 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/TbUserSingle.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/TbUserSingle.java @@ -152,4 +152,8 @@ public class TbUserSingle extends BaseEntity @ApiModelProperty(value = "用户各图片附件信息") private List tbUserImgList; + @TableField(exist = false) + @ApiModelProperty(value = "是否是已关注用户,单身推荐专用") + private Boolean isLike = false; + }