package com.example.jz.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.api.ApiController; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.example.jz.dao.GroupDao; import com.example.jz.dao.GroupUserDao; import com.example.jz.dao.MessageDao; import com.example.jz.dao.ReportDao; import com.example.jz.modle.R; import com.example.jz.modle.dto.AddReportDto; import com.example.jz.modle.dto.CauseDto; import com.example.jz.modle.dto.ReportParamDto; import com.example.jz.modle.entity.Cause; import com.example.jz.modle.entity.GroupUser; import com.example.jz.modle.vo.NewCauseVo; import com.example.jz.modle.vo.ReportListVo; import com.example.jz.service.CauseService; import com.example.jz.service.GroupService; import com.example.jz.service.ReportService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiResponse; import lombok.SneakyThrows; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import java.util.List; /** * 案件表(Cause)表控制层 * * @author makejava * @since 2022-07-13 11:52:57 */ @RestController @RequestMapping("cause") @Api(tags = "案件区-案件录入") public class CauseController extends ApiController { /** * 服务对象 */ @Resource private CauseService causeService; private ReportService reportService; @Autowired public void setReportService(ReportService reportService) { this.reportService = reportService; } @Autowired public void setCauseService(CauseService causeService) { this.causeService = causeService; } @ApiOperation(httpMethod = "POST", value = "案件台-案件录入-添加案件") @PostMapping("/addCause") @ApiResponse(message = "执行成功", code = 200) public R addCause(@RequestBody @Validated CauseDto causeDto) { int count = causeService.count(new LambdaQueryWrapper().eq(Cause::getName, causeDto.getName())); if(count>0){ return R.failed("该案件名已存在,请重新输入"); } causeService.addCause(causeDto); return R.ok(); } @ApiOperation(httpMethod = "PUT", value = "案件台-案件录入-修改案件") @PutMapping("/updateCause") @ApiResponse(message = "执行成功", code = 200) public R updateCause(@RequestBody @Validated CauseDto causeDto, Integer id) { return R.ok(causeService.updateCause(causeDto, id)); } @ApiOperation(httpMethod = "GET", value = "案件台-案件录入-案件录入列表") @GetMapping("/getCauseList") @ApiResponse(message = "执行成功", code = 200) public R getCauseList(String cause, Integer status, Integer size, Integer current) { return R.ok(causeService.getCauserListByCondition(cause, status, size, current)); } @GetMapping("/getVxCauseList") @ApiOperation(httpMethod = "GET", value = "微信找案件") public R> getVxCauseList(@RequestParam String phone){ List res = causeService.getVxCauseList(phone); return R.ok(res); } @ApiOperation(httpMethod = "GET", value = "案件台-案件录入-案件录入列表") @GetMapping("/getCause") @ApiResponse(message = "执行成功", code = 200) public R getCause(String cause, Integer status, Integer size, Integer current,Integer id) { return R.ok(causeService.getCauserListByCondition(cause, status, size, current,id)); } @ApiOperation(httpMethod = "GET", value = "案件台-案件录入-负责人查询") @GetMapping("/getManagerList") @ApiResponse(message = "执行成功", code = 200) public R getManagerList() { return R.ok(causeService.getManagerList()); } @ApiOperation(httpMethod = "GET", value = "案件台-案件录入-获取案件报案人员") @GetMapping("/getReporterList") @ApiResponse(message = "执行成功", code = 200) public R getReporterList(Integer causeId) { return R.ok(causeService.getReporterList(causeId)); } @ApiOperation(httpMethod = "GET", value = "案件台-案件录入-获取案件群公告") @GetMapping("/getGroupAnnouncement") @ApiResponse(message = "执行成功", code = 200) public R getGroupAnnouncement(Integer groupId) { return R.ok(causeService.getGroupAnnouncement(groupId)); } @ApiOperation(httpMethod = "DELETE", value = "案件台-案件录入-案件删除") @DeleteMapping("/deleteCause") @ApiResponse(message = "执行成功", code = 200) public R deleteCause(@RequestParam(value = "id") Integer id) { causeService.deleteCause(id); return R.ok(); } @ApiOperation(httpMethod = "POST", value = "案件台-案件录入-案件导入") @PostMapping("/upload") @ApiResponse(message = "执行成功", code = 200) @SneakyThrows public R upload(@RequestParam(value = "multipartFile") MultipartFile multipartFile) { causeService.loadFile(multipartFile); return R.ok(); } @ApiOperation(httpMethod = "POST", value = "案件台-案件录入-报案人员-报案人元导入") @PostMapping("/reporterUpload") @ApiResponse(message = "执行成功", code = 200) @SneakyThrows public R uploadReporter(@RequestParam(value = "multipartFile") MultipartFile multipartFile,Integer causeId) { causeService.loadFileReport(multipartFile,causeId); return R.ok(); } @ApiOperation(httpMethod = "GET", value = "根据群组id查询案件分页") @GetMapping("/getAllReportList") @ApiResponse(message = "执行成功", code = 200) public R> get(Page page, ReportParamDto reportParamDto, Integer causeId) { return R.ok(reportService.getPageByGroupId(page, reportParamDto, causeId)); } @ApiOperation(httpMethod = "POST", value = "添加人员") @PostMapping("/addReporter") @ApiResponse(message = "执行成功", code = 200) public R get(@RequestBody AddReportDto addReportDto) { return R.ok(causeService.addReportPeople(addReportDto)); } @ApiOperation(httpMethod = "GET", value = "获取案件的id和名称列表") @GetMapping("/getCauseIdAndName") @ApiResponse(message = "执行成功", code = 200) public R getCauseIdAndName() { return R.ok(causeService.getCauseIdAndName()); } }