INSERT INTO link_task (batch_id, agent_id, code_no, token_hash, expire_at, status, region, machine_id, login_at, refund_at, revoked_at, need_refresh, refresh_time, qr_created_at, qr_expire_at, first_region_select_at)
VALUES (#{batchId}, #{agentId}, #{codeNo}, #{tokenHash}, #{expireAt}, #{status}, #{region}, #{machineId}, #{loginAt}, #{refundAt}, #{revokedAt}, #{needRefresh}, #{refreshTime}, #{qrCreatedAt}, #{qrExpireAt}, #{firstRegionSelectAt})
UPDATE link_task
status = #{status},
region = #{region},
machine_id = #{machineId},
login_at = #{loginAt},
refund_at = #{refundAt},
revoked_at = #{revokedAt},
need_refresh = #{needRefresh},
refresh_time = #{refreshTime},
qr_created_at = #{qrCreatedAt},
qr_expire_at = #{qrExpireAt},
first_region_select_at = #{firstRegionSelectAt},
completed_points = #{completedPoints},
completion_images = #{completionImages},
reason = #{reason},
updated_at = NOW()
WHERE id = #{id}
UPDATE link_task SET status = #{status} WHERE id = #{id}
UPDATE link_task
SET status = #{status}, region = #{region}, machine_id = #{machineId}, login_at = #{loginAt}
WHERE id = #{id}
UPDATE link_task
SET completed_points = #{newPoints}, updated_at = NOW()
WHERE id = #{id}
AND (completed_points IS NULL OR completed_points < #{newPoints})
UPDATE link_task
status = 'COMPLETED',
reason = #{reason},
completed_points = #{completedPoints},
updated_at = NOW()
WHERE machine_id = #{machineId}
AND status = 'LOGGED_IN'
DELETE FROM link_task WHERE code_no = #{codeNo}
DELETE FROM link_task WHERE code_no = #{codeNo} AND agent_id = #{agentId}
DELETE FROM link_task
WHERE agent_id = #{agentId}
AND code_no IN
#{codeNo}
DELETE FROM link_task
WHERE agent_id = #{agentId}
AND status IN
#{status}
UPDATE link_task lt
LEFT JOIN (
SELECT 1 as has_conflict
FROM link_task x
WHERE x.machine_id = #{deviceId}
AND x.status IN ('USING','LOGGED_IN')
AND x.id <> #{id}
) conflict_check ON 1=1
SET lt.status = 'USING',
lt.region = #{region},
lt.machine_id = #{deviceId},
lt.qr_created_at = NOW(),
lt.qr_expire_at = DATE_ADD(NOW(), INTERVAL #{qrExpireSeconds} SECOND),
lt.updated_at = NOW()
WHERE lt.id = #{id}
AND conflict_check.has_conflict IS NULL
INSERT INTO link_task (batch_id, agent_id, code_no, token_hash, expire_at, status, region, machine_id, login_at, refund_at, revoked_at, need_refresh, refresh_time, qr_created_at, qr_expire_at, first_region_select_at)
VALUES
(#{task.batchId}, #{task.agentId}, #{task.codeNo}, #{task.tokenHash}, #{task.expireAt}, #{task.status}, #{task.region}, #{task.machineId}, #{task.loginAt}, #{task.refundAt}, #{task.revokedAt}, #{task.needRefresh}, #{task.refreshTime}, #{task.qrCreatedAt}, #{task.qrExpireAt}, #{task.firstRegionSelectAt})