车车 10 сар өмнө
parent
commit
cb83930e76

+ 17 - 2
ktg-iscs/src/main/java/com/ktg/iscs/controller/IsBlacklistController.java

@@ -8,6 +8,7 @@ import com.ktg.common.core.controller.BaseController;
 import com.ktg.common.enums.BusinessType;
 import com.ktg.common.pojo.CommonResult;
 import com.ktg.iscs.domain.IsBlacklist;
+import com.ktg.iscs.domain.vo.user.WhiteUserVO;
 import com.ktg.iscs.service.IIsBlacklistService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -18,6 +19,7 @@ import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.Arrays;
+import java.util.List;
 
 /**
  * 黑名单关联Controller
@@ -46,14 +48,27 @@ public class IsBlacklistController extends BaseController
         return CommonResult.success(result);
     }
 
+    @ApiOperation("查询白名单-分页")
+    @Parameters({
+            @Parameter(name = "page", description = "Page"),
+            @Parameter(name = "isBlacklist", description = "实体参数")
+    })
+    @PreAuthorize("@ss.hasPermi('iscs:blacklist:list')")
+    @GetMapping("/getWhiteUserPage")
+    public CommonResult<Page<WhiteUserVO>> getWhiteUserPage(Page page, WhiteUserVO dto)
+    {
+        Page<WhiteUserVO> result = isBlacklistService.getWhiteUserPage(page, dto);
+        return CommonResult.success(result);
+    }
+
 
     @ApiOperation("新增黑名单关联")
     @PreAuthorize("@ss.hasPermi('iscs:blacklist:add')")
     @Log(title = "黑名单关联", businessType = BusinessType.INSERT)
     @PostMapping("/insertIsBlacklist")
-    public CommonResult<Boolean> insertIsBlacklist(@RequestBody @Parameter(name = "isBlacklist", description = "新增数据类,放到body") IsBlacklist isBlacklist)
+    public CommonResult<Boolean> insertIsBlacklist(@RequestBody @Parameter(name = "isBlacklist", description = "新增数据类,放到body") List<IsBlacklist> isBlacklist)
     {
-        return CommonResult.success(isBlacklistService.save(isBlacklist));
+        return CommonResult.success(isBlacklistService.insertIsBlacklist(isBlacklist));
     }
 
     @ApiOperation("删除黑名单关联")

+ 8 - 1
ktg-iscs/src/main/java/com/ktg/iscs/domain/IsBlacklist.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.ktg.common.annotation.Excel;
+import com.ktg.common.core.domain.model.BaseBean;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -16,7 +17,7 @@ import lombok.EqualsAndHashCode;
  */
 @EqualsAndHashCode(callSuper = false)
 @Data
-public class IsBlacklist
+public class IsBlacklist extends BaseBean
 {
     private static final long serialVersionUID = 1L;
 
@@ -32,6 +33,10 @@ public class IsBlacklist
     @TableField(exist = false)
     private String userName;
 
+    @ApiModelProperty(value = "用户Name")
+    @TableField(exist = false)
+    private String nickName;
+
     @ApiModelProperty(value = "岗位Name")
     @TableField(exist = false)
     private String workstationName;
@@ -44,5 +49,7 @@ public class IsBlacklist
     @Excel(name = "物资柜ID")
     private Long cabinetId;
 
+    @ApiModelProperty(value = "删除标志(0代表存在 2代表删除)")
+    private String delFlag;
 
 }

+ 29 - 0
ktg-iscs/src/main/java/com/ktg/iscs/domain/vo/user/WhiteUserVO.java

@@ -0,0 +1,29 @@
+package com.ktg.iscs.domain.vo.user;
+
+import com.ktg.common.core.domain.model.BaseBean;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ *
+ *
+ * @author cgj
+ * @date 2024-10-18
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class WhiteUserVO extends BaseBean
+{
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "记录ID")
+    private Long userId;
+
+    @ApiModelProperty(value = "用户登录名称")
+    private String userName;
+
+    @ApiModelProperty(value = "用户名称")
+    private String nickName;
+
+}

+ 3 - 0
ktg-iscs/src/main/java/com/ktg/iscs/mapper/IsBlacklistMapper.java

@@ -3,6 +3,7 @@ package com.ktg.iscs.mapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ktg.common.mapper.BaseMapperX;
 import com.ktg.iscs.domain.IsBlacklist;
+import com.ktg.iscs.domain.vo.user.WhiteUserVO;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -17,4 +18,6 @@ public interface IsBlacklistMapper extends BaseMapperX<IsBlacklist> {
 
     Page<IsBlacklist> getIsBlacklistPage(Page<IsBlacklist> page, @Param(value = "isBlacklist") IsBlacklist isBlacklist);
 
+    Page<WhiteUserVO> getWhiteUserPage(Page page, @Param(value = "dto") WhiteUserVO dto);
+
 }

