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);
|
}
|
|
/**
|
* 获取范围选择
|
* <p>
|
* 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------------------------------------------------------------
|
}
|