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})