package com.qxueyou.scc.controller; import java.io.IOException; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import com.fasterxml.jackson.databind.ObjectMapper; import com.qxueyou.scc.base.model.Pager; import com.qxueyou.scc.base.model.ResultJson; import com.qxueyou.scc.config.AliOssConfig; import com.qxueyou.scc.evaluate.service.IEvaluateService; import com.qxueyou.scc.school.model.SchEvaluate; import com.qxueyou.scc.school.model.TeachEvaScoreResult; import com.qxueyou.scc.sys.service.IOssService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; /** * ÆÀ¹À¿ØÖÆÆ÷ * * @author zhiyong */ @Api(tags = "Îʾí½Ó¿Ú") @Controller @CrossOrigin(origins="*",maxAge=3600) @RequestMapping(value = "/evaluate") @EnableConfigurationProperties(AliOssConfig.class) public class EvaluateController { private final Logger log = LogManager.getLogger(EvaluateController.class); @Autowired private IEvaluateService evaluateService; @Autowired IOssService ossService; // ------------------------------ºǫ́ start------------------------------------------------------------ /** * »ñÈ¡ÁбíÊý¾Ý * * @return */ @ApiOperation(value = "»ñÈ¡ÁбíÊý¾Ý-½Ìʦ¶Ë", notes = "", httpMethod = "GET") @ApiImplicitParams({ @ApiImplicitParam(name = "pageNum", value = "Ò³Âë", required = false, paramType="query", dataType = "Integer"), @ApiImplicitParam(name = "pageSize", value = "ÿҳÊýÄ¿", required = false, paramType="query", dataType = "Integer"), @ApiImplicitParam(name = "keyword", value = "²éѯ×Ö¶Î", required = false, paramType="query", dataType = "String"), @ApiImplicitParam(name = "sort", value = "ÅÅÐò×Ö¶Î", required = false, paramType="query", dataType = "String"), }) @RequestMapping(value = "list", method = RequestMethod.GET) public @ResponseBody ResultJson queryList(Integer pageNum, Integer pageSize, String keyword, @RequestParam(defaultValue = "desc") String sort) { return evaluateService.queryList(pageNum, pageSize, keyword, sort); } /** * »ñÈ¡·¶Î§Ñ¡Ôñ *
* type: lesson:¿Î³Ì class:°à¼¶ person:ÈËÔ± * * @return */ @ApiOperation(value = "»ñÈ¡·¶Î§Ñ¡Ôñ", notes = "¸ù¾ÝÌîд·¶Î§»ñÈ¡ÏÂÀÁбíµÄÖµ") @ApiImplicitParams({ @ApiImplicitParam(name = "type", value = "Ìîд·¶Î§¡¾lesson:¿Î³Ì class:°à¼¶ person:ÈËÔ±¡¿", required = false, paramType="query", dataType = "String"), }) @RequestMapping(value = "rangeList", method = RequestMethod.GET) public @ResponseBody ResultJson queryRangeList(String type, String searchName) { return evaluateService.queryRangeList(type, searchName); } /** * ºǫ́¹ÜÀí * ÐÂÔö»òÐ޸ĽÌѧÆÀ¹À * * @param obj * @return */ @ApiOperation(value = "ÐÂÔö»òÐÞ¸ÄÎʾí", notes = "") @RequestMapping(value = "addOrUpdate", method = RequestMethod.POST) public @ResponseBody ResultJson addOrUpdateEvaluate(@RequestBody SchEvaluate eva) { return evaluateService.addOrUpdateEvaluate(eva); } /** * »ñÈ¡»ØÏÔÊý¾Ý * * @return */ @ApiOperation(value = "¶ÁÈ¡ÎʾíµÄÐÅÏ¢", notes = "") @ApiImplicitParams({ @ApiImplicitParam(name = "evaluateId", value = "Îʾíid", required = false, paramType="query", dataType = "String"), }) @RequestMapping(value = "baseInfo", method = RequestMethod.GET) public @ResponseBody ResultJson queryBaseInfo(String evaluateId) { return evaluateService.queryBaseInfo(evaluateId); } /** * ɾ³ý * * @return */ @ApiOperation(value = "ɾ³ýÎʾí", notes = "") @ApiImplicitParams({ @ApiImplicitParam(name = "evaluateIds", value = "Îʾíid,id", required = false, paramType="query", dataType = "String"), }) @RequestMapping(value = "delete", method = RequestMethod.POST) public @ResponseBody ResultJson delete(String evaluateIds) { return evaluateService.delete(evaluateIds); } /** * ºǫ́¹ÜÀí * ¼¤»î½ÌѧÆÀ¹À * * @return */ @ApiOperation(value = "¼¤»î½ÌѧÆÀ¹À", notes = "") @ApiImplicitParams({ @ApiImplicitParam(name = "evaluateIds", value = "Îʾíid,id", required = false, paramType="query", dataType = "String"), }) @RequestMapping(value = "active", method = RequestMethod.POST) @ResponseBody public ResultJson active(String evaluateIds) { return evaluateService.doActive(evaluateIds); } /** * ºǫ́¹ÜÀí * ³·»Ø * * @return */ @ApiOperation(value = "³·»Ø½ÌѧÆÀ¹À", notes = "") @ApiImplicitParams({ @ApiImplicitParam(name = "evaluateIds", value = "Îʾíid,id", required = false, paramType="query", dataType = "String"), }) @RequestMapping(value = "withdraw", method = RequestMethod.POST) @ResponseBody public ResultJson withdraw(String evaluateIds) { return evaluateService.doWithdraw(evaluateIds); } /** * ºǫ́¹ÜÀí * ¸´ÖÆ * * @return */ @ApiOperation(value = "¸´ÖƽÌѧÆÀ¹À", notes = "") @RequestMapping(value = "copy", method = RequestMethod.POST) @ResponseBody public ResultJson doCopy(@RequestBody SchEvaluate eva) { return evaluateService.doCopy(eva); } /** * ²é¿´½á¹û ÎʾíÕûÌåÇé¿ö * * @param groupId * @param schEvaluateId * @param classId * @return */ @ApiOperation(value = "ÎʾíÕûÌå´ðÌâÇé¿ö", notes = "") @ApiImplicitParams({ @ApiImplicitParam(name = "evaluateId", value = "Îʾíid", required = false, paramType="query", dataType = "String"), @ApiImplicitParam(name = "groupId", value = "Á·Ï°×éid", required = false, paramType="query", dataType = "String"), }) @RequestMapping(value = "queryEvaluateDetail", method = RequestMethod.GET) @ResponseBody public ResultJson queryEvaluateDetail(String evaluateId, String groupId) { return evaluateService.queryEvaluateDetail(evaluateId, groupId); } /** * ²é¿´Í³¼Æ * * @param groupId * @param schEvaluateId * @return */ @ApiOperation(value = "²é¿´Îʾíͳ¼ÆÇé¿ö", notes = "") @ApiImplicitParams({ @ApiImplicitParam(name = "evaluateId", value = "Îʾíid", required = false, paramType="query", dataType = "String"), @ApiImplicitParam(name = "groupId", value = "Á·Ï°×éid", required = false, paramType="query", dataType = "String"), }) @RequestMapping(value = "evaluateStatisDetail", method = RequestMethod.GET) @ResponseBody public ResultJson queryEvaluateStatis(String groupId, String evaluateId) { return evaluateService.queryEvaluateStatis(groupId, evaluateId); } // ------------------------------ºǫ́ end------------------------------------------------------------ // ------------------------------ǰ¶Ë start----------------------------------------------------------- /** * ΢ÐÅÌá½»Îʾí * * @param answers * @param userId * @return */ @ApiOperation(value = "Ìá½»Îʾí´ð°¸", notes = "") @ApiImplicitParams({ @ApiImplicitParam(name = "answers", value = "{\"evaluateId\":\"297ebe0e653d1bf601654064de690004\",\"exerciseGroupId\":\"297ebe0e653d1bf601654064de2b0002\",\"items\":[{\"exerciseId\":\"297ebe0e653d1bf60165407d5e9f0033\",\"answer\":\"B,C\"},{\"exerciseId\":\"297ebe0e653d1bf60165407eb3b6003e\",\"answer\":\"B\"},{\"exerciseId\":\"297ebe0e653d1bf6016541a801c5009e\",\"answer\":\"A,B\"},{\"exerciseId\":\"297ebe0e653d1bf6016540755a4a0005\",\"answer\":\"B\"},{\"exerciseId\":\"297ebe0e653d1bf6016540787e42001d\",\"answer\":\"B\"},{\"exerciseId\":\"297ebe0e653d1bf60165407b48a80028\",\"answer\":\"B\"}]}", required = false, paramType="query", dataType = "String"), }) @RequestMapping(value = "saveEvaluateWeixin", method = RequestMethod.POST) public @ResponseBody ResultJson saveEvaluateWeixin(@RequestParam("answers") String answers, String userId) { ResultJson result = new ResultJson(false); try { ObjectMapper mapper = new ObjectMapper(); // ×°»»jsonµ½¶ÔÏó TeachEvaScoreResult scoreResult = mapper.readValue(answers, TeachEvaScoreResult.class); // Ìá½»´ð¾íÈë¿â result = evaluateService.doSubmitTeachEvalScoreData(scoreResult, userId); evaluateService.updateEvaluateCount(scoreResult.getEvaluateId()); } catch (IOException e) { result = new ResultJson(false); log.error(e); } return result; } /** * ²éѯѧÉúÆÀ¹Àlist * * @return */ @ApiOperation(value = "ÎʾíÁбí-ѧԱ¶Ë", notes = "") @RequestMapping(value = "stuEvaluateList", method = RequestMethod.GET) public @ResponseBody ResultJson queryStuEvaluateList(Pager pager) { return evaluateService.queryStuEvaluateList(pager); } /** * Îʾí²éѯÌâÄ¿ * * @param evaluateId * @return */ @ApiOperation(value = "ÎʾíÌâÄ¿Áбí", notes = "") @ApiImplicitParams({ @ApiImplicitParam(name = "evaluateId", value = "Îʾíid", required = false, paramType="query", dataType = "String"), }) @RequestMapping(value = "viewStuEvaluate", method = RequestMethod.GET) public @ResponseBody ResultJson evaluateListWeixin(@RequestParam("evaluateId") String evaluateId) { return evaluateService.doGetEvalExerItemResponseDataNew(evaluateId); } // ------------------------------ǰ¶Ë end------------------------------------------------------------ }