package cn.huge.module.cases.controller.web; import cn.huge.base.common.utils.ReturnFailUtils; import cn.huge.base.common.utils.ReturnSucUtils; import cn.huge.base.config.CurrentUser; import cn.huge.module.cases.domain.po.CaseSupervise; import cn.huge.module.cases.service.CaseSuperviseService; import com.google.common.collect.Maps; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Sort; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import java.util.List; import java.util.Map; import java.util.stream.Collectors; import java.util.stream.Stream; /** * @title: 纠纷督办信息表接口api-web端 * @description: 纠纷督办信息表接口api-web端 * @company: hugeinfo * @author: wangwh * @time: 2024-09-03 10:53:01 * @version: 1.0.0 */ @Slf4j @RestController @RequestMapping("/api/web/caseSupervise") public class CaseSuperviseWebController { @Autowired(required = false) private HttpServletRequest request; @Autowired private CaseSuperviseService service; /** * 获取请求URL参数 * @return Map */ private Map getParameter(){ Map terms = Maps.newHashMap(); // 主键编号 String id = request.getParameter("id"); if (StringUtils.isNotBlank(id)){ terms.put("id", id); } // 纠纷编号 String caseId = request.getParameter("caseId"); if (StringUtils.isNotBlank(caseId)){ terms.put("caseId", caseId); } // 督办意见 String supContent = request.getParameter("supContent"); if (StringUtils.isNotBlank(supContent)){ terms.put("supContent", supContent); } // 督办人编号 String supUserId = request.getParameter("supUserId"); if (StringUtils.isNotBlank(supUserId)){ terms.put("supUserId", supUserId); } // 督办人名称 String supUserName = request.getParameter("supUserName"); if (StringUtils.isNotBlank(supUserName)){ terms.put("supUserName", supUserName); } // 督办时间 String supTime = request.getParameter("supTime"); if (StringUtils.isNotBlank(supTime)){ terms.put("supTime", supTime); } // 被督办组织编号 String quiltUnitId = request.getParameter("quiltUnitId"); if (StringUtils.isNotBlank(quiltUnitId)){ terms.put("quiltUnitId", quiltUnitId); } // 被督办组织名称 String quiltUnitName = request.getParameter("quiltUnitName"); if (StringUtils.isNotBlank(quiltUnitName)){ terms.put("quiltUnitName", quiltUnitName); } // 督办状态,0:未回复,1:已回复 String supStatus = request.getParameter("supStatus"); if (StringUtils.isNotBlank(supStatus)){ terms.put("supStatus", supStatus); } // 回复期限,单位:小时 String replyTerm = request.getParameter("replyTerm"); if (StringUtils.isNotBlank(replyTerm)){ terms.put("replyTerm", replyTerm); } // 回复内容 String replyContent = request.getParameter("replyContent"); if (StringUtils.isNotBlank(replyContent)){ terms.put("replyContent", replyContent); } // 回复人编号 String replyUserId = request.getParameter("replyUserId"); if (StringUtils.isNotBlank(replyUserId)){ terms.put("replyUserId", replyUserId); } // 回复人名称 String replyUserName = request.getParameter("replyUserName"); if (StringUtils.isNotBlank(replyUserName)){ terms.put("replyUserName", replyUserName); } // 回复时间 String replyTime = request.getParameter("replyTime"); if (StringUtils.isNotBlank(replyTime)){ terms.put("replyTime", replyTime); } // 删除状态,0:未删除,1:已删除 String deleteStatus = request.getParameter("deleteStatus"); if (StringUtils.isNotBlank(deleteStatus)){ terms.put("deleteStatus", deleteStatus); } // 顾客编号 String custId = request.getParameter("custId"); if (StringUtils.isNotBlank(custId)){ terms.put("custId", custId); } // 创建时间区间 String createStart = request.getParameter("createStart"); String createEnd = request.getParameter("createEnd"); if(StringUtils.isNotBlank(createStart) && StringUtils.isNotBlank(createEnd)) { terms.put("createStart", createStart); terms.put("createEnd", createEnd); } // 更新时间区间 String updateStart = request.getParameter("updateStart"); String updateEnd = request.getParameter("updateEnd"); if(StringUtils.isNotBlank(updateStart) && StringUtils.isNotBlank(updateEnd)) { terms.put("updateStart", updateStart); terms.put("updateEnd", updateEnd); } return terms; } /** * 条件查询多个 * @url {ctx}/api/web/caseSupervise/listQuery * @return Object */ @GetMapping("/listQuery") public Object listQuery() { try { Map terms = getParameter(); return ReturnSucUtils.getRepInfo(service.listTerms(terms)); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } /** * 条件分页查询 * @url {ctx}/api/web/caseSupervise/pageQuery * @param page 页码 * @param size 每页数量 * @return Object */ @GetMapping("/pageQuery") public Object pageQuery(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size) { try { Map terms = getParameter(); Sort sort = Sort.by(Sort.Direction.DESC, "create_time"); PageRequest pageRequest = PageRequest.of(page-1, size, sort); Page caseSupervisePage = service.pageQuery(pageRequest, terms); return ReturnSucUtils.getRepInfo( "处理成功", caseSupervisePage); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } /** * 根据督办编号查询督办信息 * @url {ctx}/api/web/caseSupervise/getById * @param id 主键编号 * @return Object */ @GetMapping("/getById") public Object getById(@RequestParam(value = "id") String id) { try { return ReturnSucUtils.getRepInfo(service.getById(id)); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } /** * 根据主键单个 * @url {ctx}/api/web/caseSupervise/deleteById * @param id 主键编号 * @return Object */ @GetMapping("/deleteById") public Object deleteById(@RequestParam(value = "id") String id) { try { service.removeById(id); return ReturnSucUtils.getRepInfo(); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } /** * 新增或更新对象 * @url {ctx}/api/web/caseSupervise/saveCaseSupervise * @param caseSupervise 实体对象 * @return Object */ @PostMapping("/saveCaseSupervise") public Object saveCaseSupervise(@RequestBody CaseSupervise caseSupervise) { try { service.saveCaseSupervise(caseSupervise); return ReturnSucUtils.getRepInfo(); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } /** * 添加督办 * @url {ctx}/api/web/caseSupervise/addCaseSupervise * @param caseSupervise 实体对象 * @return Object */ @PostMapping("/addCaseSupervise") public Object addCaseSupervise(@CurrentUser String userId, @RequestBody CaseSupervise caseSupervise) { try { service.addCaseSupervise(caseSupervise, userId); return ReturnSucUtils.getRepInfo(); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } /** * 批量添加督办 * @url {ctx}/api/web/caseSupervise/addBatchCaseSupervise * @param caseSuperviseList * @return Object */ @PostMapping("/addBatchCaseSupervise") public Object addBatchCaseSupervise(@CurrentUser String userId, @RequestBody List caseSuperviseList) { try { service.addBatchCaseSupervise(caseSuperviseList, userId); return ReturnSucUtils.getRepInfo(); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } /** * 回复督办 * @url {ctx}/api/web/caseSupervise/replyCaseSupervise * @param caseSupervise 实体对象 * @return Object */ @PostMapping("/replyCaseSupervise") public Object replyCaseSupervise(@CurrentUser String userId, @RequestBody CaseSupervise caseSupervise) { try { service.replyCaseSupervise(caseSupervise, userId); return ReturnSucUtils.getRepInfo(); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } /** * 督办信息分页查询 * @url {ctx}/api/web/caseSupervise/pageCaseSupervise * @param page 页码 * @param size 每页数量 * @param caseId 主键编号 * @param type 查询类型 0:与案件相关信息 ,1:与案件和组织相关信息 * @return Object */ @GetMapping("/pageCaseSupervise") public Object pageCaseSupervise(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size, @RequestParam(value = "caseId") String caseId, @RequestParam(value = "type") int type, @CurrentUser String userId) { try { // 督办状态,0:未回复,1:已回复 Integer supStatus = 0; if(StringUtils.isNotBlank(request.getParameter("supStatus"))){ supStatus = Integer.valueOf(request.getParameter("supStatus")); } Sort sort = Sort.by(Sort.Direction.DESC, "create_time"); PageRequest pageRequest = PageRequest.of(page-1, size, sort); return ReturnSucUtils.getRepInfo(service.pageCaseSupervise(caseId, pageRequest, supStatus, userId, type)); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } }