mitao
2025-05-20 179c4d64313c9b7572778da4aaaf6c6584fe457d
springcloud_k8s_panzhihuazhihuishequ/grid_app/src/main/java/com/panzhihua/grid_app/api/PublicityEventApi.java
@@ -1,23 +1,25 @@
package com.panzhihua.grid_app.api;
import javax.annotation.Resource;
import com.panzhihua.common.controller.BaseController;
import com.panzhihua.common.model.dtos.grid.*;
import com.panzhihua.common.model.vos.LoginUserInfoVO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.community.ComMngPopulationVO;
import com.panzhihua.common.model.vos.grid.EventDetailsVO;
import com.panzhihua.common.model.vos.grid.EventVO;
import com.panzhihua.common.service.grid.GridService;
import com.panzhihua.common.utlis.ClazzUtils;
import com.panzhihua.common.utlis.IdCardUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
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;
/**
 *
@@ -25,60 +27,79 @@
 * @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 查找事件
     *
     * @param pagePublicityEventDTO
     *            查找事件
     * @return 查找结果
     */
    @GetMapping("/usersList")
    @ApiOperation(value = "宣传教育事件列表", response= EventVO.class)
    R usersPublicityList(@Validated @ModelAttribute PagePublicityEventDTO pagePublicityEventDTO){
    @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 特殊人群信息
     *
     * @param publicityEventAddDTO
     *            特殊人群信息
     * @return 查找结果
     */
    @PostMapping()
    @ApiOperation(value = "发布宣传教育事件", response = R.class)
    R addPublicity(@Validated @RequestBody PublicityEventAddDTO publicityEventAddDTO){
    R addPublicity(@Validated @RequestBody PublicityEventAddDTO publicityEventAddDTO) {
        ClazzUtils.setIfStringIsEmpty(publicityEventAddDTO);
        LoginUserInfoVO loginUserInfoVO = this.getLoginUserInfo();
        publicityEventAddDTO.setUserId(loginUserInfoVO.getUserId());
        publicityEventAddDTO.setUserName(loginUserInfoVO.getName());
        publicityEventAddDTO.setUserName(loginUserInfoVO.getNickName());
        publicityEventAddDTO.setPhone(loginUserInfoVO.getPhone());
        return gridService.addPublicity(publicityEventAddDTO);
    }
    /**
     * 保存宣传教育事件草稿
     * @param publicityEventEditDTO 保存草稿传递对象
     *
     * @param publicityEventEditDTO
     *            保存草稿传递对象
     * @return 保存结果
     */
    @PostMapping("/draft")
    @ApiOperation(value = "保存宣传教育事件草稿", response = R.class)
    R savePublicityDraft(@Validated @RequestBody PublicityEventEditDTO publicityEventEditDTO){
    R savePublicityDraft(@Validated @RequestBody PublicityEventEditDTO publicityEventEditDTO) {
        ClazzUtils.setIfStringIsEmpty(publicityEventEditDTO);
        LoginUserInfoVO loginUserInfoVO = this.getLoginUserInfo();
        publicityEventEditDTO.setUserId(loginUserInfoVO.getUserId());
        publicityEventEditDTO.setUserName(loginUserInfoVO.getName());
        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);
    }
}