package cn.ksource.web.service.impl;
|
|
import java.util.List;
|
import java.util.Map;
|
|
import org.apache.commons.lang.StringUtils;
|
import org.apache.log4j.Logger;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import cn.ksource.core.config.CacheKeyUtil;
|
import cn.ksource.core.dao.BaseDao;
|
import cn.ksource.core.dao.SqlParameter;
|
import cn.ksource.core.util.ConvertUtil;
|
import cn.ksource.web.service.DataDictionaryService;
|
|
@Service("dataDictionaryService")
|
public class DataDictionaryServiceImpl implements DataDictionaryService {
|
|
private static Logger logger = Logger.getLogger(DataDictionaryServiceImpl.class);
|
|
@Autowired
|
private BaseDao baseDao;
|
|
@Override
|
public Map getAreaById(String areaid) {
|
if (StringUtils.isBlank(areaid)) {
|
return null;
|
}
|
Object object = null;
|
if (object == null) {
|
String sql = "select * from config_data_dictionary_area where id=:areaid";
|
object = baseDao.queryForMap(sql,new SqlParameter("areaid",areaid));
|
if (object != null) {
|
return (Map)object;
|
} else {
|
return null;
|
}
|
}
|
return (Map)object;
|
}
|
|
@Override
|
public List<Map> getAreaListByParentID(String parentid) {
|
String myPid = null;
|
if (StringUtils.isBlank(parentid)) {
|
myPid = "0";
|
} else {
|
myPid = parentid;
|
}
|
Object object = null;
|
if (object == null) {
|
String sql = "select ID,ADDRESS_NAME from config_data_dictionary_area where ADDRESS_STATUS=1 ";
|
if (StringUtils.isBlank(myPid) || myPid.equalsIgnoreCase("0")) {
|
sql += " and UP_ID is null";
|
} else {
|
sql += " and UP_ID=:parentid";
|
}
|
sql += " order by ADDRESS_SN ";
|
List<Map> list = baseDao.queryForList(sql,new SqlParameter("parentid",myPid));
|
if (list != null && !list.isEmpty()) {
|
return list;
|
} else {
|
return null;
|
}
|
}
|
return (List<Map>)object;
|
}
|
|
@Override
|
public List<Map> getDataDictionaryByCategoryKey(String categoryKey) {
|
if (StringUtils.isBlank(categoryKey)) {
|
return null;
|
}
|
Object object = null;
|
if (object == null) {
|
String sql = "SELECT * FROM CONFIG_DATA_DICTIONARY " +
|
"WHERE CATEGORYID=(SELECT ID FROM CONFIG_DATA_DICTIONARY_CATEGORY WHERE CATEGORYKEY=:CATEGORYKEY) AND USESTATE=1 ORDER BY ORDERNUM ";
|
List<Map> list = baseDao.queryForList(sql,new SqlParameter("CATEGORYKEY",categoryKey));
|
if (list != null && !list.isEmpty()) {
|
return list;
|
} else {
|
return null;
|
}
|
}
|
return (List<Map>)object;
|
}
|
|
@Override
|
public Map getDataDictionaryByKey(String dicKey) {
|
if (StringUtils.isBlank(dicKey)) {
|
return null;
|
}
|
if (StringUtils.isBlank(dicKey)) {
|
return null;
|
}
|
Object object = null;
|
if (object == null) {
|
String sql = "select * from CONFIG_DATA_DICTIONARY where DATAKEY=:DATAKEY";
|
object = baseDao.queryForMap(sql,new SqlParameter("DATAKEY",dicKey));
|
if (object != null) {
|
return (Map)object;
|
} else {
|
return null;
|
}
|
}
|
return (Map)object;
|
}
|
|
@Override
|
public String getInterfaceUrlByKey(String interfaceKey) {
|
if (StringUtils.isBlank(interfaceKey)) {
|
return null;
|
}
|
Object object = null;
|
String result = null;
|
if (object == null) {
|
String sql =
|
"select CONFIG_DATA_SUBSYSTEM.SYSTEMKEY, CONFIG_DATA_INTERFACE.INTERFACEURL \n" +
|
"from CONFIG_DATA_INTERFACE,CONFIG_DATA_SUBSYSTEM \n" +
|
"WHERE CONFIG_DATA_INTERFACE.SYSTEMID = CONFIG_DATA_SUBSYSTEM.ID\n" +
|
"AND CONFIG_DATA_INTERFACE.INTERFACEKEY = :INTERFACEKEY";
|
Map map = baseDao.queryForMap(sql,new SqlParameter("INTERFACEKEY",interfaceKey));
|
object = map.get("INTERFACEURL");
|
if (object != null) {
|
result = getSubSystemUrl(ConvertUtil.obj2Str(map.get("SYSTEMKEY"))) + object.toString();
|
return result;
|
} else {
|
return null;
|
}
|
}
|
return object.toString();
|
}
|
|
@Override
|
public String getInterfaceUrlByMessageKey(String messageKey) {
|
if (StringUtils.isBlank(messageKey)) {
|
return null;
|
}
|
Object object = null;
|
if (object == null) {
|
String sql = "select INTERFACEKEY from CONFIG_DATA_MESSAGE where MESSAGE_KEY=:MESSAGE_KEY";
|
object = baseDao.queryForString(sql,new SqlParameter("MESSAGE_KEY",messageKey));
|
if (object != null) {
|
return getInterfaceUrlByKey(object.toString());
|
} else {
|
return null;
|
}
|
} else {
|
return getInterfaceUrlByKey(object.toString());
|
}
|
|
}
|
|
@Override
|
public String getSubSystemUrl(String systemKey) {
|
if (StringUtils.isBlank(systemKey)) {
|
return null;
|
}
|
Object object = null;
|
if (object == null) {
|
String sql = "select URL from CONFIG_DATA_SUBSYSTEM where SYSTEMKEY=:SYSTEMKEY";
|
object = baseDao.queryForString(sql,new SqlParameter("SYSTEMKEY",systemKey));
|
if (object != null) {
|
return object.toString();
|
} else {
|
return null;
|
}
|
}
|
return object.toString();
|
}
|
|
@Override
|
public void updateAreaById(String areaid) {
|
if (StringUtils.isBlank(areaid)) {
|
return;
|
}
|
String sql = "select UP_ID from config_data_dictionary_area where ID=:ID";
|
String parentid = baseDao.queryForString(sql,new SqlParameter("ID",areaid));
|
updateAreaListByParentID(parentid);
|
}
|
|
@Override
|
public void updateAreaListByParentID(String parentid) {
|
if (StringUtils.isBlank(parentid)) {
|
parentid="0";
|
}
|
logger.info("update area list cache :" + parentid );
|
}
|
|
|
|
|
@Override
|
public void updateDataDictionaryByCategoryKey(String categoryKey) {
|
if (StringUtils.isBlank(categoryKey)) {
|
return;
|
}
|
}
|
|
@Override
|
public void updateDataDictionaryByKey(String dicKey) {
|
if (StringUtils.isBlank(dicKey)) {
|
return;
|
}
|
String sql = "select CATEGORYKEY from CONFIG_DATA_DICTIONARY_CATEGORY where " +
|
"id=(select CATEGORYID from CONFIG_DATA_DICTIONARY where DATAKEY=:DATAKEY)";
|
String key = baseDao.queryForString(sql,new SqlParameter("DATAKEY",dicKey));
|
updateDataDictionaryByCategoryKey(key);
|
}
|
|
@Override
|
public void updateInterfaceUrlByKey(String interfaceKey) {
|
if (StringUtils.isBlank(interfaceKey)) {
|
return;
|
}
|
}
|
|
@Override
|
public void updateInterfaceUrlByMessageKey(String messageKey) {
|
if (StringUtils.isBlank(messageKey)) {
|
return;
|
}
|
}
|
|
@Override
|
public void updateSubSystemUrl(String systemKey) {
|
if (StringUtils.isBlank(systemKey)) {
|
return;
|
}
|
String sql =
|
"select CONFIG_DATA_INTERFACE.INTERFACEKEY \n" +
|
"from CONFIG_DATA_INTERFACE,CONFIG_DATA_SUBSYSTEM \n" +
|
"WHERE CONFIG_DATA_INTERFACE.SYSTEMID = CONFIG_DATA_SUBSYSTEM.ID\n" +
|
"AND CONFIG_DATA_SUBSYSTEM.SYSTEMKEY = :systemKey";
|
List<Map> list = baseDao.queryForList(sql,new SqlParameter("systemKey",systemKey));
|
for (Map map : list) {
|
updateInterfaceUrlByKey(map.get("INTERFACEKEY").toString());
|
}
|
}
|
|
}
|