3 changed files with 207 additions and 0 deletions
@ -0,0 +1,84 @@ |
|||
package com.threecloud.dataserviceyy.entity; |
|||
|
|||
import java.util.Date; |
|||
|
|||
/** |
|||
* FTP已处理文件记录表 |
|||
* 对应 mid_voice.mid_ftp_processed_file |
|||
* 用于记录已处理过的FTP txt文件,避免重复处理 |
|||
*/ |
|||
public class FtpProcessedFile { |
|||
|
|||
/** 自增ID主键 */ |
|||
private Long id; |
|||
|
|||
/** 地市编码 */ |
|||
private String cityCode; |
|||
|
|||
/** 地市名称 */ |
|||
private String cityName; |
|||
|
|||
/** FTP文件名 */ |
|||
private String fileName; |
|||
|
|||
/** 文件大小(字节) */ |
|||
private Long fileSize; |
|||
|
|||
/** 处理状态:0失败,1成功 */ |
|||
private String processStatus; |
|||
|
|||
/** 记录总数 */ |
|||
private Integer recordCount; |
|||
|
|||
/** 成功入库数 */ |
|||
private Integer successCount; |
|||
|
|||
/** 失败数 */ |
|||
private Integer failCount; |
|||
|
|||
/** 处理耗时(毫秒) */ |
|||
private Long processTime; |
|||
|
|||
/** 错误信息 */ |
|||
private String errorMsg; |
|||
|
|||
/** 创建时间 */ |
|||
private Date createTime; |
|||
|
|||
// Getters and Setters
|
|||
public Long getId() { return id; } |
|||
public void setId(Long id) { this.id = id; } |
|||
|
|||
public String getCityCode() { return cityCode; } |
|||
public void setCityCode(String cityCode) { this.cityCode = cityCode; } |
|||
|
|||
public String getCityName() { return cityName; } |
|||
public void setCityName(String cityName) { this.cityName = cityName; } |
|||
|
|||
public String getFileName() { return fileName; } |
|||
public void setFileName(String fileName) { this.fileName = fileName; } |
|||
|
|||
public Long getFileSize() { return fileSize; } |
|||
public void setFileSize(Long fileSize) { this.fileSize = fileSize; } |
|||
|
|||
public String getProcessStatus() { return processStatus; } |
|||
public void setProcessStatus(String processStatus) { this.processStatus = processStatus; } |
|||
|
|||
public Integer getRecordCount() { return recordCount; } |
|||
public void setRecordCount(Integer recordCount) { this.recordCount = recordCount; } |
|||
|
|||
public Integer getSuccessCount() { return successCount; } |
|||
public void setSuccessCount(Integer successCount) { this.successCount = successCount; } |
|||
|
|||
public Integer getFailCount() { return failCount; } |
|||
public void setFailCount(Integer failCount) { this.failCount = failCount; } |
|||
|
|||
public Long getProcessTime() { return processTime; } |
|||
public void setProcessTime(Long processTime) { this.processTime = processTime; } |
|||
|
|||
public String getErrorMsg() { return errorMsg; } |
|||
public void setErrorMsg(String errorMsg) { this.errorMsg = errorMsg; } |
|||
|
|||
public Date getCreateTime() { return createTime; } |
|||
public void setCreateTime(Date createTime) { this.createTime = createTime; } |
|||
} |
|||
@ -0,0 +1,48 @@ |
|||
package com.threecloud.dataserviceyy.mapper; |
|||
|
|||
import com.threecloud.dataserviceyy.entity.FtpProcessedFile; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
import org.apache.ibatis.annotations.Param; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* FTP已处理文件记录Mapper |
|||
* 用于记录已处理过的FTP txt文件,避免重复处理 |
|||
*/ |
|||
@Mapper |
|||
public interface FtpProcessedFileMapper { |
|||
|
|||
/** |
|||
* 插入处理记录 |
|||
*/ |
|||
int insert(FtpProcessedFile record); |
|||
|
|||
/** |
|||
* 根据地市编码和文件名查询(判断是否已处理) |
|||
*/ |
|||
FtpProcessedFile selectByCityAndFileName(@Param("cityCode") String cityCode, |
|||
@Param("fileName") String fileName); |
|||
|
|||
/** |
|||
* 查询指定地市下所有已处理的文件名列表 |
|||
*/ |
|||
List<String> selectProcessedFileNamesByCity(@Param("cityCode") String cityCode); |
|||
|
|||
/** |
|||
* 批量查询指定地市下多个文件的处理状态 |
|||
*/ |
|||
List<FtpProcessedFile> selectByCityAndFileNames(@Param("cityCode") String cityCode, |
|||
@Param("fileNames") List<String> fileNames); |
|||
|
|||
/** |
|||
* 根据ID更新处理结果 |
|||
*/ |
|||
int updateById(FtpProcessedFile record); |
|||
|
|||
/** |
|||
* 删除指定时间之前的记录(清理历史) |
|||
*/ |
|||
int deleteBeforeTime(@Param("cityCode") String cityCode, |
|||
@Param("beforeTime") String beforeTime); |
|||
} |
|||
@ -0,0 +1,75 @@ |
|||
<?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 < TO_TIMESTAMP(#{beforeTime}, 'YYYY-MM-DD HH24:MI:SS') |
|||
</delete> |
|||
|
|||
</mapper> |
|||
Loading…
Reference in new issue