diff --git "a/Document/2.\350\256\276\350\256\241/4.\346\216\245\345\217\243\350\256\276\350\256\241/\350\247\204\345\210\231\347\256\241\347\220\206.md" "b/Document/2.\350\256\276\350\256\241/4.\346\216\245\345\217\243\350\256\276\350\256\241/\350\247\204\345\210\231\347\256\241\347\220\206.md" index aa8e0a4d605c12327c747ca134bc0f427869fb7e..ad73aa5c7ec4a67fd362680a542df34e0ee20a58 100644 --- "a/Document/2.\350\256\276\350\256\241/4.\346\216\245\345\217\243\350\256\276\350\256\241/\350\247\204\345\210\231\347\256\241\347\220\206.md" +++ "b/Document/2.\350\256\276\350\256\241/4.\346\216\245\345\217\243\350\256\276\350\256\241/\350\247\204\345\210\231\347\256\241\347\220\206.md" @@ -155,35 +155,35 @@ -### 4 鏌ヨ鍒跺害鍏宠仈鏂囦欢(鍜屾湭鍏宠仈鏂囦欢)(鍖呭惈妯$硦鏌ヨ) +### 4 鏌ヨ鍒跺害鍏宠仈鍒跺害(鍜屾湭鍏宠仈鍒跺害)(鍖呭惈妯$硦鏌ヨ) | 绫� | 鍊� | | ------ | ------------------------------------------------------------ | -| URL | http://localhost:8088/institution/getInstitutionRelationFile | +| URL | http://localhost:8088/institution/getInstitutionRelationList | | Method | GET | ##### 璇锋眰鍙傛暟 -| 鍙傛暟鍚� | 绫诲瀷 | 鍏佽绌哄€� | 澶囨敞 | -| -------- | ------ | -------- | ------ | -| id | Long | N | 鍒跺害id | -| fileName | String | Y | 闄勪欢鍚� | +| 鍙傛暟鍚� | 绫诲瀷 | 鍏佽绌哄€� | 澶囨敞 | +| ------ | ------ | -------- | -------- | +| id | Long | N | 鍒跺害id | +| title | String | Y | 鍒跺害鏍囬 | ##### 璇锋眰浣� ``` { "id":1, - "fileName":"涓婃捣" + "title":"涓婃捣" } ``` ##### 杩斿洖 -| 鍙傛暟鍚� | 绫诲瀷 | 鍏佽绌哄€� | 澶囨敞 | -| -------------- | ---------- | -------- | ------------ | -| noRelationFile | List<File> | N | 鏈叧鑱旀枃浠跺悕 | -| relationFile | List<File> | Y | 宸插叧鑱旀枃浠跺悕 | +| 鍙傛暟鍚� | 绫诲瀷 | 鍏佽绌哄€� | 澶囨敞 | +| ------------------------- | -------------------- | -------- | -------------- | +| noRelationInstitutionList | List<InstitutionOut> | Y | 鏈叧鑱斿埗搴﹂泦鍚� | +| relationInstitutionList | List<InstitutionOut> | Y | 宸插叧鑱斿埗搴﹂泦鍚� | ``` { @@ -199,14 +199,14 @@ [ { "id":1, - "fileName":"aaaa.xml" + "title":"aaaa" }, .... ], [ { "id":2, - "fileName":"bbbbb.xml" + "title":"bbbbb" }, ..... ] @@ -218,28 +218,28 @@ -### 5 鏂板鍒跺害鍏宠仈鏂囦欢鐨勫叧鑱� +### 5 鏂板鍒跺害鍏宠仈鍒跺害 -| 绫� | 鍊� | -| ------ | ------------------------------------------------------------ | -| URL | http://localhost:8088/institution/addInstitutionRelationFile | -| Method | POST | +| 绫� | 鍊� | +| ------ | -------------------------------------------------------- | +| URL | http://localhost:8088/institution/addInstitutionRelation | +| Method | POST | ##### 璇锋眰鍙傛暟 -| 鍙傛暟鍚� | 绫诲瀷 | 鍏佽绌哄€� | 澶囨敞 | -| ------------- | ---------- | -------- | ---------- | -| fileIdList | List<Long> | N | 闄勪欢id闆嗗悎 | -| institutionId | Long | N | 鍒跺害id | +| 鍙傛暟鍚� | 绫诲瀷 | 鍏佽绌哄€� | 澶囨敞 | +| ----------------- | ---------- | -------- | ------------ | +| InstitutionIdList | List<Long> | N | 浠庡埗搴d闆嗗悎 | +| Id | Long | N | 涓诲埗搴d | ##### 璇锋眰浣� ``` { - "fileIdList":[1,2,3,4,5], - "institutionId":111111 + "institutionIdList":[1,2,3,4,5], + "id":111111 } ``` @@ -264,25 +264,25 @@ -### 6 鍒犻櫎鍒跺害鍏宠仈鏂囦欢 +### 6 鍒犻櫎鍒跺害鍏宠仈鍒跺害 -| 绫� | 鍊� | -| ------ | ------------------------------------------------------------ | -| URL | http://localhost:8088/institution/removeInstitutionRelationFile | -| Method | POST | +| 绫� | 鍊� | +| ------ | ----------------------------------------------------------- | +| URL | http://localhost:8088/institution/removeInstitutionRelation | +| Method | POST | ##### 璇锋眰鍙傛暟 -| 鍙傛暟鍚� | 绫诲瀷 | 鍏佽绌哄€� | 澶囨敞 | -| ------------- | ---------- | -------- | ---------- | -| fileIdList | List<Long> | N | 闄勪欢id闆嗗悎 | -| institutionId | Long | N | 鍒跺害id | +| 鍙傛暟鍚� | 绫诲瀷 | 鍏佽绌哄€� | 澶囨敞 | +| ----------------- | ---------- | -------- | ------------ | +| InstitutionIdList | List<Long> | N | 浠庡埗搴d闆嗗悎 | +| institutionId | Long | N | 涓诲埗搴d | ##### 璇锋眰浣� ``` { - "fileIdList":[1,2,3,4,5], + "institutionIdList":[1,2,3,4,5], "institutionId":111111 } ``` diff --git "a/Document/2.\350\256\276\350\256\241/7.\344\270\232\345\212\241\350\256\276\350\256\241/ClassifyService\344\270\232\345\212\241\350\256\276\350\256\241(\345\210\206\347\261\273).md" "b/Document/2.\350\256\276\350\256\241/7.\344\270\232\345\212\241\350\256\276\350\256\241/ClassifyService\344\270\232\345\212\241\350\256\276\350\256\241(\345\210\206\347\261\273).md" new file mode 100644 index 0000000000000000000000000000000000000000..d25b63868eea749c6abee9aa8b465bd2540b2128 --- /dev/null +++ "b/Document/2.\350\256\276\350\256\241/7.\344\270\232\345\212\241\350\256\276\350\256\241/ClassifyService\344\270\232\345\212\241\350\256\276\350\256\241(\345\210\206\347\261\273).md" @@ -0,0 +1,162 @@ +[TOC] +# 鍒嗙被璁捐 + +## 1. 姒傝堪 + +### 1.1 鐩爣涓庤寖鍥� + +鎺ュ彛涓昏鏄疄鐜板埗搴﹀垎绫荤殑绠$悊 + +### 1.2 璇昏€� + +璐熻矗璁捐锛屽紑鍙戞垨缁存姢搴旂敤绋嬪簭鐨勪汉鍛樺繀椤婚槄璇绘湰鏂囨。銆� 瀵逛簬搴旂敤绋嬪簭鐨勭鐞嗗憳鎴栨祴璇曚汉鍛橈紝浠嶅缓璁偍浠旂粏闃呰璇ユ枃妗c€� + +## 2. Classify Interface + +### 2.1 saveClassify + +#### 2.1.1 姒傝堪 + +鏂板/缂栬緫鍒跺害鍒嗙被 涓烘爲缁撴瀯 + +#### 2.1.2 鍓嶆彁鏉′欢 + +N/A + +#### 2.1.3 鍙傛暟 + +| No | 鍙傛暟鍚� | 绫诲瀷 | 鍏佽绌哄€� | 澶囨敞 | +| ---- | --------- | ------ | -------- | ------ | +| 1 | name | String | N | 鍚嶇О | +| 2 | parent_id | Long | N | 鐖剁骇id | +| 3 | id | Long | Y | id | + +#### 2.1.4 杩斿洖鍊� + +| No | 绫诲瀷 | 鍏佽绌哄€� | 澶囨敞 | +| ---- | ---- | -------- | ---- | +| | | | | + +#### 2.1.5 楠岃瘉鏉′欢 + +1. 鍒嗙被鍚嶇О涓嶈兘涓虹┖ + +2. 鐖剁骇id 涓嶈兘涓虹┖ + +#### 2.1.6 鎵ц鏉′欢涓庣粨鏋� + +1. 鎵ц楠岃瘉鏉′欢1, 鑻ュ垎绫诲悕绉颁负绌�,鍒欒繑鍥為敊璇俊鎭� "鍒嗙被鍚嶇О涓嶈兘涓虹┖" + +2. 鎵ц楠岃瘉2 ,鑻ョ埗绾d涓虹┖,鍒欒繑鍥為敊璇俊鎭� "" + +3. 鑻d涓虹┖ insert + + 鈥� 3.1 鍒欐牎楠屽悓绾у垎绫诲悕绉颁笉鍙噸澶�,鑻ラ噸澶嶅垯杩斿洖閿欒淇℃伅 "璇ュ垎绫诲悕绉板凡瀛樺湪" + + 鈥� 3.2 淇濆瓨鍒嗙被淇℃伅鍒版暟鎹簱 + +4. 鑻ヤ笉涓虹┖ update + + 4.1 鍒欐牎楠屽悓绾у垎绫诲悕绉颁笉鍙噸澶� 鑻ラ噸澶嶅垯杩斿洖閿欒淇℃伅"璇ュ垎绫诲悕绉板凡瀛樺湪" + + 4.2 鏇存柊鍒嗙被淇℃伅鍒版暟鎹簱 + +5. 杩斿洖鎴愬姛 + + + +鏂板 鍚岀骇涓� 涓嶈兘瀛樺湪鍚屾牱鐨勫垎绫诲悕绉� + +缂栬緫 + +------ + + + +### 2.2 removeClassifyById + +#### 2.2.1 姒傝堪 + +鏍规嵁id鍒犻櫎鍒跺害鍒嗙被 + +#### 2.2.2 鍓嶆彁鏉′欢 + +N/A + +#### 2.2.3 鍙傛暟 + +| 鍙傛暟鍚� | 绫诲瀷 | 鍏佽绌哄€� | 澶囨敞 | +| -----: | ---- | -------- | ---- | +| id | Long | N | id | + +#### 2.2.4 杩斿洖鍊� + +| 鍙傛暟鍚� | 绫诲瀷 | 鍏佽绌哄€� | 澶囨敞 | +| ------ | ---- | -------- | ---- | +| | | | | + +#### 2.2.5 楠岃瘉鏉′欢 + +1. 鍒嗙被id涓嶅彲涓虹┖ + +#### 2.2.6 鎵ц鏉′欢涓庣粨鏋� + +1. 鎵ц楠岃瘉1锛岃嫢id 涓虹┖锛屾姏鍑哄紓甯镐俊鎭€滃垎绫籭d 涓嶅彲涓虹┖鈥� + +2. 鏍规嵁鍒嗙被id 鏌ヨ鏁版嵁搴撳垎绫讳俊鎭� ${classifyPo} + +3. 鑻�${classifyPo}涓虹┖锛屾姏鍑哄紓甯镐俊鎭� 鈥滆鍒嗙被涓嶅瓨鍦ㄢ€� + +4. 鏍规嵁鍒嗙被id 鏌ヨ鏁版嵁搴撲腑璇ュ垎绫� 鏄惁瀛樺湪瀛愮骇鍒嗙被 ${children} + +5. 鑻�${children} 涓嶄负绌猴紝鍒欐姏鍑哄紓甯镐俊鎭� 鈥滆鍒嗙被涓嬪瓨鍦ㄥ瓙绾у垎绫伙紝涓嶅彲鍒犻櫎鈥� + +6. 鏍规嵁鍒嗙被id 鏌ヨ鏁版嵁搴撲腑 璇ュ垎绫绘槸鍚﹀瓨鍦ㄥ叧鑱斿埗搴� ${institutionList} + +7. 鑻� ${institutionList}涓嶄负绌猴紝鍒欐姏鍑哄紓甯镐俊鎭� 鈥滆鍒嗙被宸插叧鑱斿埗搴︼紝涓嶅彲鍒犻櫎鈥� + +8. 鏍规嵁鍒嗙被id,鍒犻櫎鏁版嵁搴撲腑璇ュ垎绫� + +9. 杩斿洖鎴愬姛 + + + +------ + + + +### 2.3 getClassifyTree + +#### 2.3.1 姒傝堪 + +鏌ヨ鍒跺害鍒嗙被鏍戠粨鏋� + +#### 2.3.2 鍓嶆彁鏉′欢 + +N/A + +#### 2.3.3 鍙傛暟 + +| No | 鍙傛暟鍚� | 绫诲瀷 | 鍏佽绌哄€� | 澶囨敞 | +| ---- | ------ | ---- | -------- | ---- | +| | | | | | + +#### 2.3.4 杩斿洖鍊� + +| No | 鍙傛暟鍚� | 绫诲瀷 | 鍏佽绌哄€� | 澶囨敞 | +| ---- | -------- | ----------------- | -------- | -------- | +| 1 | id | Long | N | id | +| 2 | name | String | N | 鍒嗙被鍚嶇О | +| 3 | parentId | Long | N | 鐖剁骇id | +| 4 | children | List<ClassifyOut> | Y | 瀛愮骇 | + +#### 2.3.5 楠岃瘉鏉′欢 + +N/A + +#### 2.3.6 鎵ц鏉′欢涓庣粨鏋� + +1. 鏌ヨ鍑哄垎绫诲垪琛� +2. 鎶婂垎绫诲垪琛ㄨ浆鍖栦负鏍戠粨鏋� +3. 杩斿洖鍒嗙被鏍� + diff --git "a/Document/2.\350\256\276\350\256\241/7.\344\270\232\345\212\241\350\256\276\350\256\241/InstitutionFileService\344\270\232\345\212\241\350\256\276\350\256\241(\345\210\266\345\272\246\345\205\263\350\201\224\345\210\266\345\272\246).md" "b/Document/2.\350\256\276\350\256\241/7.\344\270\232\345\212\241\350\256\276\350\256\241/InstitutionFileService\344\270\232\345\212\241\350\256\276\350\256\241(\345\210\266\345\272\246\345\205\263\350\201\224\345\210\266\345\272\246).md" new file mode 100644 index 0000000000000000000000000000000000000000..727b1935ef1cd64de439d960977d8aa96afc04ca --- /dev/null +++ "b/Document/2.\350\256\276\350\256\241/7.\344\270\232\345\212\241\350\256\276\350\256\241/InstitutionFileService\344\270\232\345\212\241\350\256\276\350\256\241(\345\210\266\345\272\246\345\205\263\350\201\224\345\210\266\345\272\246).md" @@ -0,0 +1,155 @@ +# 鍒跺害鍏宠仈鍒跺害璁捐 + +## 1. 姒傝堪 + +### 1.1 鐩爣涓庤寖鍥� + +鎺ュ彛涓昏鏄疄鐜扮鐞嗗埗搴﹀埗搴︿箣闂寸殑鍏宠仈 + +### 1.2 璇昏€� + +璐熻矗璁捐锛屽紑鍙戞垨缁存姢搴旂敤绋嬪簭鐨勪汉鍛樺繀椤婚槄璇绘湰鏂囨。銆� 瀵逛簬搴旂敤绋嬪簭鐨勭鐞嗗憳鎴栨祴璇曚汉鍛橈紝浠嶅缓璁偍浠旂粏闃呰璇ユ枃妗c€� + +## 2. InstitutionRelation Interface + +### 2.1 getInstitutionRelationList + +#### 2.1.1 姒傝堪 + +鏌ヨ鍒跺害鍏宠仈琛� 浠d浣滀负master_id鍘绘煡璇� + +鏌ヨ鍑轰笌璇ュ埗搴﹀叧鑱旂殑鍒跺害 浠ュ強 鏈叧鑱旂殑鍒跺害(鍓�50) + +鏍规嵁鍒跺害鏍囬鍘绘ā绯婃煡璇� + +#### 2.1.2 鍓嶆彁鏉′欢 + +N/A + +#### 2.1.3 鍙傛暟 + +| No | 鍙傛暟鍚� | 绫诲瀷 | 鍏佽绌哄€� | 澶囨敞 | +| ---- | ------ | ------ | -------- | ------------------ | +| 1 | id | Long | N | 鍒跺害id | +| 2 | title | String | Y | 鍒跺害鏍囬(妯$硦鏌ヨ) | + +#### 2.1.4 杩斿洖鍊� + +| No | 绫诲瀷 | 鍏佽绌哄€� | 澶囨敞 | +| ------------------------- | -------------------- | -------- | -------------- | +| noRelationInstitutionList | List<InstitutionOut> | Y | 鏈叧鑱斿埗搴﹂泦鍚� | +| relationInstitutionList | List<InstitutionOut> | Y | 宸插叧鑱斿埗搴﹂泦鍚� | + +**Institution** + +| No | 绫诲瀷 | 鍏佽绌哄€� | 澶囨敞 | +| ----- | ------ | -------- | -------- | +| id | Long | N | 鍒跺害id | +| title | String | N | 鍒跺害鍚嶇О | + +#### 2.1.5 楠岃瘉鏉′欢 + +1. 鍒跺害id涓嶈兘涓虹┖ + +#### 2.1.6 鎵ц鏉′欢涓庣粨鏋� + +1. 鎵ц楠岃瘉鏉′欢1,鑻ュ埗搴d涓虹┖ 鍒欐姏鍑哄紓甯镐俊鎭�"鍒跺害id 涓嶅彲涓虹┖"; +2. 鍏堝湪 鍒跺害鍏宠仈琛� 涓煡璇� 鍒涘缓鏌ヨ鏉′欢 鍒跺害id +3. 鏍规嵁鏌ヨ鏉′欢鏌ヨ鍑哄叧鑱旀枃浠朵俊鎭疞ist<File> ${relationInstitutionList}; +4. 鏍¢獙 ${relationInstitutionList}鏄惁涓虹┖ + +鈥� 4.1 鑻elationInstitution 涓虹┖鍒欎笉杩涜杩欎竴姝� 鍒� 鏃犲叧鑱斿埗搴� 鍏ㄩ兘鏄潪鍏宠仈鍒跺害 + +鈥� 4.2 鑻ヤ笉涓虹┖ 鍒欏皢3 涓煡鍑虹殑鍏宠仈鍒跺害鍒楄〃杩囨护鑾峰緱鍏宠仈鍒跺害id闆嗗悎 LIst<Long> ${relationIdList} + +5. 鍦ㄥ埗搴﹁〃涓� 浠�${relationIdList} 浣滀负鏉′欢 鏌ヨ鍑洪潪鍏宠仈鍒跺害list(寰呬慨鏀�) +6. 鍙栨湭鍏宠仈鍒跺害闆嗗悎鐨勫墠浜斿崄涓� 鍜� 鍏宠仈鍒跺害 涓や釜闆嗗悎 noRelationInstitution鍜宺elationInstitution +7. 鍒涘缓涓€涓繑鍥瀝esult 灏嗕袱涓泦鍚堟坊鍔犺繘result +8. 杩斿洖result + +------ + + + +### 2.2 addInstitutionRelation + +#### 2.2.1 姒傝堪 + +娣诲姞鍒跺害涓庣幇鏈夋枃浠剁殑鍏宠仈 + +#### 2.2.2 鍓嶆彁鏉′欢 + +N/A + +#### 2.2.3 鍙傛暟 + +| 鍙傛暟鍚� | 绫诲瀷 | 鍏佽绌哄€� | 澶囨敞 | +| ----------------- | ---------- | -------- | ------------ | +| InstitutionIdList | List<Long> | N | 浠庡埗搴d闆嗗悎 | +| id | Long | N | 涓诲埗搴d | + +#### 2.2.4 杩斿洖鍊� + +| 鍙傛暟鍚� | 绫诲瀷 | 鍏佽绌哄€� | 澶囨敞 | +| ------ | ---- | -------- | ---- | +| | | | | + +#### 2.2.5 楠岃瘉鏉′欢 + +1. 浠庡埗搴d闆嗗悎涓嶈兘涓虹┖ + +2. 鍒跺害id涓嶈兘涓虹┖ + +#### 2.2.6 鎵ц鏉′欢涓庣粨鏋� + +1. 鎵ц楠岃瘉1,鑻ヤ粠鍒跺害id闆嗗悎涓虹┖,鎶涘嚭寮傚父淇℃伅"璇烽€夋嫨鍏宠仈鍒跺害" +2. 鎵ц楠岃瘉2,鑻ュ埗搴d涓虹┖,鎶涘嚭寮傚父淇℃伅"鍒跺害id 涓嶅彲涓虹┖" +3. 鏍规嵁浠庡埗搴d闆嗗悎鍘绘暟鎹簱(鍒跺害琛�)涓煡璇㈠嚭${InstitutionList} +4. 鍒ゆ柇${InstitutionList}鐨勯暱搴︿笌浠庡埗搴d闆嗗悎鐨勯暱搴︽槸鍚︾浉绛� 濡傛灉涓嶇浉绛夊垯鎶涘嚭寮傚父淇℃伅"鍒跺害涓嶅瓨鍦�" +5. 閬嶅巻浠庡埗搴d闆嗗悎 +6. 鍒涘缓RelationFilePO 娣诲姞浠庡埗搴d 鍜� 涓诲埗搴d +7. 鐒跺悗灏嗗叾寰幆娣诲姞杩涘埗搴﹀叧鑱旇〃 +8. 杩斿洖鎴愬姛 + +------ + + + +### 2.3 removeInstitutionRelation + +#### 2.3.1 姒傝堪 + +鍒犻櫎鍒跺害涓庡叧鑱斿埗搴︾殑鍏宠仈 + +#### 2.3.2 鍓嶆彁鏉′欢 + +N/A + +#### 2.3.3 鍙傛暟 + +| 鍙傛暟鍚� | 绫诲瀷 | 鍏佽绌哄€� | 澶囨敞 | +| ----------------- | ---------- | -------- | ------------ | +| InstitutionIdList | List<Long> | N | 浠庡埗搴d闆嗗悎 | +| id | Long | N | 涓诲埗搴d | + +#### 2.3.4 杩斿洖鍊� + +| 鍙傛暟鍚� | 绫诲瀷 | 鍏佽绌哄€� | 澶囨敞 | +| ------ | ---- | -------- | ---- | +| | | | | + +#### 2.3.5 楠岃瘉鏉′欢 + +1 浠庡埗搴d闆嗗悎涓嶈兘涓虹┖ + +2 鍒跺害id涓嶈兘瀛樺湪 + +#### 2.3.6 鎵ц鏉′欢涓庣粨鏋� + +1. 鎵ц楠岃瘉1,鑻ヤ粠鍒跺害id闆嗗悎涓虹┖,鎶涘嚭寮傚父淇℃伅"璇烽€夋嫨瑕佸垹闄ょ殑鍏宠仈鍒跺害" +2. 鎵ц楠岃瘉2,鑻ュ埗搴d涓虹┖,鎶涘嚭寮傚父淇℃伅"鍒跺害id 涓嶅彲涓虹┖" +3. 鏍规嵁浠庡埗搴d闆嗗悎鍘绘暟鎹簱(鍒跺害琛�)涓煡璇㈠嚭${InstitutionList} +4. 鍒ゆ柇${InstitutionList}鐨勯暱搴︿笌浠庡埗搴d闆嗗悎鐨勯暱搴︽槸鍚︾浉绛� 濡傛灉涓嶇浉绛夊垯鎶涘嚭寮傚父淇℃伅"鍒跺害涓嶅瓨鍦�" +5. 閬嶅巻浠庡埗搴d闆嗗悎 +6. 鏍规嵁 鍒跺害id 鍜� 浠庡埗搴d闆嗗悎 鍒犻櫎鏁版嵁搴撲腑鐨勬暟鎹� +7. 杩斿洖鎴愬姛 \ No newline at end of file diff --git a/ServiceSite/facade/src/main/java/com/seasky/educationinstitutionallibrary/enums/AuditStatusEnum.java b/ServiceSite/facade/src/main/java/com/seasky/educationinstitutionallibrary/enums/AuditStatusEnum.java new file mode 100644 index 0000000000000000000000000000000000000000..96818425a58250b71f7ed0e394be3a0fc71e3c0a --- /dev/null +++ b/ServiceSite/facade/src/main/java/com/seasky/educationinstitutionallibrary/enums/AuditStatusEnum.java @@ -0,0 +1,47 @@ +package com.seasky.educationinstitutionallibrary.enums; + +/** + * 瀹℃牳鐘舵€佹灇涓� + */ +public enum AuditStatusEnum { + + EMPTY("",0), + TOBEAUDIT("寰呭鏍�",1), + AUDITPASS("瀹℃牳閫氳繃",2), + AUDITREJECT("瀹℃牳椹冲洖",3); + + /** + * 鏋氫妇灞炴€ц鏄� + */ + private final String name; + + private final Integer index; + + AuditStatusEnum(String name, Integer index) { + this.name = name; + this.index = index; + } + + public String getName() { + return name; + } + + public Integer getIndex() { + return index; + } + + + /** + * 閫氳繃key 鏌ユ壘鎻忚堪 鏂规硶 + * + * @param index + */ + public static AuditStatusEnum getValueByIndex(Integer index) { + for (AuditStatusEnum openEnum : AuditStatusEnum.values()) { + if (openEnum.getIndex().equals(index)) { + return openEnum; + } + } + throw new IllegalArgumentException(index + "? There is no such value!"); + } +} \ No newline at end of file diff --git a/ServiceSite/facade/src/main/java/com/seasky/educationinstitutionallibrary/enums/LibraryEnum.java b/ServiceSite/facade/src/main/java/com/seasky/educationinstitutionallibrary/enums/LibraryEnum.java new file mode 100644 index 0000000000000000000000000000000000000000..26ddf1aadb6690cc93200a0977a294a3e3422a76 --- /dev/null +++ b/ServiceSite/facade/src/main/java/com/seasky/educationinstitutionallibrary/enums/LibraryEnum.java @@ -0,0 +1,45 @@ +package com.seasky.educationinstitutionallibrary.enums; + +/** + * 鎵€灞炲簱鏋氫妇 + */ +public enum LibraryEnum { + + CURRENT("閫氱敤鍒跺害搴�",1), + PRIVATE("閮ㄩ棬绉佹湁搴�",2); + + /** + * 鏋氫妇灞炴€ц鏄� + */ + private final String name; + + private final Integer index; + + LibraryEnum(String name, Integer index) { + this.name = name; + this.index = index; + } + + public String getName() { + return name; + } + + public Integer getIndex() { + return index; + } + + + /** + * 閫氳繃key 鏌ユ壘鎻忚堪 鏂规硶 + * + * @param index + */ + public static LibraryEnum getValueByIndex(Integer index) { + for (LibraryEnum openEnum : LibraryEnum.values()) { + if (openEnum.getIndex().equals(index)) { + return openEnum; + } + } + throw new IllegalArgumentException(index + "? There is no such value!"); + } +} \ No newline at end of file diff --git a/ServiceSite/facade/src/main/java/com/seasky/educationinstitutionallibrary/enums/OperateEnum.java b/ServiceSite/facade/src/main/java/com/seasky/educationinstitutionallibrary/enums/OperateEnum.java new file mode 100644 index 0000000000000000000000000000000000000000..4225d62faceecd6bf00d9747e8628e439f8aebdd --- /dev/null +++ b/ServiceSite/facade/src/main/java/com/seasky/educationinstitutionallibrary/enums/OperateEnum.java @@ -0,0 +1,47 @@ +package com.seasky.educationinstitutionallibrary.enums; + +/** + * 鎿嶄綔鏋氫妇 + */ + +public enum OperateEnum { + + PUBLISH("鍙戝竷",1), + CANCEL("浣滃簾",2), + RECOVER("鎭㈠",3); + + /** + * 鏋氫妇灞炴€ц鏄� + */ + private final String name; + + private final Integer index; + + OperateEnum(String name, Integer index) { + this.name = name; + this.index = index; + } + + public String getName() { + return name; + } + + public Integer getIndex() { + return index; + } + + + /** + * 閫氳繃key 鏌ユ壘鎻忚堪 鏂规硶 + * + * @param index + */ + public static OperateEnum getValueByIndex(Integer index) { + for (OperateEnum openEnum : OperateEnum.values()) { + if (openEnum.getIndex().equals(index)) { + return openEnum; + } + } + throw new IllegalArgumentException(index + "? There is no such value!"); + } +} \ No newline at end of file diff --git a/ServiceSite/facade/src/main/java/com/seasky/educationinstitutionallibrary/enums/PublishStatusEnum.java b/ServiceSite/facade/src/main/java/com/seasky/educationinstitutionallibrary/enums/PublishStatusEnum.java new file mode 100644 index 0000000000000000000000000000000000000000..a225027678c052176e73121ffbbf09ff24f160d7 --- /dev/null +++ b/ServiceSite/facade/src/main/java/com/seasky/educationinstitutionallibrary/enums/PublishStatusEnum.java @@ -0,0 +1,46 @@ +package com.seasky.educationinstitutionallibrary.enums; + +/** + * 鍙戝竷鐘舵€佹灇涓� + */ +public enum PublishStatusEnum { + + UNPUBLISHED("鏈彂甯�",0), + PUBLISHED("宸插彂甯�",1), + CANCEL("浣滃簾",2); + + /** + * 鏋氫妇灞炴€ц鏄� + */ + private final String name; + + private final Integer index; + + PublishStatusEnum(String name, Integer index) { + this.name = name; + this.index = index; + } + + public String getName() { + return name; + } + + public Integer getIndex() { + return index; + } + + + /** + * 閫氳繃key 鏌ユ壘鎻忚堪 鏂规硶 + * + * @param index + */ + public static PublishStatusEnum getValueByIndex(Integer index) { + for (PublishStatusEnum openEnum : PublishStatusEnum.values()) { + if (openEnum.getIndex().equals(index)) { + return openEnum; + } + } + throw new IllegalArgumentException(index + "? There is no such value!"); + } +} \ No newline at end of file diff --git a/ServiceSite/facade/src/main/java/com/seasky/educationinstitutionallibrary/enums/RoleEnum.java b/ServiceSite/facade/src/main/java/com/seasky/educationinstitutionallibrary/enums/RoleEnum.java new file mode 100644 index 0000000000000000000000000000000000000000..6b825092d839e17942cdc8c205f61e613dbb1ddb --- /dev/null +++ b/ServiceSite/facade/src/main/java/com/seasky/educationinstitutionallibrary/enums/RoleEnum.java @@ -0,0 +1,47 @@ +package com.seasky.educationinstitutionallibrary.enums; + +/** + * 瑙掕壊鏋氫妇 + */ +public enum RoleEnum { + + EDUADMIN("鏁欏绠$悊鍛�",1), + DEPTADMIN("閮ㄩ棬绠$悊鍛�",2), + EDUAUDITOR("鏁欏瀹℃牳鍛�",3), + DEPTAUDITOR("閮ㄩ棬瀹℃牳鍛�",4); + + /** + * 鏋氫妇灞炴€ц鏄� + */ + private final String name; + + private final Integer index; + + RoleEnum(String name, Integer index) { + this.name = name; + this.index = index; + } + + public String getName() { + return name; + } + + public Integer getIndex() { + return index; + } + + + /** + * 閫氳繃key 鏌ユ壘鎻忚堪 鏂规硶 + * + * @param index + */ + public static RoleEnum getValueByIndex(Integer index) { + for (RoleEnum openEnum : RoleEnum.values()) { + if (openEnum.getIndex().equals(index)) { + return openEnum; + } + } + throw new IllegalArgumentException(index + "? There is no such value!"); + } +} \ No newline at end of file diff --git a/ServiceSite/facade/src/main/java/com/seasky/educationinstitutionallibrary/web/api/IClassifyController.java b/ServiceSite/facade/src/main/java/com/seasky/educationinstitutionallibrary/web/api/IClassifyController.java new file mode 100644 index 0000000000000000000000000000000000000000..813f35fa2029a10735c0a5b4d353c5512dbf5562 --- /dev/null +++ b/ServiceSite/facade/src/main/java/com/seasky/educationinstitutionallibrary/web/api/IClassifyController.java @@ -0,0 +1,33 @@ +package com.seasky.educationinstitutionallibrary.web.api; + +import com.seasky.core.common.Result; +import com.seasky.educationinstitutionallibrary.web.dto.request.IdRequest; +import com.seasky.educationinstitutionallibrary.web.dto.request.classify.ClassifyCmd; +import com.seasky.educationinstitutionallibrary.web.dto.result.classify.ClassifyTreeOut; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; + +@FeignClient("education-institutional-library") +@RequestMapping("classify") +@Api("鍒嗙被绠$悊") +@Validated +public interface IClassifyController { + + @ApiOperation("1.鏂板/缂栬緫鍒跺害鍒嗙被") + @PostMapping(path = "/saveClassify") + Result<Integer> saveClassify(@Validated @RequestBody ClassifyCmd classifyCmd); + + @ApiOperation("2.鍒犻櫎鍒跺害") + @PostMapping(path = "/removeClassifyById") + Result<Integer> removeClassifyById(@Validated @RequestBody IdRequest idRequest); + + @ApiOperation("3.鏌ヨ鍒跺害鍒嗙被鏍戠粨鏋�") + @GetMapping(path = "/getClassifyTree") + Result<ClassifyTreeOut> getClassifyTree(); +} diff --git a/ServiceSite/facade/src/main/java/com/seasky/educationinstitutionallibrary/web/api/IInstitutionController.java b/ServiceSite/facade/src/main/java/com/seasky/educationinstitutionallibrary/web/api/IInstitutionController.java index 6bc849a8caa0a400dd68674e950aca0fae56390a..a7de9cafb444cd94f65c664f5344af73d778bc7d 100644 --- a/ServiceSite/facade/src/main/java/com/seasky/educationinstitutionallibrary/web/api/IInstitutionController.java +++ b/ServiceSite/facade/src/main/java/com/seasky/educationinstitutionallibrary/web/api/IInstitutionController.java @@ -5,8 +5,6 @@ import com.seasky.educationinstitutionallibrary.web.dto.request.IdRequest; import com.seasky.educationinstitutionallibrary.web.dto.request.institution.InstitutionCmd; import com.seasky.educationinstitutionallibrary.web.dto.result.institution.InstitutionOut; import com.seasky.educationinstitutionallibrary.web.dto.result.institution.InstitutionSignalOut; -import com.seasky.template.web.dto.request.TestRequest; -import com.seasky.template.web.dto.result.TestResult; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.cloud.openfeign.FeignClient; diff --git a/ServiceSite/facade/src/main/java/com/seasky/educationinstitutionallibrary/web/api/ISearchLogController.java b/ServiceSite/facade/src/main/java/com/seasky/educationinstitutionallibrary/web/api/ISearchLogController.java new file mode 100644 index 0000000000000000000000000000000000000000..6b1bb974dc2736c802dcec174960027d3cf04be8 --- /dev/null +++ b/ServiceSite/facade/src/main/java/com/seasky/educationinstitutionallibrary/web/api/ISearchLogController.java @@ -0,0 +1,27 @@ +package com.seasky.educationinstitutionallibrary.web.api; + +import com.seasky.core.common.Result; +import com.seasky.educationinstitutionallibrary.web.dto.request.searchLog.SearchCmd; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; + +@FeignClient("education-institutional-library") +@RequestMapping("searchLog") +@Api("鐑悳绠$悊") +@Validated +public interface ISearchLogController { + + @ApiOperation("1.淇濆瓨鎼滅储璁板綍") + @PostMapping(path = "/addSearchLog") + Result<Integer> addSearchLog(@Validated @RequestBody SearchCmd searchCmd); + + @ApiOperation("2.鏌ヨ鐑悳鍒楄〃") + @GetMapping(path = "/getSearchLogList") + Result<String> getSearchLogList(); +} diff --git a/ServiceSite/facade/src/main/java/com/seasky/educationinstitutionallibrary/web/dto/request/classify/ClassifyCmd.java b/ServiceSite/facade/src/main/java/com/seasky/educationinstitutionallibrary/web/dto/request/classify/ClassifyCmd.java new file mode 100644 index 0000000000000000000000000000000000000000..cecb603b5cc3053ac0b8eb89b4e1e559b1544f20 --- /dev/null +++ b/ServiceSite/facade/src/main/java/com/seasky/educationinstitutionallibrary/web/dto/request/classify/ClassifyCmd.java @@ -0,0 +1,40 @@ +package com.seasky.educationinstitutionallibrary.web.dto.request.classify; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.Accessors; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** + * @author kejinlong + * @since 2022/6/22 + */ +@ApiModel("鍒嗙被Cmd") +@Data +@Accessors(chain = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ClassifyCmd implements Serializable { + + @ApiModelProperty(value = "鍒嗙被id") + private Long id; + + @ApiModelProperty(value = "鍒嗙被鍚嶇О") + @NotBlank(message = "鍒嗙被鍚嶇О涓嶅厑璁镐负绌�") + private String name; + + @ApiModelProperty(value = "鐖剁骇id") + @NotNull(message = "鐖剁骇id涓嶅厑璁镐负绌�") + private Long parentId; +} diff --git a/ServiceSite/facade/src/main/java/com/seasky/educationinstitutionallibrary/web/dto/request/searchLog/SearchCmd.java b/ServiceSite/facade/src/main/java/com/seasky/educationinstitutionallibrary/web/dto/request/searchLog/SearchCmd.java new file mode 100644 index 0000000000000000000000000000000000000000..7d5b42c0b8d3c3c450e0da7a5df4028ab874bf9c --- /dev/null +++ b/ServiceSite/facade/src/main/java/com/seasky/educationinstitutionallibrary/web/dto/request/searchLog/SearchCmd.java @@ -0,0 +1,29 @@ +package com.seasky.educationinstitutionallibrary.web.dto.request.searchLog; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.Accessors; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @author: kejinlong + * @create: 2022-06-23 08:56 + **/ +@ApiModel("鐑悳Cmd") +@Data +@Accessors(chain = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class SearchCmd implements Serializable { + + @ApiModelProperty(value = "鎼滅储鍐呭") + @NotBlank(message = "鎼滅储鍐呭涓嶅厑璁镐负绌�") + private String content; +} diff --git a/ServiceSite/facade/src/main/java/com/seasky/educationinstitutionallibrary/web/dto/result/classify/ClassifyTreeOut.java b/ServiceSite/facade/src/main/java/com/seasky/educationinstitutionallibrary/web/dto/result/classify/ClassifyTreeOut.java new file mode 100644 index 0000000000000000000000000000000000000000..785de85e11da77288079dca8743d1f1caa5e9da2 --- /dev/null +++ b/ServiceSite/facade/src/main/java/com/seasky/educationinstitutionallibrary/web/dto/result/classify/ClassifyTreeOut.java @@ -0,0 +1,35 @@ +package com.seasky.educationinstitutionallibrary.web.dto.result.classify; + +import com.fasterxml.jackson.annotation.JsonInclude; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; + +/** + * @author kejinlong + * @since 2022/6/22 + */ +@Builder +@Data +@NoArgsConstructor +@AllArgsConstructor +@JsonInclude(JsonInclude.Include.ALWAYS) +public class ClassifyTreeOut implements Serializable { + @ApiModelProperty(value = "鍒嗙被id", example = "1") + private Long id; + + @ApiModelProperty(value = "鍒嗙被鍚嶇О", example = "娴嬭瘯閮�") + private String name; + + @ApiModelProperty(value = "鐖剁骇閮ㄩ棬id", example = "0") + private Long parentId; + + @ApiModelProperty(value = "瀛愮骇閮ㄩ棬鍒楄〃") + private List<ClassifyTreeOut> children = new ArrayList<ClassifyTreeOut>(); +} diff --git a/ServiceSite/src/main/java/com/seasky/educationinstitutionallibrary/business/api/ClassifyService.java b/ServiceSite/src/main/java/com/seasky/educationinstitutionallibrary/business/api/ClassifyService.java new file mode 100644 index 0000000000000000000000000000000000000000..a6b3652ef1605a4381d8c964af23e3e1c1f6f4ab --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/educationinstitutionallibrary/business/api/ClassifyService.java @@ -0,0 +1,21 @@ +package com.seasky.educationinstitutionallibrary.business.api; + +import com.seasky.core.base.BaseService; +import com.seasky.educationinstitutionallibrary.business.entity.ClassifyPo; +import com.seasky.educationinstitutionallibrary.web.dto.request.IdRequest; +import com.seasky.educationinstitutionallibrary.web.dto.request.classify.ClassifyCmd; +import com.seasky.educationinstitutionallibrary.web.dto.result.classify.ClassifyTreeOut; + +import java.util.List; + +/** + * @Author: kejinlong + * @Date: 2022/06/22/10:37 + */ +public interface ClassifyService extends BaseService<ClassifyPo> { + Integer saveClassify(ClassifyCmd classifyCmd); + + Integer removeClassifyById(IdRequest idRequest); + + List<ClassifyTreeOut> getClassifyTree(); +} diff --git a/ServiceSite/src/main/java/com/seasky/educationinstitutionallibrary/business/api/SearchLogService.java b/ServiceSite/src/main/java/com/seasky/educationinstitutionallibrary/business/api/SearchLogService.java new file mode 100644 index 0000000000000000000000000000000000000000..43b5add45fef8c475e3d6de27d00f574a788e7e8 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/educationinstitutionallibrary/business/api/SearchLogService.java @@ -0,0 +1,11 @@ +package com.seasky.educationinstitutionallibrary.business.api; + +import com.seasky.educationinstitutionallibrary.web.dto.request.searchLog.SearchCmd; + +import java.util.List; + +public interface SearchLogService { + Integer addSearchLog(SearchCmd searchCmd); + + List<String> getSearchLogList(); +} diff --git a/ServiceSite/src/main/java/com/seasky/educationinstitutionallibrary/business/dao/mapper/ClassifyMapper.java b/ServiceSite/src/main/java/com/seasky/educationinstitutionallibrary/business/dao/mapper/ClassifyMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..4acff1c4f347a7e6b10a4ae6f23a935429e6662a --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/educationinstitutionallibrary/business/dao/mapper/ClassifyMapper.java @@ -0,0 +1,15 @@ +package com.seasky.educationinstitutionallibrary.business.dao.mapper; + +import com.seasky.core.base.BaseMapper; +import com.seasky.educationinstitutionallibrary.business.entity.ClassifyPo; +import com.seasky.educationinstitutionallibrary.business.entity.InstitutionPo; +import org.apache.ibatis.annotations.Mapper; + +/** + * @Author: kejinlong + * @Date: 2022/06/22/10:52 + * @Description: + */ +@Mapper +public interface ClassifyMapper extends BaseMapper<ClassifyPo> { +} diff --git a/ServiceSite/src/main/java/com/seasky/educationinstitutionallibrary/business/dao/mapper/InstitutionMapper.java b/ServiceSite/src/main/java/com/seasky/educationinstitutionallibrary/business/dao/mapper/InstitutionMapper.java index bb3c39297b2a69888b51d5c2420702399e3d660a..1f28ffe164e95630bec799c30d5c36b2f25d433a 100644 --- a/ServiceSite/src/main/java/com/seasky/educationinstitutionallibrary/business/dao/mapper/InstitutionMapper.java +++ b/ServiceSite/src/main/java/com/seasky/educationinstitutionallibrary/business/dao/mapper/InstitutionMapper.java @@ -2,6 +2,10 @@ package com.seasky.educationinstitutionallibrary.business.dao.mapper; import com.seasky.core.base.BaseMapper; import com.seasky.educationinstitutionallibrary.business.entity.InstitutionPo; +import org.apache.ibatis.annotations.Mapper; +import javax.validation.constraints.NotNull; + +@Mapper public interface InstitutionMapper extends BaseMapper<InstitutionPo> { } diff --git a/ServiceSite/src/main/java/com/seasky/educationinstitutionallibrary/business/dao/mapper/SearchLogMapper.java b/ServiceSite/src/main/java/com/seasky/educationinstitutionallibrary/business/dao/mapper/SearchLogMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..5a85eef8cd8b346e8908df76f6d732e0366bd041 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/educationinstitutionallibrary/business/dao/mapper/SearchLogMapper.java @@ -0,0 +1,9 @@ +package com.seasky.educationinstitutionallibrary.business.dao.mapper; + +import com.seasky.core.base.BaseMapper; +import com.seasky.educationinstitutionallibrary.business.entity.SearchLogPo; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface SearchLogMapper extends BaseMapper<SearchLogPo> { +} diff --git a/ServiceSite/src/main/java/com/seasky/educationinstitutionallibrary/business/dao/xml/ClassifyMapper.xml b/ServiceSite/src/main/java/com/seasky/educationinstitutionallibrary/business/dao/xml/ClassifyMapper.xml new file mode 100644 index 0000000000000000000000000000000000000000..322a9692e5ae4f073c065b217c50885f681d1859 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/educationinstitutionallibrary/business/dao/xml/ClassifyMapper.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.seasky.educationinstitutionallibrary.business.dao.mapper.ClassifyMapper"> + +</mapper> diff --git a/ServiceSite/src/main/java/com/seasky/educationinstitutionallibrary/business/dao/xml/InstitutionMapper.xml b/ServiceSite/src/main/java/com/seasky/educationinstitutionallibrary/business/dao/xml/InstitutionMapper.xml index 165763e41d24382c57012554b540f34d2bbf0ff2..062d51b0b136d54c88874acd045f1551d3209337 100644 --- a/ServiceSite/src/main/java/com/seasky/educationinstitutionallibrary/business/dao/xml/InstitutionMapper.xml +++ b/ServiceSite/src/main/java/com/seasky/educationinstitutionallibrary/business/dao/xml/InstitutionMapper.xml @@ -1,15 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.seasky.educationinstitutionallibrary.business.dao.mapper.TestMapper"> - - <select id="selectIdPage" resultType="com.seasky.core.base.IdModel" useCache="false"> - select id from tb_institution - <where> - available = 'YES' - <if test="cm.name != null and cm.name != ''"> - and name like concat('%', #{cm.name}, '%') ESCAPE '/' - </if> - </where> - </select> +<mapper namespace="com.seasky.educationinstitutionallibrary.business.dao.mapper.InstitutionMapper"> </mapper> diff --git a/ServiceSite/src/main/java/com/seasky/educationinstitutionallibrary/business/dao/xml/SearchLogMapper.xml b/ServiceSite/src/main/java/com/seasky/educationinstitutionallibrary/business/dao/xml/SearchLogMapper.xml new file mode 100644 index 0000000000000000000000000000000000000000..c202b5665165f6f8b2c387bc485b24268ac8d216 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/educationinstitutionallibrary/business/dao/xml/SearchLogMapper.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.seasky.educationinstitutionallibrary.business.dao.mapper.SearchLogMapper"> + +</mapper> diff --git a/ServiceSite/src/main/java/com/seasky/educationinstitutionallibrary/business/entity/ClassifyPo.java b/ServiceSite/src/main/java/com/seasky/educationinstitutionallibrary/business/entity/ClassifyPo.java new file mode 100644 index 0000000000000000000000000000000000000000..0b220ea242dd86fb22c3a0eb804de15d79f4dcf0 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/educationinstitutionallibrary/business/entity/ClassifyPo.java @@ -0,0 +1,30 @@ +package com.seasky.educationinstitutionallibrary.business.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.seasky.core.base.BaseModel; +import io.swagger.annotations.ApiModel; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.Accessors; + +/** + * @author: kejinlong + * @create: 2022-06-22 10:44 + **/ +@Data +@TableName("tb_institution_classify") +@AllArgsConstructor +@NoArgsConstructor +@Accessors(chain = true) +@Builder +@ApiModel(value = "鍒跺害鍒嗙被瀹炰綋") +public class ClassifyPo extends BaseModel { + @TableField(value = "name") + private String name; + + @TableField(value = "parent_id") + private Long parentId; +} diff --git a/ServiceSite/src/main/java/com/seasky/educationinstitutionallibrary/business/entity/InstitutionPo.java b/ServiceSite/src/main/java/com/seasky/educationinstitutionallibrary/business/entity/InstitutionPo.java index 707a711e353d020352d07dece8b80c7a7b7ccd7a..cb3c2b7559975ae050cf9f2c45ffbea384f2ceaf 100644 --- a/ServiceSite/src/main/java/com/seasky/educationinstitutionallibrary/business/entity/InstitutionPo.java +++ b/ServiceSite/src/main/java/com/seasky/educationinstitutionallibrary/business/entity/InstitutionPo.java @@ -8,6 +8,7 @@ import io.swagger.models.auth.In; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; +import lombok.NoArgsConstructor; import lombok.experimental.Accessors; import java.util.Date; @@ -15,6 +16,7 @@ import java.util.Date; @Data @TableName("tb_institution") @AllArgsConstructor +@NoArgsConstructor @Accessors(chain = true) @Builder @ApiModel(value = "鍒跺害瀹炰綋") @@ -52,7 +54,7 @@ public class InstitutionPo extends BaseModel { @TableField(value = "publish_status") private Integer publishStatus; - @TableField(value = "audits_status") + @TableField(value = "audit_status") private Integer auditStatus; @TableField(value = "reject_reason") diff --git a/ServiceSite/src/main/java/com/seasky/educationinstitutionallibrary/business/entity/SearchLogPo.java b/ServiceSite/src/main/java/com/seasky/educationinstitutionallibrary/business/entity/SearchLogPo.java new file mode 100644 index 0000000000000000000000000000000000000000..4ef084d191d1d76b89b164ab100aa7f65ab80a32 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/educationinstitutionallibrary/business/entity/SearchLogPo.java @@ -0,0 +1,30 @@ +package com.seasky.educationinstitutionallibrary.business.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.seasky.core.base.BaseModel; +import io.swagger.annotations.ApiModel; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.Accessors; + +/** + * @author: kejinlong + * @create: 2022-06-22 10:44 + **/ +@Data +@TableName("tb_search_log") +@AllArgsConstructor +@NoArgsConstructor +@Accessors(chain = true) +@Builder +@ApiModel(value = "鐑悳瀹炰綋") +public class SearchLogPo extends BaseModel { + @TableField(value = "content") + private String content; + + @TableField(value = "count") + private Integer count; +} diff --git a/ServiceSite/src/main/java/com/seasky/educationinstitutionallibrary/business/service/ClassifyServiceImpl.java b/ServiceSite/src/main/java/com/seasky/educationinstitutionallibrary/business/service/ClassifyServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..6e91f28eb7766999aee68a269f3eda0c9ed91a29 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/educationinstitutionallibrary/business/service/ClassifyServiceImpl.java @@ -0,0 +1,106 @@ +package com.seasky.educationinstitutionallibrary.business.service; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.seasky.core.base.AbstractService; +import com.seasky.core.util.ExceptionUtil; +import com.seasky.educationinstitutionallibrary.business.api.ClassifyService; +import com.seasky.educationinstitutionallibrary.business.dao.mapper.ClassifyMapper; +import com.seasky.educationinstitutionallibrary.business.dao.mapper.InstitutionMapper; +import com.seasky.educationinstitutionallibrary.business.entity.ClassifyPo; +import com.seasky.educationinstitutionallibrary.business.entity.InstitutionPo; +import com.seasky.educationinstitutionallibrary.business.service.convert.ClassifyConvert; +import com.seasky.educationinstitutionallibrary.web.dto.request.IdRequest; +import com.seasky.educationinstitutionallibrary.web.dto.request.classify.ClassifyCmd; +import com.seasky.educationinstitutionallibrary.web.dto.result.classify.ClassifyTreeOut; +import org.apache.commons.lang3.ObjectUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author: kejinlong + * @create: 2022-06-22 10:37 + **/ +@Service +public class ClassifyServiceImpl extends AbstractService<ClassifyPo, ClassifyMapper> implements ClassifyService { + @Autowired + private ClassifyMapper classifyMapper; + + @Autowired + private InstitutionMapper institutionMapper; + + @Override + public Integer saveClassify(ClassifyCmd classifyCmd) { + //杞寲涓簆o + ClassifyPo classifyPo = ClassifyConvert.cmdToPo(classifyCmd); + + //鏍¢獙鍚嶇О鏄惁宸插瓨鍦� + QueryWrapper<ClassifyPo> wrapper = new QueryWrapper<>(); + wrapper.eq("parent_id",classifyCmd.getParentId()) + .eq("name",classifyCmd.getName()); + List<ClassifyPo> classifyPos = classifyMapper.selectList(wrapper); + if (ObjectUtils.isEmpty(classifyPos)){ + throw ExceptionUtil.getException(null, "璇ュ垎绫诲悕绉板凡瀛樺湪"); + } + //鏍规嵁id鎵ц鏂板鎴栬€呯紪杈� + if (ObjectUtils.isNotEmpty(classifyCmd.getId())){ + //缂栬緫 + classifyMapper.updateById(classifyPo); + }else { + //鏂板 + classifyMapper.insert(classifyPo); + } + return 1; + } + + @Override + public Integer removeClassifyById(IdRequest idRequest) { + //鏍规嵁id鏌ヨ鍒嗙被淇℃伅 + ClassifyPo classifyPo = classifyMapper.selectById(idRequest); + //鑻ヤ笉瀛樺湪 鍒欐姏鍑哄紓甯� + if (ObjectUtils.isEmpty(classifyPo)){ + throw ExceptionUtil.getException(null, "璇ュ垎绫讳笉瀛樺湪"); + } + //鏍规嵁鍒嗙被id 鏌ヨ鏁版嵁搴撲腑璇ュ垎绫� 鏄惁瀛樺湪瀛愮骇鍒嗙被 + List<ClassifyPo> children = classifyMapper.selectList(new QueryWrapper<ClassifyPo>().eq("parent_id", idRequest.getId())); + if (ObjectUtils.isNotEmpty(children)){ + throw ExceptionUtil.getException(null, "璇ュ垎绫讳笅瀛樺湪瀛愮骇鍒嗙被锛屼笉鍙垹闄�"); + } + //鏍规嵁鍒嗙被id 鏌ヨ鏁版嵁搴撲腑 璇ュ垎绫绘槸鍚﹀瓨鍦ㄥ叧鑱斿埗搴� + List<InstitutionPo> institutionPoList = institutionMapper.selectList(new QueryWrapper<InstitutionPo>().eq("classify_id", idRequest.getId())); + if (ObjectUtils.isNotEmpty(institutionPoList)){ + throw ExceptionUtil.getException(null, "璇ュ垎绫诲凡鍏宠仈鍒跺害锛屼笉鍙垹闄�"); + } + //鏍规嵁鍒嗙被id,鍒犻櫎鏁版嵁搴撲腑璇ュ垎绫� + classifyMapper.deleteById(idRequest.getId()); + return 1; + } + + @Override + public List<ClassifyTreeOut> getClassifyTree() { + List<ClassifyTreeOut> treeList = new ArrayList<>(); + QueryWrapper<ClassifyPo> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("parent_id", 0); + List<ClassifyPo> organizationList = classifyMapper.selectList(queryWrapper); + for (ClassifyPo root : organizationList) { + ClassifyTreeOut rootNode = ClassifyConvert.poToTreeOut(root); + //閫掑綊鏋勫缓鏍� + this.buildTree(rootNode); + treeList.add(rootNode); + } + return treeList; + } + + private void buildTree(ClassifyTreeOut treeNode) { + QueryWrapper<ClassifyPo> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("parent_id", treeNode.getId()); + List<ClassifyPo> children = classifyMapper.selectList(queryWrapper); + List<ClassifyTreeOut> classifyQueryTreeOutList = ClassifyConvert.listPOToListTreeOut(children); + treeNode.setChildren(classifyQueryTreeOutList); + for (ClassifyTreeOut child : treeNode.getChildren()) { + this.buildTree(child); + } + } +} diff --git a/ServiceSite/src/main/java/com/seasky/educationinstitutionallibrary/business/service/SearchLogServiceImpl.java b/ServiceSite/src/main/java/com/seasky/educationinstitutionallibrary/business/service/SearchLogServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..a41d39d442e11ed6f2e8a6da98fbeee70942f443 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/educationinstitutionallibrary/business/service/SearchLogServiceImpl.java @@ -0,0 +1,56 @@ +package com.seasky.educationinstitutionallibrary.business.service; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.seasky.core.base.AbstractService; +import com.seasky.educationinstitutionallibrary.business.api.SearchLogService; +import com.seasky.educationinstitutionallibrary.business.dao.mapper.SearchLogMapper; +import com.seasky.educationinstitutionallibrary.business.entity.SearchLogPo; +import com.seasky.educationinstitutionallibrary.business.service.convert.SearchLogConvert; +import com.seasky.educationinstitutionallibrary.web.dto.request.searchLog.SearchCmd; +import org.apache.commons.lang3.ObjectUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.stream.Collectors; + +/** + * @program: + * @author: kejinlong + * @create: 2022-06-23 09:38 + **/ +@Service +public class SearchLogServiceImpl extends AbstractService<SearchLogPo, SearchLogMapper> implements SearchLogService { + @Autowired + private SearchLogMapper searchLogMapper; + + @Override + public Integer addSearchLog(SearchCmd searchCmd) { + //鎼滅储鍐呭 涓嶄负绌� 鏍¢獙鏄惁瀛樺湪 + SearchLogPo content = searchLogMapper.selectOne(new QueryWrapper<SearchLogPo>().eq("content", searchCmd.getContent())); + if (ObjectUtils.isEmpty(content)){ + //涓嶅瓨鍦ㄨ鍐呭 娣诲姞璇ュ唴瀹� + SearchLogPo searchLogPo = SearchLogConvert.cmdToPo(searchCmd); + searchLogPo.setCount(1); + searchLogMapper.insert(searchLogPo); + }else { + //宸插瓨鍦ㄨ鍐呭 淇敼count+1 + content.setCount(content.getCount()+1); + searchLogMapper.updateById(content); + } + return 1; + } + + @Override + public List<String> getSearchLogList() { + //鍒涘缓鏌ヨ鏉′欢 鎸夋悳绱㈡鏁板€掑簭鏌ユ壘 + QueryWrapper<SearchLogPo> wrapper = new QueryWrapper<>(); + wrapper.orderByDesc("count"); + Page page = new Page<>(1,5); + Page searchLogPos = searchLogMapper.selectPage(page, wrapper); + List<SearchLogPo> mostSearchedPos = searchLogPos.getRecords(); + List<String> mostSearchedLog = mostSearchedPos.stream().map(SearchLogPo::getContent).collect(Collectors.toList()); + return mostSearchedLog; + } +} diff --git a/ServiceSite/src/main/java/com/seasky/educationinstitutionallibrary/business/service/convert/ClassifyConvert.java b/ServiceSite/src/main/java/com/seasky/educationinstitutionallibrary/business/service/convert/ClassifyConvert.java new file mode 100644 index 0000000000000000000000000000000000000000..f702cd1bb5ac2920d56cdcc0adb5755d575d3aa2 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/educationinstitutionallibrary/business/service/convert/ClassifyConvert.java @@ -0,0 +1,37 @@ +package com.seasky.educationinstitutionallibrary.business.service.convert; + +import com.seasky.core.ddd.utils.MapperUtils; +import com.seasky.educationinstitutionallibrary.business.entity.ClassifyPo; +import com.seasky.educationinstitutionallibrary.web.dto.request.classify.ClassifyCmd; +import com.seasky.educationinstitutionallibrary.web.dto.result.classify.ClassifyTreeOut; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @program: + * @author: kejinlong + * @create: 2022-06-22 11:01 + **/ +public class ClassifyConvert { + public static ClassifyPo cmdToPo(ClassifyCmd cmd){ + //杞崲瀵瑰簲閿€糾ap + Map<String, String> map = new HashMap<>(3); + ClassifyPo classifyPo = MapperUtils.INSTANCE.map(ClassifyPo.class, cmd); + return classifyPo; + } + + public static List<ClassifyTreeOut> listPOToListTreeOut(List<ClassifyPo> children) { + //杞崲瀵瑰簲閿€糾ap + Map<String, String> map = new HashMap<>(3); + List<ClassifyTreeOut> treeOuts = MapperUtils.INSTANCE.mapAsList(ClassifyTreeOut.class,children); + return treeOuts; + } + + public static ClassifyTreeOut poToTreeOut(ClassifyPo root) { + Map<String, String> map = new HashMap<>(3); + ClassifyTreeOut treeOuts = MapperUtils.INSTANCE.map(ClassifyTreeOut.class,root); + return treeOuts; + } +} diff --git a/ServiceSite/src/main/java/com/seasky/educationinstitutionallibrary/business/service/convert/SearchLogConvert.java b/ServiceSite/src/main/java/com/seasky/educationinstitutionallibrary/business/service/convert/SearchLogConvert.java new file mode 100644 index 0000000000000000000000000000000000000000..a390d453be568e87b365109cf432f1046c9fdbb3 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/educationinstitutionallibrary/business/service/convert/SearchLogConvert.java @@ -0,0 +1,22 @@ +package com.seasky.educationinstitutionallibrary.business.service.convert; + +import com.seasky.core.ddd.utils.MapperUtils; +import com.seasky.educationinstitutionallibrary.business.entity.SearchLogPo; +import com.seasky.educationinstitutionallibrary.web.dto.request.searchLog.SearchCmd; + +import java.util.HashMap; +import java.util.Map; + +/** + * @program: + * @author: kejinlong + * @create: 2022-06-23 09:51 + **/ +public class SearchLogConvert { + public static SearchLogPo cmdToPo(SearchCmd cmd){ + //杞崲瀵瑰簲閿€糾ap + Map<String, String> map = new HashMap<>(3); + SearchLogPo searchLogPo = MapperUtils.INSTANCE.map(SearchLogPo.class, cmd); + return searchLogPo; + } +} diff --git a/ServiceSite/src/main/java/com/seasky/educationinstitutionallibrary/web/controller/ClassifyController.java b/ServiceSite/src/main/java/com/seasky/educationinstitutionallibrary/web/controller/ClassifyController.java new file mode 100644 index 0000000000000000000000000000000000000000..d63083975f51b280d470ce4cdab350e8634f4f30 --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/educationinstitutionallibrary/web/controller/ClassifyController.java @@ -0,0 +1,39 @@ +package com.seasky.educationinstitutionallibrary.web.controller; + +import com.seasky.core.common.ResponseCode; +import com.seasky.core.common.Result; +import com.seasky.educationinstitutionallibrary.business.api.ClassifyService; +import com.seasky.educationinstitutionallibrary.web.api.IClassifyController; +import com.seasky.educationinstitutionallibrary.web.dto.request.IdRequest; +import com.seasky.educationinstitutionallibrary.web.dto.request.classify.ClassifyCmd; +import com.seasky.educationinstitutionallibrary.web.dto.result.classify.ClassifyTreeOut; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RestController; + +import static com.seasky.core.common.Response.ok; + +/** + * @author: kejinlong + * @create: 2022-06-22 10:33 + **/ +@RestController +public class ClassifyController implements IClassifyController { + + @Autowired + private ClassifyService classifyService; + + @Override + public Result<Integer> saveClassify(ClassifyCmd classifyCmd) { + return ok(ResponseCode.SUCCESS, classifyService.saveClassify(classifyCmd)); + } + + @Override + public Result<Integer> removeClassifyById(IdRequest idRequest) { + return ok(ResponseCode.SUCCESS, classifyService.removeClassifyById(idRequest)); + } + + @Override + public Result<ClassifyTreeOut> getClassifyTree() { + return ok(ResponseCode.SUCCESS, classifyService.getClassifyTree()); + } +} diff --git a/ServiceSite/src/main/java/com/seasky/educationinstitutionallibrary/web/controller/SearchLogController.java b/ServiceSite/src/main/java/com/seasky/educationinstitutionallibrary/web/controller/SearchLogController.java new file mode 100644 index 0000000000000000000000000000000000000000..f2d55f10ab91f3d245ea2791f2976cb085fb7e5d --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/educationinstitutionallibrary/web/controller/SearchLogController.java @@ -0,0 +1,32 @@ +package com.seasky.educationinstitutionallibrary.web.controller; + +import com.seasky.core.common.ResponseCode; +import com.seasky.core.common.Result; +import com.seasky.educationinstitutionallibrary.business.api.SearchLogService; +import com.seasky.educationinstitutionallibrary.web.api.ISearchLogController; +import com.seasky.educationinstitutionallibrary.web.dto.request.searchLog.SearchCmd; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RestController; + +import static com.seasky.core.common.Response.ok; + +/** + * @program: + * @author: kejinlong + * @create: 2022-06-23 09:37 + **/ +@RestController +public class SearchLogController implements ISearchLogController { + @Autowired + private SearchLogService searchLogService; + + @Override + public Result<Integer> addSearchLog(SearchCmd searchCmd) { + return ok(ResponseCode.SUCCESS, searchLogService.addSearchLog(searchCmd)); + } + + @Override + public Result<String> getSearchLogList() { + return ok(ResponseCode.SUCCESS, searchLogService.getSearchLogList()); + } +}