实训任务支持四类资料:training_task与班级配置表新增案例视频/实训指导手册/AI排错指导手册六列(存量自动补列),实体与mapper透传,Excel导入未提交字段保留原值,默认任务修改同步班级未改字段

fix/exam-question-access-material-excel-delete-draft
陈沅 2 weeks ago
parent fbd2428d4a
commit b3d74d1a7a

@ -41,6 +41,24 @@ public class TrainingTask {
@ApiModelProperty("资料地址") @ApiModelProperty("资料地址")
private String materialUrl; private String materialUrl;
@ApiModelProperty("案例视频资料名称(内部字段沿用trainingData命名)")
private String trainingDataName;
@ApiModelProperty("案例视频资料地址")
private String trainingDataUrl;
@ApiModelProperty("实训指导手册名称")
private String guideManualName;
@ApiModelProperty("实训指导手册地址")
private String guideManualUrl;
@ApiModelProperty("AI排错指导手册名称(内部字段沿用aiManual命名)")
private String aiManualName;
@ApiModelProperty("AI排错指导手册地址")
private String aiManualUrl;
@ApiModelProperty("排序") @ApiModelProperty("排序")
private Integer sort; private Integer sort;
@ -152,6 +170,54 @@ public class TrainingTask {
this.materialUrl = materialUrl == null ? null : materialUrl.trim(); this.materialUrl = materialUrl == null ? null : materialUrl.trim();
} }
public String getTrainingDataName() {
return trainingDataName;
}
public void setTrainingDataName(String trainingDataName) {
this.trainingDataName = trainingDataName == null ? null : trainingDataName.trim();
}
public String getTrainingDataUrl() {
return trainingDataUrl;
}
public void setTrainingDataUrl(String trainingDataUrl) {
this.trainingDataUrl = trainingDataUrl == null ? null : trainingDataUrl.trim();
}
public String getGuideManualName() {
return guideManualName;
}
public void setGuideManualName(String guideManualName) {
this.guideManualName = guideManualName == null ? null : guideManualName.trim();
}
public String getGuideManualUrl() {
return guideManualUrl;
}
public void setGuideManualUrl(String guideManualUrl) {
this.guideManualUrl = guideManualUrl == null ? null : guideManualUrl.trim();
}
public String getAiManualName() {
return aiManualName;
}
public void setAiManualName(String aiManualName) {
this.aiManualName = aiManualName == null ? null : aiManualName.trim();
}
public String getAiManualUrl() {
return aiManualUrl;
}
public void setAiManualUrl(String aiManualUrl) {
this.aiManualUrl = aiManualUrl == null ? null : aiManualUrl.trim();
}
public Integer getSort() { public Integer getSort() {
return sort; return sort;
} }

@ -44,6 +44,24 @@ public class TrainingTaskClassConfig {
@ApiModelProperty("Material URL") @ApiModelProperty("Material URL")
private String materialUrl; private String materialUrl;
@ApiModelProperty("Case video material name (legacy trainingData naming)")
private String trainingDataName;
@ApiModelProperty("Case video material URL")
private String trainingDataUrl;
@ApiModelProperty("Guide manual name")
private String guideManualName;
@ApiModelProperty("Guide manual URL")
private String guideManualUrl;
@ApiModelProperty("AI troubleshooting manual name (legacy aiManual naming)")
private String aiManualName;
@ApiModelProperty("AI troubleshooting manual URL")
private String aiManualUrl;
@ApiModelProperty("Sort order") @ApiModelProperty("Sort order")
private Integer sort; private Integer sort;
@ -163,6 +181,54 @@ public class TrainingTaskClassConfig {
this.materialUrl = materialUrl == null ? null : materialUrl.trim(); this.materialUrl = materialUrl == null ? null : materialUrl.trim();
} }
public String getTrainingDataName() {
return trainingDataName;
}
public void setTrainingDataName(String trainingDataName) {
this.trainingDataName = trainingDataName == null ? null : trainingDataName.trim();
}
public String getTrainingDataUrl() {
return trainingDataUrl;
}
public void setTrainingDataUrl(String trainingDataUrl) {
this.trainingDataUrl = trainingDataUrl == null ? null : trainingDataUrl.trim();
}
public String getGuideManualName() {
return guideManualName;
}
public void setGuideManualName(String guideManualName) {
this.guideManualName = guideManualName == null ? null : guideManualName.trim();
}
public String getGuideManualUrl() {
return guideManualUrl;
}
public void setGuideManualUrl(String guideManualUrl) {
this.guideManualUrl = guideManualUrl == null ? null : guideManualUrl.trim();
}
public String getAiManualName() {
return aiManualName;
}
public void setAiManualName(String aiManualName) {
this.aiManualName = aiManualName == null ? null : aiManualName.trim();
}
public String getAiManualUrl() {
return aiManualUrl;
}
public void setAiManualUrl(String aiManualUrl) {
this.aiManualUrl = aiManualUrl == null ? null : aiManualUrl.trim();
}
public Integer getSort() { public Integer getSort() {
return sort; return sort;
} }

