package com.product.admin.controller;
|
|
import com.product.admin.config.CmnConst;
|
import com.product.admin.config.SystemCode;
|
import com.product.admin.service.PublicService;
|
import com.product.common.lang.StringUtils;
|
import com.product.core.cache.DataPoolCacheImpl;
|
import com.product.core.config.CoreConst;
|
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.module.sys.version.ApiVersion;
|
import com.product.util.BaseUtil;
|
import com.product.util.config.SystemParamSet;
|
import com.product.util.support.AbstractBaseController;
|
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.RequestMethod;
|
import org.springframework.web.bind.annotation.RestController;
|
|
import javax.servlet.http.HttpServletRequest;
|
import java.util.ArrayList;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* 公共
|
*/
|
@RestController
|
@RequestMapping("/api")
|
public class PublicController extends AbstractBaseController {
|
|
@Autowired
|
PublicService publicService;
|
|
|
@PostMapping("/common/get-table-by-function/{version}")
|
@ApiVersion(1)
|
public String getTableByFunction(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);
|
}
|
if (StringUtils.isEmpty(fse.getString(CmnConst.FUNCTION_UUID))) {
|
return this.error(SystemCode.SYSTEM_FORM_COUNT);
|
}
|
return OK_List(publicService.getBaseDao().getFieldSetEntityByFilter(CmnConst.PRODUCT_SYS_DATAMODEL_TABLE, "table_type=1 and uuid =?)", new String[]{fse.getString(CmnConst.FUNCTION_UUID)}, false));
|
} catch (BaseException e) {
|
e.printStackTrace();
|
return this.error(e);
|
} catch (Exception e) {
|
e.printStackTrace();
|
return this.error(SystemCode.GET_FIELD_FIAL, e);
|
}
|
}
|
|
/**
|
* 获取字段
|
*
|
* @param request
|
* @return
|
*/
|
@PostMapping("/get-fields/{version}")
|
@ApiVersion(1)
|
public String getFields(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 (fse.getTableName() == null || !CmnConst.PRODUCT_SYS_DATAMODEL_FIELD.equals(fse.getTableName())) {
|
SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
|
return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
|
}
|
String table_uuid = fse.getString(CmnConst.TABLE_UUID);
|
String table_name = fse.getString(CmnConst.TABLE_NAME);
|
DataPoolCacheImpl instance = DataPoolCacheImpl.getInstance();
|
if (!StringUtils.isEmpty(table_uuid)) {
|
table_name = instance.getCacheData("所有表信息(uuid)", new String[]{table_uuid}).getString(0, CmnConst.TABLE_NAME);
|
}
|
if (StringUtils.isEmpty(table_name)) {
|
return this.error(SystemCode.GET_FIELD_FIAL.getValue(), SystemCode.GET_FIELD_FIAL.getText());
|
}
|
return publicService.getFields(table_name, fse.getBoolean("relevanceTable"));
|
} catch (BaseException e) {
|
e.printStackTrace();
|
return this.error(e);
|
} catch (Exception e) {
|
e.printStackTrace();
|
SpringMVCContextHolder.getSystemLogger().error(e);
|
return this.error(SystemCode.GET_FIELD_FIAL.getValue(), SystemCode.GET_FIELD_FIAL.getText());
|
}
|
}
|
|
|
/**
|
* 获取字段
|
*
|
* @param request
|
* @return
|
*/
|
@PostMapping("/get-parent-fields/{version}")
|
@ApiVersion(1)
|
public String getFieldsAndParent(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 (fse.getTableName() == null || !CmnConst.PRODUCT_SYS_DATAMODEL_FIELD.equals(fse.getTableName())) {
|
SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
|
return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
|
}
|
String table_uuid = fse.getString(CmnConst.TABLE_UUID);
|
String table_name = fse.getString(CmnConst.TABLE_NAME);
|
DataPoolCacheImpl instance = DataPoolCacheImpl.getInstance();
|
if (!StringUtils.isEmpty(table_uuid)) {
|
table_name = instance.getCacheData("所有表信息", new String[]{table_uuid}).getString(0, CmnConst.TABLE_NAME);
|
}
|
if (StringUtils.isEmpty(table_name)) {
|
return this.error(SystemCode.GET_FIELD_FIAL.getValue(), SystemCode.GET_FIELD_FIAL.getText());
|
}
|
return publicService.getFields(table_name, fse.getBoolean("relevanceTable"));
|
} catch (BaseException e) {
|
e.printStackTrace();
|
return this.error(e);
|
} catch (Exception e) {
|
e.printStackTrace();
|
SpringMVCContextHolder.getSystemLogger().error(e);
|
return this.error(SystemCode.GET_FIELD_FIAL.getValue(), SystemCode.GET_FIELD_FIAL.getText());
|
}
|
}
|
|
/**
|
* 获取字段
|
*
|
* @param request
|
* @return
|
*/
|
@PostMapping("/get-fields-by-function/{version}")
|
@ApiVersion(1)
|
public String getFieldsByFunction(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 (fse.getTableName() == null || !CmnConst.PRODUCT_SYS_DATAMODEL_FIELD.equals(fse.getTableName())) {
|
SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
|
return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
|
}
|
String function_uuid = fse.getString(CmnConst.FUNCTION_UUID);
|
String table_uuid = publicService.getTableByFunction(function_uuid);
|
String table_name = fse.getString(CmnConst.TABLE_NAME);
|
DataPoolCacheImpl instance = DataPoolCacheImpl.getInstance();
|
if (!StringUtils.isEmpty(table_uuid)) {
|
table_name = instance.getCacheData("所有表信息", new String[]{table_uuid}).getString(0, CmnConst.TABLE_NAME);
|
}
|
if (StringUtils.isEmpty(table_name)) {
|
return this.error(SystemCode.GET_FIELD_FIAL.getValue(), SystemCode.GET_FIELD_FIAL.getText());
|
}
|
return publicService.getFields(table_name, fse.getBoolean("relevanceTable"));
|
} catch (BaseException e) {
|
e.printStackTrace();
|
return this.error(e);
|
} catch (Exception e) {
|
e.printStackTrace();
|
SpringMVCContextHolder.getSystemLogger().error(e);
|
return this.error(SystemCode.GET_FIELD_FIAL.getValue(), SystemCode.GET_FIELD_FIAL.getText());
|
}
|
}
|
|
// /**
|
// * 获取系统消息
|
// *
|
// * @param request
|
// * @return
|
// */
|
// @PostMapping("/get-system-message/{version}")
|
// @ApiVersion(1)
|
// public String getSystemMessage(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());
|
// }
|
// Integer message_type = fse.getInteger("message_type");
|
// //创建获取消息对象
|
// FieldSetEntity fseMessage = new FieldSetEntity();
|
// fseMessage.setTableName("product_sys_message"); //装载表名
|
// fseMessage.setValue(CmnConst.USER_ID, SpringMVCContextHolder.getCurrentUser().getUser_id()); //user_id
|
// fseMessage.setValue("token", SpringMVCContextHolder.getCurrentUser().getToken_info()); //装载token
|
// fseMessage.setValue(CmnConst.USER_ACCOUNT, SpringMVCContextHolder.getCurrentUser().getUser_account()); //装载用户名
|
// WebsocketMesssageService websocketMesssageService = SpringBeanUtil.getBean(WebsocketMesssageService.class);
|
// DataTableEntity dt = websocketMesssageService.readUserMessage(fseMessage);
|
// if (message_type != null) {
|
// if (!BaseUtil.dataTableIsEmpty(dt)) {
|
// dt = dt.clones();
|
// for (int i = 0; i < dt.getRows(); i++) {
|
// if (message_type != dt.getInt(i, "message_type")) {
|
// dt.removeFieldSetEntity(i);
|
// i--;
|
// }
|
// }
|
// }
|
// }
|
// return OK_List(dt);
|
// } catch (BaseException e) {
|
// e.printStackTrace();
|
// SpringMVCContextHolder.getSystemLogger().error(e);
|
// return this.error(SystemCode.GET_SYSTEM_MESSAGE_FIAL.getValue(), SystemCode.GET_SYSTEM_MESSAGE_FIAL.getText());
|
// } catch (Exception e) {
|
// e.printStackTrace();
|
// SpringMVCContextHolder.getSystemLogger().error(e);
|
// return this.error(SystemCode.GET_SYSTEM_MESSAGE_FIAL.getValue(), SystemCode.GET_SYSTEM_MESSAGE_FIAL.getText() + e.getMessage());
|
// }
|
// }
|
|
|
/**
|
* 获取系统变量
|
*
|
* @param request
|
* @return
|
*/
|
@PostMapping("/get-system-variate/{version}")
|
@ApiVersion(1)
|
public String getSystemVariate(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());
|
}
|
|
Map<String, Object> systemParams = SystemParamSet.SYSTEM_PARAMS;
|
List<Map<Object, Object>> reuslt = new ArrayList<>();
|
|
if (systemParams != null) {
|
for (Map.Entry<String, Object> key : systemParams.entrySet()) {
|
Map<Object, Object> map = new HashMap<>();
|
|
//系统变量名
|
map.put("variate_name", key.getKey());
|
String[] value = (String[]) key.getValue();
|
//变量描述
|
map.put("variate_description", value[0]);
|
//变量数据类型
|
map.put("variate_type", value[1]);
|
//变量数据类型
|
map.put("variate_class", value[2]);
|
reuslt.add(map);
|
}
|
}
|
return BaseUtil.success(reuslt, null);
|
} catch (
|
BaseException e) {
|
e.printStackTrace();
|
return this.error(e);
|
} catch (
|
Exception e) {
|
e.printStackTrace();
|
SpringMVCContextHolder.getSystemLogger().error(e);
|
return this.error(SystemCode.GET_SYSTEM_VARIATE_FIAL.getValue(), SystemCode.GET_SYSTEM_VARIATE_FIAL.getText());
|
}
|
|
}
|
|
/**
|
* 列表-通用获取
|
*
|
* @param request
|
* @return
|
*/
|
@RequestMapping(value = "/list-info/{version}", method = RequestMethod.POST)
|
@ApiVersion(1)
|
public String listInfo(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 (StringUtils.isEmpty(fse.getTableName())) {
|
return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
|
}
|
return BaseUtil.success(publicService.listTable(fse));
|
} catch (BaseException e) {
|
e.printStackTrace();
|
return this.error(e);
|
} catch (Exception e) {
|
e.printStackTrace();
|
return error(SystemCode.LIST_INFO_FAIL.getValue(), SystemCode.LIST_INFO_FAIL.getText());
|
}
|
}
|
|
|
/**
|
* 列表-通用获取
|
*
|
* @param request
|
* @return
|
*/
|
@RequestMapping(value = "/save-table/{version}", method = RequestMethod.POST)
|
@ApiVersion(1)
|
public String saveTable(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());
|
}
|
if (StringUtils.isEmpty(fse.getTableName())) {
|
return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
|
}
|
return OK_Add(publicService.saveFieldSetEntity(fse));
|
} catch (BaseException e) {
|
e.printStackTrace();
|
return this.error(e);
|
} catch (Exception e) {
|
e.printStackTrace();
|
SpringMVCContextHolder.getSystemLogger().error(e);
|
return error(SystemCode.OPERATION_DATA_FAIL.getValue(), SystemCode.OPERATION_DATA_FAIL.getText());
|
}
|
}
|
|
/**
|
* 列表-通用获取
|
*
|
* @param request
|
* @return
|
*/
|
@RequestMapping(value = "/find-table/{version}", method = RequestMethod.POST)
|
@ApiVersion(1)
|
public String findTable(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());
|
}
|
if (StringUtils.isEmpty(fse.getTableName())) {
|
return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
|
}
|
return OK_List(publicService.getFieldSetEntity(fse, true));
|
} catch (BaseException e) {
|
e.printStackTrace();
|
return this.error(e);
|
} catch (Exception e) {
|
SpringMVCContextHolder.getSystemLogger().error(e);
|
e.printStackTrace();
|
return error(SystemCode.OPERATION_DATA_FAIL.getValue(), SystemCode.OPERATION_DATA_FAIL.getText());
|
}
|
}
|
|
|
/**
|
* 列表-通用获取
|
*
|
* @param request
|
* @return
|
*/
|
@RequestMapping(value = "/del-table/{version}", method = RequestMethod.POST)
|
@ApiVersion(1)
|
public String delTable(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());
|
}
|
if (StringUtils.isEmpty(fse.getTableName())) {
|
return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
|
}
|
publicService.delete(fse);
|
return OK();
|
} catch (BaseException e) {
|
e.printStackTrace();
|
return this.error(e);
|
} catch (Exception e) {
|
SpringMVCContextHolder.getSystemLogger().error(e);
|
e.printStackTrace();
|
return error(SystemCode.OPERATION_DATA_FAIL.getValue(), SystemCode.OPERATION_DATA_FAIL.getText());
|
}
|
}
|
|
|
}
|