[精讚] [會員登入]
363

縣市端新增師生關係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程式以新增及修正本地管理帳號登入 add locallogin page and function with local authorized account

solution for selinux issue while installing zabbix agent on centos7 install zabbix agent as service will raise selinux issue on some centos 7.3.1611

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

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

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

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

我有話要說

>>

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

訪客留言

[無留言]

隨機好文

[NetBeans]如何從git下載專案改建為自己的專案 修改git專案

bitbucket repository control application setup 安裝完bitbucket服務後,須設定bitbucket.properties

JIRA using gmail as smtp outgoing mail sender 如何設定jira使用gmail信箱送信

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

更新IDP程式以新增及修正本地管理帳號登入 add locallogin page and function with local authorized account