mitao
2025-02-21 31573d6180d15ef65ed0df9c2732495f40b12663
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
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);
    }
 
}