xiatian 2 лет назад
Родитель
Сommit
456b3868c7
32 измененных файлов с 1348 добавлено и 30 удалено
  1. 31 0
      src/main/java/cn/com/qmth/mps/bean/PaperDetail.java
  2. 26 0
      src/main/java/cn/com/qmth/mps/bean/PaperDetailUnit.java
  3. 22 0
      src/main/java/cn/com/qmth/mps/bean/PaperGroup.java
  4. 20 0
      src/main/java/cn/com/qmth/mps/bean/PaperGroupUnit.java
  5. 37 0
      src/main/java/cn/com/qmth/mps/controller/AuthController.java
  6. 161 0
      src/main/java/cn/com/qmth/mps/controller/BaseController.java
  7. 34 0
      src/main/java/cn/com/qmth/mps/controller/CourseController.java
  8. 48 0
      src/main/java/cn/com/qmth/mps/controller/ExamController.java
  9. 96 0
      src/main/java/cn/com/qmth/mps/controller/PaperController.java
  10. 49 0
      src/main/java/cn/com/qmth/mps/controller/SchoolController.java
  11. 61 0
      src/main/java/cn/com/qmth/mps/controller/UserController.java
  12. 17 7
      src/main/java/cn/com/qmth/mps/entity/PaperEntity.java
  13. 1 1
      src/main/java/cn/com/qmth/mps/entity/UserEntity.java
  14. 66 0
      src/main/java/cn/com/qmth/mps/handle/ListTypeHandler.java
  15. 16 0
      src/main/java/cn/com/qmth/mps/handle/PaperDetailHandler.java
  16. 16 0
      src/main/java/cn/com/qmth/mps/handle/PaperGroupHandler.java
  17. 0 6
      src/main/java/cn/com/qmth/mps/util/PagerQuery.java
  18. 55 0
      src/main/java/cn/com/qmth/mps/vo/AdminLoginVo.java
  19. 28 0
      src/main/java/cn/com/qmth/mps/vo/exam/ExamDomain.java
  20. 28 0
      src/main/java/cn/com/qmth/mps/vo/exam/ExamQuery.java
  21. 47 0
      src/main/java/cn/com/qmth/mps/vo/exam/ExamVo.java
  22. 37 0
      src/main/java/cn/com/qmth/mps/vo/paper/GroupVo.java
  23. 63 0
      src/main/java/cn/com/qmth/mps/vo/paper/PaperQuery.java
  24. 109 0
      src/main/java/cn/com/qmth/mps/vo/paper/PaperVo.java
  25. 23 0
      src/main/java/cn/com/qmth/mps/vo/paper/StructDomain.java
  26. 51 0
      src/main/java/cn/com/qmth/mps/vo/school/SchollDomain.java
  27. 18 0
      src/main/java/cn/com/qmth/mps/vo/school/SchoolQuery.java
  28. 65 0
      src/main/java/cn/com/qmth/mps/vo/user/UserDomain.java
  29. 32 0
      src/main/java/cn/com/qmth/mps/vo/user/UserQuery.java
  30. 79 0
      src/main/java/cn/com/qmth/mps/vo/user/UserVo.java
  31. 5 9
      src/main/resources/application-test.properties
  32. 7 7
      src/main/resources/application.properties

+ 31 - 0
src/main/java/cn/com/qmth/mps/bean/PaperDetail.java

@@ -0,0 +1,31 @@
+package cn.com.qmth.mps.bean;
+
+import java.util.List;
+
+public class PaperDetail {
+
+	private String name;
+	private Integer number;
+	
+	private List<PaperDetailUnit> units;
+	public String getName() {
+		return name;
+	}
+	public void setName(String name) {
+		this.name = name;
+	}
+	public Integer getNumber() {
+		return number;
+	}
+	public void setNumber(Integer number) {
+		this.number = number;
+	}
+	public List<PaperDetailUnit> getUnits() {
+		return units;
+	}
+	public void setUnits(List<PaperDetailUnit> units) {
+		this.units = units;
+	}
+	
+	
+}

+ 26 - 0
src/main/java/cn/com/qmth/mps/bean/PaperDetailUnit.java

@@ -0,0 +1,26 @@
+package cn.com.qmth.mps.bean;
+
+public class PaperDetailUnit {
+	private Integer number;
+	private Double score;
+	private Double scoreStep;
+	public Integer getNumber() {
+		return number;
+	}
+	public void setNumber(Integer number) {
+		this.number = number;
+	}
+	public Double getScore() {
+		return score;
+	}
+	public void setScore(Double score) {
+		this.score = score;
+	}
+	public Double getScoreStep() {
+		return scoreStep;
+	}
+	public void setScoreStep(Double scoreStep) {
+		this.scoreStep = scoreStep;
+	}
+	
+}

+ 22 - 0
src/main/java/cn/com/qmth/mps/bean/PaperGroup.java

@@ -0,0 +1,22 @@
+package cn.com.qmth.mps.bean;
+
+import java.util.List;
+
+public class PaperGroup {
+
+	private Integer number;
+	private List<PaperGroupUnit> groupUnit;
+	public Integer getNumber() {
+		return number;
+	}
+	public void setNumber(Integer number) {
+		this.number = number;
+	}
+	public List<PaperGroupUnit> getGroupUnit() {
+		return groupUnit;
+	}
+	public void setGroupUnit(List<PaperGroupUnit> groupUnit) {
+		this.groupUnit = groupUnit;
+	}
+	
+}

+ 20 - 0
src/main/java/cn/com/qmth/mps/bean/PaperGroupUnit.java

