package cn.huge.module.casedisp.controller.web; import cn.huge.base.common.utils.ReturnFailUtils; import cn.huge.base.common.utils.ReturnSucUtils; import cn.huge.module.casedisp.domain.po.DispRule; import cn.huge.module.casedisp.service.DispRuleService; 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: liyj * @time: 2024-09-03 20:53:40 * @version: 1.0.0 */ @Slf4j @RestController @RequestMapping("/api/web/dispRule") public class DispRuleWebController { @Autowired(required = false) private HttpServletRequest request; @Autowired private DispRuleService 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 ruleName = request.getParameter("ruleName"); if (StringUtils.isNotBlank(ruleName)){ terms.put("ruleName", ruleName); } // 指标类型,24_00010-1:问题属地,24_00010-2:纠纷类型 String normType = request.getParameter("normType"); if (StringUtils.isNotBlank(normType)){ terms.put("normType", normType); } // 指标类型名称 String normTypeName = request.getParameter("normTypeName"); if (StringUtils.isNotBlank(normTypeName)){ terms.put("normTypeName", normTypeName); } // 指标名称 String normName = request.getParameter("normName"); if (StringUtils.isNotBlank(normName)){ terms.put("normName", normName); } // 指标内容/表 String normTable = request.getParameter("normTable"); if (StringUtils.isNotBlank(normTable)){ terms.put("normTable", normTable); } // 调度目标最高级别,1:市级,2:区级,3:镇街级,4:村居级 String highTargetLevel = request.getParameter("highTargetLevel"); if (StringUtils.isNotBlank(highTargetLevel)){ terms.put("highTargetLevel", highTargetLevel); } // 优先级 String priority = request.getParameter("priority"); if (StringUtils.isNotBlank(priority)){ terms.put("priority", priority); } // 规则状态,0:开启,1:关闭 String ruleStauts = request.getParameter("ruleStauts"); if (StringUtils.isNotBlank(ruleStauts)){ terms.put("ruleStauts", ruleStauts); } // 操作人编号 String userId = request.getParameter("userId"); if (StringUtils.isNotBlank(userId)){ terms.put("userId", userId); } // 顾客编号 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/dispRule/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/dispRule/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 dispRulePage = service.pageQuery(pageRequest, terms); return ReturnSucUtils.getRepInfo( "处理成功", dispRulePage); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } /** * 根据编号查询单个 * @url {ctx}/api/web/dispRule/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/dispRule/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/dispRule/saveDispRule * @param dispRule 实体对象 * @return Object */ @PostMapping("/saveDispRule") public Object saveDispRule(@RequestBody DispRule dispRule) { try { service.saveDispRule(dispRule); return ReturnSucUtils.getRepInfo(); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } }