LinkServiceImpl.java 文件源码

java
阅读 35 收藏 0 点赞 0 评论 0

项目:TITAN 作者:
/**
 * @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;
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号