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.

400 lines
22 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.NewProductSurveyStepOneCheckRequest;
import com.sztzjy.linkCommerce.entity.dto.NewProductSurveyStepOneCheckResult;
import com.sztzjy.linkCommerce.entity.dto.MarketOpportunitySelectionStepOneCheckRequest;
import com.sztzjy.linkCommerce.entity.dto.MarketOpportunitySelectionStepOneCheckResult;
import com.sztzjy.linkCommerce.entity.dto.MarketOpportunitySelectionStepTwoValidationRequest;
import com.sztzjy.linkCommerce.entity.dto.MarketOpportunitySelectionStepTwoValidationResult;
import com.sztzjy.linkCommerce.entity.dto.MarketOpportunitySelectionStepThreeValidationRequest;
import com.sztzjy.linkCommerce.entity.dto.MarketOpportunitySelectionStepThreeValidationResult;
import com.sztzjy.linkCommerce.entity.dto.MarketOpportunitySelectionStepFourValidationRequest;
import com.sztzjy.linkCommerce.entity.dto.MarketOpportunitySelectionStepFourValidationResult;
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.entity.dto.ConsumerBehaviorStepOneValidationRequest;
import com.sztzjy.linkCommerce.entity.dto.ConsumerBehaviorStepOneValidationResult;
import com.sztzjy.linkCommerce.entity.dto.ConsumerBehaviorStepTwoValidationRequest;
import com.sztzjy.linkCommerce.entity.dto.ConsumerBehaviorStepTwoValidationResult;
import com.sztzjy.linkCommerce.entity.dto.ConsumerBehaviorStepThreeValidationRequest;
import com.sztzjy.linkCommerce.entity.dto.ConsumerBehaviorStepThreeValidationResult;
import com.sztzjy.linkCommerce.entity.dto.ConsumerBehaviorStepFourValidationRequest;
import com.sztzjy.linkCommerce.entity.dto.ConsumerBehaviorStepFourValidationResult;
import com.sztzjy.linkCommerce.entity.dto.ConsumerBehaviorWordPreviewResult;
import com.sztzjy.linkCommerce.entity.dto.FeatureConversionStepOneValidationRequest;
import com.sztzjy.linkCommerce.entity.dto.FeatureConversionStepOneValidationResult;
import com.sztzjy.linkCommerce.entity.dto.FeatureConversionStepTwoValidationRequest;
import com.sztzjy.linkCommerce.entity.dto.FeatureConversionStepTwoValidationResult;
import com.sztzjy.linkCommerce.entity.dto.FeatureConversionStepThreeValidationRequest;
import com.sztzjy.linkCommerce.entity.dto.FeatureConversionStepThreeValidationResult;
import com.sztzjy.linkCommerce.service.NewProductSurveyStepOneService;
import com.sztzjy.linkCommerce.service.MarketOpportunitySelectionStepOneService;
import com.sztzjy.linkCommerce.service.MarketOpportunitySelectionStepTwoService;
import com.sztzjy.linkCommerce.service.MarketOpportunitySelectionStepThreeService;
import com.sztzjy.linkCommerce.service.MarketOpportunitySelectionStepFourService;
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.ConsumerBehaviorStepOneService;
import com.sztzjy.linkCommerce.service.ConsumerBehaviorStepTwoService;
import com.sztzjy.linkCommerce.service.ConsumerBehaviorStepThreeService;
import com.sztzjy.linkCommerce.service.ConsumerBehaviorStepFourService;
import com.sztzjy.linkCommerce.service.FeatureConversionStepOneService;
import com.sztzjy.linkCommerce.service.FeatureConversionStepTwoService;
import com.sztzjy.linkCommerce.service.FeatureConversionStepThreeService;
import com.sztzjy.linkCommerce.service.StudentTrainingAnswerService;
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 org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
@Api(tags = "学生实训答案")
@RequestMapping("api/student-training-answers")
@RestController
public class StudentTrainingAnswerController {
@Autowired
private StudentTrainingAnswerService studentTrainingAnswerService;
@Autowired
private NewProductSurveyStepOneService newProductSurveyStepOneService;
@Autowired
private MarketOpportunitySelectionStepOneService marketOpportunitySelectionStepOneService;
@Autowired
private MarketOpportunitySelectionStepTwoService marketOpportunitySelectionStepTwoService;
@Autowired
private MarketOpportunitySelectionStepThreeService marketOpportunitySelectionStepThreeService;
@Autowired
private MarketOpportunitySelectionStepFourService marketOpportunitySelectionStepFourService;
@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;
@Autowired
private ConsumerBehaviorStepOneService consumerBehaviorStepOneService;
@Autowired
private ConsumerBehaviorStepTwoService consumerBehaviorStepTwoService;
@Autowired
private ConsumerBehaviorStepThreeService consumerBehaviorStepThreeService;
@Autowired
private ConsumerBehaviorStepFourService consumerBehaviorStepFourService;
@Autowired
private FeatureConversionStepOneService featureConversionStepOneService;
@Autowired
private FeatureConversionStepTwoService featureConversionStepTwoService;
@Autowired
private FeatureConversionStepThreeService featureConversionStepThreeService;
@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("/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("/market-opportunity-selection/step-1/check")
@ApiOperation("市场机会识别与选品第一步判题")
public ResultEntity<MarketOpportunitySelectionStepOneCheckResult> checkMarketOpportunitySelectionStepOne(
@RequestBody MarketOpportunitySelectionStepOneCheckRequest answer, HttpServletRequest request) {
try {
return new ResultEntity<>(HttpStatus.OK, "判题完成", marketOpportunitySelectionStepOneService.check(answer, TokenProvider.getJWTUser(request)));
} catch (ServiceException e) {
return new ResultEntity<>(e.getCode(), e.getMessage());
}
}
@PostMapping("/market-opportunity-selection/step-2/validate")
@ApiOperation("市场机会识别与选品第二步校验")
public ResultEntity<MarketOpportunitySelectionStepTwoValidationResult> validateMarketOpportunitySelectionStepTwo(
@RequestBody MarketOpportunitySelectionStepTwoValidationRequest answer, HttpServletRequest request) {
try {
return new ResultEntity<>(HttpStatus.OK, "校验通过", marketOpportunitySelectionStepTwoService.validate(answer, TokenProvider.getJWTUser(request)));
} catch (ServiceException e) {
return new ResultEntity<>(e.getCode(), e.getMessage());
}
}
@PostMapping("/market-opportunity-selection/step-3/validate")
@ApiOperation("市场机会识别与选品第三步校验")
public ResultEntity<MarketOpportunitySelectionStepThreeValidationResult> validateMarketOpportunitySelectionStepThree(
@RequestBody MarketOpportunitySelectionStepThreeValidationRequest answer, HttpServletRequest request) {
try {
return new ResultEntity<>(HttpStatus.OK, "校验通过", marketOpportunitySelectionStepThreeService.validate(answer, TokenProvider.getJWTUser(request)));
} catch (ServiceException e) {
return new ResultEntity<>(e.getCode(), e.getMessage());
}
}
@PostMapping("/market-opportunity-selection/step-4/validate")
@ApiOperation("市场机会识别与选品第四步校验")
public ResultEntity<MarketOpportunitySelectionStepFourValidationResult> validateMarketOpportunitySelectionStepFour(
@RequestBody MarketOpportunitySelectionStepFourValidationRequest answer, HttpServletRequest request) {
try {
return new ResultEntity<>(HttpStatus.OK, "校验通过", marketOpportunitySelectionStepFourService.validate(answer, TokenProvider.getJWTUser(request)));
} 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()); }
}
@PostMapping("/consumer-behavior/step-1/validate")
@ApiOperation("消费者需求与行为第一步校验")
public ResultEntity<ConsumerBehaviorStepOneValidationResult> validateConsumerBehaviorStepOne(
@RequestBody ConsumerBehaviorStepOneValidationRequest answer, HttpServletRequest request) {
try {
return new ResultEntity<>(HttpStatus.OK, "校验通过", consumerBehaviorStepOneService.validate(answer, TokenProvider.getJWTUser(request)));
} catch (ServiceException e) {
return new ResultEntity<>(e.getCode(), e.getMessage());
}
}
@PostMapping("/consumer-behavior/step-2/validate")
@ApiOperation("消费者需求与行为第二步校验")
public ResultEntity<ConsumerBehaviorStepTwoValidationResult> validateConsumerBehaviorStepTwo(
@RequestBody ConsumerBehaviorStepTwoValidationRequest answer, HttpServletRequest request) {
try {
return new ResultEntity<>(HttpStatus.OK, "校验通过", consumerBehaviorStepTwoService.validate(answer, TokenProvider.getJWTUser(request)));
} catch (ServiceException e) {
return new ResultEntity<>(e.getCode(), e.getMessage());
}
}
@PostMapping("/consumer-behavior/step-3/validate")
@ApiOperation("消费者需求与行为第三步校验")
public ResultEntity<ConsumerBehaviorStepThreeValidationResult> validateConsumerBehaviorStepThree(
@RequestBody ConsumerBehaviorStepThreeValidationRequest answer, HttpServletRequest request) {
try {
return new ResultEntity<>(HttpStatus.OK, "校验通过", consumerBehaviorStepThreeService.validate(answer, TokenProvider.getJWTUser(request)));
} catch (ServiceException e) {
return new ResultEntity<>(e.getCode(), e.getMessage());
}
}
@PostMapping("/consumer-behavior/step-4/validate")
@ApiOperation("消费者需求与行为第四步校验")
public ResultEntity<ConsumerBehaviorStepFourValidationResult> validateConsumerBehaviorStepFour(
@RequestBody ConsumerBehaviorStepFourValidationRequest answer, HttpServletRequest request) {
try {
return new ResultEntity<>(HttpStatus.OK, "校验通过", consumerBehaviorStepFourService.validate(answer, TokenProvider.getJWTUser(request)));
} catch (ServiceException e) {
return new ResultEntity<>(e.getCode(), e.getMessage());
}
}
@PostMapping("/feature-conversion/step-1/validate")
@ApiOperation("需求转化为功能第一步校验")
public ResultEntity<FeatureConversionStepOneValidationResult> validateFeatureConversionStepOne(
@RequestBody FeatureConversionStepOneValidationRequest answer, HttpServletRequest request) {
try {
return new ResultEntity<>(HttpStatus.OK, "校验完成", featureConversionStepOneService.validate(answer, TokenProvider.getJWTUser(request)));
} catch (ServiceException e) {
return new ResultEntity<>(e.getCode(), e.getMessage());
}
}
@PostMapping("/feature-conversion/step-2/validate")
@ApiOperation("需求转化为功能第二步校验")
public ResultEntity<FeatureConversionStepTwoValidationResult> validateFeatureConversionStepTwo(
@RequestBody FeatureConversionStepTwoValidationRequest answer, HttpServletRequest request) {
try {
return new ResultEntity<>(HttpStatus.OK, "校验完成", featureConversionStepTwoService.validate(answer, TokenProvider.getJWTUser(request)));
} catch (ServiceException e) {
return new ResultEntity<>(e.getCode(), e.getMessage());
}
}
@PostMapping("/feature-conversion/step-3/validate")
@ApiOperation("需求转化为功能第三步校验")
public ResultEntity<FeatureConversionStepThreeValidationResult> validateFeatureConversionStepThree(
@RequestBody FeatureConversionStepThreeValidationRequest answer, HttpServletRequest request) {
try {
return new ResultEntity<>(HttpStatus.OK, "校验完成", featureConversionStepThreeService.validate(answer, TokenProvider.getJWTUser(request)));
} catch (ServiceException e) {
return new ResultEntity<>(e.getCode(), e.getMessage());
}
}
@PostMapping(value = "/consumer-behavior/step-3/word-preview", consumes = "multipart/form-data")
@ApiOperation("消费者需求与行为第三步Word预览")
public ResultEntity<ConsumerBehaviorWordPreviewResult> previewConsumerBehaviorStepThreeWord(
@RequestPart("file") MultipartFile file, HttpServletRequest request) {
try {
return new ResultEntity<>(HttpStatus.OK, "预览成功", consumerBehaviorStepThreeService.previewWord(file, 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());
}
}
}