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
9d6aa264
Commit
9d6aa264
authored
Dec 07, 2022
by
徐高华
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
群
parent
f34c7820
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
143 additions
and
17 deletions
+143
-17
GroupChatApiService.java
...c/haoban/manage/api/service/chat/GroupChatApiService.java
+24
-0
GroupChatPlanOwnerLogMapper.java
.../service/dao/mapper/chat/GroupChatPlanOwnerLogMapper.java
+3
-0
GroupChatService.java
.../haoban/manage/service/service/chat/GroupChatService.java
+14
-0
GroupChatPlanOwnerLogServiceImpl.java
...e/service/chat/impl/GroupChatPlanOwnerLogServiceImpl.java
+3
-1
GroupChatPlanServiceImpl.java
...e/service/service/chat/impl/GroupChatPlanServiceImpl.java
+1
-1
GroupChatServiceImpl.java
...anage/service/service/chat/impl/GroupChatServiceImpl.java
+42
-7
GroupChatApiServiceImpl.java
...ervice/service/out/impl/chat/GroupChatApiServiceImpl.java
+20
-1
GroupChatPlanOwnerLogMapper.xml
...ain/resources/mapper/chat/GroupChatPlanOwnerLogMapper.xml
+5
-0
StaffController.java
...com/gic/haoban/manage/web/controller/StaffController.java
+1
-1
GroupChatController.java
...aoban/manage/web/controller/chat/GroupChatController.java
+30
-6
No files found.
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/service/chat/GroupChatApiService.java
View file @
9d6aa264
...
...
@@ -123,4 +123,28 @@ public interface GroupChatApiService {
*/
public
ServiceResponse
<
List
<
GroupChatOwnerHistoryDTO
>>
listOwnerHistory
(
Long
groupChatId
,
String
WxEnterpriseId
);
/**
*
* @Title: transfer
* @Description: 继承
* @author xugh
* @param wxEnterpriseId
* @param staffId
* @param groupChatIdList
* @return
* @throws
*/
public
ServiceResponse
<
Void
>
transfer
(
String
wxEnterpriseId
,
String
staffId
,
List
<
Long
>
groupChatIdList
);
/**
*
* @Title: getSetFlag
* @Description:
* @author xugh
* @param wxEnterpriseId
* @return
* @throws
*/
public
ServiceResponse
<
Boolean
>
getSetGicFlag
(
String
wxEnterpriseId
)
;
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/dao/mapper/chat/GroupChatPlanOwnerLogMapper.java
View file @
9d6aa264
...
...
@@ -28,4 +28,6 @@ public interface GroupChatPlanOwnerLogMapper {
@Param
(
"sendTime"
)
Date
sendTime
);
public
List
<
GroupChatPlanOwnerLogDTO
>
listPage
(
GroupChatPlanSearchQDTO
qdto
);
public
List
<
TabGroupChatPlanOwnerLog
>
listForTimer
();
}
\ No newline at end of file
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/chat/GroupChatService.java
View file @
9d6aa264
...
...
@@ -91,4 +91,17 @@ public interface GroupChatService {
* @throws
*/
public
List
<
GroupChatOwnerHistoryDTO
>
listOwnerHistory
(
Long
groupChatId
,
String
WxEnterpriseId
);
/**
*
* @Title: transfer
* @Description: 群继承
* @author xugh
* @param wxEnterpriseId
* @param staffId
* @param groupChatIdList
* @return
* @throws
*/
public
void
transfer
(
String
wxEnterpriseId
,
String
staffId
,
List
<
Long
>
groupChatIdList
)
;
}
\ No newline at end of file
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/chat/impl/GroupChatPlanOwnerLogServiceImpl.java
View file @
9d6aa264
...
...
@@ -136,7 +136,8 @@ public class GroupChatPlanOwnerLogServiceImpl implements GroupChatPlanOwnerLogSe
@Override
public
List
<
TabGroupChatPlanOwnerLog
>
listForTimer
()
{
return
null
;
List
<
TabGroupChatPlanOwnerLog
>
list
=
this
.
groupChatPlanOwnerLogMapper
.
listForTimer
()
;
return
list
;
}
}
\ No newline at end of file
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/chat/impl/GroupChatPlanServiceImpl.java
View file @
9d6aa264
...
...
@@ -191,7 +191,7 @@ public class GroupChatPlanServiceImpl implements GroupChatPlanService {
JSONResponse
respon
=
qywxSuiteApiService
.
resultExternalMessage
(
qwDTO
.
getThirdCorpid
(),
config
.
getWxSuiteid
(),
msgid
,
null
,
userid
);
logger
.
info
(
JSON
.
toJSONString
(
respon
));
logger
.
info
(
"统计返回={}"
,
JSON
.
toJSONString
(
respon
));
if
(
respon
.
getErrorCode
()
==
0
)
{
List
<
QywxSendMessageResultDTO
>
list
=
(
List
<
QywxSendMessageResultDTO
>)
respon
.
getList
();
if
(
CollectionUtils
.
isNotEmpty
(
list
))
{
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/chat/impl/GroupChatServiceImpl.java
View file @
9d6aa264
...
...
@@ -3,6 +3,7 @@ package com.gic.haoban.manage.service.service.chat.impl;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.Date
;
import
java.util.HashSet
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
...
...
@@ -41,6 +42,7 @@ import com.gic.haoban.manage.service.dao.mapper.chat.GroupChatUserMapper;
import
com.gic.haoban.manage.service.entity.TabHaobanExternalClerkRelated
;
import
com.gic.haoban.manage.service.entity.TabHaobanStaff
;
import
com.gic.haoban.manage.service.entity.TabHaobanWxEnterprise
;
import
com.gic.haoban.manage.service.entity.TabHaobanWxEnterpriseRelated
;
import
com.gic.haoban.manage.service.entity.chat.TabChatNotice
;
import
com.gic.haoban.manage.service.entity.chat.TabGroupChat
;
import
com.gic.haoban.manage.service.entity.chat.TabGroupChatOwner
;
...
...
@@ -49,10 +51,12 @@ import com.gic.haoban.manage.service.entity.chat.TabGroupChatUser;
import
com.gic.haoban.manage.service.pojo.bo.chat.GroupChatBO
;
import
com.gic.haoban.manage.service.service.SecretSettingService
;
import
com.gic.haoban.manage.service.service.StaffClerkRelationService
;
import
com.gic.haoban.manage.service.service.WxEnterpriseRelatedService
;
import
com.gic.haoban.manage.service.service.WxEnterpriseService
;
import
com.gic.haoban.manage.service.service.chat.GroupChatService
;
import
com.gic.member.api.dto.MemberDTO
;
import
com.gic.member.api.service.MemberService
;
import
com.gic.wechat.api.dto.qywx.chat.FailChatListDTO
;
import
com.gic.wechat.api.dto.qywx.chat.GroupChatDetailDTO
;
import
com.gic.wechat.api.dto.qywx.chat.GroupChatDetailMemberDTO
;
import
com.gic.wechat.api.dto.qywx.chat.GroupChatListDTO
;
...
...
@@ -91,6 +95,8 @@ public class GroupChatServiceImpl implements GroupChatService {
private
GroupChatOwnerMapper
groupChatOwnerMapper
;
@Autowired
private
GroupChatOwnerHistoryMapper
groupChatOwnerHistoryMapper
;
@Autowired
private
WxEnterpriseRelatedService
wxEnterpriseRelatedService
;
// 每次拉取成员数
private
int
pageSize
=
10
;
...
...
@@ -296,8 +302,8 @@ public class GroupChatServiceImpl implements GroupChatService {
private
void
syncGroupChatList
(
WxEnterpriseQwDTO
qwDTO
,
List
<
String
>
userIdList
,
String
cursor
,
boolean
syncDetailFlag
)
{
logger
.
info
(
"qwDTO={},idlist={},cursor={}"
,
JSON
.
toJSONString
(
qwDTO
),
JSON
.
toJSONString
(
userIdList
),
cursor
);
ServiceResponse
<
GroupChatListDTO
>
resp
=
this
.
qywxChatApiService
.
groupchatList3th
(
qwDTO
.
getDkCorpid
(),
config
.
getWxSuiteid
(),
userIdList
,
limit
,
cursor
);
ServiceResponse
<
GroupChatListDTO
>
resp
=
this
.
qywxChatApiService
.
groupchatList3th
(
qwDTO
.
getDkCorpid
(),
config
.
getWxSuiteid
(),
userIdList
,
limit
,
cursor
);
if
(!
resp
.
isSuccess
())
{
logger
.
info
(
"拉取群列表异常={}"
,
JSON
.
toJSON
(
resp
));
return
;
...
...
@@ -366,8 +372,8 @@ public class GroupChatServiceImpl implements GroupChatService {
Long
groupChatId
=
chat
.
getGroupChatId
();
String
wxEnterpriseId
=
chat
.
getWxEnterpriseId
();
String
enterpriseId
=
chat
.
getEnterpriseId
();
ServiceResponse
<
GroupChatDetailDTO
>
detailResp
=
this
.
qywxChatApiService
.
groupchatDetail3th
(
qwDTO
.
getThirdCorpid
(),
config
.
getWxSuiteid
(),
chat
.
getWxChatId
(),
1
);
ServiceResponse
<
GroupChatDetailDTO
>
detailResp
=
this
.
qywxChatApiService
.
groupchatDetail3th
(
qwDTO
.
getThirdCorpid
(),
config
.
getWxSuiteid
(),
chat
.
getWxChatId
(),
1
);
GroupChatDetailDTO
detail
=
detailResp
.
getResult
();
chat
.
setGroupChatId
(
groupChatId
);
...
...
@@ -387,8 +393,17 @@ public class GroupChatServiceImpl implements GroupChatService {
chat
.
setStaffId
(
null
);
logger
.
info
(
"群主未关联好办,不同步群成员,userid={}"
,
owner
);
}
// 匹配GIC企业ID
if
(
StringUtils
.
isBlank
(
enterpriseId
))
{
List
<
TabHaobanWxEnterpriseRelated
>
list
=
this
.
wxEnterpriseRelatedService
.
getByWxEnterpriseId
(
enterpriseId
);
if
(
CollectionUtils
.
isNotEmpty
(
list
)
&&
list
.
size
()
==
1
)
{
logger
.
info
(
"匹配群的gic商户id,gic={}"
,
list
.
get
(
0
).
getEnterpriseId
());
enterpriseId
=
list
.
get
(
0
).
getEnterpriseId
();
}
}
if
(
StringUtils
.
isBlank
(
enterpriseId
)
&&
null
!=
staff
)
{
logger
.
info
(
"
开始
匹配群的gic商户id,staffid={}"
,
staff
.
getStaffId
());
logger
.
info
(
"匹配群的gic商户id,staffid={}"
,
staff
.
getStaffId
());
List
<
StaffClerkRelationDTO
>
clerkList
=
this
.
staffClerkRelationService
.
listByStaffId
(
wxEnterpriseId
,
staff
.
getStaffId
());
if
(
CollectionUtils
.
isNotEmpty
(
clerkList
))
{
...
...
@@ -558,8 +573,8 @@ public class GroupChatServiceImpl implements GroupChatService {
logger
.
info
(
"未配置代开应用"
);
}
String
secret
=
secretSetting
.
getSecretVal
();
ServiceResponse
<
GroupChatListDTO
>
resp
=
this
.
qywxChatApiService
.
groupchatList
(
qwDTO
.
getDkCorpid
(),
secret
,
userIdList
,
limit
,
cursor
);
ServiceResponse
<
GroupChatListDTO
>
resp
=
this
.
qywxChatApiService
.
groupchatList
(
qwDTO
.
getDkCorpid
(),
secret
,
userIdList
,
limit
,
cursor
);
if
(!
resp
.
isSuccess
())
{
logger
.
info
(
"拉取群异常={}"
,
JSON
.
toJSON
(
resp
));
return
;
...
...
@@ -619,4 +634,23 @@ public class GroupChatServiceImpl implements GroupChatService {
}
return
list
;
}
@Override
public
void
transfer
(
String
wxEnterpriseId
,
String
staffId
,
List
<
Long
>
groupChatIdList
)
{
WxEnterpriseQwDTO
qwDTO
=
this
.
wxEnterpriseService
.
getQwInfo
(
wxEnterpriseId
);
if
(
null
==
qwDTO
)
{
logger
.
info
(
"wxEnterpriseId不存在,id={}"
,
wxEnterpriseId
);
return
;
}
TabHaobanStaff
staff
=
this
.
staffMapper
.
selectByPrimaryKey
(
staffId
);
String
userid
=
staff
.
getWxUserId
();
if
(
qwDTO
.
needOpenUserId3th
())
{
userid
=
staff
.
getWxOpenUseId
();
}
List
<
TabGroupChat
>
list
=
this
.
groupChatMapper
.
listByIdSet
(
new
HashSet
<>(
groupChatIdList
));
List
<
String
>
wxChatIdList
=
list
.
stream
().
map
(
dto
->
dto
.
getWxChatId
()).
collect
(
Collectors
.
toList
());
ServiceResponse
<
List
<
FailChatListDTO
>>
resp
=
this
.
qywxChatApiService
.
transfer
(
qwDTO
.
getThirdCorpid
(),
config
.
getWxSuiteid
(),
wxChatIdList
,
userid
);
logger
.
info
(
"群继承={}"
,
JSON
.
toJSONString
(
resp
));
}
}
\ No newline at end of file
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/chat/GroupChatApiServiceImpl.java
View file @
9d6aa264
...
...
@@ -2,6 +2,7 @@ package com.gic.haoban.manage.service.service.out.impl.chat;
import
java.util.List
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.Logger
;
...
...
@@ -24,8 +25,10 @@ import com.gic.haoban.manage.api.dto.qdto.chat.GroupChatUserSearchQDTO;
import
com.gic.haoban.manage.api.dto.qdto.chat.OwnerSearchQDTO
;
import
com.gic.haoban.manage.api.service.chat.GroupChatApiService
;
import
com.gic.haoban.manage.service.entity.TabHaobanStaff
;
import
com.gic.haoban.manage.service.entity.TabHaobanWxEnterpriseRelated
;
import
com.gic.haoban.manage.service.pojo.bo.chat.GroupChatBO
;
import
com.gic.haoban.manage.service.service.StaffService
;
import
com.gic.haoban.manage.service.service.WxEnterpriseRelatedService
;
import
com.gic.haoban.manage.service.service.chat.GroupChatService
;
import
com.gic.haoban.manage.service.service.chat.GroupChatUserService
;
...
...
@@ -40,6 +43,8 @@ public class GroupChatApiServiceImpl implements GroupChatApiService {
private
GroupChatUserService
groupChatUserService
;
@Autowired
private
StaffService
staffService
;
@Autowired
private
WxEnterpriseRelatedService
wxEnterpriseRelatedService
;
@Override
public
ServiceResponse
<
Page
<
GroupChatDTO
>>
listPage
(
GroupChatSearchQDTO
qdto
,
BasePageInfo
basePageInfo
)
{
...
...
@@ -112,10 +117,24 @@ public class GroupChatApiServiceImpl implements GroupChatApiService {
}
return
ServiceResponse
.
success
();
}
@Override
public
ServiceResponse
<
List
<
GroupChatOwnerHistoryDTO
>>
listOwnerHistory
(
Long
groupChatId
,
String
WxEnterpriseId
)
{
return
ServiceResponse
.
success
(
this
.
groupChatService
.
listOwnerHistory
(
groupChatId
,
WxEnterpriseId
));
}
@Override
public
ServiceResponse
<
Void
>
transfer
(
String
wxEnterpriseId
,
String
staffId
,
List
<
Long
>
groupChatIdList
)
{
this
.
groupChatService
.
transfer
(
wxEnterpriseId
,
staffId
,
groupChatIdList
);
return
ServiceResponse
.
success
();
}
@Override
public
ServiceResponse
<
Boolean
>
getSetGicFlag
(
String
wxEnterpriseId
)
{
List
<
TabHaobanWxEnterpriseRelated
>
list
=
this
.
wxEnterpriseRelatedService
.
getByWxEnterpriseId
(
wxEnterpriseId
)
;
if
(
CollectionUtils
.
isNotEmpty
(
list
)
&&
list
.
size
()==
1
)
{
return
ServiceResponse
.
success
(
Boolean
.
TRUE
)
;
}
return
ServiceResponse
.
success
(
Boolean
.
FALSE
)
;
}
}
haoban-manage3-service/src/main/resources/mapper/chat/GroupChatPlanOwnerLogMapper.xml
View file @
9d6aa264
...
...
@@ -82,6 +82,11 @@
SELECT
<include
refid=
"Base_Column_List"
/>
FROM tab_haoban_group_chat_plan_owner_log WHERE owner_log_id = #{ownerLogId} and delete_flag = 0
</select>
<select
id=
"listForTimer"
resultMap=
"result-map-tabHaobanGroupChatPlanOwnerLog"
>
SELECT
<include
refid=
"Base_Column_List"
/>
FROM tab_haoban_group_chat_plan_owner_log WHERE create_time >= DATE_ADD(NOW(),INTERVAL -60 day) and send_time is null and delete_flag = 0
</select>
<select
id=
"listPage"
parameterType=
"com.gic.haoban.manage.api.dto.qdto.chat.GroupChatPlanSearchQDTO"
resultType=
"com.gic.haoban.manage.api.dto.chat.GroupChatPlanOwnerLogDTO"
>
select
b.staff_name staffName ,
...
...
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/controller/StaffController.java
View file @
9d6aa264
...
...
@@ -145,6 +145,7 @@ public class StaffController extends WebBaseController {
*/
@RequestMapping
(
"staff-list"
)
public
HaobanResponse
staffList
(
String
departmentId
,
List
<
String
>
departmentIdList
,
Integer
activeFlag
,
Integer
relationFlag
,
String
keyWord
,
...
...
@@ -156,7 +157,6 @@ public class StaffController extends WebBaseController {
if
(
departmentDTO
!=
null
)
{
String
parentDepartmentId
=
departmentDTO
.
getParentDepartmentId
();
if
(!
"0"
.
equals
(
parentDepartmentId
))
{
// 部门
departmentIds
=
departmentApiService
.
listSonDeptIdsByDepartmentId
(
departmentId
,
wxEnterpriseId
);
}
}
...
...
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/controller/chat/GroupChatController.java
View file @
9d6aa264
...
...
@@ -3,7 +3,6 @@ package com.gic.haoban.manage.web.controller.chat;
import
java.util.List
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
...
...
@@ -14,7 +13,6 @@ import com.gic.commons.webapi.reponse.RestResponse;
import
com.gic.haoban.base.api.common.pojo.dto.WebLoginDTO
;
import
com.gic.haoban.common.utils.AuthWebRequestUtil
;
import
com.gic.haoban.manage.api.dto.chat.GroupChatDTO
;
import
com.gic.haoban.manage.api.dto.chat.GroupChatHmDTO
;
import
com.gic.haoban.manage.api.dto.chat.GroupChatOwnerDTO
;
import
com.gic.haoban.manage.api.dto.chat.GroupChatOwnerHistoryDTO
;
import
com.gic.haoban.manage.api.dto.chat.GroupChatUserDTO
;
...
...
@@ -38,8 +36,25 @@ public class GroupChatController {
@Autowired
private
GroupChatApiService
groupChatApiService
;
@RequestMapping
(
"get-set-gic-flag"
)
public
RestResponse
<
Object
>
getFlag
()
{
WebLoginDTO
loginUser
=
AuthWebRequestUtil
.
getLoginUser
();
String
wxEnterpriseId
=
loginUser
.
getWxEnterpriseId
();
ServiceResponse
<
Boolean
>
resp
=
this
.
groupChatApiService
.
getSetGicFlag
(
wxEnterpriseId
);
return
RestResponse
.
successResult
(
resp
.
getResult
());
}
/**
*
* @Title: save
* @Description: 认领gic
* @author xugh
* @param groupChatIdList
* @return
* @throws
*/
@RequestMapping
(
"set-gic-enterprise"
)
public
RestResponse
<
Object
>
save
(
@RequestBody
GroupChatHmDTO
dto
)
{
public
RestResponse
<
Object
>
save
(
List
<
Long
>
groupChatIdList
)
{
WebLoginDTO
loginUser
=
AuthWebRequestUtil
.
getLoginUser
();
String
wxEnterpriseId
=
loginUser
.
getWxEnterpriseId
();
String
enterpriseId
=
loginUser
.
getEnterpriseId
();
...
...
@@ -84,12 +99,21 @@ public class GroupChatController {
ServiceResponse
<
Page
<
GroupChatOwnerDTO
>>
resp
=
this
.
groupChatApiService
.
listOwnerPage
(
qdto
,
basePageInfo
);
return
RestResponse
.
successResult
(
resp
.
getResult
());
}
@RequestMapping
(
"owner-history"
)
public
RestResponse
<
Object
>
ownerHistory
(
Long
groupChatId
)
{
WebLoginDTO
loginUser
=
AuthWebRequestUtil
.
getLoginUser
();
String
wxEnterpriseId
=
loginUser
.
getWxEnterpriseId
()
;
ServiceResponse
<
List
<
GroupChatOwnerHistoryDTO
>>
resp
=
this
.
groupChatApiService
.
listOwnerHistory
(
groupChatId
,
wxEnterpriseId
)
;
String
wxEnterpriseId
=
loginUser
.
getWxEnterpriseId
();
ServiceResponse
<
List
<
GroupChatOwnerHistoryDTO
>>
resp
=
this
.
groupChatApiService
.
listOwnerHistory
(
groupChatId
,
wxEnterpriseId
);
return
RestResponse
.
successResult
(
resp
.
getResult
());
}
@RequestMapping
(
"transfer"
)
public
RestResponse
<
Object
>
transfer
(
String
staffId
,
List
<
Long
>
groupChatIdList
)
{
WebLoginDTO
loginUser
=
AuthWebRequestUtil
.
getLoginUser
();
String
wxEnterpriseId
=
loginUser
.
getWxEnterpriseId
();
ServiceResponse
<
Void
>
resp
=
this
.
groupChatApiService
.
transfer
(
wxEnterpriseId
,
staffId
,
groupChatIdList
);
return
RestResponse
.
successResult
(
resp
.
getResult
());
}
...
...
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