package com.qxueyou.scc.exercise.action;
|
|
import java.util.List;
|
import java.util.Map;
|
|
import org.apache.commons.lang3.StringUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Qualifier;
|
import org.springframework.stereotype.Controller;
|
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMethod;
|
import org.springframework.web.bind.annotation.ResponseBody;
|
|
import com.qxueyou.scc.base.dao.CommonDAO;
|
import com.qxueyou.scc.base.model.Pager;
|
import com.qxueyou.scc.base.model.Result;
|
import com.qxueyou.scc.base.service.ICommonService;
|
import com.qxueyou.scc.base.util.CollectionUtils;
|
import com.qxueyou.scc.base.util.QBeanUtils;
|
import com.qxueyou.scc.exercise.model.ExerciseCompleteInfo;
|
import com.qxueyou.scc.exercise.model.ExerciseInfo;
|
import com.qxueyou.scc.exercise.service.IExerciseCompleteService;
|
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiImplicitParams;
|
import io.swagger.annotations.ApiOperation;
|
|
/**
|
*×÷ÒµÍê³ÉÇé¿ö
|
*
|
* @author kevin
|
* @history 2018-03-11 create kevin
|
*
|
*/
|
@Api(tags="×÷ÒµÍê³ÉÇé¿ö¹ÜÀí½Ó¿Ú")
|
@Controller
|
@RequestMapping(value = "/exercise/complete")
|
public class ExerciseCompleteController {
|
//·ÖÒ³²éѯÖУ¬Ä¬ÈϼǼÌõÊýºÍÒ³Êý
|
private static final int DEFAULT_PAGE_SIZE=10;
|
private static final int DEFAULT_PAGE_NUM=1;
|
|
@Autowired
|
private CommonDAO commonDAO;
|
|
@Autowired
|
@Qualifier("commonAppService")
|
ICommonService commonService;
|
|
@Autowired
|
IExerciseCompleteService exerciseCompleteService;
|
|
|
/**
|
* ×÷ÒµÍê³ÉÇé¿öÁбí
|
* */
|
@ApiOperation(value = "×÷ÒµÍê³ÉÇé¿öÁбí", notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "keyword", value = "ѧÉúÃû³Æ", required = false, paramType="query", dataType = "String"),
|
@ApiImplicitParam(name = "exerciseInfoId", value = "×÷Òµid", required = true, paramType="query", dataType = "String"),
|
@ApiImplicitParam(name = "status", value = "״̬£¨0δÌá½»£¬1´ýÅúÔÄ£¬2ÒÑÅúÔÄ£¬3ÐèÖØÐ´£©", required = false, paramType="query", dataType = "Short"),
|
})
|
@RequestMapping(value = "/list", method = RequestMethod.GET)
|
public @ResponseBody Result list(String keyword,String exerciseInfoId,Short status,Integer pageSize,Integer pageNum){
|
pageSize = pageSize != null && pageSize > 0 ? pageSize : DEFAULT_PAGE_SIZE;
|
pageNum = pageNum != null && pageNum > 0 ? pageNum : DEFAULT_PAGE_NUM;
|
|
//¶ÁÈ¡×÷ÒµÐÅÏ¢
|
ExerciseInfo exerciseInfo = commonService.read(ExerciseInfo.class, exerciseInfoId);
|
|
//×Ü¿¼ÊÔÊýÁ¿
|
int totalCount = exerciseCompleteService.listCount(keyword == null ? "" : keyword.trim(),exerciseInfoId,status);
|
Pager pager = new Pager(pageSize,pageNum);
|
pager.setTotalCount(totalCount);
|
|
List<ExerciseCompleteInfo> list = exerciseCompleteService.list(keyword == null ? "" : keyword.trim(),exerciseInfoId,status,pageSize,pageNum);
|
|
List<Map<String, Object>> listResult =QBeanUtils.listBean2ListMap(list,
|
CollectionUtils.newStringMap("exerciseCompleteId", "exerciseCompleteId", "exerciseInfoId", "exerciseInfoId", "className", "className",
|
"studentNo","studentNo","studentUserName", "studentUserName", "submitTime", "submitTime",
|
"completeStatus","completeStatus","studentScore","studentScore"));
|
|
return new Result(true,"",CollectionUtils.newObjectMap("exerciseInfoId",exerciseInfoId,"exerciseName",exerciseInfo.getName(),"list",listResult,"pager", pager));
|
}
|
|
/**
|
* ¸ù¾Ý²»Í¬µÄ×÷ÒµÀàÐÍ£¬·µ»Ø×÷ÒµÍê³ÉÇé¿ö¼°ÉóÅúÏêÇé
|
* @param exerciseCompleteId
|
* @return
|
*/
|
@ApiOperation(value = "ÏêÇéÒ³ÃæÊý¾Ý", notes = "")
|
@ApiImplicitParams({@ApiImplicitParam(name = "exerciseCompleteId", value = "×÷ÒµÍê³ÉÇé¿öid", required = true, paramType="query", dataType = "String")})
|
@RequestMapping(value = "/detail", method = RequestMethod.GET)
|
public @ResponseBody Result detail(String exerciseCompleteId) {
|
return new Result(true,"",CollectionUtils.newObjectMap("detail",exerciseCompleteService.queryExerciseCompleteDetail(exerciseCompleteId)));
|
}
|
|
/**
|
* ÅúÔÄ
|
* @param exerciseCompleteInfo
|
* @return
|
*/
|
@RequestMapping(value = "/save", method = RequestMethod.POST)
|
public @ResponseBody Result save(@RequestBody ExerciseCompleteInfo exerciseCompleteInfo) {
|
if(StringUtils.isEmpty(exerciseCompleteInfo.getExerciseCompleteId())){
|
return new Result(true,"",CollectionUtils.newObjectMap("exerciseCompleteId",exerciseCompleteService.addExerciseComplete(exerciseCompleteInfo)));
|
}else{
|
return exerciseCompleteService.updateExerciseComplete(exerciseCompleteInfo);
|
}
|
}
|
|
/**
|
* ÅúÔÄ
|
* @param examInfo
|
* @return
|
*/
|
@ApiOperation(value = "ÅúÔÄ", notes = "")
|
@RequestMapping(value = "/check", method = RequestMethod.POST)
|
public @ResponseBody Result checkExerciseComplateInfo(@RequestBody ExerciseCompleteInfo exerciseCompleteInfo) {
|
return exerciseCompleteService.updateExerciseComplete(exerciseCompleteInfo);
|
}
|
|
/**
|
* ÅúÔÄÏÂÒ»¸ö
|
* @param examInfo
|
* @return
|
*/
|
@ApiOperation(value = "ÅúÔÄÏÂÒ»¸ö", notes = "")
|
@ApiImplicitParams({@ApiImplicitParam(name = "exerciseInfoId", value = "×÷Òµid", required = true, paramType="query", dataType = "String")})
|
@RequestMapping(value = "/checknext", method = RequestMethod.GET)
|
public @ResponseBody Result checkExerciseComplateInfo(String exerciseInfoId) {
|
String hql = "from ExerciseCompleteInfo where exerciseInfoId=? and completeStatus=? and deleteFlag is false order by studentNo asc";
|
ExerciseCompleteInfo lastCompleteInfo = this.commonDAO.findUnique(hql, CollectionUtils.newList(exerciseInfoId,ExerciseCompleteInfo.STATUS_COMMIT), ExerciseCompleteInfo.class);
|
if(lastCompleteInfo!=null){
|
return new Result(true,"",CollectionUtils.newObjectMap("detail",exerciseCompleteService.queryExerciseCompleteDetail(lastCompleteInfo.getExerciseCompleteId())));
|
}else{
|
return new Result(false,"ÒѾûÓдýÅúÔĵÄ×÷Òµ!");
|
}
|
}
|
|
}
|