From 36f691267e45ca2861bed663fdcf5f2efcefdfce Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期一, 10 十一月 2025 15:27:08 +0800
Subject: [PATCH] 最新版本541200007
---
admin/.env | 2
server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/form/FormDataBatchRemoveParam.java | 58 +
server/system_timer/src/main/resources/bootstrap-pro.yml | 2
server/system_service/src/main/java/com/doumee/core/jiandaoyun/api/arch/DeptApiClient.java | 168 +++
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/MemberCloudController.java | 14
server/system_gateway/src/main/java/com/doumee/config/swagger/SwaggerConfig.java | 2
server/meeting/meeting_service/src/main/resources/application-dev.yml | 2
server/system_service/src/main/java/com/doumee/core/jiandaoyun/api/arch/RoleApiClient.java | 170 +++
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CompanyCloudController.java | 9
server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/dept/DeptEntityModel.java | 23
server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/base/PageBaseParam.java | 43
server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/form/FormDataCreateParam.java | 101 +
server/system_gateway/src/main/resources/application-dev.yml | 2
server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/dept/DeptCreateParam.java | 68 +
server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/role/RoleGroupListQueryParam.java | 35
server/system_service/src/main/java/com/doumee/core/jiandaoyun/api/jdy/FormDataApiClient.java | 196 +++
server/system_service/src/main/java/com/doumee/core/jiandaoyun/api/arch/RoleGroupApiClient.java | 108 +
admin/.env.development | 2
admin/src/api/business/member.js | 3
server/system_service/src/main/java/com/doumee/core/jiandaoyun/api/jdy/AppApiClient.java | 53
server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/user/UserEntityModel.java | 28
server/system_service/src/main/java/com/doumee/core/jiandaoyun/api/jdy/FormApiClient.java | 71 +
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java | 152 ++
server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/form/FormQueryParam.java | 30
server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/form/FormDataBatchCreateParam.java | 94 +
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/MemberService.java | 3
server/system_service/src/main/java/com/doumee/core/jiandaoyun/constants/HttpConstant.java | 58 +
admin/src/views/business/internalCompany.vue | 22
server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/http/HttpRequestParam.java | 48
server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/role/RoleListQueryParam.java | 40
server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/user/UserUpdateParam.java | 62 +
server/system_gateway/src/main/java/com/doumee/config/swagger/SwaggerResourceConfig.java | 2
server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/file/UploadTokenParam.java | 48
admin/src/api/business/company.js | 3
admin/public/index.html | 4
server/visits/dmvisit_service/src/main/java/com/doumee/core/dingTalk/DingTalk.java | 2
server/visits/dmvisit_admin/src/main/resources/bootstrap-dev.yml | 2
server/visits/dmvisit_admin/src/main/resources/bootstrap-pro.yml | 2
server/visits/dmvisit_service/src/main/resources/application-dev.yml | 2
server/visits/dmvisit_service/src/main/resources/application-pro.yml | 2
server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/role/RoleMemberQueryParam.java | 28
server/visits/dmvisit_admin/src/main/resources/bootstrap.yml | 2
server/system_gateway/src/main/resources/application-test.yml | 2
server/system_service/src/main/java/com/doumee/dao/business/model/Member.java | 3
server/system_timer/src/main/resources/application-pro.yml | 2
server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/form/FormDataBatchUpdateParam.java | 95 +
server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/form/FormDataUpdateParam.java | 105 +
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveParamServiceImpl.java | 3
server/system_gateway/src/main/resources/bootstrap-dev.yml | 2
server/system_gateway/src/main/resources/bootstrap-pro.yml | 2
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/JiandaoyunCloudController.java | 142 ++
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/CompanyService.java | 4
server/visits/openapi/src/main/resources/application.yml | 2
server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/http/ApiClient.java | 214 +++
server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/role/RoleUpdateParam.java | 47
server/system_service/src/main/java/com/doumee/core/jiandaoyun/api/arch/CorpCoopApiClient.java | 80 +
admin/src/views/login.vue | 4
server/system_service/src/main/java/com/doumee/core/jiandaoyun/api/jdy/FileApiClient.java | 61 +
server/visits/admin_timer/src/main/resources/bootstrap-pro.yml | 2
server/system_service/src/main/java/com/doumee/core/jiandaoyun/util/LimitUtil.java | 40
server/visits/dmvisit_service/src/main/resources/application-test.yml | 2
server/startsh/admin_start.sh | 11
server/system_gateway/src/main/resources/application-pro.yml | 2
server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/form/FormDataDeleteParam.java | 76 +
server/system_service/src/main/java/com/doumee/config/DataSyncConfig.java | 2
/dev/null | 81 -
server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/user/UserCreateParam.java | 65 +
server/system_service/src/main/java/com/doumee/core/jiandaoyun/api/arch/MemberApiClient.java | 147 ++
server/system_timer/src/main/resources/application-test.yml | 2
server/system_timer/src/main/resources/application-dev.yml | 2
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java | 169 ++
server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/form/FormDataQueryParam.java | 114 ++
admin/src/views/business/internalMember.vue | 26
73 files changed, 3,082 insertions(+), 193 deletions(-)
diff --git a/admin/.env b/admin/.env
index fc2f445..c93e01f 100644
--- a/admin/.env
+++ b/admin/.env
@@ -10,4 +10,4 @@
VUE_APP_API_PREFIX = '/system_gateway'
# 椤圭洰鍚嶇О
-VUE_APP_TITLE = '鑺滄箹鐑熻崏鏅烘収瀹夋秷瀹夊叏闃茶寖绯荤粺'
+VUE_APP_TITLE = '椹瀺灞辩儫鑽夋櫤鎱у畨娑堝畨鍏ㄩ槻鑼冪郴缁�'
diff --git a/admin/.env.development b/admin/.env.development
index 05e081e..654e0ea 100644
--- a/admin/.env.development
+++ b/admin/.env.development
@@ -5,7 +5,7 @@
# VUE_APP_API_URL = 'http://192.168.1.45:10010'
-VUE_APP_API_URL = 'http://192.168.0.212/system_gateway'
+VUE_APP_API_URL = 'http://127.0.0.1:10010'
# VUE_APP_API_URL = 'http://localhost:10010'
diff --git a/admin/public/index.html b/admin/public/index.html
index 4dba259..c2b7a65 100644
--- a/admin/public/index.html
+++ b/admin/public/index.html
@@ -5,11 +5,11 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
- <title>鑺滄箹鐑熻崏鏅烘収瀹夋秷瀹夊叏闃茶寖绯荤粺</title>
+ <title>椹瀺灞辩儫鑽夋櫤鎱у畨娑堝畨鍏ㄩ槻鑼冪郴缁�</title>
</head>
<body>
<noscript>
- <strong>We're sorry but 鑺滄箹鐑熻崏鏅烘収瀹夋秷瀹夊叏闃茶寖绯荤粺 doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
+ <strong>We're sorry but 椹瀺灞辩儫鑽夋櫤鎱у畨娑堝畨鍏ㄩ槻鑼冪郴缁� doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript>
<div id="app"></div>
<!-- built files will be auto injected -->
diff --git a/admin/src/api/business/company.js b/admin/src/api/business/company.js
index b1ecbcc..cd1c390 100644
--- a/admin/src/api/business/company.js
+++ b/admin/src/api/business/company.js
@@ -40,6 +40,9 @@
export function companySyncDingding (data) {
return request.post('/visitsAdmin/cloudService/business/company/syncAllDingding', data)
}
+export function companySyncJdy (data) {
+ return request.post('/visitsAdmin/cloudService/business/company/syncAllJdy', data)
+}
// 鍒嗛〉鏌ヨ
export function companyGetList (data) {
return request.post('/visitsAdmin/cloudService/business/company/page', data)
diff --git a/admin/src/api/business/member.js b/admin/src/api/business/member.js
index 9492c36..2858b99 100644
--- a/admin/src/api/business/member.js
+++ b/admin/src/api/business/member.js
@@ -26,6 +26,9 @@
export function memberSyncDingding (data) {
return request.post('/visitsAdmin/cloudService/business/member/syncAllDingding', data)
}
+export function memberSyncJdy (data) {
+ return request.post('/visitsAdmin/cloudService/business/member/syncAllJdy', data)
+}
export function delHkForce (data) {
return request.post('/visitsAdmin/cloudService/business/member/delHkForce', data)
}
diff --git a/admin/src/views/business/internalCompany.vue b/admin/src/views/business/internalCompany.vue
index 6bfea48..f9de2c7 100644
--- a/admin/src/views/business/internalCompany.vue
+++ b/admin/src/views/business/internalCompany.vue
@@ -27,6 +27,8 @@
@click="synchronous()">鍚屾</el-button></li>
<li><el-button type="primary" v-permissions="['business:company:create']" :loading="loading"
@click="synchronousDingding()">鍚屾閽夐拤</el-button></li>
+<!-- <li><el-button type="primary" v-permissions="['business:company:create']" :loading="loading"
+ @click="synchronousJdy()">鍚屾绠�閬撲簯</el-button></li>-->
</ul>
<el-table :max-height="tableHeight" v-loading="isWorking.search" :data="list" stripe
:tree-props="{ children: 'childList', hasChildren: 'hasChildren' }" row-key="id"
@@ -65,7 +67,7 @@
<script>
import BaseTable from '@/components/base/BaseTable'
import TableLayout from '@/layouts/TableLayout'
-import { companySync,companySyncDingding, sort } from '@/api/business/company'
+import { companySync,companySyncDingding, companySyncJdy,sort } from '@/api/business/company'
import OperaInternalCompanyWindow from '@/components/business/OperaInternalCompanyWindow'
export default {
name: 'internalCompany',
@@ -150,6 +152,24 @@
})
.catch(() => { })
},
+ async synchronousJdy() {
+ this.$dialog.actionConfirm('璇ユ搷浣滃皢绯荤粺娓呯┖宸叉湁鍐呴儴缁勭粐淇℃伅锛屾偍纭鍚屾鍏ㄩ儴淇℃伅鍚楋紵', '鎿嶄綔纭鎻愰啋')
+ .then(() => {
+ this.loading = true
+ companySyncJdy({})
+ .then(res => {
+ this.$tip.apiSuccess(res || '鍚屾鎴愬姛')
+ this.search()
+ })
+ .catch(e => {
+ this.$tip.apiFailed(e)
+ })
+ .finally(() => {
+ this.loading = false
+ })
+ })
+ .catch(() => { })
+ },
// 鎺掑簭
sort(direction) {
if (this.sorting) {
diff --git a/admin/src/views/business/internalMember.vue b/admin/src/views/business/internalMember.vue
index 76d61e7..2428c44 100644
--- a/admin/src/views/business/internalMember.vue
+++ b/admin/src/views/business/internalMember.vue
@@ -65,8 +65,10 @@
<template v-slot:table-wrap>
<ul class="toolbar" v-permissions="['business:member:delete', 'business:member:create,business:empower:create']">
<li><el-button type="primary" v-permissions="['business:member:sync']" :loading="loading"
- @click="synchronous()">鍚屾</el-button></li>
- <li><el-button type="primary" v-permissions="['business:member:create']" :loading="loading"
+ @click="synchronous()">鍚屾瀹夐槻骞冲彴</el-button></li>
+<!-- <li><el-button type="primary" v-permissions="['business:member:create']" :loading="loading"
+ @click="synchronousJdy()">鍚屾绠�閬撲簯</el-button></li>-->
+ <li><el-button type="primary" v-permissions="['business:member:create']" :loading="loading"
@click="synchronousDingding()">鍚屾閽夐拤</el-button></li>
<li><el-button type="primary"
@click="add" icon="el-icon-plus"
@@ -220,7 +222,7 @@
import OperaMemberImportWindow from '@/components/business/OperaMemberImportWindow'
import { fetchList } from '@/api/business/company'
import { allList } from '@/api/business/position'
-import { memberSync,memberSyncDingding, roleAuth, updateCanVisit, updateHead, updateWorkStatus } from '@/api/business/member'
+import { memberSync,memberSyncDingding, memberSyncJdy,roleAuth, updateCanVisit, updateHead, updateWorkStatus } from '@/api/business/member'
export default {
name: 'internalMember',
extends: BaseTable,
@@ -389,6 +391,24 @@
})
.catch(() => { })
},
+ async synchronousJdy() {
+ this.$dialog.actionConfirm('璇ユ搷浣滈檷瑙﹀彂鍏ㄥ憳淇℃伅鏇存柊鍜岄噸鏂颁笅鍙戯紒璇疯皑鎱庢搷浣�', '鎮ㄧ‘璁ゅ叏閲忓悓姝ュ唴閮ㄤ汉鍛樹俊鎭悧锛�')
+ .then(() => {
+ this.loading = true
+ memberSyncJdy({})
+ .then(res => {
+ this.$tip.apiSuccess(res || '鍚屾鎴愬姛')
+ this.search()
+ })
+ .catch(e => {
+ this.$tip.apiFailed(e)
+ })
+ .finally(() => {
+ this.loading = false
+ })
+ })
+ .catch(() => { })
+ },
async updateHead(row, type) {
this.$dialog.actionConfirm('鎮ㄧ‘璁よ繘琛屽綋鍓嶆搷浣滃悧锛�', '閮ㄩ棬涓荤璁剧疆鎿嶄綔鎻愮ず')
.then(() => {
diff --git a/admin/src/views/login.vue b/admin/src/views/login.vue
index 12a0bb7..6e0cf28 100644
--- a/admin/src/views/login.vue
+++ b/admin/src/views/login.vue
@@ -3,7 +3,7 @@
<img src="@/assets/images/bg@2x.png" class="main_bg" alt="">
<div class="login_wrap">
<div class="login_img">
- <div class="h2">鑺滄箹鐑熻崏鏅烘収瀹夋秷瀹夊叏闃茶寖绯荤粺</div>
+ <div class="h2">椹瀺灞辩儫鑽夋櫤鎱у畨娑堝畨鍏ㄩ槻鑼冪郴缁�</div>
<div class="h3">鏅烘収鐗╂祦鍥尯瀹夋秷涓�浣撳寲绯荤粺</div>
</div>
<div class="form_wrap">
@@ -278,7 +278,7 @@
align-items: center;
justify-content: center;
border-radius: 4px;
- width: 208px;
+ width: 248px;
display: flex;
margin-bottom: 12px;
}
diff --git a/server/meeting/meeting_service/src/main/resources/application-dev.yml b/server/meeting/meeting_service/src/main/resources/application-dev.yml
index 7020783..2350526 100644
--- a/server/meeting/meeting_service/src/main/resources/application-dev.yml
+++ b/server/meeting/meeting_service/src/main/resources/application-dev.yml
@@ -1,7 +1,7 @@
spring:
# 鏁版嵁婧愰厤缃�
datasource:
- url: jdbc:mysql://10.50.250.178:3306/wuhuyancao?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
+ url: jdbc:mysql://10.50.250.178:3306/maanshanyancao?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
username: root
password: Atwl@2024
driver-class-name: com.mysql.cj.jdbc.Driver
diff --git a/server/startsh/admin_start.sh b/server/startsh/admin_start.sh
index d980965..fa044ec 100644
--- a/server/startsh/admin_start.sh
+++ b/server/startsh/admin_start.sh
@@ -8,11 +8,11 @@
/usr/local/nacos/nacos/bin/startup.sh -m standalone
-nohup java -jar /usr/local/jars/wuhuyancao/system_gateway.jar > /dev/null 2>&1 &
-nohup java -jar /usr/local/jars/wuhuyancao/admin_timer.jar > /dev/null 2>&1 &
-nohup java -jar /usr/local/jars/wuhuyancao/system_timer.jar > /dev/null 2>&1 &
-nohup java -jar /usr/local/jars/wuhuyancao/admin_interface.jar > /dev/null 2>&1 &
-nohup java -jar /usr/local/jars/wuhuyancao/meeting_admin.jar > /dev/null 2>&1 &
+nohup java -jar /usr/local/jars/maanshanyancao/system_gateway.jar > /dev/null 2>&1 &
+nohup java -jar /usr/local/jars/maanshanyancao/admin_timer.jar > /dev/null 2>&1 &
+nohup java -jar /usr/local/jars/maanshanyancao/system_timer.jar > /dev/null 2>&1 &
+nohup java -jar /usr/local/jars/maanshanyancao/admin_interface.jar > /dev/null 2>&1 &
+nohup java -jar /usr/local/jars/maanshanyancao/meeting_admin.jar > /dev/null 2>&1 &
@@ -20,3 +20,4 @@
tail -f /usr/local/jars/logs/visitsAdmin/info.2025-10-31.0.log
+tail -f /usr/local/jars/logs/visitsAdmin/error.2025-11-05.0.log
diff --git a/server/system_gateway/src/main/java/com/doumee/config/swagger/SwaggerConfig.java b/server/system_gateway/src/main/java/com/doumee/config/swagger/SwaggerConfig.java
index a04545a..04fb01a 100644
--- a/server/system_gateway/src/main/java/com/doumee/config/swagger/SwaggerConfig.java
+++ b/server/system_gateway/src/main/java/com/doumee/config/swagger/SwaggerConfig.java
@@ -72,7 +72,7 @@
return input -> declaringClass(input).transform(handlerPackage(basePackage)).or(true);
}
- private static Function<Class<?>, Boolean> handlerPackage(String basePackage) {
+ private static Function<Class<?>, Boolean> handlerPackage(String basePackage){
return input -> {
// 寰幆鍒ゆ柇鍖归厤
for (String strPackage : basePackage.split(";")) {
diff --git a/server/system_gateway/src/main/java/com/doumee/config/swagger/SwaggerResourceConfig.java b/server/system_gateway/src/main/java/com/doumee/config/swagger/SwaggerResourceConfig.java
index a471efe..e6824b0 100644
--- a/server/system_gateway/src/main/java/com/doumee/config/swagger/SwaggerResourceConfig.java
+++ b/server/system_gateway/src/main/java/com/doumee/config/swagger/SwaggerResourceConfig.java
@@ -21,7 +21,6 @@
private final RouteLocator routeLocator;
private final GatewayProperties gatewayProperties;
-
@Override
public List<SwaggerResource> get() {
List<SwaggerResource> resources = new ArrayList<>();
@@ -37,7 +36,6 @@
});
return resources;
}
-
private SwaggerResource swaggerResource(String name, String location) {
log.info("name:{},location:{}",name,location);
SwaggerResource swaggerResource = new SwaggerResource();
diff --git a/server/system_gateway/src/main/resources/application-dev.yml b/server/system_gateway/src/main/resources/application-dev.yml
index c4cb500..fa9d9de 100644
--- a/server/system_gateway/src/main/resources/application-dev.yml
+++ b/server/system_gateway/src/main/resources/application-dev.yml
@@ -1,7 +1,7 @@
spring:
# 鏁版嵁婧愰厤缃�
datasource:
- url: jdbc:mysql://192.168.0.211:3306/wuhuyancao?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
+ url: jdbc:mysql://192.168.0.211:3306/maanshanyancao?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
username: root
password: Doumee@168
driver-class-name: com.mysql.cj.jdbc.Driver
diff --git a/server/system_gateway/src/main/resources/application-pro.yml b/server/system_gateway/src/main/resources/application-pro.yml
index df592ab..414451c 100644
--- a/server/system_gateway/src/main/resources/application-pro.yml
+++ b/server/system_gateway/src/main/resources/application-pro.yml
@@ -1,7 +1,7 @@
spring:
# 鏁版嵁婧愰厤缃�
datasource:
- url: jdbc:mysql://localhost:3306/wuhuyancao?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
+ url: jdbc:mysql://localhost:3306/maanshanyancao?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
username: root
password: Whyc@2025
driver-class-name: com.mysql.cj.jdbc.Driver
diff --git a/server/system_gateway/src/main/resources/application-test.yml b/server/system_gateway/src/main/resources/application-test.yml
index 20c212f..8383f3c 100644
--- a/server/system_gateway/src/main/resources/application-test.yml
+++ b/server/system_gateway/src/main/resources/application-test.yml
@@ -1,7 +1,7 @@
spring:
# 鏁版嵁婧愰厤缃�
datasource:
- url: jdbc:mysql://192.168.0.211:3306/wuhuyancao?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
+ url: jdbc:mysql://192.168.0.211:3306/maanshanyancao?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
username: root
password: Doumee@168
driver-class-name: com.mysql.cj.jdbc.Driver
diff --git a/server/system_gateway/src/main/resources/bootstrap-dev.yml b/server/system_gateway/src/main/resources/bootstrap-dev.yml
index acef110..a375799 100644
--- a/server/system_gateway/src/main/resources/bootstrap-dev.yml
+++ b/server/system_gateway/src/main/resources/bootstrap-dev.yml
@@ -7,7 +7,7 @@
discovery:
server-addr: http://192.168.0.7:8848 #閰嶇疆Nacos鍦板潃
# namespace: dmvisit
- namespace: wuhu_visit_dev1
+ namespace: wuhu_visit_dev
username: nacos
password: nacos
gateway:
diff --git a/server/system_gateway/src/main/resources/bootstrap-pro.yml b/server/system_gateway/src/main/resources/bootstrap-pro.yml
index 8d0b245..8310c2f 100644
--- a/server/system_gateway/src/main/resources/bootstrap-pro.yml
+++ b/server/system_gateway/src/main/resources/bootstrap-pro.yml
@@ -6,7 +6,7 @@
password: nacos
discovery:
server-addr: http://localhost:8848 #閰嶇疆Nacos鍦板潃
- namespace: wuhuyancao
+ namespace: maanshanyancao
# namespace: dev_renkang
username: nacos
password: nacos
diff --git a/server/system_service/src/main/java/com/doumee/config/DataSyncConfig.java b/server/system_service/src/main/java/com/doumee/config/DataSyncConfig.java
index fc22973..dd23a6a 100644
--- a/server/system_service/src/main/java/com/doumee/config/DataSyncConfig.java
+++ b/server/system_service/src/main/java/com/doumee/config/DataSyncConfig.java
@@ -12,6 +12,8 @@
int erp = 1;
int hk = 2;
int self = 0;
+ int jdy = 3;
+ int dingding = 4;
}
private Integer orgUserDataOrigin;
private Integer visitorDataOrigin;
diff --git a/server/system_service/src/main/java/com/doumee/core/jiandaoyun/api/arch/CorpCoopApiClient.java b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/api/arch/CorpCoopApiClient.java
new file mode 100644
index 0000000..c4864b1
--- /dev/null
+++ b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/api/arch/CorpCoopApiClient.java
@@ -0,0 +1,80 @@
+package com.doumee.core.jiandaoyun.api.arch;
+
+import com.doumee.core.jiandaoyun.model.http.ApiClient;
+import com.doumee.core.jiandaoyun.model.http.HttpRequestParam;
+import org.apache.commons.lang3.StringUtils;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import static com.doumee.core.jiandaoyun.constants.HttpConstant.CORP_COOP_BASE_PATH;
+
+/**
+ * 浼佷笟浜掕仈鐩稿叧鎺ュ彛
+ */
+public class CorpCoopApiClient extends ApiClient {
+
+ private static final String DEFAULT_VERSION = "v5";
+ private static final List<String> VALID_VERSION_LIST = Collections.singletonList("v5");
+
+
+ public CorpCoopApiClient(String apiKey, String host) {
+ super(apiKey, host);
+ this.setDefaultVersion(DEFAULT_VERSION);
+ this.setValidVersionList(VALID_VERSION_LIST);
+ }
+
+ @Override
+ public String generatePath(String version, String path) {
+ return super.getValidVersion(version) + CORP_COOP_BASE_PATH + path;
+ }
+
+ /**
+ * 鍒楀嚭鎴戣繛鎺ョ殑浼佷笟
+ *
+ * @param deptNo - 閮ㄩ棬缂栧彿 鍙负null
+ * @return 鎴戣繛鎺ョ殑浼佷笟
+ */
+ public Map<String, Object> corpCoopDepartList(Integer deptNo, String version) throws Exception {
+ String path = this.generatePath(version, "department/list");
+ // 璇锋眰鍙傛暟
+ Map<String, Object> data = new HashMap<>();
+ data.put("dept_no", deptNo);
+ HttpRequestParam param = new HttpRequestParam(path, data);
+ return this.sendPostRequest(param);
+ }
+
+ /**
+ * 鍒楀嚭鎴戣繛鎺ョ殑浼佷笟瀵规帴浜�
+ *
+ * @param deptNo - 閮ㄩ棬缂栧彿 鍙负null
+ * @return 鎴戣繛鎺ョ殑浼佷笟瀵规帴浜�
+ */
+ public Map<String, Object> corpCoopMemberList(Integer deptNo, String version) throws Exception {
+ String path = this.generatePath(version, "user/list");
+ // 璇锋眰鍙傛暟
+ Map<String, Object> data = new HashMap<>();
+ data.put("dept_no", deptNo);
+ HttpRequestParam param = new HttpRequestParam(path, data);
+ return this.sendPostRequest(param);
+ }
+
+ /**
+ * 鍒楀嚭鎴戣繛鎺ョ殑浼佷笟瀵规帴浜鸿缁嗕俊鎭�
+ *
+ * @param userName - 鐢ㄦ埛鍚�
+ */
+ public Map<String, Object> corpCoopUserInfo(String userName, String version) throws Exception {
+ if (StringUtils.isBlank(userName)) {
+ throw new RuntimeException("param lack!");
+ }
+ String path = this.generatePath(version, "user/get");
+ // 璇锋眰鍙傛暟
+ Map<String, Object> data = new HashMap<>();
+ data.put("username", userName);
+ HttpRequestParam param = new HttpRequestParam(path, data);
+ return this.sendPostRequest(param);
+ }
+}
diff --git a/server/system_service/src/main/java/com/doumee/core/jiandaoyun/api/arch/DeptApiClient.java b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/api/arch/DeptApiClient.java
new file mode 100644
index 0000000..cc66d63
--- /dev/null
+++ b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/api/arch/DeptApiClient.java
@@ -0,0 +1,168 @@
+package com.doumee.core.jiandaoyun.api.arch;
+
+import com.doumee.core.jiandaoyun.model.dept.DeptCreateParam;
+import com.doumee.core.jiandaoyun.model.http.ApiClient;
+import com.doumee.core.jiandaoyun.model.http.HttpRequestParam;
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import static com.doumee.core.jiandaoyun.constants.HttpConstant.DEPT_BASE_PATH;
+
+/**
+ * 閮ㄩ棬鐩稿叧鎺ュ彛
+ */
+public class DeptApiClient extends ApiClient {
+ private static final String DEFAULT_VERSION = "v5";
+ private static final List<String> VALID_VERSION_LIST = Collections.singletonList("v5");
+
+ public DeptApiClient(String apiKey, String host) {
+ super(apiKey, host);
+ this.setDefaultVersion(DEFAULT_VERSION);
+ this.setValidVersionList(VALID_VERSION_LIST);
+ }
+
+ @Override
+ public String generatePath(String version, String path) {
+ return super.getValidVersion(version) + DEPT_BASE_PATH + path;
+ }
+
+ /**
+ * 鑾峰彇閮ㄩ棬缂栧彿瀵瑰簲閮ㄩ棬鍒楄〃 锛堥�掑綊锛�
+ *
+ * @param deptNo - 閮ㄩ棬缂栧彿
+ * @return 閮ㄩ棬淇℃伅
+ */
+ public Map<String, Object> deptList(Integer deptNo, Boolean hasChild, String version) throws Exception {
+ if (deptNo == null) {
+ throw new RuntimeException("param lack!");
+ }
+ String path = this.generatePath(version, "list");
+ // 璇锋眰鍙傛暟
+ Map<String, Object> data = new HashMap<>();
+ data.put("has_child", hasChild);
+ data.put("dept_no", deptNo);
+ HttpRequestParam param = new HttpRequestParam(path, data);
+ return this.sendPostRequest(param);
+ }
+
+ /**
+ * 鍒涘缓閮ㄩ棬
+ *
+ * @param param - 閮ㄩ棬鍚嶇О
+ * @return 閮ㄩ棬淇℃伅
+ */
+ public Map<String, Object> deptCreate(DeptCreateParam param, String version) throws Exception {
+ if (param == null || !param.isValid()) {
+ throw new RuntimeException("param lack!");
+ }
+ String path = this.generatePath(version, "create");
+ // 璇锋眰鍙傛暟
+ Map<String, Object> data = new HashMap<>();
+ data.put("name", param.getName());
+ data.put("dept_no", param.getDept_no());
+ data.put("parent_no", param.getParent_no());
+ HttpRequestParam httpRequestParam = new HttpRequestParam(path, data);
+ return this.sendPostRequest(httpRequestParam);
+ }
+
+
+ /**
+ * 鏍规嵁閮ㄩ棬缂栧彿 鏇存柊閮ㄩ棬鍚嶇О
+ *
+ * @param deptNo - 閮ㄩ棬缂栧彿
+ * @param name - 鍚嶇О
+ * @return 鏇存柊鍚庣殑閮ㄩ棬淇℃伅
+ */
+ public Map<String, Object> deptUpdate(Integer deptNo, String name, String version) throws Exception {
+ if (deptNo == null || StringUtils.isBlank(name)) {
+ throw new RuntimeException("param lack!");
+ }
+ String path = this.generatePath(version, "update");
+ // 璇锋眰鍙傛暟
+ Map<String, Object> data = new HashMap<>();
+ data.put("name", name);
+ data.put("dept_no", deptNo);
+ HttpRequestParam httpRequestParam = new HttpRequestParam(path, data);
+ return this.sendPostRequest(httpRequestParam);
+ }
+
+ /**
+ * 鏍规嵁閮ㄩ棬缂栧彿 鍒犻櫎閮ㄩ棬
+ *
+ * @param deptNo - 閮ㄩ棬缂栧彿
+ * @return status
+ */
+ public Map<String, Object> deptDelete(Integer deptNo, String version) throws Exception {
+ if (deptNo == null) {
+ throw new RuntimeException("param lack!");
+ }
+ String path = this.generatePath(version, "delete");
+ // 璇锋眰鍙傛暟
+ Map<String, Object> data = new HashMap<>();
+ data.put("dept_no", deptNo);
+ HttpRequestParam httpRequestParam = new HttpRequestParam(path, data);
+ return this.sendPostRequest(httpRequestParam);
+ }
+
+ /**
+ * 鏍规嵁闆嗘垚妯″紡閫氳褰曠殑閮ㄩ棬ID鑾峰彇閮ㄩ棬缂栧彿
+ *
+ * @param integrateId - 绗笁鏂瑰钩鍙扮殑閫氳褰曢儴闂ㄧ殑ID
+ * @return 閮ㄩ棬缂栧彿
+ */
+ public Map<String, Object> deptByIntegrateId(String integrateId, String version) throws Exception {
+ if (StringUtils.isBlank(integrateId)) {
+ throw new RuntimeException("param lack!");
+ }
+ String path = this.generatePath(version, "dept_no/get");
+ // 璇锋眰鍙傛暟
+ Map<String, Object> data = new HashMap<>();
+ data.put("integrate_id", integrateId);
+ HttpRequestParam httpRequestParam = new HttpRequestParam(path, data);
+ return this.sendPostRequest(httpRequestParam);
+ }
+
+ /**
+ * 鎵归噺鍒涘缓閮ㄩ棬
+ *
+ * @param paramList - 閮ㄩ棬鍙傛暟鍒楄〃
+ * @return status
+ */
+ public Map<String, Object> departmentImport(List<DeptCreateParam> paramList, String version) throws Exception {
+ if (CollectionUtils.isEmpty(paramList)) {
+ throw new RuntimeException("param lack!");
+ }
+ String path = this.generatePath(version, "import");
+ // 璇锋眰鍙傛暟
+ Map<String, Object> data = new HashMap<>();
+ data.put("departments", paramList);
+ HttpRequestParam httpRequestParam = new HttpRequestParam(path, data);
+ return this.sendPostRequest(httpRequestParam);
+ }
+
+
+ /**
+ * 鑾峰彇閮ㄩ棬鎴愬憳锛堥�掑綊锛�
+ *
+ * @param deptNo - 閮ㄩ棬缂栧彿
+ * @param hasChild - 鏄惁鏌ュ瓙閮ㄩ棬
+ * @return 閮ㄩ棬鎴愬憳淇℃伅
+ */
+ public Map<String, Object> deptMemberList(Integer deptNo, Boolean hasChild, String version) throws Exception {
+ if (deptNo == null || hasChild == null) {
+ throw new RuntimeException("param lack!");
+ }
+ String path = this.generatePath(version, "user/list");
+ // 璇锋眰鍙傛暟
+ Map<String, Object> data = new HashMap<>();
+ data.put("has_child", hasChild);
+ data.put("dept_no", deptNo);
+ HttpRequestParam param = new HttpRequestParam(path, data);
+ return this.sendPostRequest(param);
+ }
+}
diff --git a/server/system_service/src/main/java/com/doumee/core/jiandaoyun/api/arch/MemberApiClient.java b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/api/arch/MemberApiClient.java
new file mode 100644
index 0000000..da39223
--- /dev/null
+++ b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/api/arch/MemberApiClient.java
@@ -0,0 +1,147 @@
+package com.doumee.core.jiandaoyun.api.arch;
+
+import com.doumee.core.jiandaoyun.model.http.ApiClient;
+import com.doumee.core.jiandaoyun.model.http.HttpRequestParam;
+import com.doumee.core.jiandaoyun.model.user.UserCreateParam;
+import com.doumee.core.jiandaoyun.model.user.UserUpdateParam;
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
+
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import static com.doumee.core.jiandaoyun.constants.HttpConstant.MEMBER_BASE_PATH;
+
+/**
+ * 鎴愬憳鐩稿叧鎺ュ彛
+ */
+public class MemberApiClient extends ApiClient {
+ private static final String DEFAULT_VERSION = "v5";
+ private static final List<String> VALID_VERSION_LIST = Arrays.asList("v5");
+
+ public MemberApiClient(String apiKey, String host) {
+ super(apiKey, host);
+ this.setDefaultVersion(DEFAULT_VERSION);
+ this.setValidVersionList(VALID_VERSION_LIST);
+ }
+
+ @Override
+ public String generatePath(String version, String path) {
+ return super.getValidVersion(version) + MEMBER_BASE_PATH + path;
+ }
+
+ /**
+ * 鍒涘缓鎴愬憳
+ *
+ * @param param - 鎴愬憳淇℃伅
+ * @return 鎴愬憳淇℃伅
+ */
+ public Map<String, Object> userCreate(UserCreateParam param, String version) throws Exception {
+ if (param == null || !param.isValid()) {
+ throw new RuntimeException("param lack!");
+ }
+ String path = this.generatePath(version, "create");
+ // 璇锋眰鍙傛暟
+ Map<String, Object> data = new HashMap<>();
+ data.put("name", param.getName());
+ data.put("username", param.getUsername());
+ data.put("departments", param.getDepartments());
+ HttpRequestParam requestParam = new HttpRequestParam(path, data);
+ return this.sendPostRequest(requestParam);
+ }
+
+ /**
+ * 鏍规嵁鎴愬憳鍚嶇О 鑾峰彇鎴愬憳
+ *
+ * @param userName - 鎴愬憳鍚嶇О
+ * @return 鎴愬憳淇℃伅
+ */
+ public Map<String, Object> userInfo(String userName, String version) throws Exception {
+ if (StringUtils.isBlank(userName)) {
+ throw new RuntimeException("param lack!");
+ }
+ String path = this.generatePath(version, "get");
+ // 璇锋眰鍙傛暟
+ Map<String, Object> data = new HashMap<>();
+ data.put("username", userName);
+ HttpRequestParam param = new HttpRequestParam(path, data);
+ return this.sendPostRequest(param);
+ }
+
+ /**
+ * 鏇存柊鎴愬憳
+ *
+ * @param updateParam - 鏇存柊鐨勬垚鍛樹俊鎭�
+ * @return 鏇存柊鍚庣殑鎴愬憳淇℃伅
+ */
+ public Map<String, Object> userUpdate(UserUpdateParam updateParam, String version) throws Exception {
+ if (updateParam == null || !updateParam.isValid()) {
+ throw new RuntimeException("param lack!");
+ }
+ String path = this.generatePath(version, "update");
+ // 璇锋眰鍙傛暟
+ Map<String, Object> data = new HashMap<>();
+ data.put("name", updateParam.getName());
+ data.put("username", updateParam.getUserName());
+ data.put("departments", updateParam.getDepartmentList());
+ HttpRequestParam requestParam = new HttpRequestParam(path, data);
+ return this.sendPostRequest(requestParam);
+ }
+
+ /**
+ * 鎴愬憳鍒犻櫎
+ *
+ * @param userName - 鎴愬憳鍚嶇О
+ * @return status
+ */
+ public Map<String, Object> userDelete(String userName, String version) throws Exception {
+ if (StringUtils.isBlank(userName)) {
+ throw new RuntimeException("param lack!");
+ }
+ String path = this.generatePath(version, "delete");
+ // 璇锋眰鍙傛暟
+ Map<String, Object> data = new HashMap<>();
+ data.put("username", userName);
+ HttpRequestParam param = new HttpRequestParam(path, data);
+ return this.sendPostRequest(param);
+ }
+
+
+ /**
+ * 鎵归噺鍒犻櫎鎴愬憳
+ *
+ * @param userNameList - 寰呭垹闄ょ殑鐢ㄦ埛鍚嶇О鍒楄〃
+ * @return status
+ */
+ public Map<String, Object> userBatchDelete(List<String> userNameList, String version) throws Exception {
+ if (CollectionUtils.isEmpty(userNameList)) {
+ throw new RuntimeException("param lack!");
+ }
+ String path = this.generatePath(version, "batch_delete");
+ // 璇锋眰鍙傛暟
+ Map<String, Object> data = new HashMap<>();
+ data.put("usernames", userNameList);
+ HttpRequestParam requestParam = new HttpRequestParam(path, data);
+ return this.sendPostRequest(requestParam);
+ }
+
+ /**
+ * 鎵归噺瀵煎叆鎴愬憳
+ *
+ * @param userNameList - 瀵煎叆鐨勬垚鍛樺垪琛�
+ * @return status
+ */
+ public Map<String, Object> userImport(List<UserCreateParam> userNameList, String version) throws Exception {
+ if (CollectionUtils.isEmpty(userNameList)) {
+ throw new RuntimeException("param lack!");
+ }
+ String path = this.generatePath(version, "import");
+ // 璇锋眰鍙傛暟
+ Map<String, Object> data = new HashMap<>();
+ data.put("users", userNameList);
+ HttpRequestParam requestParam = new HttpRequestParam(path, data);
+ return this.sendPostRequest(requestParam);
+ }
+}
diff --git a/server/system_service/src/main/java/com/doumee/core/jiandaoyun/api/arch/RoleApiClient.java b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/api/arch/RoleApiClient.java
new file mode 100644
index 0000000..fb48a3e
--- /dev/null
+++ b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/api/arch/RoleApiClient.java
@@ -0,0 +1,170 @@
+package com.doumee.core.jiandaoyun.api.arch;
+
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.doumee.core.jiandaoyun.model.http.ApiClient;
+import com.doumee.core.jiandaoyun.model.http.HttpRequestParam;
+import com.doumee.core.jiandaoyun.model.role.RoleListQueryParam;
+import com.doumee.core.jiandaoyun.model.role.RoleMemberQueryParam;
+import com.doumee.core.jiandaoyun.model.role.RoleUpdateParam;
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import static com.doumee.core.jiandaoyun.constants.HttpConstant.ROLE_BASE_PATH;
+
+/**
+ * 瑙掕壊鐩稿叧鎺ュ彛
+ */
+public class RoleApiClient extends ApiClient {
+ private static final String DEFAULT_VERSION = "v5";
+ private static final List<String> VALID_VERSION_LIST = Collections.singletonList("v5");
+
+ public RoleApiClient(String apiKey, String host) {
+ super(apiKey, host);
+ this.setDefaultVersion(DEFAULT_VERSION);
+ this.setValidVersionList(VALID_VERSION_LIST);
+ }
+
+ @Override
+ public String generatePath(String version, String path) {
+ return super.getValidVersion(version) + ROLE_BASE_PATH + path;
+ }
+
+ /**
+ * 鍒楀嚭瑙掕壊
+ *
+ * @param queryParam - 鏌ヨ鍙傛暟
+ * @return 瑙掕壊淇℃伅
+ */
+ public Map<String, Object> roleList(RoleListQueryParam queryParam, String version) throws Exception {
+ if (queryParam == null || !queryParam.isValid()) {
+ throw new RuntimeException("param lack!");
+ }
+ String path = this.generatePath(version, "list");
+ // 璇锋眰鍙傛暟 灏� queryParam 閲岄潰鐨勫睘鎬ц浆鎹㈡垚map
+ Map<String, Object> data =
+ new ObjectMapper().convertValue(queryParam, new TypeReference<Map<String, Object>>() {
+ });
+ HttpRequestParam param = new HttpRequestParam(path, data);
+ return this.sendPostRequest(param);
+ }
+
+ /**
+ * 鍒涘缓瑙掕壊
+ *
+ * @param name - 瑙掕壊鍚嶇О
+ * @param groupNo - 瑙掕壊缁勭紪鍙�
+ * @return 瑙掕壊淇℃伅
+ */
+ public Map<String, Object> roleCreate(String name, Integer groupNo, String version) throws Exception {
+ if (StringUtils.isBlank(name) || groupNo == null) {
+ throw new RuntimeException("param lack!");
+ }
+ String path = this.generatePath(version,"create");
+ Map<String, Object> data = new HashMap<>();
+ data.put("group_no", groupNo);
+ data.put("name", name);
+ HttpRequestParam param = new HttpRequestParam(path, data);
+ return this.sendPostRequest(param);
+ }
+
+ /**
+ * 鏇存柊瑙掕壊
+ *
+ * @param updateParam - 瑙掕壊鏇存柊淇℃伅
+ * @return 鏇存柊鍚庣殑瑙掕壊淇℃伅
+ */
+ public Map<String, Object> roleUpdate(RoleUpdateParam updateParam, String version) throws Exception {
+ if (updateParam == null || !updateParam.isValid()) {
+ throw new RuntimeException("param lack!");
+ }
+ String path = this.generatePath(version,"update");
+ // 璇锋眰鍙傛暟 灏� queryParam 閲岄潰鐨勫睘鎬ц浆鎹㈡垚map
+ Map<String, Object> data =
+ new ObjectMapper().convertValue(updateParam, new TypeReference<Map<String, Object>>() {
+ });
+ HttpRequestParam param = new HttpRequestParam(path, data);
+ return this.sendPostRequest(param);
+ }
+
+ /**
+ * 鍒犻櫎瑙掕壊
+ *
+ * @param roleNo - 瑙掕壊缂栧彿
+ * @return 鏃�
+ */
+ public Map<String, Object> roleDelete(Integer roleNo, String version) throws Exception {
+ if (roleNo == null) {
+ throw new RuntimeException("param lack!");
+ }
+ String path = this.generatePath(version,"delete");
+ Map<String, Object> data = new HashMap<>();
+ data.put("role_no", roleNo);
+ HttpRequestParam param = new HttpRequestParam(path, data);
+ return this.sendPostRequest(param);
+ }
+
+ /**
+ * 鍒楀嚭瑙掕壊涓嬬殑鎵�鏈夋垚鍛�
+ *
+ * @param queryParam - 浜х嚎鍙傛暟
+ * @return 鎴愬憳淇℃伅
+ */
+ public Map<String, Object> roleMemberList(RoleMemberQueryParam queryParam, String version) throws Exception {
+ if (queryParam == null || !queryParam.isValid()) {
+ throw new RuntimeException("param lack!");
+ }
+ String path = this.generatePath(version,"user/list");
+ // 璇锋眰鍙傛暟 灏� queryParam 閲岄潰鐨勫睘鎬ц浆鎹㈡垚map
+ Map<String, Object> data =
+ new ObjectMapper().convertValue(queryParam, new TypeReference<Map<String, Object>>() {
+ });
+ HttpRequestParam param = new HttpRequestParam(path, data);
+ return this.sendPostRequest(param);
+ }
+
+ /**
+ * 鎵归噺缁欏凡鏈夌殑鎴愬憳璁剧疆鑷缓瑙掕壊
+ *
+ * @param roleNo - 瑙掕壊缂栧彿
+ * @param userNameList - 鎴愬憳鍚嶇О鍒楄〃
+ * @return success
+ */
+ public Map<String, Object> roleAddMembers(Integer roleNo, List<String> userNameList, String version)
+ throws Exception {
+ if (roleNo == null || CollectionUtils.isEmpty(userNameList)) {
+ throw new RuntimeException("param lack!");
+ }
+ String path = this.generatePath(version,"add_members");
+ Map<String, Object> data = new HashMap<>();
+ data.put("role_no", roleNo);
+ data.put("usernames", userNameList);
+ HttpRequestParam param = new HttpRequestParam(path, data);
+ return this.sendPostRequest(param);
+ }
+
+ /**
+ * 涓鸿嚜寤鸿鑹叉壒閲忕Щ闄ゆ垚鍛�
+ *
+ * @param roleNo - 瑙掕壊缂栧彿
+ * @param userNameList - 鐢ㄦ埛鍚嶇О鍒楄〃
+ * @return status
+ */
+ public Map<String, Object> roleRemoveMembers(Integer roleNo, List<String> userNameList, String version)
+ throws Exception {
+ if (roleNo == null || CollectionUtils.isEmpty(userNameList)) {
+ throw new RuntimeException("param lack!");
+ }
+ String path = this.generatePath(version,"remove_members");
+ Map<String, Object> data = new HashMap<>();
+ data.put("role_no", roleNo);
+ data.put("usernames", userNameList);
+ HttpRequestParam param = new HttpRequestParam(path, data);
+ return this.sendPostRequest(param);
+ }
+}
diff --git a/server/system_service/src/main/java/com/doumee/core/jiandaoyun/api/arch/RoleGroupApiClient.java b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/api/arch/RoleGroupApiClient.java
new file mode 100644
index 0000000..1b2384c
--- /dev/null
+++ b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/api/arch/RoleGroupApiClient.java
@@ -0,0 +1,108 @@
+package com.doumee.core.jiandaoyun.api.arch;
+
+
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.doumee.core.jiandaoyun.model.http.ApiClient;
+import com.doumee.core.jiandaoyun.model.http.HttpRequestParam;
+import com.doumee.core.jiandaoyun.model.role.RoleGroupListQueryParam;
+import org.apache.commons.lang3.StringUtils;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import static com.doumee.core.jiandaoyun.constants.HttpConstant.ROLE_GROUP_BASE_PATH;
+
+/**
+ * 瑙掕壊缁勭浉鍏虫帴鍙�
+ */
+public class RoleGroupApiClient extends ApiClient {
+
+ private static final String DEFAULT_VERSION = "v5";
+ private static final List<String> VALID_VERSION_LIST = Collections.singletonList("v5");
+
+ public RoleGroupApiClient(String apiKey, String host) {
+ super(apiKey, host);
+ this.setDefaultVersion(DEFAULT_VERSION);
+ this.setValidVersionList(VALID_VERSION_LIST);
+ }
+
+ @Override
+ public String generatePath(String version, String path) {
+ return super.getValidVersion(version) + ROLE_GROUP_BASE_PATH + path;
+ }
+
+ /**
+ * 鍒楀嚭瑙掕壊缁�
+ *
+ * @param queryParam - 鏌ヨ鍙傛暟
+ * @return 瑙掕壊缁勪俊鎭�
+ */
+ public Map<String, Object> roleGroupList(RoleGroupListQueryParam queryParam, String version) throws Exception {
+ if (queryParam == null || !queryParam.isValid()) {
+ throw new RuntimeException("param lack!");
+ }
+ String path = this.generatePath(version,"list");
+ // 璇锋眰鍙傛暟 灏� queryParam 閲岄潰鐨勫睘鎬ц浆鎹㈡垚map
+ Map<String, Object> data =
+ new ObjectMapper().convertValue(queryParam, new TypeReference<Map<String, Object>>() {
+ });
+ HttpRequestParam param = new HttpRequestParam(path, data);
+ return this.sendPostRequest(param);
+ }
+
+ /**
+ * 鍒涘缓瑙掕壊缁�
+ *
+ * @param name - 瑙掕壊缁勫悕绉�
+ * @return 瑙掕壊缁勪俊鎭�
+ */
+ public Map<String, Object> roleGroupCreate(String name, String version) throws Exception {
+ if (StringUtils.isBlank(name)) {
+ throw new RuntimeException("param lack!");
+ }
+ String path = this.generatePath(version,"create");
+ Map<String, Object> data = new HashMap<>();
+ data.put("name", name);
+ HttpRequestParam param = new HttpRequestParam(path, data);
+ return this.sendPostRequest(param);
+ }
+
+ /**
+ * 鏇存柊瑙掕壊缁�
+ *
+ * @param name - 瑙掕壊缁勫悕绉�
+ * @param roleGroupNo - 瑙掕壊缁勭紪鍙�
+ * @return 鏇存柊鍚庣殑瑙掕壊缁勪俊鎭�
+ */
+ public Map<String, Object> roleGroupUpdate(String name, Integer roleGroupNo, String version) throws Exception {
+ if (StringUtils.isBlank(name) || roleGroupNo == null) {
+ throw new RuntimeException("param lack!");
+ }
+ String path = this.generatePath(version,"update");
+ Map<String, Object> data = new HashMap<>();
+ data.put("name", name);
+ data.put("role_group_no", roleGroupNo);
+ HttpRequestParam param = new HttpRequestParam(path, data);
+ return this.sendPostRequest(param);
+ }
+
+ /**
+ * 鍒犻櫎瑙掕壊缁�
+ *
+ * @param roleGroupNo - 瑙掕壊缁勭紪鍙�
+ * @return status
+ */
+ public Map<String, Object> roleGroupDelete(Integer roleGroupNo, String version) throws Exception {
+ if (roleGroupNo == null) {
+ throw new RuntimeException("param lack!");
+ }
+ String path = this.generatePath(version, "delete");
+ Map<String, Object> data = new HashMap<>();
+ data.put("role_group_no", roleGroupNo);
+ HttpRequestParam param = new HttpRequestParam(path, data);
+ return this.sendPostRequest(param);
+ }
+}
diff --git a/server/system_service/src/main/java/com/doumee/core/jiandaoyun/api/jdy/AppApiClient.java b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/api/jdy/AppApiClient.java
new file mode 100644
index 0000000..0dffcbe
--- /dev/null
+++ b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/api/jdy/AppApiClient.java
@@ -0,0 +1,53 @@
+package com.doumee.core.jiandaoyun.api.jdy;
+
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.doumee.core.jiandaoyun.model.base.PageBaseParam;
+import com.doumee.core.jiandaoyun.model.http.ApiClient;
+import com.doumee.core.jiandaoyun.model.http.HttpRequestParam;
+
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+import static com.doumee.core.jiandaoyun.constants.HttpConstant.APP_BASE_PATH;
+
+
+/**
+ * 搴旂敤鐩稿叧鎺ュ彛
+ */
+public class AppApiClient extends ApiClient {
+
+ private static final String DEFAULT_VERSION = "v5";
+ private static final List<String> VALID_VERSION_LIST = Collections.singletonList("v5");
+
+ public AppApiClient(String apiKey, String host) {
+ super(apiKey, host);
+ this.setDefaultVersion(DEFAULT_VERSION);
+ this.setValidVersionList(VALID_VERSION_LIST);
+ }
+
+ @Override
+ public String generatePath(String version, String path) {
+ return super.getValidVersion(version) + APP_BASE_PATH + path;
+ }
+
+ /**
+ * 搴旂敤鍒嗛〉鍒楄〃
+ *
+ * @param queryParam - 鏌ヨ鍙傛暟
+ * @return 搴旂敤淇℃伅
+ */
+ public Map<String, Object> appList(PageBaseParam queryParam, String version) throws Exception {
+ if (queryParam == null || !queryParam.isValid()) {
+ throw new RuntimeException("param lack!");
+ }
+ String path = this.generatePath(version, "list");
+ // 璇锋眰鍙傛暟 灏� queryParam 閲岄潰鐨勫睘鎬ц浆鎹㈡垚map
+ Map<String, Object> data =
+ new ObjectMapper().convertValue(queryParam, new TypeReference<Map<String, Object>>() {
+ });
+ HttpRequestParam param = new HttpRequestParam(path, data);
+ return this.sendPostRequest(param);
+ }
+}
diff --git a/server/system_service/src/main/java/com/doumee/core/jiandaoyun/api/jdy/FileApiClient.java b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/api/jdy/FileApiClient.java
new file mode 100644
index 0000000..736abca
--- /dev/null
+++ b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/api/jdy/FileApiClient.java
@@ -0,0 +1,61 @@
+package com.doumee.core.jiandaoyun.api.jdy;
+
+import com.doumee.core.jiandaoyun.model.file.UploadTokenParam;
+import com.doumee.core.jiandaoyun.model.http.ApiClient;
+import com.doumee.core.jiandaoyun.model.http.HttpRequestParam;
+import org.apache.commons.lang3.StringUtils;
+
+import java.io.File;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import static com.doumee.core.jiandaoyun.constants.HttpConstant.FORM_BASE_PATH;
+
+/**
+ * 鏂囦欢鐩稿叧鎺ュ彛
+ */
+public class FileApiClient extends ApiClient {
+
+ private static final String DEFAULT_VERSION = "v5";
+ private static final List<String> VALID_VERSION_LIST = Collections.singletonList("v5");
+
+ public FileApiClient(String apiKey, String host) {
+ super(apiKey, host);
+ this.setDefaultVersion(DEFAULT_VERSION);
+ this.setValidVersionList(VALID_VERSION_LIST);
+ }
+
+ @Override
+ public String generatePath(String version, String path) {
+ return super.getValidVersion(version) + FORM_BASE_PATH + path;
+ }
+
+ /**
+ * 鑾峰彇鏂囦欢涓婁紶鍑瘉鍜屼笂浼犲湴鍧�鎺ュ彛
+ *
+ * @param uploadTokenParam - 鏂囦欢瀵瑰簲鐨勪俊鎭�
+ * @return token鍜寀rl淇℃伅
+ */
+ public Map<String, Object> uploadToken(UploadTokenParam uploadTokenParam, String version) throws Exception {
+ if (uploadTokenParam == null || !uploadTokenParam.isValid()) {
+ throw new RuntimeException("param lack!");
+ }
+ String path = this.generatePath(version, "file/get_upload_token");
+ // 璇锋眰鍙傛暟
+ Map<String, Object> data = new HashMap<>();
+ data.put("transaction_id", uploadTokenParam.getTransactionId());
+ data.put("app_id", uploadTokenParam.getAppId());
+ data.put("entry_id", uploadTokenParam.getEntryId());
+ HttpRequestParam param = new HttpRequestParam(path, data);
+ return this.sendPostRequest(param);
+ }
+
+ public Map<String, Object> uploadFile(String url, String token, File file) throws Exception {
+ if (StringUtils.isBlank(url) || StringUtils.isBlank(token) || file == null) {
+ throw new RuntimeException("param lack!");
+ }
+ return this.httpPostFile(url, token, file);
+ }
+}
diff --git a/server/system_service/src/main/java/com/doumee/core/jiandaoyun/api/jdy/FormApiClient.java b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/api/jdy/FormApiClient.java
new file mode 100644
index 0000000..d8d35a5
--- /dev/null
+++ b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/api/jdy/FormApiClient.java
@@ -0,0 +1,71 @@
+package com.doumee.core.jiandaoyun.api.jdy;
+
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.doumee.core.jiandaoyun.model.form.FormQueryParam;
+import com.doumee.core.jiandaoyun.model.http.ApiClient;
+import com.doumee.core.jiandaoyun.model.http.HttpRequestParam;
+import org.apache.commons.lang3.StringUtils;
+
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import static com.doumee.core.jiandaoyun.constants.HttpConstant.FORM_BASE_PATH;
+
+/**
+ * 琛ㄥ崟鐩稿叧鎺ュ彛
+ */
+public class FormApiClient extends ApiClient {
+ private static final String DEFAULT_VERSION = "v5";
+ private static final List<String> VALID_VERSION_LIST = Arrays.asList("v5");
+
+ public FormApiClient(String apiKey, String host) {
+ super(apiKey, host);
+ this.setDefaultVersion(DEFAULT_VERSION);
+ this.setValidVersionList(VALID_VERSION_LIST);
+ }
+
+ @Override
+ public String generatePath(String version, String path) {
+ return super.getValidVersion(version) + FORM_BASE_PATH + path;
+ }
+
+ /**
+ * 琛ㄥ崟瀛楁鏌ヨ鎺ュ彛
+ *
+ * @param appId - 搴旂敤 Id
+ * @param entryId - 琛ㄥ崟 Id
+ */
+ public Map<String, Object> formWidgets(String appId, String entryId, String version) throws Exception {
+ if (StringUtils.isBlank(appId) || StringUtils.isBlank(entryId)) {
+ throw new RuntimeException("param lack!");
+ }
+ String path = this.generatePath(version, "widget/list");
+ Map<String, Object> data = new HashMap<>();
+ data.put("app_id", appId);
+ data.put("entry_id", entryId);
+ HttpRequestParam param = new HttpRequestParam(path, data);
+ return this.sendPostRequest(param);
+ }
+
+ /**
+ * 琛ㄥ崟鏌ヨ鎺ュ彛 鍒嗛〉
+ *
+ * @param queryParam - 鏌ヨ鍙傛暟
+ * @return 琛ㄥ崟淇℃伅
+ */
+ public Map<String, Object> entryList(FormQueryParam queryParam, String version) throws Exception {
+ if (queryParam == null || !queryParam.isValid()) {
+ throw new RuntimeException("param lack!");
+ }
+ String path = this.generatePath(version, "list");
+ // 璇锋眰鍙傛暟 灏� queryParam 閲岄潰鐨勫睘鎬ц浆鎹㈡垚map
+ Map<String, Object> data =
+ new ObjectMapper().convertValue(queryParam, new TypeReference<Map<String, Object>>() {
+ });
+ HttpRequestParam param = new HttpRequestParam(path, data);
+ return this.sendPostRequest(param);
+ }
+}
diff --git a/server/system_service/src/main/java/com/doumee/core/jiandaoyun/api/jdy/FormDataApiClient.java b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/api/jdy/FormDataApiClient.java
new file mode 100644
index 0000000..54aadd5
--- /dev/null
+++ b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/api/jdy/FormDataApiClient.java
@@ -0,0 +1,196 @@
+package com.doumee.core.jiandaoyun.api.jdy;
+
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.doumee.core.jiandaoyun.model.form.FormDataBatchCreateParam;
+import com.doumee.core.jiandaoyun.model.form.FormDataBatchRemoveParam;
+import com.doumee.core.jiandaoyun.model.form.FormDataBatchUpdateParam;
+import com.doumee.core.jiandaoyun.model.form.FormDataCreateParam;
+import com.doumee.core.jiandaoyun.model.form.FormDataDeleteParam;
+import com.doumee.core.jiandaoyun.model.form.FormDataQueryParam;
+import com.doumee.core.jiandaoyun.model.form.FormDataUpdateParam;
+import com.doumee.core.jiandaoyun.model.http.ApiClient;
+import com.doumee.core.jiandaoyun.model.http.HttpRequestParam;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import static com.doumee.core.jiandaoyun.constants.HttpConstant.FORM_DATA_BASE_PATH;
+
+/**
+ * 琛ㄥ崟鏁版嵁鐩稿叧鎺ュ彛
+ */
+public class FormDataApiClient extends ApiClient {
+
+ private static final String DEFAULT_VERSION = "v5";
+ private static final List<String> VALID_VERSION_LIST = Collections.singletonList("v5");
+
+ public FormDataApiClient(String apiKey, String host) {
+ super(apiKey, host);
+ this.setDefaultVersion(DEFAULT_VERSION);
+ this.setValidVersionList(VALID_VERSION_LIST);
+ }
+
+ @Override
+ public String generatePath(String version, String path) {
+ return super.getValidVersion(version) + FORM_DATA_BASE_PATH + path;
+ }
+
+
+ /**
+ * 鏂板缓鍗曟潯鏁版嵁鎺ュ彛
+ *
+ * @param createParam - 琛ㄥ崟鏁版嵁淇℃伅
+ * @return 鏂板鐨勬暟鎹俊鎭�
+ */
+ public Map<String, Object> singleDataCreate(FormDataCreateParam createParam, String version) throws Exception {
+ if (createParam == null || !createParam.isValid()) {
+ throw new RuntimeException("param lack!");
+ }
+ String path = this.generatePath(version, "create");
+ // 璇锋眰鍙傛暟 灏� queryParam 閲岄潰鐨勫睘鎬ц浆鎹㈡垚map
+ Map<String, Object> data =
+ new ObjectMapper().convertValue(createParam, new TypeReference<Map<String, Object>>() {
+ });
+ HttpRequestParam param = new HttpRequestParam(path, data);
+ return this.sendPostRequest(param);
+ }
+
+
+ /**
+ * 鏌ヨ鍗曟潯鏁版嵁鎺ュ彛
+ *
+ * @param queryParam - 鏌ヨ鍙傛暟
+ * @return 鏁版嵁淇℃伅
+ */
+ public Map<String, Object> singleDataQuery(FormDataQueryParam queryParam, String version) throws Exception {
+ if (queryParam == null || !queryParam.isSingleQueryValid()) {
+ throw new RuntimeException("param lack!");
+ }
+ String path = this.generatePath(version, "get");
+ Map<String, Object> data = new HashMap<>();
+ data.put("data_id", queryParam.getData_id());
+ data.put("app_id", queryParam.getApp_id());
+ data.put("entry_id", queryParam.getEntry_id());
+ HttpRequestParam param = new HttpRequestParam(path, data);
+ return this.sendPostRequest(param);
+ }
+
+ /**
+ * 淇敼鍗曟潯鏁版嵁鎺ュ彛
+ *
+ * @param updateParam - 鏇存柊鏁版嵁淇℃伅
+ * @return 鏇存柊鍚庣殑鏁版嵁淇℃伅
+ */
+ public Map<String, Object> singleDataUpdate(FormDataUpdateParam updateParam, String version) throws Exception {
+ if (updateParam == null || !updateParam.isValid()) {
+ throw new RuntimeException("param lack!");
+ }
+ String path = this.generatePath(version, "update");
+ // 璇锋眰鍙傛暟 灏� queryParam 閲岄潰鐨勫睘鎬ц浆鎹㈡垚map
+ Map<String, Object> data =
+ new ObjectMapper().convertValue(updateParam, new TypeReference<Map<String, Object>>() {
+ });
+ HttpRequestParam param = new HttpRequestParam(path, data);
+ return this.sendPostRequest(param);
+ }
+
+
+ /**
+ * 鍒櫎鍗曟潯鏁版嵁鎺ュ彛
+ *
+ * @param deleteParam - 鍒犻櫎鐨勬暟鎹俊鎭�
+ * @param version - 鐗堟湰
+ * @return status
+ */
+ public Map<String, Object> singleDataRemove(FormDataDeleteParam deleteParam, String version) throws Exception {
+ if (deleteParam == null || !deleteParam.isValid()) {
+ throw new RuntimeException("param lack!");
+ }
+ String path = this.generatePath(version, "delete");
+ Map<String, Object> data =
+ new ObjectMapper().convertValue(deleteParam, new TypeReference<Map<String, Object>>() {
+ });
+ HttpRequestParam param = new HttpRequestParam(path, data);
+ return this.sendPostRequest(param);
+ }
+
+ /**
+ * 鏂板缓澶氭潯鏁版嵁鎺ュ彛
+ *
+ * @param createParam - 鏂板缓鐨勬暟鎹俊鎭�
+ * @param version - 鐗堟湰
+ * @return success_count
+ */
+ public Map<String, Object> batchDataCreate(FormDataBatchCreateParam createParam, String version) throws Exception {
+ if (createParam == null || !createParam.isValid()) {
+ throw new RuntimeException("param lack!");
+ }
+ String path = this.generatePath(version, "batch_create");
+ Map<String, Object> data =
+ new ObjectMapper().convertValue(createParam, new TypeReference<Map<String, Object>>() {
+ });
+ HttpRequestParam param = new HttpRequestParam(path, data);
+ return this.sendPostRequest(param);
+ }
+
+ /**
+ * 鏌ヨ澶氭潯鏁版嵁鎺ュ彛
+ *
+ * @param queryParam - 鏌ヨ鍙傛暟
+ * @param version - 鐗堟湰
+ * @return 鏁版嵁淇℃伅
+ */
+ public Map<String, Object> batchDataQuery(FormDataQueryParam queryParam, String version) throws Exception {
+ if (queryParam == null || !queryParam.isValid()) {
+ throw new RuntimeException("param lack!");
+ }
+ String path = this.generatePath(version, "list");
+ Map<String, Object> data =
+ new ObjectMapper().convertValue(queryParam, new TypeReference<Map<String, Object>>() {
+ });
+ HttpRequestParam param = new HttpRequestParam(path, data);
+ return this.sendPostRequest(param);
+ }
+
+ /**
+ * 鍒犻櫎澶氭潯鏁版嵁鎺ュ彛
+ *
+ * @param removeParam - 鍒犻櫎鍙傛暟
+ * @param version - 鐗堟湰
+ * @return status 鍜� success_count
+ */
+ public Map<String, Object> batchDataRemove(FormDataBatchRemoveParam removeParam, String version) throws Exception {
+ if (removeParam == null || !removeParam.isValid()) {
+ throw new RuntimeException("param lack!");
+ }
+ String path = this.generatePath(version, "batch_delete");
+ Map<String, Object> data =
+ new ObjectMapper().convertValue(removeParam, new TypeReference<Map<String, Object>>() {
+ });
+ HttpRequestParam param = new HttpRequestParam(path, data);
+ return this.sendPostRequest(param);
+ }
+
+ /**
+ * 淇敼澶氭潯鏁版嵁鎺ュ彛
+ *
+ * @param updateParam - 鏇存柊鏁版嵁鐨勪俊鎭�
+ * @param version - 鐗堟湰
+ * @return status 鍜� success_count
+ */
+ public Map<String, Object> batchDataUpdate(FormDataBatchUpdateParam updateParam, String version) throws Exception {
+ if (updateParam == null || !updateParam.isValid()) {
+ throw new RuntimeException("param lack!");
+ }
+ String path = this.generatePath(version, "batch_update");
+ Map<String, Object> data =
+ new ObjectMapper().convertValue(updateParam, new TypeReference<Map<String, Object>>() {
+ });
+ HttpRequestParam param = new HttpRequestParam(path, data);
+ return this.sendPostRequest(param);
+ }
+
+}
diff --git a/server/system_service/src/main/java/com/doumee/core/jiandaoyun/constants/HttpConstant.java b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/constants/HttpConstant.java
new file mode 100644
index 0000000..9439704
--- /dev/null
+++ b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/constants/HttpConstant.java
@@ -0,0 +1,58 @@
+package com.doumee.core.jiandaoyun.constants;
+
+/**
+ * http 鐩稿叧鐨勫父閲�
+ */
+public class HttpConstant {
+ public static final String HOST = "https://api.jiandaoyun.com/api/";
+
+ /**
+ * 閮ㄩ棬鐩稿叧鐨勬帴鍙e墠缂�
+ */
+ public static final String DEPT_BASE_PATH = "/corp/department/";
+
+ /**
+ * 鎴愬憳鐩稿叧鐨勬帴鍙e墠缂�
+ */
+ public static final String MEMBER_BASE_PATH = "/corp/user/";
+
+ /**
+ * 搴旂敤鐩稿叧鐨勬帴鍙e墠缂�
+ */
+ public static final String APP_BASE_PATH = "/app/";
+
+
+ /**
+ * 浼佷笟浜掕仈鐨勬帴鍙e墠缂�
+ */
+ public static final String CORP_COOP_BASE_PATH = "/corp/guest/";
+
+ /**
+ * 瑙掕壊鐩稿叧鐨勬帴鍙e墠缂�
+ */
+ public static final String ROLE_BASE_PATH = "/corp/role/";
+
+ /**
+ * 瑙掕壊缁勭浉鍏崇殑鎺ュ彛鍓嶇紑
+ */
+ public static final String ROLE_GROUP_BASE_PATH = "/corp/role_group/";
+
+ /**
+ * 琛ㄥ崟鐩稿叧鐨勬帴鍙e墠缂�
+ */
+ public static final String FORM_BASE_PATH = "/app/entry/";
+
+ /**
+ * 琛ㄥ崟鐩稿叧鐨勬帴鍙e墠缂�
+ */
+ public static final String FORM_DATA_BASE_PATH = "/app/entry/data/";
+
+ /**
+ * API_KEY
+ */
+ public static final String API_KEY = "JsmYomhn3dissp9ZJ6QeTpnH2xKoKZgw";
+
+ public static final String APP_ID = "APP_ID";
+
+ public static final String ENTRY_ID = "ENTRY_ID";
+}
diff --git a/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/base/PageBaseParam.java b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/base/PageBaseParam.java
new file mode 100644
index 0000000..8f8c9e8
--- /dev/null
+++ b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/base/PageBaseParam.java
@@ -0,0 +1,43 @@
+package com.doumee.core.jiandaoyun.model.base;
+
+/**
+ * 鍒嗛〉鏌ヨ鍩哄弬
+ */
+public class PageBaseParam {
+ /**
+ * 璺宠繃鏁伴噺
+ */
+ private Integer skip;
+ /**
+ * 鏌ヨ鏁伴噺
+ */
+ private Integer limit;
+
+ public Integer getSkip() {
+ return skip;
+ }
+
+ public void setSkip(Integer skip) {
+ this.skip = skip;
+ }
+
+ public Integer getLimit() {
+ return limit;
+ }
+
+ public void setLimit(Integer limit) {
+ this.limit = limit;
+ }
+
+ public boolean isValid() {
+ return this.getLimit() != null && this.getSkip() != null;
+ }
+
+ @Override
+ public String toString() {
+ return "PageBaseParam{" +
+ "skip=" + skip +
+ ", limit=" + limit +
+ '}';
+ }
+}
diff --git a/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/dept/DeptCreateParam.java b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/dept/DeptCreateParam.java
new file mode 100644
index 0000000..391ac2f
--- /dev/null
+++ b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/dept/DeptCreateParam.java
@@ -0,0 +1,68 @@
+package com.doumee.core.jiandaoyun.model.dept;
+
+import org.apache.commons.lang3.StringUtils;
+
+/**
+ * 鍒涘缓閮ㄩ棬鐨勫弬鏁�
+ */
+public class DeptCreateParam {
+
+ /**
+ * 閮ㄩ棬鍚嶇О 蹇呭~
+ */
+ private String name;
+
+ /**
+ * 鐖剁骇閮ㄩ棬缂栧彿 閫夊~
+ */
+ private Integer parent_no;
+
+ /**
+ * 閮ㄩ棬缂栧彿 閫夊~
+ */
+ private Integer dept_no;
+
+ public DeptCreateParam(String name) {
+ this.name = name;
+ }
+
+ public DeptCreateParam() {
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public Integer getParent_no() {
+ return parent_no;
+ }
+
+ public void setParent_no(Integer parent_no) {
+ this.parent_no = parent_no;
+ }
+
+ public Integer getDept_no() {
+ return dept_no;
+ }
+
+ public void setDept_no(Integer dept_no) {
+ this.dept_no = dept_no;
+ }
+
+ public boolean isValid() {
+ return StringUtils.isNotBlank(this.getName());
+ }
+
+ @Override
+ public String toString() {
+ return "DeptCreateParam{" +
+ "name='" + name + '\'' +
+ ", parent_no=" + parent_no +
+ ", dept_no=" + dept_no +
+ '}';
+ }
+}
diff --git a/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/dept/DeptEntityModel.java b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/dept/DeptEntityModel.java
new file mode 100644
index 0000000..2f46174
--- /dev/null
+++ b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/dept/DeptEntityModel.java
@@ -0,0 +1,23 @@
+package com.doumee.core.jiandaoyun.model.dept;
+
+import lombok.Data;
+import org.apache.commons.lang3.StringUtils;
+
+/**
+ * 閮ㄩ棬瀹炰綋鍙傛暟
+ */
+
+@Data
+public class DeptEntityModel {
+
+ private Integer dept_no;// Number 閮ㄩ棬缂栧彿锛屼紒涓氬唴鍞竴 涓嶅悓浼佷笟涔嬮棿鍙兘瀛樺湪閲嶅
+
+ private String name ;//String 閮ㄩ棬鍚嶇О
+ private Integer parent_no;// Number 鐖堕儴闂ㄧ紪鍙� 鍦ㄤ紒涓氫簰鑱旀帴鍙d腑(澶栭儴閮ㄩ棬)涓嶅瓨鍦�
+
+ private Integer type ;//Number 閮ㄩ棬绫诲瀷 0: 甯歌閮� 2: 浼佷笟浜掕仈澶栭儴閮ㄩ棬
+ private Integer status;// Number 閮ㄩ棬鐘舵�� 1: 浣跨敤涓殑閮ㄩ棬 -1: 闆嗘垚妯″紡涓嬪悓姝ュ悗鍒犻櫎鐨勯儴闂�
+ private String integrate_id;// String 闆嗘垚妯″紡鍚屾閮ㄩ棬鍏宠仈 ID 浠呭湪闆嗘垚妯″紡涓嬭繑鍥烇紝涓斿湪浼佷笟浜掕仈鎺ュ彛(澶栭儴閮ㄩ棬)涓嶈繑鍥�
+ private Integer seq ;//number 閮ㄩ棬鎺掑簭 閮ㄩ棬鍦ㄧ埗閮ㄩ棬鍐呯殑搴忓彿锛屼粠灏忓埌澶ф帓鍒�
+
+}
diff --git a/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/file/UploadTokenParam.java b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/file/UploadTokenParam.java
new file mode 100644
index 0000000..edb12aa
--- /dev/null
+++ b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/file/UploadTokenParam.java
@@ -0,0 +1,48 @@
+package com.doumee.core.jiandaoyun.model.file;
+
+import org.apache.commons.lang3.StringUtils;
+
+public class UploadTokenParam {
+ private String appId;
+ private String entryId;
+ private String transactionId;
+
+ public String getAppId() {
+ return appId;
+ }
+
+ public void setAppId(String appId) {
+ this.appId = appId;
+ }
+
+ public String getEntryId() {
+ return entryId;
+ }
+
+ public void setEntryId(String entryId) {
+ this.entryId = entryId;
+ }
+
+ public String getTransactionId() {
+ return transactionId;
+ }
+
+ public void setTransactionId(String transactionId) {
+ this.transactionId = transactionId;
+ }
+
+ public boolean isValid() {
+ return StringUtils.isNotBlank(this.getAppId()) && StringUtils.isNotBlank(this.getEntryId())
+ && StringUtils.isNotBlank(this.getTransactionId());
+ }
+
+
+ @Override
+ public String toString() {
+ return "UploadTokenParam{" +
+ "appId='" + appId + '\'' +
+ ", entryId='" + entryId + '\'' +
+ ", transactionId='" + transactionId + '\'' +
+ '}';
+ }
+}
diff --git a/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/form/FormDataBatchCreateParam.java b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/form/FormDataBatchCreateParam.java
new file mode 100644
index 0000000..da47787
--- /dev/null
+++ b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/form/FormDataBatchCreateParam.java
@@ -0,0 +1,94 @@
+package com.doumee.core.jiandaoyun.model.form;
+
+import org.apache.commons.lang3.StringUtils;
+
+import java.util.List;
+import java.util.Map;
+
+public class FormDataBatchCreateParam {
+ /**
+ * 搴旂敤id
+ */
+ private String app_id;
+
+ /**
+ * 琛ㄥ崟id
+ */
+ private String entry_id;
+
+ /**
+ * 鏁版嵁
+ */
+ private List<Map<String, Object>> data_list;
+
+ private Boolean is_start_workflow;
+
+
+ private String transaction_id;
+
+ public FormDataBatchCreateParam() {
+ }
+
+ public FormDataBatchCreateParam(String app_id, String entry_id, List<Map<String, Object>> data_list) {
+ this.app_id = app_id;
+ this.entry_id = entry_id;
+ this.data_list = data_list;
+ }
+
+ public String getApp_id() {
+ return app_id;
+ }
+
+ public void setApp_id(String app_id) {
+ this.app_id = app_id;
+ }
+
+ public String getEntry_id() {
+ return entry_id;
+ }
+
+ public void setEntry_id(String entry_id) {
+ this.entry_id = entry_id;
+ }
+
+ public List<Map<String, Object>> getData_list() {
+ return data_list;
+ }
+
+ public void setData_list(List<Map<String, Object>> data_list) {
+ this.data_list = data_list;
+ }
+
+ public Boolean getIs_start_workflow() {
+ return is_start_workflow;
+ }
+
+ public void setIs_start_workflow(Boolean is_start_workflow) {
+ this.is_start_workflow = is_start_workflow;
+ }
+
+ public String getTransaction_id() {
+ return transaction_id;
+ }
+
+ public void setTransaction_id(String transaction_id) {
+ this.transaction_id = transaction_id;
+ }
+
+
+
+ public boolean isValid() {
+ return StringUtils.isNotBlank(this.getApp_id()) && StringUtils.isNotBlank(this.getEntry_id());
+ }
+
+ @Override
+ public String toString() {
+ return "FormDataBatchCreateParam{" +
+ "app_id='" + app_id + '\'' +
+ ", entry_id='" + entry_id + '\'' +
+ ", data_list=" + data_list +
+ ", is_start_workflow=" + is_start_workflow +
+ ", transaction_id='" + transaction_id + '\'' +
+ '}';
+ }
+}
diff --git a/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/form/FormDataBatchRemoveParam.java b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/form/FormDataBatchRemoveParam.java
new file mode 100644
index 0000000..a36f6fd
--- /dev/null
+++ b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/form/FormDataBatchRemoveParam.java
@@ -0,0 +1,58 @@
+package com.doumee.core.jiandaoyun.model.form;
+
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
+
+import java.util.List;
+
+public class FormDataBatchRemoveParam {
+
+ private List<String> data_ids;
+
+ private String app_id;
+
+ private String entry_id;
+
+ public FormDataBatchRemoveParam(String app_id, String entry_id, List<String> data_ids) {
+ this.data_ids = data_ids;
+ this.app_id = app_id;
+ this.entry_id = entry_id;
+ }
+
+ public List<String> getData_ids() {
+ return data_ids;
+ }
+
+ public void setData_ids(List<String> data_ids) {
+ this.data_ids = data_ids;
+ }
+
+ public String getApp_id() {
+ return app_id;
+ }
+
+ public void setApp_id(String app_id) {
+ this.app_id = app_id;
+ }
+
+ public String getEntry_id() {
+ return entry_id;
+ }
+
+ public void setEntry_id(String entry_id) {
+ this.entry_id = entry_id;
+ }
+
+ public boolean isValid() {
+ return StringUtils.isNotBlank(this.getApp_id()) && StringUtils.isNotBlank(this.getEntry_id()) && CollectionUtils.isNotEmpty(data_ids);
+ }
+
+ @Override
+ public String toString() {
+ return "FormDataBatchRemoveParam{" +
+ "data_ids=" + data_ids +
+ ", app_id='" + app_id + '\'' +
+ ", entry_id='" + entry_id + '\'' +
+ '}';
+ }
+}
diff --git a/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/form/FormDataBatchUpdateParam.java b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/form/FormDataBatchUpdateParam.java
new file mode 100644
index 0000000..5d86c1f
--- /dev/null
+++ b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/form/FormDataBatchUpdateParam.java
@@ -0,0 +1,95 @@
+package com.doumee.core.jiandaoyun.model.form;
+
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
+
+import java.util.List;
+import java.util.Map;
+
+public class FormDataBatchUpdateParam {
+ /**
+ * 搴旂敤id
+ */
+ private String app_id;
+
+ /**
+ * 琛ㄥ崟id
+ */
+ private String entry_id;
+
+ private List<String> data_ids;
+
+ /**
+ * 鏁版嵁
+ */
+ private Map<String, Object> data;
+
+
+ private String transaction_id;
+
+ public FormDataBatchUpdateParam() {
+ }
+
+ public FormDataBatchUpdateParam(String app_id, String entry_id) {
+ this.app_id = app_id;
+ this.entry_id = entry_id;
+ }
+
+
+ public String getTransaction_id() {
+ return transaction_id;
+ }
+
+ public void setTransaction_id(String transaction_id) {
+ this.transaction_id = transaction_id;
+ }
+
+ public String getApp_id() {
+ return app_id;
+ }
+
+ public void setApp_id(String app_id) {
+ this.app_id = app_id;
+ }
+
+ public String getEntry_id() {
+ return entry_id;
+ }
+
+ public void setEntry_id(String entry_id) {
+ this.entry_id = entry_id;
+ }
+
+ public List<String> getData_ids() {
+ return data_ids;
+ }
+
+ public void setData_ids(List<String> data_ids) {
+ this.data_ids = data_ids;
+ }
+
+ public Map<String, Object> getData() {
+ return data;
+ }
+
+ public void setData(Map<String, Object> data) {
+ this.data = data;
+ }
+
+ public boolean isValid() {
+ return StringUtils.isNotBlank(this.getApp_id()) && StringUtils.isNotBlank(this.getEntry_id())
+ && CollectionUtils.isNotEmpty(this.getData_ids());
+
+ }
+
+ @Override
+ public String toString() {
+ return "FormDataBatchUpdateParam{" +
+ "app_id='" + app_id + '\'' +
+ ", entry_id='" + entry_id + '\'' +
+ ", data_ids=" + data_ids +
+ ", data=" + data +
+ ", transaction_id='" + transaction_id + '\'' +
+ '}';
+ }
+}
diff --git a/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/form/FormDataCreateParam.java b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/form/FormDataCreateParam.java
new file mode 100644
index 0000000..189b623
--- /dev/null
+++ b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/form/FormDataCreateParam.java
@@ -0,0 +1,101 @@
+package com.doumee.core.jiandaoyun.model.form;
+
+import org.apache.commons.lang3.StringUtils;
+
+import java.util.Map;
+
+public class FormDataCreateParam {
+ /**
+ * 搴旂敤id
+ */
+ private String app_id;
+
+ /**
+ * 琛ㄥ崟id
+ */
+ private String entry_id;
+
+ /**
+ * 鏁版嵁
+ */
+ private Map<String, Object> data;
+
+ private Boolean is_start_workflow;
+
+ private Boolean is_start_trigger;
+
+ private String transaction_id;
+
+ public FormDataCreateParam() {
+ }
+
+ public FormDataCreateParam(String app_id, String entry_id, Map<String, Object> data) {
+ this.app_id = app_id;
+ this.entry_id = entry_id;
+ this.data = data;
+ }
+
+ public String getApp_id() {
+ return app_id;
+ }
+
+ public void setApp_id(String app_id) {
+ this.app_id = app_id;
+ }
+
+ public String getEntry_id() {
+ return entry_id;
+ }
+
+ public void setEntry_id(String entry_id) {
+ this.entry_id = entry_id;
+ }
+
+ public Map<String, Object> getData() {
+ return data;
+ }
+
+ public void setData(Map<String, Object> data) {
+ this.data = data;
+ }
+
+ public Boolean getIs_start_workflow() {
+ return is_start_workflow;
+ }
+
+ public void setIs_start_workflow(Boolean is_start_workflow) {
+ this.is_start_workflow = is_start_workflow;
+ }
+
+ public Boolean getIs_start_trigger() {
+ return is_start_trigger;
+ }
+
+ public void setIs_start_trigger(Boolean is_start_trigger) {
+ this.is_start_trigger = is_start_trigger;
+ }
+
+ public String getTransaction_id() {
+ return transaction_id;
+ }
+
+ public void setTransaction_id(String transaction_id) {
+ this.transaction_id = transaction_id;
+ }
+
+ public boolean isValid() {
+ return StringUtils.isNotBlank(this.getApp_id()) && StringUtils.isNotBlank(this.getEntry_id());
+ }
+
+ @Override
+ public String toString() {
+ return "FormDataCreateParam{" +
+ "app_id='" + app_id + '\'' +
+ ", entry_id='" + entry_id + '\'' +
+ ", data=" + data +
+ ", is_start_workflow=" + is_start_workflow +
+ ", is_start_trigger=" + is_start_trigger +
+ ", transaction_id='" + transaction_id + '\'' +
+ '}';
+ }
+}
diff --git a/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/form/FormDataDeleteParam.java b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/form/FormDataDeleteParam.java
new file mode 100644
index 0000000..dbfb200
--- /dev/null
+++ b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/form/FormDataDeleteParam.java
@@ -0,0 +1,76 @@
+package com.doumee.core.jiandaoyun.model.form;
+
+import org.apache.commons.lang3.StringUtils;
+
+public class FormDataDeleteParam {
+ /**
+ * 搴旂敤id
+ */
+ private String app_id;
+
+ /**
+ * 琛ㄥ崟id
+ */
+ private String entry_id;
+
+ private String data_id;
+
+ private Boolean is_start_trigger;
+
+
+ public FormDataDeleteParam() {
+ }
+
+ public FormDataDeleteParam(String app_id, String entry_id, String data_id) {
+ this.app_id = app_id;
+ this.entry_id = entry_id;
+ this.data_id = data_id;
+ }
+
+ public String getApp_id() {
+ return app_id;
+ }
+
+ public void setApp_id(String app_id) {
+ this.app_id = app_id;
+ }
+
+ public String getEntry_id() {
+ return entry_id;
+ }
+
+ public void setEntry_id(String entry_id) {
+ this.entry_id = entry_id;
+ }
+
+ public String getData_id() {
+ return data_id;
+ }
+
+ public void setData_id(String data_id) {
+ this.data_id = data_id;
+ }
+
+ public Boolean getIs_start_trigger() {
+ return is_start_trigger;
+ }
+
+ public void setIs_start_trigger(Boolean is_start_trigger) {
+ this.is_start_trigger = is_start_trigger;
+ }
+
+ public boolean isValid() {
+ return StringUtils.isNotBlank(this.getApp_id()) && StringUtils.isNotBlank(this.getEntry_id())
+ && StringUtils.isNotBlank(this.getData_id());
+ }
+
+ @Override
+ public String toString() {
+ return "FormDataDeleteParam{" +
+ "app_id='" + app_id + '\'' +
+ ", entry_id='" + entry_id + '\'' +
+ ", data_id='" + data_id + '\'' +
+ ", is_start_trigger=" + is_start_trigger +
+ '}';
+ }
+}
diff --git a/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/form/FormDataQueryParam.java b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/form/FormDataQueryParam.java
new file mode 100644
index 0000000..b51d99d
--- /dev/null
+++ b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/form/FormDataQueryParam.java
@@ -0,0 +1,114 @@
+package com.doumee.core.jiandaoyun.model.form;
+
+import org.apache.commons.lang3.StringUtils;
+
+import java.util.List;
+import java.util.Map;
+
+public class FormDataQueryParam {
+ /**
+ * 搴旂敤id
+ */
+ private String app_id;
+
+ /**
+ * 琛ㄥ崟id
+ */
+ private String entry_id;
+
+ /**
+ * 鏁版嵁ID
+ */
+ private String data_id;
+
+ /**
+ * 浠� 鏁版嵁ID 寮�濮嬭繑鍥� limit 鏉℃暟鎹�
+ */
+ private Integer limit;
+
+ /**
+ * 鏌ヨ鐨勫瓧娈�
+ */
+ private List<String> fields;
+
+ /**
+ * 杩囨护鏉′欢
+ */
+ private Map<String, Object> filter;
+
+ public boolean isValid() {
+ return StringUtils.isNotBlank(this.getApp_id()) && StringUtils.isNotBlank(this.getEntry_id());
+ }
+
+ public boolean isSingleQueryValid() {
+ return this.isValid() && StringUtils.isNotBlank(this.getData_id());
+ }
+
+ public FormDataQueryParam() {
+ }
+
+ public FormDataQueryParam(String app_id, String entry_id) {
+ this.app_id = app_id;
+ this.entry_id = entry_id;
+ }
+
+ public String getApp_id() {
+ return app_id;
+ }
+
+ public void setApp_id(String app_id) {
+ this.app_id = app_id;
+ }
+
+ public String getEntry_id() {
+ return entry_id;
+ }
+
+ public void setEntry_id(String entry_id) {
+ this.entry_id = entry_id;
+ }
+
+ public String getData_id() {
+ return data_id;
+ }
+
+ public void setData_id(String data_id) {
+ this.data_id = data_id;
+ }
+
+ public Integer getLimit() {
+ return limit;
+ }
+
+ public void setLimit(Integer limit) {
+ this.limit = limit;
+ }
+
+ public List<String> getFields() {
+ return fields;
+ }
+
+ public void setFields(List<String> fields) {
+ this.fields = fields;
+ }
+
+ public Map<String, Object> getFilter() {
+ return filter;
+ }
+
+ public void setFilter(Map<String, Object> filter) {
+ this.filter = filter;
+ }
+
+ @Override
+ public String toString() {
+ return "FormDataQueryParam{" +
+ "app_id='" + app_id + '\'' +
+ ", entry_id='" + entry_id + '\'' +
+ ", data_id='" + data_id + '\'' +
+ ", limit=" + limit +
+ ", fields=" + fields +
+ ", filter=" + filter +
+ '}';
+ }
+}
diff --git a/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/form/FormDataUpdateParam.java b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/form/FormDataUpdateParam.java
new file mode 100644
index 0000000..643d04a
--- /dev/null
+++ b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/form/FormDataUpdateParam.java
@@ -0,0 +1,105 @@
+package com.doumee.core.jiandaoyun.model.form;
+
+import org.apache.commons.lang3.StringUtils;
+
+import java.util.Map;
+
+public class FormDataUpdateParam {
+ /**
+ * 搴旂敤id
+ */
+ private String app_id;
+
+ /**
+ * 琛ㄥ崟id
+ */
+ private String entry_id;
+
+ private String data_id;
+
+ /**
+ * 鏁版嵁
+ */
+ private Map<String, Object> data;
+
+
+ private Boolean is_start_trigger;
+
+ private String transaction_id;
+
+ public FormDataUpdateParam() {
+ }
+
+ public FormDataUpdateParam(String app_id, String entry_id, Map<String, Object> data) {
+ this.app_id = app_id;
+ this.entry_id = entry_id;
+ this.data = data;
+ }
+
+
+ public Map<String, Object> getData() {
+ return data;
+ }
+
+ public void setData(Map<String, Object> data) {
+ this.data = data;
+ }
+
+
+ public Boolean getIs_start_trigger() {
+ return is_start_trigger;
+ }
+
+ public void setIs_start_trigger(Boolean is_start_trigger) {
+ this.is_start_trigger = is_start_trigger;
+ }
+
+ public String getTransaction_id() {
+ return transaction_id;
+ }
+
+ public void setTransaction_id(String transaction_id) {
+ this.transaction_id = transaction_id;
+ }
+
+ public String getApp_id() {
+ return app_id;
+ }
+
+ public void setApp_id(String app_id) {
+ this.app_id = app_id;
+ }
+
+ public String getEntry_id() {
+ return entry_id;
+ }
+
+ public void setEntry_id(String entry_id) {
+ this.entry_id = entry_id;
+ }
+
+ public String getData_id() {
+ return data_id;
+ }
+
+ public void setData_id(String data_id) {
+ this.data_id = data_id;
+ }
+
+ public boolean isValid() {
+ return StringUtils.isNotBlank(this.getApp_id()) && StringUtils.isNotBlank(this.getEntry_id())
+ && StringUtils.isNotBlank(this.getData_id());
+ }
+
+ @Override
+ public String toString() {
+ return "FormDataUpdateParam{" +
+ "app_id='" + app_id + '\'' +
+ ", entry_id='" + entry_id + '\'' +
+ ", data_id='" + data_id + '\'' +
+ ", data=" + data +
+ ", is_start_trigger=" + is_start_trigger +
+ ", transaction_id='" + transaction_id + '\'' +
+ '}';
+ }
+}
diff --git a/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/form/FormQueryParam.java b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/form/FormQueryParam.java
new file mode 100644
index 0000000..a796c19
--- /dev/null
+++ b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/form/FormQueryParam.java
@@ -0,0 +1,30 @@
+package com.doumee.core.jiandaoyun.model.form;
+
+import com.doumee.core.jiandaoyun.model.base.PageBaseParam;
+import org.apache.commons.lang3.StringUtils;
+
+public class FormQueryParam extends PageBaseParam {
+
+ private String app_id;
+
+ public String getApp_id() {
+ return app_id;
+ }
+
+ public void setApp_id(String app_id) {
+ this.app_id = app_id;
+ }
+
+ public boolean isValid() {
+ return StringUtils.isNotBlank(this.getApp_id()) && super.isValid();
+ }
+
+ @Override
+ public String toString() {
+ return "FormQueryParam{" +
+ "skip=" + super.getSkip() +
+ ", limit=" + super.getLimit() +
+ ", app_id=" + app_id +
+ '}';
+ }
+}
diff --git a/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/http/ApiClient.java b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/http/ApiClient.java
new file mode 100644
index 0000000..ce93887
--- /dev/null
+++ b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/http/ApiClient.java
@@ -0,0 +1,214 @@
+package com.doumee.core.jiandaoyun.model.http;
+
+import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.TypeReference;
+import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.HttpsUtil;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.codec.Charsets;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.http.Header;
+import org.apache.http.HttpEntity;
+import org.apache.http.HttpResponse;
+import org.apache.http.client.HttpClient;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.client.methods.HttpRequestBase;
+import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
+import org.apache.http.entity.ContentType;
+import org.apache.http.entity.StringEntity;
+import org.apache.http.entity.mime.MultipartEntityBuilder;
+import org.apache.http.entity.mime.content.StringBody;
+import org.apache.http.impl.client.HttpClients;
+import org.apache.http.impl.io.EmptyInputStream;
+import org.apache.http.message.BasicHeader;
+import org.apache.http.ssl.SSLContextBuilder;
+import com.doumee.core.jiandaoyun.util.LimitUtil;
+
+import javax.net.ssl.SSLContext;
+import java.io.File;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Slf4j
+public abstract class ApiClient {
+
+ /**
+ * apiKey
+ */
+ private String apiKey;
+
+ /**
+ * 鍦板潃
+ */
+ private String host;
+
+ /**
+ * 榛樿鐗堟湰
+ */
+ private String defaultVersion;
+
+ /**
+ * 鍚堟硶鐗堟湰
+ */
+ private List<String> validVersionList;
+
+ public ApiClient(String apiKey, String host) {
+ this.apiKey = apiKey;
+ this.host = host;
+ }
+
+ public String getApiKey() {
+ return apiKey;
+ }
+
+ public void setApiKey(String apiKey) {
+ this.apiKey = apiKey;
+ }
+
+ public String getHost() {
+ return host;
+ }
+
+ public void setHost(String host) {
+ this.host = host;
+ }
+
+ public String getDefaultVersion() {
+ return defaultVersion;
+ }
+
+ public void setDefaultVersion(String defaultVersion) {
+ this.defaultVersion = defaultVersion;
+ }
+
+ public List<String> getValidVersionList() {
+ return validVersionList;
+ }
+
+ public void setValidVersionList(List<String> validVersionList) {
+ this.validVersionList = validVersionList;
+ }
+
+
+ /**
+ * 鐢熸垚 path
+ *
+ * @param version - 鐗堟湰鍙�
+ * @param path - 璺緞
+ * @return 鎺ュ彛鐨勮矾寰�
+ */
+ public abstract String generatePath(String version, String path);
+
+ /**
+ * 鑾峰緱鍚堟硶鐨勭増鏈彿
+ *
+ * @param version - 鐗堟湰鍙�
+ * @return 鍚堟硶鐨勭増鏈彿
+ */
+ public String getValidVersion(String version) {
+ if (this.getValidVersionList() != null && this.getValidVersionList().contains(version)) {
+ return version;
+ }
+ return this.getDefaultVersion();
+ }
+
+ /**
+ * 鍙戦�丳OST璇锋眰
+ *
+ * @param param - 璇锋眰鍙傛暟
+ * @return 鎺ュ彛杩斿洖鍙傛暟
+ */
+ public Map<String, Object> sendPostRequest(HttpRequestParam param) throws Exception {
+ if (param == null || StringUtils.isBlank(param.getPath())) {
+ throw new RuntimeException("缂哄け鍙傛暟锛�");
+ }
+ HttpClient client = getSSLHttpClient();
+ Header[] headers = getHttpHeaders(this.getApiKey());
+ String url = this.host + param.getPath();
+ HttpRequestBase request = new HttpPost(url);
+
+ // 璇锋眰鍙傛暟
+ if (param.getData() != null) {
+ ObjectMapper queryMap = new ObjectMapper();
+ HttpEntity entity = new StringEntity(queryMap.writeValueAsString(param.getData()), Charsets.UTF_8);
+ ((HttpPost) request).setEntity(entity);
+ }
+ // 璁剧疆璇锋眰澶�
+ request.setHeaders(headers);
+ // 闄愭祦闃诲
+ LimitUtil.tryBeforeRun();
+ // 鍙戦�佽姹傚苟鑾峰彇杩斿洖缁撴灉
+ HttpResponse response = client.execute(request);
+ // 杩斿洖鐘舵�佺爜
+ int statusCode = response.getStatusLine().getStatusCode();
+ ObjectMapper mapper = new ObjectMapper();
+ Map<String, Object> result = new HashMap<>();
+ // 鏈夐儴鍒嗘帴鍙g洿鎺ヨ繑鍥� 娌℃湁鏁版嵁
+ // fix锛氫笉鑳界敤content-length澶т簬0鍒ゆ柇锛宺esponse header涓篻zip缂栫爜鏂瑰紡鐨勬儏鍐典笅涓�-1
+ if (!(response.getEntity().getContent() instanceof EmptyInputStream)) {
+ result = (Map<String, Object>) mapper.readValue(response.getEntity().getContent(), Object.class);
+ }
+ if (statusCode >= 400) {
+ throw new RuntimeException("璇锋眰閿欒锛宻tatusCode:" + statusCode + ",Error Code: " + result.get("code") + ", Error Msg: " + result.get("msg"));
+ } else {
+ // 澶勭悊杩斿洖缁撴灉
+ return result;
+ }
+ }
+
+ private static HttpClient getSSLHttpClient() throws Exception {
+ //淇′换鎵�鏈�
+ SSLContext sslContext =
+ new SSLContextBuilder().loadTrustMaterial(null, (chain, authType) -> true).build();
+ SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(sslContext);
+ return HttpClients.custom().setSSLSocketFactory(sslsf).build();
+ }
+
+ /**
+ * 鑾峰彇璇锋眰澶翠俊鎭�
+ *
+ * @return 璇锋眰澶翠俊鎭�
+ */
+ private Header[] getHttpHeaders(String apiKey) {
+ List<Header> headerList = new ArrayList<>();
+ headerList.add(new BasicHeader("Authorization", "Bearer " + apiKey));
+ headerList.add(new BasicHeader("Content-Type", "application/json;charset=utf-8"));
+ return headerList.toArray(new Header[headerList.size()]);
+ }
+
+ public Map<String, Object> httpPostFile(String url, String token, File file) throws Exception {
+ HttpClient client = getSSLHttpClient();
+ HttpPost httpPost = new HttpPost(url);
+ MultipartEntityBuilder builder = MultipartEntityBuilder.create();
+ httpPost.addHeader("token", token);
+ builder.addBinaryBody("file", file, ContentType.MULTIPART_FORM_DATA, file.getName());
+ // 浼犻�� token
+ builder.addTextBody("token", token);
+ StringBody tokenBody = new StringBody(token, ContentType.MULTIPART_FORM_DATA);
+ builder.addPart("token", tokenBody);
+ HttpEntity entity = builder.build();
+ httpPost.setEntity(entity);
+ // 闄愭祦闃诲
+ LimitUtil.tryBeforeRun();
+ // 鍙戦�佽姹傚苟鑾峰彇杩斿洖缁撴灉
+ HttpResponse response = client.execute(httpPost);
+ // 杩斿洖鐘舵�佺爜
+ int statusCode = response.getStatusLine().getStatusCode();
+ ObjectMapper mapper = new ObjectMapper();
+ Map<String, Object> result = new HashMap<>();
+ // 鏈夐儴鍒嗘帴鍙g洿鎺ヨ繑鍥� 娌℃湁鏁版嵁
+ // fix锛氫笉鑳界敤content-length澶т簬0鍒ゆ柇锛宺esponse header涓篻zip缂栫爜鏂瑰紡鐨勬儏鍐典笅涓�-1
+ if (!(response.getEntity().getContent() instanceof EmptyInputStream)) {
+ result = (Map<String, Object>) mapper.readValue(response.getEntity().getContent(), Object.class);
+ }
+ if (statusCode >= 400) {
+ throw new RuntimeException("璇锋眰閿欒锛宻tatusCode:" + statusCode + ",Error Code: " + result.get("code") + ", Error Msg: " + result.get("msg"));
+ } else {
+ // 澶勭悊杩斿洖缁撴灉
+ return result;
+ }
+ }
+}
diff --git a/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/http/HttpRequestParam.java b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/http/HttpRequestParam.java
new file mode 100644
index 0000000..a27fe4b
--- /dev/null
+++ b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/http/HttpRequestParam.java
@@ -0,0 +1,48 @@
+package com.doumee.core.jiandaoyun.model.http;
+
+import java.util.Map;
+
+public class HttpRequestParam {
+
+ /**
+ * 璇锋眰璺緞
+ */
+ private String path;
+
+ /**
+ * 璇锋眰鍙傛暟
+ */
+ private Map<String, Object> data;
+
+ public HttpRequestParam() {
+ }
+
+ public HttpRequestParam(String path, Map<String, Object> data) {
+ this.path = path;
+ this.data = data;
+ }
+
+ public String getPath() {
+ return path;
+ }
+
+ public void setPath(String path) {
+ this.path = path;
+ }
+
+ public Map<String, Object> getData() {
+ return data;
+ }
+
+ public void setData(Map<String, Object> data) {
+ this.data = data;
+ }
+
+ @Override
+ public String toString() {
+ return "HttpRequestParam{" +
+ "path='" + path + '\'' +
+ ", data=" + data +
+ '}';
+ }
+}
diff --git a/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/role/RoleGroupListQueryParam.java b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/role/RoleGroupListQueryParam.java
new file mode 100644
index 0000000..119a70a
--- /dev/null
+++ b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/role/RoleGroupListQueryParam.java
@@ -0,0 +1,35 @@
+package com.doumee.core.jiandaoyun.model.role;
+
+
+import com.doumee.core.jiandaoyun.model.base.PageBaseParam;
+
+public class RoleGroupListQueryParam extends PageBaseParam {
+ private boolean has_internal;
+ private boolean has_sync;
+
+ public boolean isHas_internal() {
+ return has_internal;
+ }
+
+ public void setHas_internal(boolean has_internal) {
+ this.has_internal = has_internal;
+ }
+
+ public boolean isHas_sync() {
+ return has_sync;
+ }
+
+ public void setHas_sync(boolean has_sync) {
+ this.has_sync = has_sync;
+ }
+
+ @Override
+ public String toString() {
+ return "RoleGroupListQueryParam{" +
+ "skip=" + super.getSkip() +
+ ", limit=" + super.getLimit() +
+ ", has_internal=" + has_internal +
+ ", has_sync=" + has_sync +
+ '}';
+ }
+}
diff --git a/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/role/RoleListQueryParam.java b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/role/RoleListQueryParam.java
new file mode 100644
index 0000000..1ac66e0
--- /dev/null
+++ b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/role/RoleListQueryParam.java
@@ -0,0 +1,40 @@
+package com.doumee.core.jiandaoyun.model.role;
+
+
+import com.doumee.core.jiandaoyun.model.base.PageBaseParam;
+
+public class RoleListQueryParam extends PageBaseParam {
+
+ private boolean has_internal;
+ private boolean has_sync;
+
+ public boolean isHas_internal() {
+ return has_internal;
+ }
+
+ public void setHas_internal(boolean has_internal) {
+ this.has_internal = has_internal;
+ }
+
+ public boolean isHas_sync() {
+ return has_sync;
+ }
+
+ public void setHas_sync(boolean has_sync) {
+ this.has_sync = has_sync;
+ }
+
+ public boolean isValid() {
+ return super.isValid();
+ }
+
+ @Override
+ public String toString() {
+ return "RoleListQueryParam{" +
+ "skip=" + super.getSkip() +
+ ", limit=" + super.getLimit() +
+ ", has_internal=" + has_internal +
+ ", has_sync=" + has_sync +
+ '}';
+ }
+}
diff --git a/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/role/RoleMemberQueryParam.java b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/role/RoleMemberQueryParam.java
new file mode 100644
index 0000000..4e9a6fd
--- /dev/null
+++ b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/role/RoleMemberQueryParam.java
@@ -0,0 +1,28 @@
+package com.doumee.core.jiandaoyun.model.role;
+
+import com.doumee.core.jiandaoyun.model.base.PageBaseParam;
+
+public class RoleMemberQueryParam extends PageBaseParam {
+ private Integer role_no;
+
+ public Integer getRole_no() {
+ return role_no;
+ }
+
+ public void setRole_no(Integer role_no) {
+ this.role_no = role_no;
+ }
+
+ public boolean isValid() {
+ return this.getRole_no() != null && super.isValid();
+ }
+
+ @Override
+ public String toString() {
+ return "RoleMemberQueryParam{" +
+ "skip=" + super.getSkip() +
+ ", limit=" + super.getLimit() +
+ ", role_no=" + role_no +
+ '}';
+ }
+}
diff --git a/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/role/RoleUpdateParam.java b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/role/RoleUpdateParam.java
new file mode 100644
index 0000000..185d2c6
--- /dev/null
+++ b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/role/RoleUpdateParam.java
@@ -0,0 +1,47 @@
+package com.doumee.core.jiandaoyun.model.role;
+
+import org.apache.commons.lang3.StringUtils;
+
+public class RoleUpdateParam {
+
+ private String name;
+ private Integer group_no;
+ private Integer role_no;
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public Integer getGroup_no() {
+ return group_no;
+ }
+
+ public void setGroup_no(Integer group_no) {
+ this.group_no = group_no;
+ }
+
+ public Integer getRole_no() {
+ return role_no;
+ }
+
+ public void setRole_no(Integer role_no) {
+ this.role_no = role_no;
+ }
+
+ public boolean isValid() {
+ return StringUtils.isNotBlank(this.getName()) && this.getRole_no() != null && this.getGroup_no() != null;
+ }
+
+ @Override
+ public String toString() {
+ return "RoleUpdateParam{" +
+ "name='" + name + '\'' +
+ ", group_no=" + group_no +
+ ", role_no=" + role_no +
+ '}';
+ }
+}
diff --git a/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/user/UserCreateParam.java b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/user/UserCreateParam.java
new file mode 100644
index 0000000..71b1798
--- /dev/null
+++ b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/user/UserCreateParam.java
@@ -0,0 +1,65 @@
+package com.doumee.core.jiandaoyun.model.user;
+
+import org.apache.commons.lang3.StringUtils;
+
+import java.util.List;
+
+public class UserCreateParam {
+
+ private String name;
+
+ /**
+ * 鐢ㄦ埛鍚� 鐢辨暟瀛楀瓧姣嶅拰涓嬪垝绾跨粍鎴�
+ */
+ private String username;
+
+ /**
+ * 闈炲繀濉�
+ */
+ private List<Integer> departments;
+
+ public UserCreateParam() {
+ }
+
+ public UserCreateParam(String name, String userName) {
+ this.name = name;
+ this.username = userName;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getUsername() {
+ return username;
+ }
+
+ public void setUsername(String username) {
+ this.username = username;
+ }
+
+ public List<Integer> getDepartments() {
+ return departments;
+ }
+
+ public void setDepartments(List<Integer> departments) {
+ this.departments = departments;
+ }
+
+ public boolean isValid() {
+ return StringUtils.isNotBlank(this.getName()) && StringUtils.isNotBlank(this.getUsername());
+ }
+
+ @Override
+ public String toString() {
+ return "UserCreateParam{" +
+ "name='" + name + '\'' +
+ ", username='" + username + '\'' +
+ ", departments=" + departments +
+ '}';
+ }
+}
diff --git a/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/user/UserEntityModel.java b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/user/UserEntityModel.java
new file mode 100644
index 0000000..9e304a2
--- /dev/null
+++ b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/user/UserEntityModel.java
@@ -0,0 +1,28 @@
+package com.doumee.core.jiandaoyun.model.user;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 浜哄憳瀹炰綋鍙傛暟
+ */
+
+@Data
+public class UserEntityModel {
+
+ private Integer dept_no;// Number 閮ㄩ棬缂栧彿锛屼紒涓氬唴鍞竴 涓嶅悓浼佷笟涔嬮棿鍙兘瀛樺湪閲嶅
+
+ private String username;// String 鎴愬憳鐨勭紪鍙凤紝浼佷笟鍐呭敮涓� 涓嶅悓浼佷笟涔嬮棿鍙兘瀛樺湪閲嶅
+
+ private String name;// String 鏄电О
+
+ private List<Long> departments;//Number[] 鎴愬憳鎵�鍦ㄩ儴闂ㄧ紪鍙峰垪琛�
+
+ private Integer type;//Number鎴愬憳绫� 0: 甯歌鎴愬憳2: 浼佷笟浜掕仈澶栭儴瀵规帴浜�
+
+ private Integer status;// Number 鎴愬憳鐘舵�� 0: 鏈‘璁ょ殑鎴愬憳 1: 宸插姞鍏�
+
+ private String integrate_id;// String 闆嗘垚妯″紡鍚屾鎴愬憳鍏宠仈 ID 浠呭湪闆嗘垚妯″紡涓嬭繑鍥烇紝涓斿湪浼佷笟浜掕仈鎺ュ彛(澶栭儴瀵规帴浜�)涓嶈繑鍥�
+
+}
diff --git a/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/user/UserUpdateParam.java b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/user/UserUpdateParam.java
new file mode 100644
index 0000000..0c203de
--- /dev/null
+++ b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/model/user/UserUpdateParam.java
@@ -0,0 +1,62 @@
+package com.doumee.core.jiandaoyun.model.user;
+
+import org.apache.commons.lang3.StringUtils;
+
+import java.util.List;
+
+public class UserUpdateParam {
+
+ private String name;
+
+ private String userName;
+
+ /**
+ * 闈炲繀濉�
+ */
+ private List<Integer> departmentList;
+
+ public UserUpdateParam() {
+ }
+
+ public UserUpdateParam(String name, String userName) {
+ this.name = name;
+ this.userName = userName;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getUserName() {
+ return userName;
+ }
+
+ public void setUserName(String userName) {
+ this.userName = userName;
+ }
+
+ public List<Integer> getDepartmentList() {
+ return departmentList;
+ }
+
+ public void setDepartmentList(List<Integer> departmentList) {
+ this.departmentList = departmentList;
+ }
+
+ public boolean isValid() {
+ return StringUtils.isNotBlank(this.getName()) && StringUtils.isNotBlank(this.getUserName());
+ }
+
+ @Override
+ public String toString() {
+ return "UserCreateParam{" +
+ "name='" + name + '\'' +
+ ", userName='" + userName + '\'' +
+ ", departmentList=" + departmentList +
+ '}';
+ }
+}
diff --git a/server/system_service/src/main/java/com/doumee/core/jiandaoyun/util/LimitUtil.java b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/util/LimitUtil.java
new file mode 100644
index 0000000..ddbf736
--- /dev/null
+++ b/server/system_service/src/main/java/com/doumee/core/jiandaoyun/util/LimitUtil.java
@@ -0,0 +1,40 @@
+package com.doumee.core.jiandaoyun.util;
+
+import java.util.Arrays;
+import java.util.List;
+
+public class LimitUtil {
+ private static volatile int seq = 0;
+
+ private static final int bucket = 1000;
+
+ private static volatile List<Long> requestTimeList = Arrays.asList(0L, 0L, 0L, 0L, 0L);
+
+ private LimitUtil() {
+ }
+
+ /**
+ * 闄愭祦瀹炵幇 鐢� static synchronized 淇グ 琛ㄧず 瀵圭被涓婇攣
+ *
+ * @throws InterruptedException
+ */
+ public static synchronized void tryBeforeRun() throws InterruptedException {
+ long now = System.currentTimeMillis();
+ // 褰撳墠鏃堕棿 涓� 鍓峫imit涓姹傜殑鏃堕棿 浣滄瘮杈�
+ long interval = now - requestTimeList.get(seq);
+ if (interval < 0) {
+ // 鎵ц鏃堕棿: t[seq]+bucket=now-interval+bucket
+ // 绛夊緟鏃堕棿: bucket-interval
+ Thread.sleep(bucket - interval);
+ // 閲嶆柊绛夊緟
+ tryBeforeRun();
+ }
+ if (interval < bucket) {
+ requestTimeList.set(seq, requestTimeList.get(seq) + bucket);
+ Thread.sleep(bucket - interval);
+ } else {
+ requestTimeList.set(seq, now);
+ }
+ seq = (seq + 1) % requestTimeList.size();
+ }
+}
diff --git a/server/system_service/src/main/java/com/doumee/dao/business/model/Member.java b/server/system_service/src/main/java/com/doumee/dao/business/model/Member.java
index 4ea043a..19a68c3 100644
--- a/server/system_service/src/main/java/com/doumee/dao/business/model/Member.java
+++ b/server/system_service/src/main/java/com/doumee/dao/business/model/Member.java
@@ -304,5 +304,8 @@
@ApiModelProperty(value = "鏄惁鏌ヨ閽ュ寵鏌滄牎楠屼汉鍛橈細0=鍚︼紱1=鏄�" )
@TableField(exist = false)
private Integer queryAuth;
+ @ApiModelProperty(value = "閮ㄩ棬缂栫爜闆嗗悎" )
+ @TableField(exist = false)
+ private List<Long> companyIdList;
}
diff --git a/server/system_timer/src/main/resources/application-dev.yml b/server/system_timer/src/main/resources/application-dev.yml
index ce7c96f..f7ca65b 100644
--- a/server/system_timer/src/main/resources/application-dev.yml
+++ b/server/system_timer/src/main/resources/application-dev.yml
@@ -1,7 +1,7 @@
spring:
# 鏁版嵁婧愰厤缃�
datasource:
- url: jdbc:mysql://192.168.0.211:3306/wuhuyancao?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
+ url: jdbc:mysql://192.168.0.211:3306/maanshanyancao?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
username: root
password: Doumee@168
driver-class-name: com.mysql.cj.jdbc.Driver
diff --git a/server/system_timer/src/main/resources/application-pro.yml b/server/system_timer/src/main/resources/application-pro.yml
index 0f85cb5..5ec4cc6 100644
--- a/server/system_timer/src/main/resources/application-pro.yml
+++ b/server/system_timer/src/main/resources/application-pro.yml
@@ -1,7 +1,7 @@
spring:
# 鏁版嵁婧愰厤缃�
datasource:
- url: jdbc:mysql://localhost:3306/wuhuyancao?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
+ url: jdbc:mysql://localhost:3306/maanshanyancao?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
username: root
password: Whyc@2025
driver-class-name: com.mysql.cj.jdbc.Driver
diff --git a/server/system_timer/src/main/resources/application-test.yml b/server/system_timer/src/main/resources/application-test.yml
index 63519a1..1887999 100644
--- a/server/system_timer/src/main/resources/application-test.yml
+++ b/server/system_timer/src/main/resources/application-test.yml
@@ -1,7 +1,7 @@
spring:
# 鏁版嵁婧愰厤缃�
datasource:
- url: jdbc:mysql://192.168.0.211:3306/wuhuyancao?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
+ url: jdbc:mysql://192.168.0.211:3306/maanshanyancao?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
username: root
password: Doumee@168
driver-class-name: com.mysql.cj.jdbc.Driver
diff --git a/server/system_timer/src/main/resources/bootstrap-pro.yml b/server/system_timer/src/main/resources/bootstrap-pro.yml
index caac07c..e237994 100644
--- a/server/system_timer/src/main/resources/bootstrap-pro.yml
+++ b/server/system_timer/src/main/resources/bootstrap-pro.yml
@@ -25,6 +25,6 @@
# data-id: com.doumee.meeting.admin
discovery:
server-addr: http://localhost:8848 #閰嶇疆Nacos鍦板潃
- namespace: wuhuyancao
+ namespace: maanshanyancao
username: nacos
password: nacos
\ No newline at end of file
diff --git a/server/visits/admin_timer/src/main/resources/bootstrap-pro.yml b/server/visits/admin_timer/src/main/resources/bootstrap-pro.yml
index c8032c1..a903b81 100644
--- a/server/visits/admin_timer/src/main/resources/bootstrap-pro.yml
+++ b/server/visits/admin_timer/src/main/resources/bootstrap-pro.yml
@@ -23,7 +23,7 @@
# data-id: com.doumee.meeting.admin
discovery:
server-addr: http://localhost:8848 #閰嶇疆Nacos鍦板潃
- namespace: wuhuyancao
+ namespace: maanshanyancao
username: nacos
password: nacos
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CompanyCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CompanyCloudController.java
index d4cb723..eb9a4c4 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CompanyCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CompanyCloudController.java
@@ -181,10 +181,17 @@
@ApiOperation("鍏ㄩ噺閮ㄩ棬淇℃伅鍚屾 - 閽夐拤")
@PostMapping("/syncAllDingding")
// @CloudRequiredPermission("business:company:sync")
- public ApiResponse syncAllDingding() throws ApiException {
+ public ApiResponse syncAllDingding() {
companyService.syncDDCompany();
return ApiResponse.success("鍚屾鎴愬姛");
}
+ @ApiOperation("鍏ㄩ噺閮ㄩ棬淇℃伅鍚屾 - 閽夐拤")
+ @PostMapping("/syncAllJdy")
+// @CloudRequiredPermission("business:company:sync")
+ public ApiResponse syncAllJyd() throws ApiException {
+ companyService.syncJdyCompany();
+ return ApiResponse.success("鍚屾鎴愬姛");
+ }
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/MemberCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/MemberCloudController.java
index b8f1acc..9516670 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/MemberCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/MemberCloudController.java
@@ -336,6 +336,12 @@
}else if(Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin()) == DataSyncConfig.origin.self){
hkSyncOrgUserFromSelfService.syncUserData(this.getLoginUser(token));
return ApiResponse.success("鍚屾鎴愬姛");
+ }else if(Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin()) == DataSyncConfig.origin.jdy){
+ memberService.syncJdyUserInfo();
+ return ApiResponse.success("鍚屾鎴愬姛");
+ }else if(Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin()) == DataSyncConfig.origin.dingding){
+ memberService.syncDDUserInfo();
+ return ApiResponse.success("鍚屾鎴愬姛");
}
return ApiResponse.success("鍚屾鎴愬姛");
}
@@ -377,5 +383,13 @@
return ApiResponse.success("鍚屾鎴愬姛");
}
+ @ApiOperation("鍏ㄩ噺浜哄憳淇℃伅鍚屾 - 绠�閬撲簯")
+ @PostMapping("/syncAllJdy")
+// @CloudRequiredPermission("business:company:sync")
+ public ApiResponse syncAllJdy() throws ApiException {
+ memberService.syncJdyUserInfo();
+ return ApiResponse.success("鍚屾鎴愬姛");
+ }
+
}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/JiandaoyunCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/JiandaoyunCloudController.java
new file mode 100644
index 0000000..0ab5635
--- /dev/null
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/JiandaoyunCloudController.java
@@ -0,0 +1,142 @@
+package com.doumee.cloud.web;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.doumee.api.BaseController;
+import com.doumee.biz.system.SystemDictDataBiz;
+import com.doumee.config.annotation.LoginNoRequired;
+import com.doumee.core.annotation.trace.Trace;
+import com.doumee.core.haikang.model.HKConstants;
+import com.doumee.core.haikang.model.param.BaseResponse;
+import com.doumee.core.haikang.model.param.request.FacePictureCheckRequest;
+import com.doumee.core.haikang.model.param.respose.FacePictureCheckResponse;
+import com.doumee.core.haikang.service.HKService;
+import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.DateUtil;
+import com.doumee.core.utils.FtpUtil;
+import com.doumee.core.utils.HttpsUtil;
+import com.doumee.core.utils.aliyun.ALiYunUtil;
+import com.doumee.dao.business.model.Cars;
+import com.doumee.dao.business.model.JkCabinetLog;
+import com.doumee.dao.web.reqeust.VisitRecordDTO;
+import com.doumee.dao.web.response.VisitRecordVO;
+import com.doumee.service.business.third.model.ApiResponse;
+import com.doumee.service.business.third.model.PageData;
+import com.doumee.service.business.third.model.PageWrap;
+import com.sun.net.httpserver.HttpExchange;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.codec.digest.DigestUtils;
+import org.apache.commons.io.IOUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.multipart.commons.CommonsMultipartResolver;
+
+import javax.imageio.ImageIO;
+import javax.imageio.stream.ImageOutputStream;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.awt.*;
+import java.awt.image.BufferedImage;
+import java.io.*;
+import java.net.URI;
+import java.util.*;
+
+/**
+ * @author Eva.Caesar Liu
+ * @date 2023/02/14 11:14
+ */
+@Api(tags = "銆愮畝閬撲簯銆戜笟鍔℃帴鍙�")
+@Trace(exclude = true)
+@RestController
+@LoginNoRequired
+@RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/web/jiandaoyun")
+@Slf4j
+public class JiandaoyunCloudController extends BaseController {
+
+ @Autowired
+ private SystemDictDataBiz systemDictDataBiz;
+ @ApiOperation("绠�閬撲簯鎺ㄩ�佺敤杞︾敵璇�")
+ @PostMapping("/pushCarApply")
+ public void pushCarApply (HttpServletRequest request, HttpServletResponse response) {
+ log.error("绠�閬撲簯=========getRequestURI锛�"+request.getRequestURI());
+ log.error("绠�閬撲簯=========getRequestURL锛�"+request.getRequestURL());
+ try {
+ String jdy = request.getHeader("x-jdy-signature");
+ StringBuilder json = new StringBuilder();
+ String line;
+ BufferedReader reader = new BufferedReader(new InputStreamReader(request.getInputStream()));
+ while ((line = reader.readLine()) != null) {
+ json.append(line);
+ }
+// String payload = IOUtils.toString(request.getInputStream(), "utf-8");
+ String payload = json.toString();
+ String uri = request.getRequestURI();
+ Map<String, String> parameterMap = parseParameter(request.getQueryString());
+ String nonce = parameterMap.get("nonce");
+ String timestamp = parameterMap.get("timestamp");
+ String signature = getSignature(nonce, payload, SECRET, timestamp);
+ log.error("绠�閬撲簯=========nonce锛�"+nonce);
+ log.error("绠�閬撲簯=========timestamp锛�"+timestamp);
+ log.error("绠�閬撲簯=========payload锛�"+payload);
+ log.error("绠�閬撲簯=========绛惧悕锛�"+jdy);
+ log.error("绠�閬撲簯=========绛惧悕(姝g‘锛夛細"+signature);
+ if (!signature.equals(jdy)) {
+ response.setStatus(401);
+ response.getWriter().write("fail");
+ response.getWriter().close();;
+ return ;
+ }
+ response.setStatus(200);
+ response.getWriter().write("success");
+ response.getWriter().close();
+ }catch (Exception e){
+ e.printStackTrace();
+ log.error("绠�閬撲簯=========寮傚父锛�"+e.getMessage());
+ }
+
+ }
+ @ApiOperation("绠�閬撲簯鎻愪氦閽ュ寵鍊熻繕淇℃伅")
+ @PostMapping("/submitKeyRecord")
+ public ApiResponse<JkCabinetLog> submitKeyRecord (HttpServletRequest request, HttpServletResponse response) {
+ JkCabinetLog log = new JkCabinetLog();
+ log.setKeyId(1);
+ log.setCreateDate(new Date());
+ log.setMemberName("寮犱笁");
+ return ApiResponse.success(log);
+ }
+
+ public static final String SECRET ="yKSKuO0LoFf06jWGrwwuGudK";
+ private static String getSignature(String nonce, String payload, String secret, String timestamp) {
+ return DigestUtils.sha1Hex(nonce + ":" + payload + ":" + secret + ":" + timestamp);
+ }
+
+ private static Map<String, String> parseParameter(String query) {
+ Map<String, String> paramMap = new HashMap<String, String>();
+ String[] params = query.split("&");
+ for (String param : params) {
+ String[] keyValue = param.split("=");
+ paramMap.put(keyValue[0], keyValue[1]);
+ }
+ return paramMap;
+ }
+
+ public static void main(String[] args) {
+ String url = "https://api.jiandaoyun.com/api/v1/automation/tenant/6909b792324dc197821895d1/hooks/6909d0fbdb93690b128a0d56b068192dc4a9c9722dbac428";
+// String url = "https://api.jiandaoyun.com/api/v1/automation/tenant/6909b792324dc197821895d1/hooks/6909d0fbdb93690af97e41d1b068192dc4a9705aca3321e2";
+ JSONObject object = new JSONObject();
+ object.put("create_date","20251104160000");
+ object.put("start_date",System.currentTimeMillis() );
+ object.put("end_date", System.currentTimeMillis() + 24*3600*1000);
+ object.put("id","10000020251105");
+ object.put("type",1);
+ String result = HttpsUtil.postJson(url,JSONObject.toJSONString(object));
+ System.out.println(result);
+ }
+}
diff --git a/server/visits/dmvisit_admin/src/main/resources/bootstrap-dev.yml b/server/visits/dmvisit_admin/src/main/resources/bootstrap-dev.yml
index 49606a5..2e1efaa 100644
--- a/server/visits/dmvisit_admin/src/main/resources/bootstrap-dev.yml
+++ b/server/visits/dmvisit_admin/src/main/resources/bootstrap-dev.yml
@@ -16,7 +16,7 @@
discovery:
server-addr: http://192.168.0.7:8848 #閰嶇疆Nacos鍦板潃
# namespace: dmvisit
- namespace: wuhu_visit_dev1
+ namespace: wuhu_visit_dev
username: nacos
password: nacos
knife4j:
diff --git a/server/visits/dmvisit_admin/src/main/resources/bootstrap-pro.yml b/server/visits/dmvisit_admin/src/main/resources/bootstrap-pro.yml
index f0af774..9e9fa63 100644
--- a/server/visits/dmvisit_admin/src/main/resources/bootstrap-pro.yml
+++ b/server/visits/dmvisit_admin/src/main/resources/bootstrap-pro.yml
@@ -23,7 +23,7 @@
# data-id: com.doumee.meeting.admin
discovery:
server-addr: http://localhost:8848 #閰嶇疆Nacos鍦板潃
- namespace: wuhuyancao
+ namespace: maanshanyancao
username: nacos
password: nacos
diff --git a/server/visits/dmvisit_admin/src/main/resources/bootstrap.yml b/server/visits/dmvisit_admin/src/main/resources/bootstrap.yml
index 86e11a3..9dc10e9 100644
--- a/server/visits/dmvisit_admin/src/main/resources/bootstrap.yml
+++ b/server/visits/dmvisit_admin/src/main/resources/bootstrap.yml
@@ -1,6 +1,6 @@
spring:
profiles:
- active: test
+ active: dev
application:
name: visitsAdmin
# 瀹夊叏閰嶇疆
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/dingTalk/DingTalk.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/dingTalk/DingTalk.java
index 87e5ffc..86b12f6 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/dingTalk/DingTalk.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/dingTalk/DingTalk.java
@@ -188,7 +188,7 @@
thisLevelList.addAll(rsp.getResult());
}
}else{
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),rsp.getMessage());
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),rsp.getMessage());
}
}
return thisLevelList;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/CompanyService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/CompanyService.java
index 5087d55..03d60d8 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/CompanyService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/CompanyService.java
@@ -132,5 +132,7 @@
void ddPushCompanyInfo(String eventType, JSONObject eventData) throws ApiException;
- String syncDDCompany()throws ApiException;
+ String syncDDCompany() ;
+
+ String syncJdyCompany();
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/MemberService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/MemberService.java
index 024145c..ff8998b 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/MemberService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/MemberService.java
@@ -212,7 +212,8 @@
void initPinyinTool();
- void syncDDUserInfo() throws ApiException;
+ String syncJdyUserInfo();
+ void syncDDUserInfo() ;
void ddPushMemberInfo(String eventType, shade.com.alibaba.fastjson2.JSONObject eventData) throws ApiException;
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveParamServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveParamServiceImpl.java
index c4f8caa..c40aed4 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveParamServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveParamServiceImpl.java
@@ -48,8 +48,7 @@
if(Objects.isNull(approveParam)
||Objects.isNull(approveParam.getType())
||Objects.isNull(approveParam.getMemberType())
- ||Objects.isNull(approveParam.getLevel())
- ){
+ ||Objects.isNull(approveParam.getLevel())){
throw new BusinessException(ResponseStatus.BAD_REQUEST);
}
if(approveParam.getType().equals(Constants.ZERO)){
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
index 575f5a3..6bc2a13 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
@@ -1,5 +1,7 @@
package com.doumee.service.business.impl;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.TypeReference;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -23,6 +25,11 @@
import com.doumee.core.haikang.model.param.respose.OrgOrUserAddResponse;
import com.doumee.core.haikang.model.param.respose.OrgUpdateFailureResponse;
import com.doumee.core.haikang.service.HKService;
+import com.doumee.core.jiandaoyun.api.arch.DeptApiClient;
+import com.doumee.core.jiandaoyun.constants.HttpConstant;
+import com.doumee.core.jiandaoyun.model.dept.DeptEntityModel;
+import com.doumee.core.wms.model.response.WmsBaseDataResponse;
+import com.doumee.core.wms.model.response.WmsBaseResponse;
import com.doumee.service.business.third.model.LoginUserInfo;
import com.doumee.service.business.third.model.PageData;
import com.doumee.service.business.third.model.PageWrap;
@@ -808,10 +815,15 @@
.eq(Company::getErpId,jsonArray.getLong(i))
);
OapiV2DepartmentGetResponse.DeptGetResponse deptGetResponse = dingTalk.syncDepartmentInfo(jsonArray.getLong(i));
+ Company param = new Company();
+ param.setName(deptGetResponse.getName());
+ param.setErpId(deptGetResponse.getDeptId().toString());
+ param.setErpParentId(deptGetResponse.getParentId().toString());
if(Objects.isNull(company)){
- getAddCompanyModel(deptGetResponse,company);
+ param.setSortnum(deptGetResponse.getOrder().intValue());//榛樿鏈�涓婇潰
+ getAddCompanyModel(param);
}else{
- getUpdateCompanyModel(deptGetResponse,company);
+ getUpdateCompanyModel(param,company);
}
}
}
@@ -850,35 +862,106 @@
}
@Override
- public String syncDDCompany() throws ApiException {
- List<OapiV2DepartmentGetResponse.DeptGetResponse> list = dingTalk.syncAllDDDepartmentList();
- if(list !=null && list.size()>0){
- List<Company> addList = new ArrayList<>();
- List<Company> updateList = new ArrayList<>();
- List<Long> delIds = new ArrayList<>();//淇敼涓轰娇鐢ㄩ拤閽塱d erpId
- List<Company> allList = companyMapper.selectList(new QueryWrapper<Company>().lambda()
- .eq(Company::getIsdeleted,Constants.ZERO).eq(Company::getType,Constants.ONE));
- dealCompanyChangeList(list,addList,updateList,delIds,allList);
- if(delIds.size()>0){
- syncDelCompany(delIds);
+ public String syncDDCompany() {
+ try {
+ List<OapiV2DepartmentGetResponse.DeptGetResponse> list = dingTalk.syncAllDDDepartmentList();
+ if(list !=null && list.size()>0){
+ List<Company> addList = new ArrayList<>();
+ List<Company> updateList = new ArrayList<>();
+ List<Long> delIds = new ArrayList<>();//淇敼涓轰娇鐢ㄩ拤閽塱d erpId
+ List<Company> allList = companyMapper.selectList(new QueryWrapper<Company>().lambda()
+ .eq(Company::getIsdeleted,Constants.ZERO).eq(Company::getType,Constants.ONE));
+ dealCompanyChangeList(list,addList,updateList,delIds,allList);
+ if(delIds.size()>0){
+ syncDelCompany(delIds);
+ }
+ return "鍚屾鏁版嵁锛氭柊澧炪��"+addList.size()+"銆戞潯锛屾洿鏂般��"+updateList.size()+"銆戞潯锛屽垹闄ゃ��"+delIds.size()+"銆戞潯";
+ }else{
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "鍚屾閽夐拤鏁版嵁涓虹┖锛�");
}
- return "鍚屾鏁版嵁锛氭柊澧炪��"+addList.size()+"銆戞潯锛屾洿鏂般��"+updateList.size()+"銆戞潯锛屽垹闄ゃ��"+delIds.size()+"銆戞潯";
- }else{
- throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "鍚屾閽夐拤鏁版嵁涓虹┖锛�");
+ }catch (Exception e){
+ e.printStackTrace();
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "鍚屾閽夐拤鏁版嵁寮傚父锛�");
}
}
+ @Override
+ public String syncJdyCompany() {
+ //{
+ // "dept_no": 1,//鏁板瓧 1 涓烘牴閮ㄩ棬缂栧彿銆�
+ // "has_child": true
+ //}
+ DeptApiClient deptApiClient = new DeptApiClient(HttpConstant.API_KEY, HttpConstant.HOST);
+ try {
+ Map<String, Object> result = deptApiClient.deptList(1,true,deptApiClient.getDefaultVersion());
+ if(result!=null && result.get("departments")!=null ){
+ TypeReference<List<DeptEntityModel>> typeReference = new TypeReference<List<DeptEntityModel>>(){};
+ Object obj = result.get("departments");
+ List<DeptEntityModel> list = com.alibaba.fastjson.JSONObject.parseObject(JSON.toJSONString(obj), typeReference.getType());
+ if(list !=null && list.size()>0){
+ List<Company> addList = new ArrayList<>();
+ List<Company> updateList = new ArrayList<>();
+ List<Long> delIds = new ArrayList<>();//淇敼涓轰娇鐢ㄩ拤閽塱d erpId
+ List<Company> allList = companyMapper.selectList(new QueryWrapper<Company>().lambda()
+ .eq(Company::getIsdeleted,Constants.ZERO).eq(Company::getType,Constants.ONE));
+ dealCompanyChangeListJdy(list,addList,updateList,delIds,allList);
+ if(delIds.size()>0){
+ syncDelCompany(delIds);
+ }
+ return "鍚屾鏁版嵁锛氭柊澧炪��"+addList.size()+"銆戞潯锛屾洿鏂般��"+updateList.size()+"銆戞潯锛屽垹闄ゃ��"+delIds.size()+"銆戞潯";
+ }else{
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "鍚屾閽夐拤鏁版嵁涓虹┖锛�");
+ }
+ }
+ }catch (Exception e){
+ e.printStackTrace();
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "鍚屾鏁版嵁寮傚父锛�");
+ }
+ return null;
+ }
+
+ private void dealCompanyChangeListJdy(List<DeptEntityModel> list, List<Company> addList, List<Company> updateList, List<Long> delIds, List<Company> allList) {
+ Date date = new Date();
+ for(DeptEntityModel respone : list){
+ Company param = new Company();
+ param.setName(respone.getName());
+ param.setErpId(respone.getDept_no().toString());
+ param.setErpParentId(respone.getParent_no() !=null?respone.getParent_no() .toString():null);
+ param.setSortnum(respone.getSeq()!=null?respone.getSeq().intValue():null);//榛樿鏈�涓婇潰
+ //鏍规嵁erpid鏌ヨ浼佷笟淇℃伅锛屽垽鏂槸鏂板杩樻槸鏇存柊
+ Company company = findCompanyByERPId(allList,respone.getDept_no().toString());
+ if(company == null){
+ //濡傛灉鏄柊澧�
+ //灏佽鏂板缁勭粐瀵硅薄鏁版嵁
+ addList.add(getAddCompanyModel(param));
+ }else{
+ updateList.add(getUpdateCompanyModel(param,company));
+ }
+ }
+ if(allList!=null && allList.size()>0){
+ for(Company c : allList){
+ if(!isCompanyDeletedJdy(c,list)){
+ delIds.add(Long.valueOf(c.getErpId()));
+ }
+ }
+ }
+ }
private void dealCompanyChangeList(List<OapiV2DepartmentGetResponse.DeptGetResponse> list, List<Company> addList, List<Company> updateList, List<Long> delIds, List<Company> allList) {
Date date = new Date();
for(OapiV2DepartmentGetResponse.DeptGetResponse respone : list){
+ Company param = new Company();
+ param.setName(respone.getName());
+ param.setErpId(respone.getDeptId().toString());
+ param.setErpParentId(respone.getParentId().toString());
+ param.setSortnum(respone.getOrder().intValue());//榛樿鏈�涓婇潰
//鏍规嵁erpid鏌ヨ浼佷笟淇℃伅锛屽垽鏂槸鏂板杩樻槸鏇存柊
Company company = findCompanyByERPId(allList,respone.getDeptId().toString());
if(company == null){
//濡傛灉鏄柊澧�
//灏佽鏂板缁勭粐瀵硅薄鏁版嵁
- addList.add(getAddCompanyModel(respone,new Company()));
+ addList.add(getAddCompanyModel(param));
}else{
- updateList.add(getUpdateCompanyModel(respone,company));
+ updateList.add(getUpdateCompanyModel(param,company));
}
}
if(allList!=null && allList.size()>0){
@@ -893,21 +976,20 @@
/**
* 鏁寸悊閽夐拤鍚屾 鏂板缁勭粐瀵硅薄
- * @param deptGetResponse
* @return
*/
- private Company getAddCompanyModel(OapiV2DepartmentGetResponse.DeptGetResponse deptGetResponse,Company company) {
- return syncDDAddCompanyModel(deptGetResponse,company);
+ private Company getAddCompanyModel(Company param ) {
+ return syncDDAddCompanyModel(param);
}
/**
* 鏁寸悊閽夐拤鍚屾 鏂板 闇�瑕佷慨鏀圭殑缁勭粐瀵硅薄
- * @param deptGetResponse
+ * @param param
* @param company
* @return
*/
- private Company getUpdateCompanyModel(OapiV2DepartmentGetResponse.DeptGetResponse deptGetResponse, Company company) {
- return syncDDEditCompanyModel(deptGetResponse,company);
+ private Company getUpdateCompanyModel(Company param, Company company) {
+ return syncDDEditCompanyModel(param,company);
}
@@ -936,24 +1018,35 @@
}
return false;
}
+ private boolean isCompanyDeletedJdy(Company c, List<DeptEntityModel> list) {
+ for(DeptEntityModel m : list){
+ if(StringUtils.equals(c.getErpId(),m.getDept_no().toString())){
+ return true;
+ }
+ }
+ return false;
+ }
/**
* 鏁寸悊 閽夐拤鍚屾鐨� 缁勭粐淇℃伅
- * @param deptGetResponse
- * @param company
+ * @param param
* @return
*/
- public Company syncDDAddCompanyModel(OapiV2DepartmentGetResponse.DeptGetResponse deptGetResponse,Company company){
- company = new Company();
+ public Company syncDDAddCompanyModel(Company param ){
+ Company company = new Company();
company.setCreateDate(new Date());
company.setIsdeleted(Constants.ZERO);
company.setStatus(Constants.ZERO);
- company.setName(deptGetResponse.getName());
- company.setErpId(deptGetResponse.getDeptId().toString());
- company.setErpParentId(deptGetResponse.getParentId().toString());
- company.setSortnum(deptGetResponse.getOrder().intValue());//榛樿鏈�涓婇潰
+// company.setName(deptGetResponse.getName());
+// company.setErpId(deptGetResponse.getDeptId().toString());
+// company.setErpParentId(deptGetResponse.getParentId().toString());
+// company.setSortnum(deptGetResponse.getOrder().intValue());//榛樿鏈�涓婇潰
+ company.setName(param.getName());
+ company.setErpId(param.getErpId() );
+ company.setErpParentId(param.getErpParentId());
+ company.setSortnum(param.getSortnum());//榛樿鏈�涓婇潰
company.setType(Constants.ONE);
String rootOrgId = systemDictDataBiz.queryByCode(Constants.HK_PARAM,Constants.HK_ROOTORG_CODE).getCode();
@@ -1007,8 +1100,8 @@
}
- public Company syncDDEditCompanyModel(OapiV2DepartmentGetResponse.DeptGetResponse deptGetResponse,Company company){
- company.setErpParentId(deptGetResponse.getParentId().toString());
+ public Company syncDDEditCompanyModel(Company param,Company company){
+ company.setErpParentId(param.getErpParentId().toString());
String idPath = "";
if(StringUtils.isNotBlank(company.getErpParentId())){
Company parent = companyMapper.selectOne(new QueryWrapper<Company>().lambda().eq(Company::getErpId,company.getErpParentId())
@@ -1030,15 +1123,13 @@
company.setParentId(parent.getId());
}
- company.setName(deptGetResponse.getName());
- company.setErpId(deptGetResponse.getDeptId().toString());
- company.setErpParentId(deptGetResponse.getParentId().toString());
- company.setSortnum(deptGetResponse.getOrder().intValue());//榛樿鏈�涓婇潰
+ company.setName(param.getName());
+ company.setErpId(param.getErpId());
+ company.setSortnum(param.getSortnum());//榛樿鏈�涓婇潰
company.setEditDate(new Date());
company.setHkCompanyPath(company.getCompanyNamePath());
company.setHkStatus(Constants.ZERO);
company.setStatus(Constants.ZERO);
- company.setSortnum(deptGetResponse.getOrder().intValue());
company.setHkDate(company.getCreateDate());
company.setEditDate(company.getCreateDate());
company.setEditor(company.getCreator());
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
index a9ae43a..dfd57cf 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -2,7 +2,9 @@
import cn.hutool.core.util.IdcardUtil;
import cn.hutool.core.util.PhoneUtil;
+import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.TypeReference;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -23,6 +25,10 @@
import com.doumee.core.haikang.model.param.respose.UserAddResponse;
import com.doumee.core.haikang.model.param.respose.UserDelResponse;
import com.doumee.core.haikang.service.HKService;
+import com.doumee.core.jiandaoyun.api.arch.DeptApiClient;
+import com.doumee.core.jiandaoyun.constants.HttpConstant;
+import com.doumee.core.jiandaoyun.model.dept.DeptEntityModel;
+import com.doumee.core.jiandaoyun.model.user.UserEntityModel;
import com.doumee.dao.web.response.DDAuthorizeVO;
import com.doumee.service.business.third.TmsService;
import com.doumee.service.business.third.model.LoginUserInfo;
@@ -609,7 +615,7 @@
Member member=new Member();
member.setId(id);
member.setIsdeleted(Constants.ONE);
- member.setEditor(loginUserInfo.getId());
+ member.setEditor(loginUserInfo!=null?loginUserInfo.getId():null);
member.setEditDate(date);
member.setHkStatus(Constants.ZERO);
member.setRemark("浜哄憳宸插垹闄わ紝绛夊緟鍒犻櫎闂ㄧ鏉冮檺");
@@ -2413,23 +2419,60 @@
* 鍚屾閽夐拤鍐呴儴鍛樺伐淇℃伅
*/
@Override
- public void syncDDUserInfo() throws ApiException {
- List<OapiV2UserGetResponse.UserGetResponse> list = dingTalk.syncAllUserInfo();
- if(CollectionUtils.isEmpty(list)){
- return;
- }
- List<Member> addList = new ArrayList<>();
- List<Member> updateList = new ArrayList<>();
- List<String> delIds = new ArrayList<>();//淇敼涓轰娇鐢ㄩ拤閽塱d erpId
- List<Member> allList = memberMapper.selectList(new QueryWrapper<Member>().lambda()
- .eq(Member::getIsdeleted,Constants.ZERO)
- .eq(Member::getType,Constants.TWO));
- dealMemberChangeList(list,addList,updateList,delIds,allList);
+ public void syncDDUserInfo(){
+ try {
+ List<OapiV2UserGetResponse.UserGetResponse> list = dingTalk.syncAllUserInfo();
+ if(CollectionUtils.isEmpty(list)){
+ return;
+ }
+ List<Member> addList = new ArrayList<>();
+ List<Member> updateList = new ArrayList<>();
+ List<String> delIds = new ArrayList<>();//淇敼涓轰娇鐢ㄩ拤閽塱d erpId
+ List<Member> allList = memberMapper.selectList(new QueryWrapper<Member>().lambda()
+ .eq(Member::getIsdeleted,Constants.ZERO)
+ .eq(Member::getType,Constants.TWO));
+ dealMemberChangeList(list,addList,updateList,delIds,allList);
- if(delIds.size()>0){
- syncDelMember(delIds);
+ if(delIds.size()>0){
+ syncDelMember(delIds);
+ }
+ }catch (Exception e){
+ throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"鍚屾閽夐拤浜哄憳淇℃伅寮傚父锛�");
}
+
+ }
+ @Override
+ public String syncJdyUserInfo() {
+ DeptApiClient deptApiClient = new DeptApiClient(HttpConstant.API_KEY, HttpConstant.HOST);
+ try {
+ Map<String, Object> result = deptApiClient.deptMemberList(1,true,deptApiClient.getDefaultVersion());
+ if(result!=null && result.get("users")!=null ){
+ TypeReference<List<UserEntityModel>> typeReference = new TypeReference<List<UserEntityModel>>(){};
+ Object obj = result.get("users");
+ List<UserEntityModel> list = com.alibaba.fastjson.JSONObject.parseObject(JSON.toJSONString(obj), typeReference.getType());
+ if(list !=null && list.size()>0){
+ List<Member> addList = new ArrayList<>();
+ List<Member> updateList = new ArrayList<>();
+ List<String> delIds = new ArrayList<>();//淇敼涓轰娇鐢ㄩ拤閽塱d erpId
+ List<Member> allList = memberMapper.selectList(new QueryWrapper<Member>().lambda()
+ .eq(Member::getIsdeleted,Constants.ZERO)
+ .eq(Member::getType,Constants.TWO));
+ dealMemberChangeListJdy(list,addList,updateList,delIds,allList);
+ if(delIds.size()>0){
+ syncDelMember(delIds);
+ }
+ return "鍚屾鏁版嵁锛氭柊澧炪��"+addList.size()+"銆戞潯锛屾洿鏂般��"+updateList.size()+"銆戞潯锛屽垹闄ゃ��"+delIds.size()+"銆戞潯";
+ }else{
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "鍚屾閽夐拤鏁版嵁涓虹┖锛�");
+ }
+ }
+ }catch (Exception e){
+ e.printStackTrace();
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "鍚屾鏁版嵁寮傚父锛�");
+ }
+
+ return null;
}
private void syncDelMember(List<String> delIds) {
@@ -2465,25 +2508,65 @@
}
}
}
+ private void dealMemberChangeListJdy(List<UserEntityModel> list, List<Member> addList, List<Member> updateList, List<String> delIds, List<Member> allList) {
+ Date date = new Date();
+ for(UserEntityModel respone : list){
+ //鏍规嵁erpid鏌ヨ浼佷笟淇℃伅锛屽垽鏂槸鏂板杩樻槸鏇存柊
+ Member param = new Member();
+ param.setErpId(respone.getUsername());
+ param.setName(respone.getName());
+ param.setDdId(respone.getIntegrate_id());
+ param.setCompanyIdList(respone.getDepartments());
+ Member member = findMemberByERPId(allList,respone.getUsername());
+ if(member == null){
+ //濡傛灉鏄柊澧�
+ //灏佽鏂板缁勭粐瀵硅薄鏁版嵁
+ addList.add(syncDDAddMemberModel(param,new Member()));
+ }else{
+ updateList.add(syncDDEditMemberModel(param,member));
+ }
+ }
+ if(allList!=null && allList.size()>0){
+ for(Member m : allList){
+ if(!isMemberDeletedJdy(m,list)){
+ delIds.add(m.getErpId());
+ }
+ }
+ }
+ }
private Member getAddMemberModel(OapiV2UserGetResponse.UserGetResponse deptGetResponse,Member member) {
- return syncDDAddMemberModel(deptGetResponse,member);
+ Member param = new Member();
+ param.setErpId(deptGetResponse.getUnionid());
+ param.setPhone(deptGetResponse.getMobile());
+ param.setName(deptGetResponse.getName());
+ param.setCode(deptGetResponse.getJobNumber());
+ param.setDdId(deptGetResponse.getUserid());
+ param.setCompanyIdList(deptGetResponse.getDeptIdList());
+ return syncDDAddMemberModel(param,member);
}
private Member getUpdateMemberModel(OapiV2UserGetResponse.UserGetResponse deptGetResponse,Member member) {
- return syncDDEditMemberModel(deptGetResponse,member);
+ Member param = new Member();
+ param.setErpId(deptGetResponse.getUnionid());
+ param.setPhone(deptGetResponse.getMobile());
+ param.setName(deptGetResponse.getName());
+ param.setCode(deptGetResponse.getJobNumber());
+ param.setDdId(deptGetResponse.getUserid());
+ param.setCompanyIdList(deptGetResponse.getDeptIdList());
+ return syncDDEditMemberModel(param,member);
}
- private Member syncDDAddMemberModel(OapiV2UserGetResponse.UserGetResponse deptGetResponse,Member member) {
+ private Member syncDDAddMemberModel(Member deptGetResponse,Member member) {
member.setCreateDate(new Date());
- member.setErpId(deptGetResponse.getUnionid());
- member.setPhone(deptGetResponse.getMobile());
+ member.setErpId(deptGetResponse.getErpId());
+ member.setPhone(deptGetResponse.getPhone());
member.setName(deptGetResponse.getName());
- member.setCode(deptGetResponse.getJobNumber());
- member.setDdId(deptGetResponse.getUserid());
- isMemberParamValidDetail(member,deptGetResponse.getDeptIdList());
+ member.setCode(deptGetResponse.getCode());
+ member.setDdId(deptGetResponse.getDdId());
+ isMemberParamValidDetail(member,deptGetResponse.getCompanyIdList());
//鑾峰彇鍑虹敓鏃ユ湡
//鑴辨晱鎿嶄綔
Member insert = initAddMemberModel(member,null);
@@ -2518,7 +2601,7 @@
}
member.setCompanyType(Constants.ONE);
SystemUser queryUserDto = new SystemUser();
- queryUserDto.setUsername(member.getPhone());
+ queryUserDto.setUsername(StringUtils.defaultString(member.getPhone(),member.getErpId()));
queryUserDto.setDeleted(Boolean.FALSE);
SystemUser user = systemUserMapper.selectOne(new QueryWrapper<>(queryUserDto).last("limit 1"));
if (user != null) {
@@ -2536,13 +2619,13 @@
}
}
- public Member syncDDEditMemberModel(OapiV2UserGetResponse.UserGetResponse deptGetResponse,Member updateMember) {
+ public Member syncDDEditMemberModel(Member deptGetResponse1,Member updateMember) {
updateMember.setEditDate(new Date());
- updateMember.setErpId(deptGetResponse.getUnionid());
- updateMember.setPhone(deptGetResponse.getMobile());
- updateMember.setName(deptGetResponse.getName());
- updateMember.setCode(deptGetResponse.getJobNumber());
- updateMember.setDdId(deptGetResponse.getUserid());
+// updateMember.setErpId(deptGetResponse.getErpId());
+// updateMember.setPhone(deptGetResponse.getPhone());
+// updateMember.setName(deptGetResponse.getName());
+// updateMember.setCode(deptGetResponse.getCode());
+// updateMember.setDdId(deptGetResponse.getDdId());
updateMember.setHkId(null);
updateMember.setAuthStatus(Constants.ZERO);
Boolean hkFlag = dealHkUserForUpdateBiz(updateMember);
@@ -2604,7 +2687,14 @@
}
return false;
}
-
+ private boolean isMemberDeletedJdy(Member member, List<UserEntityModel> list) {
+ for(UserEntityModel m : list){
+ if(StringUtils.equals(m.getUsername(),member.getErpId())){
+ return true;
+ }
+ }
+ return false;
+ }
@Override
public void ddPushMemberInfo(String eventType, shade.com.alibaba.fastjson2.JSONObject eventData) throws ApiException {
diff --git a/server/visits/dmvisit_service/src/main/resources/application-dev.yml b/server/visits/dmvisit_service/src/main/resources/application-dev.yml
index 8dd392d..d01483f 100644
--- a/server/visits/dmvisit_service/src/main/resources/application-dev.yml
+++ b/server/visits/dmvisit_service/src/main/resources/application-dev.yml
@@ -1,7 +1,7 @@
spring:
# 鏁版嵁婧愰厤缃�
datasource:
- url: jdbc:mysql://192.168.0.211:3306/wuhuyancao?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
+ url: jdbc:mysql://192.168.0.211:3306/maanshanyancao?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
username: root
password: Doumee@168
driver-class-name: com.mysql.cj.jdbc.Driver
diff --git a/server/visits/dmvisit_service/src/main/resources/application-pro.yml b/server/visits/dmvisit_service/src/main/resources/application-pro.yml
index 32e6976..4316485 100644
--- a/server/visits/dmvisit_service/src/main/resources/application-pro.yml
+++ b/server/visits/dmvisit_service/src/main/resources/application-pro.yml
@@ -1,7 +1,7 @@
spring:
# 鏁版嵁婧愰厤缃�
datasource:
- url: jdbc:mysql://localhost:3306/wuhuyancao?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
+ url: jdbc:mysql://localhost:3306/maanshanyancao?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
username: root
password: Whyc@2025
driver-class-name: com.mysql.cj.jdbc.Driver
diff --git a/server/visits/dmvisit_service/src/main/resources/application-proHS.yml.bck b/server/visits/dmvisit_service/src/main/resources/application-proHS.yml.bck
deleted file mode 100644
index 05e27a4..0000000
--- a/server/visits/dmvisit_service/src/main/resources/application-proHS.yml.bck
+++ /dev/null
@@ -1,81 +0,0 @@
-spring:
- # 鏁版嵁婧愰厤缃�
- datasource:
- url: jdbc:mysql://10.10.99.68:3306/visit?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
- username: root
- password: Hs@20240307
- driver-class-name: com.mysql.cj.jdbc.Driver
- type: com.alibaba.druid.pool.DruidDataSource
- redis:
- # database: 0
- host: 127.0.0.1
- port: 6379
- password:
- timeout: 5000 # 杩炴帴姹犱腑鐨勬渶灏忕┖闂茶繛鎺�
- jackson:
- time-zone: GMT+8
- date-format: yyyy-MM-dd HH:mm:ss
-
-#rocketmq:
-# namesrvAddr: rmq-cn-pe335rcnn06.cn-shanghai.rmq.aliyuncs.com:8080
-# groupId: GID-wakatest
-# topic: waka-test
-# username: 4derRb4Sw5EkqUMI
-# password: v50N97wf4av8Q8I4
-
-knife4j:
- enable: true
- basic:
- enable: true
- username: admin
- password: 111111
-
-debug_model: false
-
-# Swagger閰嶇疆
-swagger:
- host: dmtest.ahapp.net
- title: ${project.name}鎺ュ彛鏂囨。
- description: ${project.name}鎺ュ彛鏂囨。
- enabled: true
- context-path: /erp_interface
- # 绂佺敤swagger鏃剁殑閲嶅畾鍚戝湴鍧�
- redirect-uri: /
-
-########################鍚屾鏁版嵁妯″紡 ########################
-data-sync:
- org-user-data-origin: 1 #缁勭粐鏁版嵁 0鑷缓 2浠ユ捣搴蜂负涓� 1鍗庢櫉ERP绯荤粺
- visitor-data-origin: 1 #璁垮鏁版嵁 0鑷缓 2浠ユ捣搴蜂负涓� 1鍗庢櫉ERP绯荤粺
- need-deal-img: true #鏄惁闇�瑕佸鐞嗗浘鐗囨暟鎹�
-
-########################寰俊鏀粯鐩稿叧閰嶇疆########################
-wx:
- pay:
- appId: wxfab6da18632e28de
- appSecret: 4ee3b22afa90287834319fc3c1635271
- mchId: 1229817002
- mchKey: u4TSNtv0wFP7WRfnxBgijYOtRhS9FvlM
- notifyUrl: https://dmtest.ahapp.net/smartmeeting_interface/web/api/wxPayNotify
- keyPath: /usr/local/apiclient_cert.p12
-
-tencent:
- map:
- remoteHost: https://apis.map.qq.com
- appKey: 3AYBZ-I5R3V-2BVP3-UWBDQ-ETBM5-B2BBQ
-
-
-des_pwd: 123456SDFKDJF
-
-## MQTT##
-mqtt:
- host: tcp://192.168.10.198:1883
- userName: root
- passWord: 123456
- qos: 1
- clientId: ClientId_local #ClientId_local蹇呴』鍞竴 姣斿浣犲凡缁忓畾浜嗗彨ABC 閭d綘灏变竴鐩村彨ABC 鍏朵粬鍦版柟灏变笉瑕佷娇鐢ˋBC浜�
- timeout: 10
- keepalive: 20
- topic1: A/pick/warn/# #绗﹀彿鏄唬琛ㄦ暣涓獁arn涓嬮潰鐨勫叏閮ㄥ瓙涓婚 娌℃湁鐞嗚В鐨勮瘽 鍙互鐧惧害浠旂粏鐞嗚В涓�涓�
- topic2: A/cmd/resp
- topic3: ABCF
- topic4: ABCH
diff --git a/server/visits/dmvisit_service/src/main/resources/application-test.yml b/server/visits/dmvisit_service/src/main/resources/application-test.yml
index 867c7c2..0dffa92 100644
--- a/server/visits/dmvisit_service/src/main/resources/application-test.yml
+++ b/server/visits/dmvisit_service/src/main/resources/application-test.yml
@@ -1,7 +1,7 @@
spring:
# 鏁版嵁婧愰厤缃�
datasource:
- url: jdbc:mysql://192.168.0.211:3306/wuhuyancao?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
+ url: jdbc:mysql://192.168.0.211:3306/maanshanyancao?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
username: root
password: Doumee@168
driver-class-name: com.mysql.cj.jdbc.Driver
diff --git a/server/visits/dmvisit_service/src/main/resources/application-testHS.yml.bck b/server/visits/dmvisit_service/src/main/resources/application-testHS.yml.bck
deleted file mode 100644
index 2680b48..0000000
--- a/server/visits/dmvisit_service/src/main/resources/application-testHS.yml.bck
+++ /dev/null
@@ -1,81 +0,0 @@
-spring:
- # 鏁版嵁婧愰厤缃�
- datasource:
- url: jdbc:mysql://10.10.99.63:3306/visit?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
- username: root
- password: HS!20240227
- driver-class-name: com.mysql.cj.jdbc.Driver
- type: com.alibaba.druid.pool.DruidDataSource
- redis:
- # database: 0
- host: 127.0.0.1
- port: 6379
- password: huasun618
- timeout: 5000 # 杩炴帴姹犱腑鐨勬渶灏忕┖闂茶繛鎺�
- jackson:
- time-zone: GMT+8
- date-format: yyyy-MM-dd HH:mm:ss
-
-#rocketmq:
-# namesrvAddr: rmq-cn-pe335rcnn06.cn-shanghai.rmq.aliyuncs.com:8080
-# groupId: GID-wakatest
-# topic: waka-test
-# username: 4derRb4Sw5EkqUMI
-# password: v50N97wf4av8Q8I4
-
-knife4j:
- enable: true
- basic:
- enable: true
- username: admin
- password: 111111
-
-debug_model: true
-
-# Swagger閰嶇疆
-swagger:
- host: dmtest.ahapp.net
- title: ${project.name}鎺ュ彛鏂囨。
- description: ${project.name}鎺ュ彛鏂囨。
- enabled: true
- context-path: /erp_interface
- # 绂佺敤swagger鏃剁殑閲嶅畾鍚戝湴鍧�
- redirect-uri: /
-
-########################鍚屾鏁版嵁妯″紡 ########################
-data-sync:
- org-user-data-origin: 1 #缁勭粐鏁版嵁 0鑷缓 2浠ユ捣搴蜂负涓� 1鍗庢櫉ERP绯荤粺
- visitor-data-origin: 1 #璁垮鏁版嵁 0鑷缓 2浠ユ捣搴蜂负涓� 1鍗庢櫉ERP绯荤粺
- need-deal-img: true #鏄惁闇�瑕佸鐞嗗浘鐗囨暟鎹�
-
-########################寰俊鏀粯鐩稿叧閰嶇疆########################
-wx:
- pay:
- appId: wxfab6da18632e28de
- appSecret: 4ee3b22afa90287834319fc3c1635271
- mchId: 1229817002
- mchKey: u4TSNtv0wFP7WRfnxBgijYOtRhS9FvlM
- notifyUrl: https://dmtest.ahapp.net/smartmeeting_interface/web/api/wxPayNotify
- keyPath: /usr/local/apiclient_cert.p12
-
-tencent:
- map:
- remoteHost: https://apis.map.qq.com
- appKey: 3AYBZ-I5R3V-2BVP3-UWBDQ-ETBM5-B2BBQ
-
-
-des_pwd: 123456SDFKDJF
-
-## MQTT##
-mqtt:
- host: tcp://192.168.10.198:1883
- userName: root
- passWord: 123456
- qos: 1
- clientId: ClientId_local #ClientId_local蹇呴』鍞竴 姣斿浣犲凡缁忓畾浜嗗彨ABC 閭d綘灏变竴鐩村彨ABC 鍏朵粬鍦版柟灏变笉瑕佷娇鐢ˋBC浜�
- timeout: 10
- keepalive: 20
- topic1: A/pick/warn/# #绗﹀彿鏄唬琛ㄦ暣涓獁arn涓嬮潰鐨勫叏閮ㄥ瓙涓婚 娌℃湁鐞嗚В鐨勮瘽 鍙互鐧惧害浠旂粏鐞嗚В涓�涓�
- topic2: A/cmd/resp
- topic3: ABCF
- topic4: ABCH
diff --git a/server/visits/openapi/src/main/resources/application.yml b/server/visits/openapi/src/main/resources/application.yml
index 0d1a8bb..308d275 100644
--- a/server/visits/openapi/src/main/resources/application.yml
+++ b/server/visits/openapi/src/main/resources/application.yml
@@ -9,7 +9,7 @@
# application:
# name: doumeevisit
profiles:
- active: proHS
+ active: test
# JSON杩斿洖閰嶇疆
jackson:
--
Gitblit v1.9.3