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); } }