| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- package com.goafanti.evaluation.controller;
- import javax.validation.Valid;
- import org.apache.commons.lang3.StringUtils;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.util.Assert;
- import org.springframework.validation.BindingResult;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestMethod;
- import org.springframework.web.bind.annotation.RestController;
- import com.alibaba.fastjson.JSON;
- import com.alibaba.fastjson.JSONObject;
- import com.goafanti.common.bo.Result;
- import com.goafanti.common.constant.ErrorConstants;
- import com.goafanti.common.controller.BaseApiController;
- import com.goafanti.common.model.ValueEvaluation;
- import com.goafanti.common.utils.LoggerUtils;
- import com.goafanti.core.shiro.token.TokenManager;
- import com.goafanti.evaluation.bo.Step1;
- import com.goafanti.evaluation.service.ValueEvaluationService;
- @RestController
- @RequestMapping(value = "/api/user/evaluate")
- public class EvaluationController extends BaseApiController {
- private static final Logger logger = LoggerFactory.getLogger(EvaluationController.class);
- @Autowired
- ValueEvaluationService valueEvaluationService;
- @RequestMapping(value = "/create", method = RequestMethod.POST)
- public Result create() {
- ValueEvaluation ve = new ValueEvaluation();
- ve.setUid(TokenManager.getUserId());
- ve.setStep(1);
- ve.setLog("{}");
- valueEvaluationService.insert(ve);
- return new Result(ve.getId());
- }
- @RequestMapping(value = "/list", method = RequestMethod.GET)
- public Result list(String pageNo, String pageSize) {
- return new Result().data(valueEvaluationService.list(handlePageNo(pageNo), handlePageSize(pageSize)));
- }
- @RequestMapping(value = "/info", method = RequestMethod.GET, produces = "application/json;charset=UTF-8")
- public String info(String id) {
- Assert.isTrue(StringUtils.isNumeric(id), ErrorConstants.EVALUATE_ID);
- return valueEvaluationService.getMyEvaluationSteps(Long.valueOf(id));
- }
- @RequestMapping(value = "/step1", method = RequestMethod.POST)
- public Result update(String id, @Valid Step1 data, BindingResult bindingResult) {
- Assert.isTrue(StringUtils.isNumeric(id), ErrorConstants.EVALUATE_ID);
- Result res = new Result();
- if (handleBindingError(res, bindingResult)) {
- return res;
- }
- ValueEvaluation ve = valueEvaluationService.getEvaluation(Long.valueOf(id));
- Assert.notNull(ve, ErrorConstants.EVALUATE_ID);
- ve.setName(data.getName());
- JSONObject jo = JSON.parseObject(ve.getLog());
- jo.put("1", data);
- ve.setLog(jo.toJSONString());
- res.data(valueEvaluationService.update(ve));
- return res;
- }
- private boolean handleBindingError(Result res, BindingResult bindingResult) {
- if (bindingResult.hasErrors()) {
- LoggerUtils.debug(logger, "参数错误:[%s], [%s], [%s]", bindingResult.getFieldError().getDefaultMessage(),
- bindingResult.getFieldError().getField(), bindingResult.getFieldError().getRejectedValue());
- res.getError().add(buildError(ErrorConstants.EVALUATE_PARAM));
- return true;
- }
- return false;
- }
- }
|