@@ -0,0 +1,20 @@
+package cn.com.qmth.mps.bean;
+
+public class PaperGroupUnit {
+	private Integer deatailNumber;
+	private Integer unitNumber;
+	public Integer getDeatailNumber() {
+		return deatailNumber;
+	}
+	public void setDeatailNumber(Integer deatailNumber) {
+		this.deatailNumber = deatailNumber;
+	}
+	public Integer getUnitNumber() {
+		return unitNumber;
+	}
+	public void setUnitNumber(Integer unitNumber) {
+		this.unitNumber = unitNumber;
+	}
+
+	
+}

+ 37 - 0
src/main/java/cn/com/qmth/mps/controller/AuthController.java

@@ -0,0 +1,37 @@
+package cn.com.qmth.mps.controller;
+
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.qmth.boot.api.constant.ApiConstant;
+
+import cn.com.qmth.mps.vo.AdminLoginVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+@RestController
+@Api(tags = "登录相关接口")
+@RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + "/auth")
+public class AuthController extends BaseController {
+
+	@ApiOperation(value = "管理端登录")
+	@PostMapping("login/admin")
+	public AdminLoginVo loginAdmin(@RequestParam Long schoolId, @RequestParam String loginName,
+			@RequestParam String password) {
+		return null;
+	}
+
+	@ApiOperation(value = "微信小程序登录")
+	@PostMapping("login/wxapp")
+	public AdminLoginVo loginWxApp(@RequestParam Long schoolId, @RequestParam String phone) {
+		return null;
+	}
+
+	@ApiOperation(value = "登出")
+	@PostMapping("logout")
+	public void logout() {
+	}
+
+}

+ 161 - 0
src/main/java/cn/com/qmth/mps/controller/BaseController.java

@@ -0,0 +1,161 @@
+package cn.com.qmth.mps.controller;
+
+import java.io.BufferedOutputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.lang.reflect.Field;
+import java.net.URLEncoder;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
+
+import com.qmth.boot.tools.io.IOUtils;
+
+import cn.com.qmth.mps.bean.User;
+import cn.com.qmth.mps.util.ObjectUtil;
+import cn.com.qmth.mps.util.ServletUtil;
+
+public class BaseController {
+
+    protected HttpServletRequest currentRequest() {
+        return ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
+    }
+
+    /**
+     * 获取接入用户
+     *
+     * @return
+     */
+    protected User getAccessUser() {
+        User user = (User) ServletUtil.getRequest().getAttribute("accessEntity");
+        return user;
+    }
+
+    /**
+     * 参数trim
+     *
+     * @param bean
+     * @param nullIfBlank
+     * @author
+     */
+    protected void trim(Object bean, boolean nullIfBlank) {
+        if (null == bean) {
+            return;
+        }
+        Class<? extends Object> clazz = bean.getClass();
+        if (clazz.equals(Map.class)) {
+            return;
+        } else if (clazz.equals(List.class)) {
+            return;
+        } else if (clazz.equals(Set.class)) {
+            return;
+        } else if (clazz.isEnum()) {
+            return;
+        } else if (ObjectUtil.isBaseDataType(clazz)) {
+            return;
+        }
+
+        Field[] fields = clazz.getDeclaredFields();
+        try {
+            for (int i = 0; i < fields.length; i++) {
+                Field f = fields[i];
+                f.setAccessible(true);
+                Object value = f.get(bean);
+                if (null == value) {
+                    continue;
+                }
+                if (f.getType().equals(String.class)) {
+                    if (null != value) {
+                        String s = (String) value;
+                        s = s.trim();
+                        if (nullIfBlank && StringUtils.isBlank(s)) {
+                            s = null;
+                        }
+                        f.set(bean, s);
+                    }
+                } else if (f.getType().equals(Map.class)) {
+                } else if (f.getType().equals(List.class)) {
+                } else if (f.getType().equals(Set.class)) {
+                } else if (f.getType().isEnum()) {
+                } else if (ObjectUtil.isBaseDataType(f.getType())) {
+                } else {
+                    trim(value);
+                }
+
+            }
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    /**
+     * 参数trim.<br>
+     * set null if blank.
+     *
+     * @param bean
+     * @author
+     */
+    protected void trim(Object bean) {
+        trim(bean, false);
+    }
+
+
+    protected HttpServletResponse getResponse() {
+        ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder
+                .getRequestAttributes();
+        HttpServletResponse response = requestAttributes.getResponse();
+        return response;
+    }
+    
+    protected void exportFile(String fileName, InputStream in) {
+        OutputStream out = null;
+        try {
+            fileName = URLEncoder.encode(fileName, "UTF-8");
+            HttpServletResponse response = getResponse();
+            response.reset();
+            response.setHeader("Content-Disposition", "inline; filename=" + fileName);
+            response.setContentType("application/octet-stream;charset=UTF-8");
+            out = new BufferedOutputStream(response.getOutputStream());
+            IOUtils.copy(in, out);
+            out.flush();
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        } finally {
+            IOUtils.closeQuietly(out);
+            IOUtils.closeQuietly(in);
+        }
+    }
+
+    protected void exportFile(String fileName, File file) {
+        OutputStream out = null;
+        InputStream in = null;
+        try {
+            in = new FileInputStream(file);
+            fileName = URLEncoder.encode(fileName, "UTF-8");
+            HttpServletResponse response = getResponse();
+            response.reset();
+            response.setHeader("Content-Disposition", "inline; filename=" + fileName);
+            response.addHeader("Content-Length", "" + file.length());
+            response.setContentType("application/octet-stream;charset=UTF-8");
+            out = new BufferedOutputStream(response.getOutputStream());
+            IOUtils.copy(in, out);
+            out.flush();
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        } finally {
+            IOUtils.closeQuietly(out);
+            IOUtils.closeQuietly(in);
+        }
+    }
+
+}

+ 34 - 0
src/main/java/cn/com/qmth/mps/controller/CourseController.java

@@ -0,0 +1,34 @@
+package cn.com.qmth.mps.controller;
+
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
+
+import com.qmth.boot.api.annotation.Aac;
+import com.qmth.boot.api.annotation.BOOL;
+import com.qmth.boot.api.constant.ApiConstant;
+
+import cn.com.qmth.mps.util.ResouceUtil;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+@RestController
+@Api(tags = "科目接口")
+@RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + "/course")
+@Aac(strict = BOOL.FALSE, auth = BOOL.TRUE)
+public class CourseController extends BaseController {
+
+	@PostMapping("import")
+	@ApiOperation(value = "导入")
+	public void importPaper(@RequestParam Long schoolId, @RequestParam Long examId, @RequestParam MultipartFile file) {
+	}
+
+	@ApiOperation(value = "下载导入模板")
+	@PostMapping("template")
+	public void getImportTemplate() {
+		exportFile("科目导入模板.xlsx", ResouceUtil.getStream("importtemplates/absentManualImportTemplate.xlsx"));
+	}
+
+}

+ 48 - 0
src/main/java/cn/com/qmth/mps/controller/ExamController.java

@@ -0,0 +1,48 @@
+package cn.com.qmth.mps.controller;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.qmth.boot.api.annotation.Aac;
+import com.qmth.boot.api.annotation.BOOL;
+import com.qmth.boot.api.constant.ApiConstant;
+import com.qmth.boot.core.collection.PageResult;
+
+import cn.com.qmth.mps.vo.exam.ExamDomain;
+import cn.com.qmth.mps.vo.exam.ExamQuery;
+import cn.com.qmth.mps.vo.exam.ExamVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+@RestController
+@Api(tags = "考试接口")
+@RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + "/exam")
+@Aac(strict = BOOL.FALSE, auth = BOOL.TRUE)
+public class ExamController extends BaseController {
+
+    @ApiOperation(value = "新增/修改")
+    @RequestMapping(value = "/save", method = RequestMethod.POST)
+    public void svae(ExamDomain domain) {
+    }
+
+    @ApiOperation(value = "获取分页")
+    @RequestMapping(value = "/page", method = RequestMethod.POST)
+    public PageResult<ExamVo> page(ExamQuery query) {
+        return null;
+    }
+    
+    @ApiOperation(value = "获取未关闭列表")
+    @RequestMapping(value = "/list", method = RequestMethod.POST)
+    public PageResult<ExamVo> list() {
+        return null;
+    }
+    
+    @ApiOperation(value = "获取信息")
+    @RequestMapping(value = "/info", method = RequestMethod.POST)
+    public ExamVo info(@RequestParam Long id) {
+        return null;
+    }
+    
+}

