[精讚] [會員登入]
361

縣市端新增師生關係API程式

在縣市端建立可由教育部主機撈取縣市資料庫師生關係的API 程式

分享此文連結 //n.sfs.tw/14733

分享連結 縣市端新增師生關係API程式@外行中的外行
(文章歡迎轉載,務必尊重版權註明連結來源)
2022-07-21 12:12:09 最後編修
2020-08-29 17:23:39 By jung
 

一:須先完成縣市主機mongo資料庫更新

  參考這篇:https://1drv.ms/w/s!Atw7C3UBZNtIjaFuqzaRJ0mUbMtUXQ?e=uLtXFf

  順序要改一下,先在mongo 中建立新的collection: idmappingstore & tsrelationstore & workerstore

  再用mongoimport匯入GUID&UUID對照表

mongoexport --db DB_NAME --collection COLLECTION_NAME --fields FIELD_NAME(s) --type=csv or JSON --out=Name-Path-Output-File

mongoimport --db DB_NAME --collection COLLECTION_NAME xx.json

二:切到CncResource專案,合併 tsrelation 這個分支,一定要先做,否則之後修改accoutdatasource程式後,要測試時會出錯

三:將縣市端xxauth認證程式裡cnclibs & edudatatype 二個函式庫升級最新版,重新編譯

四:更新cncauthserver & CncResource 專案,將最新的縣市端認證程式加入

五:重新編譯並上傳發布

六:開始編輯cncaccoutdatasource程式,先合併tcdatasource分支,會出現一大堆衝突,刪除不需要的程式檔,將程式名稱重新命名( 專案上用右鍵Refactor)

datasource專案目錄如下圖:

須將xxRelationDataRequest, xxSyncDataRequest, CNCXXRelationSource, CNCXXSyncSource 全部重新命名為縣市端代號,如馬祖我設為MZ

但是裡面的實作方法也要一個個去重新命名

例如:CNCMZRelationSource裡有個CNCXXRelationSource方法,但是使用IDEA Refactor功能時,它不會自動更新方法名稱,需手動修改

 

改完之後,專案目錄下會多出二個檔案:cncaccoutdadsource.iml, tcaccountdatasource.iml

這個很麻煩,目前不知道怎麼處理,

如果把tcaccountdatasource.iml留著,每次切換分支git checkout時,在IDEA左側專案目錄檔案功能列,就會把專案名稱改為tcaccountdatasource

如果把tcaccountdatasource.iml 刪掉,每次開啟IDEA就會提醒你tcaccountdatasource.iml找不到....苦惱中@@

再來需要執行本地測試,要先在目錄內新增一個properties檔

範例如下:

//clientid & secret需改為oidc使用的那個,要去mongo資料庫:cncspstore 找出來

clientid=cf789350df91c914027ce55f3ab5
clientsecret=97d12e23a83748042aaf71dc1c18c2606ee1cd28226422af5c607f4b
tokenuri=https://xx.sso.edu.tw/cncresource/api/v1/oauth2/token
syncdatauri=https://xx.sso.edu.tw/cncresource/api/v1/oauth2/syncdata
relationdatauri=https://xx.sso.edu.tw/cncresource/api/v2/oauth2/relation
workerdatauri=https://xx.sso.edu.tw/cncresource/api/v2/oauth2/worker

其他的uri路徑改為縣市端API URL

接著到  RelationDataLocalExecution 這支程式中,修改properties檔案位置,並提供一組GUID & UUID作為測試用

預設會到本地目錄下去找properties檔

到這邊如果都完成,執行這支本地測試用程式,抓到對應資料就表示程式執行正常了~

範例如下,有抓到縣市師生對應資料

29 Aug 2020 17:21:14,370 execution.relationdata.MZRelationDataRequest execution.relationdata.MZRelationDataRequest.fetchRelationData(MZRelationDataRequest.java:106)
Data : {"sub":"5cf369152f62fb55f9f9ca7624890cbe3a45e589e6138085720f86f9c64329e6","relation":[{"schoolid":"724603","year":"108","semester":"02","grade":"05","classno":"0000000001","classtitle":"五年一班","curriculum":[{"courseid":"A00_01_00-0","coursename":"本土語文","students":[{"uuid":"9bf43ed9-07e1-4972-b405-390c6bda33cf"},{"uuid":"f0a424e9-aabb-4cc1-a14b-7ef54f5aae63"},{"uuid":"209138b9-dd65-408f-b95d-65cf85ba8455"},{"uuid":"b02d7252-fdd4-4e62-9fb0-f0b9ded90938"},{"uuid":"8474a05a-75a0-434d-92b7-6ca77321a284"},{"uuid":"8f5708e0-6028-4f5b-a7b7-53de25bd5260"},{"uuid":"d40c09ff-3974-482d-ac8d-12eb4d6c5afc"},{"uuid":"f5b005cd-7855-4073-ac87-7c8bc69edca0"},{"uuid":"6376e48f-ac6e-44d7-a2be-ab88e38dd7cd"}]}]},{{"uuid":"953acb43-3fbe-4513-ba3b-4669780042d7"},{"uuid":"d0dd7506-d3a5-4129-b853-66f2234f7e78"},{"uuid":"d03d10d4-95e7-4b1a-b5be-049fd9ff4128"},{"uuid":"3b3dbc72-c64a-49ba-9bb3-630b3c11809e"},{"uuid":"d56fbc32-7603-4e21-aa8d-40172c6ad764"},{"uuid":"54b5541f-4957-4258-9f9e-002290af494c"}]}]}]}
29 Aug 2020 17:21:14,579 execution.relationdata.RelationDataLocalExecution execution.relationdata.RelationDataLocalExecution.main(RelationDataLocalExecution.java:35)
TSRelationResponseModel :
models.edumodel.relations.TSRelationResponseModel@f79113c9

 

END

你可能感興趣的文章

縣市端新增師生關係API程式 在縣市端建立可由教育部主機撈取縣市資料庫師生關係的API 程式

系統不正常關機導致mongodb啟動失敗 重新安裝mongodb使用mongorestore

縣市IDP更換SSL憑證及修改servername+wildfly等設定 縣市IDP更換SSL

更新程式環境到wildfly18+openjdk11-phase4: 認證程式更新 認證程式更新

縣市端新增syncdata spi功能 為了讓部裡主機可以透過OAUTH2流程,呼叫縣市同步SYNCDATA 的API

更新程式環境到wildfly18+openjdk11-phase2: update IDEA to jdk11 更新IDEA 編譯環境

我有話要說

>>

限制:留言最高字數1000字。 限制:未登入訪客,每則留言間隔需超過10分鐘,每日最多5則留言。

訪客留言

[無留言]

隨機好文

設定win10開機自動執行openvpn連接vpn server how to make win10 connecting to a vpn server automactically after booting up

縣市端IdP新增自訂首頁內容功能 合併本部主程式,手動於mongo內新增管理使用者資料

新增縣市端回傳使用者資料功能 新增縣市端回傳使用者資料功能

proxmox5.x using duplicati as cloud backup strategy install duplicati program on Proxmox host for remote backup using google drive account

如何在ubuntu 18.04上設定一開機就啟動virtualbox某個vm a way to setup ubuntu18.04 for start vm on boot