if (files != null) {
result = new ArrayList<DBFilesBean>();
for(String key: files.keySet()) {
long file_id = Long.valueOf(key);
Map<String, Object> info = (Map<String, Object>)files.get(key);
DBFilesBean bean = DbAccess.filesAccess.getFileByGameIdAndFileId(game_id, file_id);
bean.setState((String) info.get("state"));
bean.setLinkType((String) info.get("type"));
if (update && bean.getGameFileId() != null && ("insert".equals(bean.getState()) || "none".equals(bean.getState()))) {
DbAccess.gameFilesAccess.updateByPrimaryKey(mapper.map(bean, DBGameFilesBean.class), bean.getGameFileId());
} else if (update && bean.getGameFileId() != null && "delete".equals(bean.getState())) {
DbAccess.gameFilesAccess.deleteByPrimaryKey(bean.getGameFileId());
} else if (update && bean.getGameFileId() == null && "insert".equals(bean.getState())) {
DBGameFilesBean newBean = new DBGameFilesBean().
setFileId(file_id).setGameId(game_id).setLinkType(bean.getLinkType()).setIsActive(1);
DbAccess.gameFilesAccess.insert(newBean);
}
if (!update || !"delete".equals(bean.getState())) {
result.add(bean);
}
}
}
return result;