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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
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.*;
import com.panzhihua.common.model.vos.LoginUserInfoVO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.community.ComActVO;
import com.panzhihua.common.model.vos.grid.EventDetailsVO;
import com.panzhihua.common.model.vos.grid.EventGridDataAreaVO;
import com.panzhihua.common.model.vos.grid.EventSpecialPopulationVO;
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;
 
// import com.panzhihua.common.model.vos.IPageVO;
 
/**
 *
 * @author cedoo email:cedoo(a)qq.com
 * @version 1.0
 * @since 1.0
 * @date 2021-05-26
 */
@Slf4j
@RestController
@RequestMapping("/event")
@Api(tags = {"网格综治事件管理 @chendong", "宣传教育 @chendong", "特殊人群上报(开发中..) @chendong"})
public class EventApi extends BaseController {
 
    @Resource
    private GridService gridService;
 
    /**
     * 撤销事件
     * 
     * @param eventRevokeDTO
     *            修改事件传递对象
     * @return 修改结果
     */
    @PutMapping("/revoke")
    @ApiOperation(value = "撤销事件", response = R.class)
    R revoke(@Validated @RequestBody EventRevokeDTO eventRevokeDTO) {
        ClazzUtils.setIfStringIsEmpty(eventRevokeDTO);
        LoginUserInfoVO loginUserInfoVO = getLoginUserInfo();
        eventRevokeDTO.setUserId(loginUserInfoVO.getUserId());
        eventRevokeDTO.setUserName(loginUserInfoVO.getNickName());
        eventRevokeDTO.setRevokeType(1);
        eventRevokeDTO.setRevokeId(loginUserInfoVO.getUserId());
        return gridService.emergenciesRevoke(eventRevokeDTO);
    }
 
    /**
     * 查询事件详细信息
     * 
     * @param id
     *            事件 id
     * @return 查找结果
     */
    @GetMapping("/{id}")
    @ApiOperation(value = "查询事件详细信息")
    R<EventDetailsVO> details(@PathVariable("id") Long id) {
        return gridService.eventDetails(id);
    }
 
    /**
     * 删除
     * 
     * @param commonEventDeleteDTO
     *            删除事件传递对象
     * @return 删除结果
     */
    @DeleteMapping()
    @ApiOperation(value = "删除事件", response = R.class)
    R delete(@Validated @RequestBody CommonEventDeleteDTO commonEventDeleteDTO) {
        ClazzUtils.setIfStringIsEmpty(commonEventDeleteDTO);
        return gridService.delete(commonEventDeleteDTO);
    }
 
    /**
     * 重新发布事件
     * 
     * @param commonEventRepublishDTO
     *            重新发布事件传递对象
     * @return 修改结果
     */
    @PutMapping("/republish")
    @ApiOperation(value = "重新发布事件", response = R.class)
    R republish(@Validated @RequestBody CommonEventRepublishDTO commonEventRepublishDTO) {
        ClazzUtils.setIfStringIsEmpty(commonEventRepublishDTO);
        LoginUserInfoVO loginUserInfoVO = this.getLoginUserInfo();
        commonEventRepublishDTO.setUserId(loginUserInfoVO.getUserId());
        commonEventRepublishDTO.setUserName(loginUserInfoVO.getNickName());
        return gridService.republishEvent(commonEventRepublishDTO);
    }
 
    /**
     * 发布草稿
     * 
     * @param commonEventPublicDTO
     *            添加事件传递对象
     * @return 新增结果
     */
    @PutMapping("/draft/release")
    @ApiOperation(value = "发布草稿", response = R.class)
    R release(@Validated @RequestBody CommonEventPublicDTO commonEventPublicDTO) {
        ClazzUtils.setIfStringIsEmpty(commonEventPublicDTO);
        LoginUserInfoVO loginUserInfoVO = this.getLoginUserInfo();
        commonEventPublicDTO.setUserId(loginUserInfoVO.getUserId());
        commonEventPublicDTO.setUserName(loginUserInfoVO.getNickName());
        return gridService.draftRelease(commonEventPublicDTO);
    }
 
    /**
     * 查询社区列表
     * 
     * @return 查找结果
     */
    @GetMapping("/actList")
    @ApiOperation(value = "查询社区列表", response = ComActVO.class)
    R actList() {
        return gridService.actList();
    }
 
    /**
     * 查询距离当前事件最近的网格数据
     * 
     * @param pageEventGridNearbyDTO
     * @return
     */
    @PostMapping("/grid/nearby")
    @ApiOperation(value = "查询经纬度所在的网格", response = EventGridDataAreaVO.class)
    R getNearByGrid(@Validated @RequestBody PageEventGridNearbyDTO pageEventGridNearbyDTO) {
        return gridService.getNearByGrid(pageEventGridNearbyDTO);
    }
 
    @ApiOperation(value = "查询社区特殊人群列表", response = EventSpecialPopulationVO.class)
    @PostMapping("/special/population/list")
    public R specialPopulationList(@RequestBody PageEventSpecialPopulationDTO specialPopulationDTO) {
        LoginUserInfoVO loginUserInfoVO = this.getLoginUserInfo();
        specialPopulationDTO.setCommunityId(loginUserInfoVO.getCommunityId());
        return gridService.specialPopulationList(specialPopulationDTO);
    }
 
}