package com.panzhihua.service_community.api;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.panzhihua.common.controller.BaseController;
|
import com.panzhihua.common.enums.SanShuoEventStatusEnum;
|
import com.panzhihua.common.model.dtos.community.sanshuo.IndexDateDTO;
|
import com.panzhihua.common.model.vos.LoginUserInfoVO;
|
import com.panzhihua.common.model.vos.R;
|
import com.panzhihua.common.model.vos.sanshuo.ComEventArchiveVO;
|
import com.panzhihua.common.model.vos.sanshuo.ComEventConciliationVO;
|
import com.panzhihua.common.model.vos.sanshuo.ComEventVO;
|
import com.panzhihua.common.model.vos.sanshuo.ComSanRequestVO;
|
import com.panzhihua.common.service.user.UserService;
|
import com.panzhihua.common.utlis.CopyUtil;
|
import com.panzhihua.common.utlis.StringUtils;
|
import com.panzhihua.service_community.entity.ComEvent;
|
import com.panzhihua.service_community.service.ComSanShuoExpertService;
|
import com.panzhihua.service_community.service.IComEventService;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiImplicitParams;
|
import io.swagger.annotations.ApiOperation;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.validation.BindingResult;
|
import org.springframework.web.bind.annotation.*;
|
import springfox.documentation.annotations.ApiIgnore;
|
|
import javax.annotation.Resource;
|
import javax.validation.Valid;
|
import java.util.HashMap;
|
import java.util.List;
|
|
import static java.util.Objects.isNull;
|
import static java.util.Objects.nonNull;
|
|
/**
|
* ClassName ComEventController
|
* Description 三说会堂事件表控制层
|
*
|
* @author manailin
|
* @date 2022-09-07 11:23:51
|
*/
|
@Slf4j
|
@Api(tags = {"三说会堂事件表控制层"})
|
@RestController
|
@RequestMapping("/sanshuo/comEvent")
|
public class ComSanShuoEventController extends BaseController {
|
|
@Resource
|
private IComEventService comEventService;
|
@Resource
|
private UserService userService;
|
@Resource
|
private ComSanShuoExpertService comSanShuoExpertService;
|
|
|
/**
|
* description 新增三说会堂事件表
|
*
|
* @param comEventVO 对象
|
* @return R 新增结果对象
|
* @author manailin
|
* @date 2022-09-07 11:23:51
|
*/
|
@ApiOperation("新增三说会堂事件表")
|
@PostMapping("/add")
|
public R insertComEvent(@RequestBody @Valid ComSanRequestVO comEventVO, @ApiIgnore BindingResult results) {
|
if (results.hasErrors()) {
|
return R.fail(results.getFieldError().getDefaultMessage());
|
}
|
ComEvent comEvent = CopyUtil.copyProperties(comEventVO, ComEvent.class);
|
LoginUserInfoVO loginUser = getLoginUserInfo();
|
comEvent.setRequestUserId(loginUser.getUserId());
|
comEvent.setRequestUserName(loginUser.getName());
|
comEvent.setRequestUserTel(loginUser.getPhone());
|
if (isNull(comEventVO.getAppId())){
|
comEvent.setAppId(loginUser.getAppId());
|
}
|
return comEventService.insertComEvent(comEvent);
|
}
|
|
/**
|
* description 更新三说会堂事件表
|
*
|
* @param comEventVO 对象
|
* @return R 修改结果对象
|
* @author manailin
|
* @date 2022-09-07 11:23:51
|
*/
|
@ApiOperation("更新三说会堂事件表")
|
@PostMapping("/update")
|
public R updateComEvent(@RequestBody @Valid ComEventVO comEventVO, @ApiIgnore BindingResult results) {
|
if (results.hasErrors()) {
|
return R.fail(results.getFieldError().getDefaultMessage());
|
}
|
ComEvent comEvent = CopyUtil.copyProperties(comEventVO, ComEvent.class);
|
return comEventService.updateComEvent(comEvent);
|
}
|
|
/**
|
* description 根据ID获取三说会堂事件表信息
|
*
|
* @param id 主键id
|
* @return R<ComEvent> comEvent 对象
|
* @author manailin
|
* @date 2022-09-07 11:23:51
|
*/
|
@ApiOperation("根据ID获取三说会堂事件表信息")
|
@GetMapping("/get/{id}")
|
public R<ComEventVO> get(@PathVariable(value = "id") String id) {
|
if (StringUtils.isEmpty(id)) {
|
throw new RuntimeException("参数不能为空");
|
}
|
return R.ok(CopyUtil.copyProperties(comEventService.getById(id), ComEventVO.class));
|
}
|
|
/**
|
* description 根据ID获取三说会堂事件表信息
|
*
|
* @param id 主键id
|
* @return R<ComEvent> comEvent 对象
|
* @author manailin
|
* @date 2022-09-07 11:23:51
|
*/
|
@ApiOperation("根据ID获取三说会堂事件详情信息,返回事件信息和图片信息")
|
@GetMapping("/detail/{id}")
|
public R<HashMap> detail(@PathVariable(value = "id") String id) {
|
if (StringUtils.isEmpty(id)) {
|
throw new RuntimeException("参数不能为空");
|
}
|
return R.ok(comEventService.detail(id));
|
}
|
|
/**
|
* description 查询返回列表数据
|
*
|
* @param comEventVO 三说会堂事件表对象
|
* @return R<List < ComEventVO>> comEventVO对象列表
|
* @author manailin
|
* @date 2022-09-07 11:23:51
|
*/
|
@ApiOperation("查询返回列表数据")
|
@PostMapping("/list")
|
public R<List<ComEventVO>> listByComEvent(@RequestBody ComEventVO comEventVO) {
|
ComEvent comEvent = CopyUtil.copyProperties(comEventVO, ComEvent.class);
|
return R.ok(CopyUtil.beanCopyList(comEventService.listByComEvent(comEvent,this.getLoginUserInfo()), ComEventVO.class));
|
}
|
|
/**
|
* description page 三说会堂事件表分页列表数据
|
* params [pageNo, pageSize]
|
*
|
* @param comEventVO 对象
|
* @param pageNo 当前页码
|
* @param pageSize 每页显示数量
|
* @return PageResult<List < ComEvent>> 三说会堂事件表分页列表数据
|
* @author manailin
|
* @date 2022-09-07 11:23:51
|
*/
|
@ApiOperation(value = "三说会堂事件表分页列表数据", notes = "三说会堂事件表分页列表数据")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "pageNo", value = "当前页码", required = true, dataType = "Long", paramType = "query"),
|
@ApiImplicitParam(name = "pageSize", value = "每页显示数量", required = true, dataType = "Long", paramType = "query")
|
})
|
@PostMapping("/page")
|
public R page(@RequestBody ComEventVO comEventVO, Long pageNo, Long pageSize) {
|
Page pagination = new Page(pageNo, pageSize);
|
ComEvent comEvent=new ComEvent();
|
BeanUtils.copyProperties(comEventVO, comEvent);
|
LoginUserInfoVO loginUserInfo = getLoginUserInfo();
|
if (isNull(comEventVO.getAppId())){
|
// String appId = userService.detailUser(loginUserInfo.getUserId()).getData().getAppId();
|
String appId = getAppId();
|
comEvent.setAppId(appId);
|
}
|
comEvent.setCommunityId(loginUserInfo.getCommunityId());
|
LoginUserInfoVO loginUserInfo1 = this.getLoginUserInfo();
|
loginUserInfo1.setType(userService.detailUser(this.getUserId()).getData().getType());
|
// loginUserInfo1.setType(loginUserInfo.getType());
|
return comEventService.pageByComEvent(comEvent, pagination,loginUserInfo1);
|
}
|
|
|
/**
|
* description 根据ID删除三说会堂事件表
|
*
|
* @param id 主键id
|
* @return R 删除结果
|
* @author manailin
|
* @date 2022-09-07 11:23:51
|
*/
|
@ApiOperation("删除三说会堂事件")
|
@ApiImplicitParams(
|
@ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Long")
|
)
|
@DeleteMapping("/remove/{id}")
|
public R remove(@PathVariable Long id) {
|
ComEvent comEvent = new ComEvent();
|
comEvent.setId(id);
|
comEvent.setEventProcessStatus(9);
|
return comEventService.updateComEvent(comEvent);
|
}
|
|
/**
|
* description 修改三说会堂事件表状态
|
*
|
* @param id 主键id
|
* @return Result 修改成功和失败
|
* @author manailin
|
* @date 2022-09-07 11:23:51
|
*/
|
@ApiOperation("修改是否有效状态")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Long"),
|
@ApiImplicitParam(name = "enabled", value = "是否启用", required = true, dataType = "Boolean")
|
})
|
@PutMapping("/updateEnabled")
|
public R updateEnabled(@RequestParam("id") Long id, @RequestParam("enabled") Boolean enabled) {
|
return comEventService.updateEnabled(id, enabled);
|
}
|
|
/**
|
* description 修改三说会堂事件表状态
|
*
|
* @param id 主键id
|
* @return Result 修改成功和失败
|
* @author manailin
|
* @date 2022-09-07 11:23:51
|
*/
|
@ApiOperation("取消申请")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Long"),
|
})
|
@PutMapping("/cancelRequest")
|
public R cancelRequest(@RequestParam("id") Long id) {
|
return comEventService.cancelRequest(id);
|
}
|
|
|
/**
|
* description 修改三说会堂事件表状态
|
*
|
* @param id 主键id
|
* @return Result 修改成功和失败
|
* @author manailin
|
* @date 2022-09-07 11:23:51
|
*/
|
@ApiOperation("专家受理")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "id", value = "事件ID", required = true, dataType = "Long"),
|
@ApiImplicitParam(name = "specterId", value = "专家ID", required = true, dataType = "Long"),
|
})
|
@PutMapping("/accept/Request")
|
public R acceptRequest(@RequestParam("id") Long id, @RequestParam("specterId") Long specterId) {
|
return comEventService.acceptRequest(id, specterId);
|
}
|
|
/**
|
* description 修改三说会堂事件表状态
|
*
|
* @param id 主键id
|
* @return Result 修改成功和失败
|
* @author manailin
|
* @date 2022-09-07 11:23:51
|
*/
|
@ApiOperation("专家不受理,转其他专家处理")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Long"),
|
})
|
@PutMapping("/reject/Request")
|
public R rejectRequest(@RequestParam("id") Long id) {
|
ComEvent comEvent = comEventService.getById(id);
|
comEvent.setEventProcessStatus(SanShuoEventStatusEnum.VALID.getCode());
|
comEvent.setSpecialistName("待分配");
|
comEvent.setSpecialistId(null);
|
comEventService.updateEventStransferRecord(id);
|
return R.ok(comEventService.updateById(comEvent));
|
}
|
|
/**
|
* description 修改三说会堂事件表状态
|
*
|
* @param id 主键id
|
* @return Result 修改成功和失败
|
* @author manailin
|
* @date 2022-09-07 11:23:51
|
*/
|
@ApiOperation("重新指定专家处理")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Long"),
|
@ApiImplicitParam(name = "specialistId", value = "专家ID", required = true, dataType = "Long")
|
})
|
@PutMapping("/reappoint/Request")
|
public R reappoint(Long id, Long specialistId) {
|
return comEventService.reappoint(id, specialistId);
|
}
|
|
/**
|
* description 专家调解处理
|
*
|
* @param comEventConciliationVO 主键id
|
* @return Result 修改成功和失败
|
* @author manailin
|
* @date 2022-09-07 11:23:51
|
*/
|
@ApiOperation("专家调解处理")
|
@PutMapping("/conciliation/Request")
|
public R conciliationRequest(@RequestBody ComEventConciliationVO comEventConciliationVO) {
|
return comEventService.conciliationEvent(comEventConciliationVO, getLoginUserInfo());
|
}
|
|
/**
|
* description 专家归档
|
*
|
* @param comEventArchiveVO 归档对象
|
* @return Result 修改成功和失败
|
* @author manailin
|
* @date 2022-09-07 11:23:51
|
*/
|
@ApiOperation("事件专家归档")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Long"),
|
@ApiImplicitParam(name = "result", value = "归档结论", required = true, dataType = "String"),
|
})
|
@PutMapping("/archive/Request")
|
public R archiveRequest(@RequestBody ComEventArchiveVO comEventArchiveVO) {
|
return comEventService.archiveRequest(comEventArchiveVO, getLoginUserInfo());
|
}
|
|
/**
|
* description 事件各种状态(处理状态1待处理2待验证3专家已受理4专家未受理,拒绝5调解中6已结案归档7调解取消8 已删除)数据统计
|
*
|
* @return Result 修改成功和失败
|
* @author manailin
|
* @date 2022-09-07 11:23:51
|
*/
|
@ApiOperation("事件各种状态(处理状态1待处理2待验证3专家已受理4专家未受理,拒绝5调解中6已结案归档7调解取消8 已删除)数据统计")
|
@GetMapping("/status/calculate")
|
public R calculate(@RequestParam(value = "level",required = false)Integer level,@RequestParam(value = "id",required = false)Long id) {
|
LoginUserInfoVO loginUserInfo = getLoginUserInfo();
|
loginUserInfo.setType(userService.detailUser(loginUserInfo.getUserId()).getData().getType());
|
return comEventService.calculate(loginUserInfo,level,id);
|
}
|
|
/**
|
* 大屏事件统计
|
*
|
* @param indexDataDTO 查询参数
|
*/
|
@PostMapping("/indexData")
|
public R indexData(@RequestBody IndexDateDTO indexDataDTO) {
|
return comEventService.indexData(indexDataDTO);
|
}
|
|
/**
|
* 大屏事件统计(事件和专家各级别占比)
|
*/
|
@GetMapping("/indexData/event")
|
public R eventIndexData(@RequestParam Integer type) {
|
return comEventService.eventIndexData(type);
|
}
|
|
|
/**
|
*可选街道列表
|
* */
|
@GetMapping("/streetList")
|
public R getStreetId(){
|
return comEventService.listStreetScreen();
|
}
|
|
/**
|
*可选社区列表
|
* */
|
@GetMapping("/communityList")
|
public R getCommunityList(){
|
return comEventService.listCommunityScreen();
|
}
|
|
/**
|
* 获取事件范围筛选列表
|
* */
|
@GetMapping("/rangeList")
|
public R rangeList(){
|
return comSanShuoExpertService.rangeList();
|
}
|
|
}
|