+ 96 - 0
src/main/java/cn/com/qmth/mps/controller/PaperController.java

@@ -0,0 +1,96 @@
+package cn.com.qmth.mps.controller;
+
+import java.util.List;
+
+import javax.servlet.http.HttpServletResponse;
+
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.qmth.boot.api.annotation.Aac;
+import com.qmth.boot.api.annotation.BOOL;
+import com.qmth.boot.api.constant.ApiConstant;
+import com.qmth.boot.core.collection.PageResult;
+
+import cn.com.qmth.mps.bean.PaperGroup;
+import cn.com.qmth.mps.util.ResouceUtil;
+import cn.com.qmth.mps.vo.paper.GroupVo;
+import cn.com.qmth.mps.vo.paper.PaperQuery;
+import cn.com.qmth.mps.vo.paper.PaperVo;
+import cn.com.qmth.mps.vo.paper.StructDomain;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+@RestController
+@Api(tags = "试卷结构接口")
+@RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + "/paper")
+@Aac(strict = BOOL.FALSE, auth = BOOL.TRUE)
+public class PaperController extends BaseController {
+
+	@ApiOperation(value = "导出")
+	@PostMapping("export")
+	public void export(PaperQuery query, HttpServletResponse response) {
+	}
+
+	@ApiOperation(value = "下载导入模板")
+	@PostMapping("template")
+	public void getImportTemplate() {
+		exportFile("试卷结构导入模板.xlsx", ResouceUtil.getStream("importtemplates/absentManualImportTemplate.xlsx"));
+	}
+
+	@ApiOperation(value = "获取分页")
+	@RequestMapping(value = "/page", method = RequestMethod.POST)
+	public PageResult<PaperVo> page(PaperQuery query) {
+		return null;
+	}
+
+	@ApiOperation(value = "获取列表")
+	@RequestMapping(value = "/list", method = RequestMethod.POST)
+	public List<PaperVo> list(@RequestParam Long examId) {
+		return null;
+	}
+
+	@ApiOperation(value = "获取信息")
+	@RequestMapping(value = "/info", method = RequestMethod.POST)
+	public PaperVo info(@RequestParam Long id) {
+		return null;
+	}
+
+	@ApiOperation(value = "设置满分")
+	@RequestMapping(value = "/total-score", method = RequestMethod.POST)
+	public PaperVo totalScore(@RequestParam Long paperId, @RequestParam Double totalScore) {
+		return null;
+	}
+
+	@ApiOperation(value = "试卷结构提交")
+	@RequestMapping(value = "/struct/submit ", method = RequestMethod.POST)
+	public PaperVo structSubmit(StructDomain domain) {
+		return null;
+	}
+	
+	@ApiOperation(value = "试卷结构暂存")
+	@RequestMapping(value = "/struct/save ", method = RequestMethod.POST)
+	public PaperVo structSave(StructDomain domain) {
+		return null;
+	}
+	
+	@ApiOperation(value = "获取分组列表")
+	@RequestMapping(value = "/group/list", method = RequestMethod.POST)
+	public List<GroupVo> groupList(@RequestParam Long paperId) {
+		return null;
+	}
+	
+	@ApiOperation(value = "获取分组信息")
+	@RequestMapping(value = "/group/info", method = RequestMethod.POST)
+	public GroupVo groupInfo(@RequestParam Long paperId,@RequestParam Integer groupNumber) {
+		return null;
+	}
+	
+	@ApiOperation(value = "保存分组信息")
+	@RequestMapping(value = "/group/save", method = RequestMethod.POST)
+	public void groupInfo(PaperGroup domain) {
+	}
+}

