feat:升级功能、密码卡框架、主密钥接口

This commit is contained in:
waner
2026-03-26 17:30:48 +08:00
parent c1e91e76b0
commit 11ed0b5edf
208 changed files with 16742 additions and 1156 deletions
@@ -0,0 +1,35 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.cisd.tms.modules.auth.mapper.AuthSessionMapper">
<resultMap id="AuthSessionResultMap" type="com.cisd.tms.modules.auth.entity.AuthSessionEntity">
<id property="id" column="id"/>
<result property="sessionToken" column="session_token"/>
<result property="roleCode" column="role_code"/>
<result property="authLevel" column="auth_level"/>
<result property="issuedAt" column="issued_at"/>
<result property="lastActiveAt" column="last_active_at"/>
<result property="expiresAt" column="expires_at"/>
<result property="logoutAt" column="logout_at"/>
<result property="createTime" column="create_time"/>
<result property="updateTime" column="update_time"/>
</resultMap>
<select id="selectBySessionToken" parameterType="string" resultMap="AuthSessionResultMap">
SELECT id,
session_token,
role_code,
auth_level,
issued_at,
last_active_at,
expires_at,
logout_at,
create_time,
update_time
FROM tms_auth_session
WHERE session_token = #{sessionToken}
LIMIT 1
</select>
</mapper>
@@ -0,0 +1,43 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.cisd.tms.modules.auth.mapper.RoleAccountMapper">
<resultMap id="RoleAccountResultMap" type="com.cisd.tms.modules.auth.entity.RoleAccountEntity">
<id property="id" column="id"/>
<result property="roleCode" column="role_code"/>
<result property="displayName" column="display_name"/>
<result property="requiredUkeyCount" column="required_ukey_count"/>
<result property="passwordHash" column="password_hash"/>
<result property="passwordSalt" column="password_salt"/>
<result property="status" column="status"/>
<result property="needChangePassword" column="need_change_password"/>
<result property="failedCount" column="failed_count"/>
<result property="lockedUntil" column="locked_until"/>
<result property="lastLoginAt" column="last_login_at"/>
<result property="lastActiveAt" column="last_active_at"/>
<result property="createTime" column="create_time"/>
<result property="updateTime" column="update_time"/>
</resultMap>
<select id="selectByRoleCode" parameterType="string" resultMap="RoleAccountResultMap">
SELECT id,
role_code,
display_name,
required_ukey_count,
password_hash,
password_salt,
status,
need_change_password,
failed_count,
locked_until,
last_login_at,
last_active_at,
create_time,
update_time
FROM tms_role_account
WHERE role_code = #{roleCode}
LIMIT 1
</select>
</mapper>
@@ -0,0 +1,57 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.cisd.tms.modules.auth.mapper.RoleUkeyBindingMapper">
<resultMap id="RoleUkeyBindingResultMap" type="com.cisd.tms.modules.auth.entity.RoleUkeyBindingEntity">
<id property="id" column="id"/>
<result property="roleCode" column="role_code"/>
<result property="slotNo" column="slot_no"/>
<result property="ukeySerial" column="ukey_serial"/>
<result property="ukeyPubkey" column="ukey_pubkey"/>
<result property="issuerSign" column="issuer_sign"/>
<result property="status" column="status"/>
<result property="boundAt" column="bound_at"/>
<result property="unboundAt" column="unbound_at"/>
<result property="createTime" column="create_time"/>
<result property="updateTime" column="update_time"/>
</resultMap>
<select id="selectActiveByRoleCodeAndSlotNo" resultMap="RoleUkeyBindingResultMap">
SELECT id,
role_code,
slot_no,
ukey_serial,
ukey_pubkey,
issuer_sign,
status,
bound_at,
unbound_at,
create_time,
update_time
FROM tms_role_ukey_binding
WHERE role_code = #{roleCode}
AND slot_no = #{slotNo}
AND status = 'ACTIVE'
LIMIT 1
</select>
<select id="selectActiveByRoleCode" parameterType="string" resultMap="RoleUkeyBindingResultMap">
SELECT id,
role_code,
slot_no,
ukey_serial,
ukey_pubkey,
issuer_sign,
status,
bound_at,
unbound_at,
create_time,
update_time
FROM tms_role_ukey_binding
WHERE role_code = #{roleCode}
AND status = 'ACTIVE'
ORDER BY slot_no ASC
</select>
</mapper>
@@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.cisd.tms.modules.device.mapper.DeviceSoftwareVersionMapper">
<resultMap id="DeviceSoftwareVersionResultMap" type="com.cisd.tms.modules.device.entity.DeviceSoftwareVersionEntity">
<id property="id" column="id"/>
<result property="componentCode" column="component_code"/>
<result property="componentName" column="component_name"/>
<result property="currentVersion" column="current_version"/>
<result property="sourceType" column="source_type"/>
<result property="detectedAt" column="detected_at"/>
<result property="remarks" column="remarks"/>
<result property="createTime" column="create_time"/>
<result property="updateTime" column="update_time"/>
</resultMap>
<select id="selectByComponentCode" parameterType="string" resultMap="DeviceSoftwareVersionResultMap">
SELECT id, component_code, component_name, current_version, source_type, detected_at, remarks, create_time, update_time
FROM tms_device_software_version
WHERE component_code = #{componentCode}
LIMIT 1
</select>
<update id="updateByComponentCode" parameterType="com.cisd.tms.modules.device.entity.DeviceSoftwareVersionEntity">
UPDATE tms_device_software_version
SET component_name = #{componentName},
current_version = #{currentVersion},
source_type = #{sourceType},
detected_at = #{detectedAt},
remarks = #{remarks},
update_time = NOW()
WHERE component_code = #{componentCode}
</update>
</mapper>
@@ -0,0 +1,90 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.cisd.tms.modules.upgrade.mapper.UpgradeTaskMapper">
<resultMap id="UpgradeTaskResultMap" type="com.cisd.tms.modules.upgrade.entity.UpgradeTaskEntity">
<id property="id" column="id"/>
<result property="taskId" column="task_id"/>
<result property="upgradeMode" column="upgrade_mode"/>
<result property="targetComponent" column="target_component"/>
<result property="packageFileId" column="package_file_id"/>
<result property="packageName" column="package_name"/>
<result property="packageHash" column="package_hash"/>
<result property="currentVersion" column="current_version"/>
<result property="targetVersion" column="target_version"/>
<result property="status" column="status"/>
<result property="verifyPassed" column="verify_passed"/>
<result property="verifyMessage" column="verify_message"/>
<result property="manifestJson" column="manifest_json"/>
<result property="detailLogPath" column="detail_log_path"/>
<result property="errorMessage" column="error_message"/>
<result property="operator" column="operator"/>
<result property="startedAt" column="started_at"/>
<result property="finishedAt" column="finished_at"/>
<result property="createTime" column="create_time"/>
<result property="updateTime" column="update_time"/>
</resultMap>
<sql id="UpgradeTaskColumns">
id, task_id, upgrade_mode, target_component, package_file_id, package_name, package_hash,
current_version, target_version, status, verify_passed, verify_message, manifest_json,
detail_log_path, error_message, operator, started_at, finished_at, create_time, update_time
</sql>
<select id="selectByTaskId" parameterType="string" resultMap="UpgradeTaskResultMap">
SELECT <include refid="UpgradeTaskColumns"/>
FROM t_upgrade_task
WHERE task_id = #{taskId}
LIMIT 1
</select>
<select id="selectRunningTask" resultMap="UpgradeTaskResultMap">
SELECT <include refid="UpgradeTaskColumns"/>
FROM t_upgrade_task
WHERE status = 'RUNNING'
ORDER BY create_time DESC, id DESC
LIMIT 1
</select>
<select id="selectPage" resultMap="UpgradeTaskResultMap">
SELECT <include refid="UpgradeTaskColumns"/>
FROM t_upgrade_task
<where>
<if test="targetComponent != null and targetComponent != ''">
AND target_component = #{targetComponent}
</if>
<if test="status != null and status != ''">
AND status = #{status}
</if>
</where>
ORDER BY create_time DESC, id DESC
LIMIT #{limit} OFFSET #{offset}
</select>
<select id="countPage" resultType="long">
SELECT COUNT(1)
FROM t_upgrade_task
<where>
<if test="targetComponent != null and targetComponent != ''">
AND target_component = #{targetComponent}
</if>
<if test="status != null and status != ''">
AND status = #{status}
</if>
</where>
</select>
<update id="updateStatusByTaskId">
UPDATE t_upgrade_task
SET status = #{status},
error_message = #{errorMessage},
detail_log_path = #{detailLogPath},
started_at = #{startedAt},
finished_at = #{finishedAt},
update_time = NOW()
WHERE task_id = #{taskId}
</update>
</mapper>