package com.product.mobile.core.controller; import com.alibaba.druid.util.StringUtils; import com.product.core.config.CoreConst; import com.product.core.controller.support.AbstractBaseController; import com.product.core.entity.FieldSetEntity; import com.product.core.entity.RequestParameterEntity; import com.product.core.exception.BaseException; import com.product.core.spring.context.SpringMVCContextHolder; import com.product.mobile.core.config.MobileCoreCode; import com.product.mobile.core.config.MobileCoreConst; import com.product.mobile.core.service.ide.INavBarManagerService; import com.product.module.sys.version.ApiVersion; import com.product.util.BaseUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; /** * @Author cheng * @Date 2022/2/22 15:59 * @Desc 导航栏管理 */ @RestController @RequestMapping("/api/nav-bar") public class NavBarManagerController extends AbstractBaseController { @Autowired INavBarManagerService navBarManagerService; /** * 导航配置列表 * * @param request * @return */ @PostMapping("/list-config/{version}") @ApiVersion(1) public String listConfig(HttpServletRequest request) { try { FieldSetEntity fse = null; Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA); if (bean != null) { RequestParameterEntity reqp = (RequestParameterEntity) bean; fse = reqp.getFormData(); } if (bean == null || fse == null) { SpringMVCContextHolder.getSystemLogger().error(MobileCoreCode.SYSTEM_FORM_NODATA.getValue(), MobileCoreCode.SYSTEM_FORM_NODATA.getText()); return this.error(MobileCoreCode.SYSTEM_FORM_NODATA.getValue(), MobileCoreCode.SYSTEM_FORM_NODATA.getText()); } if (fse.getTableName() == null || !MobileCoreConst.TABLE_NAV_BAR.equals(fse.getTableName())) { SpringMVCContextHolder.getSystemLogger().error(MobileCoreCode.SYSTEM_TABLE_NODATA.getValue(), MobileCoreCode.SYSTEM_TABLE_NODATA.getText()); return this.error(MobileCoreCode.SYSTEM_TABLE_NODATA.getValue(), MobileCoreCode.SYSTEM_TABLE_NODATA.getText()); } // 判断分页参数是否正常 if (StringUtils.isEmpty(fse.getString(MobileCoreConst.PAGESIZE)) || StringUtils.isEmpty(fse.getString(MobileCoreConst.CPAGE))) { SpringMVCContextHolder.getSystemLogger().error(MobileCoreCode.SYSTEM_FORM_COUNT.getValue(), MobileCoreCode.SYSTEM_FORM_COUNT.getText()); return this.error(MobileCoreCode.SYSTEM_FORM_COUNT.getValue(), MobileCoreCode.SYSTEM_FORM_COUNT.getText()); } return OK_List(navBarManagerService.listConfig(fse)); } catch (BaseException e) { e.printStackTrace(); return error(e); } catch (Exception e) { e.printStackTrace(); return error(MobileCoreCode.GET_NAV_BAR_CONFIG_LIST_FAIL); } } /** * 导航配置详情 * * @param request * @return */ @PostMapping("/find-config/{version}") @ApiVersion(1) public String findConfig(HttpServletRequest request) { try { FieldSetEntity fse = null; Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA); if (bean != null) { RequestParameterEntity reqp = (RequestParameterEntity) bean; fse = reqp.getFormData(); } if (bean == null || fse == null) { SpringMVCContextHolder.getSystemLogger().error(MobileCoreCode.SYSTEM_FORM_NODATA.getValue(), MobileCoreCode.SYSTEM_FORM_NODATA.getText()); return this.error(MobileCoreCode.SYSTEM_FORM_NODATA.getValue(), MobileCoreCode.SYSTEM_FORM_NODATA.getText()); } if (fse.getTableName() == null || !MobileCoreConst.TABLE_NAV_BAR.equals(fse.getTableName())) { SpringMVCContextHolder.getSystemLogger().error(MobileCoreCode.SYSTEM_TABLE_NODATA.getValue(), MobileCoreCode.SYSTEM_TABLE_NODATA.getText()); return this.error(MobileCoreCode.SYSTEM_TABLE_NODATA.getValue(), MobileCoreCode.SYSTEM_TABLE_NODATA.getText()); } // 判断参数是否正常 if (StringUtils.isEmpty(fse.getString(MobileCoreConst.MODULE_CATEGORY))) { SpringMVCContextHolder.getSystemLogger().error(MobileCoreCode.SYSTEM_FORM_COUNT.getValue(), MobileCoreCode.SYSTEM_FORM_COUNT.getText()); return this.error(MobileCoreCode.SYSTEM_FORM_COUNT.getValue(), MobileCoreCode.SYSTEM_FORM_COUNT.getText()); } return OK_List(navBarManagerService.findConfig(fse)); } catch (BaseException e) { e.printStackTrace(); return error(e); } catch (Exception e) { e.printStackTrace(); return error(MobileCoreCode.FIND_NAV_BAR_CONFIG_FAIL); } } /** * 导航配置保存 * * @param request * @return */ @PostMapping("/save-config/{version}") @ApiVersion(1) public String saveConfig(HttpServletRequest request) { try { FieldSetEntity fse = null; Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA); if (bean != null) { RequestParameterEntity reqp = (RequestParameterEntity) bean; fse = reqp.getFormData(); } if (bean == null || fse == null) { SpringMVCContextHolder.getSystemLogger().error(MobileCoreCode.SYSTEM_FORM_NODATA.getValue(), MobileCoreCode.SYSTEM_FORM_NODATA.getText()); return this.error(MobileCoreCode.SYSTEM_FORM_NODATA.getValue(), MobileCoreCode.SYSTEM_FORM_NODATA.getText()); } if (fse.getTableName() == null || !MobileCoreConst.TABLE_NAV_BAR.equals(fse.getTableName())) { SpringMVCContextHolder.getSystemLogger().error(MobileCoreCode.SYSTEM_TABLE_NODATA.getValue(), MobileCoreCode.SYSTEM_TABLE_NODATA.getText()); return this.error(MobileCoreCode.SYSTEM_TABLE_NODATA.getValue(), MobileCoreCode.SYSTEM_TABLE_NODATA.getText()); } INavBarManagerService navBarManagerService = (INavBarManagerService) getProxyInstance(this.navBarManagerService); navBarManagerService.saveConfig(fse); return OK(); } catch (BaseException e) { e.printStackTrace(); return error(e); } catch (Exception e) { e.printStackTrace(); return error(MobileCoreCode.SAVE_NAV_BAR_CONFIG_FAIL); } } /** * 导航配置删除 * * @param request * @return */ @PostMapping("/del-config/{version}") @ApiVersion(1) public String delConfig(HttpServletRequest request) { try { FieldSetEntity fse = null; Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA); if (bean != null) { RequestParameterEntity reqp = (RequestParameterEntity) bean; fse = reqp.getFormData(); } if (bean == null || fse == null) { SpringMVCContextHolder.getSystemLogger().error(MobileCoreCode.SYSTEM_FORM_NODATA.getValue(), MobileCoreCode.SYSTEM_FORM_NODATA.getText()); return this.error(MobileCoreCode.SYSTEM_FORM_NODATA.getValue(), MobileCoreCode.SYSTEM_FORM_NODATA.getText()); } if (fse.getTableName() == null || !MobileCoreConst.TABLE_NAV_BAR.equals(fse.getTableName())) { SpringMVCContextHolder.getSystemLogger().error(MobileCoreCode.SYSTEM_TABLE_NODATA.getValue(), MobileCoreCode.SYSTEM_TABLE_NODATA.getText()); return this.error(MobileCoreCode.SYSTEM_TABLE_NODATA.getValue(), MobileCoreCode.SYSTEM_TABLE_NODATA.getText()); } if (StringUtils.isEmpty(fse.getString(MobileCoreConst.MODULE_CATEGORY))) { SpringMVCContextHolder.getSystemLogger().error(MobileCoreCode.SYSTEM_FORM_COUNT.getValue(), MobileCoreCode.SYSTEM_FORM_COUNT.getText()); return this.error(MobileCoreCode.SYSTEM_FORM_COUNT.getValue(), MobileCoreCode.SYSTEM_FORM_COUNT.getText()); } INavBarManagerService navBarManagerService = (INavBarManagerService) getProxyInstance(this.navBarManagerService); navBarManagerService.delConfig(fse); return OK(); } catch (BaseException e) { e.printStackTrace(); return error(e); } catch (Exception e) { e.printStackTrace(); return error(MobileCoreCode.DEL_NAV_BAR_CONFIG_FAIL); } } /** * 导航栏树 用于 移动端 * * @return */ @PostMapping("/mobile/get-nav-bar-tree/{version}") @ApiVersion(1) public String getNavBarTree() { try { return BaseUtil.success(navBarManagerService.getNarBarTree()); } catch (BaseException e) { e.printStackTrace(); return error(e); } catch (Exception e) { e.printStackTrace(); return error(MobileCoreCode.GET_NAV_BAR_TREE_LIST_FAIL); } } }