[精讚] [會員登入]
374

縣市端新增師生關係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

你可能感興趣的文章

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

新增IDP程式使用google防機器人的驗證功能 身份認證程式新增google防機器人v2

在apache http server停用TLS 1.0/1.1 and SSL 2.0/3.0 How to disable outdated versions of SSL/TLS on Apache

更新程式環境到wildfly18+openjdk11-phase3: 伺服器環境升級準備 upgrade jdk and wildfly on server

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

更新程式取消google recaptcha改用輸入驗證碼 update cnclibs to 0.0.8.6

我有話要說

>>

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

訪客留言

[無留言]

隨機好文

debian安裝drupal細節 設定apache2的細節

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

在windows環境下強制刪除無法以檔案總管刪除的檔案或目錄 how to remove directories or files that cannot be deleted by default file manager

在ubuntu18.04桌面版安裝中文注音輸入法 如何在ubuntu桌面使用新酷音注音輸入法

在IDEA從JDK8升級到JDK11遇到的奇怪問題 在IDEA遇到的JAVA11函式庫引入問題