From de3d8be611f31118ae5dee533d22bb054670d21b Mon Sep 17 00:00:00 2001
From: 艾金辉 <1144154118@qq.com>
Date: 星期一, 24 七月 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鎴栬�呭綋鍓嶅強鎵�灞炰笅绾х殑鎵�鏈塪eptId
+        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:
+#    # 鏄惁寮�鍚嚜鍔ㄩ┘宄板懡鍚嶈鍒欐槧灏�:浠庢暟鎹簱鍒楀悕鍒癑ava灞炴�ч┘宄板懡鍚嶇殑绫讳技鏄犲皠
+#    map-underscore-to-camel-case: true
+#    # 濡傛灉鏌ヨ缁撴灉涓寘鍚┖鍊肩殑鍒楋紝鍒� MyBatis 鍦ㄦ槧灏勭殑鏃跺�欙紝涓嶄細鏄犲皠杩欎釜瀛楁
+#    call-setters-on-nulls: true
+#    # 杩欎釜閰嶇疆浼氬皢鎵ц鐨剆ql鎵撳嵃鍑烘潵锛屽湪寮�鍙戞垨娴嬭瘯鐨勬椂鍊欏彲浠ョ敤
+#    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鎴栬�呭綋鍓嶅強鎵�灞炰笅绾х殑鎵�鏈塪eptId
+     * @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