FIX Data truncation: Data too long for column 'tp_id' at row (#738)

pull/804/head
guoz 3 years ago
parent 0485971cdd
commit bca8aaaa23

@ -71,6 +71,23 @@ public class ConfigCacheService {
return Objects.equals(contentMd5, md5); return Objects.equals(contentMd5, md5);
} }
/**
* check TpId.
*
* @param groupKey
* @param tpId
* @param clientIdentify
* @return
*/
public static boolean checkTpId(String groupKey, String tpId, String clientIdentify) {
Map<String, CacheItem> cacheItemMap = Optional.ofNullable(CLIENT_CONFIG_CACHE.get(groupKey)).orElse(Maps.newHashMap());
CacheItem cacheItem;
if (CollUtil.isNotEmpty(cacheItemMap) && (cacheItem = cacheItemMap.get(clientIdentify)) != null) {
return Objects.equals(tpId, cacheItem.configAllInfo.getTpId());
}
return Boolean.FALSE;
}
/** /**
* Get Md5. * Get Md5.
* *

@ -31,6 +31,7 @@ import cn.hippo4j.config.model.biz.monitor.MonitorActiveRespDTO;
import cn.hippo4j.config.model.biz.monitor.MonitorQueryReqDTO; import cn.hippo4j.config.model.biz.monitor.MonitorQueryReqDTO;
import cn.hippo4j.config.model.biz.monitor.MonitorRespDTO; import cn.hippo4j.config.model.biz.monitor.MonitorRespDTO;
import cn.hippo4j.config.monitor.QueryMonitorExecuteChoose; import cn.hippo4j.config.monitor.QueryMonitorExecuteChoose;
import cn.hippo4j.config.service.ConfigCacheService;
import cn.hippo4j.config.service.biz.HisRunDataService; import cn.hippo4j.config.service.biz.HisRunDataService;
import cn.hippo4j.config.toolkit.BeanUtil; import cn.hippo4j.config.toolkit.BeanUtil;
import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateTime;
@ -150,11 +151,14 @@ public class HisRunDataServiceImpl extends ServiceImpl<HisRunDataMapper, HisRunD
runtimeMessages.forEach(each -> { runtimeMessages.forEach(each -> {
HisRunDataInfo hisRunDataInfo = BeanUtil.convert(each, HisRunDataInfo.class); HisRunDataInfo hisRunDataInfo = BeanUtil.convert(each, HisRunDataInfo.class);
String[] parseKey = GroupKey.parseKey(each.getGroupKey()); String[] parseKey = GroupKey.parseKey(each.getGroupKey());
boolean checkFlag = ConfigCacheService.checkTpId(each.getGroupKey(), parseKey[0], parseKey[3]);
if (checkFlag) {
hisRunDataInfo.setTpId(parseKey[0]); hisRunDataInfo.setTpId(parseKey[0]);
hisRunDataInfo.setItemId(parseKey[1]); hisRunDataInfo.setItemId(parseKey[1]);
hisRunDataInfo.setTenantId(parseKey[2]); hisRunDataInfo.setTenantId(parseKey[2]);
hisRunDataInfo.setInstanceId(parseKey[3]); hisRunDataInfo.setInstanceId(parseKey[3]);
hisRunDataInfos.add(hisRunDataInfo); hisRunDataInfos.add(hisRunDataInfo);
}
}); });
this.saveBatch(hisRunDataInfos); this.saveBatch(hisRunDataInfos);
} }

Loading…
Cancel
Save