+ 49 - 0
src/main/java/cn/com/qmth/mps/controller/SchoolController.java

@@ -0,0 +1,49 @@
+package cn.com.qmth.mps.controller;
+
+import java.util.List;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.qmth.boot.api.annotation.Aac;
+import com.qmth.boot.api.annotation.BOOL;
+import com.qmth.boot.api.constant.ApiConstant;
+import com.qmth.boot.core.collection.PageResult;
+
+import cn.com.qmth.mps.entity.SchoolEntity;
+import cn.com.qmth.mps.vo.school.SchollDomain;
+import cn.com.qmth.mps.vo.school.SchoolQuery;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+@RestController
+@Api(tags = "学校接口")
+@RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + "/school")
+@Aac(strict = BOOL.FALSE, auth = BOOL.TRUE)
+public class SchoolController extends BaseController {
+
+    @ApiOperation(value = "新增/修改")
+    @RequestMapping(value = "/save", method = RequestMethod.POST)
+    public void svae(SchollDomain domain) {
+    }
+
+    @ApiOperation(value = "获取分页")
+    @RequestMapping(value = "/page", method = RequestMethod.POST)
+    public PageResult<SchoolEntity> page(SchoolQuery query) {
+        return null;
+    }
+    
+    @ApiOperation(value = "获取信息")
+    @RequestMapping(value = "/info", method = RequestMethod.POST)
+    public SchoolEntity info(@RequestParam Long id) {
+        return null;
+    }
+    
+    @ApiOperation(value = "启用/禁用")
+    @RequestMapping(value = "/toggle", method = RequestMethod.POST)
+    public void enable(@RequestParam List<Long> ids, @RequestParam Boolean enable) {
+    }
+
+}

+ 61 - 0
src/main/java/cn/com/qmth/mps/controller/UserController.java

@@ -0,0 +1,61 @@
+package cn.com.qmth.mps.controller;
+
+import java.util.List;
+
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
+
+import com.qmth.boot.api.annotation.Aac;
+import com.qmth.boot.api.annotation.BOOL;
+import com.qmth.boot.api.constant.ApiConstant;
+import com.qmth.boot.core.collection.PageResult;
+
+import cn.com.qmth.mps.util.ResouceUtil;
+import cn.com.qmth.mps.vo.school.SchollDomain;
+import cn.com.qmth.mps.vo.user.UserQuery;
+import cn.com.qmth.mps.vo.user.UserVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+@RestController
+@Api(tags = "用户接口")
+@RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + "/user")
+@Aac(strict = BOOL.FALSE, auth = BOOL.TRUE)
+public class UserController extends BaseController {
+
+    @ApiOperation(value = "新增/修改")
+    @RequestMapping(value = "/save", method = RequestMethod.POST)
+    public void svae(SchollDomain domain) {
+    }
+	
+	@PostMapping("import")
+	@ApiOperation(value = "导入")
+	public void importPaper(@RequestParam Long schoolId, @RequestParam MultipartFile file) {
+	}
+
+	@ApiOperation(value = "下载导入模板")
+	@PostMapping("template")
+	public void getImportTemplate() {
+		exportFile("用户导入模板.xlsx", ResouceUtil.getStream("importtemplates/absentManualImportTemplate.xlsx"));
+	}
+
+	@ApiOperation(value = "获取分页")
+	@RequestMapping(value = "/page", method = RequestMethod.POST)
+	public PageResult<UserVo> page(UserQuery query) {
+		return null;
+	}
+
+	@ApiOperation(value = "获取信息")
+	@RequestMapping(value = "/info", method = RequestMethod.POST)
+	public UserVo info(@RequestParam Long id) {
+		return null;
+	}
+    @ApiOperation(value = "启用/禁用")
+    @RequestMapping(value = "/toggle", method = RequestMethod.POST)
+    public void enable(@RequestParam List<Long> ids, @RequestParam Boolean enable) {
+    }
+}

+ 17 - 7
src/main/java/cn/com/qmth/mps/entity/PaperEntity.java

@@ -1,9 +1,17 @@
 package cn.com.qmth.mps.entity;
 
+import java.util.List;
+
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 
+import cn.com.qmth.mps.bean.PaperDetail;
+import cn.com.qmth.mps.bean.PaperGroup;
 import cn.com.qmth.mps.entity.base.AuditingEntity;