+ 7 - 0
ktg-iscs/src/main/java/com/ktg/iscs/service/IIsBlacklistService.java

@@ -3,6 +3,9 @@ package com.ktg.iscs.service;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ktg.iscs.domain.IsBlacklist;
+import com.ktg.iscs.domain.vo.user.WhiteUserVO;
+
+import java.util.List;
 
 /**
  * 黑名单关联Service接口
@@ -14,4 +17,8 @@ public interface IIsBlacklistService extends IService<IsBlacklist> {
 
     Page<IsBlacklist> getIsBlacklistPage(Page<IsBlacklist> page, IsBlacklist isBlacklist);
 
+    Page<WhiteUserVO> getWhiteUserPage(Page page, WhiteUserVO dto);
+
+    Boolean insertIsBlacklist(List<IsBlacklist> isBlacklist);
+
 }

+ 28 - 2
ktg-iscs/src/main/java/com/ktg/iscs/service/impl/IsBlacklistServiceImpl.java

@@ -1,13 +1,19 @@
 package com.ktg.iscs.service.impl;
 
+import cn.hutool.core.lang.Assert;
+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.ktg.iscs.domain.IsBlacklist;
+import com.ktg.iscs.domain.vo.user.WhiteUserVO;
 import com.ktg.iscs.mapper.IsBlacklistMapper;
 import com.ktg.iscs.service.IIsBlacklistService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+import java.util.stream.Collectors;
+
 /**
  * 黑名单关联Service业务层处理
  *
@@ -22,8 +28,28 @@ public class IsBlacklistServiceImpl extends ServiceImpl<IsBlacklistMapper, IsBla
 
     @Override
     public Page<IsBlacklist> getIsBlacklistPage(Page<IsBlacklist> page, IsBlacklist isBlacklist) {
-        Page<IsBlacklist> result = isBlacklistMapper.getIsBlacklistPage(page, isBlacklist);
-        return result;
+        return isBlacklistMapper.getIsBlacklistPage(page, isBlacklist);
+    }
+
+    @Override
+    public Page<WhiteUserVO> getWhiteUserPage(Page page, WhiteUserVO dto) {
+        return isBlacklistMapper.getWhiteUserPage(page, dto);
+    }
+
+    @Override
+    public Boolean insertIsBlacklist(List<IsBlacklist> isBlacklist) {
+        Assert.isFalse(isBlacklist.isEmpty(), "请选择人员!");
+        // 开始新增黑名单
+        List<Long> newUserIds = isBlacklist.stream().map(IsBlacklist::getUserId).collect(Collectors.toList());
+        // 开始检查当前人员是不是已经在给名单
+        List<IsBlacklist> list = list(Wrappers.<IsBlacklist>lambdaQuery().in(IsBlacklist::getUserId, newUserIds));
+        // 防止多地操作导致的重复黑名单,去除已经在黑名单之中的
+        if (!list.isEmpty()) {
+            isBlacklist.removeIf(o -> list.stream().map(IsBlacklist::getUserId).collect(Collectors.toSet()).contains(o.getUserId()));
+        }
+        // 开始拉黑
+        saveBatch(isBlacklist);
+        return true;
     }
 
 }

+ 19 - 2
ktg-iscs/src/main/resources/mapper/IsBlacklistMapper.xml

@@ -5,16 +5,33 @@
 <mapper namespace="com.ktg.iscs.mapper.IsBlacklistMapper">
 
     <select id="getIsBlacklistPage" resultType="com.ktg.iscs.domain.IsBlacklist">
-        select b.*, u.user_name, u.nike_name from is_blacklist b
+        select b.*, u.user_name, u.nick_name from is_blacklist b
         left join sys_user u on u.user_id = b.user_id
         <where>
             <if test="isBlacklist.userName != null and isBlacklist.userName.trim != ''">
                 and u.user_name like concat('%',#{isBlacklist.userName},'%')
             </if>
+            <if test="isBlacklist.nickName != null and isBlacklist.nickName.trim != ''">
+                and u.nick_name like concat('%',#{isBlacklist.nickName},'%')
+            </if>
             <if test="isBlacklist.userId != null">
                 and b.user_id = #{isLock.lockCode}
             </if>
         </where>
-
+    </select>
+    <select id="getWhiteUserPage" resultType="com.ktg.iscs.domain.vo.user.WhiteUserVO">
+        SELECT
+            u.user_id,
+            u.user_name,
+            u.nick_name
+        FROM
+            sys_user u
+        <where>
+            u.user_id NOT IN (SELECT b.user_id FROM is_blacklist b)
+            <if test="dto.nickName != null and dto.nickName.trim != ''">
+                and (u.user_name like concat('%',#{dto.nickName},'%') or u.nick_name like concat('%',#{dto.nickName},'%'))
+            </if>
+        </where>
+        order by u.user_id asc
     </select>
 </mapper>