@ -135,7 +135,20 @@ public class TrainingTaskServiceImpl implements TrainingTaskService {
if (existing == null) { if (existing == null) {
throw new IllegalArgumentException("实训任务不存在"); throw new IllegalArgumentException("实训任务不存在");
} }
// Excel 导入模板不含三类新资料列,未提交(null)时保留库里已有资料;页面编辑始终显式传值(可为空串以清除)。
String incomingTrainingDataName = task.getTrainingDataName();
String incomingTrainingDataUrl = task.getTrainingDataUrl();
String incomingGuideManualName = task.getGuideManualName();
String incomingGuideManualUrl = task.getGuideManualUrl();
String incomingAiManualName = task.getAiManualName();
String incomingAiManualUrl = task.getAiManualUrl();
normalizeTask(task); normalizeTask(task);
if (incomingTrainingDataName == null) task.setTrainingDataName(existing.getTrainingDataName());
if (incomingTrainingDataUrl == null) task.setTrainingDataUrl(existing.getTrainingDataUrl());
if (incomingGuideManualName == null) task.setGuideManualName(existing.getGuideManualName());
if (incomingGuideManualUrl == null) task.setGuideManualUrl(existing.getGuideManualUrl());
if (incomingAiManualName == null) task.setAiManualName(existing.getAiManualName());
if (incomingAiManualUrl == null) task.setAiManualUrl(existing.getAiManualUrl());
TrainingTask builtInTask = requireBuiltInTask(existing.getTaskKey()); TrainingTask builtInTask = requireBuiltInTask(existing.getTaskKey());
task.setId(id); task.setId(id);
task.setTaskKey(existing.getTaskKey()); task.setTaskKey(existing.getTaskKey());
@ -610,6 +623,30 @@ public class TrainingTaskServiceImpl implements TrainingTaskService {
update.setMaterialUrl(updatedTask.getMaterialUrl()); update.setMaterialUrl(updatedTask.getMaterialUrl());
changed = true; changed = true;
} }
if (shouldSynchronize(classTask.getTrainingDataName(), previousTask.getTrainingDataName(), updatedTask.getTrainingDataName())) {
update.setTrainingDataName(updatedTask.getTrainingDataName());
changed = true;
}
if (shouldSynchronize(classTask.getTrainingDataUrl(), previousTask.getTrainingDataUrl(), updatedTask.getTrainingDataUrl())) {
update.setTrainingDataUrl(updatedTask.getTrainingDataUrl());
changed = true;
}
if (shouldSynchronize(classTask.getGuideManualName(), previousTask.getGuideManualName(), updatedTask.getGuideManualName())) {
update.setGuideManualName(updatedTask.getGuideManualName());
changed = true;
}
if (shouldSynchronize(classTask.getGuideManualUrl(), previousTask.getGuideManualUrl(), updatedTask.getGuideManualUrl())) {
update.setGuideManualUrl(updatedTask.getGuideManualUrl());
changed = true;
}
if (shouldSynchronize(classTask.getAiManualName(), previousTask.getAiManualName(), updatedTask.getAiManualName())) {
update.setAiManualName(updatedTask.getAiManualName());
changed = true;
}
if (shouldSynchronize(classTask.getAiManualUrl(), previousTask.getAiManualUrl(), updatedTask.getAiManualUrl())) {
update.setAiManualUrl(updatedTask.getAiManualUrl());
changed = true;
}
if (changed) { if (changed) {
update.setUpdateTime(new Date()); update.setUpdateTime(new Date());
trainingTaskClassConfigMapper.updateByPrimaryKeySelective(update); trainingTaskClassConfigMapper.updateByPrimaryKeySelective(update);
@ -680,6 +717,12 @@ public class TrainingTaskServiceImpl implements TrainingTaskService {
task.setStepOneQuestions(config.getStepOneQuestions()); task.setStepOneQuestions(config.getStepOneQuestions());
task.setMaterialName(config.getMaterialName()); task.setMaterialName(config.getMaterialName());
task.setMaterialUrl(config.getMaterialUrl()); task.setMaterialUrl(config.getMaterialUrl());
task.setTrainingDataName(config.getTrainingDataName());
task.setTrainingDataUrl(config.getTrainingDataUrl());
task.setGuideManualName(config.getGuideManualName());
task.setGuideManualUrl(config.getGuideManualUrl());
task.setAiManualName(config.getAiManualName());
task.setAiManualUrl(config.getAiManualUrl());
task.setSort(config.getSort()); task.setSort(config.getSort());
task.setEnabled(config.getEnabled()); task.setEnabled(config.getEnabled());
task.setCreatedBy(config.getCreatedBy()); task.setCreatedBy(config.getCreatedBy());
@ -702,6 +745,12 @@ public class TrainingTaskServiceImpl implements TrainingTaskService {
config.setStepOneQuestions(task.getStepOneQuestions()); config.setStepOneQuestions(task.getStepOneQuestions());
config.setMaterialName(task.getMaterialName()); config.setMaterialName(task.getMaterialName());
config.setMaterialUrl(task.getMaterialUrl()); config.setMaterialUrl(task.getMaterialUrl());
config.setTrainingDataName(task.getTrainingDataName());
config.setTrainingDataUrl(task.getTrainingDataUrl());
config.setGuideManualName(task.getGuideManualName());
config.setGuideManualUrl(task.getGuideManualUrl());
config.setAiManualName(task.getAiManualName());
config.setAiManualUrl(task.getAiManualUrl());
config.setSort(task.getSort()); config.setSort(task.getSort());
config.setEnabled(task.getEnabled()); config.setEnabled(task.getEnabled());
config.setCreatedBy(operatorId); config.setCreatedBy(operatorId);
@ -725,6 +774,12 @@ public class TrainingTaskServiceImpl implements TrainingTaskService {
"step_one_questions text NULL COMMENT '第一步选择题JSON数组'," + "step_one_questions text NULL COMMENT '第一步选择题JSON数组'," +
"material_name varchar(255) NULL COMMENT '资料名称'," + "material_name varchar(255) NULL COMMENT '资料名称'," +
"material_url varchar(500) NULL COMMENT '资料地址'," + "material_url varchar(500) NULL COMMENT '资料地址'," +
"training_data_name varchar(255) NULL COMMENT '案例视频资料名称'," +
"training_data_url varchar(500) NULL COMMENT '案例视频资料地址'," +
"guide_manual_name varchar(255) NULL COMMENT '实训指导手册名称'," +
"guide_manual_url varchar(500) NULL COMMENT '实训指导手册地址'," +
"ai_manual_name varchar(255) NULL COMMENT 'AI排错指导手册名称'," +
"ai_manual_url varchar(500) NULL COMMENT 'AI排错指导手册地址'," +
"sort int DEFAULT 0 COMMENT '排序'," + "sort int DEFAULT 0 COMMENT '排序'," +
"enabled bit(1) DEFAULT b'1' COMMENT '是否启用'," + "enabled bit(1) DEFAULT b'1' COMMENT '是否启用'," +
"created_by varchar(64) NULL COMMENT '创建人'," + "created_by varchar(64) NULL COMMENT '创建人'," +
@ -737,6 +792,7 @@ public class TrainingTaskServiceImpl implements TrainingTaskService {
") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='实训任务配置'"); ") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='实训任务配置'");
jdbcTemplate.execute("ALTER TABLE training_task CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci"); jdbcTemplate.execute("ALTER TABLE training_task CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci");
ensureTextColumn("training_task", "step_one_questions", "第一步选择题JSON数组"); ensureTextColumn("training_task", "step_one_questions", "第一步选择题JSON数组");
ensureMaterialColumns("training_task");
trainingTaskTableChecked = true; trainingTaskTableChecked = true;
} }
@ -758,6 +814,12 @@ public class TrainingTaskServiceImpl implements TrainingTaskService {
"step_one_questions text NULL," + "step_one_questions text NULL," +
"material_name varchar(255) NULL," + "material_name varchar(255) NULL," +
"material_url varchar(500) NULL," + "material_url varchar(500) NULL," +
"training_data_name varchar(255) NULL," +
"training_data_url varchar(500) NULL," +
"guide_manual_name varchar(255) NULL," +
"guide_manual_url varchar(500) NULL," +
"ai_manual_name varchar(255) NULL," +
"ai_manual_url varchar(500) NULL," +
"sort int DEFAULT 0," + "sort int DEFAULT 0," +
"enabled bit(1) DEFAULT b'1'," + "enabled bit(1) DEFAULT b'1'," +
"created_by varchar(64) NULL," + "created_by varchar(64) NULL," +
@ -769,6 +831,7 @@ public class TrainingTaskServiceImpl implements TrainingTaskService {
"KEY idx_training_task_class_created_by (created_by)" + "KEY idx_training_task_class_created_by (created_by)" +
") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Class scoped training task config'"); ") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Class scoped training task config'");
ensureTextColumn("training_task_class_config", "step_one_questions", "第一步选择题JSON数组"); ensureTextColumn("training_task_class_config", "step_one_questions", "第一步选择题JSON数组");
ensureMaterialColumns("training_task_class_config");
trainingTaskClassConfigTableChecked = true; trainingTaskClassConfigTableChecked = true;
} }
@ -788,6 +851,27 @@ public class TrainingTaskServiceImpl implements TrainingTaskService {
+ " text NULL COMMENT '" + comment + "' AFTER steps"); + " text NULL COMMENT '" + comment + "' AFTER steps");
} }
/** 补齐四类资料列:早期只建了 material_name/material_url 的部署需要追加后三类资料列。 */
private void ensureMaterialColumns(String tableName) {
if (jdbcTemplate == null) {
return;
}
Integer count = jdbcTemplate.queryForObject(
"SELECT COUNT(1) FROM information_schema.COLUMNS " +
"WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = ? AND COLUMN_NAME = 'ai_manual_url'",
Integer.class, tableName);
if (count != null && count > 0) {
return;
}
jdbcTemplate.execute("ALTER TABLE " + tableName
+ " ADD COLUMN training_data_name varchar(255) NULL AFTER material_url,"
+ " ADD COLUMN training_data_url varchar(500) NULL AFTER training_data_name,"
+ " ADD COLUMN guide_manual_name varchar(255) NULL AFTER training_data_url,"
+ " ADD COLUMN guide_manual_url varchar(500) NULL AFTER guide_manual_name,"
+ " ADD COLUMN ai_manual_name varchar(255) NULL AFTER guide_manual_url,"
+ " ADD COLUMN ai_manual_url varchar(500) NULL AFTER ai_manual_name");
}
TrainingTask buildTask(TrainingTaskImportDTO row, int rowNumber, List<String> errors) { TrainingTask buildTask(TrainingTaskImportDTO row, int rowNumber, List<String> errors) {
String projectName = StringUtils.trimToEmpty(row.getProjectName()); String projectName = StringUtils.trimToEmpty(row.getProjectName());
String taskKey = StringUtils.trimToEmpty(row.getTaskKey()); String taskKey = StringUtils.trimToEmpty(row.getTaskKey());
@ -862,6 +946,12 @@ public class TrainingTaskServiceImpl implements TrainingTaskService {
task.setStepOneQuestions(normalizeStepOneQuestions(task.getTaskKey(), task.getStepOneQuestions())); task.setStepOneQuestions(normalizeStepOneQuestions(task.getTaskKey(), task.getStepOneQuestions()));
task.setMaterialName(StringUtils.trimToEmpty(task.getMaterialName())); task.setMaterialName(StringUtils.trimToEmpty(task.getMaterialName()));
task.setMaterialUrl(StringUtils.trimToEmpty(task.getMaterialUrl())); task.setMaterialUrl(StringUtils.trimToEmpty(task.getMaterialUrl()));
task.setTrainingDataName(StringUtils.trimToEmpty(task.getTrainingDataName()));
task.setTrainingDataUrl(StringUtils.trimToEmpty(task.getTrainingDataUrl()));
task.setGuideManualName(StringUtils.trimToEmpty(task.getGuideManualName()));
task.setGuideManualUrl(StringUtils.trimToEmpty(task.getGuideManualUrl()));
task.setAiManualName(StringUtils.trimToEmpty(task.getAiManualName()));
task.setAiManualUrl(StringUtils.trimToEmpty(task.getAiManualUrl()));
if (task.getEnabled() == null) { if (task.getEnabled() == null) {
task.setEnabled(Boolean.TRUE); task.setEnabled(Boolean.TRUE);
} }

@ -15,6 +15,12 @@
<result column="step_one_questions" jdbcType="LONGVARCHAR" property="stepOneQuestions" /> <result column="step_one_questions" jdbcType="LONGVARCHAR" property="stepOneQuestions" />
<result column="material_name" jdbcType="VARCHAR" property="materialName" /> <result column="material_name" jdbcType="VARCHAR" property="materialName" />
<result column="material_url" jdbcType="VARCHAR" property="materialUrl" /> <result column="material_url" jdbcType="VARCHAR" property="materialUrl" />
<result column="training_data_name" jdbcType="VARCHAR" property="trainingDataName" />
<result column="training_data_url" jdbcType="VARCHAR" property="trainingDataUrl" />
<result column="guide_manual_name" jdbcType="VARCHAR" property="guideManualName" />
<result column="guide_manual_url" jdbcType="VARCHAR" property="guideManualUrl" />
<result column="ai_manual_name" jdbcType="VARCHAR" property="aiManualName" />
<result column="ai_manual_url" jdbcType="VARCHAR" property="aiManualUrl" />
<result column="sort" jdbcType="INTEGER" property="sort" /> <result column="sort" jdbcType="INTEGER" property="sort" />
<result column="enabled" jdbcType="BIT" property="enabled" /> <result column="enabled" jdbcType="BIT" property="enabled" />
<result column="created_by" jdbcType="VARCHAR" property="createdBy" /> <result column="created_by" jdbcType="VARCHAR" property="createdBy" />
@ -24,7 +30,9 @@
<sql id="Base_Column_List"> <sql id="Base_Column_List">
id, teaching_class_id, task_key, project_name, task_name, knowledge, background, objectives, requirements, id, teaching_class_id, task_key, project_name, task_name, knowledge, background, objectives, requirements,
steps, step_one_questions, material_name, material_url, sort, enabled, created_by, create_time, update_time steps, step_one_questions, material_name, material_url,
training_data_name, training_data_url, guide_manual_name, guide_manual_url, ai_manual_name, ai_manual_url,
sort, enabled, created_by, create_time, update_time
</sql> </sql>
<select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap"> <select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
@ -84,6 +92,12 @@
<if test="stepOneQuestions != null">step_one_questions,</if> <if test="stepOneQuestions != null">step_one_questions,</if>
<if test="materialName != null">material_name,</if> <if test="materialName != null">material_name,</if>
<if test="materialUrl != null">material_url,</if> <if test="materialUrl != null">material_url,</if>
<if test="trainingDataName != null">training_data_name,</if>
<if test="trainingDataUrl != null">training_data_url,</if>
<if test="guideManualName != null">guide_manual_name,</if>
<if test="guideManualUrl != null">guide_manual_url,</if>
<if test="aiManualName != null">ai_manual_name,</if>
<if test="aiManualUrl != null">ai_manual_url,</if>
<if test="sort != null">sort,</if> <if test="sort != null">sort,</if>
<if test="enabled != null">enabled,</if> <if test="enabled != null">enabled,</if>
<if test="createdBy != null">created_by,</if> <if test="createdBy != null">created_by,</if>
@ -104,6 +118,12 @@
<if test="stepOneQuestions != null">#{stepOneQuestions},</if> <if test="stepOneQuestions != null">#{stepOneQuestions},</if>
<if test="materialName != null">#{materialName,jdbcType=VARCHAR},</if> <if test="materialName != null">#{materialName,jdbcType=VARCHAR},</if>
<if test="materialUrl != null">#{materialUrl,jdbcType=VARCHAR},</if> <if test="materialUrl != null">#{materialUrl,jdbcType=VARCHAR},</if>
<if test="trainingDataName != null">#{trainingDataName,jdbcType=VARCHAR},</if>
<if test="trainingDataUrl != null">#{trainingDataUrl,jdbcType=VARCHAR},</if>
<if test="guideManualName != null">#{guideManualName,jdbcType=VARCHAR},</if>
<if test="guideManualUrl != null">#{guideManualUrl,jdbcType=VARCHAR},</if>
<if test="aiManualName != null">#{aiManualName,jdbcType=VARCHAR},</if>
<if test="aiManualUrl != null">#{aiManualUrl,jdbcType=VARCHAR},</if>
<if test="sort != null">#{sort,jdbcType=INTEGER},</if> <if test="sort != null">#{sort,jdbcType=INTEGER},</if>
<if test="enabled != null">#{enabled,jdbcType=BIT},</if> <if test="enabled != null">#{enabled,jdbcType=BIT},</if>
<if test="createdBy != null">#{createdBy,jdbcType=VARCHAR},</if> <if test="createdBy != null">#{createdBy,jdbcType=VARCHAR},</if>
@ -125,6 +145,12 @@
<if test="stepOneQuestions != null">step_one_questions = #{stepOneQuestions},</if> <if test="stepOneQuestions != null">step_one_questions = #{stepOneQuestions},</if>
<if test="materialName != null">material_name = #{materialName,jdbcType=VARCHAR},</if> <if test="materialName != null">material_name = #{materialName,jdbcType=VARCHAR},</if>
<if test="materialUrl != null">material_url = #{materialUrl,jdbcType=VARCHAR},</if> <if test="materialUrl != null">material_url = #{materialUrl,jdbcType=VARCHAR},</if>
<if test="trainingDataName != null">training_data_name = #{trainingDataName,jdbcType=VARCHAR},</if>
<if test="trainingDataUrl != null">training_data_url = #{trainingDataUrl,jdbcType=VARCHAR},</if>
<if test="guideManualName != null">guide_manual_name = #{guideManualName,jdbcType=VARCHAR},</if>
<if test="guideManualUrl != null">guide_manual_url = #{guideManualUrl,jdbcType=VARCHAR},</if>
<if test="aiManualName != null">ai_manual_name = #{aiManualName,jdbcType=VARCHAR},</if>
<if test="aiManualUrl != null">ai_manual_url = #{aiManualUrl,jdbcType=VARCHAR},</if>
<if test="sort != null">sort = #{sort,jdbcType=INTEGER},</if> <if test="sort != null">sort = #{sort,jdbcType=INTEGER},</if>
<if test="enabled != null">enabled = #{enabled,jdbcType=BIT},</if> <if test="enabled != null">enabled = #{enabled,jdbcType=BIT},</if>
<if test="updateTime != null">update_time = #{updateTime,jdbcType=TIMESTAMP},</if> <if test="updateTime != null">update_time = #{updateTime,jdbcType=TIMESTAMP},</if>

@ -14,6 +14,12 @@
<result column="step_one_questions" jdbcType="LONGVARCHAR" property="stepOneQuestions" /> <result column="step_one_questions" jdbcType="LONGVARCHAR" property="stepOneQuestions" />
<result column="material_name" jdbcType="VARCHAR" property="materialName" /> <result column="material_name" jdbcType="VARCHAR" property="materialName" />
<result column="material_url" jdbcType="VARCHAR" property="materialUrl" /> <result column="material_url" jdbcType="VARCHAR" property="materialUrl" />
<result column="training_data_name" jdbcType="VARCHAR" property="trainingDataName" />
<result column="training_data_url" jdbcType="VARCHAR" property="trainingDataUrl" />
<result column="guide_manual_name" jdbcType="VARCHAR" property="guideManualName" />
<result column="guide_manual_url" jdbcType="VARCHAR" property="guideManualUrl" />
<result column="ai_manual_name" jdbcType="VARCHAR" property="aiManualName" />
<result column="ai_manual_url" jdbcType="VARCHAR" property="aiManualUrl" />
<result column="sort" jdbcType="INTEGER" property="sort" /> <result column="sort" jdbcType="INTEGER" property="sort" />
<result column="enabled" jdbcType="BIT" property="enabled" /> <result column="enabled" jdbcType="BIT" property="enabled" />
<result column="created_by" jdbcType="VARCHAR" property="createdBy" /> <result column="created_by" jdbcType="VARCHAR" property="createdBy" />
@ -23,7 +29,9 @@
<sql id="Base_Column_List"> <sql id="Base_Column_List">
id, task_key, project_name, task_name, knowledge, background, objectives, requirements, id, task_key, project_name, task_name, knowledge, background, objectives, requirements,
steps, step_one_questions, material_name, material_url, sort, enabled, created_by, create_time, update_time steps, step_one_questions, material_name, material_url,
training_data_name, training_data_url, guide_manual_name, guide_manual_url, ai_manual_name, ai_manual_url,
sort, enabled, created_by, create_time, update_time
</sql> </sql>
<select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap"> <select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
@ -79,6 +87,12 @@
<if test="stepOneQuestions != null">step_one_questions,</if> <if test="stepOneQuestions != null">step_one_questions,</if>
<if test="materialName != null">material_name,</if> <if test="materialName != null">material_name,</if>
<if test="materialUrl != null">material_url,</if> <if test="materialUrl != null">material_url,</if>
<if test="trainingDataName != null">training_data_name,</if>
<if test="trainingDataUrl != null">training_data_url,</if>
<if test="guideManualName != null">guide_manual_name,</if>
<if test="guideManualUrl != null">guide_manual_url,</if>
<if test="aiManualName != null">ai_manual_name,</if>
<if test="aiManualUrl != null">ai_manual_url,</if>
<if test="sort != null">sort,</if> <if test="sort != null">sort,</if>
<if test="enabled != null">enabled,</if> <if test="enabled != null">enabled,</if>
<if test="createdBy != null">created_by,</if> <if test="createdBy != null">created_by,</if>
@ -98,6 +112,12 @@
<if test="stepOneQuestions != null">#{stepOneQuestions},</if> <if test="stepOneQuestions != null">#{stepOneQuestions},</if>
<if test="materialName != null">#{materialName,jdbcType=VARCHAR},</if> <if test="materialName != null">#{materialName,jdbcType=VARCHAR},</if>
<if test="materialUrl != null">#{materialUrl,jdbcType=VARCHAR},</if> <if test="materialUrl != null">#{materialUrl,jdbcType=VARCHAR},</if>
<if test="trainingDataName != null">#{trainingDataName,jdbcType=VARCHAR},</if>
<if test="trainingDataUrl != null">#{trainingDataUrl,jdbcType=VARCHAR},</if>
<if test="guideManualName != null">#{guideManualName,jdbcType=VARCHAR},</if>
<if test="guideManualUrl != null">#{guideManualUrl,jdbcType=VARCHAR},</if>
<if test="aiManualName != null">#{aiManualName,jdbcType=VARCHAR},</if>
<if test="aiManualUrl != null">#{aiManualUrl,jdbcType=VARCHAR},</if>
<if test="sort != null">#{sort,jdbcType=INTEGER},</if> <if test="sort != null">#{sort,jdbcType=INTEGER},</if>
<if test="enabled != null">#{enabled,jdbcType=BIT},</if> <if test="enabled != null">#{enabled,jdbcType=BIT},</if>
<if test="createdBy != null">#{createdBy,jdbcType=VARCHAR},</if> <if test="createdBy != null">#{createdBy,jdbcType=VARCHAR},</if>
@ -120,6 +140,12 @@
<if test="stepOneQuestions != null">step_one_questions = #{stepOneQuestions},</if> <if test="stepOneQuestions != null">step_one_questions = #{stepOneQuestions},</if>
<if test="materialName != null">material_name = #{materialName,jdbcType=VARCHAR},</if> <if test="materialName != null">material_name = #{materialName,jdbcType=VARCHAR},</if>
<if test="materialUrl != null">material_url = #{materialUrl,jdbcType=VARCHAR},</if> <if test="materialUrl != null">material_url = #{materialUrl,jdbcType=VARCHAR},</if>
<if test="trainingDataName != null">training_data_name = #{trainingDataName,jdbcType=VARCHAR},</if>
<if test="trainingDataUrl != null">training_data_url = #{trainingDataUrl,jdbcType=VARCHAR},</if>
<if test="guideManualName != null">guide_manual_name = #{guideManualName,jdbcType=VARCHAR},</if>
<if test="guideManualUrl != null">guide_manual_url = #{guideManualUrl,jdbcType=VARCHAR},</if>
<if test="aiManualName != null">ai_manual_name = #{aiManualName,jdbcType=VARCHAR},</if>
<if test="aiManualUrl != null">ai_manual_url = #{aiManualUrl,jdbcType=VARCHAR},</if>
<if test="sort != null">sort = #{sort,jdbcType=INTEGER},</if> <if test="sort != null">sort = #{sort,jdbcType=INTEGER},</if>
<if test="enabled != null">enabled = #{enabled,jdbcType=BIT},</if> <if test="enabled != null">enabled = #{enabled,jdbcType=BIT},</if>
<if test="createdBy != null">created_by = #{createdBy,jdbcType=VARCHAR},</if> <if test="createdBy != null">created_by = #{createdBy,jdbcType=VARCHAR},</if>

Loading…
Cancel
Save