package com.product.admin.controller; import com.product.admin.config.CmnConst; import com.product.admin.service.idel.ISystemPromptService; import com.product.admin.util.ResultInfo; import com.product.common.lang.StringUtils; import com.product.core.config.CoreConst; import com.product.core.controller.support.AbstractBaseController; import com.product.core.entity.DataTableEntity; import com.product.core.entity.FieldSetEntity; import com.product.core.entity.RequestParameterEntity; import com.product.core.exception.BaseException; import com.product.core.permission.PermissionService; import com.product.core.spring.context.SpringMVCContextHolder; import com.product.admin.config.SystemCode; import com.product.admin.service.SystemPromptService; import com.product.module.sys.config.SystemErrorCode; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; /** * Copyright © 2019 * * @Title: SystemPromptController * @Project: LX * @Date: 2019-05-10 11:07 * @Author: Dave.Luo * @Description: 高级参照配置管理 */ @RestController @RequestMapping("/api/prompt") public class SystemPromptController extends AbstractBaseController { @Autowired private SystemPromptService systemPromptService; /** * 数据权限验证 */ @Autowired PermissionService permissionService; /** * 高级参照详情 */ @RequestMapping(value = "/find-prompt/{version}") public String findPrompt(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(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText()); return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText()); } //数据操作的权限验证 if(!permissionService.validDataPermission(fse,CoreConst.DATA_PERMISSION_VALID_TYPE_USER)) { SpringMVCContextHolder.getSystemLogger().error(SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getValue(), SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getText()); return this.error(SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getValue(), SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getText()); } FieldSetEntity fs = systemPromptService.getPromptFind(fse.getString("uuid")); return OK_List(fs); } catch (BaseException e) { SpringMVCContextHolder.getSystemLogger().error(e); return this.error(e); } catch (Exception e) { e.printStackTrace(); SpringMVCContextHolder.getSystemLogger().error(e); return error(SystemCode.SYSTEM_PROMPT_FIND_FAIL.getValue(), SystemCode.SYSTEM_PROMPT_FIND_FAIL.getText() + e.getMessage()); } } /** * 高级参照获取表 * * @param request * @return */ @RequestMapping(value = "/resouce-table-prompt/{version}") public String getPromptResouceTable(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) { return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText()); } return OK_List(systemPromptService.getPromptSourceTables(fse.getInteger("is_multiple"))); } catch (BaseException e) { SpringMVCContextHolder.getSystemLogger().error(e); return this.error(e); } catch (Exception e) { e.printStackTrace(); SpringMVCContextHolder.getSystemLogger().error(e); return error(SystemCode.SYSTEM_PROMPT_DATA_RESOUCE_FIAL.getValue(), SystemCode.SYSTEM_PROMPT_DATA_RESOUCE_FIAL.getText() + e.getMessage()); } } /*** * 高级参照获取表字段 * @param request * @return */ @RequestMapping(value = "/resouce-table-field-prompt/{version}") public String getPromptResouceTableField(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) { return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText()); } String table_name = fse.getString(CmnConst.TABLE_NAME); Integer is_multiple = fse.getInteger("is_multiple"); if (StringUtils.isEmpty(table_name) || is_multiple==null) { return this.error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText()); } return ResultInfo.success(systemPromptService.getPromptSourceTableFields(table_name,is_multiple)); } catch (BaseException e) { SpringMVCContextHolder.getSystemLogger().error(e); return this.error(e); } catch (Exception e) { SpringMVCContextHolder.getSystemLogger().error(e); e.printStackTrace(); return error(SystemCode.SYSTEM_PROMPT_DATA_RESOUCE_FIELD_FIAL.getValue(), SystemCode.SYSTEM_PROMPT_DATA_RESOUCE_FIELD_FIAL.getText() + e.getMessage()); } } /** * 高有参照查询接口 * * @return */ @RequestMapping(value = "/list-prompt/{version}", method = RequestMethod.POST) public String getPromptList(HttpServletRequest request) { try { Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA); RequestParameterEntity reqp = (RequestParameterEntity) bean; FieldSetEntity fse = reqp.getFormData(); //郑盟 2020/12/18 11:15 DataTableEntity dt = systemPromptService.getPromptList(fse); return OK_List(dt); } catch (BaseException e) { SpringMVCContextHolder.getSystemLogger().error(e); return this.error(e); } catch (Exception e) { SpringMVCContextHolder.getSystemLogger().error(e); e.printStackTrace(); return error(SystemCode.SYSTEM_PROMPT_LIST_FAIL.getValue(), SystemCode.SYSTEM_PROMPT_LIST_FAIL.getText() + e.getMessage()); } } /*** * 高级参照新增接口 * @param request * @param response * @param session * @return */ @RequestMapping(value = "/add-prompt/{version}", method = RequestMethod.POST) public String addPrompt(HttpServletRequest request, HttpServletResponse response, HttpSession session) { 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) { return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText()); } //验证表名是否正常 if (fse.getTableName() == null || !CmnConst.PRODUCT_SYS_PROMPT.equals(fse.getTableName())) { return error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText()); } ISystemPromptService iSystemPromptService = (ISystemPromptService) getProxyInstance(systemPromptService); return OK_Add(iSystemPromptService.addPrompt(fse)); } catch (BaseException e) { SpringMVCContextHolder.getSystemLogger().error(e); return this.error(e); } catch (Exception e) { e.printStackTrace(); SpringMVCContextHolder.getSystemLogger().error(e); return error(SystemCode.SYSTEM_PROMPT_ADD_FAIL.getValue(), SystemCode.SYSTEM_PROMPT_ADD_FAIL.getText() + e.getMessage()); } } /** * 高级参数更新接口 * * @param request * @return */ @RequestMapping(value = "/update-prompt/{version}", method = RequestMethod.POST) public String updatePrompt(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) { return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText()); } String uuids = fse.getString("uuid"); //周杰 2020年12月17日 上午11:16 if (StringUtils.isEmpty(uuids)) { return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText()); } //数据操作的权限验证 if(!permissionService.validDataPermission(CmnConst.PRODUCT_SYS_PROMPT,uuids,CoreConst.DATA_PERMISSION_VALID_TYPE_USER)) { SpringMVCContextHolder.getSystemLogger().error(SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getValue(), SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getText()); return this.error(SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getValue(), SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getText()); } ISystemPromptService iSystemPromptService = (ISystemPromptService) getProxyInstance(systemPromptService); boolean succ = iSystemPromptService.updatePrompt(fse); return succ ? OK() : error(SystemCode.SYSTEM_PROMPT_UPDATE_FAIL.getValue(), SystemCode.SYSTEM_PROMPT_UPDATE_FAIL.getText()); } catch (BaseException e) { SpringMVCContextHolder.getSystemLogger().error(e); return this.error(e); } catch (Exception e) { e.printStackTrace(); SpringMVCContextHolder.getSystemLogger().error(e); return error(SystemCode.SYSTEM_PROMPT_UPDATE_FAIL.getValue(), SystemCode.SYSTEM_PROMPT_UPDATE_FAIL.getText() + e.getMessage()); } } /*** * 高级参照删除接口 * @param request * @return */ @RequestMapping(value = "/delete-prompt/{version}", method = RequestMethod.POST) public String deletePrompt(HttpServletRequest request) { try { Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA); RequestParameterEntity reqp = (RequestParameterEntity) bean; FieldSetEntity fse = reqp.getFormData(); String uuids = fse.getString("uuid"); //周杰 2020年12月17日 上午11:16 if (StringUtils.isEmpty(uuids)) { return this.error(SystemCode.SYSTEM_PROMPT_DELETE_FAIL.getValue(), SystemCode.SYSTEM_PROMPT_DELETE_FAIL.getText()); } //数据操作的权限验证 if(!permissionService.validDataPermission(CmnConst.PRODUCT_SYS_PROMPT,uuids,CoreConst.DATA_PERMISSION_VALID_TYPE_USER)) { SpringMVCContextHolder.getSystemLogger().error(SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getValue(), SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getText()); return this.error(SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getValue(), SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getText()); } boolean succ = systemPromptService.delete("product_sys_prompt", new String[]{fse.getString("uuid")}); return succ ? OK() : error(SystemCode.SYSTEM_PROMPT_DELETE_FAIL.getValue(), SystemCode.SYSTEM_PROMPT_DELETE_FAIL.getText()); } catch (BaseException e) { SpringMVCContextHolder.getSystemLogger().error(e); return this.error(e); } catch (Exception e) { e.printStackTrace(); SpringMVCContextHolder.getSystemLogger().error(e); return error(SystemCode.SYSTEM_PROMPT_DELETE_FAIL.getValue(), SystemCode.SYSTEM_PROMPT_DELETE_FAIL.getText() + e.getMessage()); } } /** * 数据建模数据源表查询接口 * * @return */ @RequestMapping(value = "/list-datamodel-table/{version}", method = RequestMethod.POST) public String getDatamodelTableList(HttpServletRequest request) { try { Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA); RequestParameterEntity reqp = (RequestParameterEntity) bean; FieldSetEntity fse = reqp.getFormData(); DataTableEntity dt = systemPromptService.getDatamodelTableList(fse.getInteger("cpage"), fse.getInteger("pagesize"), fse.getString("table_name"), fse.getString("table_type")); return dt.getMeta() != null ? OK_List(dt) : ""; } catch (BaseException e) { SpringMVCContextHolder.getSystemLogger().error(e); return this.error(e); } catch (Exception e) { e.printStackTrace(); SpringMVCContextHolder.getSystemLogger().error(e); return error(SystemCode.SYSTEM_PROMPT_DATATABLE_LIST_FAIL.getValue(), SystemCode.SYSTEM_PROMPT_DATATABLE_LIST_FAIL.getText() + e.getMessage()); } } /** * 数据建模数据源字段表查询接口 * * @return */ @RequestMapping(value = "/list-datamodel-field/{version}", method = RequestMethod.POST) public String getDatamodelFieldList(HttpServletRequest request) { try { Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA); RequestParameterEntity reqp = (RequestParameterEntity) bean; FieldSetEntity fse = reqp.getFormData(); DataTableEntity dt = systemPromptService.getDatamodelFieldList(fse.getInteger("cpage"), fse.getInteger("pagesize"), fse.getString("table_uuid")); return dt.getMeta() != null ? OK_List(dt) : ""; } catch (BaseException e) { SpringMVCContextHolder.getSystemLogger().error(e); return this.error(e); } catch (Exception e) { e.printStackTrace(); SpringMVCContextHolder.getSystemLogger().error(e); return error(SystemCode.SYSTEM_PROMPT_DATATABLE_FIND_FAIL.getValue(), SystemCode.SYSTEM_PROMPT_DATATABLE_FIND_FAIL.getText() + e.getMessage()); } } }