@Resource
private DataSourceTransactionManager transactionManager;
DefaultTransactionDefinition def = new DefaultTransactionDefinition();
def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW);
TransactionStatus status = transactionManager.getTransaction(def);
try {
List<DistrictAO> districts = districtCustomizedMapper.getCodeAndName(true);
if (CollectionUtils.isNotEmpty(districts)) {
for (DistrictAO district : districts) {
if (district.getAdcode().equals(district.getParentAdcode())) {
continue;
}
if (!treeMap.containsKey(district.getParentAdcode())) {
treeMap.put(district.getParentAdcode(), new ArrayList<DistrictAO>());
}
treeMap.get(district.getParentAdcode()).add(district);
}
}
} catch (Exception e) {
transactionManager.rollback(status);
LOG.error(e.getMessage(), e);
} finally {
try {
transactionManager.commit(status);
} catch (Exception e) {
LOG.error("事务提交异常", e);
transactionManager.rollback(status);
}
}