package com.goafanti.admin.controller; import javax.annotation.Resource; import javax.validation.Valid; import org.springframework.beans.BeanUtils; 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.goafanti.activity.bo.InputActivity; import com.goafanti.activity.service.ActivityService; import com.goafanti.common.bo.Result; import com.goafanti.common.constant.ErrorConstants; import com.goafanti.common.controller.BaseApiController; import com.goafanti.common.enums.ActivityFields; import com.goafanti.common.model.Activity; import com.goafanti.common.utils.StringUtils; /** * 活动圈 */ @RestController @RequestMapping(value = "/api/admin/activity") public class AdminActivityApiController extends BaseApiController { @Resource private ActivityService activityService; /** * 活动列表 */ @RequestMapping(value = "/list", method = RequestMethod.GET) public Result list(String sTime, String eTime, String name, String host, Integer type, Integer form, String pageSize, String pageNo) { Result res = new Result(); Integer pNo = 1; Integer pSize = 10; if (StringUtils.isNumeric(pageSize)) { pSize = Integer.parseInt(pageSize); } if (StringUtils.isNumeric(pageNo)) { pNo = Integer.parseInt(pageNo); } res.setData(activityService.listActivity(sTime, eTime, name, host, type, form, pNo, pSize)); return res; } /** * 新增 */ @RequestMapping(value = "/add", method = RequestMethod.POST) public Result add(@Valid InputActivity ia, BindingResult bindingResult, String startTimeFormattedDate, String endTimeFormattedDate, String enrollDeadlineFormattedDate) { Result res = new Result(); if (bindingResult.hasErrors()) { res.getError().add(buildErrorByMsg(bindingResult.getFieldError().getDefaultMessage(), ActivityFields.getFieldDesc(bindingResult.getFieldError().getField()))); return res; } if (StringUtils.isBlank(ia.getName())) { res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "", "标题")); return res; } if (StringUtils.isBlank(startTimeFormattedDate)) { res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "", "活动开始时间")); return res; } if (null == ia.getType()) { res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "", "活动类型")); return res; } if (null == ia.getForm()) { res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "", "活动形式")); return res; } if (StringUtils.isBlank(ia.getAddress())) { res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "", "活动地点")); return res; } Activity a = new Activity(); BeanUtils.copyProperties(ia, a); activityService.save(a, startTimeFormattedDate, endTimeFormattedDate, enrollDeadlineFormattedDate); return res; } }