package cn.huge.module.ctuser.controller.web; import cn.huge.base.common.utils.IdUtils; import cn.huge.base.common.utils.ReturnFailUtils; import cn.huge.base.common.utils.ReturnSucUtils; import cn.huge.base.config.CurrentUser; import cn.huge.module.ctuser.domain.po.CtDept; import cn.huge.module.ctuser.domain.po.CtUser; import cn.huge.module.ctuser.service.CtDeptService; import cn.huge.module.ctuser.service.CtUserService; 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: 客户部门表接口api-web端 * @description: 客户部门表接口api-web端 * @company: hugeinfo * @author: liyj * @time: 2024-08-19 20:04:19 * @version: 1.0.0 */ @Slf4j @RestController @RequestMapping("/api/web/ctDept") public class CtDeptWebController { @Autowired(required = false) private HttpServletRequest request; @Autowired private CtDeptService service; @Autowired private CtUserService ctUserService; /** * 获取请求URL参数 * @return Map */ private Map getParameter(){ Map terms = Maps.newHashMap(); // 部门编号 String id = request.getParameter("id"); if (StringUtils.isNotBlank(id)){ terms.put("id", id); } // 层级 String level = request.getParameter("level"); if (StringUtils.isNotBlank(level)){ terms.put("level", level); } // 父级部门,根级默认root String parentId = request.getParameter("parentId"); if (StringUtils.isNotBlank(parentId)){ terms.put("parentId", parentId); } // 部门名称 String name = request.getParameter("name"); if (StringUtils.isNotBlank(name)){ terms.put("name", name); } // 描述 String des = request.getParameter("des"); if (StringUtils.isNotBlank(des)){ terms.put("des", des); } // 组织编号 String unitId = request.getParameter("unitId"); if (StringUtils.isNotBlank(unitId)){ terms.put("unitId", unitId); } // 调解专长,多个用,隔开 String goodField = request.getParameter("goodField"); if (StringUtils.isNotBlank(goodField)){ terms.put("goodField", goodField); } // 调解专长名称,多个用,隔开 String goodFieldName = request.getParameter("goodFieldName"); if (StringUtils.isNotBlank(goodFieldName)){ terms.put("goodFieldName", goodFieldName); } // 调解范围,多个用,隔开 String canField = request.getParameter("canField"); if (StringUtils.isNotBlank(canField)){ terms.put("canField", canField); } // 调解范围名称,多个用,隔开 String canFieldName = request.getParameter("canFieldName"); if (StringUtils.isNotBlank(canFieldName)){ terms.put("canFieldName", canFieldName); } // 删除状态,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/ctDept/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/ctDept/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 ctDeptPage = service.pageQuery(pageRequest, terms); return ReturnSucUtils.getRepInfo( "处理成功", ctDeptPage); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } /** * 根据编号查询单个 * @url {ctx}/api/web/ctDept/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/ctDept/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/ctDept/saveCtDept * @param ctDept 实体对象 * @return Object */ @PostMapping("/saveCtDept") public Object saveCtDept(@RequestBody CtDept ctDept, @CurrentUser String userId) { try { //判断name是否存在 if (IdUtils.checkNewId(ctDept.getId())) { Map terms = getParameter(); terms.put("name", ctDept.getName()); terms.put("unitId", ctDept.getUnitId()); long ctDeptCount = service.countTerms(terms); if (ctDeptCount > 0) { return ReturnFailUtils.getRepInfo("名称已存在,请重新设定"); } } service.saveCtDept(ctDept, userId); return ReturnSucUtils.getRepInfo("保存成功", null); } catch (Exception e) { log.error("Controller接口[CtDeptController.saveCtDept]请求异常:"+e, e); return ReturnFailUtils.getRepInfo("保存失败", null); } } /** * 根据主键编号删除部门 * @url {ctx}/api/web/ctDept/removeByIds * @param ids 主键编号 * @return Object * @throws Exception */ @GetMapping("/removeByIds") public Object removeByIds(@RequestParam(value = "ids") String ids) { try { service.removeById(ids); return ReturnSucUtils.getRepInfo(); } catch (Exception e) { log.error("Controller接口[CtDeptController.removeByIds]请求异常:"+e, e); return ReturnFailUtils.getRepInfo(); } } }