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.
 
 
 
 
 
 

174 lines
6.7 KiB

<?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.gaotao.modules.sys.dao.InterfaceLogDao">
<!-- 查询接口日志列表 -->
<select id="queryList" resultType="map">
SELECT
id,
site,
bu_no AS buNo,
request_id AS requestId,
interface_name AS interfaceName,
request_group_id AS requestGroupId,
re_document_no AS reDocumentNo,
re_document_type AS reDocumentType,
order_no AS orderNo,
seq_no AS seqNo,
status_code AS statusCode,
message,
source_system AS sourceSystem,
target_system AS targetSystem,
need_retry_flag AS needRetryFlag,
retry_count AS retryCount,
max_retry_count AS maxRetryCount,
retry_interval AS retryInterval,
next_retry_time AS nextRetryTime,
last_retry_time AS lastRetryTime,
warehouse_id AS warehouseId,
created_by AS createdBy,
created_date AS createdDate
FROM api_log
<where>
<if test="interfaceName != null and interfaceName.trim() != ''">
AND interface_name LIKE '%' + #{interfaceName} + '%'
</if>
<if test="requestId != null and requestId.trim() != ''">
AND request_id = #{requestId}
</if>
<if test="reDocumentNo != null and reDocumentNo.trim() != ''">
AND re_document_no LIKE '%' + #{reDocumentNo} + '%'
</if>
<if test="reDocumentType != null and reDocumentType.trim() != ''">
AND re_document_type LIKE '%' + #{reDocumentType} + '%'
</if>
<if test="statusCode != null and statusCode.trim() != ''">
AND status_code = #{statusCode}
</if>
<if test="sourceSystem != null and sourceSystem.trim() != ''">
AND source_system = #{sourceSystem}
</if>
<if test="targetSystem != null and targetSystem.trim() != ''">
AND target_system = #{targetSystem}
</if>
<if test="needRetryFlag != null">
AND need_retry_flag = #{needRetryFlag}
</if>
<if test="warehouseId != null and warehouseId.trim() != ''">
AND warehouse_id = #{warehouseId}
</if>
<if test="startDate != null and startDate.trim() != ''">
AND CONVERT(varchar(10), created_date, 23) &gt;= #{startDate}
</if>
<if test="endDate != null and endDate.trim() != ''">
AND CONVERT(varchar(10), created_date, 23) &lt;= #{endDate}
</if>
</where>
ORDER BY created_date DESC
<if test="offset != null and limit != null">
OFFSET #{offset} ROWS
FETCH NEXT #{limit} ROWS ONLY
</if>
</select>
<!-- 查询接口日志总数 -->
<select id="queryTotal" resultType="int">
SELECT COUNT(*)
FROM api_log
<where>
<if test="interfaceName != null and interfaceName.trim() != ''">
AND interface_name LIKE '%' + #{interfaceName} + '%'
</if>
<if test="requestId != null and requestId.trim() != ''">
AND request_id = #{requestId}
</if>
<if test="reDocumentNo != null and reDocumentNo.trim() != ''">
AND re_document_no LIKE '%' + #{reDocumentNo} + '%'
</if>
<if test="reDocumentType != null and reDocumentType.trim() != ''">
AND re_document_type LIKE '%' + #{reDocumentType} + '%'
</if>
<if test="statusCode != null and statusCode.trim() != ''">
AND status_code = #{statusCode}
</if>
<if test="sourceSystem != null and sourceSystem.trim() != ''">
AND source_system = #{sourceSystem}
</if>
<if test="targetSystem != null and targetSystem.trim() != ''">
AND target_system = #{targetSystem}
</if>
<if test="needRetryFlag != null">
AND need_retry_flag = #{needRetryFlag}
</if>
<if test="warehouseId != null and warehouseId.trim() != ''">
AND warehouse_id = #{warehouseId}
</if>
<if test="startDate != null and startDate.trim() != ''">
AND CONVERT(varchar(10), created_date, 23) &gt;= #{startDate}
</if>
<if test="endDate != null and endDate.trim() != ''">
AND CONVERT(varchar(10), created_date, 23) &lt;= #{endDate}
</if>
</where>
</select>
<!-- 批量删除 -->
<delete id="deleteBatch">
DELETE FROM api_log WHERE id IN
<foreach item="id" collection="ids" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
<!-- 查询单条api_log记录 -->
<select id="getApiLog" resultType="map">
SELECT
id,
site,
bu_no AS buNo,
request_id AS requestId,
interface_name AS interfaceName,
request_group_id AS requestGroupId,
re_document_no AS reDocumentNo,
re_document_type AS reDocumentType,
order_no AS orderNo,
seq_no AS seqNo,
status_code AS statusCode,
message,
request_data AS requestData,
source_system AS sourceSystem,
target_system AS targetSystem,
need_retry_flag AS needRetryFlag,
retry_count AS retryCount,
max_retry_count AS maxRetryCount,
retry_interval AS retryInterval,
next_retry_time AS nextRetryTime,
last_retry_time AS lastRetryTime,
last_response_data AS lastResponseData,
created_by AS createdBy,
created_date AS createdDate
FROM api_log WITH(NOLOCK)
WHERE site = #{site}
AND bu_no = #{buNo}
AND request_id = #{requestId}
AND request_group_id = #{requestGroupId}
</select>
<!-- 更新接口重试信息 -->
<update id="updateRetryInfo">
UPDATE api_log
SET status_code = #{statusCode},
message = #{message},
last_response_data = #{lastResponseData},
retry_count = #{retryCount},
last_retry_time = GETDATE()
WHERE site = #{site}
AND bu_no = #{buNo}
AND request_id = #{requestId}
AND request_group_id = #{requestGroupId}
</update>
</mapper>