package foundation.icall.callout.send;
|
|
import foundation.dao.DataPackage;
|
import foundation.dao.DataReader;
|
import foundation.dao.DataSource;
|
import foundation.dao.PackageItem;
|
import foundation.data.entity.Entity;
|
import foundation.util.Util;
|
|
public class SendAddress {
|
private String fieldAddress;
|
private String itemName;
|
private AddressType addressType;
|
|
public SendAddress(String fieldMailAddress) {
|
addressType = AddressType.Business;
|
|
if (fieldMailAddress.equalsIgnoreCase("user")) {
|
addressType = AddressType.User;
|
}
|
else if(fieldMailAddress.contains("@")) {
|
addressType = AddressType.Default;
|
}
|
|
int pos = fieldMailAddress.indexOf("__");
|
|
if (pos > 0) {
|
this.itemName = fieldMailAddress.substring(0, pos);
|
this.fieldAddress = fieldMailAddress.substring(pos+2);
|
}
|
else {
|
this.fieldAddress = fieldMailAddress;
|
}
|
}
|
|
public String get(DataPackage dataPackage) throws Exception{
|
if (addressType == AddressType.Default) {
|
return fieldAddress;
|
}
|
else if (addressType == AddressType.User) {
|
// 取自当前用户
|
}
|
|
Entity entity;
|
dataPackage.loadOneDataFromDB();
|
PackageItem packageItem = dataPackage.getMaster();
|
|
if (!Util.isEmpty(itemName)) {
|
String result = packageItem.getValueString(itemName + "__" + fieldAddress);
|
|
if (!Util.isEmpty(result)) {
|
return result;
|
}
|
packageItem = dataPackage.getItem(itemName);
|
}
|
|
if (packageItem == null) {
|
DataPackage host = dataPackage.getHost();
|
host.loadOneDataFromDB();
|
packageItem = host.getItem(itemName);
|
}
|
|
entity = packageItem.getEntity(DataSource.DB, DataSource.Request);
|
return entity.getString(fieldAddress);
|
}
|
|
public String get(DataReader dataReader) throws Exception{
|
if (addressType == AddressType.Default) {
|
return fieldAddress;
|
}
|
else if (addressType == AddressType.User) {
|
// 取自当前用户
|
}
|
|
return dataReader.getString(fieldAddress);
|
}
|
}
|