-@TableName("mps_paper")
+import cn.com.qmth.mps.handle.PaperDetailHandler;
+import cn.com.qmth.mps.handle.PaperGroupHandler;
+
+@TableName(value="mps_paper",autoResultMap = true)
 public class PaperEntity extends AuditingEntity {
 	/**
 	 * 
@@ -17,8 +25,10 @@ public class PaperEntity extends AuditingEntity {
 
 	private Double subjectiveScore;
 	
-	private String structInfo;
-	private String groupInfo;
+	@TableField(value = "struct_info", typeHandler = PaperDetailHandler.class)
+	private List<PaperDetail> structInfo;
+	@TableField(value = "group_info", typeHandler = PaperGroupHandler.class)
+	private List<PaperGroup> groupInfo;
 
 	private String paperType;
 	
@@ -73,19 +83,19 @@ public class PaperEntity extends AuditingEntity {
 	}
 
 
-	public String getStructInfo() {
+	public List<PaperDetail> getStructInfo() {
 		return structInfo;
 	}
 
-	public void setStructInfo(String structInfo) {
+	public void setStructInfo(List<PaperDetail> structInfo) {
 		this.structInfo = structInfo;
 	}
 
-	public String getGroupInfo() {
+	public List<PaperGroup> getGroupInfo() {
 		return groupInfo;
 	}
 
-	public void setGroupInfo(String groupInfo) {
+	public void setGroupInfo(List<PaperGroup> groupInfo) {
 		this.groupInfo = groupInfo;
 	}
 

+ 1 - 1
src/main/java/cn/com/qmth/mps/entity/UserEntity.java

@@ -8,7 +8,7 @@ import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
 
 import cn.com.qmth.mps.entity.base.AuditingEntity;
 import cn.com.qmth.mps.enums.Role;
-@TableName("mps_user")
+@TableName(value="mps_user",autoResultMap = true)
 public class UserEntity extends AuditingEntity {
 
 	private static final long serialVersionUID = 6770398649449396459L;

+ 66 - 0
src/main/java/cn/com/qmth/mps/handle/ListTypeHandler.java

@@ -0,0 +1,66 @@
+package cn.com.qmth.mps.handle;
+
+import java.sql.CallableStatement;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.List;
+
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.ibatis.type.BaseTypeHandler;
+import org.apache.ibatis.type.JdbcType;
+import org.apache.ibatis.type.MappedJdbcTypes;
+import org.apache.ibatis.type.MappedTypes;
+
+import com.fasterxml.jackson.databind.JavaType;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.github.xiaoymin.knife4j.core.util.StrUtil;
+import com.qmth.boot.core.exception.StatusException;
+
+@MappedJdbcTypes(JdbcType.VARCHAR)
+@MappedTypes({List.class})
+public abstract class ListTypeHandler<T> extends BaseTypeHandler<List<T>> {
+	protected ObjectMapper mapper = new ObjectMapper();
+    @Override
+    public void setNonNullParameter(PreparedStatement ps, int i, List<T> parameter, JdbcType jdbcType) throws SQLException {
+		try {
+			String content = CollectionUtils.isEmpty(parameter) ? null : mapper.writeValueAsString(parameter);
+			ps.setString(i, content);
+		} catch (Exception e) {
+			throw new StatusException("出错",e);
+		}
+    }
+ 
+    @Override
+    public List<T> getNullableResult(ResultSet rs, String columnName) throws SQLException {
+        return this.getListByJsonArrayString(rs.getString(columnName));
+    }
+ 
+    @Override
+    public List<T> getNullableResult(ResultSet rs, int columnIndex) throws SQLException {
+        return this.getListByJsonArrayString(rs.getString(columnIndex));
+    }
+ 
+    @Override
+    public List<T> getNullableResult(CallableStatement cs, int columnIndex) throws SQLException {
+        return this.getListByJsonArrayString(cs.getString(columnIndex));
+    }
+ 
+ 
+    private List<T> getListByJsonArrayString(String content) {
+        try {
+			return StrUtil.isBlank(content) ? null : mapper.readValue(content,specificType());
+		} catch (Exception e) {
+			throw new StatusException("出错",e);
+		}
+    }
+ 
+    /**
+     * 具体类型,由子类提供
+     *
+     * @return 具体类型
+     */
+    protected abstract JavaType specificType();
+ 
+ 
+}

+ 16 - 0
src/main/java/cn/com/qmth/mps/handle/PaperDetailHandler.java

@@ -0,0 +1,16 @@
+package cn.com.qmth.mps.handle;
+
+import java.util.List;
+
+import com.fasterxml.jackson.databind.JavaType;
+
+import cn.com.qmth.mps.bean.PaperDetail;
+
+public class PaperDetailHandler extends ListTypeHandler<PaperDetail> {
+
+    @Override
+    protected JavaType specificType() {
+        return super.mapper.getTypeFactory().constructParametricType(List.class, PaperDetail.class);
+    }
+
+}

+ 16 - 0
src/main/java/cn/com/qmth/mps/handle/PaperGroupHandler.java

@@ -0,0 +1,16 @@
+package cn.com.qmth.mps.handle;
+
+import java.util.List;
+
+import com.fasterxml.jackson.databind.JavaType;
+
+import cn.com.qmth.mps.bean.PaperGroup;
+
+public class PaperGroupHandler extends ListTypeHandler<PaperGroup> {
+
+    @Override
+    protected JavaType specificType() {
+        return super.mapper.getTypeFactory().constructParametricType(List.class, PaperGroup.class);
+    }
+
+}

+ 0 - 6
src/main/java/cn/com/qmth/mps/util/PagerQuery.java

@@ -1,9 +1,3 @@
-/*
- * *************************************************
- * Copyright (c) 2019 QMTH. All Rights Reserved. Created by Deason on 2019-09-24
- * 14:10:50. *************************************************
- */
-
 package cn.com.qmth.mps.util;
 
 import io.swagger.annotations.ApiModelProperty;

+ 55 - 0
src/main/java/cn/com/qmth/mps/vo/AdminLoginVo.java

