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.dto.MediatorDTO; import cn.huge.module.cases.domain.po.CaseFeedback; import cn.huge.module.cases.service.CaseFeedbackService; import cn.huge.module.cases.service.CaseMediatorService; 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; /** * @title: 纠纷办理反馈j信息表接口api-web端 * @description: 纠纷办理反馈j信息表接口api-web端 * @company: hugeinfo * @author: wangwh * @time: 2024-08-30 17:35:02 * @version: 1.0.0 */ @Slf4j @RestController @RequestMapping("/api/web/caseFeedback") public class CaseFeedbackWebController { @Autowired(required = false) private HttpServletRequest request; @Autowired private CaseFeedbackService service; @Autowired private CaseMediatorService caseMediatorService; /** * 获取请求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 caseTaskId = request.getParameter("caseTaskId"); if (StringUtils.isNotBlank(caseTaskId)){ terms.put("caseTaskId", caseTaskId); } // 经办类型,1:承办组织,2:配合组织 String handleType = request.getParameter("handleType"); if (StringUtils.isNotBlank(handleType)){ terms.put("handleType", handleType); } // 经办组织编号 String handleUnitId = request.getParameter("handleUnitId"); if (StringUtils.isNotBlank(handleUnitId)){ terms.put("handleUnitId", handleUnitId); } // 经办组织名称 String handleUnitName = request.getParameter("handleUnitName"); if (StringUtils.isNotBlank(handleUnitName)){ terms.put("handleUnitName", handleUnitName); } // 操作人编号 String handleUserId = request.getParameter("handleUserId"); if (StringUtils.isNotBlank(handleUserId)){ terms.put("handleUserId", handleUserId); } // 经办人名称 String handleUserName = request.getParameter("handleUserName"); if (StringUtils.isNotBlank(handleUserName)){ terms.put("handleUserName", handleUserName); } // 办理意见 String handleContent = request.getParameter("handleContent"); if (StringUtils.isNotBlank(handleContent)){ terms.put("handleContent", handleContent); } // 删除状态,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/CaseFeedback/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/CaseFeedback/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 caseFeedbackPage = service.pageQuery(pageRequest, terms); return ReturnSucUtils.getRepInfo( "处理成功", caseFeedbackPage); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } /** * 根据编号查询单个 * @url {ctx}/api/web/CaseFeedback/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/CaseFeedback/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/CaseFeedback/getFeedbackInfo * @param caseId 纠纷编号 * @return Object */ @GetMapping("/getFeedbackInfo") public Object getFeedbackInfo(@RequestParam(value = "caseId") String caseId, @RequestParam(value = "caseTaskId") String caseTaskId, @CurrentUser String userId) { try { return ReturnSucUtils.getRepInfo(service.getFeedbackInfo(caseId, caseTaskId, userId)); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } /** * 获取办理反馈记录 * @url {ctx}/api/web/CaseFeedback/listFeedback * @param id 实体对象 * @return Object */ @GetMapping("/listFeedback") public Object listFeedback(@RequestParam(value = "id") String id) { try { return ReturnSucUtils.getRepInfo(service.listFeedback(id)); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } /** * 添加办理反馈 * @url {ctx}/api/web/CaseFeedback/saveFeedback * @param caseFeedback 实体对象 * @return Object */ @PostMapping("/saveFeedback") public Object saveFeedback(@RequestBody CaseFeedback caseFeedback, @CurrentUser String userId) { try { service.saveFeedback(caseFeedback, userId); return ReturnSucUtils.getRepInfo(); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } /** * 添加办理反馈 * @url {ctx}/api/web/CaseFeedback/updateFeedback * @param caseFeedback 实体对象 * @return Object */ @PostMapping("/updateFeedback") public Object updateFeedback(@RequestBody CaseFeedback caseFeedback, @CurrentUser String userId) { try { service.updateFeedback(caseFeedback, userId); return ReturnSucUtils.getRepInfo(); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } /** * 删除协助调解员 * @url {ctx}/api/web/caseFeedback/removeAssistMeditor * @param caseId * @param mediatorId * @return Object */ @GetMapping("/removeAssistMeditor") public Object removeAssistMeditor(@RequestParam(value = "caseId") String caseId, @RequestParam(value = "mediatorId") String mediatorId) { try { caseMediatorService.removeAssistMeditor(caseId, mediatorId); return ReturnSucUtils.getRepInfo(); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } /** * 添加协助调解员 * @url {ctx}/api/web/caseFeedback/saveAssistMediator * @param mediatorDTOList * @param caseId * @return Object */ @PostMapping("/saveAssistMediator") public Object saveAssistMediator(@RequestBody List mediatorDTOList, @RequestParam(value = "caseId") String caseId) { try { caseMediatorService.saveAssistMediator(mediatorDTOList, caseId); return ReturnSucUtils.getRepInfo(); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } }