Files
game_server/target/classes/mapper/agent/LinkTaskMapper.xml

114 lines
5.2 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.gameplatform.server.mapper.agent.LinkTaskMapper">
<resultMap id="LinkTaskMap" type="com.gameplatform.server.model.entity.agent.LinkTask">
<id property="id" column="id" />
<result property="batchId" column="batch_id" />
<result property="agentId" column="agent_id" />
<result property="codeNo" column="code_no" />
<result property="tokenHash" column="token_hash" />
<result property="expireAt" column="expire_at" />
<result property="status" column="status" />
<result property="region" column="region" />
<result property="machineId" column="machine_id" />
<result property="loginAt" column="login_at" />
<result property="refundAt" column="refund_at" />
<result property="revokedAt" column="revoked_at" />
<result property="createdAt" column="created_at" />
<result property="updatedAt" column="updated_at" />
</resultMap>
<select id="findById" parameterType="long" resultMap="LinkTaskMap">
SELECT id, batch_id, agent_id, code_no, token_hash, expire_at, status, region, machine_id, login_at, refund_at, revoked_at, created_at, updated_at
FROM link_task
WHERE id = #{id}
LIMIT 1
</select>
<select id="findByCodeNo" parameterType="string" resultMap="LinkTaskMap">
SELECT id, batch_id, agent_id, code_no, token_hash, expire_at, status, region, machine_id, login_at, refund_at, revoked_at, created_at, updated_at
FROM link_task
WHERE code_no = #{codeNo}
LIMIT 1
</select>
<select id="findByTokenHash" parameterType="string" resultMap="LinkTaskMap">
SELECT id, batch_id, agent_id, code_no, token_hash, expire_at, status, region, machine_id, login_at, refund_at, revoked_at, created_at, updated_at
FROM link_task
WHERE token_hash = #{tokenHash}
LIMIT 1
</select>
<insert id="insert" parameterType="com.gameplatform.server.model.entity.agent.LinkTask" useGeneratedKeys="true" keyProperty="id">
INSERT INTO link_task (batch_id, agent_id, code_no, token_hash, expire_at, status, region, machine_id, login_at, refund_at, revoked_at)
VALUES (#{batchId}, #{agentId}, #{codeNo}, #{tokenHash}, #{expireAt}, #{status}, #{region}, #{machineId}, #{loginAt}, #{refundAt}, #{revokedAt})
</insert>
<update id="update" parameterType="com.gameplatform.server.model.entity.agent.LinkTask">
UPDATE link_task
<set>
<if test="status != null">status = #{status},</if>
<if test="region != null">region = #{region},</if>
<if test="machineId != null">machine_id = #{machineId},</if>
<if test="loginAt != null">login_at = #{loginAt},</if>
<if test="refundAt != null">refund_at = #{refundAt},</if>
<if test="revokedAt != null">revoked_at = #{revokedAt},</if>
</set>
WHERE id = #{id}
</update>
<update id="updateStatus">
UPDATE link_task SET status = #{status} WHERE id = #{id}
</update>
<update id="updateStatusAndMachine">
UPDATE link_task
SET status = #{status}, region = #{region}, machine_id = #{machineId}, login_at = #{loginAt}
WHERE id = #{id}
</update>
<select id="findByAgentId" resultMap="LinkTaskMap">
SELECT id, batch_id, agent_id, code_no, token_hash, expire_at, status, region, machine_id, login_at, refund_at, revoked_at, created_at, updated_at
FROM link_task
WHERE agent_id = #{agentId}
ORDER BY created_at DESC
LIMIT #{size} OFFSET #{offset}
</select>
<select id="countByAgentId" resultType="long">
SELECT COUNT(1) FROM link_task WHERE agent_id = #{agentId}
</select>
<select id="findByAgentIdAndStatus" resultMap="LinkTaskMap">
SELECT id, batch_id, agent_id, code_no, token_hash, expire_at, status, region, machine_id, login_at, refund_at, revoked_at, created_at, updated_at
FROM link_task
WHERE agent_id = #{agentId} AND status = #{status}
ORDER BY created_at DESC
LIMIT #{size} OFFSET #{offset}
</select>
<select id="countByAgentIdAndStatus" resultType="long">
SELECT COUNT(1) FROM link_task WHERE agent_id = #{agentId} AND status = #{status}
</select>
<select id="findByBatchId" resultMap="LinkTaskMap">
SELECT id, batch_id, agent_id, code_no, token_hash, expire_at, status, region, machine_id, login_at, refund_at, revoked_at, created_at, updated_at
FROM link_task
WHERE batch_id = #{batchId}
ORDER BY created_at DESC
LIMIT #{size} OFFSET #{offset}
</select>
<select id="countByBatchId" resultType="long">
SELECT COUNT(1) FROM link_task WHERE batch_id = #{batchId}
</select>
<select id="findExpiredTasks" resultMap="LinkTaskMap">
SELECT id, batch_id, agent_id, code_no, token_hash, expire_at, status, region, machine_id, login_at, refund_at, revoked_at, created_at, updated_at
FROM link_task
WHERE expire_at &lt;= #{expireTime} AND status IN ('NEW', 'USING')
ORDER BY expire_at ASC
LIMIT #{size}
</select>
</mapper>