package com.panzhihua.grid_app.api;
|
|
import javax.annotation.Resource;
|
|
import com.panzhihua.common.model.vos.grid.GridMemberPositionDTO;
|
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.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/common")
|
@Api(tags = {"网格综治事件管理 @chendong"})
|
public class CommonEventApi extends BaseController {
|
|
@Resource
|
private GridService gridService;
|
|
private boolean isCommonType(Integer eventType) {
|
if (eventType == null) {
|
return false;
|
}
|
boolean inType =
|
eventType == 1 | eventType == 2 | eventType == 3 | eventType == 4 | eventType == 5 | eventType == 6;
|
return inType;
|
}
|
|
/**
|
* 事件列表
|
*
|
* @param pageEventDTO
|
* 查找事件
|
* @return 查找结果
|
*/
|
@GetMapping("/usersList")
|
@ApiOperation(value = "事件列表", response = EventVO.class)
|
R usersList(@Validated @ModelAttribute PageEventDTO pageEventDTO) {
|
ClazzUtils.setIfStringIsEmpty(pageEventDTO);
|
if (!isCommonType(pageEventDTO.getEventType())) {
|
return R.fail(400, "事件类型错误");
|
}
|
LoginUserInfoVO loginUserInfoVO = this.getLoginUserInfo();
|
pageEventDTO.setUserId(loginUserInfoVO.getUserId());
|
pageEventDTO.setRevokeType(1);
|
return gridService.query(pageEventDTO);
|
}
|
|
/**
|
* 新增并发布事件事件
|
*
|
* @param commonEventAddDTO
|
* 添加事件传递对象
|
* @return 新增结果
|
*/
|
@PostMapping("/release")
|
@ApiOperation(value = "新增并发布事件", response = R.class)
|
R add(@Validated @RequestBody CommonEventAddDTO commonEventAddDTO) {
|
ClazzUtils.setIfStringIsEmpty(commonEventAddDTO);
|
if (!isCommonType(commonEventAddDTO.getEventType())) {
|
return R.fail(400, "事件类型错误");
|
}
|
LoginUserInfoVO loginUserInfoVO = this.getLoginUserInfo();
|
commonEventAddDTO.setUserId(loginUserInfoVO.getUserId());
|
commonEventAddDTO.setUserName(loginUserInfoVO.getNickName());
|
commonEventAddDTO.setPhone(loginUserInfoVO.getPhone());
|
R r = gridService.addCommon(commonEventAddDTO);
|
if(R.isOk(r)){
|
GridMemberPositionDTO memberPositionDTO = new GridMemberPositionDTO();
|
memberPositionDTO.setGridMemberId(loginUserInfoVO.getUserId());
|
memberPositionDTO.setPositionAddress(commonEventAddDTO.getHappenAddress());
|
String []lngLatString = commonEventAddDTO.getHappentLatLng().split(",");
|
memberPositionDTO.setLngLat(lngLatString[1] + "," + lngLatString[0]);
|
gridService.gridReportPosition(memberPositionDTO);
|
}
|
return r;
|
}
|
|
/**
|
* 保存草稿
|
*
|
* @param commonEventEditDTO
|
* 保存草稿传递对象
|
* @return 新增结果
|
*/
|
@PostMapping("/draft")
|
@ApiOperation(value = "保存草稿", response = R.class)
|
R saveDraft(@Validated @RequestBody CommonEventEditDTO commonEventEditDTO) {
|
ClazzUtils.setIfStringIsEmpty(commonEventEditDTO);
|
ClazzUtils.setIfStringIsEmpty(commonEventEditDTO);
|
if (!isCommonType(commonEventEditDTO.getEventType())) {
|
return R.fail(400, "事件类型错误");
|
}
|
LoginUserInfoVO loginUserInfoVO = this.getLoginUserInfo();
|
commonEventEditDTO.setUserId(loginUserInfoVO.getUserId());
|
commonEventEditDTO.setUserName(loginUserInfoVO.getNickName());
|
commonEventEditDTO.setPhone(loginUserInfoVO.getPhone());
|
return gridService.saveDraft(commonEventEditDTO);
|
}
|
|
/**
|
* 上报社区
|
*
|
* @param commonEventReportDTO
|
* 上报社区传递对象
|
* @return 上报结果
|
*/
|
@PutMapping("/report")
|
@ApiOperation(value = "上报社区", response = R.class)
|
R report(@Validated @RequestBody CommonEventReportDTO commonEventReportDTO) {
|
LoginUserInfoVO loginUserInfoVO = getLoginUserInfo();
|
ClazzUtils.setIfStringIsEmpty(commonEventReportDTO);
|
commonEventReportDTO.setUserId(loginUserInfoVO.getUserId());
|
commonEventReportDTO.setUserName(loginUserInfoVO.getNickName());
|
commonEventReportDTO.setCommunityId(loginUserInfoVO.getCommunityId());
|
return gridService.report(commonEventReportDTO);
|
}
|
|
/**
|
* 处理事件
|
*
|
* @param commonEventDealDTO
|
* 修改事件传递对象
|
* @return 处理结果
|
*/
|
@PutMapping("/deal")
|
@ApiOperation(value = "处理事件", response = R.class)
|
R deal(@Validated @RequestBody CommonEventDealDTO commonEventDealDTO) {
|
ClazzUtils.setIfStringIsEmpty(commonEventDealDTO);
|
LoginUserInfoVO loginUserInfoVO = this.getLoginUserInfo();
|
commonEventDealDTO.setUserId(loginUserInfoVO.getUserId());
|
commonEventDealDTO.setUserName(loginUserInfoVO.getNickName());
|
commonEventDealDTO.setOperateType(0);
|
commonEventDealDTO.setCommunityId(loginUserInfoVO.getCommunityId());
|
commonEventDealDTO.setCommunityName(loginUserInfoVO.getCommunityName());
|
return gridService.dealEvent(commonEventDealDTO);
|
}
|
|
/**
|
* 验证事件
|
*
|
* @param commonEventVerifyDTO
|
* 验证事件传递对象
|
* @return 验证结果
|
*/
|
@PutMapping("/verify")
|
@ApiOperation(value = "验证事件", response = R.class)
|
R verify(@Validated @RequestBody CommonEventVerifyDTO commonEventVerifyDTO) {
|
ClazzUtils.setIfStringIsEmpty(commonEventVerifyDTO);
|
LoginUserInfoVO loginUserInfoVO = this.getLoginUserInfo();
|
commonEventVerifyDTO.setUserId(loginUserInfoVO.getUserId());
|
commonEventVerifyDTO.setUserName(loginUserInfoVO.getNickName());
|
return gridService.verifyEvent(commonEventVerifyDTO);
|
}
|
|
/**
|
* 直接上报社区
|
*
|
* @param commonEventDirectReportDTO
|
* 上报社区传递对象
|
* @return 上报结果
|
*/
|
@PostMapping("/reportDirect")
|
@ApiOperation(value = "直接上报社区", response = R.class)
|
R reportDirect(@Validated @RequestBody CommonEventDirectReportDTO commonEventDirectReportDTO) {
|
LoginUserInfoVO loginUserInfoVO = getLoginUserInfo();
|
ClazzUtils.setIfStringIsEmpty(commonEventDirectReportDTO);
|
commonEventDirectReportDTO.setUserId(loginUserInfoVO.getUserId());
|
commonEventDirectReportDTO.setUserName(loginUserInfoVO.getNickName());
|
commonEventDirectReportDTO.setCommunityId(loginUserInfoVO.getCommunityId());
|
return gridService.reportDirect(commonEventDirectReportDTO);
|
}
|
|
}
|