This commit is contained in:
dute7liang
2023-12-30 21:19:44 +08:00
parent 6e56989d0f
commit 6c856eebfb
6 changed files with 99 additions and 0 deletions

View File

@@ -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<UserListVo> page(PageQuery pageQuery){
Page<UserListVo> page = userBlacklistService.pageApp(pageQuery, LoginHelper.getUserId());
return TableDataInfo.build(page);
}
@PostMapping("black")
@Operation(summary = "拉黑操作 如果已经给拉黑则放开")
public R<Boolean> black(@RequestBody BlackQuery query){
Long userId = LoginHelper.getUserId();
boolean b = userBlacklistService.black(userId,query.getBlackUserId(),query.getActionType());
return R.ok(b);
}
}

View File

@@ -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;
}

View File

@@ -1,7 +1,10 @@
package com.ruoyi.cai.mapper; package com.ruoyi.cai.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; 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.domain.CaiUserBlacklist;
import com.ruoyi.cai.dto.app.vo.user.UserListVo;
import org.apache.ibatis.annotations.Param;
/** /**
* 用户黑名单Mapper接口 * 用户黑名单Mapper接口
@@ -11,4 +14,5 @@ import com.ruoyi.cai.domain.CaiUserBlacklist;
*/ */
public interface CaiUserBlacklistMapper extends BaseMapper< CaiUserBlacklist> { public interface CaiUserBlacklistMapper extends BaseMapper< CaiUserBlacklist> {
Page<UserListVo> pageApp(@Param("build") Page<Object> build, @Param("userId") Long userId);
} }

View File

@@ -1,7 +1,10 @@
package com.ruoyi.cai.service; package com.ruoyi.cai.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.cai.domain.CaiUserBlacklist; import com.ruoyi.cai.domain.CaiUserBlacklist;
import com.ruoyi.cai.dto.app.vo.user.UserListVo;
import com.ruoyi.common.core.domain.PageQuery;
/** /**
* 用户黑名单Service接口 * 用户黑名单Service接口
@@ -11,4 +14,11 @@ import com.ruoyi.cai.domain.CaiUserBlacklist;
*/ */
public interface CaiUserBlacklistService extends IService<CaiUserBlacklist> { public interface CaiUserBlacklistService extends IService<CaiUserBlacklist> {
/**
*
* @param actionType 1-拉黑 2-取消拉黑
*/
boolean black(Long userId, Long blackUserId,Integer actionType);
Page<UserListVo> pageApp(PageQuery pageQuery, Long userId);
} }

View File

@@ -1,11 +1,17 @@
package com.ruoyi.cai.service.impl; 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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.cai.domain.CaiUserBlacklist; 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.mapper.CaiUserBlacklistMapper;
import com.ruoyi.cai.service.CaiUserBlacklistService; import com.ruoyi.cai.service.CaiUserBlacklistService;
import com.ruoyi.common.core.domain.PageQuery;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
/** /**
* 用户黑名单Service业务层处理 * 用户黑名单Service业务层处理
* *
@@ -14,4 +20,26 @@ import org.springframework.stereotype.Service;
*/ */
@Service @Service
public class CaiUserBlacklistServiceImpl extends ServiceImpl<CaiUserBlacklistMapper,CaiUserBlacklist> implements CaiUserBlacklistService { public class CaiUserBlacklistServiceImpl extends ServiceImpl<CaiUserBlacklistMapper,CaiUserBlacklist> 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<UserListVo> pageApp(PageQuery pageQuery, Long userId) {
return baseMapper.pageApp(pageQuery.build(),userId);
}
} }

View File

@@ -10,6 +10,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="blackUid" column="black_uid"/> <result property="blackUid" column="black_uid"/>
<result property="createTime" column="create_time"/> <result property="createTime" column="create_time"/>
</resultMap> </resultMap>
<select id="pageApp" resultType="com.ruoyi.cai.dto.app.vo.user.UserListVo">
select t2.avatar,t2.gender,t2.city,t2.nickname,t2.usercode,t2.age
from cai_user_blacklist t1
join cai_user t2 on t1.user_id = t2.id
where t1.user_id = #{userId}
</select>
</mapper> </mapper>