60 行
2.4 KiB
XML
60 行
2.4 KiB
XML
<?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.weilab.biology.mapper.JobMapper">
|
|
<resultMap id="BaseResultMap" type="com.weilab.biology.core.data.po.Job">
|
|
<id column="job_id" jdbcType="INTEGER" property="jobId"/>
|
|
<result column="data" jdbcType="LONGVARCHAR" property="data"/>
|
|
<result column="param" jdbcType="VARCHAR" property="param"/>
|
|
<result column="mail" jdbcType="VARCHAR" property="mail"/>
|
|
<result column="result" jdbcType="LONGVARCHAR" property="result"/>
|
|
<result column="status" jdbcType="TINYINT" property="status"/>
|
|
<result column="request_time" jdbcType="TIMESTAMP" property="requestTime"/>
|
|
<result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
|
|
<result column="complete_time" jdbcType="TIMESTAMP" property="completeTime"/>
|
|
<result column="type" jdbcType="INTEGER" property="type"/>
|
|
</resultMap>
|
|
<sql id="JobSql">
|
|
SELECT job_id,
|
|
`data`,
|
|
param,
|
|
mail,
|
|
result,
|
|
`status`,
|
|
request_time,
|
|
create_time,
|
|
complete_time,
|
|
type
|
|
FROM job
|
|
</sql>
|
|
<sql id="JobLessSql">
|
|
SELECT job_id,
|
|
`status`,
|
|
request_time,
|
|
create_time,
|
|
complete_time,
|
|
type
|
|
FROM job
|
|
</sql>
|
|
<select id="selectRunningJobs" resultMap="BaseResultMap">
|
|
<include refid="JobSql"/>
|
|
WHERE status = '${@com.weilab.biology.core.data.enums.JobStatusEnum@RUNNING.getKey()}'
|
|
OR status = '${@com.weilab.biology.core.data.enums.JobStatusEnum@REQED.getKey()}'
|
|
</select>
|
|
<select id="selectNextWaitingJob" resultMap="BaseResultMap">
|
|
<include refid="JobSql"/>
|
|
WHERE status = '${@com.weilab.biology.core.data.enums.JobStatusEnum@WAIT.getKey()}'
|
|
ORDER BY request_time
|
|
LIMIT 1
|
|
</select>
|
|
<select id="selectJobList" resultMap="BaseResultMap">
|
|
<include refid="JobLessSql"/>
|
|
<where>
|
|
<if test="type != null">
|
|
AND type = #{type}
|
|
</if>
|
|
AND create_time > DATE_SUB(CURDATE(), INTERVAL 3 MONTH)
|
|
</where>
|
|
ORDER BY job_id DESC
|
|
<!-- LIMIT #{count}-->
|
|
</select>
|
|
</mapper> |