From de3d8be611f31118ae5dee533d22bb054670d21b Mon Sep 17 00:00:00 2001
From: 艾金辉 <1144154118@qq.com>
Date: 周一, 24 7月 2023 12:45:46 +0800
Subject: [PATCH] mybatisplus
---
ard-work/pom.xml | 4 -
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDeptMapper.java | 4 +
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java | 16 +++++
ard-work/src/main/java/com/ruoyi/sy/mapper/ArdSyCarMapper.java | 3
ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDeptService.java | 8 ++
ruoyi-system/pom.xml | 6 +
ruoyi-framework/src/main/java/com/ruoyi/framework/config/MyBatisConfig.java | 32 +++++-----
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java | 4 +
ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarController.java | 37 ++++++++++--
ard-work/src/main/java/com/ruoyi/sy/service/IArdSyCarService.java | 7 ++
ruoyi-admin/src/main/resources/application.yml | 27 ++++++--
ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java | 13 ++++
12 files changed, 123 insertions(+), 38 deletions(-)
diff --git a/ard-work/pom.xml b/ard-work/pom.xml
index 6cf0bd8..3a793aa 100644
--- a/ard-work/pom.xml
+++ b/ard-work/pom.xml
@@ -41,15 +41,11 @@
<groupId>net.java.jna</groupId>
<artifactId>jna</artifactId>
<version>1.0.0</version>
-<!-- <scope>system</scope>-->
-<!-- <systemPath>${project.basedir}/src/main/resources/lib/jna.jar</systemPath>-->
</dependency>
<dependency>
<groupId>net.java.examples</groupId>
<artifactId>examples</artifactId>
<version>1.0.0</version>
-<!-- <scope>system</scope>-->
-<!-- <systemPath>${project.basedir}/src/main/resources/lib/examples.jar</systemPath>-->
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
diff --git a/ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarController.java b/ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarController.java
index 71d6c11..c6a6492 100644
--- a/ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarController.java
+++ b/ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarController.java
@@ -1,15 +1,14 @@
package com.ruoyi.sy.controller;
-import java.text.Collator;
-import java.util.*;
import java.util.*;
import javax.annotation.PostConstruct;
-import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import com.alibaba.fastjson2.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ruoyi.client.ARDCarGPSLogInClient;
import com.ruoyi.client.ARDCarSYGPSClient;
+import com.ruoyi.common.core.domain.entity.SysDept;
+import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.uuid.IdUtils;
import com.ruoyi.sy.domain.ArdSyUser;
@@ -60,6 +59,12 @@
@Autowired
private IArdSyUserService iArdSyUserService;
+
+ @Autowired
+ private ISysUserService sysUserService;
+
+ @Autowired
+ private ISysDeptService sysDeptService;
private ArdSyCarController ardSyCarController;
@@ -388,13 +393,31 @@
break;
}
}
-// for(Map<String,String> m : list0){
-// for(Map<String,String> ma : list1){
+ //根据userId查询部门Id
+ SysUser sysUser = sysUserService.selectUserById(usersId);
+ Long deptId = sysUser.getDeptId();
+ //根据当前deptId或者当前及所属下级的所有deptId
+ List<Long> deptList = sysDeptService.deptIdBySub(deptId);
+ //根据dept集合查询出所有对应的车辆列表
+ List<ArdSyCar> carList = ardSyCarService.carIdByDeptList(deptList);
+ //对比把匹配到的数据添加到list中
+ for(Map<String,String> m : list){
+ String carId = m.get("carId");
+ for (int i = 0; i < carList.size(); i++) {
+ ArdSyCar ardSyCar = carList.get(i);
+ if(carId.equals(ardSyCar.getCarId())){
+ m.put("carModel",ardSyCar.getCarModel());
+ m.put("carTypeArd",ardSyCar.getCarType());
+ m.put("carBrand",ardSyCar.getCarBrand());
+ m.put("carPicture",ardSyCar.getCarPicture());
+ }
+ }
+// for(Map<String,String> ma :){
// if(m.get("carId").equals(ma.get("carId"))){
// m.put("stateCn", ma.get("carState"));
// }
// }
-// }
+ }
// Collections.sort((List)result0.get("list"),new Comparator<Map<String, Object>>() {
// @Override
// public int compare(Map<String, Object> o1, Map<String, Object> o2) {
diff --git a/ard-work/src/main/java/com/ruoyi/sy/mapper/ArdSyCarMapper.java b/ard-work/src/main/java/com/ruoyi/sy/mapper/ArdSyCarMapper.java
index d5ea855..46d0b90 100644
--- a/ard-work/src/main/java/com/ruoyi/sy/mapper/ArdSyCarMapper.java
+++ b/ard-work/src/main/java/com/ruoyi/sy/mapper/ArdSyCarMapper.java
@@ -3,6 +3,7 @@
import java.util.List;
import java.util.Map;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.sy.domain.ArdSyCar;
import org.apache.ibatis.annotations.Param;
@@ -12,7 +13,7 @@
* @author ard
* @date 2023-06-26
*/
-public interface ArdSyCarMapper
+public interface ArdSyCarMapper extends BaseMapper<ArdSyCar>
{
/**
* 查询三一车辆
diff --git a/ard-work/src/main/java/com/ruoyi/sy/service/IArdSyCarService.java b/ard-work/src/main/java/com/ruoyi/sy/service/IArdSyCarService.java
index ce5df91..6ef3b32 100644
--- a/ard-work/src/main/java/com/ruoyi/sy/service/IArdSyCarService.java
+++ b/ard-work/src/main/java/com/ruoyi/sy/service/IArdSyCarService.java
@@ -95,4 +95,11 @@
// List<ArdSyCar> getArdSyCarWithRightByCarIdList(List<String> carIdList);
Results carListById(String id);
+ /**
+ * 根据dept集合查询出所有对应的carId
+ * @param deptList
+ * @return
+ */
+ List<ArdSyCar> carIdByDeptList(List<Long> deptList);
+
}
diff --git a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java
index 88fd800..79ac29f 100644
--- a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java
@@ -9,6 +9,7 @@
import java.util.stream.Collectors;
import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.utils.uuid.IdUtils;
import com.ruoyi.common.websocket.util.WebSocketUtils;
@@ -378,4 +379,16 @@
WebSocketUtils.sendMessage(ONLINE_USER_SESSIONS.get(key), JSON.toJSONString(data));
}
}
+
+ /**
+ * 根据dept集合查询出所有对应的carId
+ * @param deptList
+ * @return
+ */
+ @Override
+ public List<ArdSyCar> carIdByDeptList(List<Long> deptList){
+ QueryWrapper<ArdSyCar> queryWrapper = new QueryWrapper<>();
+ queryWrapper.in("dept_id",deptList);
+ return ardSyCarMapper.selectList(queryWrapper);
+ }
}
diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml
index 7341f19..6903577 100644
--- a/ruoyi-admin/src/main/resources/application.yml
+++ b/ruoyi-admin/src/main/resources/application.yml
@@ -39,6 +39,7 @@
com.ruoyi.utils.tube: debug
com.ruoyi.inspect: info
org.springframework: warn
+ com.example.mapper: debug
# 用户配置
user:
@@ -102,13 +103,25 @@
expireTime: 30
# MyBatis配置
-mybatis:
- # 搜索指定包别名
- typeAliasesPackage: com.ruoyi.**.domain
- # 配置mapper的扫描,找到所有的mapper.xml映射文件
- mapperLocations: classpath*:mapper/**/*Mapper.xml
- # 加载全局的配置文件
- configLocation: classpath:mybatis/mybatis-config.xml
+#mybatis:
+# # 搜索指定包别名
+# typeAliasesPackage: com.ruoyi.**.domain
+# # 配置mapper的扫描,找到所有的mapper.xml映射文件
+# mapperLocations: classpath*:mapper/**/*Mapper.xml
+# # 加载全局的配置文件
+# configLocation: classpath:mybatis/mybatis-config.xml
+mybatis-plus:
+ type-Aliases-Package: com.ruoyi.**.domain
+ mapper-Locations: classpath*:mapper/**/*Mapper.xml
+ config-Location: classpath:mybatis/mybatis-config.xml
+# configuration:
+# # 是否开启自动驼峰命名规则映射:从数据库列名到Java属性驼峰命名的类似映射
+# map-underscore-to-camel-case: true
+# # 如果查询结果中包含空值的列,则 MyBatis 在映射的时候,不会映射这个字段
+# call-setters-on-nulls: true
+# # 这个配置会将执行的sql打印出来,在开发或测试的时候可以用
+# log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
+
# PageHelper分页插件
pagehelper:
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/MyBatisConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/MyBatisConfig.java
index 057c941..b4135ae 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/MyBatisConfig.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/MyBatisConfig.java
@@ -113,20 +113,20 @@
return resources.toArray(new Resource[resources.size()]);
}
- @Bean
- public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception
- {
- String typeAliasesPackage = env.getProperty("mybatis.typeAliasesPackage");
- String mapperLocations = env.getProperty("mybatis.mapperLocations");
- String configLocation = env.getProperty("mybatis.configLocation");
- typeAliasesPackage = setTypeAliasesPackage(typeAliasesPackage);
- VFS.addImplClass(SpringBootVFS.class);
-
- final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
- sessionFactory.setDataSource(dataSource);
- sessionFactory.setTypeAliasesPackage(typeAliasesPackage);
- sessionFactory.setMapperLocations(resolveMapperLocations(StringUtils.split(mapperLocations, ",")));
- sessionFactory.setConfigLocation(new DefaultResourceLoader().getResource(configLocation));
- return sessionFactory.getObject();
- }
+// @Bean
+// public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception
+// {
+// String typeAliasesPackage = env.getProperty("mybatis.typeAliasesPackage");
+// String mapperLocations = env.getProperty("mybatis.mapperLocations");
+// String configLocation = env.getProperty("mybatis.configLocation");
+// typeAliasesPackage = setTypeAliasesPackage(typeAliasesPackage);
+// VFS.addImplClass(SpringBootVFS.class);
+//
+// final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
+// sessionFactory.setDataSource(dataSource);
+// sessionFactory.setTypeAliasesPackage(typeAliasesPackage);
+// sessionFactory.setMapperLocations(resolveMapperLocations(StringUtils.split(mapperLocations, ",")));
+// sessionFactory.setConfigLocation(new DefaultResourceLoader().getResource(configLocation));
+// return sessionFactory.getObject();
+// }
}
\ No newline at end of file
diff --git a/ruoyi-system/pom.xml b/ruoyi-system/pom.xml
index b6aeb21..9cd6571 100644
--- a/ruoyi-system/pom.xml
+++ b/ruoyi-system/pom.xml
@@ -25,7 +25,11 @@
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
-
+ <dependency>
+ <groupId>com.baomidou</groupId>
+ <artifactId>mybatis-plus-boot-starter</artifactId>
+ <version>3.2.0</version>
+ </dependency>
</dependencies>
</project>
\ No newline at end of file
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDeptMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDeptMapper.java
index 05700bc..22db9eb 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDeptMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDeptMapper.java
@@ -1,6 +1,8 @@
package com.ruoyi.system.mapper;
import java.util.List;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import com.ruoyi.common.core.domain.entity.SysDept;
@@ -9,7 +11,7 @@
*
* @author ruoyi
*/
-public interface SysDeptMapper
+public interface SysDeptMapper extends BaseMapper<SysDept>
{
/**
* 查询部门管理数据
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java
index bf69eff..2d6fe03 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java
@@ -1,6 +1,8 @@
package com.ruoyi.system.mapper;
import java.util.List;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import com.ruoyi.common.core.domain.entity.SysUser;
@@ -9,7 +11,7 @@
*
* @author ruoyi
*/
-public interface SysUserMapper
+public interface SysUserMapper extends BaseMapper<SysUser>
{
/**
* 根据条件分页查询用户列表
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDeptService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDeptService.java
index 7fdbc3e..c18f045 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDeptService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDeptService.java
@@ -124,4 +124,12 @@
*/
public int deleteDeptById(Long deptId);
+ /**
+ * 根据当前deptId或者当前及所属下级的所有deptId
+ * @param deptId
+ * @return
+ */
+ List<Long> deptIdBySub(Long deptId);
+
+
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java
index c93eaf2..7c8faa3 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java
@@ -2,6 +2,8 @@
import java.util.*;
import java.util.stream.Collectors;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.springframework.stereotype.Service;
import com.ruoyi.common.annotation.DataScope;
import com.ruoyi.common.constant.UserConstants;
@@ -335,5 +337,19 @@
return getChildList(list, t).size() > 0;
}
+ @Override
+ public List<Long> deptIdBySub(Long deptId) {
+ QueryWrapper<SysDept> queryWrapper = new QueryWrapper<>();
+ queryWrapper.select("dept_id").apply("string_to_array( ancestors, ',' ) @> ARRAY [ '"+deptId+"']");
+// in("cast(ancestors as bigint)",deptId);
+ List<SysDept> list = deptMapper.selectList(queryWrapper);
+ List<Long> deptList = new ArrayList<>();
+ deptList.add(deptId);
+ for (int i = 0; i < list.size(); i++) {
+ deptList.add(list.get(i).getDeptId());
+ }
+ return deptList;
+ }
+
}
--
Gitblit v1.9.3