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.LawInfoPageDTO; import cn.huge.module.knowledge.domain.po.LawInfo; import cn.huge.module.knowledge.service.LawInfoService; 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; /** * @title: 法律表接口api-web端 * @description: 法律表接口api-web端 * @company: hugeinfo * @author: huangh * @time: 2024-12-05 16:15:00 * @version: 1.0 */ @Slf4j @RestController @RequestMapping("/api/web/lawInfo") public class LawInfoWebController { @Autowired(required = false) private HttpServletRequest request; @Autowired private LawInfoService service; /** * 获取请求URL参数 * @return Map */ private Map getParameter() { Map terms = Maps.newHashMap(); // 法律原始文本编号 String lawOriginalInfoId = request.getParameter("lawOriginalInfoId"); if (StringUtils.isNotBlank(lawOriginalInfoId)) { terms.put("lawOriginalInfoId", lawOriginalInfoId); } // 法律标题 String title = request.getParameter("title"); if (StringUtils.isNotBlank(title)) { terms.put("title", title); } // 法律制定机关代号 String authority = request.getParameter("authority"); if (StringUtils.isNotBlank(authority)) { terms.put("authority", authority); } // 法律制定机关 String authorityName = request.getParameter("authorityName"); if (StringUtils.isNotBlank(authorityName)) { terms.put("authorityName", authorityName); } // 法律性质代号 String lawNature = request.getParameter("lawNature"); if (StringUtils.isNotBlank(lawNature)) { terms.put("lawNature", lawNature); } // 法律性质 String lawNatureName = request.getParameter("lawNatureName"); if (StringUtils.isNotBlank(lawNatureName)) { terms.put("lawNatureName", lawNatureName); } // 法律时效性代号 String validity = request.getParameter("validity"); if (StringUtils.isNotBlank(validity)) { terms.put("validity", validity); } // 法律时效性 String validityName = request.getParameter("validityName"); if (StringUtils.isNotBlank(validityName)) { terms.put("validityName", validityName); } // 法律公布时间区间 String publishStart = request.getParameter("publishStart"); String publishEnd = request.getParameter("publishEnd"); if (StringUtils.isNotBlank(publishStart) && StringUtils.isNotBlank(publishEnd)) { terms.put("publishStart", publishStart); terms.put("publishEnd", publishEnd); } // 法律施行时间区间 String implementationStart = request.getParameter("implementationStart"); String implementationEnd = request.getParameter("implementationEnd"); if (StringUtils.isNotBlank(implementationStart) && StringUtils.isNotBlank(implementationEnd)) { terms.put("implementationStart", implementationStart); terms.put("implementationEnd", implementationEnd); } // 创建时间区间 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 keyword = request.getParameter("keyword"); if (StringUtils.isNotBlank(keyword)) { terms.put("keyword", keyword); } return terms; } /** * 条件查询多个 * @url {ctx}/api/web/lawInfo/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/lawInfo/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, "publish_time","law_info_id"); PageRequest pageRequest = PageRequest.of(page - 1, size, sort); log.debug("[LawInfoWebController.pageQuery]调用,参数:{}", terms); Page lawInfoPage = service.pageQuery(pageRequest, terms); return ReturnSucUtils.getRepInfo("处理成功", lawInfoPage); } catch (Exception e) { log.error("[LawInfoWebController.pageQuery]调用失败,异常信息:" + e, e); return ReturnFailUtils.getRepInfo(); } } /** * 统计各类别 * @url {ctx}/api/web/lawInfo/categoryCount * @return Object */ @GetMapping("/categoryCount") public Object categoryCount() { try { Map terms = getParameter(); // List lawCategoryDTOList = service.categoryCount(terms); return ReturnSucUtils.getRepInfo("处理成功", service.categoryCount(terms)); } catch (Exception e) { log.error("[LawInfoWebController.pageQuery]调用失败,异常信息:" + e, e); return ReturnFailUtils.getRepInfo(); } } /** * 根据编号查询单个 * @url {ctx}/api/web/lawInfo/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/lawInfo/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/lawInfo/saveLawInfo * @param lawInfo 实体对象 * @return Object */ @PostMapping("/saveLawInfo") public Object saveLawInfo(@RequestBody LawInfo lawInfo) { try { service.saveLawInfo(lawInfo); return ReturnSucUtils.getRepInfo(); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } }