You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

251 lines
14 KiB
Java

package com.sztzjy.linkCommerce.controller.stu;
import com.sztzjy.linkCommerce.config.exception.handler.ServiceException;
import com.sztzjy.linkCommerce.config.security.JwtUser;
import com.sztzjy.linkCommerce.config.security.TokenProvider;
import com.sztzjy.linkCommerce.entity.StudentTrainingAnswer;
import com.sztzjy.linkCommerce.entity.dto.IndustryDemandAnalysisStepOneValidationRequest;
import com.sztzjy.linkCommerce.entity.dto.IndustryDemandAnalysisStepOneValidationResult;
import com.sztzjy.linkCommerce.entity.dto.IndustryDemandAnalysisStepTwoValidationRequest;
import com.sztzjy.linkCommerce.entity.dto.IndustryDemandAnalysisStepTwoValidationResult;
import com.sztzjy.linkCommerce.entity.dto.IndustryDemandAnalysisStepThreeValidationRequest;
import com.sztzjy.linkCommerce.entity.dto.IndustryDemandAnalysisStepThreeValidationResult;
import com.sztzjy.linkCommerce.entity.dto.NewProductSurveyStepOneCheckRequest;
import com.sztzjy.linkCommerce.entity.dto.NewProductSurveyStepOneCheckResult;
import com.sztzjy.linkCommerce.entity.dto.NewProductSurveyStepTwoValidationRequest;
import com.sztzjy.linkCommerce.entity.dto.NewProductSurveyStepTwoValidationResult;
import com.sztzjy.linkCommerce.entity.dto.NewProductSurveyStepThreeValidationRequest;
import com.sztzjy.linkCommerce.entity.dto.NewProductSurveyStepThreeValidationResult;
import com.sztzjy.linkCommerce.entity.dto.NewProductSurveyStepFourValidationRequest;
import com.sztzjy.linkCommerce.entity.dto.NewProductSurveyStepFourValidationResult;
import com.sztzjy.linkCommerce.entity.dto.ProductDevelopmentFactorsStepOneValidationRequest;
import com.sztzjy.linkCommerce.entity.dto.ProductDevelopmentFactorsStepOneValidationResult;
import com.sztzjy.linkCommerce.entity.dto.ProductDevelopmentFactorsStepTwoValidationRequest;
import com.sztzjy.linkCommerce.entity.dto.ProductDevelopmentFactorsStepTwoValidationResult;
import com.sztzjy.linkCommerce.entity.dto.ProductDevelopmentFactorsStepThreeValidationRequest;
import com.sztzjy.linkCommerce.entity.dto.ProductDevelopmentFactorsStepThreeValidationResult;
import com.sztzjy.linkCommerce.entity.dto.ProductDevelopmentFactorsStepFourValidationRequest;
import com.sztzjy.linkCommerce.entity.dto.ProductDevelopmentFactorsStepFourValidationResult;
import com.sztzjy.linkCommerce.service.NewProductSurveyStepOneService;
import com.sztzjy.linkCommerce.service.NewProductSurveyStepTwoService;
import com.sztzjy.linkCommerce.service.NewProductSurveyStepThreeService;
import com.sztzjy.linkCommerce.service.NewProductSurveyStepFourService;
import com.sztzjy.linkCommerce.service.ProductDevelopmentFactorsStepOneService;
import com.sztzjy.linkCommerce.service.ProductDevelopmentFactorsStepTwoService;
import com.sztzjy.linkCommerce.service.ProductDevelopmentFactorsStepThreeService;
import com.sztzjy.linkCommerce.service.ProductDevelopmentFactorsStepFourService;
import com.sztzjy.linkCommerce.service.StudentTrainingAnswerService;
import com.sztzjy.linkCommerce.service.IndustryDemandAnalysisStepOneService;
import com.sztzjy.linkCommerce.service.IndustryDemandAnalysisStepTwoService;
import com.sztzjy.linkCommerce.service.IndustryDemandAnalysisStepThreeService;
import com.sztzjy.linkCommerce.util.ResultEntity;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
@Api(tags = "学生实训答案")
@RequestMapping("api/student-training-answers")
@RestController
public class StudentTrainingAnswerController {
@Autowired
private StudentTrainingAnswerService studentTrainingAnswerService;
@Autowired
private IndustryDemandAnalysisStepOneService industryDemandAnalysisStepOneService;
@Autowired
private IndustryDemandAnalysisStepTwoService industryDemandAnalysisStepTwoService;
@Autowired
private IndustryDemandAnalysisStepThreeService industryDemandAnalysisStepThreeService;
@Autowired
private NewProductSurveyStepOneService newProductSurveyStepOneService;
@Autowired
private NewProductSurveyStepTwoService newProductSurveyStepTwoService;
@Autowired
private NewProductSurveyStepThreeService newProductSurveyStepThreeService;
@Autowired
private NewProductSurveyStepFourService newProductSurveyStepFourService;
@Autowired
private ProductDevelopmentFactorsStepOneService productDevelopmentFactorsStepOneService;
@Autowired
private ProductDevelopmentFactorsStepTwoService productDevelopmentFactorsStepTwoService;
@Autowired
private ProductDevelopmentFactorsStepThreeService productDevelopmentFactorsStepThreeService;
@Autowired
private ProductDevelopmentFactorsStepFourService productDevelopmentFactorsStepFourService;
@GetMapping("/{taskKey}")
@ApiOperation("查询当前学生指定实训任务答案")
public ResultEntity<StudentTrainingAnswer> detail(@PathVariable String taskKey,
@RequestParam(required = false) String teachingClassId,
HttpServletRequest request) {
try {
JwtUser user = TokenProvider.getJWTUser(request);
return new ResultEntity<>(HttpStatus.OK, "查询成功", studentTrainingAnswerService.get(taskKey, teachingClassId, user));
} catch (ServiceException e) {
return new ResultEntity<>(e.getCode(), e.getMessage());
}
}
@PostMapping("/{taskKey}")
@ApiOperation("保存当前学生指定实训任务答案")
public ResultEntity<StudentTrainingAnswer> save(@PathVariable String taskKey,
@RequestBody StudentTrainingAnswer answer,
HttpServletRequest request) {
try {
JwtUser user = TokenProvider.getJWTUser(request);
return new ResultEntity<>(HttpStatus.OK, "保存成功", studentTrainingAnswerService.save(taskKey, answer, user));
} catch (ServiceException e) {
return new ResultEntity<>(e.getCode(), e.getMessage());
}
}
@PostMapping("/industry-demand-analysis/step-1/validate")
@ApiOperation("行业需求分析第一步校验")
public ResultEntity<IndustryDemandAnalysisStepOneValidationResult> validateIndustryDemandAnalysisStepOne(
@RequestBody IndustryDemandAnalysisStepOneValidationRequest answer, HttpServletRequest request) {
try {
return new ResultEntity<>(HttpStatus.OK, "校验通过", industryDemandAnalysisStepOneService.validate(answer, TokenProvider.getJWTUser(request)));
} catch (ServiceException e) {
return new ResultEntity<>(e.getCode(), e.getMessage());
}
}
@PostMapping("/industry-demand-analysis/step-2/validate")
@ApiOperation("行业需求分析第二步校验")
public ResultEntity<IndustryDemandAnalysisStepTwoValidationResult> validateIndustryDemandAnalysisStepTwo(
@RequestBody IndustryDemandAnalysisStepTwoValidationRequest answer, HttpServletRequest request) {
try {
return new ResultEntity<>(HttpStatus.OK, "校验通过", industryDemandAnalysisStepTwoService.validate(answer, TokenProvider.getJWTUser(request)));
} catch (ServiceException e) {
return new ResultEntity<>(e.getCode(), e.getMessage());
}
}
@PostMapping("/industry-demand-analysis/step-3/validate")
@ApiOperation("行业需求分析第三步校验")
public ResultEntity<IndustryDemandAnalysisStepThreeValidationResult> validateIndustryDemandAnalysisStepThree(
@RequestBody IndustryDemandAnalysisStepThreeValidationRequest answer, HttpServletRequest request) {
try {
return new ResultEntity<>(HttpStatus.OK, "校验通过", industryDemandAnalysisStepThreeService.validate(answer, TokenProvider.getJWTUser(request)));
} catch (ServiceException e) {
return new ResultEntity<>(e.getCode(), e.getMessage());
}
}
@PostMapping("/new-product-survey/step-1/check")
@ApiOperation("新产品调查与分析第一步判题")
public ResultEntity<NewProductSurveyStepOneCheckResult> checkNewProductSurveyStepOne(
@RequestBody NewProductSurveyStepOneCheckRequest answer, HttpServletRequest request) {
try {
JwtUser user = TokenProvider.getJWTUser(request);
return new ResultEntity<>(HttpStatus.OK, "判题完成", newProductSurveyStepOneService.check(answer, user));
} catch (ServiceException e) {
return new ResultEntity<>(e.getCode(), e.getMessage());
}
}
@PostMapping("/new-product-survey/step-2/validate")
@ApiOperation("新产品调查与分析第二步校验")
public ResultEntity<NewProductSurveyStepTwoValidationResult> validateNewProductSurveyStepTwo(
@RequestBody NewProductSurveyStepTwoValidationRequest answer, HttpServletRequest request) {
try {
JwtUser user = TokenProvider.getJWTUser(request);
return new ResultEntity<>(HttpStatus.OK, "校验通过", newProductSurveyStepTwoService.validate(answer, user));
} catch (ServiceException e) {
return new ResultEntity<>(e.getCode(), e.getMessage());
}
}
@PostMapping("/new-product-survey/step-3/validate")
@ApiOperation("新产品调查与分析第三步校验")
public ResultEntity<NewProductSurveyStepThreeValidationResult> validateNewProductSurveyStepThree(
@RequestBody NewProductSurveyStepThreeValidationRequest answer, HttpServletRequest request) {
try {
JwtUser user = TokenProvider.getJWTUser(request);
return new ResultEntity<>(HttpStatus.OK, "校验通过", newProductSurveyStepThreeService.validate(answer, user));
} catch (ServiceException e) {
return new ResultEntity<>(e.getCode(), e.getMessage());
}
}
@PostMapping("/new-product-survey/step-4/validate")
@ApiOperation("新产品调查与分析第四步校验")
public ResultEntity<NewProductSurveyStepFourValidationResult> validateNewProductSurveyStepFour(
@RequestBody NewProductSurveyStepFourValidationRequest answer, HttpServletRequest request) {
try {
JwtUser user = TokenProvider.getJWTUser(request);
return new ResultEntity<>(HttpStatus.OK, "校验通过", newProductSurveyStepFourService.validate(answer, user));
} catch (ServiceException e) {
return new ResultEntity<>(e.getCode(), e.getMessage());
}
}
@PostMapping("/product-development-factors/step-1/validate")
@ApiOperation("产品开发关键因素第一步校验")
public ResultEntity<ProductDevelopmentFactorsStepOneValidationResult> validateProductDevelopmentFactorsStepOne(
@RequestBody ProductDevelopmentFactorsStepOneValidationRequest answer, HttpServletRequest request) {
try {
JwtUser user = TokenProvider.getJWTUser(request);
return new ResultEntity<>(HttpStatus.OK, "校验通过", productDevelopmentFactorsStepOneService.validate(answer, user));
} catch (ServiceException e) {
return new ResultEntity<>(e.getCode(), e.getMessage());
}
}
@PostMapping("/product-development-factors/step-2/validate")
@ApiOperation("产品开发关键因素第二步校验")
public ResultEntity<ProductDevelopmentFactorsStepTwoValidationResult> validateProductDevelopmentFactorsStepTwo(
@RequestBody ProductDevelopmentFactorsStepTwoValidationRequest answer, HttpServletRequest request) {
try {
return new ResultEntity<>(HttpStatus.OK, "校验通过", productDevelopmentFactorsStepTwoService.validate(answer, TokenProvider.getJWTUser(request)));
} catch (ServiceException e) {
return new ResultEntity<>(e.getCode(), e.getMessage());
}
}
@PostMapping("/product-development-factors/step-3/validate")
@ApiOperation("产品开发关键因素第三步校验")
public ResultEntity<ProductDevelopmentFactorsStepThreeValidationResult> validateProductDevelopmentFactorsStepThree(
@RequestBody ProductDevelopmentFactorsStepThreeValidationRequest answer, HttpServletRequest request) {
try {
return new ResultEntity<>(HttpStatus.OK, "校验通过", productDevelopmentFactorsStepThreeService.validate(answer, TokenProvider.getJWTUser(request)));
} catch (ServiceException e) {
return new ResultEntity<>(e.getCode(), e.getMessage());
}
}
@PostMapping("/product-development-factors/step-4/validate")
@ApiOperation("产品开发关键因素第四步校验")
public ResultEntity<ProductDevelopmentFactorsStepFourValidationResult> validateProductDevelopmentFactorsStepFour(
@RequestBody ProductDevelopmentFactorsStepFourValidationRequest answer, HttpServletRequest request) {
try { return new ResultEntity<>(HttpStatus.OK, "校验通过", productDevelopmentFactorsStepFourService.validate(answer, TokenProvider.getJWTUser(request))); }
catch (ServiceException e) { return new ResultEntity<>(e.getCode(), e.getMessage()); }
}
@DeleteMapping("/{taskKey}")
@ApiOperation("删除当前学生指定实训任务答案")
public ResultEntity delete(@PathVariable String taskKey,
@RequestParam(required = false) String teachingClassId,
HttpServletRequest request) {
try {
JwtUser user = TokenProvider.getJWTUser(request);
studentTrainingAnswerService.delete(taskKey, teachingClassId, user);
return new ResultEntity<>(HttpStatus.OK, "删除成功");
} catch (ServiceException e) {
return new ResultEntity<>(e.getCode(), e.getMessage());
}
}
}