From ce3a93b9355a935e2c9d1969471a9ca93be43e98 Mon Sep 17 00:00:00 2001 From: "kuang.yife" Date: Sun, 18 Feb 2024 15:51:28 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=94=A8=E6=88=B7=E4=B8=8D?= =?UTF-8?q?=E5=96=9C=E6=AC=A2=E5=88=97=E8=A1=A8=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/TbUserBlockAppController.java | 28 ++++ .../app/TbUserSingleAppController.java | 20 +-- .../system/TbUserBlockController.java | 127 ++++++++++++++++++ .../ruoyi/framework/config/ShiroConfig.java | 2 + .../com/ruoyi/system/domain/TbUserBlock.java | 39 ++++++ .../com/ruoyi/system/domain/TbUserSingle.java | 4 + .../system/mapper/TbUserBlockMapper.java | 62 +++++++++ .../system/service/ITbUserBlockService.java | 62 +++++++++ .../service/impl/TbUserBlockServiceImpl.java | 98 ++++++++++++++ .../mapper/system/TbUserBlockMapper.xml | 74 ++++++++++ .../mapper/system/TbUserSingleMapper.xml | 15 ++- 11 files changed, 522 insertions(+), 9 deletions(-) create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/web/controller/app/TbUserBlockAppController.java create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/TbUserBlockController.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/domain/TbUserBlock.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/mapper/TbUserBlockMapper.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/service/ITbUserBlockService.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbUserBlockServiceImpl.java create mode 100644 ruoyi-system/src/main/resources/mapper/system/TbUserBlockMapper.xml diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/app/TbUserBlockAppController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/app/TbUserBlockAppController.java new file mode 100644 index 00000000..bf89d3b0 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/app/TbUserBlockAppController.java @@ -0,0 +1,28 @@ +package com.ruoyi.web.controller.app; + +import com.ruoyi.common.core.domain.Result; +import com.ruoyi.system.domain.TbUserBlock; +import com.ruoyi.system.service.ITbUserBlockService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@Api(tags = "App*不喜欢列表") +@RestController +@RequestMapping(value = "/app/block") +public class TbUserBlockAppController { + + @Autowired + private ITbUserBlockService tbUserBlockService; + + @PostMapping("/add") + @ResponseBody + @ApiOperation(value = "新增不喜欢", httpMethod = "POST") + public Result addSave(@RequestBody TbUserBlock tbUserBlock) + { + tbUserBlockService.insertTbUserBlock(tbUserBlock); + return Result.success(); + } + +} 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 eac9788f..dd3991a1 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,18 +1,13 @@ package com.ruoyi.web.controller.app; +import cn.hutool.core.collection.CollectionUtil; 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.TbMatchSingleSay; -import com.ruoyi.system.domain.TbUserFollow; -import com.ruoyi.system.domain.TbUserImg; -import com.ruoyi.system.domain.TbUserSingle; -import com.ruoyi.system.service.ITbMatchSingleSayService; -import com.ruoyi.system.service.ITbUserFollowService; -import com.ruoyi.system.service.ITbUserImgService; -import com.ruoyi.system.service.ITbUserSingleService; +import com.ruoyi.system.domain.*; +import com.ruoyi.system.service.*; import com.ruoyi.web.request.UserSingleRecommendReq; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; @@ -24,6 +19,7 @@ import org.springframework.web.bind.annotation.*; import java.util.Calendar; import java.util.Date; import java.util.List; +import java.util.stream.Collectors; /** *

登陆相关接口

@@ -46,6 +42,9 @@ public class TbUserSingleAppController { @Autowired private ITbMatchSingleSayService tbMatchSingleSayService; + @Autowired + private ITbUserBlockService tbUserBlockService; + @ResponseBody @PostMapping("/add") @ApiOperation(value = "填写用户信息", httpMethod = "POST") @@ -138,10 +137,15 @@ public class TbUserSingleAppController { }else { notExcludeSex = recommendReq.getSex(); } + // 查询当前人的不喜欢列表 + List tbUserBlocks = tbUserBlockService.lambdaQuery() + .eq(TbUserBlock::getTbUserId, userSingle.getUserId()).list(); + List blockIds = tbUserBlocks.stream().map(TbUserBlock::getBlockUserId).collect(Collectors.toList()); int randomPageNum = 1 + (int) (18 * Math.random()); PageHelper.startPage(randomPageNum, pageSize); List list = tbUserSingleService.lambdaQuery() .ne(ObjectUtil.isNotEmpty(notExcludeSex), TbUserSingle::getSex, notExcludeSex) + .notIn(CollectionUtil.isNotEmpty(blockIds), TbUserSingle::getUserId, blockIds) .orderByDesc(TbUserSingle::getStatus) .list(); list.forEach(model->{ diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/TbUserBlockController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/TbUserBlockController.java new file mode 100644 index 00000000..efceaaf6 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/TbUserBlockController.java @@ -0,0 +1,127 @@ +package com.ruoyi.web.controller.system; + +import java.util.List; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.system.domain.TbUserBlock; +import com.ruoyi.system.service.ITbUserBlockService; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 单身用户不喜欢列Controller + * + * @author ruoyi + * @date 2024-02-18 + */ +@Controller +@RequestMapping("/system/block") +public class TbUserBlockController extends BaseController +{ + private String prefix = "system/block"; + + @Autowired + private ITbUserBlockService tbUserBlockService; + + @RequiresPermissions("system:block:view") + @GetMapping() + public String block() + { + return prefix + "/block"; + } + + /** + * 查询单身用户不喜欢列列表 + */ + @RequiresPermissions("system:block:list") + @PostMapping("/list") + @ResponseBody + public TableDataInfo list(TbUserBlock tbUserBlock) + { + startPage(); + List list = tbUserBlockService.selectTbUserBlockList(tbUserBlock); + return getDataTable(list); + } + + /** + * 导出单身用户不喜欢列列表 + */ + @RequiresPermissions("system:block:export") + @Log(title = "单身用户不喜欢列", businessType = BusinessType.EXPORT) + @PostMapping("/export") + @ResponseBody + public AjaxResult export(TbUserBlock tbUserBlock) + { + List list = tbUserBlockService.selectTbUserBlockList(tbUserBlock); + ExcelUtil util = new ExcelUtil(TbUserBlock.class); + return util.exportExcel(list, "单身用户不喜欢列数据"); + } + + /** + * 新增单身用户不喜欢列 + */ + @GetMapping("/add") + public String add() + { + return prefix + "/add"; + } + + /** + * 新增保存单身用户不喜欢列 + */ + @RequiresPermissions("system:block:add") + @Log(title = "单身用户不喜欢列", businessType = BusinessType.INSERT) + @PostMapping("/add") + @ResponseBody + public AjaxResult addSave(TbUserBlock tbUserBlock) + { + return toAjax(tbUserBlockService.insertTbUserBlock(tbUserBlock)); + } + + /** + * 修改单身用户不喜欢列 + */ + @RequiresPermissions("system:block:edit") + @GetMapping("/edit/{id}") + public String edit(@PathVariable("id") Long id, ModelMap mmap) + { + TbUserBlock tbUserBlock = tbUserBlockService.selectTbUserBlockById(id); + mmap.put("tbUserBlock", tbUserBlock); + return prefix + "/edit"; + } + + /** + * 修改保存单身用户不喜欢列 + */ + @RequiresPermissions("system:block:edit") + @Log(title = "单身用户不喜欢列", businessType = BusinessType.UPDATE) + @PostMapping("/edit") + @ResponseBody + public AjaxResult editSave(TbUserBlock tbUserBlock) + { + return toAjax(tbUserBlockService.updateTbUserBlock(tbUserBlock)); + } + + /** + * 删除单身用户不喜欢列 + */ + @RequiresPermissions("system:block:remove") + @Log(title = "单身用户不喜欢列", businessType = BusinessType.DELETE) + @PostMapping( "/remove") + @ResponseBody + public AjaxResult remove(String ids) + { + return toAjax(tbUserBlockService.deleteTbUserBlockByIds(ids)); + } +} diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ShiroConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ShiroConfig.java index 405cbfe2..2bd8a1da 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ShiroConfig.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ShiroConfig.java @@ -310,6 +310,8 @@ public class ShiroConfig filterChainDefinitionMap.put("/app/img/**", "anon"); // app关注接口 filterChainDefinitionMap.put("/app/follow/**", "anon"); + // app不喜欢接口 + filterChainDefinitionMap.put("/app/block/**", "anon"); // app支付接口 filterChainDefinitionMap.put("/app/matchOrder/**", "anon"); // app合伙人推荐接口 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/TbUserBlock.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/TbUserBlock.java new file mode 100644 index 00000000..779a594e --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/TbUserBlock.java @@ -0,0 +1,39 @@ +package com.ruoyi.system.domain; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 单身用户不喜欢列对象 tb_user_block + * + * @author ruoyi + * @date 2024-02-18 + */ +@Data +@ApiModel(value = "单身用户不喜欢") +@EqualsAndHashCode(callSuper = true) +@TableName(value = "tb_user_block") +public class TbUserBlock extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 主键 */ + private Long id; + + /** 当前用户id */ + @Excel(name = "当前用户id") + @ApiModelProperty(value = "当前用户id") + private Long tbUserId; + + /** 不喜欢用户id */ + @Excel(name = "不喜欢用户id") + @ApiModelProperty(value = "不喜欢用户id") + private Long blockUserId; + + +} 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 97960418..7072153e 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 @@ -48,6 +48,10 @@ public class TbUserSingle extends BaseEntity @ApiModelProperty(value = "微信账号") private String wxNumber; + @Excel(name = "微信状态") + @ApiModelProperty(value = "微信状态 1.开启 0/空.关闭") + private String wxStatus; + /** 真实姓名 */ @Excel(name = "真实姓名") @ApiModelProperty(value = "真实姓名") diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TbUserBlockMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TbUserBlockMapper.java new file mode 100644 index 00000000..298bf4c7 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TbUserBlockMapper.java @@ -0,0 +1,62 @@ +package com.ruoyi.system.mapper; + +import java.util.List; +import com.ruoyi.system.domain.TbUserBlock; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * 单身用户不喜欢列Mapper接口 + * + * @author ruoyi + * @date 2024-02-18 + */ +public interface TbUserBlockMapper extends BaseMapper +{ + /** + * 查询单身用户不喜欢列 + * + * @param id 单身用户不喜欢列主键 + * @return 单身用户不喜欢列 + */ + public TbUserBlock selectTbUserBlockById(Long id); + + /** + * 查询单身用户不喜欢列列表 + * + * @param tbUserBlock 单身用户不喜欢列 + * @return 单身用户不喜欢列集合 + */ + public List selectTbUserBlockList(TbUserBlock tbUserBlock); + + /** + * 新增单身用户不喜欢列 + * + * @param tbUserBlock 单身用户不喜欢列 + * @return 结果 + */ + public int insertTbUserBlock(TbUserBlock tbUserBlock); + + /** + * 修改单身用户不喜欢列 + * + * @param tbUserBlock 单身用户不喜欢列 + * @return 结果 + */ + public int updateTbUserBlock(TbUserBlock tbUserBlock); + + /** + * 删除单身用户不喜欢列 + * + * @param id 单身用户不喜欢列主键 + * @return 结果 + */ + public int deleteTbUserBlockById(Long id); + + /** + * 批量删除单身用户不喜欢列 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteTbUserBlockByIds(String[] ids); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ITbUserBlockService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ITbUserBlockService.java new file mode 100644 index 00000000..90070b67 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ITbUserBlockService.java @@ -0,0 +1,62 @@ +package com.ruoyi.system.service; + +import java.util.List; +import com.ruoyi.system.domain.TbUserBlock; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * 单身用户不喜欢列Service接口 + * + * @author ruoyi + * @date 2024-02-18 + */ +public interface ITbUserBlockService extends IService +{ + /** + * 查询单身用户不喜欢列 + * + * @param id 单身用户不喜欢列主键 + * @return 单身用户不喜欢列 + */ + public TbUserBlock selectTbUserBlockById(Long id); + + /** + * 查询单身用户不喜欢列列表 + * + * @param tbUserBlock 单身用户不喜欢列 + * @return 单身用户不喜欢列集合 + */ + public List selectTbUserBlockList(TbUserBlock tbUserBlock); + + /** + * 新增单身用户不喜欢列 + * + * @param tbUserBlock 单身用户不喜欢列 + * @return 结果 + */ + public int insertTbUserBlock(TbUserBlock tbUserBlock); + + /** + * 修改单身用户不喜欢列 + * + * @param tbUserBlock 单身用户不喜欢列 + * @return 结果 + */ + public int updateTbUserBlock(TbUserBlock tbUserBlock); + + /** + * 批量删除单身用户不喜欢列 + * + * @param ids 需要删除的单身用户不喜欢列主键集合 + * @return 结果 + */ + public int deleteTbUserBlockByIds(String ids); + + /** + * 删除单身用户不喜欢列信息 + * + * @param id 单身用户不喜欢列主键 + * @return 结果 + */ + public int deleteTbUserBlockById(Long id); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbUserBlockServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbUserBlockServiceImpl.java new file mode 100644 index 00000000..5114cf87 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbUserBlockServiceImpl.java @@ -0,0 +1,98 @@ +package com.ruoyi.system.service.impl; + +import java.util.List; +import com.ruoyi.common.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.system.mapper.TbUserBlockMapper; +import com.ruoyi.system.domain.TbUserBlock; +import com.ruoyi.system.service.ITbUserBlockService; +import com.ruoyi.common.core.text.Convert; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * 单身用户不喜欢列Service业务层处理 + * + * @author ruoyi + * @date 2024-02-18 + */ +@Service +public class TbUserBlockServiceImpl extends ServiceImpl implements ITbUserBlockService +{ + @Autowired + private TbUserBlockMapper tbUserBlockMapper; + + /** + * 查询单身用户不喜欢列 + * + * @param id 单身用户不喜欢列主键 + * @return 单身用户不喜欢列 + */ + @Override + public TbUserBlock selectTbUserBlockById(Long id) + { + return tbUserBlockMapper.selectTbUserBlockById(id); + } + + /** + * 查询单身用户不喜欢列列表 + * + * @param tbUserBlock 单身用户不喜欢列 + * @return 单身用户不喜欢列 + */ + @Override + public List selectTbUserBlockList(TbUserBlock tbUserBlock) + { + return tbUserBlockMapper.selectTbUserBlockList(tbUserBlock); + } + + /** + * 新增单身用户不喜欢列 + * + * @param tbUserBlock 单身用户不喜欢列 + * @return 结果 + */ + @Override + public int insertTbUserBlock(TbUserBlock tbUserBlock) + { + tbUserBlock.setCreateTime(DateUtils.getNowDate()); + return tbUserBlockMapper.insertTbUserBlock(tbUserBlock); + } + + /** + * 修改单身用户不喜欢列 + * + * @param tbUserBlock 单身用户不喜欢列 + * @return 结果 + */ + @Override + public int updateTbUserBlock(TbUserBlock tbUserBlock) + { + tbUserBlock.setUpdateTime(DateUtils.getNowDate()); + return tbUserBlockMapper.updateTbUserBlock(tbUserBlock); + } + + /** + * 批量删除单身用户不喜欢列 + * + * @param ids 需要删除的单身用户不喜欢列主键 + * @return 结果 + */ + @Override + public int deleteTbUserBlockByIds(String ids) + { + return tbUserBlockMapper.deleteTbUserBlockByIds(Convert.toStrArray(ids)); + } + + /** + * 删除单身用户不喜欢列信息 + * + * @param id 单身用户不喜欢列主键 + * @return 结果 + */ + @Override + public int deleteTbUserBlockById(Long id) + { + return tbUserBlockMapper.deleteTbUserBlockById(id); + } +} diff --git a/ruoyi-system/src/main/resources/mapper/system/TbUserBlockMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TbUserBlockMapper.xml new file mode 100644 index 00000000..c7cf3089 --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/system/TbUserBlockMapper.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + select id, tb_user_id, block_user_id, create_time, update_time, remark from tb_user_block + + + + + + + + insert into tb_user_block + + tb_user_id, + block_user_id, + create_time, + update_time, + remark, + + + #{tbUserId}, + #{blockUserId}, + #{createTime}, + #{updateTime}, + #{remark}, + + + + + update tb_user_block + + tb_user_id = #{tbUserId}, + block_user_id = #{blockUserId}, + create_time = #{createTime}, + update_time = #{updateTime}, + remark = #{remark}, + + where id = #{id} + + + + delete from tb_user_block where id = #{id} + + + + delete from tb_user_block where id in + + #{id} + + + + \ No newline at end of file diff --git a/ruoyi-system/src/main/resources/mapper/system/TbUserSingleMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TbUserSingleMapper.xml index 3a4b93f8..857f5c6b 100644 --- a/ruoyi-system/src/main/resources/mapper/system/TbUserSingleMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/TbUserSingleMapper.xml @@ -32,10 +32,17 @@ + + - select id, user_id, nick_name, real_name, sex, status, birthday, height, weight, education, school, marriage, job, income, native_place, work_place, province_id, city_id, house_property, car_property, self_introduce, family_background, hobby, choosing_standard, create_time, update_time, remark from tb_user_single + select id, user_id, nick_name, + real_name, sex, status, birthday, height, weight, + education, school, marriage, job, income, native_place, + work_place, province_id, city_id, house_property, car_property, + self_introduce, family_background, hobby, choosing_standard, create_time, + update_time, remark, wx_number, wx_status from tb_user_single