wangliang 3 жил өмнө
parent
commit
170fb3ec42

+ 23 - 7
distributed-print/src/main/java/com/qmth/distributed/print/api/TSAuthController.java

@@ -7,7 +7,6 @@ import com.qmth.boot.core.solar.crypto.AppLicenseUtil;
 import com.qmth.boot.tools.signature.SignatureEntity;
 import com.qmth.boot.tools.signature.SignatureType;
 import com.qmth.distributed.print.business.service.AuthInfoService;
-import com.qmth.teachcloud.common.bean.params.BasicSemesterParams;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.BasicSchool;
 import com.qmth.teachcloud.common.service.CommonCacheService;
@@ -25,6 +24,8 @@ import javax.servlet.http.HttpServletResponse;
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.net.URLDecoder;
+import java.util.HashMap;
+import java.util.Map;
 import java.util.Objects;
 
 /**
@@ -84,16 +85,31 @@ public class TSAuthController {
     @ApiResponses({@ApiResponse(code = 200, message = "测试推送信息给教研分析", response = Objects.class)})
     @RequestMapping(value = "/test/push", method = RequestMethod.POST)
     public void testPush() throws IOException {
-        /**
-         * 测试推送学期
-         */
-        String url = "/api/report/open/semester_edit";
         Long schoolId = SystemConstant.getHeadOrUserSchoolId();
         BasicSchool basicSchool = commonCacheService.schoolCache(schoolId);
-        BasicSemesterParams basicSemesterParams = new BasicSemesterParams("测试学期1", System.currentTimeMillis(), System.currentTimeMillis() + 1L);
+//        /**
+//         * 测试推送学期
+//         */
+//        String url = "/api/report/open/semester_edit";
+//        BasicSemesterParams basicSemesterParams = new BasicSemesterParams("测试学期1", System.currentTimeMillis(), System.currentTimeMillis() + 1L);
+//        Long timestamp = System.currentTimeMillis();
+//        String accessToken = SignatureEntity.build(SignatureType.SECRET, SystemConstant.METHOD, url, timestamp, basicSchool.getAccessKey(), basicSchool.getAccessSecret());
+//        String result = HttpUtil.postJson("http://127.0.0.1:7004" + url, JacksonUtil.parseJson(basicSemesterParams), accessToken, timestamp);
+//        if (Objects.nonNull(result)) {
+//            log.info("result:{}", JacksonUtil.parseJson(result));
+//        }
+
+        /**
+         * 测试推送考试
+         */
+        String url = "/api/report/open/exam_edit";
+        Map<String, Object> map = new HashMap<>();
         Long timestamp = System.currentTimeMillis();
+        map.computeIfAbsent("examName", v -> "测试考试1");
+        map.computeIfAbsent("examTime", v -> timestamp);
+        map.computeIfAbsent("semesterId", v -> 262908000564412416L);
         String accessToken = SignatureEntity.build(SignatureType.SECRET, SystemConstant.METHOD, url, timestamp, basicSchool.getAccessKey(), basicSchool.getAccessSecret());
-        String result = HttpUtil.postJson("http://127.0.0.1:7004" + url, JacksonUtil.parseJson(basicSemesterParams), accessToken, timestamp);
+        String result = HttpUtil.postJson("http://127.0.0.1:7004" + url, JacksonUtil.parseJson(map), accessToken, timestamp);
         if (Objects.nonNull(result)) {
             log.info("result:{}", JacksonUtil.parseJson(result));
         }

+ 17 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/params/BasicSemesterParams.java

@@ -3,12 +3,14 @@ package com.qmth.teachcloud.common.bean.params;
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import com.qmth.teachcloud.common.annotation.DBVerify;
+import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import io.swagger.annotations.ApiModelProperty;
 import org.hibernate.validator.constraints.Length;
 import org.hibernate.validator.constraints.Range;
 
 import javax.validation.constraints.NotNull;
 import java.io.Serializable;
