吉安感知网项目-后端
linwei
2026-04-07 b64970c6a56daacb40563f7e6ab1ed2a0794ac23
opt: 人大金仓数据库改造
2 files modified
12 ■■■■■ changed files
drone-service/drone-fw/src/main/java/org/sxkj/fw/device/mapper/FwDeviceMapper.xml 9 ●●●●● patch | view | raw | blame | history
drone-service/drone-system/src/main/java/org/sxkj/system/service/impl/UserServiceImpl.java 3 ●●●● patch | view | raw | blame | history
drone-service/drone-fw/src/main/java/org/sxkj/fw/device/mapper/FwDeviceMapper.xml
@@ -751,11 +751,14 @@
            CASE
                WHEN ps.id IS NOT NULL THEN TRUE
                ELSE FALSE
            END AS isShared
                END AS isShared
        FROM
            ja_fw_device d
            LEFT JOIN ja_fw_device_per_share ps ON ps.device_id::VARCHAR = d.id::VARCHAR
            AND ps.loan_to_dept_id = #{currentDeptId}
                /* 修改点1:建议使用 ::text,且如果 id 本身是数字类型,能不转就不转以优化索引,
                   这里保留转换逻辑但改为更通用的 text */
                LEFT JOIN ja_fw_device_per_share ps ON ps.device_id::text = d.id::text
        /* 修改点2:核心修复!显式转换参数为 bigint,匹配数据库字段类型 */
        AND ps.loan_to_dept_id = #{currentDeptId}::bigint
            AND ps.is_deleted = 0
        WHERE
            d.is_deleted = 0
drone-service/drone-system/src/main/java/org/sxkj/system/service/impl/UserServiceImpl.java
@@ -112,8 +112,7 @@
    public boolean updateUser(User user) {
        Long deptId = Long.valueOf(user.getDeptId());
        // 推荐写法:类型安全,自动处理参数绑定
        Dept dept = deptMapper.selectOne(new LambdaQueryWrapper<Dept>()
            .eq(Dept::getId, deptId));
        Dept dept = deptMapper.selectById(deptId);
         user.setAreaCode(null == dept ? null : dept.getAreaCode());
        String tenantId = user.getTenantId();
        Long userCount = baseMapper.selectCount(