package jnpf.base.util;
|
|
import com.baomidou.dynamic.datasource.annotation.DS;
|
import jnpf.base.BillRuleApi;
|
import jnpf.base.DataInterFaceApi;
|
import jnpf.base.DataModelApi;
|
import jnpf.base.DataSourceApi;
|
import jnpf.constant.MsgCode;
|
import jnpf.database.model.dbfield.DbFieldModel;
|
import jnpf.database.model.dbfield.base.DbFieldModelBase;
|
import jnpf.database.model.dbtable.DbTableFieldModel;
|
import jnpf.database.model.entity.DbLinkEntity;
|
import jnpf.database.util.TenantDataSourceUtil;
|
import jnpf.exception.DataException;
|
import jnpf.permission.OrganizeApi;
|
import jnpf.permission.PositionApi;
|
import jnpf.permission.UserApi;
|
import jnpf.permission.entity.OrganizeEntity;
|
import jnpf.permission.entity.UserEntity;
|
import jnpf.util.JsonUtil;
|
import jnpf.util.StringUtil;
|
import lombok.RequiredArgsConstructor;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.stereotype.Component;
|
|
import java.util.Collections;
|
import java.util.List;
|
import java.util.Map;
|
|
import static jnpf.util.Constants.ADMIN_KEY;
|
|
/**
|
* @author :JNPF开发平台组
|
* @version: V3.1.0
|
* @copyright 引迈信息技术有限公司
|
* @date :2022/4/9 13:28
|
*/
|
@Slf4j
|
@DS("")
|
@Component
|
@RequiredArgsConstructor
|
public class ServiceBaseUtil {
|
|
private final DataSourceApi dblinkService;
|
private final DataModelApi dbTableService;
|
private final UserApi userService;
|
private final OrganizeApi organizeService;
|
private final PositionApi positionService;
|
private final BillRuleApi billRuleService;
|
private final DataInterFaceApi dataInterfaceService;
|
|
//--------------------------------数据连接------------------------------
|
public DbLinkEntity getDbLink(String dbLink) {
|
DbLinkEntity link = StringUtil.isNotEmpty(dbLink) && !"0".equals(dbLink) ? dblinkService.getInfo(dbLink) : TenantDataSourceUtil.getDataSourceConfig();
|
if (dbLink == null) {
|
throw new DataException(MsgCode.SYS054.get());
|
}
|
return link;
|
}
|
|
public boolean isExistTable(String dbLinkId, String table) {
|
try {
|
return dbTableService.isExistTable(dbLinkId, table);
|
} catch (Exception e) {
|
throw new DataException(e.getMessage());
|
}
|
}
|
|
public void createTable(List<DbTableFieldModel> dbTable) {
|
try {
|
dbTableService.createTable(dbTable);
|
} catch (Exception e) {
|
throw new DataException(e.getMessage());
|
}
|
}
|
|
public void addField(DbTableFieldModel dbTable) {
|
try {
|
dbTableService.addField(dbTable);
|
} catch (Exception e) {
|
throw new DataException(e.getMessage());
|
}
|
}
|
|
/**
|
* 获取所有字段
|
*
|
* @param linkId 链接名
|
* @param table 表名
|
* @return
|
* @throws Exception
|
*/
|
public List<DbFieldModel> getFieldList(String linkId, String table) {
|
try {
|
List<DbFieldModelBase> fieldList = dbTableService.getDbTableModel(linkId, table);
|
return JsonUtil.getJsonToList(fieldList, DbFieldModel.class);
|
} catch (Exception e) {
|
throw new DataException(e.getMessage());
|
}
|
}
|
|
|
//--------------------------------用户------------------------------
|
|
public UserEntity getUserInfo(String id) {
|
UserEntity entity = null;
|
if (StringUtil.isNotEmpty(id)) {
|
entity = id.equalsIgnoreCase(ADMIN_KEY) ? userService.getInfoByAccount(id) : userService.getInfoById(id);
|
}
|
return entity;
|
}
|
|
|
//--------------------------------单据规则------------------------------
|
public String getBillNumber(String enCode) {
|
String billNo = "";
|
try {
|
billNo = billRuleService.getBillNumber(enCode).getData();
|
} catch (Exception e) {
|
log.error(e.getMessage(), e);
|
}
|
return billNo;
|
}
|
|
|
//--------------------------------组织------------------------------
|
|
public String getOrganizeName(String idStr) {
|
return organizeService.getNameByIdStr(idStr);
|
}
|
|
public OrganizeEntity getOrganizeInfo(String id) {
|
return StringUtil.isNotEmpty(id) ? organizeService.getInfoById(id) : null;
|
}
|
|
public List<OrganizeEntity> getOrganizeId(String organizeId) {
|
List<OrganizeEntity> organizeList = organizeService.getOrganizeId(organizeId);
|
Collections.reverse(organizeList);
|
return organizeList;
|
}
|
|
//--------------------------------岗位------------------------------
|
public String getPositionName(String idStr) {
|
return positionService.getNameByIdStr(idStr);
|
}
|
|
//--------------------------------远端------------------------------
|
public void infoToId(String interId, Map<String, String> parameterMap) {
|
dataInterfaceService.infoToIdById(interId, parameterMap);
|
}
|
|
}
|