+import java.util.Objects;
 
 /**
  * @Description: 基础学期参数
@@ -57,6 +59,21 @@ public class BasicSemesterParams implements Serializable {
         this.endTime = endTime;
     }
 
+    /**
+     * 参数校验
+     */
+    public void validParams() {
+        if (Objects.isNull(this.getSemesterName())) {
+            throw ExceptionResultEnum.PARAMS_ERROR.exception("学期名称为空");
+        }
+        if (Objects.isNull(this.getStartTime())) {
+            throw ExceptionResultEnum.PARAMS_ERROR.exception("学期开始时间为空");
+        }
+        if (Objects.isNull(this.getEndTime())) {
+            throw ExceptionResultEnum.PARAMS_ERROR.exception("学期结束时间为空");
+        }
+    }
+
     public Long getId() {
         return id;
     }

+ 18 - 1
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/bean/params/TBExamParam.java

@@ -2,11 +2,13 @@ package com.qmth.teachcloud.report.business.bean.params;
 
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import io.swagger.annotations.ApiModelProperty;
 import org.hibernate.validator.constraints.Length;
 import org.hibernate.validator.constraints.Range;
 
 import javax.validation.constraints.NotNull;
+import java.util.Objects;
 
 /**
  * @Description: 考试参数
@@ -24,7 +26,7 @@ public class TBExamParam {
 
     @ApiModelProperty(value = "考试名称(2020~2021学年上学期期末考试)")
     @NotNull(message = "请输入考试名称")
-    @Length(min = 1,message = "请输入考试名称")
+    @Length(min = 1, message = "请输入考试名称")
     private String examName;
 
     @ApiModelProperty(value = "考试时间")
@@ -38,6 +40,21 @@ public class TBExamParam {
     @Range(min = 1L, message = "请输入所属学期id")
     private Long semesterId;
 
+    /**
+     * 参数校验
+     */
+    public void validParams() {
+        if (Objects.isNull(this.getExamName())) {
+            throw ExceptionResultEnum.PARAMS_ERROR.exception("考试名称为空");
+        }
+        if (Objects.isNull(this.getExamTime())) {
+            throw ExceptionResultEnum.PARAMS_ERROR.exception("考试时间为空");
+        }
+        if (Objects.isNull(this.getSemesterId())) {
+            throw ExceptionResultEnum.PARAMS_ERROR.exception("学期id为空");
+        }
+    }
+
     public Long getId() {
         return id;
     }

+ 3 - 3
teachcloud-report-business/src/main/java/com/qmth/teachcloud/report/business/service/impl/TBExamServiceImpl.java

@@ -6,7 +6,6 @@ import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.BasicSemester;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.common.service.BasicSemesterService;
-import com.qmth.teachcloud.common.util.DateDisposeUtils;
 import com.qmth.teachcloud.report.business.bean.params.TBExamParam;
 import com.qmth.teachcloud.report.business.entity.TBCloudExam;
 import com.qmth.teachcloud.report.business.entity.TBExam;
@@ -40,7 +39,7 @@ public class TBExamServiceImpl extends ServiceImpl<TBExamMapper, TBExam> impleme
         TBCloudExam tbCloudExam = tbCloudExamService.getById(cloudExamId);
         Long examId = tbCloudExam.getExamId();
         TBExam tbExam = this.getById(examId);
-        if (Objects.isNull(tbExam)){
+        if (Objects.isNull(tbExam)) {
             throw ExceptionResultEnum.ERROR.exception("未找到教研分析基础考试信息");
         }
         return tbExam;
@@ -49,7 +48,7 @@ public class TBExamServiceImpl extends ServiceImpl<TBExamMapper, TBExam> impleme
     @Override
     public Long findSchoolIdByExamId(Long examId) {
         TBExam tbExam = this.getById(examId);
-        if (Objects.isNull(tbExam)){
+        if (Objects.isNull(tbExam)) {
             throw ExceptionResultEnum.ERROR.exception("未找到考试id为 : " + examId + " 的考试");
         }
         return tbExam.getSchoolId();
@@ -81,6 +80,7 @@ public class TBExamServiceImpl extends ServiceImpl<TBExamMapper, TBExam> impleme
         tbExam.setExamName(examName);
         tbExam.setExamCode(DateFormatUtils.format(examTime, "yyyyMMdd"));
         tbExam.setSemesterId(semesterId);
+        tbExam.setExamTime(examTime);
         if (SystemConstant.longNotNull(id)) {
             // 编辑
             if (Objects.isNull(this.getById(id))) {

+ 29 - 4
teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/OpenApiController.java

@@ -6,11 +6,14 @@ import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.teachcloud.common.bean.params.BasicSemesterParams;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.BasicSchool;
+import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.common.service.BasicSemesterService;
 import com.qmth.teachcloud.common.util.AuthThirdUtil;
 import com.qmth.teachcloud.common.util.JacksonUtil;
 import com.qmth.teachcloud.common.util.Result;
 import com.qmth.teachcloud.common.util.ResultUtil;
+import com.qmth.teachcloud.report.business.bean.params.TBExamParam;
+import com.qmth.teachcloud.report.business.service.TBExamService;
 import io.swagger.annotations.*;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -23,6 +26,7 @@ import org.springframework.web.bind.annotation.RestController;
 import javax.annotation.Resource;
 import java.io.IOException;
 import java.net.URLDecoder;
+import java.util.Objects;
 
 /**
  * <p>
@@ -42,15 +46,24 @@ public class OpenApiController {
     @Resource
     BasicSemesterService basicSemesterService;
 
+    @Resource
+    TBExamService tbExamService;
+
     @ApiOperation(value = "学期创建/更新接口")
     @ApiResponses({@ApiResponse(code = 200, message = "学期创建/更新接口", response = Object.class)})
     @RequestMapping(value = "/semester_edit", method = RequestMethod.POST)
     @Aac(auth = BOOL.FALSE)
     public Result semesterEdit(@ApiParam(value = "接收学期数据信息", required = true) @RequestBody String result) throws IOException, InterruptedException, IllegalAccessException {
-        log.info("semesterEdit进来了,result:{}", JacksonUtil.parseJson(result));
+        if (Objects.isNull(result)) {
+            throw ExceptionResultEnum.PARAMS_ERROR.exception("数据为空");
+        }
         String decodeJson = URLDecoder.decode(result, SystemConstant.CHARSET_NAME);
-        log.info("decodeJson:{}", decodeJson);
+        log.info("semesterEdit进来了,result:{}", decodeJson);
         BasicSemesterParams basicSemesterParams = JacksonUtil.readJson(decodeJson, BasicSemesterParams.class);
+        if (Objects.isNull(basicSemesterParams)) {
+            throw ExceptionResultEnum.PARAMS_ERROR.exception("转换后的数据为空");
+        }
+        basicSemesterParams.validParams();
         BasicSchool basicSchool = AuthThirdUtil.hasPermission();
         return ResultUtil.ok(basicSemesterService.saveBasicSemesterCommon(basicSemesterParams, basicSchool.getId(), null));
     }
@@ -58,9 +71,21 @@ public class OpenApiController {
     @ApiOperation(value = "考试创建/更新接口")
     @ApiResponses({@ApiResponse(code = 200, message = "考试创建/更新接口", response = Object.class)})
     @RequestMapping(value = "/exam_edit", method = RequestMethod.POST)
+    @Aac(auth = BOOL.FALSE)
     public Result examEdit(@ApiParam(value = "接收考试数据信息", required = true) @RequestBody String result) throws IOException, InterruptedException {
-        log.info("examEdit进来了,result:{}", result);
-        return ResultUtil.ok(true);
+        if (Objects.isNull(result)) {
+            throw ExceptionResultEnum.PARAMS_ERROR.exception("数据为空");
+        }
+        String decodeJson = URLDecoder.decode(result, SystemConstant.CHARSET_NAME);
+        log.info("examEdit进来了,result:{}", decodeJson);
+        TBExamParam tbExamParam = JacksonUtil.readJson(decodeJson, TBExamParam.class);
+        if (Objects.isNull(tbExamParam)) {
+            throw ExceptionResultEnum.PARAMS_ERROR.exception("转换后的数据为空");
+        }
+        tbExamParam.validParams();
+        BasicSchool basicSchool = AuthThirdUtil.hasPermission();
+        tbExamParam.setSchoolId(basicSchool.getId());
+        return ResultUtil.ok(tbExamService.editTBExam(tbExamParam));
     }
 
     @ApiOperation(value = "分析课程(试卷)创建/更新接口")