package cn.huge.module.draft.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.RegisterSaveDTO; import cn.huge.module.draft.domain.dto.DraftRegisterSaveDTO; import cn.huge.module.draft.domain.po.CasedraftInfo; import cn.huge.module.draft.service.CasedraftInfoService; 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.Map; import java.util.stream.Collectors; import java.util.stream.Stream; /** * @title: 纠纷信息草稿表接口api-web端 * @description: 纠纷信息草稿表接口api-web端 * @company: hugeinfo * @author: wangwh * @time: 2024-08-27 10:48:18 * @version: 1.0.0 */ @Slf4j @RestController @RequestMapping("/api/web/casedraftInfo") public class CasedraftInfoWebController { @Autowired(required = false) private HttpServletRequest request; @Autowired private CasedraftInfoService 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 caseTitle = request.getParameter("caseTitle"); if (StringUtils.isNotBlank(caseTitle)){ terms.put("caseTitle", caseTitle); } // 事项编号 String caseRef = request.getParameter("caseRef"); if (StringUtils.isNotBlank(caseRef)){ terms.put("caseRef", caseRef); } // 事项等级 String caseLevel = request.getParameter("caseLevel"); if (StringUtils.isNotBlank(caseLevel)){ terms.put("caseLevel", caseLevel); } // 来访时间 String visitTime = request.getParameter("visitTime"); if (StringUtils.isNotBlank(visitTime)){ terms.put("visitTime", visitTime); } // 来访人数 String visitPeopleNum = request.getParameter("visitPeopleNum"); if (StringUtils.isNotBlank(visitPeopleNum)){ terms.put("visitPeopleNum", visitPeopleNum); } // 调解类型 String mediType = request.getParameter("mediType"); if (StringUtils.isNotBlank(mediType)){ terms.put("mediType", mediType); } // 调解类型名称 String mediTypeName = request.getParameter("mediTypeName"); if (StringUtils.isNotBlank(mediTypeName)){ terms.put("mediTypeName", mediTypeName); } // 纠纷一级类型 String caseTypeFirst = request.getParameter("caseTypeFirst"); if (StringUtils.isNotBlank(caseTypeFirst)){ terms.put("caseTypeFirst", caseTypeFirst); } // 纠纷一级类型名称 String caseTypeFirstName = request.getParameter("caseTypeFirstName"); if (StringUtils.isNotBlank(caseTypeFirstName)){ terms.put("caseTypeFirstName", caseTypeFirstName); } // 纠纷类型 String caseType = request.getParameter("caseType"); if (StringUtils.isNotBlank(caseType)){ terms.put("caseType", caseType); } // 纠纷类型名称 String caseTypeName = request.getParameter("caseTypeName"); if (StringUtils.isNotBlank(caseTypeName)){ terms.put("caseTypeName", caseTypeName); } // 纠纷发生时间 String occurTime = request.getParameter("occurTime"); if (StringUtils.isNotBlank(occurTime)){ terms.put("occurTime", occurTime); } // 纠纷发生地详细地址 String addr = request.getParameter("addr"); if (StringUtils.isNotBlank(addr)){ terms.put("addr", addr); } // 纠纷发生地经度 String lng = request.getParameter("lng"); if (StringUtils.isNotBlank(lng)){ terms.put("lng", lng); } // 纠纷发生地纬度 String lat = request.getParameter("lat"); if (StringUtils.isNotBlank(lat)){ terms.put("lat", lat); } // 纠纷发生地网格地址 String wgAddr = request.getParameter("wgAddr"); if (StringUtils.isNotBlank(wgAddr)){ terms.put("wgAddr", wgAddr); } // 纠纷发生地网格地址经度 String wgLng = request.getParameter("wgLng"); if (StringUtils.isNotBlank(wgLng)){ terms.put("wgLng", wgLng); } // 纠纷发生地网格地址纬度 String wgLat = request.getParameter("wgLat"); if (StringUtils.isNotBlank(wgLat)){ terms.put("wgLat", wgLat); } // 问题属地省 String queProv = request.getParameter("queProv"); if (StringUtils.isNotBlank(queProv)){ terms.put("queProv", queProv); } // 问题属地省名称 String queProvName = request.getParameter("queProvName"); if (StringUtils.isNotBlank(queProvName)){ terms.put("queProvName", queProvName); } // 问题属地市 String queCity = request.getParameter("queCity"); if (StringUtils.isNotBlank(queCity)){ terms.put("queCity", queCity); } // 问题属地市名称 String queCityName = request.getParameter("queCityName"); if (StringUtils.isNotBlank(queCityName)){ terms.put("queCityName", queCityName); } // 问题属地区 String queArea = request.getParameter("queArea"); if (StringUtils.isNotBlank(queArea)){ terms.put("queArea", queArea); } // 问题属地区名称 String queAreaName = request.getParameter("queAreaName"); if (StringUtils.isNotBlank(queAreaName)){ terms.put("queAreaName", queAreaName); } // 问题属地街道 String queRoad = request.getParameter("queRoad"); if (StringUtils.isNotBlank(queRoad)){ terms.put("queRoad", queRoad); } // 问题属地街道名称 String queRoadName = request.getParameter("queRoadName"); if (StringUtils.isNotBlank(queRoadName)){ terms.put("queRoadName", queRoadName); } // 问题属地社区 String queVillage = request.getParameter("queVillage"); if (StringUtils.isNotBlank(queVillage)){ terms.put("queVillage", queVillage); } // 问题属地社区名称 String queVillageName = request.getParameter("queVillageName"); if (StringUtils.isNotBlank(queVillageName)){ terms.put("queVillageName", queVillageName); } // 涉及人数 String peopleNum = request.getParameter("peopleNum"); if (StringUtils.isNotBlank(peopleNum)){ terms.put("peopleNum", peopleNum); } // 涉及金额 String amount = request.getParameter("amount"); if (StringUtils.isNotBlank(amount)){ terms.put("amount", amount); } // 涉及人群 String crowd = request.getParameter("crowd"); if (StringUtils.isNotBlank(crowd)){ terms.put("crowd", crowd); } // 涉及人群名称 String crowdName = request.getParameter("crowdName"); if (StringUtils.isNotBlank(crowdName)){ terms.put("crowdName", crowdName); } // 事项来源 String canal = request.getParameter("canal"); if (StringUtils.isNotBlank(canal)){ terms.put("canal", canal); } // 事项来源名称 String canalName = request.getParameter("canalName"); if (StringUtils.isNotBlank(canalName)){ terms.put("canalName", canalName); } // 来访形式 String visitWay = request.getParameter("visitWay"); if (StringUtils.isNotBlank(visitWay)){ terms.put("visitWay", visitWay); } // 来访形式名称 String visitWayName = request.getParameter("visitWayName"); if (StringUtils.isNotBlank(visitWayName)){ terms.put("visitWayName", visitWayName); } // 事项概况 String caseDes = request.getParameter("caseDes"); if (StringUtils.isNotBlank(caseDes)){ terms.put("caseDes", caseDes); } // 事项申请 String caseClaim = request.getParameter("caseClaim"); if (StringUtils.isNotBlank(caseClaim)){ terms.put("caseClaim", caseClaim); } // 是否重大矛盾纠纷,0:否,1:是 String majorStatus = request.getParameter("majorStatus"); if (StringUtils.isNotBlank(majorStatus)){ terms.put("majorStatus", majorStatus); } // 纠纷来源 String source = request.getParameter("source"); if (StringUtils.isNotBlank(source)){ terms.put("source", source); } // 纠纷来源名称 String sourceName = request.getParameter("sourceName"); if (StringUtils.isNotBlank(sourceName)){ terms.put("sourceName", sourceName); } // 矛调号 String caseNo = request.getParameter("caseNo"); if (StringUtils.isNotBlank(caseNo)){ terms.put("caseNo", caseNo); } // 民诉前调号 String mediateNo = request.getParameter("mediateNo"); if (StringUtils.isNotBlank(mediateNo)){ terms.put("mediateNo", mediateNo); } // 民诉前调书号 String mediateBookNo = request.getParameter("mediateBookNo"); if (StringUtils.isNotBlank(mediateBookNo)){ terms.put("mediateBookNo", mediateBookNo); } // 诉讼案号 String civilNo = request.getParameter("civilNo"); if (StringUtils.isNotBlank(civilNo)){ terms.put("civilNo", civilNo); } // 申请方当事人名称 String plaintiffs = request.getParameter("plaintiffs"); if (StringUtils.isNotBlank(plaintiffs)){ terms.put("plaintiffs", plaintiffs); } // 申请方当事人名称关键词 String plaintiffsKey = request.getParameter("plaintiffsKey"); if (StringUtils.isNotBlank(plaintiffsKey)){ terms.put("plaintiffsKey", plaintiffsKey); } // 申请方代理人名称 String pagents = request.getParameter("pagents"); if (StringUtils.isNotBlank(pagents)){ terms.put("pagents", pagents); } // 被申请方当事人名称 String defendants = request.getParameter("defendants"); if (StringUtils.isNotBlank(defendants)){ terms.put("defendants", defendants); } // 被申请方当事人名称关键词 String defendantsKey = request.getParameter("defendantsKey"); if (StringUtils.isNotBlank(defendantsKey)){ terms.put("defendantsKey", defendantsKey); } // 被申请方代理人名称 String dagents = request.getParameter("dagents"); if (StringUtils.isNotBlank(dagents)){ terms.put("dagents", dagents); } // 登记组织编号 String inputUnitId = request.getParameter("inputUnitId"); if (StringUtils.isNotBlank(inputUnitId)){ terms.put("inputUnitId", inputUnitId); } // 登记组织名称 String inputUnitName = request.getParameter("inputUnitName"); if (StringUtils.isNotBlank(inputUnitName)){ terms.put("inputUnitName", inputUnitName); } // 登记人编号 String inputUserId = request.getParameter("inputUserId"); if (StringUtils.isNotBlank(inputUserId)){ terms.put("inputUserId", inputUserId); } // 登记人名称 String inputUserName = request.getParameter("inputUserName"); if (StringUtils.isNotBlank(inputUserName)){ terms.put("inputUserName", inputUserName); } // 登记方式,1:正常登记,2:案件导入 String inputWay = request.getParameter("inputWay"); if (StringUtils.isNotBlank(inputWay)){ terms.put("inputWay", inputWay); } // 顾客编号 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); } // 保存时间排序 String saveTimeSort = request.getParameter("saveTimeSort"); if (StringUtils.isNotBlank(saveTimeSort)){ terms.put("saveTimeSort", saveTimeSort); } // 事件等级排序 String caseLevelSort = request.getParameter("caseLevelSort"); if (StringUtils.isNotBlank(caseLevelSort)){ terms.put("caseLevelSort", caseLevelSort); } return terms; } /** * 条件查询多个 * @url {ctx}/api/web/casedraftInfo/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/casedraftInfo/pageQuery * @param page 页码 * @param size 每页数量 * @return Object */ @GetMapping("/pageQuery") public Object pageQuery(@CurrentUser String userId,@RequestParam(value = "page") int page, @RequestParam(value = "size") int size) { try { Map terms = getParameter(); Sort sort = Sort.by(Sort.Direction.DESC, "create_time"); if(terms.get("saveTimeSort") != null) { String saveTimeSort = terms.get("saveTimeSort").toString().toUpperCase(); if("ASC".equals(saveTimeSort)) { sort = Sort.by(Sort.Direction.ASC, "update_time"); } else if("DESC".equals(saveTimeSort)) { sort = Sort.by(Sort.Direction.DESC, "update_time"); } } if (terms.get("caseLevelSort") != null) { String caseLevelSort = terms.get("caseLevelSort").toString().toUpperCase(); if("ASC".equals(caseLevelSort)) { sort = Sort.by(Sort.Direction.ASC, "case_level"); } else if("DESC".equals(caseLevelSort)) { sort = Sort.by(Sort.Direction.DESC, "case_level"); } } PageRequest pageRequest = PageRequest.of(page-1, size, sort); Page casedraftInfoPage = service.pageQuery(pageRequest, terms,userId); return ReturnSucUtils.getRepInfo( "处理成功", casedraftInfoPage); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } /** * 根据编号查询单个 * @url {ctx}/api/web/casedraftInfo/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/casedraftInfo/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/casedraftInfo/saveCasedraftInfo * @param casedraftInfo 实体对象 * @return Object */ @PostMapping("/saveCasedraftInfo") public Object saveCasedraftInfo(@RequestBody CasedraftInfo casedraftInfo) { try { service.saveCasedraftInfo(casedraftInfo); return ReturnSucUtils.getRepInfo(); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } /** * PC端-纠纷登记-保存纠纷信息草稿 * @url {ctx}/api/web/casedraftInfo/caseDraftRegister * @param draftRegisterSaveDTO 实体对象 */ @PostMapping("/caseDraftRegister") public Object caseDraftRegister(@CurrentUser String userId, @RequestBody DraftRegisterSaveDTO draftRegisterSaveDTO) { try { String caseId = service.caseDraftRegister(draftRegisterSaveDTO, userId); return ReturnSucUtils.getRepInfo(caseId); } catch (Exception e) { log.error("controller方法[CasedraftInfoWebController.caseDraftRegister]调用异常:"+e, e); return ReturnFailUtils.getRepInfo(e.getMessage()); } } /** * PC端-正式案件-查询纠纷信息草稿 * @url {ctx}/api/web/casedraftInfo/getCasedraftInfo?id= * @param id 纠纷编号 * @return Object */ @GetMapping("/getCasedraftInfo") public Object getCasedraftInfo(@RequestParam(value = "id") String id) { try { return ReturnSucUtils.getRepInfo(service.getCasedraftInfo(id)); } catch (Exception e) { return ReturnFailUtils.getRepInfo(e.getMessage()); } } /** * 删除草稿箱 * @url {ctx}/api/web/casedraftInfo/deleteCaseDraft * @param id 主键编号 * @return Object */ @GetMapping("/deleteCaseDraft") public Object deleteCaseDraft(@RequestParam(value = "id") String id) { try { service.deleteCaseDraft(id); return ReturnSucUtils.getRepInfo(); } catch (Exception e) { log.error("controller方法[CasedraftInfoWebController.deleteCaseDraft]调用异常:"+e, e); return ReturnFailUtils.getRepInfo(); } } }