package com.dy.aceMw.server.rtuData.dbSv; import com.dy.common.multiDataSource.DataSourceSingle; import com.dy.common.mw.protocol.Data; import com.dy.common.mw.protocol.p206V1_0_0.DataV1_0_1; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.Date; import com.dy.pipIrrGlobal.test.*; @Service() public class RtuSv { @Autowired public TestPo0Mapper dao0 ; @Autowired public TestPo1Mapper dao1 ; @Autowired public TestPo2Mapper dao2 ; @Autowired public TestPo3Mapper dao3 ; @Autowired public TestPo4Mapper dao4 ; @Autowired public TestPo5Mapper dao5 ; @Autowired public TestPo6Mapper dao6 ; @Autowired public TestPo7Mapper dao7 ; @Autowired public TestPo8Mapper dao8 ; @Autowired public TestPo9Mapper dao9 ; @Autowired @Lazy private RtuSv sv ; public int save(Data data){ int count = 0 ; if(data != null && data.getSubData() != null){ Object obj = data.getSubData() ; if(obj != null && obj instanceof DataV1_0_1){ DataV1_0_1 dataV1_0_1 = (DataV1_0_1)obj ; if(dataV1_0_1 != null && dataV1_0_1.dataCdC0Vo != null){ //见https://blog.csdn.net/qq_32590703/article/details/109320381 //this.save0(dataV1_0_1)这种调用方法save0,save0上的注解不生效,因为采用AOP后,会生产代理类来运行 //count += ((RtuSv)AopContext.currentProxy()).save0(dataV1_0_1); //count += ((RtuSv)AopContext.currentProxy()).save1(dataV1_0_1); count += sv.save0(dataV1_0_1); count += sv.save1(dataV1_0_1); count += sv.save2(dataV1_0_1); count += sv.save3(dataV1_0_1); count += sv.save4(dataV1_0_1); count += sv.save5(dataV1_0_1); count += sv.save6(dataV1_0_1); count += sv.save7(dataV1_0_1); count += sv.save8(dataV1_0_1); count += sv.save9(dataV1_0_1); } } } return count ; } @DataSourceSingle() @Transactional public int save0(DataV1_0_1 dataV1_0_1){ TestPo0 po = new TestPo0() ; po.rtuAddr = dataV1_0_1.rtuAddr ; po.dt = new Date() ; po.content = dataV1_0_1.dataCdC0Vo.toString() ; return dao0.putin(po) ; } @DataSourceSingle() @Transactional public int save1(DataV1_0_1 dataV1_0_1){ TestPo1 po = new TestPo1() ; po.rtuAddr = dataV1_0_1.rtuAddr ; po.dt = new Date() ; po.content = dataV1_0_1.dataCdC0Vo.toString() ; return dao1.putin(po) ; } @DataSourceSingle() @Transactional public int save2(DataV1_0_1 dataV1_0_1){ TestPo2 po = new TestPo2() ; po.rtuAddr = dataV1_0_1.rtuAddr ; po.dt = new Date() ; po.content = dataV1_0_1.dataCdC0Vo.toString() ; return dao2.putin(po) ; } @DataSourceSingle() @Transactional public int save3(DataV1_0_1 dataV1_0_1){ TestPo3 po = new TestPo3() ; po.rtuAddr = dataV1_0_1.rtuAddr ; po.dt = new Date() ; po.content = dataV1_0_1.dataCdC0Vo.toString() ; return dao3.putin(po) ; } @DataSourceSingle() @Transactional public int save4(DataV1_0_1 dataV1_0_1){ TestPo4 po = new TestPo4() ; po.rtuAddr = dataV1_0_1.rtuAddr ; po.dt = new Date() ; po.content = dataV1_0_1.dataCdC0Vo.toString() ; return dao4.putin(po) ; } @DataSourceSingle() @Transactional public int save5(DataV1_0_1 dataV1_0_1){ TestPo5 po = new TestPo5() ; po.rtuAddr = dataV1_0_1.rtuAddr ; po.dt = new Date() ; po.content = dataV1_0_1.dataCdC0Vo.toString() ; return dao5.putin(po) ; } @DataSourceSingle() @Transactional public int save6(DataV1_0_1 dataV1_0_1){ TestPo6 po = new TestPo6() ; po.rtuAddr = dataV1_0_1.rtuAddr ; po.dt = new Date() ; po.content = dataV1_0_1.dataCdC0Vo.toString() ; return dao6.putin(po) ; } @DataSourceSingle() @Transactional public int save7(DataV1_0_1 dataV1_0_1){ TestPo7 po = new TestPo7() ; po.rtuAddr = dataV1_0_1.rtuAddr ; po.dt = new Date() ; po.content = dataV1_0_1.dataCdC0Vo.toString() ; return dao7.putin(po) ; } @DataSourceSingle() @Transactional public int save8(DataV1_0_1 dataV1_0_1){ TestPo8 po = new TestPo8() ; po.rtuAddr = dataV1_0_1.rtuAddr ; po.dt = new Date() ; po.content = dataV1_0_1.dataCdC0Vo.toString() ; return dao8.putin(po) ; } @DataSourceSingle() @Transactional public int save9(DataV1_0_1 dataV1_0_1){ TestPo9 po = new TestPo9() ; po.rtuAddr = dataV1_0_1.rtuAddr ; po.dt = new Date() ; po.content = dataV1_0_1.dataCdC0Vo.toString() ; return dao9.putin(po) ; } }