艾金辉
2023-07-24 de3d8be611f31118ae5dee533d22bb054670d21b
mybatisplus
已修改12个文件
161 ■■■■ 文件已修改
ard-work/pom.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarController.java 37 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/sy/mapper/ArdSyCarMapper.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/sy/service/IArdSyCarService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/resources/application.yml 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-framework/src/main/java/com/ruoyi/framework/config/MyBatisConfig.java 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/pom.xml 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDeptMapper.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDeptService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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>
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) {
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>
{
    /**
     * 查询三一车辆
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);
}
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);
    }
}
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: 
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();
//    }
}
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>
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>
{
    /**
     * 查询部门管理数据
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>
{
    /**
     * 根据条件分页查询用户列表
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);
}
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;
    }
}