package com.panzhihua.grid_app.api;
|
|
import javax.annotation.Resource;
|
|
import org.springframework.validation.annotation.Validated;
|
import org.springframework.web.bind.annotation.*;
|
|
import com.panzhihua.common.controller.BaseController;
|
import com.panzhihua.common.model.dtos.grid.PageEventGridNearbyDTO;
|
import com.panzhihua.common.model.dtos.grid.PagePublicityEventDTO;
|
import com.panzhihua.common.model.dtos.grid.PublicityEventAddDTO;
|
import com.panzhihua.common.model.dtos.grid.PublicityEventEditDTO;
|
import com.panzhihua.common.model.vos.LoginUserInfoVO;
|
import com.panzhihua.common.model.vos.R;
|
import com.panzhihua.common.model.vos.grid.EventGridDataAreaVO;
|
import com.panzhihua.common.model.vos.grid.EventVO;
|
import com.panzhihua.common.service.grid.GridService;
|
import com.panzhihua.common.utlis.ClazzUtils;
|
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import lombok.extern.slf4j.Slf4j;
|
|
/**
|
*
|
* @author cedoo email:cedoo(a)qq.com
|
* @version 1.0
|
* @since 1.0
|
* @date 2021-05-26
|
*/
|
@Slf4j
|
@RestController
|
@RequestMapping("/event/publicity")
|
@Api(tags = {"宣传教育 @chendong"})
|
public class PublicityEventApi extends BaseController {
|
|
@Resource
|
private GridService gridService;
|
|
/**
|
* 事件列表
|
*
|
* @param pagePublicityEventDTO
|
* 查找事件
|
* @return 查找结果
|
*/
|
@GetMapping("/usersList")
|
@ApiOperation(value = "宣传教育事件列表", response = EventVO.class)
|
R usersPublicityList(@Validated @ModelAttribute PagePublicityEventDTO pagePublicityEventDTO) {
|
ClazzUtils.setIfStringIsEmpty(pagePublicityEventDTO);
|
LoginUserInfoVO loginUserInfoVO = this.getLoginUserInfo();
|
pagePublicityEventDTO.setUserId(loginUserInfoVO.getUserId());
|
pagePublicityEventDTO.setRevokeType(1);
|
return gridService.queryPublicity(pagePublicityEventDTO);
|
}
|
|
/**
|
* 添加宣传教育事件
|
*
|
* @param publicityEventAddDTO
|
* 特殊人群信息
|
* @return 查找结果
|
*/
|
@PostMapping()
|
@ApiOperation(value = "发布宣传教育事件", response = R.class)
|
R addPublicity(@Validated @RequestBody PublicityEventAddDTO publicityEventAddDTO) {
|
ClazzUtils.setIfStringIsEmpty(publicityEventAddDTO);
|
LoginUserInfoVO loginUserInfoVO = this.getLoginUserInfo();
|
publicityEventAddDTO.setUserId(loginUserInfoVO.getUserId());
|
publicityEventAddDTO.setUserName(loginUserInfoVO.getNickName());
|
publicityEventAddDTO.setPhone(loginUserInfoVO.getPhone());
|
return gridService.addPublicity(publicityEventAddDTO);
|
}
|
|
/**
|
* 保存宣传教育事件草稿
|
*
|
* @param publicityEventEditDTO
|
* 保存草稿传递对象
|
* @return 保存结果
|
*/
|
@PostMapping("/draft")
|
@ApiOperation(value = "保存宣传教育事件草稿", response = R.class)
|
R savePublicityDraft(@Validated @RequestBody PublicityEventEditDTO publicityEventEditDTO) {
|
ClazzUtils.setIfStringIsEmpty(publicityEventEditDTO);
|
LoginUserInfoVO loginUserInfoVO = this.getLoginUserInfo();
|
publicityEventEditDTO.setUserId(loginUserInfoVO.getUserId());
|
publicityEventEditDTO.setUserName(loginUserInfoVO.getNickName());
|
publicityEventEditDTO.setPhone(loginUserInfoVO.getPhone());
|
return gridService.savePublicityDraft(publicityEventEditDTO);
|
}
|
|
/**
|
* 查询距离当前事件最近的网格数据
|
*
|
* @param pageEventGridNearbyDTO
|
* @return
|
*/
|
@PostMapping("/grid/nearby")
|
@ApiOperation(value = "查询经纬度所在的网格", response = EventGridDataAreaVO.class)
|
R getNearByGrid(@Validated @RequestBody PageEventGridNearbyDTO pageEventGridNearbyDTO) {
|
return gridService.getNearByGrid(pageEventGridNearbyDTO);
|
}
|
|
}
|