/**
* @desc 删除链路并更新链路相关的场景
*
* @author liuliang
*
* @param linkId 链路ID
* @param sceneCount 包含该链路ID的场景数
* @return int 受影响的记录数
* @throws Exception
*/
@Override
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class, isolation = Isolation.DEFAULT, timeout = 5)
public int removeLinkAndUpdateScene(long linkId, int sceneCount) throws Exception {
//1、删除链路
int removedLinkNum = linkDao.removeLink(String.valueOf(linkId));
//2、更新链路相关场景
//2.1、查询linkId关联的所有场景
List<Scene> sceneList = sceneDao.getSceneListByLinkId(linkId, 0, sceneCount);
//2.2、逐条处理
if((null != sceneList) && (0 < sceneList.size())){
String containLinkid = "";
String linkRelation = "";
for(Scene scene:sceneList){
containLinkid = scene.getContainLinkid();
linkRelation = scene.getLinkRelation();
if(containLinkid.equals(String.valueOf(linkId))){
//2.2.1、该场景只包含待删除的一个链路,直接删除场景
sceneDao.removeScene(String.valueOf(scene.getSceneId()));
}else{
//2.2.2、该场景包含多个链路,更新场景
//a、数据处理
containLinkid = this.replaceLinkId(linkId, containLinkid);
linkRelation = this.replaceLinkId(linkId, linkRelation);
//b、更新
scene.setContainLinkid(containLinkid);
scene.setLinkRelation(linkRelation);
sceneDao.updateScene(scene);
}
}
}
//3、返回处理结果
return removedLinkNum;
}
LinkServiceImpl.java 文件源码
java
阅读 35
收藏 0
点赞 0
评论 0
项目:TITAN
作者:
评论列表
文章目录