Bladeren bron

赋值部门名称关键字过滤

yzc 1 jaar geleden
bovenliggende
commit
c04cff933f

+ 6 - 0
hx-jushuitan/src/main/java/com/fjhx/jushuitan/entity/jushuitan/dto/JushuitanConfigSelectDto.java

@@ -14,4 +14,10 @@ import lombok.Setter;
 @Setter
 public class JushuitanConfigSelectDto extends BaseSelectDto {
 
+    /**
+     * 部门id
+     */
+    private Long deptId;
+
+
 }

+ 5 - 0
hx-jushuitan/src/main/java/com/fjhx/jushuitan/entity/jushuitan/vo/JushuitanConfigVo.java

@@ -14,4 +14,9 @@ import lombok.Setter;
 @Setter
 public class JushuitanConfigVo extends JushuitanConfig {
 
+    /**
+     * 部门名称
+     */
+    private String deptName;
+
 }

+ 51 - 0
hx-jushuitan/src/main/java/com/fjhx/jushuitan/service/jushuitan/impl/JushuitanConfigServiceImpl.java

@@ -1,6 +1,8 @@
 package com.fjhx.jushuitan.service.jushuitan.impl;
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.ObjectUtil;
+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.fjhx.jushuitan.entity.jushuitan.dto.JushuitanConfigDto;
@@ -9,9 +11,16 @@ import com.fjhx.jushuitan.entity.jushuitan.po.JushuitanConfig;
 import com.fjhx.jushuitan.entity.jushuitan.vo.JushuitanConfigVo;
 import com.fjhx.jushuitan.mapper.jushuitan.JushuitanConfigMapper;
 import com.fjhx.jushuitan.service.jushuitan.JushuitanConfigService;
+import com.ruoyi.common.core.domain.entity.SysDept;
 import com.ruoyi.common.utils.wrapper.IWrapper;
+import com.ruoyi.system.service.ISysDeptService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
 
 /**
  * <p>
@@ -24,11 +33,47 @@ import org.springframework.stereotype.Service;
 @Service
 public class JushuitanConfigServiceImpl extends ServiceImpl<JushuitanConfigMapper, JushuitanConfig> implements JushuitanConfigService {
 
+    @Autowired
+    private ISysDeptService sysDeptService;
+
     @Override
     public Page<JushuitanConfigVo> getPage(JushuitanConfigSelectDto dto) {
         IWrapper<JushuitanConfig> wrapper = getWrapper();
+
+        //部门id过滤
+        wrapper.eq("jc", JushuitanConfig::getDeptId, dto.getDeptId());
+
+        //关键字过滤
+        String keyword = dto.getKeyword();
+        if (ObjectUtil.isNotEmpty(dto.getKeyword())) {
+            List<SysDept> deptKeyWord = sysDeptService.list(Wrappers.<SysDept>query().like("dept_name", keyword));
+            List<Long> deptKwIds = deptKeyWord.stream().map(SysDept::getDeptId).collect(Collectors.toList());
+            wrapper.and(q -> q
+                    .like(JushuitanConfig::getCompanyName, keyword)
+                    .or().like(JushuitanConfig::getAppKey, keyword)
+                    .or().like(JushuitanConfig::getAppSecret, keyword)
+                    .or().like(JushuitanConfig::getAccessToken, keyword)
+                    .or().like(JushuitanConfig::getRefreshToken, keyword)
+                    .or().in(JushuitanConfig::getDeptId, deptKwIds)
+            );
+        }
+
         wrapper.orderByDesc("jc", JushuitanConfig::getId);
         Page<JushuitanConfigVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
+        List<JushuitanConfigVo> records = page.getRecords();
+        if (ObjectUtil.isEmpty(records)) {
+            return page;
+        }
+
+        //获取部门信息
+        List<Long> deptIds = records.stream().map(JushuitanConfig::getDeptId).collect(Collectors.toList());
+        List<SysDept> deptList = sysDeptService.list(Wrappers.<SysDept>query().in("dept_id", deptIds));
+        Map<Long, String> deprMap = deptList.stream().collect(Collectors.toMap(SysDept::getDeptId, SysDept::getDeptName));
+
+        for (JushuitanConfigVo record : records) {
+            //赋值部门名称
+            record.setDeptName(deprMap.get(record.getDeptId()));
+        }
         return page;
     }
 
@@ -36,6 +81,12 @@ public class JushuitanConfigServiceImpl extends ServiceImpl<JushuitanConfigMappe
     public JushuitanConfigVo detail(Long id) {
         JushuitanConfig JushuitanConfig = this.getById(id);
         JushuitanConfigVo result = BeanUtil.toBean(JushuitanConfig, JushuitanConfigVo.class);
+
+        //赋值部门名称
+        SysDept dept = sysDeptService.getOne(Wrappers.<SysDept>query().eq("dept_id", result.getDeptId()));
+        if (ObjectUtil.isNotEmpty(dept)) {
+            result.setDeptName(dept.getDeptName());
+        }
         return result;
     }