@@ -0,0 +1,55 @@
+package cn.com.qmth.mps.vo;
+
+import cn.com.qmth.mps.bean.User;
+import cn.com.qmth.mps.enums.Role;
+
+public class AdminLoginVo {
+	private String name;
+
+    private String sessionId;
+
+    private String accessToken;
+
+    private Role role;
+
+	public String getSessionId() {
+		return sessionId;
+	}
+
+	public void setSessionId(String sessionId) {
+		this.sessionId = sessionId;
+	}
+
+	public String getAccessToken() {
+		return accessToken;
+	}
+
+	public void setAccessToken(String accessToken) {
+		this.accessToken = accessToken;
+	}
+
+	public Role getRole() {
+		return role;
+	}
+
+	public void setRole(Role role) {
+		this.role = role;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+    
+    public static AdminLoginVo of(User user) {
+    	AdminLoginVo v=new AdminLoginVo();
+    	v.setAccessToken(user.getAccessToken());
+    	v.setRole(user.getRole());
+    	v.setSessionId(user.getSessionId());
+    	v.setName(user.getName());
+    	return v;
+    }
+}

+ 28 - 0
src/main/java/cn/com/qmth/mps/vo/exam/ExamDomain.java

@@ -0,0 +1,28 @@
+package cn.com.qmth.mps.vo.exam;
+
+import cn.com.qmth.mps.enums.ExamStatus;
+public class ExamDomain {
+	private Long id;
+	private String name;
+	private ExamStatus examStatus;
+	public String getName() {
+		return name;
+	}
+	public void setName(String name) {
+		this.name = name;
+	}
+	public ExamStatus getExamStatus() {
+		return examStatus;
+	}
+	public void setExamStatus(ExamStatus examStatus) {
+		this.examStatus = examStatus;
+	}
+	public Long getId() {
+		return id;
+	}
+	public void setId(Long id) {
+		this.id = id;
+	}
+
+	
+}

+ 28 - 0
src/main/java/cn/com/qmth/mps/vo/exam/ExamQuery.java

@@ -0,0 +1,28 @@
+package cn.com.qmth.mps.vo.exam;
+
+import cn.com.qmth.mps.util.PagerQuery;
+
+public class ExamQuery extends PagerQuery {
+
+	private Long schoolId;
+	
+    private String name;
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public Long getSchoolId() {
+		return schoolId;
+	}
+
+	public void setSchoolId(Long schoolId) {
+		this.schoolId = schoolId;
+	}
+
+    
+}

+ 47 - 0
src/main/java/cn/com/qmth/mps/vo/exam/ExamVo.java

@@ -0,0 +1,47 @@
+package cn.com.qmth.mps.vo.exam;
+
+import cn.com.qmth.mps.entity.base.BaseEntity;
+import cn.com.qmth.mps.enums.ExamStatus;
+public class ExamVo extends BaseEntity{
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = -2762342766185496673L;
+	private Long id;
+	private Long schoolId;
+	private String name;
+	private ExamStatus examStatus;
+	private Integer paperCount;
+	public Long getSchoolId() {
+		return schoolId;
+	}
+	public void setSchoolId(Long schoolId) {
+		this.schoolId = schoolId;
+	}
+	public String getName() {
+		return name;
+	}
+	public void setName(String name) {
+		this.name = name;
+	}
+	public ExamStatus getExamStatus() {
+		return examStatus;
+	}
+	public void setExamStatus(ExamStatus examStatus) {
+		this.examStatus = examStatus;
+	}
+	public Integer getPaperCount() {
+		return paperCount;
+	}
+	public void setPaperCount(Integer paperCount) {
+		this.paperCount = paperCount;
+	}
+	public Long getId() {
+		return id;
+	}
+	public void setId(Long id) {
+		this.id = id;
+	}
+
+	
+}

+ 37 - 0
src/main/java/cn/com/qmth/mps/vo/paper/GroupVo.java

@@ -0,0 +1,37 @@
+package cn.com.qmth.mps.vo.paper;
+
+import java.util.List;
+
+import cn.com.qmth.mps.bean.PaperGroupUnit;
+
+public class GroupVo {
+	private Integer number;
+	private List<PaperGroupUnit> groupUnit;
+	private String detailNumbers;
+	private String detailNames;
+	public Integer getNumber() {
+		return number;
+	}
+	public void setNumber(Integer number) {
+		this.number = number;
+	}
+	public String getDetailNumbers() {
+		return detailNumbers;
+	}
+	public void setDetailNumbers(String detailNumbers) {
+		this.detailNumbers = detailNumbers;
+	}
+	public String getDetailNames() {
+		return detailNames;
+	}
+	public void setDetailNames(String detailNames) {
+		this.detailNames = detailNames;
+	}
+	public List<PaperGroupUnit> getGroupUnit() {
+		return groupUnit;
+	}
+	public void setGroupUnit(List<PaperGroupUnit> groupUnit) {
+		this.groupUnit = groupUnit;
+	}
+	
+}

+ 63 - 0
src/main/java/cn/com/qmth/mps/vo/paper/PaperQuery.java

@@ -0,0 +1,63 @@
+package cn.com.qmth.mps.vo.paper;
+
+import cn.com.qmth.mps.util.PagerQuery;
+
+public class PaperQuery extends PagerQuery {
+
+	private Long schoolId;
+	
+	private Long examId;
+	
+	private Boolean groupFinish;
+	
+	private String courseCode;
+	
+    private String courseName;
+
+    private Double totalScoreMin;
+    private Double totalScoreMax;
+	public Long getSchoolId() {
+		return schoolId;
+	}
+	public void setSchoolId(Long schoolId) {
+		this.schoolId = schoolId;
+	}
+	public Long getExamId() {
+		return examId;
+	}
+	public void setExamId(Long examId) {
+		this.examId = examId;
+	}
+	public Boolean getGroupFinish() {
+		return groupFinish;
+	}
+	public void setGroupFinish(Boolean groupFinish) {
+		this.groupFinish = groupFinish;
+	}
+	public String getCourseCode() {
+		return courseCode;
+	}
+	public void setCourseCode(String courseCode) {
+		this.courseCode = courseCode;
+	}
+	public String getCourseName() {
+		return courseName;
+	}
+	public void setCourseName(String courseName) {
+		this.courseName = courseName;
+	}
+	public Double getTotalScoreMin() {
+		return totalScoreMin;
+	}
+	public void setTotalScoreMin(Double totalScoreMin) {
+		this.totalScoreMin = totalScoreMin;
+	}
+	public Double getTotalScoreMax() {
+		return totalScoreMax;
+	}
+	public void setTotalScoreMax(Double totalScoreMax) {
+		this.totalScoreMax = totalScoreMax;
+	}
+    
+    
+}

+ 109 - 0
src/main/java/cn/com/qmth/mps/vo/paper/PaperVo.java

@@ -0,0 +1,109 @@
+package cn.com.qmth.mps.vo.paper;
+
+import java.util.List;
+
+import cn.com.qmth.mps.bean.PaperDetail;
+import cn.com.qmth.mps.bean.PaperGroup;
+import cn.com.qmth.mps.entity.base.BaseEntity;
+
+public class PaperVo extends BaseEntity{
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = -2271590671135347709L;
+	private Long id;
+	private Long schoolId;
+	private Long examId;
+	private Long courseId;
+	private String courseCode;
+    private String courseName;
+	private Double totalScore;
+	private Double objectiveScore;
+	private Double subjectiveScore;
+	private List<PaperDetail> structInfo;
+	private List<PaperGroup> groupInfo;
+	private String paperType;
+	private Boolean groupFinish;
+	public Long getId() {
+		return id;
+	}
+	public void setId(Long id) {
+		this.id = id;
+	}
+	public Long getSchoolId() {
+		return schoolId;
+	}
+	public void setSchoolId(Long schoolId) {
+		this.schoolId = schoolId;
+	}
+	public Long getExamId() {
+		return examId;
+	}
+	public void setExamId(Long examId) {
+		this.examId = examId;
+	}
+	public Long getCourseId() {
+		return courseId;
+	}
+	public void setCourseId(Long courseId) {
+		this.courseId = courseId;
+	}
+	public String getCourseCode() {
+		return courseCode;
+	}
+	public void setCourseCode(String courseCode) {
+		this.courseCode = courseCode;
+	}
+	public String getCourseName() {
+		return courseName;
+	}
+	public void setCourseName(String courseName) {
+		this.courseName = courseName;
+	}
+	public Double getTotalScore() {
+		return totalScore;
+	}
+	public void setTotalScore(Double totalScore) {
+		this.totalScore = totalScore;
+	}
+	public Double getObjectiveScore() {
+		return objectiveScore;
+	}
+	public void setObjectiveScore(Double objectiveScore) {
+		this.objectiveScore = objectiveScore;
+	}
+	public Double getSubjectiveScore() {
+		return subjectiveScore;
+	}
+	public void setSubjectiveScore(Double subjectiveScore) {
+		this.subjectiveScore = subjectiveScore;
+	}
+	
+	public List<PaperDetail> getStructInfo() {
+		return structInfo;
+	}
+	public void setStructInfo(List<PaperDetail> structInfo) {
+		this.structInfo = structInfo;
+	}
+	public List<PaperGroup> getGroupInfo() {
+		return groupInfo;
+	}
+	public void setGroupInfo(List<PaperGroup> groupInfo) {
+		this.groupInfo = groupInfo;
+	}
+	public String getPaperType() {
+		return paperType;
+	}
+	public void setPaperType(String paperType) {
+		this.paperType = paperType;
+	}
+	public Boolean getGroupFinish() {
+		return groupFinish;
+	}
+	public void setGroupFinish(Boolean groupFinish) {
+		this.groupFinish = groupFinish;
+	}
+
+	
+	
+}

+ 23 - 0
src/main/java/cn/com/qmth/mps/vo/paper/StructDomain.java

@@ -0,0 +1,23 @@
+package cn.com.qmth.mps.vo.paper;
+
+import java.util.List;
+
+import cn.com.qmth.mps.bean.PaperDetail;
+
+public class StructDomain {
+	private Long paperId;
+	private List<PaperDetail> structInfo;
+	public Long getPaperId() {
+		return paperId;
+	}
+	public void setPaperId(Long paperId) {
+		this.paperId = paperId;
+	}
+	public List<PaperDetail> getStructInfo() {
+		return structInfo;
+	}
+	public void setStructInfo(List<PaperDetail> structInfo) {
+		this.structInfo = structInfo;
+	}
+	
+}

+ 51 - 0
src/main/java/cn/com/qmth/mps/vo/school/SchollDomain.java

@@ -0,0 +1,51 @@
+package cn.com.qmth.mps.vo.school;
+
+public class SchollDomain {
+	private Long id;
+	private String name;
+	private String telephone;
+	private String contacts;
+	private String region;
+	
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public String getTelephone() {
+		return telephone;
+	}
+
+	public void setTelephone(String telephone) {
+		this.telephone = telephone;
+	}
+
+	public String getContacts() {
+		return contacts;
+	}
+
+	public void setContacts(String contacts) {
+		this.contacts = contacts;
+	}
+
+	public String getRegion() {
+		return region;
+	}
+
+	public void setRegion(String region) {
+		this.region = region;
+	}
+
+	public Long getId() {
+		return id;
+	}
+
+	public void setId(Long id) {
+		this.id = id;
+	}
+	
+}

+ 18 - 0
src/main/java/cn/com/qmth/mps/vo/school/SchoolQuery.java

@@ -0,0 +1,18 @@
+package cn.com.qmth.mps.vo.school;
+
+import cn.com.qmth.mps.util.PagerQuery;
+
+public class SchoolQuery extends PagerQuery {
+
+    private String name;
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
+    
+}

+ 65 - 0
src/main/java/cn/com/qmth/mps/vo/user/UserDomain.java

@@ -0,0 +1,65 @@
+package cn.com.qmth.mps.vo.user;
+
+import java.util.List;
+
+import cn.com.qmth.mps.enums.Role;
+public class UserDomain {
+
+	private Long id;
+	private Long schoolId;
+	private String name;
+	private String loginName;
+	private List<Long> course;
+	private Role role;
+
+	public Long getSchoolId() {
+		return schoolId;
+	}
+
+	public void setSchoolId(Long schoolId) {
+		this.schoolId = schoolId;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public String getLoginName() {
+		return loginName;
+	}
+
+	public void setLoginName(String loginName) {
+		this.loginName = loginName;
+	}
+
+	public Role getRole() {
+		return role;
+	}
+
+	public void setRole(Role role) {
+		this.role = role;
+	}
+
+	public List<Long> getCourse() {
+		return course;
+	}
+
+	public void setCourse(List<Long> course) {
+		this.course = course;
+	}
+
+	public Long getId() {
+		return id;
+	}
+
+	public void setId(Long id) {
+		this.id = id;
+	}
+	
+
+	
+}

+ 32 - 0
src/main/java/cn/com/qmth/mps/vo/user/UserQuery.java

@@ -0,0 +1,32 @@
+package cn.com.qmth.mps.vo.user;
+
+import cn.com.qmth.mps.enums.Role;
+import cn.com.qmth.mps.util.PagerQuery;
+
+public class UserQuery extends PagerQuery {
+
+	private Long schoolId;
+	
+	private String loginName;
+	private Role role;
+	public Long getSchoolId() {
+		return schoolId;
+	}
+	public void setSchoolId(Long schoolId) {
+		this.schoolId = schoolId;
+	}
+	public String getLoginName() {
+		return loginName;
+	}
+	public void setLoginName(String loginName) {
+		this.loginName = loginName;
+	}
+	public Role getRole() {
+		return role;
+	}
+	public void setRole(Role role) {
+		this.role = role;
+	}
+    
+    
+}

+ 79 - 0
src/main/java/cn/com/qmth/mps/vo/user/UserVo.java

@@ -0,0 +1,79 @@
+package cn.com.qmth.mps.vo.user;
+
+import java.util.List;
+
+import cn.com.qmth.mps.entity.CourseEntity;
+import cn.com.qmth.mps.entity.base.BaseEntity;
+import cn.com.qmth.mps.enums.Role;
+
+public class UserVo extends BaseEntity{
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = -8438831917617025722L;
+	private Long id;
+	private Long schoolId;
+	private String schoolName;
+	private String name;
+	private String loginName;
+	private Boolean enable;
+	private List<Long> course;
+	private List<CourseEntity> courseInfo;
+	private Role role;
+	public Long getId() {
+		return id;
+	}
+	public void setId(Long id) {
+		this.id = id;
+	}
+	public Long getSchoolId() {
+		return schoolId;
+	}
+	public void setSchoolId(Long schoolId) {
+		this.schoolId = schoolId;
+	}
+	public String getSchoolName() {
+		return schoolName;
+	}
+	public void setSchoolName(String schoolName) {
+		this.schoolName = schoolName;
+	}
+	public String getName() {
+		return name;
+	}
+	public void setName(String name) {
+		this.name = name;
+	}
+	public String getLoginName() {
+		return loginName;
+	}
+	public void setLoginName(String loginName) {
+		this.loginName = loginName;
+	}
+	public Boolean getEnable() {
+		return enable;
+	}
+	public void setEnable(Boolean enable) {
+		this.enable = enable;
+	}
+	public List<Long> getCourse() {
+		return course;
+	}
+	public void setCourse(List<Long> course) {
+		this.course = course;
+	}
+	public Role getRole() {
+		return role;
+	}
+	public void setRole(Role role) {
+		this.role = role;
+	}
+	public List<CourseEntity> getCourseInfo() {
+		return courseInfo;
+	}
+	public void setCourseInfo(List<CourseEntity> courseInfo) {
+		this.courseInfo = courseInfo;
+	}
+
+	
+}

+ 5 - 9
src/main/resources/application-test.properties

@@ -12,22 +12,18 @@ com.qmth.mybatis.logLevel=debug
 #
 db.host=localhost
 db.port=3306
-db.database=union_question_dev
-com.qmth.datasource.username=root
-com.qmth.datasource.password=123456
+db.database=marking_paper_struct
+com.qmth.datasource.username=marking_paper_struct
+com.qmth.datasource.password=marking_paper_struct
 com.qmth.datasource.url=jdbc:mysql://${db.host}:${db.port}/${db.database}?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2b8&rewriteBatchedStatements=true
 
 #
 # ********** sys config **********
 #
 com.qmth.logging.root-level=info
-com.qmth.logging.file-path=/home/admin/project/union-question/log/union-question.log
-
-#DISK
-com.qmth.fss.config=/home/admin/project/union-question/static
-com.qmth.fss.server=http://localhost:7001/file
+com.qmth.logging.file-path=/home/admin/project/marking-paper-struct/log/marking-paper-struct.log
 
 spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
 spring.jackson.time-zone=GMT+8
 
-heartbeat-timeout=600
+session-timeout=7200

+ 7 - 7
src/main/resources/application.properties

@@ -12,22 +12,22 @@ com.qmth.mybatis.logLevel=debug
 #
 db.host=localhost
 db.port=3306
-db.database=union_question_dev
-com.qmth.datasource.username=root
-com.qmth.datasource.password=123456
+db.database=marking_paper_struct
+com.qmth.datasource.username=marking_paper_struct
+com.qmth.datasource.password=marking_paper_struct
 com.qmth.datasource.url=jdbc:mysql://${db.host}:${db.port}/${db.database}?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2b8&rewriteBatchedStatements=true
 
 #
 # ********** sys config **********
 #
 com.qmth.logging.root-level=info
-com.qmth.logging.file-path=/home/admin/project/union-question/log/union-question.log
+com.qmth.logging.file-path=/home/admin/project/marking-paper-struct/log/marking-paper-struct.log
 
 #DISK
-com.qmth.fss.config=/home/admin/project/union-question/static
-com.qmth.fss.server=http://localhost:7001/file
+com.qmth.fss.config=/home/admin/project/marking-paper-struct/static
+com.qmth.fss.server=http://localhost:7101/file
 
 spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
 spring.jackson.time-zone=GMT+8
 
-session-timeout=600
+session-timeout=7200