From 11712ec7e37adda4674899ab115f0c53451ccf56 Mon Sep 17 00:00:00 2001 From: cwchen <1048842385@qq.com> Date: Fri, 22 Aug 2025 15:04:56 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E7=AE=A1=E7=90=86SQL=20?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/bonus/bmw/basic/dao/CompanyDao.java | 2 +- .../bonus/bmw/basic/dao/PermissionDao.java | 16 ++++++- .../java/com/bonus/bmw/basic/dao/RoleDao.java | 2 +- .../bonus/bmw/basic/dao/SubCompanyDao.java | 2 +- .../mapper/person/GetChildListMapper.xml | 46 ++++++++++++++++++- 5 files changed, 62 insertions(+), 6 deletions(-) diff --git a/modules/bmw/src/main/java/com/bonus/bmw/basic/dao/CompanyDao.java b/modules/bmw/src/main/java/com/bonus/bmw/basic/dao/CompanyDao.java index 51d5a59..54576b8 100644 --- a/modules/bmw/src/main/java/com/bonus/bmw/basic/dao/CompanyDao.java +++ b/modules/bmw/src/main/java/com/bonus/bmw/basic/dao/CompanyDao.java @@ -18,7 +18,7 @@ public interface CompanyDao { @Select("SELECT \"id\",\"name\" AS companyName FROM \"ynrealname\".\"pm_company\" where \"name\" = #{companyName} and \"is_active\" = '1'") CompanyBean getCompanyByName(String companyName); - @SelectKey(statement = "SELECT IDENTITY()", keyProperty = "id", before = false, resultType = Long.class) + @SelectKey(statement = "SELECT @@IDENTITY", keyProperty = "id", before = false, resultType = Long.class) @Insert("INSERT INTO \"ynrealname\".\"pm_company\"(\"name\", \"type_id\", \"address\", \"register_date\", \"legal_person\", \"legal_phone\", \"legal_idnumber\", \"is_active\") VALUES (#{companyName}, #{unitType}, #{address}, #{registerDate}, #{represent}, #{representPhone}, #{representIdNumber}, '1')") int saveCompany(CompanyBean o); diff --git a/modules/bmw/src/main/java/com/bonus/bmw/basic/dao/PermissionDao.java b/modules/bmw/src/main/java/com/bonus/bmw/basic/dao/PermissionDao.java index 15184cd..4bf262d 100644 --- a/modules/bmw/src/main/java/com/bonus/bmw/basic/dao/PermissionDao.java +++ b/modules/bmw/src/main/java/com/bonus/bmw/basic/dao/PermissionDao.java @@ -2,6 +2,8 @@ package com.bonus.bmw.basic.dao; import com.bonus.system.api.model.Permission; import org.apache.ibatis.annotations.*; +import org.apache.ibatis.mapping.StatementType; + import java.util.List; import java.util.Set; @@ -63,6 +65,18 @@ public interface PermissionDao { @Select("select p.* from \"ynrealname\".\"sys_permission\" p inner join \"ynrealname\".\"sys_role_permission\" rp on p.\"id\" = rp.\"permissionId\" where rp.\"roleId\" = #{appRoleId} and p.\"is_active\" = '1' and rp.\"is_active\" = 1 AND p.\"permission_type\"='APP' order by p.\"sort\"") List listByBackApp(Long appRoleId); - @Select("select getPermissionChildList(#{id})") + @Select("WITH RECURSIVE permission_tree(id, path) AS (\n" + + " SELECT \"id\", TO_CHAR(\"id\") AS path\n" + + " FROM \"ynrealname\".\"sys_permission\"\n" + + " WHERE \"id\" = #{id}\n" + + " \n" + + " UNION ALL\n" + + " \n" + + " SELECT p.\"id\", t.path || ',' || TO_CHAR(p.\"id\")\n" + + " FROM \"ynrealname\".\"sys_permission\" p\n" + + " INNER JOIN permission_tree t ON p.\"parentId\" = t.id\n" + + ")\n" + + "SELECT LISTAGG(id,',') AS result\n" + + "FROM permission_tree;") String getChildString(Long id); } diff --git a/modules/bmw/src/main/java/com/bonus/bmw/basic/dao/RoleDao.java b/modules/bmw/src/main/java/com/bonus/bmw/basic/dao/RoleDao.java index 740167e..b462ff9 100644 --- a/modules/bmw/src/main/java/com/bonus/bmw/basic/dao/RoleDao.java +++ b/modules/bmw/src/main/java/com/bonus/bmw/basic/dao/RoleDao.java @@ -9,7 +9,7 @@ import java.util.Map; @Mapper public interface RoleDao { - @SelectKey(statement = "SELECT IDENTITY()", keyProperty = "id", before = false, resultType = Long.class) + @SelectKey(statement = "SELECT @@IDENTITY", keyProperty = "id", before = false, resultType = Long.class) @Insert("insert into \"ynrealname\".\"sys_role\"(\"name\", \"company_id\", \"description\", \"type\", \"level\", \"status\") values(#{name}, #{companyId}, #{description}, #{type}, #{level}, #{status})") int save(Role role); diff --git a/modules/bmw/src/main/java/com/bonus/bmw/basic/dao/SubCompanyDao.java b/modules/bmw/src/main/java/com/bonus/bmw/basic/dao/SubCompanyDao.java index c62587f..96d125b 100644 --- a/modules/bmw/src/main/java/com/bonus/bmw/basic/dao/SubCompanyDao.java +++ b/modules/bmw/src/main/java/com/bonus/bmw/basic/dao/SubCompanyDao.java @@ -16,7 +16,7 @@ public interface SubCompanyDao { @Select("SELECT \"id\",\"name\" AS subCompanyName FROM \"ynrealname\".\"pm_dept\" where \"name\" = #{companyName} and \"is_active\" = '1'") SubCompanyBean getCompanyByName(String companyName); - @SelectKey(statement = "SELECT IDENTITY()", keyProperty = "id", before = false, resultType = Long.class) + @SelectKey(statement = "SELECT @@IDENTITY", keyProperty = "id", before = false, resultType = Long.class) @Insert("INSERT INTO \"ynrealname\".\"pm_dept\"(\"name\", \"abbreviation\", \"company_id\", \"status\", \"is_active\") VALUES (#{subCompanyName}, #{abbreviation}, #{companyId}, '1', '1')") int saveCompany(SubCompanyBean o); diff --git a/modules/bmw/src/main/resources/mapper/person/GetChildListMapper.xml b/modules/bmw/src/main/resources/mapper/person/GetChildListMapper.xml index 6d980bf..a9a0cad 100644 --- a/modules/bmw/src/main/resources/mapper/person/GetChildListMapper.xml +++ b/modules/bmw/src/main/resources/mapper/person/GetChildListMapper.xml @@ -4,10 +4,52 @@ \ No newline at end of file From 5d38e04a88609f2ae1e107a06baf686912226091 Mon Sep 17 00:00:00 2001 From: cwchen <1048842385@qq.com> Date: Fri, 22 Aug 2025 16:00:42 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E7=AE=A1=E7=90=86SQL=20?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/resources/mapper/basic/OrgMapper.xml | 66 +++++++++---------- .../resources/mapper/basic/UserMapper.xml | 5 +- 2 files changed, 37 insertions(+), 34 deletions(-) diff --git a/modules/bmw/src/main/resources/mapper/basic/OrgMapper.xml b/modules/bmw/src/main/resources/mapper/basic/OrgMapper.xml index d8a1ab9..70fc7e0 100644 --- a/modules/bmw/src/main/resources/mapper/basic/OrgMapper.xml +++ b/modules/bmw/src/main/resources/mapper/basic/OrgMapper.xml @@ -7,61 +7,61 @@ - insert into "ynrealname"."pm_organization"( NAME,PARENT_ID,IS_ACTIVE,TYPE,"update_time",COMPANY_ID) + insert into "ynrealname"."pm_organization"( "name","parent_id","is_active","type","update_time","company_id") values ( #{name},#{parentId},'1',#{type},now(),#{companyId}) @@ -69,21 +69,21 @@ update "ynrealname"."pm_organization" - NAME =#{name}, + "name" =#{name}, - where ID = #{id} + where "id" = #{id} - update "ynrealname"."pm_organization" set IS_ACTIVE = 0 WHERE ID = #{id} + update "ynrealname"."pm_organization" set "is_active" = 0 WHERE "id" = #{id} @@ -101,23 +101,23 @@ - select ala."id" as id,ala.USER_ID as userId,su.USERNAME as userName,su."phone",ala.DEVICE_ID as deviceId,ala.DEVICE_MODEL as deviceMode, - ala.ANDROID_VERSION as androidVersion,ala.LOGIN_DATE as loginDate,ala.LOGIN_TIME as loginTime + select ala."id" as id,ala."user_id" as userId,su."username" as userName,su."phone",ala."device_id" as deviceId,ala."device_model" as deviceMode, + ala."android_version" as androidVersion,ala."login_date" as loginDate,ala."login_time" as loginTime from "ynrealname"."app_login_audit" ala - left join "ynrealname"."sys_user" su on su."id" = ala.USER_ID + left join "ynrealname"."sys_user" su on su."id" = ala."user_id" where ala."is_active" = '1' - and ala.LOGIN_DATE BETWEEN #{params.startTime} and #{params.endTime} + and ala."login_date" BETWEEN #{params.startTime} and #{params.endTime} and ( - su.USERNAME like concat ('%',#{params.keyWord},'%') or - ala.DEVICE_ID like concat ('%',#{params.keyWord},'%') or - ala.DEVICE_MODEL like concat ('%',#{params.keyWord},'%') + su."username" like '%' || #{params.keyWord} || '%' or + ala."device_id" like '%' || #{params.keyWord} || '%' or + ala."device_model" like '%' || #{params.keyWord} || '%' ) @@ -28,14 +28,14 @@ diff --git a/modules/system/src/main/resources/mapper/logs/SysOperLogMapper.xml b/modules/system/src/main/resources/mapper/logs/SysOperLogMapper.xml index feb38ea..375b3d2 100644 --- a/modules/system/src/main/resources/mapper/logs/SysOperLogMapper.xml +++ b/modules/system/src/main/resources/mapper/logs/SysOperLogMapper.xml @@ -5,29 +5,29 @@ - select oper_id, title, business_type, method, request_method, operator_type, oper_name, dept_name, oper_url, oper_ip, oper_param, json_result, status, error_msg, oper_time - from sys_oper_log + select "oper_id", "title", "business_type", "method", "request_method", "operator_type", "oper_name", "dept_name", "oper_url", "oper_ip", "oper_param", "json_result", "status", "error_msg", "oper_time" + from "ynrealname"."sys_oper_log" - a.opersTime BETWEEN CONCAT(#{params.startTime},' 00:00:00') and CONCAT(#{params.endTime},' 23:59:59') + a."opersTime" BETWEEN #{params.startTime} || ' 00:00:00' and #{params.endTime} || ' 23:59:59' - and a.operatoType = #{params.type} + and a."operatoType" = #{params.type} - and locate(#{params.module},a.title) > 0 + and INSTR(a."title", #{params.module}) > 0 - and locate(#{params.result},a.jsonResult) > 0 + and INSTR(a."jsonResult", #{params.result}) > 0 and ( - a.title like concat('%', #{params.keyWord}, '%') or - a.type like concat('%', #{params.keyWord}, '%') or - a.operName like concat('%', #{params.keyWord}, '%') or - a.phone like concat('%', #{params.keyWord}, '%') + a."title" like '%' || #{params.keyWord} || '%' or + a."type" like '%' || #{params.keyWord} || '%' or + a."operName" like '%' || #{params.keyWord} || '%' or + a."phone" like '%' || #{params.keyWord} || '%' ) @@ -35,43 +35,43 @@ - insert into "ynrealname"."sys_oper_log"("title", "user_id","business_type", "method", "request_method", "operator_type", "oper_url", "oper_ip", "oper_param", "json_result", "status", "error_msg") + insert into "ynrealname"."sys_oper_log"("title", "user_id","business_type", "method", "request_method", "operator_type", "oper_url", "oper_ip", "oper_param", "json_result", "status", "error_msg") values (#{title}, #{userId}, #{businessType}, #{method}, #{requestMethod}, #{operatorType}, #{operUrl}, #{operIp}, #{operParam}, #{jsonResult}, #{status}, #{errorMsg}) - + - delete from sys_oper_log where oper_id in + delete from "ynrealname"."sys_oper_log" where "oper_id" in #{operId} @@ -79,40 +79,40 @@ - truncate table sys_oper_log + truncate table "ynrealname"."sys_oper_log" \ No newline at end of file