diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/controller/app/UserBlackAppController.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/controller/app/UserBlackAppController.java new file mode 100644 index 00000000..cdc04f35 --- /dev/null +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/controller/app/UserBlackAppController.java @@ -0,0 +1,38 @@ +package com.ruoyi.cai.controller.app; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.cai.dto.app.query.BlackQuery; +import com.ruoyi.cai.dto.app.vo.user.UserListVo; +import com.ruoyi.cai.service.CaiUserBlacklistService; +import com.ruoyi.common.core.domain.PageQuery; +import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.helper.LoginHelper; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("/api/user/black") +@Tag(name = "用户黑名单接口") +public class UserBlackAppController { + + @Autowired + private CaiUserBlacklistService userBlacklistService; + + @GetMapping("page") + @Operation(summary = "用户黑名单查询") + public TableDataInfo page(PageQuery pageQuery){ + Page page = userBlacklistService.pageApp(pageQuery, LoginHelper.getUserId()); + return TableDataInfo.build(page); + } + + @PostMapping("black") + @Operation(summary = "拉黑操作 如果已经给拉黑则放开") + public R black(@RequestBody BlackQuery query){ + Long userId = LoginHelper.getUserId(); + boolean b = userBlacklistService.black(userId,query.getBlackUserId(),query.getActionType()); + return R.ok(b); + } +} diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/query/BlackQuery.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/query/BlackQuery.java new file mode 100644 index 00000000..44d0a592 --- /dev/null +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/app/query/BlackQuery.java @@ -0,0 +1,13 @@ +package com.ruoyi.cai.dto.app.query; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +@Schema(description = "拉黑入参") +public class BlackQuery { + @Schema(description = "拉黑的用户的ID") + private Long blackUserId; + @Schema(description = "1-拉黑 2-取消拉黑") + private Integer actionType; +} diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/mapper/CaiUserBlacklistMapper.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/mapper/CaiUserBlacklistMapper.java index 799e3de6..7d1e9cf0 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/mapper/CaiUserBlacklistMapper.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/mapper/CaiUserBlacklistMapper.java @@ -1,7 +1,10 @@ package com.ruoyi.cai.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.cai.domain.CaiUserBlacklist; +import com.ruoyi.cai.dto.app.vo.user.UserListVo; +import org.apache.ibatis.annotations.Param; /** * 用户黑名单Mapper接口 @@ -11,4 +14,5 @@ import com.ruoyi.cai.domain.CaiUserBlacklist; */ public interface CaiUserBlacklistMapper extends BaseMapper< CaiUserBlacklist> { + Page pageApp(@Param("build") Page build, @Param("userId") Long userId); } diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/CaiUserBlacklistService.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/CaiUserBlacklistService.java index a1f30495..2843be16 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/CaiUserBlacklistService.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/CaiUserBlacklistService.java @@ -1,7 +1,10 @@ package com.ruoyi.cai.service; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.cai.domain.CaiUserBlacklist; +import com.ruoyi.cai.dto.app.vo.user.UserListVo; +import com.ruoyi.common.core.domain.PageQuery; /** * 用户黑名单Service接口 @@ -11,4 +14,11 @@ import com.ruoyi.cai.domain.CaiUserBlacklist; */ public interface CaiUserBlacklistService extends IService { + /** + * + * @param actionType 1-拉黑 2-取消拉黑 + */ + boolean black(Long userId, Long blackUserId,Integer actionType); + + Page pageApp(PageQuery pageQuery, Long userId); } diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/CaiUserBlacklistServiceImpl.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/CaiUserBlacklistServiceImpl.java index a86092e2..a31dd938 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/CaiUserBlacklistServiceImpl.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/CaiUserBlacklistServiceImpl.java @@ -1,11 +1,17 @@ package com.ruoyi.cai.service.impl; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.cai.domain.CaiUserBlacklist; +import com.ruoyi.cai.dto.app.vo.user.UserListVo; import com.ruoyi.cai.mapper.CaiUserBlacklistMapper; import com.ruoyi.cai.service.CaiUserBlacklistService; +import com.ruoyi.common.core.domain.PageQuery; import org.springframework.stereotype.Service; +import java.util.List; + /** * 用户黑名单Service业务层处理 * @@ -14,4 +20,26 @@ import org.springframework.stereotype.Service; */ @Service public class CaiUserBlacklistServiceImpl extends ServiceImpl implements CaiUserBlacklistService { + @Override + public boolean black(Long userId, Long blackUserId,Integer actionType) { + if(userId.equals(blackUserId)){ + throw new SecurityException("不能对自己操作哦"); + } + if(actionType == 1){ // 拉黑 + CaiUserBlacklist userBlacklist = new CaiUserBlacklist(); + userBlacklist.setUserId(userId); + userBlacklist.setBlackUid(blackUserId); + this.save(userBlacklist); + }else { // 取消拉黑 + this.remove(Wrappers.lambdaQuery(CaiUserBlacklist.class) + .eq(CaiUserBlacklist::getUserId,userId) + .eq(CaiUserBlacklist::getBlackUid,blackUserId)); + } + return true; + } + + @Override + public Page pageApp(PageQuery pageQuery, Long userId) { + return baseMapper.pageApp(pageQuery.build(),userId); + } } diff --git a/ruoyi-cai/src/main/resources/mapper/cai/CaiUserBlacklistMapper.xml b/ruoyi-cai/src/main/resources/mapper/cai/CaiUserBlacklistMapper.xml index ba767248..f33e640c 100644 --- a/ruoyi-cai/src/main/resources/mapper/cai/CaiUserBlacklistMapper.xml +++ b/ruoyi-cai/src/main/resources/mapper/cai/CaiUserBlacklistMapper.xml @@ -10,6 +10,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +