Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
H
haoban-manage3.0
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
haoban3.0
haoban-manage3.0
Commits
6adcad5b
Commit
6adcad5b
authored
Jun 24, 2024
by
徐高华
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
企微托管
parent
45775ce3
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
112 additions
and
97 deletions
+112
-97
QywxCallbackController.java
.../haoban/manage/web/controller/QywxCallbackController.java
+112
-97
No files found.
haoban-manage3-operation-web/src/main/java/com/gic/haoban/manage/web/controller/QywxCallbackController.java
View file @
6adcad5b
...
@@ -10,7 +10,6 @@ import com.gic.haoban.manage.api.service.OpenStaffApiService;
...
@@ -10,7 +10,6 @@ import com.gic.haoban.manage.api.service.OpenStaffApiService;
import
com.gic.haoban.task.manage.api.dto.open.OpenQwMessageDTO
;
import
com.gic.haoban.task.manage.api.dto.open.OpenQwMessageDTO
;
import
com.gic.haoban.task.manage.api.enums.OpenQwMsgTypeEnum
;
import
com.gic.haoban.task.manage.api.enums.OpenQwMsgTypeEnum
;
import
com.gic.mq.sdk.GicMQClient
;
import
com.gic.mq.sdk.GicMQClient
;
import
io.reactivex.Completable
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.io.IOUtils
;
import
org.apache.commons.io.IOUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
...
@@ -30,69 +29,69 @@ public class QywxCallbackController extends WebBaseController {
...
@@ -30,69 +29,69 @@ public class QywxCallbackController extends WebBaseController {
GicMQClient
gicMQClient
=
GICMQClientUtil
.
getClientInstance
();
GicMQClient
gicMQClient
=
GICMQClientUtil
.
getClientInstance
();
@Autowired
@Autowired
private
OpenStaffApiService
openStaffApiService
;
private
OpenStaffApiService
openStaffApiService
;
@Autowired
@Autowired
private
com
.
gic
.
haoban
.
task
.
manage
.
api
.
service
.
OpenQwApiService
openQwApiService
;
private
com
.
gic
.
haoban
.
task
.
manage
.
api
.
service
.
OpenQwApiService
openQwApiService
;
@RequestMapping
(
"qywx-msg-notice"
)
@RequestMapping
(
"qywx-msg-notice"
)
@IgnoreLogin
@IgnoreLogin
public
Object
callback
(
HttpServletRequest
request
,
HttpServletResponse
response
)
{
public
Object
callback
(
HttpServletRequest
request
,
HttpServletResponse
response
)
{
try
{
try
{
String
body
=
IOUtils
.
toString
(
request
.
getInputStream
());
String
body
=
IOUtils
.
toString
(
request
.
getInputStream
())
;
logger
.
info
(
"企微消息下发={}"
,
body
);
logger
.
info
(
"企微消息下发={}"
,
body
);
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
body
);
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
body
)
;
int
type
=
jsonObject
.
getIntValue
(
"type"
);
int
type
=
jsonObject
.
getIntValue
(
"type"
)
;
String
uuid
=
jsonObject
.
getString
(
"uuid"
);
String
uuid
=
jsonObject
.
getString
(
"uuid"
)
;
Long
qwStaffId
=
jsonObject
.
getLong
(
"vid"
);
Long
qwStaffId
=
jsonObject
.
getLong
(
"vid"
)
;
JSONObject
json
=
jsonObject
.
getJSONObject
(
"json"
);
JSONObject
json
=
jsonObject
.
getJSONObject
(
"json"
)
;
this
.
post
(
type
,
uuid
,
json
,
qwStaffId
);
this
.
post
(
type
,
uuid
,
json
,
qwStaffId
);
Map
<
String
,
String
>
map
=
new
HashMap
<>()
;
Map
<
String
,
String
>
map
=
new
HashMap
<>()
;
map
.
put
(
"errcode"
,
"0"
)
;
map
.
put
(
"errcode"
,
"0"
)
;
map
.
put
(
"errmsg"
,
"ok"
)
;
map
.
put
(
"errmsg"
,
"ok"
)
;
return
map
;
return
map
;
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
logger
.
info
(
"异常"
,
e
);
logger
.
info
(
"异常"
,
e
);
}
}
return
"ok"
;
return
"ok"
;
}
}
private
void
post
(
int
type
,
String
uuid
,
JSONObject
json
,
Long
qwStaffId
)
{
private
void
post
(
int
type
,
String
uuid
,
JSONObject
json
,
Long
qwStaffId
)
{
switch
(
type
)
{
switch
(
type
)
{
case
116002
:
case
116002
:
this
.
addFriend
(
json
,
qwStaffId
)
;
this
.
addFriend
(
json
,
qwStaffId
)
;
break
;
break
;
case
102000
:
case
102000
:
this
.
chat
(
uuid
,
json
)
;
this
.
chat
(
uuid
,
json
)
;
break
;
break
;
case
100001
:
case
100001
:
this
.
v100001
(
uuid
,
json
)
;
this
.
v100001
(
uuid
,
json
)
;
break
;
break
;
case
100002
:
case
100002
:
this
.
v100002
(
uuid
,
json
)
;
this
.
v100002
(
uuid
,
json
)
;
break
;
break
;
case
100003
:
case
100003
:
this
.
v100003
(
uuid
,
json
)
;
this
.
v100003
(
uuid
,
json
)
;
break
;
break
;
case
100004
:
case
100004
:
this
.
v100004
(
uuid
,
json
)
;
this
.
v100004
(
uuid
,
json
)
;
break
;
break
;
case
100005
:
case
100005
:
this
.
close
(
uuid
,
OpenStaffOfflineEnum
.
OFFLINE3
)
;
this
.
close
(
uuid
,
OpenStaffOfflineEnum
.
OFFLINE3
)
;
break
;
break
;
case
104001
:
case
104001
:
this
.
loginSuccess
(
uuid
,
json
)
;
this
.
loginSuccess
(
uuid
,
json
)
;
break
;
break
;
case
100012
:
case
100012
:
this
.
v100012
(
uuid
,
json
)
;
this
.
v100012
(
uuid
,
json
)
;
break
;
break
;
case
100009
:
case
100009
:
this
.
v100009
(
uuid
,
json
)
;
this
.
v100009
(
uuid
,
json
)
;
break
;
break
;
case
100008
:
case
100008
:
this
.
close
(
uuid
,
OpenStaffOfflineEnum
.
OFFLINE4
);
this
.
close
(
uuid
,
OpenStaffOfflineEnum
.
OFFLINE4
);
break
;
break
;
case
100007
:
case
100007
:
this
.
close
(
uuid
,
OpenStaffOfflineEnum
.
OFFLINE2
);
this
.
close
(
uuid
,
OpenStaffOfflineEnum
.
OFFLINE2
);
break
;
break
;
default
:
default
:
break
;
break
;
...
@@ -134,18 +133,20 @@ public class QywxCallbackController extends WebBaseController {
...
@@ -134,18 +133,20 @@ public class QywxCallbackController extends WebBaseController {
this
.
openQwApiService
.
saveNotice
(
json
.
toJSONString
());
this
.
openQwApiService
.
saveNotice
(
json
.
toJSONString
());
return
;
return
;
}
}
List
<
String
>
msgList
=
Arrays
.
asList
(
"0"
,
"2"
,
"101"
);
// 6 位置
if
(!
msgList
.
contains
(
msgtype
+
""
))
{
// 41 名片
List
<
String
>
msgList
=
Arrays
.
asList
(
"0"
,
"2"
,
"101"
,
"6"
,
"41"
)
;
if
(!
msgList
.
contains
(
msgtype
+
""
))
{
logger
.
info
(
"不处理的消息"
);
logger
.
info
(
"不处理的消息"
);
return
;
return
;
}
}
logger
.
info
(
"处理消息"
);
logger
.
info
(
"处理消息"
);
int
isRoom
=
json
.
getIntValue
(
"is_room"
);
int
isRoom
=
json
.
getIntValue
(
"is_room"
)
;
Long
receiver
=
json
.
getLong
(
"receiver"
);
Long
receiver
=
json
.
getLong
(
"receiver"
)
;
Long
sender
=
json
.
getLong
(
"sender"
);
Long
sender
=
json
.
getLong
(
"sender"
)
;
String
content
=
json
.
getString
(
"content"
);
String
content
=
json
.
getString
(
"content"
)
;
String
fileId
=
json
.
getString
(
"file_id"
);
String
fileId
=
json
.
getString
(
"file_id"
)
;
Long
roomId
=
json
.
getLong
(
"room_conversation_id"
);
Long
roomId
=
json
.
getLong
(
"room_conversation_id"
)
;
OpenQwMessageDTO
msg
=
new
OpenQwMessageDTO
();
OpenQwMessageDTO
msg
=
new
OpenQwMessageDTO
();
msg
.
setIsRoom
(
isRoom
);
msg
.
setIsRoom
(
isRoom
);
msg
.
setUuid
(
uuid
);
msg
.
setUuid
(
uuid
);
...
@@ -155,15 +156,36 @@ public class QywxCallbackController extends WebBaseController {
...
@@ -155,15 +156,36 @@ public class QywxCallbackController extends WebBaseController {
msg
.
setRoomId
(
roomId
);
msg
.
setRoomId
(
roomId
);
msg
.
setFileId
(
fileId
);
msg
.
setFileId
(
fileId
);
msg
.
setSendTime
(
json
.
getLong
(
"send_time"
));
msg
.
setSendTime
(
json
.
getLong
(
"send_time"
));
if
(
msgtype
==
101
)
{
if
(
msgtype
==
101
)
{
msg
.
setAeskey
(
json
.
getString
(
"aeskey"
));
msg
.
setAeskey
(
json
.
getString
(
"aeskey"
));
}
}
if
(
msgtype
==
14
)
{
if
(
msgtype
==
14
)
{
msg
.
setAeskey
(
json
.
getString
(
"aes_key"
));
msg
.
setAeskey
(
json
.
getString
(
"aes_key"
));
}
}
msg
.
setOpenimCdnAuthkey
(
json
.
getString
(
"openim_cdn_authkey"
));
msg
.
setOpenimCdnAuthkey
(
json
.
getString
(
"openim_cdn_authkey"
));
if
(
msgtype
==
101
||
msgtype
==
14
)
{
if
(
msgtype
==
101
||
msgtype
==
14
)
{
msg
.
setMsgtype
(
OpenQwMsgTypeEnum
.
IMAGE
);
msg
.
setMsgtype
(
OpenQwMsgTypeEnum
.
IMAGE
);
}
else
if
(
msgtype
==
6
)
{
msg
.
setMsgtype
(
OpenQwMsgTypeEnum
.
LOCAL
);
msg
.
setContent
(
json
.
getString
(
"address"
));
}
else
if
(
msgtype
==
41
)
{
msg
.
setMsgtype
(
OpenQwMsgTypeEnum
.
NAME
);
msg
.
setContent
(
json
.
getString
(
"nickname"
));
}
else
if
(
msgtype
==
40
)
{
msg
.
setMsgtype
(
OpenQwMsgTypeEnum
.
VIDEO_TEL
);
msg
.
setContent
(
json
.
getString
(
"nickname"
));
}
else
if
(
msgtype
==
15
)
{
msg
.
setMsgtype
(
OpenQwMsgTypeEnum
.
VIDEO
);
msg
.
setContent
(
json
.
getString
(
"nickname"
));
}
else
if
(
msgtype
==
41
)
{
msg
.
setMsgtype
(
OpenQwMsgTypeEnum
.
NAME
);
msg
.
setContent
(
json
.
getString
(
"nickname"
));
}
else
if
(
msgtype
==
41
)
{
msg
.
setMsgtype
(
OpenQwMsgTypeEnum
.
NAME
);
msg
.
setContent
(
json
.
getString
(
"nickname"
));
}
else
if
(
msgtype
==
41
)
{
msg
.
setMsgtype
(
OpenQwMsgTypeEnum
.
NAME
);
msg
.
setContent
(
json
.
getString
(
"nickname"
));
}
else
{
}
else
{
msg
.
setMsgtype
(
OpenQwMsgTypeEnum
.
text
);
msg
.
setMsgtype
(
OpenQwMsgTypeEnum
.
text
);
}
}
...
@@ -176,57 +198,50 @@ public class QywxCallbackController extends WebBaseController {
...
@@ -176,57 +198,50 @@ public class QywxCallbackController extends WebBaseController {
}
}
private
void
setSendType
(
int
msgtype
,
OpenQwMessageDTO
msg
)
{
private
void
setSendType
(
int
msgtype
,
OpenQwMessageDTO
msg
)
{
if
(
msgtype
==
101
)
{
if
(
msgtype
==
101
)
{
msg
.
setSendType
(
2
);
msg
.
setSendType
(
2
);
}
else
if
(
msgtype
==
14
)
{
}
else
if
(
msgtype
==
14
)
{
msg
.
setSendType
(
1
);
msg
.
setSendType
(
1
);
}
else
{
}
else
{
msg
.
setSendType
(
0
);
msg
.
setSendType
(
0
);
}
}
}
}
private
void
v100012
(
String
uuid
,
JSONObject
json
)
{
private
void
v100012
(
String
uuid
,
JSONObject
json
)
{
logger
.
info
(
"需要二次扫码"
);
logger
.
info
(
"需要二次扫码"
);
this
.
openStaffApiService
.
update2QrcodeFlag
(
uuid
);
this
.
openStaffApiService
.
update2QrcodeFlag
(
uuid
)
;
}
}
private
void
v100009
(
String
uuid
,
JSONObject
json
)
{
private
void
v100009
(
String
uuid
,
JSONObject
json
)
{
logger
.
info
(
"超时未扫码关闭"
);
logger
.
info
(
"超时未扫码关闭"
);
this
.
openStaffApiService
.
updateLoginStep
(
uuid
,
QwOpenStepEnum
.
step3
.
getStep
());
this
.
openStaffApiService
.
updateLoginStep
(
uuid
,
QwOpenStepEnum
.
step3
.
getStep
())
;
}
}
private
void
v100001
(
String
uuid
,
JSONObject
json
)
{
private
void
v100001
(
String
uuid
,
JSONObject
json
)
{
logger
.
info
(
"用户扫码={}"
,
uuid
);
logger
.
info
(
"用户扫码={}"
,
uuid
);
this
.
openStaffApiService
.
updateLoginStep
(
uuid
,
QwOpenStepEnum
.
step1
.
getStep
())
;
this
.
openStaffApiService
.
updateLoginStep
(
uuid
,
QwOpenStepEnum
.
step1
.
getStep
());
}
}
private
void
v100004
(
String
uuid
,
JSONObject
json
)
{
logger
.
info
(
"需要输入验证码校验={}"
,
uuid
);
private
void
v100004
(
String
uuid
,
JSONObject
json
)
{
this
.
openStaffApiService
.
updateValiFlag
(
uuid
)
;
logger
.
info
(
"需要输入验证码校验={}"
,
uuid
);
}
this
.
openStaffApiService
.
updateValiFlag
(
uuid
);
private
void
v100002
(
String
uuid
,
JSONObject
json
)
{
}
logger
.
info
(
"验证码校验成功返回={}"
,
uuid
);
this
.
openStaffApiService
.
updateLoginStep
(
uuid
,
QwOpenStepEnum
.
step4
.
getStep
())
;
private
void
v100002
(
String
uuid
,
JSONObject
json
)
{
}
logger
.
info
(
"验证码校验成功返回={}"
,
uuid
);
private
void
loginSuccess
(
String
uuid
,
JSONObject
json
)
{
this
.
openStaffApiService
.
updateLoginStep
(
uuid
,
QwOpenStepEnum
.
step4
.
getStep
());
logger
.
info
(
"登录成功={}"
,
uuid
);
}
Long
qwCorpId
=
json
.
getLong
(
"corp_id"
)
;
Long
qwUserid
=
json
.
getLong
(
"user_id"
)
;
private
void
loginSuccess
(
String
uuid
,
JSONObject
json
)
{
String
corpName
=
json
.
getString
(
"corp_name"
)
;
logger
.
info
(
"登录成功={}"
,
uuid
);
this
.
openStaffApiService
.
login
(
uuid
,
qwCorpId
,
corpName
,
qwUserid
)
;
Long
qwCorpId
=
json
.
getLong
(
"corp_id"
);
}
Long
qwUserid
=
json
.
getLong
(
"user_id"
);
private
void
close
(
String
uuid
,
OpenStaffOfflineEnum
offlineEnum
)
{
String
corpName
=
json
.
getString
(
"corp_name"
);
logger
.
info
(
"退出={}"
,
uuid
);
this
.
openStaffApiService
.
login
(
uuid
,
qwCorpId
,
corpName
,
qwUserid
);
this
.
openStaffApiService
.
logout
(
uuid
,
offlineEnum
)
;
}
}
private
void
v100003
(
String
uuid
,
JSONObject
json
)
{
private
void
close
(
String
uuid
,
OpenStaffOfflineEnum
offlineEnum
)
{
logger
.
info
(
"取消登录={}"
,
uuid
);
logger
.
info
(
"退出={}"
,
uuid
);
this
.
openStaffApiService
.
updateLoginStep
(
uuid
,
QwOpenStepEnum
.
step2
.
getStep
())
;
this
.
openStaffApiService
.
logout
(
uuid
,
offlineEnum
);
}
private
void
v100003
(
String
uuid
,
JSONObject
json
)
{
logger
.
info
(
"取消登录={}"
,
uuid
);
this
.
openStaffApiService
.
updateLoginStep
(
uuid
,
QwOpenStepEnum
.
step2
.
getStep
());
}
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment