package cn.huge.module.knowledge.controller.web; import cn.huge.base.common.utils.ReturnFailUtils; import cn.huge.base.common.utils.ReturnSucUtils; import cn.huge.module.knowledge.domain.dto.CpwsCaseDTO; import cn.huge.module.knowledge.domain.dto.LawCpwsDTO; import cn.huge.module.knowledge.domain.dto.LawIndex; import cn.huge.module.knowledge.domain.po.CpwsCaseInfo; import cn.huge.module.knowledge.domain.po.CpwsCaseText; import cn.huge.module.knowledge.domain.po.DyhCaseInfo; import cn.huge.module.knowledge.domain.po.LawOriginalInfo; import cn.huge.module.knowledge.service.CpwsCaseInfoService; import cn.huge.module.knowledge.service.CpwsCaseTextService; import cn.huge.module.knowledge.service.LawInfoService; import cn.huge.module.knowledge.service.LawOriginalInfoService; import com.google.common.collect.Maps; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; 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.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.stream.Collectors; import java.util.stream.Stream; /** * @title: 裁判文书网案件文本表接口api-web端 * @description: 裁判文书网案件文本表接口api-web端 * @company: hugeinfo * @author: huangh * @time: 2024-12-10 17:28:00 * @version: 1.0.0 */ @Slf4j @RestController @RequestMapping("/api/web/cpwsCaseText") public class CpwsCaseTextWebController { @Autowired(required = false) private HttpServletRequest request; @Autowired private CpwsCaseTextService service; @Autowired private CpwsCaseInfoService cpwsCaseInfoService; /** * 获取请求URL参数 * @return Map */ private Map getParameter() { Map terms = Maps.newHashMap(); // 案号,与信息表关联 String cpwsCaseInfoId = request.getParameter("cpwsCaseInfoId"); if (StringUtils.isNotBlank(cpwsCaseInfoId)) { terms.put("cpwsCaseInfoId", cpwsCaseInfoId); } // 审理经过 String trialProcess = request.getParameter("trialProcess"); if (StringUtils.isNotBlank(trialProcess)) { terms.put("trialProcess", trialProcess); } // 案件基本情况 String basicCaseInfo = request.getParameter("basicCaseInfo"); if (StringUtils.isNotBlank(basicCaseInfo)) { terms.put("basicCaseInfo", basicCaseInfo); } // 审理查明 String trialFinding = request.getParameter("trialFinding"); if (StringUtils.isNotBlank(trialFinding)) { terms.put("trialFinding", trialFinding); } // 判决 String judgment = request.getParameter("judgment"); if (StringUtils.isNotBlank(judgment)) { terms.put("judgment", judgment); } // 法律依据 String legalBasis = request.getParameter("legalBasis"); if (StringUtils.isNotBlank(legalBasis)) { terms.put("legalBasis", legalBasis); } // 删除状态,1:未删除(默认值),99:已删除 String deleteStatus = request.getParameter("deleteStatus"); if (StringUtils.isNotBlank(deleteStatus)) { terms.put("deleteStatus", deleteStatus); } // 创建时间区间 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/cpwsCaseText/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/cpwsCaseText/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 cpwsCaseTextPage = service.pageQuery(pageRequest, terms); return ReturnSucUtils.getRepInfo("处理成功", cpwsCaseTextPage); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } /** * 根据编号查询单个 * @url {ctx}/api/web/cpwsCaseText/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/cpwsCaseText/getCpwsCaseById * @param id 主键编号 * @return Object */ @GetMapping("/getCpwsCaseById") public Object getCpwsCaseById(@RequestParam(value = "id") String id) { try { CpwsCaseText cpwsCaseText = service.getById(id); CpwsCaseInfo cpwsCaseInfo = cpwsCaseInfoService.getById(cpwsCaseText.getCpwsCaseInfoId()); CpwsCaseDTO cpwsCaseDTO = new CpwsCaseDTO(); BeanUtils.copyProperties(cpwsCaseInfo, cpwsCaseDTO); BeanUtils.copyProperties(cpwsCaseText, cpwsCaseDTO); List lawList = service.extractLaws(cpwsCaseDTO.getBasicCaseInfo()+cpwsCaseDTO.getTrialFinding()+cpwsCaseDTO.getLegalBasis()+cpwsCaseDTO.getJudgment()); cpwsCaseDTO.setLawList(lawList); return ReturnSucUtils.getRepInfo(cpwsCaseDTO); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } /** * 根据主键单个 * @url {ctx}/api/web/cpwsCaseText/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/cpwsCaseText/saveCpwsCaseText * @param cpwsCaseText 实体对象 * @return Object */ @PostMapping("/saveCpwsCaseText") public Object saveCpwsCaseText(@RequestBody CpwsCaseText cpwsCaseText) { try { service.saveCpwsCaseText(cpwsCaseText); return ReturnSucUtils.getRepInfo(); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } }