设为首页 收藏本站
查看: 1184|回复: 0

[经验分享] 给力--oracle 数据库同步

[复制链接]

尚未签到

发表于 2018-9-26 07:16:02 | 显示全部楼层 |阅读模式

  说明:
  1.建立数据库之间的关联请参考上一篇《给力--oracle 与sql同步》
  2.数据库同步脚本如下:
  create or replace procedure prod_synchronized_data
  as
  --作者:chenab
  --时间:2011-01-10
  --功能:原XXX系统中人事与卡信息同步到XXX管理系统中
  begin
  -- *********************人事岗位同步 ******************* ----
  --插入操作(没有的数据)
  insert into _post@door
  select * from _post s where not exists(
  select 1 from _post@door d where d.smt_postcode=s.smt_postcode
  );
  --更新改变的数据
  update _post@door d set
  (
  smt_postname,
  smt_postexplain,
  smt_dailycode,
  smt_dailyno,
  smt_shortname,
  smt_enlishname,
  smt_mnemonic,
  smt_codeby,
  smt_gbflag
  )=
  (select
  smt_postname,
  smt_postexplain,
  smt_dailycode,
  smt_dailyno,
  smt_shortname,
  smt_enlishname,
  smt_mnemonic,
  smt_codeby,
  smt_gbflag
  from _post s where s.smt_postcode=d.smt_postcode)
  where exists(
  select 1 from _post t  where t.smt_postcode=d.smt_postcode and
  not (
  t.smt_postname = d.smt_postname and
  t.smt_postexplain =d.smt_postexplain and
  t.smt_dailycode= d.smt_dailycode and
  t.smt_dailyno=d.smt_dailyno and
  t.smt_shortname = d.smt_shortname and
  t.smt_enlishname = d.smt_enlishname and
  t.smt_mnemonic =d.smt_mnemonic and
  t.smt_codeby = d.smt_codeby and
  t.smt_gbflag = d.smt_gbflag
  )
  );
  --删除操作
  delete from _post@door d where not exists(
  select 1 from _post s  where d.smt_postcode=s.smt_postcode
  );
  commit;
  -- *********************人事身份同步 *******************
  --插入操作(没有的数据)
  insert into _status@door
  select * from _status s where not exists(
  select 1 from _status@door d where d.smt_statuscode=s.smt_statuscode
  );
  --更新改变的数据
  update _status@door d set
  (
  smt_statusname,
  smt_statusexplain,
  smt_foriccard,
  smt_forshowcard,
  smt_dailycode,
  smt_dailyno,
  smt_shortname,
  smt_enlishname,
  smt_mnemonic,
  smt_codeby,
  smt_gbflag)=
  (select
  smt_statusname,
  smt_statusexplain,
  smt_foriccard,
  smt_forshowcard,
  smt_dailycode,
  smt_dailyno,
  smt_shortname,
  smt_enlishname,
  smt_mnemonic,
  smt_codeby,
  smt_gbflag
  from _status s where s.smt_statuscode=d.smt_statuscode)
  where exists(
  select 1 from _status t  where t.smt_statuscode=d.smt_statuscode and
  not (
  t.smt_statusname=d.smt_statusname and
  t.smt_statusexplain=d.smt_statusexplain and
  t.smt_foriccard=d.smt_foriccard and
  t.smt_forshowcard=d.smt_forshowcard and
  t.smt_dailycode=d.smt_dailycode and
  t.smt_dailyno=d.smt_dailyno and
  t.smt_shortname=d.smt_shortname and
  t.smt_enlishname=d.smt_enlishname and
  t.smt_mnemonic=d.smt_mnemonic and
  t.smt_codeby=d.smt_codeby and
  t.smt_gbflag=d.smt_gbflag
  )
  );
  --删除操作
  delete from _status@door d where not exists(
  select 1 from _status s  where d.smt_statuscode=s.smt_statuscode
  );
  commit;
  -- *********************人事行政组织同步 ******************* ----
  --插入操作(没有的数据)
  insert into _dept@door
  select * from _dept s where not exists(select 1 from _dept@door d where d.smt_deptcode=s.smt_deptcode);
  --更新改变的数据
  update _dept@door d set (
  smt_deptno,
  smt_deptname,
  smt_level,
  smt_least,
  smt_explain,
  smt_parent_id,
  smt_dailycode,
  smt_dailyno,
  smt_shortname,
  smt_enlishname,
  smt_mnemonic,
  smt_codeby,
  smt_gbflag,
  smt_index)=
  (select
  smt_deptno,
  smt_deptname,
  smt_level,
  smt_least,
  smt_explain,
  smt_parent_id,
  smt_dailycode,
  smt_dailyno,
  smt_shortname,
  smt_enlishname,
  smt_mnemonic,
  smt_codeby,
  smt_gbflag,
  smt_index
  from _dept s where s.smt_deptcode=d.smt_deptcode)
  where exists(
  select 1 from _dept t  where t.smt_deptcode=d.smt_deptcode and not (
  t.smt_deptno=d.smt_deptno and
  t.smt_deptname=d.smt_deptname and
  t.smt_level=d.smt_level and
  t.smt_least=d.smt_least and
  t.smt_explain=d.smt_explain and
  t.smt_parent_id=d.smt_parent_id and
  t.smt_dailycode=d.smt_dailycode and
  t.smt_dailyno=d.smt_dailyno and
  t.smt_shortname=d.smt_shortname and
  t.smt_enlishname=d.smt_enlishname and
  t.smt_mnemonic=d.smt_mnemonic and
  t.smt_codeby=d.smt_codeby and
  t.smt_gbflag=d.smt_gbflag and
  t.smt_index=d.smt_index
  )
  );
  --删除
  delete from _dept@door d where not exists(
  select 1 from  _dept s where d.smt_deptcode=s.smt_deptcode
  );
  commit;
  --***********************人事信息同步 *******************----
  --插入操作(没有的数据)
  insert into _personnel@door (
  smt_personnelid,
  smt_name,
  smt_namespell,
  smt_sex,
  smt_birthday,
  smt_salaryno,
  smt_idcode,
  smt_idno,
  smt_datasource,
  smt_indatetime,
  smt_email,
  smt_deptcode,
  smt_postcode,
  smt_statuscode,
  smt_dossiercode,
  smt_native,
  smt_people,
  smt_married,
  smt_dwelling,
  smt_polity,
  smt_phoneno,
  smt_dailycode,
  smt_dailyno,
  smt_postalcode,
  smt_linkaddress,
  smt_mobiletelephone,
  smt_linkman,
  smt_linkunit,
  smt_linkmanaddress,
  smt_linkmanphone,
  smt_linkmanmobile,
  smt_levelcode,
  smt_countrycode,
  smt_idcardno,
  smt_visadate,
  smt_validitydate,
  smt_visaorgan,
  smt_specialtycode,
  smt_knowledgecode,
  smt_incompanydate,
  smt_salarycode,
  smt_specialtypostcode,
  smt_degreecode
  )
  select * from _personnel s where not exists(
  select 1 from _personnel@door d where d.smt_personnelid=s.smt_personnelid
  );
  --更新(更新改变的数据)
  update _personnel@door d set
  (
  smt_name,
  smt_namespell,
  smt_sex,
  smt_birthday,
  smt_salaryno,
  smt_idcode,
  smt_idno,
  smt_datasource,
  smt_indatetime,
  smt_email,
  smt_deptcode,
  smt_postcode,
  smt_statuscode,
  smt_dossiercode,
  smt_native,
  smt_people,
  smt_married,
  smt_dwelling,
  smt_polity,
  smt_phoneno,
  smt_dailycode,
  smt_dailyno,
  smt_postalcode,
  smt_linkaddress,
  smt_mobiletelephone,
  smt_linkman,
  smt_linkunit,
  smt_linkmanaddress,
  smt_linkmanphone,
  smt_linkmanmobile,
  smt_levelcode,
  smt_countrycode,
  smt_idcardno,
  smt_visadate,
  smt_validitydate,
  smt_visaorgan,
  smt_specialtycode,
  smt_knowledgecode,
  smt_incompanydate,
  smt_salarycode,
  smt_specialtypostcode,
  smt_degreecode
  )=
  (select
  smt_name,
  smt_namespell,
  smt_sex,
  smt_birthday,
  smt_salaryno,
  smt_idcode,
  smt_idno,
  smt_datasource,
  smt_indatetime,
  smt_email,
  smt_deptcode,
  smt_postcode,
  smt_statuscode,
  smt_dossiercode,
  smt_native,
  smt_people,
  smt_married,
  smt_dwelling,
  smt_polity,
  smt_phoneno,
  smt_dailycode,
  smt_dailyno,
  smt_postalcode,
  smt_linkaddress,
  smt_mobiletelephone,
  smt_linkman,
  smt_linkunit,
  smt_linkmanaddress,
  smt_linkmanphone,
  smt_linkmanmobile,
  smt_levelcode,
  smt_countrycode,
  smt_idcardno,
  smt_visadate,
  smt_validitydate,
  smt_visaorgan,
  smt_specialtycode,
  smt_knowledgecode,
  smt_incompanydate,
  smt_salarycode,
  smt_specialtypostcode,
  smt_degreecode
  from _personnel s where s.smt_personnelid=d.smt_personnelid)
  where exists
  (select 1 from _personnel t  where t.smt_personnelid=d.smt_personnelid and not (
  t.smt_name = d.smt_name and
  t.smt_namespell = d.smt_namespell and
  t.smt_sex =d.smt_sex and
  t.smt_birthday =d.smt_birthday and
  t.smt_salaryno =d.smt_salaryno and
  t.smt_idcode =d.smt_idcode and
  t.smt_idno =d.smt_idno and
  t.smt_datasource =d.smt_datasource and
  t.smt_indatetime =d.smt_indatetime and
  t.smt_email =d.smt_email and
  t.smt_deptcode =d.smt_deptcode and
  t.smt_postcode =d.smt_postcode and
  t.smt_statuscode =d.smt_statuscode and
  t.smt_dossiercode =d.smt_dossiercode and
  t.smt_native =d.smt_native and
  t.smt_people =d.smt_people and
  t.smt_married =d.smt_married and
  t.smt_dwelling =d.smt_dwelling and
  t.smt_polity =d.smt_polity and
  t.smt_phoneno =d.smt_phoneno and
  t.smt_dailycode =d.smt_dailycode and
  t.smt_dailyno =d.smt_dailyno and
  t.smt_postalcode =d.smt_postalcode and
  t.smt_linkaddress =d.smt_linkaddress and
  t.smt_mobiletelephone =d.smt_mobiletelephone and
  t.smt_linkman =d.smt_linkman and
  t.smt_linkunit =d.smt_linkunit and
  t.smt_linkmanaddress =d.smt_linkmanaddress and
  t.smt_linkmanphone =d.smt_linkmanphone and
  t.smt_linkmanmobile =d.smt_linkmanmobile and
  t.smt_levelcode =d.smt_levelcode and
  t.smt_countrycode =d.smt_countrycode and
  t.smt_idcardno =d.smt_idcardno and
  t.smt_visadate =d.smt_visadate and
  t.smt_validitydate =d.smt_validitydate and
  t.smt_visaorgan =d.smt_visaorgan and
  t.smt_specialtycode =d.smt_specialtycode and
  t.smt_knowledgecode =d.smt_knowledgecode and
  t.smt_incompanydate =d.smt_incompanydate and
  t.smt_salarycode =d.smt_salarycode and
  t.smt_specialtypostcode =d.smt_specialtypostcode and
  t.smt_degreecode =d.smt_degreecode
  )
  );
  --删除操作
  delete from _personnel@door d  where not exists(
  select 1 from _personnel s where d.smt_personnelid=s.smt_personnelid
  );
  commit;
  -- *********************卡信息同步 ******************* ----
  insert into _card@door
  select * from _card s where not exists(
  select 1 from _card@door d where d.smt_cardid=s.smt_cardid
  );
  --更新改变的数据
  update _card@door d set (
  smt_cardid,
  smt_personnelid,
  smt_cardno,
  smt_showcardno,
  smt_cardcode,
  smt_iccardcode,
  smt_bankcardcode,
  smt_cardserial,
  smt_accounts,
  smt_bankbakno,
  smt_carddate,
  smt_startcode,
  smt_startdate,
  smt_validitydate,
  smt_endcode,
  smt_enddate,
  smt_changedate,
  smt_password,
  smt_org_id,
  smt_operatorid,
  smt_dailycode,
  smt_dailyno,
  smt_deposit,
  smt_returndeposit,
  smt_depreciation,
  smt_blacklistinvoiceno,
  smt_oldcardid )=
  (select
  smt_cardid,
  smt_personnelid,
  smt_cardno,
  smt_showcardno,
  smt_cardcode,
  smt_iccardcode,
  smt_bankcardcode,
  smt_cardserial,
  smt_accounts,
  smt_bankbakno,
  smt_carddate,
  smt_startcode,
  smt_startdate,
  smt_validitydate,
  smt_endcode,
  smt_enddate,
  smt_changedate,
  smt_password,
  smt_org_id,
  smt_operatorid,
  smt_dailycode,
  smt_dailyno,
  smt_deposit,
  smt_returndeposit,
  smt_depreciation,
  smt_blacklistinvoiceno,
  smt_oldcardid
  from _card where smt_cardid=d.smt_cardid)
  where exists(
  select 1 from _card s where s.smt_cardid=d.smt_cardid and
  not (
  s.smt_personnelid = d.smt_personnelid and
  s.smt_cardno = d.smt_cardno and
  s.smt_showcardno  = d.smt_showcardno and
  s.smt_cardcode = d.smt_cardcode and
  s.smt_iccardcode = d.smt_iccardcode and
  s.smt_bankcardcode = d.smt_bankcardcode and
  s.smt_cardserial = d.smt_cardserial and
  s.smt_accounts = d.smt_accounts and
  s.smt_bankbakno  = d.smt_bankbakno and
  s.smt_carddate = d.smt_carddate and
  s.smt_startcode = d.smt_startcode and
  s.smt_startdate = d.smt_startdate and
  s.smt_validitydate = d.smt_validitydate and
  s.smt_endcode = d.smt_endcode and
  s.smt_enddate = d.smt_enddate and
  s.smt_changedate = d.smt_changedate and
  s.smt_password = d.smt_password and
  s.smt_org_id = d.smt_org_id and
  s.smt_operatorid = d.smt_operatorid and
  s.smt_dailycode = d.smt_dailycode and
  s.smt_dailyno = d.smt_dailyno and
  s.smt_deposit = d.smt_deposit and
  s.smt_returndeposit = d.smt_returndeposit and
  s.smt_depreciation = d.smt_depreciation and
  s.smt_blacklistinvoiceno  = d.smt_blacklistinvoiceno and
  s.smt_oldcardid = d.smt_oldcardid
  )
  );
  delete from _card@door d where not exists(
  select 1 from _card s where s.smt_cardid=d.smt_cardid
  );
  commit;
  -- *********************用户卡片类型同步 ******************* ----
  --插入操作(没有的数据)
  insert into _iccardsort@door
  (
  smt_iccardcode,
  smt_iccardname,
  smt_iccardexplain,
  smt_deposit,
  smt_backdeposit,
  smt_addfarerate,
  smt_backaddfare,
  smt_losspoundage,
  smt_damagepoundage,
  smt_istemporary,
  smt_dailycode,
  smt_dailyno,
  smt_regbylist,
  smt_regbybank,
  smt_regbyfinger,
  smt_validdate,
  smt_onemonthinmoneytimes,
  smt_onemonthmaxmoney,
  smt_onemonthoutmoneytimes,
  smt_onemonthoutmaxmoney,
  smt_function,
  smt_addfare4,
  smt_deposit4,
  smt_addfarerate4,
  smt_backfarerate5,
  smt_addfare,
  smt_regbybanktrans,
  smt_regbylibrarycard,
  --smt_defaultpassword,
  smt_regbycodes,
  smt_addfarerate1,
  smt_addfare1,
  smt_addfarerate2,
  smt_addfare2,
  smt_backfarerate3,
  smt_addfarerate3,
  smt_addfare3,
  smt_depreciation,
  smt_lagdate,
  --addsmt_addfarerate4,
  --addsmt_addfare4,
  smt_validday
  )
  select
  smt_iccardcode,
  smt_iccardname,
  smt_iccardexplain,
  smt_deposit,
  smt_backdeposit,
  smt_addfarerate,
  smt_backaddfare,
  smt_losspoundage,
  smt_damagepoundage,
  smt_istemporary,
  smt_dailycode,
  smt_dailyno,
  smt_regbylist,
  smt_regbybank,
  smt_regbyfinger,
  smt_validdate,
  smt_onemonthinmoneytimes,
  smt_onemonthmaxmoney,
  smt_onemonthoutmoneytimes,
  smt_onemonthoutmaxmoney,
  smt_function,
  smt_addfare4,
  smt_deposit4,
  smt_addfarerate4,
  smt_backfarerate5,
  smt_addfare,
  smt_regbybanktrans,
  smt_regbylibrarycard,
  --smt_defaultpassword,
  smt_regbycodes,
  smt_addfarerate1,
  smt_addfare1,
  smt_addfarerate2,
  smt_addfare2,
  smt_backfarerate3,
  smt_addfarerate3,
  smt_addfare3,
  smt_depreciation,
  smt_lagdate,
  --addsmt_addfarerate4,
  --addsmt_addfare4,
  smt_validday
  from _iccardsort s where not exists(
  select 1 from _iccardsort@door d where d.smt_iccardcode=s.smt_iccardcode
  );
  --更新改变的数据
  update _iccardsort@door d set (
  smt_iccardcode,
  smt_iccardname,
  smt_iccardexplain,
  smt_deposit,
  smt_backdeposit,
  smt_addfarerate,
  smt_backaddfare,
  smt_losspoundage,
  smt_damagepoundage,
  smt_istemporary,
  smt_dailycode,
  smt_dailyno,
  smt_regbylist,
  smt_regbybank,
  smt_regbyfinger,
  smt_validdate,
  smt_onemonthinmoneytimes,
  smt_onemonthmaxmoney,
  smt_onemonthoutmoneytimes,
  smt_onemonthoutmaxmoney,
  smt_function,
  smt_addfare4,
  smt_deposit4,
  smt_addfarerate4,
  smt_backfarerate5,
  smt_addfare,
  smt_regbybanktrans,
  smt_regbylibrarycard,
  --smt_defaultpassword,
  smt_regbycodes,
  smt_addfarerate1,
  smt_addfare1,
  smt_addfarerate2,
  smt_addfare2,
  smt_backfarerate3,
  smt_addfarerate3,
  smt_addfare3,
  smt_depreciation,
  smt_lagdate,
  --addsmt_addfarerate4,
  --addsmt_addfare4,
  smt_validday )=
  (select
  smt_iccardcode,
  smt_iccardname,
  smt_iccardexplain,
  smt_deposit,
  smt_backdeposit,
  smt_addfarerate,
  smt_backaddfare,
  smt_losspoundage,
  smt_damagepoundage,
  smt_istemporary,
  smt_dailycode,
  smt_dailyno,
  smt_regbylist,
  smt_regbybank,
  smt_regbyfinger,
  smt_validdate,
  smt_onemonthinmoneytimes,
  smt_onemonthmaxmoney,
  smt_onemonthoutmoneytimes,
  smt_onemonthoutmaxmoney,
  smt_function,
  smt_addfare4,
  smt_deposit4,
  smt_addfarerate4,
  smt_backfarerate5,
  smt_addfare,
  smt_regbybanktrans,
  smt_regbylibrarycard,
  --smt_defaultpassword,
  smt_regbycodes,
  smt_addfarerate1,
  smt_addfare1,
  smt_addfarerate2,
  smt_addfare2,
  smt_backfarerate3,
  smt_addfarerate3,
  smt_addfare3,
  smt_depreciation,
  smt_lagdate,
  --addsmt_addfarerate4,
  --addsmt_addfare4,
  smt_validday
  from _iccardsort where smt_iccardcode=d.smt_iccardcode)
  where exists(
  select 1 from _iccardsort s where s.smt_iccardcode=d.smt_iccardcode and
  not (
  s.smt_iccardname = d.smt_iccardname and
  s.smt_iccardexplain = d.smt_iccardexplain and
  s.smt_deposit = d.smt_deposit and
  s.smt_backdeposit = d.smt_backdeposit and
  s.smt_addfarerate= d.smt_addfarerate and
  s.smt_backaddfare = d.smt_backaddfare and
  s.smt_losspoundage = d.smt_losspoundage and
  s.smt_damagepoundage = d.smt_damagepoundage and
  s.smt_istemporary = d.smt_istemporary and
  s.smt_dailycode= d.smt_dailycode and
  s.smt_dailyno =d.smt_dailyno and
  s.smt_regbylist =d.smt_regbylist and
  s.smt_regbybank =d.smt_regbybank and
  s.smt_regbyfinger= d.smt_regbyfinger and
  s.smt_validdate = d.smt_validdate and
  s.smt_onemonthinmoneytimes = d.smt_onemonthinmoneytimes and
  s.smt_onemonthmaxmoney=d.smt_onemonthmaxmoney and
  s.smt_onemonthoutmoneytimes =d.smt_onemonthoutmoneytimes and
  s.smt_onemonthoutmaxmoney = d.smt_onemonthoutmaxmoney and
  s.smt_function = d.smt_function and
  s.smt_addfare4 = d.smt_addfare4 and
  s.smt_deposit4 = d.smt_deposit4 and
  s.smt_addfarerate4 = d.smt_addfarerate4 and
  s.smt_backfarerate5 = d.smt_backfarerate5 and
  s.smt_addfare = d.smt_addfare and
  s.smt_regbybanktrans =d.smt_regbybanktrans and
  s.smt_regbylibrarycard = d.smt_regbylibrarycard and
  --smt_defaultpassword,
  s.smt_regbycodes = d.smt_regbycodes and
  s.smt_addfarerate1 = d.smt_addfarerate1 and
  s.smt_addfare1 =d.smt_addfare1 and
  s.smt_addfarerate2 = d.smt_addfarerate2 and
  s.smt_addfare2 = d.smt_addfare2 and
  s.smt_backfarerate3 = d.smt_backfarerate3 and
  s.smt_addfarerate3 =d.smt_addfarerate3 and
  s.smt_addfare3 =d.smt_addfare3 and
  s.smt_depreciation = d.smt_depreciation and
  s.smt_lagdate = d.smt_lagdate and
  --addsmt_addfarerate4,
  --addsmt_addfare4,
  s.smt_validday = d.smt_validday
  )
  );
  --同步删除数据
  delete from _iccardsort@door d where not exists(
  select 1 from _iccardsort s where s.smt_iccardcode=d.smt_iccardcode
  );
  commit;
  end;


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-602096-1-1.html 上篇帖子: oracle表结构及表数据的复制 下篇帖子: oracle强制切换redolog组
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表