package com.panzhihua.applets.api; import com.panzhihua.common.controller.BaseController; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.sanshuo.*; import com.panzhihua.common.service.community.CommunitySanShuoService; import com.panzhihua.common.utlis.CopyUtil; import com.panzhihua.common.utlis.StringUtils; 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 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 CommunitySanShuoService comEventService; /** * description 新增三说会堂事件表 * * @param comSanRequestVO 对象 * @return R 新增结果对象 * @author manailin * @date 2022-09-07 11:23:51 */ @ApiOperation("新增三说会堂事件表") @PostMapping("/add") public R insertComEvent(@RequestBody @Valid ComSanRequestVO comSanRequestVO, @ApiIgnore BindingResult results) { if (results.hasErrors()) { return R.fail(results.getFieldError().getDefaultMessage()); } return comEventService.insertComEvent(comSanRequestVO); } /** * description 根据ID获取三说会堂事件表信息 * * @param id 主键id * @return R comEvent 对象 * @author manailin * @date 2022-09-07 11:23:51 */ @ApiOperation("根据ID获取三说会堂事件详情信息,返回事件信息和图片信息") @GetMapping("/detail/{id}") public R detail(@PathVariable(value = "id") String id) { if (StringUtils.isEmpty(id)) { throw new RuntimeException("参数不能为空"); } return comEventService.detail(id); } /** * description page 三说会堂事件表分页列表数据 * * @param comEventPageRequestVO 对象 * @return PageResult> 三说会堂事件表分页列表数据 * @author manailin * @date 2022-09-07 11:23:51 */ @ApiOperation(value = "三说会堂事件表分页列表数据", notes = "三说会堂事件表分页列表数据") @PostMapping("/page") public R page(@RequestBody ComEventPageRequestVO comEventPageRequestVO) { log.info("================appId="+comEventPageRequestVO); ComEventVO comEventVO = new ComEventVO(); BeanUtils.copyProperties(comEventPageRequestVO,comEventVO); comEventPageRequestVO.setCreateBy(getUserId()); if (nonNull(comEventPageRequestVO.getAppId())){ comEventVO.setAppId(comEventPageRequestVO.getAppId()); } return comEventService.page(comEventVO, comEventVO.getPageNo(), comEventVO.getPageSize()); } /** * 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( Long id, 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) { return comEventService.rejectRequest(id); } /** * 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.conciliationRequest(comEventConciliationVO); } /** * 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); } }