id, achievement_id, name, description, icon, type, level, condition_type, condition_value, points, order_num, creator, updater, create_time, update_time, delete_time, deleted AND id = #{filter.ID} AND achievement_id = #{filter.achievementID} AND name LIKE CONCAT('%', #{filter.name}, '%') AND type = #{filter.type} AND level = #{filter.level} AND condition_type = #{filter.conditionType} AND points = #{filter.points} AND creator = #{filter.creator} AND deleted = #{filter.deleted} INNER JOIN tb_resource_permission rp ON a.achievement_id = rp.resource_id AND rp.resource_type = 6 AND rp.deleted = 0 AND rp.can_read = 1 AND ( (rp.dept_id IS NULL AND rp.role_id IS NULL) OR EXISTS ( SELECT 1 FROM ( SELECT #{udr.deptID} AS dept_id, #{udr.deptPath} AS dept_path, #{udr.roleID} AS role_id ) user_roles LEFT JOIN tb_sys_dept perm_dept ON perm_dept.dept_id = rp.dept_id AND perm_dept.deleted = 0 WHERE (rp.role_id IS NULL AND rp.dept_id IS NOT NULL AND user_roles.dept_path LIKE CONCAT(perm_dept.dept_path, '%')) OR (rp.dept_id IS NULL AND rp.role_id = user_roles.role_id) OR (rp.dept_id = user_roles.dept_id AND rp.role_id = user_roles.role_id) ) ) INSERT INTO tb_achievement ( id, achievement_id, name, description, icon, type, level, condition_type, condition_value, points, order_num, creator, updater, create_time, update_time, delete_time, deleted ) VALUES ( #{ID}, #{achievementID}, #{name}, #{description}, #{icon}, #{type}, #{level}, #{conditionType}, #{conditionValue}, #{points}, #{orderNum}, #{creator}, #{updater}, #{createTime}, #{updateTime}, #{deleteTime}, #{deleted} ) UPDATE tb_achievement achievement_id = #{achievementID}, name = #{name}, description = #{description}, icon = #{icon}, type = #{type}, level = #{level}, condition_type = #{conditionType}, condition_value = #{conditionValue}, points = #{points}, order_num = #{orderNum}, updater = #{updater}, update_time = #{updateTime}, delete_time = #{deleteTime}, deleted = #{deleted}, WHERE id = #{ID} DELETE FROM tb_achievement WHERE id = #{ID} INSERT INTO tb_achievement ( id, achievement_id, name, description, icon, type, level, condition_type, condition_value, points, order_num, creator, updater, create_time, update_time, delete_time, deleted ) VALUES ( #{item.ID}, #{item.achievementID}, #{item.name}, #{item.description}, #{item.icon}, #{item.type}, #{item.level}, #{item.conditionType}, #{item.conditionValue}, #{item.points}, #{item.orderNum}, #{item.creator}, #{item.updater}, #{item.createTime}, #{item.updateTime}, #{item.deleteTime}, #{item.deleted} ) DELETE FROM tb_achievement WHERE id IN #{id}