package cn.huge.module.mode.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.client.api.impl.CustClientImpl; import cn.huge.module.cust.dto.CtUserDTO; import cn.huge.module.mode.domain.po.ModeSupervise; import cn.huge.module.mode.service.ModeSuperviseService; 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-09-07 10:31:33 * @version: 1.0.0 */ @Slf4j @RestController @RequestMapping("/api/web/modeSupervise") public class ModeSuperviseWebController { @Autowired(required = false) private HttpServletRequest request; @Autowired private ModeSuperviseService service; @Autowired private CustClientImpl custClient; /** * 获取请求URL参数 * @return Map */ private Map getParameter(){ Map terms = Maps.newHashMap(); // 主键编号 String id = request.getParameter("id"); if (StringUtils.isNotBlank(id)){ terms.put("id", id); } // 模板类型,1:系统模板,2:自定义模板 String modeType = request.getParameter("modeType"); if (StringUtils.isNotBlank(modeType)){ terms.put("modeType", modeType); } // 模板内容 String modeContent = request.getParameter("modeContent"); if (StringUtils.isNotBlank(modeContent)){ terms.put("modeContent", modeContent); } // 模板所属人编号 String modeUserId = request.getParameter("modeUserId"); if (StringUtils.isNotBlank(modeUserId)){ terms.put("modeUserId", modeUserId); } // 模板所属人名称 String modeUserName = request.getParameter("modeUserName"); if (StringUtils.isNotBlank(modeUserName)){ terms.put("modeUserName", modeUserName); } // 模板所属单位编号 String modeUnitId = request.getParameter("modeUnitId"); if (StringUtils.isNotBlank(modeUnitId)){ terms.put("modeUnitId", modeUnitId); } // 模板所属单位名称 String modeUnitName = request.getParameter("modeUnitName"); if (StringUtils.isNotBlank(modeUnitName)){ terms.put("modeUnitName", modeUnitName); } // 模板状态,0:启用,1:禁用 String modeStatus = request.getParameter("modeStatus"); if (StringUtils.isNotBlank(modeStatus)){ terms.put("modeStatus", modeStatus); } // 模板展示顺序 String modeIndex = request.getParameter("modeIndex"); if (StringUtils.isNotBlank(modeIndex)){ terms.put("modeIndex", modeIndex); } // 操作人编号 String operUserId = request.getParameter("operUserId"); if (StringUtils.isNotBlank(operUserId)){ terms.put("operUserId", operUserId); } // 操作人名称 String operUserName = request.getParameter("operUserName"); if (StringUtils.isNotBlank(operUserName)){ terms.put("operUserName", operUserName); } // 使用次数 String useNum = request.getParameter("useNum"); if (StringUtils.isNotBlank(useNum)){ terms.put("useNum", useNum); } // 删除状态,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/modeSupervise/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/modeSupervise/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 modeSupervisePage = service.pageQuery(pageRequest, terms); return ReturnSucUtils.getRepInfo( "处理成功", modeSupervisePage); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } /** * 根据编号查询单个 * @url {ctx}/api/web/modeSupervise/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/modeSupervise/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/modeSupervise/saveModeSupervise * @param modeSupervise 实体对象 * @return Object */ @PostMapping("/saveModeSupervise") public Object saveModeSupervise(@RequestBody ModeSupervise modeSupervise) { try { service.saveModeSupervise(modeSupervise); return ReturnSucUtils.getRepInfo(); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } /** * 条件分页查询 * @url {ctx}/api/web/modeSupervise/pageModeSupervise * @param page 页码 * @param size 每页数量 * @return Object */ @GetMapping("/pageModeSupervise") public Object pageModeSupervise(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size, @CurrentUser String userId) { try { CtUserDTO loginUser = custClient.clientGetUserAll(userId); Map terms = getParameter(); terms.put("modeUserId", loginUser.getId()); terms.put("modeUnitId", loginUser.getUnitId()); Sort sort = Sort.by(Sort.Direction.DESC, "create_time"); PageRequest pageRequest = PageRequest.of(page-1, size, sort); Page modeSupervisePage = service.pageModeSupervise(pageRequest, terms); return ReturnSucUtils.getRepInfo( "处理成功", modeSupervisePage); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } /** * 修改状态 * @url {ctx}/api/web/modeSupervise/updateModeStatus * @param id 模板编号 * @return Object */ @PostMapping("/updateModeStatus") public Object updateModeStatus(@RequestParam(value = "id") String id, @RequestParam(value = "modeStatus") Integer modeStatus, @CurrentUser String userId) { try { service.updateModeStatus(id, modeStatus, userId); return ReturnSucUtils.getRepInfo(); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } /** * 使用次数增加 * @url {ctx}/api/web/modeSupervise/addUseNum * @param id 模板编号 * @return Object */ @PostMapping("/addUseNum") public Object addUseNum(@RequestParam(value = "id") String id) { try { service.addUseNum(id); return ReturnSucUtils.getRepInfo(); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } /** * 新增督办模板 * @url {ctx}/api/web/modeSupervise/addModeSupervise * @param modeSupervise 实体对象 * @return Object */ @PostMapping("/addModeSupervise") public Object addModeSupervise(@RequestBody ModeSupervise modeSupervise, @CurrentUser String userId) { try { service.addModeSupervise(modeSupervise, userId); return ReturnSucUtils.getRepInfo(); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } }