修改hoj的时候发现fps格式导入的时候,无法导入答案。后台代码看了看没有解析solution的代码。
注:代码在后续文章里,修改完功能后更新代码。
本文简单介绍一下,后台增加解析fps格式标签的功能。
首先,增加一个表,用来存储答案。
SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0; -- ---------------------------- -- Table structure for code_answer -- ---------------------------- DROP TABLE IF EXISTS `code_answer`; CREATE TABLE `code_answer` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键id', `pid` bigint(20) NULL DEFAULT NULL COMMENT '题目id', `code` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '答案代码', `type` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '代码类型', `gmt_create` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间', `gmt_modified` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间', PRIMARY KEY (`id`) USING BTREE ) ENGINE = MyISAM AUTO_INCREMENT = 2302 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; SET FOREIGN_KEY_CHECKS = 1;
在下面路径 创建实体类:src/main/java/top/hcode/hoj/pojo/entity/problem/CodeAnswer.java
package top.hcode.hoj.pojo.entity.problem; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; import java.util.Date; @Data @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) @ApiModel(value="CodeAnswer", description="") public class CodeAnswer { private static final long serialVersionUID = 1L; @TableId(value = "id", type = IdType.AUTO) private Integer id; @ApiModelProperty(value = "题目id") private Long pid; @ApiModelProperty(value = "代码") private String code; @ApiModelProperty(value = "代码类型") private String type; @TableField(fill = FieldFill.INSERT) private Date gmtCreate; @TableField(fill = FieldFill.INSERT_UPDATE) private Date gmtModified; }
在ProblemDTO中增加一个 答案列表。List<CodeAnswer>
找到导入fps接口位置:src/main/java/top/hcode/hoj/manager/file/ImportFpsProblemManager.java
这个地方参考codeTemplate就行。
然后在前台实现页面效果:
对应修改后,实现了导入、删除、新增功能。