数据同步服务-语音
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

76 lines
3.1 KiB

4 months ago
<?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.threecloud.dataserviceyy.mapper.FtpProcessedFileMapper">
<resultMap id="BaseResultMap" type="com.threecloud.dataserviceyy.entity.FtpProcessedFile">
<id column="id" property="id"/>
<result column="city_code" property="cityCode"/>
<result column="city_name" property="cityName"/>
<result column="file_name" property="fileName"/>
<result column="file_size" property="fileSize"/>
<result column="process_status" property="processStatus"/>
<result column="record_count" property="recordCount"/>
<result column="success_count" property="successCount"/>
<result column="fail_count" property="failCount"/>
<result column="process_time" property="processTime"/>
<result column="error_msg" property="errorMsg"/>
<result column="create_time" property="createTime"/>
</resultMap>
<!-- 插入处理记录 -->
<insert id="insert" useGeneratedKeys="true" keyProperty="id">
INSERT INTO mid_ftp_processed_file (
city_code, city_name, file_name, file_size, process_status,
record_count, success_count, fail_count, process_time, error_msg, create_time
) VALUES (
#{cityCode}, #{cityName}, #{fileName}, #{fileSize}, #{processStatus},
#{recordCount}, #{successCount}, #{failCount}, #{processTime}, #{errorMsg}, NOW()
)
</insert>
<!-- 根据地市编码和文件名查询 -->
<select id="selectByCityAndFileName" resultMap="BaseResultMap">
SELECT * FROM mid_ftp_processed_file
WHERE city_code = #{cityCode}
AND file_name = #{fileName}
LIMIT 1
</select>
<!-- 查询指定地市下所有已处理的文件名列表 -->
<select id="selectProcessedFileNamesByCity" resultType="java.lang.String">
SELECT file_name FROM mid_ftp_processed_file
WHERE city_code = #{cityCode}
AND process_status = '1'
</select>
<!-- 批量查询指定地市下多个文件的处理状态 -->
<select id="selectByCityAndFileNames" resultMap="BaseResultMap">
SELECT * FROM mid_ftp_processed_file
WHERE city_code = #{cityCode}
AND file_name IN
<foreach collection="fileNames" item="name" open="(" separator="," close=")">
#{name}
</foreach>
</select>
<!-- 根据ID更新处理结果 -->
<update id="updateById">
UPDATE mid_ftp_processed_file
SET process_status = #{processStatus},
record_count = #{recordCount},
success_count = #{successCount},
fail_count = #{failCount},
process_time = #{processTime},
error_msg = #{errorMsg}
WHERE id = #{id}
</update>
<!-- 删除指定时间之前的记录 -->
<delete id="deleteBeforeTime">
DELETE FROM mid_ftp_processed_file
WHERE city_code = #{cityCode}
AND create_time &lt; TO_TIMESTAMP(#{beforeTime}, 'YYYY-MM-DD HH24:MI:SS')
</delete>
</mapper>