Pārlūkot izejas kodu

新增拉黑用户接口

fangqing 5 mēneši atpakaļ
vecāks
revīzija
d36f9a6b32

+ 38 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java

@@ -13,19 +13,26 @@ import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.common.exception.user.CaptchaException;
 import com.ruoyi.common.exception.user.CaptchaExpireException;
 import com.ruoyi.common.exception.user.CaptchaNullException;
+import com.ruoyi.common.exception.user.ProjectException;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.file.FileUploadUtils;
 import com.ruoyi.common.utils.file.MimeTypeUtils;
 import com.ruoyi.framework.web.service.TokenService;
+import com.ruoyi.generator.domain.Community.CommunityUserBlock;
 import com.ruoyi.generator.domain.Community.CommunityUserInfo;
 import com.ruoyi.generator.mapper.community.CommunityUserInfoMapper;
+import com.ruoyi.generator.service.ICommunityUserBlockService;
 import com.ruoyi.system.service.ISysUserService;
+import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
+import java.util.Objects;
+
 /**
  * 个人信息 业务处理
  *
@@ -43,6 +50,11 @@ public class SysProfileController extends BaseController {
     @Autowired
     private CommunityUserInfoMapper communityUserInfoMapper;
 
+    @Autowired
+    private ICommunityUserBlockService communityUserBlockService;
+
+
+
     @Autowired
     private RedisCache redisCache;
 
@@ -185,4 +197,30 @@ public class SysProfileController extends BaseController {
             throw new CaptchaExpireException();
         }
     }
+
+
+    /**
+     * 拉黑用户
+     */
+    @ApiOperation("拉黑用户")
+    @PostMapping("/blockUser")
+    @Transactional
+    //@Anonymous
+    public AjaxResult blockTag(@RequestBody CommunityUserBlock communityUserBlock) {
+        if (Objects.isNull(communityUserBlock.getUserId()) || Objects.isNull(communityUserBlock.getPeerId())) {
+            return AjaxResult.error("参数异常!");
+        }
+        CommunityUserBlock communityTagBlock = null;
+        try {
+            communityTagBlock = communityUserBlockService.blockUser(communityUserBlock);
+        } catch (Exception e) {
+            throw new ProjectException();
+        }
+
+        return AjaxResult.success(communityTagBlock);
+    }
+
+
+
+
 }

+ 71 - 0
ruoyi-generator/src/main/java/com/ruoyi/generator/domain/Community/CommunityUserBlock.java

@@ -0,0 +1,71 @@
+package com.ruoyi.generator.domain.Community;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 用户 用户拉黑表 By Qing
+ * @TableName community_user_privacy
+ */
+@Data
+@TableName("community_user_block")
+public class CommunityUserBlock implements Serializable  {
+
+    /**
+     * 唯一id
+     */
+    @NotNull(message = "[唯一id]不能为空")
+    @ApiModelProperty("唯一id")
+    @TableId("id")
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long id;
+    /**
+     * 用户id
+     */
+    @ApiModelProperty("用户id")
+    private Long userId;
+    /**
+     * 标签id
+     */
+    @ApiModelProperty("对方用户id")
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long peerId;
+    /**
+     * 是否已拉黑
+     */
+    @ApiModelProperty("是否已拉黑")
+    private boolean isBlock;
+    /**
+     * 创建人
+     */
+    @ApiModelProperty("创建人")
+    private Long createBy;
+    /**
+     * 创建时间
+     */
+    @ApiModelProperty("创建时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:ss:mm")
+    private Date createTime;
+
+    /**
+     * 更新人
+     */
+    @ApiModelProperty("更新人")
+    private Long updateBy;
+    /**
+     * 更新时间
+     */
+    @ApiModelProperty("更新时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:ss:mm")
+    private Date updateTime;
+
+}

+ 10 - 0
ruoyi-generator/src/main/java/com/ruoyi/generator/mapper/community/CommunityUserBlockMapper.java

@@ -0,0 +1,10 @@
+package com.ruoyi.generator.mapper.community;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.generator.domain.Community.CommunityTag;
+import com.ruoyi.generator.domain.Community.CommunityUserBlock;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface CommunityUserBlockMapper extends BaseMapper<CommunityUserBlock> {
+}

+ 51 - 0
ruoyi-generator/src/main/java/com/ruoyi/generator/service/CommunityUserBlockServiceImpl.java

@@ -0,0 +1,51 @@
+package com.ruoyi.generator.service;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.generator.domain.Community.CommunityUserBlock;
+import com.ruoyi.generator.mapper.community.CommunityUserBlockMapper;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class CommunityUserBlockServiceImpl extends ServiceImpl<CommunityUserBlockMapper, CommunityUserBlock> implements ICommunityUserBlockService {
+
+    @Autowired
+    private CommunityUserBlockMapper communityUserBlockMapper;
+
+
+
+    /**
+     * 拉黑用户
+     *
+     * @param communityUserBlock 拉黑用户记录
+     */
+    @Override
+    public CommunityUserBlock blockUser(CommunityUserBlock communityUserBlock) {
+        CommunityUserBlock userBlock = communityUserBlockMapper.selectOne(new QueryWrapper<CommunityUserBlock>()
+                .eq("user_id", communityUserBlock.getUserId())
+                .eq("peer_id", communityUserBlock.getPeerId()));
+
+        if (userBlock != null) {
+            //是否拉黑
+            if (communityUserBlock.isBlock() == userBlock.isBlock()) {
+                return communityUserBlock;
+            }
+            userBlock.setBlock(communityUserBlock.isBlock());
+            userBlock.setUpdateBy(communityUserBlock.getUserId());
+            userBlock.setUpdateTime(DateUtils.parseDate(DateUtils.getTime()));
+            communityUserBlockMapper.updateById(userBlock);
+            return userBlock;
+        }
+
+        //新增记录
+        userBlock = new CommunityUserBlock();
+        BeanUtils.copyProperties(communityUserBlock, userBlock);
+        userBlock.setCreateBy(communityUserBlock.getUserId());
+        userBlock.setCreateTime(DateUtils.parseDate(DateUtils.getTime()));
+        communityUserBlockMapper.insert(userBlock);
+        return userBlock;
+    }
+}

+ 13 - 0
ruoyi-generator/src/main/java/com/ruoyi/generator/service/ICommunityUserBlockService.java

@@ -0,0 +1,13 @@
+package com.ruoyi.generator.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.generator.domain.Community.CommunityUserBlock;
+
+public interface ICommunityUserBlockService extends IService<CommunityUserBlock> {
+    /**
+     * 拉黑用户
+     * @param communityUserBlock 拉黑用户
+     * @return
+     */
+    CommunityUserBlock blockUser(CommunityUserBlock communityUserBlock);
+}