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
1d8d4df0
Commit
1d8d4df0
authored
Nov 23, 2023
by
徐高华
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature/202310月零散迭代' into 'master'
Feature/202310月零散迭代 See merge request
!1548
parents
237df35a
d8ab13d1
Show whitespace changes
Inline
Side-by-side
Showing
47 changed files
with
652 additions
and
65 deletions
+652
-65
GroupChatDataDTO.java
.../com/gic/haoban/manage/api/dto/chat/GroupChatDataDTO.java
+11
-0
GroupChatPlanDTO.java
.../com/gic/haoban/manage/api/dto/chat/GroupChatPlanDTO.java
+21
-0
GroupChatUserDTO.java
.../com/gic/haoban/manage/api/dto/chat/GroupChatUserDTO.java
+18
-0
ChatDataSearchQDTO.java
...c/haoban/manage/api/dto/qdto/chat/ChatDataSearchQDTO.java
+19
-0
GroupChatPlanSearchQDTO.java
...ban/manage/api/dto/qdto/chat/GroupChatPlanSearchQDTO.java
+10
-0
ChannelCodeEnum.java
...java/com/gic/haoban/manage/api/enums/ChannelCodeEnum.java
+5
-3
HaobanTimerApiService.java
.../gic/haoban/manage/api/service/HaobanTimerApiService.java
+7
-0
TabHaobanStaffClerkRelationMapper.java
...service/dao/mapper/TabHaobanStaffClerkRelationMapper.java
+6
-0
GroupChatDataMapper.java
...n/manage/service/dao/mapper/chat/GroupChatDataMapper.java
+6
-0
GroupChatOwnerMapper.java
.../manage/service/dao/mapper/chat/GroupChatOwnerMapper.java
+9
-0
GroupChatPlanMapper.java
...n/manage/service/dao/mapper/chat/GroupChatPlanMapper.java
+3
-0
GroupChatUserMapper.java
...n/manage/service/dao/mapper/chat/GroupChatUserMapper.java
+13
-1
TabGroupChatData.java
...c/haoban/manage/service/entity/chat/TabGroupChatData.java
+10
-0
TabGroupChatPlan.java
...c/haoban/manage/service/entity/chat/TabGroupChatPlan.java
+21
-0
TabGroupChatUser.java
...c/haoban/manage/service/entity/chat/TabGroupChatUser.java
+9
-0
GroupChatPlanBO.java
...c/haoban/manage/service/pojo/bo/chat/GroupChatPlanBO.java
+21
-0
UserQuitBO.java
...om/gic/haoban/manage/service/pojo/bo/chat/UserQuitBO.java
+26
-0
StaffClerkBindLogService.java
...oban/manage/service/service/StaffClerkBindLogService.java
+1
-1
GroupChatDataService.java
...ban/manage/service/service/chat/GroupChatDataService.java
+2
-0
GroupChatService.java
.../haoban/manage/service/service/chat/GroupChatService.java
+3
-0
GroupChatDataServiceImpl.java
...e/service/service/chat/impl/GroupChatDataServiceImpl.java
+48
-7
GroupChatPlanServiceImpl.java
...e/service/service/chat/impl/GroupChatPlanServiceImpl.java
+62
-4
GroupChatServiceImpl.java
...anage/service/service/chat/impl/GroupChatServiceImpl.java
+28
-2
StaffClerkBindLogServiceImpl.java
...ge/service/service/impl/StaffClerkBindLogServiceImpl.java
+1
-1
StaffClerkRelationServiceImpl.java
...e/service/service/impl/StaffClerkRelationServiceImpl.java
+12
-1
StaffServiceImpl.java
.../haoban/manage/service/service/impl/StaffServiceImpl.java
+10
-0
HaobanTimerApiServiceImpl.java
...e/service/service/out/impl/HaobanTimerApiServiceImpl.java
+9
-0
MessageApiServiceImpl.java
...anage/service/service/out/impl/MessageApiServiceImpl.java
+2
-2
StaffApiServiceImpl.java
.../manage/service/service/out/impl/StaffApiServiceImpl.java
+16
-8
StaffClerkRelationApiServiceImpl.java
...ce/service/out/impl/StaffClerkRelationApiServiceImpl.java
+8
-3
GroupChatPlanApiServiceImpl.java
...ce/service/out/impl/chat/GroupChatPlanApiServiceImpl.java
+0
-1
applicationContext-conf.xml
...e3-service/src/main/resources/applicationContext-conf.xml
+2
-1
TabHaobanStaffClerkRelationMapper.xml
...in/resources/mapper/TabHaobanStaffClerkRelationMapper.xml
+23
-1
GroupChatDataMapper.xml
...ce/src/main/resources/mapper/chat/GroupChatDataMapper.xml
+19
-10
GroupChatOwnerMapper.xml
...e/src/main/resources/mapper/chat/GroupChatOwnerMapper.xml
+31
-0
GroupChatPlanMapper.xml
...ce/src/main/resources/mapper/chat/GroupChatPlanMapper.xml
+13
-4
GroupChatPlanOwnerLogMapper.xml
...ain/resources/mapper/chat/GroupChatPlanOwnerLogMapper.xml
+5
-0
GroupChatUserMapper.xml
...ce/src/main/resources/mapper/chat/GroupChatUserMapper.xml
+13
-2
StaffController.java
...com/gic/haoban/manage/web/controller/StaffController.java
+14
-5
TestController.java
.../com/gic/haoban/manage/web/controller/TestController.java
+57
-4
GroupChatController.java
...aoban/manage/web/controller/chat/GroupChatController.java
+2
-2
GroupChatPlanController.java
...n/manage/web/controller/chat/GroupChatPlanController.java
+1
-1
GroupChatDataVO.java
...va/com/gic/haoban/manage/web/vo/chat/GroupChatDataVO.java
+9
-0
GroupChatPlanVO.java
...va/com/gic/haoban/manage/web/vo/chat/GroupChatPlanVO.java
+21
-0
GroupChatUserQuitVO.java
...om/gic/haoban/manage/web/vo/chat/GroupChatUserQuitVO.java
+10
-0
WxStaffController.java
...m/gic/haoban/manage/web/controller/WxStaffController.java
+11
-0
GroupChatPlanController.java
...manage/web/controller/haoban/GroupChatPlanController.java
+4
-1
No files found.
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/dto/chat/GroupChatDataDTO.java
View file @
1d8d4df0
...
...
@@ -37,8 +37,19 @@ public class GroupChatDataDTO implements Serializable{
private
Integer
msgTotal
;
/**截至当天新增迁移群数(仅教培行业返回)*/
private
Integer
migrateTraineeChatCnt
;
private
Integer
quitUserCount
;
private
java
.
util
.
Date
createTime
;
public
Integer
getQuitUserCount
()
{
return
quitUserCount
;
}
public
void
setQuitUserCount
(
Integer
quitUserCount
)
{
this
.
quitUserCount
=
quitUserCount
;
}
public
String
getStaffName
()
{
return
staffName
;
}
...
...
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/dto/chat/GroupChatPlanDTO.java
View file @
1d8d4df0
...
...
@@ -58,6 +58,27 @@ public class GroupChatPlanDTO implements Serializable {
*/
private
Integer
materialFrom
;
// 是否发送全部
private
int
sendAllFlag
;
// 所有的群发条件
private
String
allSearchParams
;
public
String
getAllSearchParams
()
{
return
allSearchParams
;
}
public
void
setAllSearchParams
(
String
allSearchParams
)
{
this
.
allSearchParams
=
allSearchParams
;
}
public
int
getSendAllFlag
()
{
return
sendAllFlag
;
}
public
void
setSendAllFlag
(
int
sendAllFlag
)
{
this
.
sendAllFlag
=
sendAllFlag
;
}
public
String
getDelStaffIdList
()
{
return
delStaffIdList
;
}
...
...
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/dto/chat/GroupChatUserDTO.java
View file @
1d8d4df0
...
...
@@ -54,9 +54,27 @@ public class GroupChatUserDTO implements Serializable{
private
String
joinState
;
private
Integer
adminFlag
;
private
String
chatName
;
private
String
staffId
;
private
String
staffName
;
private
String
wxChatId
;
// 退群时的群主门店
private
String
quitStaffStore
;
public
String
getQuitStaffStore
()
{
return
quitStaffStore
;
}
public
void
setQuitStaffStore
(
String
quitStaffStore
)
{
this
.
quitStaffStore
=
quitStaffStore
;
}
public
String
getStaffId
()
{
return
staffId
;
}
public
void
setStaffId
(
String
staffId
)
{
this
.
staffId
=
staffId
;
}
public
String
getWxChatId
()
{
return
wxChatId
;
...
...
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/dto/qdto/chat/ChatDataSearchQDTO.java
View file @
1d8d4df0
...
...
@@ -15,6 +15,25 @@ public class ChatDataSearchQDTO extends PageQo implements Serializable {
private
Date
endDate
;
private
List
<
String
>
staffIdList
;
private
String
sortType
=
"desc"
;
private
String
sortColumn
=
"chatTotal"
;
public
String
getSortType
()
{
return
sortType
;
}
public
void
setSortType
(
String
sortType
)
{
this
.
sortType
=
sortType
;
}
public
String
getSortColumn
()
{
return
sortColumn
;
}
public
void
setSortColumn
(
String
sortColumn
)
{
this
.
sortColumn
=
sortColumn
;
}
public
String
getWxEnterpriseId
()
{
return
wxEnterpriseId
;
}
...
...
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/dto/qdto/chat/GroupChatPlanSearchQDTO.java
View file @
1d8d4df0
...
...
@@ -28,6 +28,16 @@ public class GroupChatPlanSearchQDTO implements Serializable {
private
List
<
String
>
creatorIdList
;
private
String
wxChatId
;
private
String
searchClerkId
;
// clerkTaskStatus 1待处理 2已处理/已失效
private
int
clerkTaskStatus
;
public
int
getClerkTaskStatus
()
{
return
clerkTaskStatus
;
}
public
void
setClerkTaskStatus
(
int
clerkTaskStatus
)
{
this
.
clerkTaskStatus
=
clerkTaskStatus
;
}
public
String
getSearchClerkId
()
{
return
searchClerkId
;
...
...
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/enums/ChannelCodeEnum.java
View file @
1d8d4df0
...
...
@@ -14,12 +14,14 @@ public enum ChannelCodeEnum {
ADMIN_UNBIND
(
2001
,
"后台管理员解绑"
),
SELF_UNBIND
(
2002
,
"好办小程序解绑"
),
SYNC_UNBIND
(
2003
,
"
GIC
同步解绑"
),
SYNC_UNBIND
(
2003
,
"
门店
同步解绑"
),
WEIXIN_DEL
(
2004
,
"员工离职解绑"
),
AUDIT_UNBIND
(
2005
,
"后台审核解绑"
),
RIGHT_CHANGE_UNBIND
(
2006
,
"好办门店权限变更解绑"
),
STORE_CHANGE_UNBIND
(
2007
,
"GIC门店变更解绑"
),
GIC_CLERK_DEL_UNBIND
(
2008
,
"GIC导购删除解绑"
),
STORE_CHANGE_UNBIND
(
2007
,
"导购变更门店解绑"
),
GIC_CLERK_DEL_UNBIND
(
2008
,
"导购删除解绑"
),
QW_DEL_UNBIND
(
2009
,
"企微通讯录成员删除解绑"
),
;
private
int
code
;
private
String
name
;
...
...
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/service/HaobanTimerApiService.java
View file @
1d8d4df0
...
...
@@ -105,4 +105,11 @@ public interface HaobanTimerApiService {
*/
public
ServiceResponse
<
Void
>
welcomeForMember
(
String
params
);
/**
* 退群统计
* @param params
* @return
*/
public
ServiceResponse
<
Void
>
groupChatQuitTimer
(
String
params
)
;
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/dao/mapper/TabHaobanStaffClerkRelationMapper.java
View file @
1d8d4df0
...
...
@@ -29,6 +29,9 @@ public interface TabHaobanStaffClerkRelationMapper {
StaffClerkRelationDTO
getOneByStoreIdAndStaffId
(
@Param
(
"storeId"
)
String
storeId
,
@Param
(
"staffId"
)
String
staffId
);
StaffClerkRelationDTO
getByStaffAndClerk
(
@Param
(
"staffId"
)
String
staffId
,
@Param
(
"clerkId"
)
String
clerkId
)
;
int
changeStatusByClerkId
(
@Param
(
"clerkId"
)
String
clerkId
,
@Param
(
"status"
)
Integer
status
);
//无效接口删除
...
...
@@ -129,5 +132,7 @@ public interface TabHaobanStaffClerkRelationMapper {
*/
List
<
StaffClerkRelationDTO
>
listByWxEnterpriseIdAndStaffId
(
@Param
(
"wxEnterpriseId"
)
String
wxEnterpriseId
,
@Param
(
"staffIdList"
)
Set
<
String
>
staffIdList
);
List
<
StaffClerkRelationDTO
>
listByStaffIdsForClerk
(
@Param
(
"wxEnterpriseId"
)
String
wxEnterpriseId
,
@Param
(
"staffIdList"
)
Set
<
String
>
staffIdList
);
List
<
String
>
listAllStaffIdByEnterpriseId
(
@Param
(
"enterpriseId"
)
String
enterpriseId
,
@Param
(
"wxEnterpriseId"
)
String
wxEnterpriseId
);
}
\ No newline at end of file
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/dao/mapper/chat/GroupChatDataMapper.java
View file @
1d8d4df0
package
com
.
gic
.
haoban
.
manage
.
service
.
dao
.
mapper
.
chat
;
import
java.util.Date
;
import
java.util.List
;
import
com.gic.haoban.manage.api.dto.chat.GroupChatDataDTO
;
import
com.gic.haoban.manage.api.dto.qdto.chat.ChatDataSearchQDTO
;
import
com.gic.haoban.manage.service.entity.chat.TabGroupChatData
;
import
org.apache.ibatis.annotations.Param
;
/**
*
...
...
@@ -24,4 +26,7 @@ public interface GroupChatDataMapper {
public
List
<
GroupChatDataDTO
>
listForChat
(
ChatDataSearchQDTO
qdto
);
public
List
<
GroupChatDataDTO
>
listStaffData
(
ChatDataSearchQDTO
qdto
);
public
void
updateQuitCount
(
@Param
(
"wxEnterpriseId"
)
String
wxEnterpriseId
,
@Param
(
"date"
)
Date
date
,
@Param
(
"staffId"
)
String
staffId
,
@Param
(
"quitCount"
)
int
quitCount
)
;
}
\ No newline at end of file
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/dao/mapper/chat/GroupChatOwnerMapper.java
View file @
1d8d4df0
...
...
@@ -27,6 +27,11 @@ public interface GroupChatOwnerMapper {
public
List
<
GroupChatOwnerDTO
>
listOwner
(
OwnerSearchQDTO
qdto
);
public
List
<
GroupChatOwnerDTO
>
listOwnerPage
(
@Param
(
"wxEnterpriseId"
)
String
wxEnterpriseId
,
@Param
(
"departmentIdList"
)
List
<
String
>
departmentIdList
,
@Param
(
"searchParams"
)
String
searchParams
,
@Param
(
"startItem"
)
int
startItem
,
@Param
(
"pageSize"
)
int
pageSize
);
public
List
<
GroupChatOwnerDTO
>
listOwnerForStatistic
(
@Param
(
"wxEnterpriseId"
)
String
wxEnterpriseId
,
@Param
(
"startItem"
)
int
startItem
,
@Param
(
"pageSize"
)
int
pageSize
);
...
...
@@ -39,4 +44,7 @@ public interface GroupChatOwnerMapper {
* @throws
*/
public
List
<
GroupChatOwnerDTO
>
dimissionOwnerList
();
public
List
<
String
>
listAllEnterpriseId
()
;
}
\ No newline at end of file
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/dao/mapper/chat/GroupChatPlanMapper.java
View file @
1d8d4df0
...
...
@@ -39,4 +39,6 @@ public interface GroupChatPlanMapper {
@Param
(
"successChatCount"
)
int
successChatCount
,
@Param
(
"failChatCount"
)
int
failChatCount
);
public
void
updateRemark
(
GroupChatPlanDTO
dto
);
public
void
updateStaffCount
(
@Param
(
"planId"
)
Long
planId
,
@Param
(
"staffCount"
)
int
staffCount
)
;
}
\ No newline at end of file
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/dao/mapper/chat/GroupChatUserMapper.java
View file @
1d8d4df0
package
com
.
gic
.
haoban
.
manage
.
service
.
dao
.
mapper
.
chat
;
import
java.util.Date
;
import
java.util.List
;
import
com.gic.haoban.manage.service.pojo.bo.chat.UserQuitBO
;
import
com.gic.haoban.manage.service.pojo.qo.chat.GroupChatUserQO
;
import
org.apache.ibatis.annotations.Param
;
...
...
@@ -24,7 +26,7 @@ public interface GroupChatUserMapper {
public
int
batchInsert
(
@Param
(
"list"
)
List
<
TabGroupChatUser
>
userList
);
public
int
dismiss
(
@Param
(
"idList"
)
List
<
Long
>
chatUserIdList
,
@Param
(
"ownerId"
)
String
ownerId
);
public
int
dismiss
(
@Param
(
"idList"
)
List
<
Long
>
chatUserIdList
,
@Param
(
"ownerId"
)
String
ownerId
,
@Param
(
"quitStaffStore"
)
String
quitStaffStore
);
public
int
update
(
TabGroupChatUser
tabHaobanGroupChatUser
);
...
...
@@ -63,4 +65,13 @@ public interface GroupChatUserMapper {
*/
List
<
TabGroupChatUser
>
queryGroupChatUserList
(
GroupChatUserQO
groupChatUserQO
);
/**
* 退群统计
* @param wxEnterpriseId
* @param start
* @param end
* @return
*/
List
<
UserQuitBO
>
listQuitNum
(
@Param
(
"wxEnterpriseId"
)
String
wxEnterpriseId
,
@Param
(
"start"
)
Date
start
,
@Param
(
"end"
)
Date
end
)
;
}
\ No newline at end of file
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/entity/chat/TabGroupChatData.java
View file @
1d8d4df0
...
...
@@ -38,6 +38,16 @@ public class TabGroupChatData implements Serializable{
private
Integer
migrateTraineeChatCnt
;
private
java
.
util
.
Date
createTime
;
private
Integer
quitUserCount
;
public
Integer
getQuitUserCount
()
{
return
quitUserCount
;
}
public
void
setQuitUserCount
(
Integer
quitUserCount
)
{
this
.
quitUserCount
=
quitUserCount
;
}
public
void
setDataId
(
Long
dataId
){
this
.
dataId
=
dataId
;
}
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/entity/chat/TabGroupChatPlan.java
View file @
1d8d4df0
...
...
@@ -53,6 +53,27 @@ public class TabGroupChatPlan implements Serializable {
*/
private
Integer
materialFrom
;
// 是否发送全部
private
int
sendAllFlag
;
// 所有的群发条件
private
String
allSearchParams
;
public
String
getAllSearchParams
()
{
return
allSearchParams
;
}
public
void
setAllSearchParams
(
String
allSearchParams
)
{
this
.
allSearchParams
=
allSearchParams
;
}
public
int
getSendAllFlag
()
{
return
sendAllFlag
;
}
public
void
setSendAllFlag
(
int
sendAllFlag
)
{
this
.
sendAllFlag
=
sendAllFlag
;
}
public
Integer
getSendFlag
()
{
return
sendFlag
;
}
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/entity/chat/TabGroupChatUser.java
View file @
1d8d4df0
...
...
@@ -55,6 +55,15 @@ public class TabGroupChatUser implements Serializable {
// 0 成员 1群主 2管理员
private
Integer
adminFlag
=
0
;
private
String
quitStaffId
;
private
String
quitStaffStore
;
public
String
getQuitStaffStore
()
{
return
quitStaffStore
;
}
public
void
setQuitStaffStore
(
String
quitStaffStore
)
{
this
.
quitStaffStore
=
quitStaffStore
;
}
public
String
getQuitStaffId
()
{
return
quitStaffId
;
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/pojo/bo/chat/GroupChatPlanBO.java
View file @
1d8d4df0
...
...
@@ -53,6 +53,27 @@ public class GroupChatPlanBO implements Serializable{
* 关联素材来源1好办素材2内容中心
*/
private
Integer
materialFrom
;
// 是否发送全部
private
int
sendAllFlag
;
// 所有的群发条件
private
String
allSearchParams
;
public
String
getAllSearchParams
()
{
return
allSearchParams
;
}
public
void
setAllSearchParams
(
String
allSearchParams
)
{
this
.
allSearchParams
=
allSearchParams
;
}
public
int
getSendAllFlag
()
{
return
sendAllFlag
;
}
public
void
setSendAllFlag
(
int
sendAllFlag
)
{
this
.
sendAllFlag
=
sendAllFlag
;
}
public
Integer
getSendFlag
()
{
return
sendFlag
;
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/pojo/bo/chat/UserQuitBO.java
0 → 100644
View file @
1d8d4df0
package
com
.
gic
.
haoban
.
manage
.
service
.
pojo
.
bo
.
chat
;
import
java.io.Serializable
;
public
class
UserQuitBO
implements
Serializable
{
private
String
staffId
;
private
int
num
;
public
String
getStaffId
()
{
return
staffId
;
}
public
void
setStaffId
(
String
staffId
)
{
this
.
staffId
=
staffId
;
}
public
int
getNum
()
{
return
num
;
}
public
void
setNum
(
int
num
)
{
this
.
num
=
num
;
}
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/StaffClerkBindLogService.java
View file @
1d8d4df0
...
...
@@ -27,7 +27,7 @@ public interface StaffClerkBindLogService {
* @param optStaffId
* @param optType
* @param channelCode
* @param relationId
* @param relationId
导购成员关联表主键
*/
public
void
pushToMq
(
String
staffId
,
String
optStaffId
,
int
optType
,
int
channelCode
,
String
relationId
);
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/chat/GroupChatDataService.java
View file @
1d8d4df0
...
...
@@ -25,4 +25,5 @@ public interface GroupChatDataService {
public
Page
<
GroupChatDataDTO
>
listStaffData
(
ChatDataSearchQDTO
qdto
,
BasePageInfo
basePageInfo
);
void
groupChatQuitTimer
(
String
params
);
}
\ No newline at end of file
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/chat/GroupChatService.java
View file @
1d8d4df0
...
...
@@ -93,6 +93,9 @@ public interface GroupChatService {
*/
public
Page
<
GroupChatOwnerDTO
>
listOwnerPage
(
OwnerSearchQDTO
qdto
,
BasePageInfo
basePageInfo
);
public
List
<
String
>
setDepartIdList
(
String
wxEnterpriseId
,
String
departmentId
)
;
/**
*
* @Title: listOwnerHistory
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/chat/impl/GroupChatDataServiceImpl.java
View file @
1d8d4df0
package
com
.
gic
.
haoban
.
manage
.
service
.
service
.
chat
.
impl
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
com.ctrip.framework.apollo.ConfigService
;
import
com.gic.haoban.manage.service.dao.mapper.chat.GroupChatUserMapper
;
import
com.gic.haoban.manage.service.pojo.bo.chat.UserQuitBO
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.Logger
;
...
...
@@ -57,6 +56,8 @@ public class GroupChatDataServiceImpl implements GroupChatDataService {
private
GroupChatDataMapper
groupChatDataMapper
;
@Autowired
private
WxEnterpriseMapper
wxEnterpriseMapper
;
@Autowired
private
GroupChatUserMapper
groupChatUserMapper
;
@Override
public
List
<
GroupChatDataDTO
>
listForChat
(
ChatDataSearchQDTO
qdto
)
{
...
...
@@ -107,6 +108,7 @@ public class GroupChatDataServiceImpl implements GroupChatDataService {
}
int
pageNum
=
0
;
List
<
GroupChatOwnerDTO
>
list
=
null
;
Date
date
=
DateUtil
.
addDay
(
DateUtil
.
getStartTimeOfDay
(),
-
1
);
while
(
true
)
{
list
=
this
.
groupChatOwnerMapper
.
listOwnerForStatistic
(
wxEnterpriseId
,
pageNum
*
pageSize
,
pageSize
);
if
(
CollectionUtils
.
isEmpty
(
list
))
{
...
...
@@ -125,8 +127,6 @@ public class GroupChatDataServiceImpl implements GroupChatDataService {
staffIdMap
=
list
.
stream
().
collect
(
Collectors
.
toMap
(
GroupChatOwnerDTO:
:
getWxUserId
,
GroupChatOwnerDTO:
:
getStaffId
,
(
k1
,
k2
)
->
k1
));
}
Date
date
=
DateUtil
.
addDay
(
DateUtil
.
getStartTimeOfDay
(),
-
1
);
Long
time
=
date
.
getTime
()
/
1000
;
ServiceResponse
<
List
<
GroupChatQwDataDTO
>>
resp
=
this
.
qywxChatApiService
.
statistic
(
qwDTO
.
getThirdCorpid
(),
qwDTO
.
getSelf3thSecret
(),
userIdList
,
time
,
time
,
qwDTO
.
isSelf
()
,
qwDTO
.
getUrlHost
());
List
<
GroupChatQwDataDTO
>
dataList
=
resp
.
getResult
();
...
...
@@ -165,5 +165,45 @@ public class GroupChatDataServiceImpl implements GroupChatDataService {
break
;
}
}
Date
end
=
DateUtil
.
getEndTimeOfDay
(
date
)
;
List
<
UserQuitBO
>
quitList
=
this
.
groupChatUserMapper
.
listQuitNum
(
wxEnterpriseId
,
date
,
end
)
;
if
(
CollectionUtils
.
isNotEmpty
(
quitList
))
{
for
(
UserQuitBO
bo
:
quitList
)
{
if
(
StringUtils
.
isNotBlank
(
bo
.
getStaffId
()))
{
this
.
groupChatDataMapper
.
updateQuitCount
(
wxEnterpriseId
,
date
,
bo
.
getStaffId
(),
bo
.
getNum
());
}
}
}
}
@Override
public
void
groupChatQuitTimer
(
String
params
)
{
List
<
String
>
wxEnterpriseIdList
=
new
ArrayList
<>();
if
(
"-1"
.
equals
(
params
))
{
wxEnterpriseIdList
=
this
.
groupChatOwnerMapper
.
listAllEnterpriseId
()
;
}
else
{
wxEnterpriseIdList
.
add
(
params
)
;
}
com
.
ctrip
.
framework
.
apollo
.
Config
config
=
ConfigService
.
getAppConfig
();
String
key
=
config
.
getProperty
(
"group_chat_quit_data"
,
""
);
int
start
=
Integer
.
valueOf
(
key
.
split
(
"_"
)[
0
])
;
int
len
=
Integer
.
valueOf
(
key
.
split
(
"_"
)[
1
])
;
Date
startDate
=
DateUtil
.
addDay
(
DateUtil
.
getStartTimeOfDay
(),
-
start
);
logger
.
info
(
"groupChatQuitTimer={}"
,
key
);
for
(
int
i
=
0
;
i
<
len
;
i
++)
{
Date
date
=
DateUtil
.
addDay
(
startDate
,
-(
i
+
1
));
Date
end
=
DateUtil
.
getEndTimeOfDay
(
date
)
;
for
(
String
wxEnterpriseId
:
wxEnterpriseIdList
)
{
List
<
UserQuitBO
>
quitList
=
this
.
groupChatUserMapper
.
listQuitNum
(
wxEnterpriseId
,
date
,
end
)
;
if
(
CollectionUtils
.
isNotEmpty
(
quitList
))
{
for
(
UserQuitBO
bo
:
quitList
)
{
if
(
StringUtils
.
isNotBlank
(
bo
.
getStaffId
()))
{
this
.
groupChatDataMapper
.
updateQuitCount
(
wxEnterpriseId
,
date
,
bo
.
getStaffId
(),
bo
.
getNum
());
}
}
}
}
}
logger
.
info
(
"groupChatQuitTimer-end={}"
,
key
);
}
}
\ No newline at end of file
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/chat/impl/GroupChatPlanServiceImpl.java
View file @
1d8d4df0
...
...
@@ -10,7 +10,12 @@ import java.util.stream.Collectors;
import
com.gic.enterprise.api.dto.EnterpriseDTO
;
import
com.gic.enterprise.api.service.EnterpriseService
;
import
com.gic.haoban.manage.api.dto.ContentMaterialDTO
;
import
com.gic.haoban.manage.api.dto.StaffClerkRelationDTO
;
import
com.gic.haoban.manage.api.dto.chat.ChatContentDTO
;
import
com.gic.haoban.manage.api.dto.chat.GroupChatOwnerDTO
;
import
com.gic.haoban.manage.api.dto.qdto.chat.OwnerSearchQDTO
;
import
com.gic.haoban.manage.service.dao.mapper.TabHaobanStaffClerkRelationMapper
;
import
com.gic.haoban.manage.service.dao.mapper.chat.GroupChatOwnerMapper
;
import
com.gic.haoban.manage.service.util.StreamUtils
;
import
com.gic.thirdparty.cloudfile.CloudFileUtil
;
import
com.gic.thirdparty.cloudfile.enums.CloudFileBusinessOptEnum
;
...
...
@@ -108,6 +113,10 @@ public class GroupChatPlanServiceImpl implements GroupChatPlanService {
private
PendingTaskService
pendingTaskService
;
@Autowired
private
EnterpriseService
enterpriseService
;
@Autowired
private
GroupChatOwnerMapper
groupChatOwnerMapper
;
@Autowired
private
TabHaobanStaffClerkRelationMapper
tabHaobanStaffClerkRelationMapper
;
private
static
GicMQClient
mqClient
=
GICMQClientUtil
.
getClientInstance
();
...
...
@@ -154,13 +163,15 @@ public class GroupChatPlanServiceImpl implements GroupChatPlanService {
planId
=
UniqueIdUtils
.
uniqueLong
();
entity
.
setPlanId
(
planId
);
entity
.
setStatusFlag
(
1
);
if
(
StringUtils
.
isNotEmpty
(
staffIdList
))
{
entity
.
setStaffCount
(
staffIdList
.
split
(
","
).
length
);
}
else
{
entity
.
setStaffCount
(
0
);
}
entity
.
setSendCount
(
0
);
entity
.
setSuccessChatCount
(
0
);
entity
.
setFailChatCount
(
0
);
this
.
groupChatPlanMapper
.
insert
(
entity
);
// 新增群主日志
this
.
groupChatPlanOwnerLogService
.
batchAdd
(
dto
.
getStaffIdList
(),
entity
);
}
else
{
TabGroupChatPlan
old
=
this
.
groupChatPlanMapper
.
selectById
(
planId
);
int
staffCount
=
old
.
getStaffCount
();
...
...
@@ -174,9 +185,9 @@ public class GroupChatPlanServiceImpl implements GroupChatPlanService {
this
.
groupChatPlanMapper
.
updateById
(
entity
);
// 删除本次删除的
this
.
groupChatPlanOwnerLogService
.
deleteByStaffIds
(
planId
,
dto
.
getDelStaffIdList
());
// 新增本次新增的
this
.
groupChatPlanOwnerLogService
.
batchAdd
(
staffIdList
,
entity
);
}
// 新增群主日志
this
.
groupChatPlanOwnerLogService
.
batchAdd
(
staffIdList
,
entity
);
// 立即发送
if
(
entity
.
getSendType
()
==
1
)
{
this
.
addOrDelTimer
(
planId
,
entity
.
getSendTime
(),
0
);
...
...
@@ -275,6 +286,15 @@ public class GroupChatPlanServiceImpl implements GroupChatPlanService {
return
retPage
;
}
private
List
<
String
>
filterNoClerk
(
String
wxEnterpriseId
,
List
<
GroupChatOwnerDTO
>
list
)
{
Set
<
String
>
set
=
list
.
stream
().
map
(
o
->
o
.
getStaffId
()).
collect
(
Collectors
.
toSet
());
List
<
StaffClerkRelationDTO
>
stafIdList
=
this
.
tabHaobanStaffClerkRelationMapper
.
listByStaffIdsForClerk
(
wxEnterpriseId
,
set
)
;
if
(
CollectionUtils
.
isNotEmpty
(
stafIdList
))
{
return
stafIdList
.
stream
().
map
(
o
->
o
.
getStaffId
()).
collect
(
Collectors
.
toList
());
}
return
Collections
.
emptyList
()
;
}
@Override
public
void
doPlan
(
Long
planId
)
{
logger
.
info
(
"开始群群发发送{}"
,
planId
);
...
...
@@ -329,6 +349,44 @@ public class GroupChatPlanServiceImpl implements GroupChatPlanService {
}
int
pageNum
=
0
;
List
<
TabGroupChatPlanOwnerLog
>
ownerList
=
null
;
int
sendAlFlag
=
plan
.
getSendAllFlag
()
;
String
allSearchParams
=
plan
.
getAllSearchParams
()
;
// 发送全部群主
if
(
sendAlFlag
==
1
)
{
int
ownerPageNo
=
0
;
int
ownerPageSize
=
500
;
int
totalCount
=
0
;
List
<
GroupChatOwnerDTO
>
list
=
null
;
String
searchParams
=
null
;
List
<
String
>
departmentIdList
=
null
;
if
(
StringUtils
.
isNotEmpty
(
allSearchParams
))
{
JSONObject
json
=
JSONObject
.
parseObject
(
allSearchParams
)
;
searchParams
=
json
.
getString
(
"searchParams"
)
;
String
dpid
=
json
.
getString
(
"departmentId"
)
;
if
(
StringUtils
.
isNotBlank
(
dpid
))
{
departmentIdList
=
this
.
groupChatService
.
setDepartIdList
(
wxEnterpriseId
,
dpid
)
;
}
if
(
StringUtils
.
isNotBlank
(
searchParams
))
{
searchParams
=
"%"
+
searchParams
.
trim
()
+
"%"
;
}
}
while
(
true
)
{
if
(
null
!=
searchParams
||
null
!=
departmentIdList
)
{
list
=
this
.
groupChatOwnerMapper
.
listOwnerPage
(
wxEnterpriseId
,
departmentIdList
,
searchParams
,
ownerPageNo
*
ownerPageSize
,
ownerPageSize
);
}
else
{
list
=
this
.
groupChatOwnerMapper
.
listOwnerForStatistic
(
wxEnterpriseId
,
ownerPageNo
*
ownerPageSize
,
ownerPageSize
);
}
if
(
CollectionUtils
.
isEmpty
(
list
))
{
break
;
}
ownerPageNo
++;
logger
.
info
(
"全部,群主数={},{},过滤后={}"
,
wxEnterpriseId
,
list
.
size
());
String
staffIds
=
list
.
stream
().
map
(
o
->
o
.
getStaffId
()).
collect
(
Collectors
.
joining
(
","
))
;
totalCount
=
totalCount
+
list
.
size
()
;
this
.
groupChatPlanOwnerLogService
.
batchAdd
(
staffIds
,
plan
);
}
this
.
groupChatPlanMapper
.
updateStaffCount
(
planId
,
totalCount
);
}
while
(
true
)
{
ownerList
=
this
.
groupChatPlanOwnerLogMapper
.
listForDoPlan
(
planId
,
pageNum
*
pageSize
,
pageSize
);
if
(
CollectionUtils
.
isEmpty
(
ownerList
))
{
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/chat/impl/GroupChatServiceImpl.java
View file @
1d8d4df0
...
...
@@ -10,6 +10,8 @@ import java.util.Map;
import
java.util.Set
;
import
java.util.stream.Collectors
;
import
com.gic.enterprise.api.dto.StoreDTO
;
import
com.gic.enterprise.api.service.StoreService
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.slf4j.Logger
;
...
...
@@ -122,6 +124,8 @@ public class GroupChatServiceImpl implements GroupChatService {
private
DepartmentService
departmentService
;
@Autowired
private
GroupChatInitMapper
groupChatInitMapper
;
@Autowired
private
StoreService
storeService
;
private
static
GicMQClient
mqClient
=
GICMQClientUtil
.
getClientInstance
();
...
...
@@ -685,6 +689,27 @@ public class GroupChatServiceImpl implements GroupChatService {
if
(
RedisUtil
.
isLocked
(
lockKeyDetail
))
{
return
;
}
String
staffId
=
chat
.
getStaffId
()
;
String
storeName
=
""
;
if
(
null
!=
staffId
)
{
List
<
StaffClerkRelationDTO
>
staffList
=
this
.
staffClerkRelationService
.
listByStaffId
(
wxEnterpriseId
,
staffId
)
;
if
(
CollectionUtils
.
isNotEmpty
(
staffList
))
{
List
<
String
>
storeIdList
=
staffList
.
stream
().
filter
(
o
->
StringUtils
.
isNotEmpty
(
o
.
getStoreId
())).
map
(
o
->
o
.
getStoreId
()).
collect
(
Collectors
.
toList
())
;
if
(
CollectionUtils
.
isNotEmpty
(
storeIdList
))
{
String
[]
arr
=
new
String
[
storeIdList
.
size
()]
;
for
(
int
i
=
0
;
i
<
storeIdList
.
size
();
i
++)
{
arr
[
i
]
=
storeIdList
.
get
(
i
)
;
}
List
<
StoreDTO
>
storeList
=
this
.
storeService
.
getStores
(
arr
)
;
if
(
CollectionUtils
.
isNotEmpty
(
storeList
))
{
storeName
=
storeList
.
stream
().
map
(
o
->
o
.
getStoreName
()).
collect
(
Collectors
.
joining
(
"、"
))
;
}
}
}
}
RedisUtil
.
lock
(
lockKeyDetail
,
30L
);
List
<
GroupChatDetailMemberDTO
>
qwUserList
=
detail
.
getMember_list
();
// 当前群列表
...
...
@@ -730,7 +755,7 @@ public class GroupChatServiceImpl implements GroupChatService {
// 流水会员数
int
quitMemberCount
=
0
;
if
(
CollectionUtils
.
isNotEmpty
(
deleteIdList
))
{
this
.
groupChatUserMapper
.
dismiss
(
deleteIdList
,
chat
.
getStaffId
());
this
.
groupChatUserMapper
.
dismiss
(
deleteIdList
,
chat
.
getStaffId
()
,
storeName
);
quitCount
=
deleteIdList
.
size
();
for
(
String
userId
:
deleteUserIdList
)
{
TabGroupChatUser
user
=
nowUserMap
.
get
(
userId
);
...
...
@@ -1050,7 +1075,8 @@ public class GroupChatServiceImpl implements GroupChatService {
return
retPage
;
}
private
List
<
String
>
setDepartIdList
(
String
wxEnterpriseId
,
String
departmentId
)
{
@Override
public
List
<
String
>
setDepartIdList
(
String
wxEnterpriseId
,
String
departmentId
)
{
List
<
String
>
departmentIdList
=
new
ArrayList
<>();
if
(
StringUtils
.
isNotBlank
(
departmentId
))
{
TabHaobanDepartment
department
=
this
.
departmentService
.
selectById
(
departmentId
);
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/impl/StaffClerkBindLogServiceImpl.java
View file @
1d8d4df0
...
...
@@ -47,8 +47,8 @@ public class StaffClerkBindLogServiceImpl implements StaffClerkBindLogService {
public
void
pushToMq
(
String
staffId
,
String
optStaffId
,
int
optType
,
int
channelCode
,
String
relationId
)
{
StaffClerkBindLogInfoDTO
infoDTO
=
new
StaffClerkBindLogInfoDTO
();
infoDTO
.
setChannelCode
(
channelCode
);
infoDTO
.
setOptStaffId
(
optStaffId
);
infoDTO
.
setChannelCode
(
channelCode
);
infoDTO
.
setOptType
(
optType
);
infoDTO
.
setRelationId
(
relationId
);
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/impl/StaffClerkRelationServiceImpl.java
View file @
1d8d4df0
...
...
@@ -8,10 +8,12 @@ import java.util.HashMap;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
import
java.util.concurrent.TimeUnit
;
import
java.util.stream.Collectors
;
import
com.gic.commons.util.DateUtil
;
import
com.gic.haoban.manage.service.entity.*
;
import
com.gic.redis.data.util.RedisUtil
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.Logger
;
...
...
@@ -107,7 +109,7 @@ public class StaffClerkRelationServiceImpl implements StaffClerkRelationService
public
boolean
delBind
(
String
oldClerkId
,
String
optStaffId
,
int
channelCode
,
String
newClerkId
,
String
wxEnterpriseId
)
{
boolean
changeClerkFlag
=
StringUtils
.
isNotEmpty
(
newClerkId
)
;
logger
.
info
(
"导购解绑/换导购={},oldClerkId={},optStaffId={}"
,
changeClerkFlag
,
oldClerkId
,
optStaffId
);
if
(
StringUtils
.
isNotEmpty
(
optStaffId
)
&&
"-1"
.
equals
(
optStaffId
))
{
if
(
StringUtils
.
isNotEmpty
(
optStaffId
)
&&
!
"-1"
.
equals
(
optStaffId
))
{
TabHaobanStaff
staff
=
this
.
staffService
.
selectById
(
optStaffId
)
;
if
(
null
!=
staff
)
{
wxEnterpriseId
=
staff
.
getWxEnterpriseId
()
;
...
...
@@ -355,8 +357,17 @@ public class StaffClerkRelationServiceImpl implements StaffClerkRelationService
staffClerkRelation
.
setStatusFlag
(
1
);
staffClerkRelation
.
setOpenConcatFlag
(
1
);
staffClerkRelation
.
setManageFlag
(
manageFlag
==
null
?
0
:
manageFlag
);
TabHaobanStaffClerkRelation
relation
=
EntityUtil
.
changeEntityByJSON
(
TabHaobanStaffClerkRelation
.
class
,
staffClerkRelation
);
String
lockKey
=
"staffclerk:"
+
staffClerkRelation
.
getStaffId
()+
staffClerkRelation
.
getClerkId
()
;
RedisUtil
.
lock
(
lockKey
,
2L
,
TimeUnit
.
SECONDS
,
2L
);
StaffClerkRelationDTO
dto
=
this
.
mapper
.
getByStaffAndClerk
(
staffClerkRelation
.
getStaffId
(),
staffClerkRelation
.
getClerkId
())
;
if
(
null
!=
dto
)
{
RedisUtil
.
unlock
(
lockKey
);
return
dto
.
getStaffClerkRelationId
()
;
}
mapper
.
insert
(
relation
);
RedisUtil
.
unlock
(
lockKey
);
return
uuid
;
}
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/impl/StaffServiceImpl.java
View file @
1d8d4df0
...
...
@@ -20,6 +20,7 @@ import com.gic.haoban.manage.service.entity.fee.TabHaobanQywxFeeAccountStaff;
import
com.gic.haoban.manage.service.pojo.bo.StaffListBO
;
import
com.gic.haoban.manage.service.service.StaffService
;
import
com.gic.haoban.manage.service.service.fee.HaobanQywxFeeAccountStaffService
;
import
com.gic.redis.data.util.RedisUtil
;
import
com.gic.wechat.api.dto.qywx.fee.AccountListDTO
;
import
com.gic.wechat.api.dto.qywx.fee.AccountListResponseDTO
;
import
com.gic.wechat.api.dto.qywx.fee.ActiveInfoUserResponseDTO
;
...
...
@@ -34,6 +35,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Service
;
import
java.util.*
;
import
java.util.concurrent.TimeUnit
;
import
java.util.stream.Collectors
;
@Service
...
...
@@ -83,7 +85,15 @@ public class StaffServiceImpl implements StaffService {
}
tab
.
setStatusFlag
(
1
);
tab
.
setAddNum
(
0
);
String
lockKey
=
"tabstaff:"
+
tab
.
getWxEnterpriseId
()+
tab
.
getWxUserId
()
;
RedisUtil
.
lock
(
lockKey
,
2
l
,
TimeUnit
.
SECONDS
,
2
l
);
TabHaobanStaff
staff
=
this
.
mapper
.
selectByUserIdAndEnterpriseId
(
tab
.
getWxUserId
(),
tab
.
getWxEnterpriseId
())
;
if
(
null
!=
staff
)
{
RedisUtil
.
unlock
(
lockKey
);
return
staff
.
getStaffId
()
;
}
mapper
.
insertSelective
(
tab
);
RedisUtil
.
unlock
(
lockKey
);
return
tab
.
getStaffId
();
}
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/HaobanTimerApiServiceImpl.java
View file @
1d8d4df0
package
com
.
gic
.
haoban
.
manage
.
service
.
service
.
out
.
impl
;
import
com.gic.haoban.manage.service.service.chat.GroupChatDataService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
...
...
@@ -24,6 +25,8 @@ public class HaobanTimerApiServiceImpl implements HaobanTimerApiService {
private
GroupChatService
groupChatService
;
@Autowired
private
ExternalMemberService
externalMemberService
;
@Autowired
private
GroupChatDataService
groupChatDataService
;
@Override
...
...
@@ -79,4 +82,10 @@ public class HaobanTimerApiServiceImpl implements HaobanTimerApiService {
this
.
externalMemberService
.
welcomeForMember
()
;
return
ServiceResponse
.
success
();
}
@Override
public
ServiceResponse
<
Void
>
groupChatQuitTimer
(
String
params
)
{
this
.
groupChatDataService
.
groupChatQuitTimer
(
params
)
;
return
ServiceResponse
.
success
();
}
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/MessageApiServiceImpl.java
View file @
1d8d4df0
...
...
@@ -395,8 +395,8 @@ public class MessageApiServiceImpl implements MessageApiService {
.
listByStaffId
(
wxEnterpriseId
,
staffId
);
if
(
CollectionUtils
.
isNotEmpty
(
staffClerkRelationDTOS
))
{
for
(
StaffClerkRelationDTO
staffClerkRelationDTO
:
staffClerkRelationDTOS
)
{
staffClerkRelationApiService
.
unbindByStaffAndClerkId
(
staffId
,
staffClerkRelationDTO
.
getClerkId
(),
ChannelCodeEnum
.
ADMIN
_UNBIND
.
getCode
(),
wxEnterpriseId
);
staffClerkRelationApiService
.
unbindByStaffAndClerkId
(
"-1"
,
staffClerkRelationDTO
.
getClerkId
(),
ChannelCodeEnum
.
QW_DEL
_UNBIND
.
getCode
(),
wxEnterpriseId
);
}
}
// 群状态刷新
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/StaffApiServiceImpl.java
View file @
1d8d4df0
...
...
@@ -13,12 +13,10 @@ import com.gic.clerk.api.service.PowerService;
import
com.gic.commons.util.DateUtil
;
import
com.gic.commons.util.EntityUtil
;
import
com.gic.commons.util.ImageUtil
;
import
com.gic.enterprise.api.dto.EnterpriseSettingDTO
;
import
com.gic.enterprise.api.dto.StoreDTO
;
import
com.gic.enterprise.api.dto.StoreGroupDTO
;
import
com.gic.enterprise.api.dto.StoreWidgetDTO
;
import
com.gic.enterprise.api.dto.*
;
import
com.gic.enterprise.api.service.EnterpriseService
;
import
com.gic.enterprise.api.service.StoreGroupService
;
import
com.gic.enterprise.api.service.StoreService
;
import
com.gic.enterprise.api.service.StoreWidgetService
;
import
com.gic.haoban.base.api.common.BasePageInfo
;
import
com.gic.haoban.base.api.common.ServiceResponse
;
...
...
@@ -135,6 +133,8 @@ public class StaffApiServiceImpl implements StaffApiService {
private
HaobanQywxFeeOrderService
haobanQywxFeeOrderService
;
@Autowired
private
MessageApiService
messageApiService
;
@Autowired
private
StoreService
storeService
;
@Override
public
StaffDTO
selectById
(
String
staffId
)
{
...
...
@@ -949,7 +949,7 @@ public class StaffApiServiceImpl implements StaffApiService {
return
storeRoleDTO
;
}
Integer
clerkType
=
clerkDTO
.
getClerkType
();
if
(
clerkType
!=
null
&&
clerkType
!=
2
)
{
if
(
clerkType
!=
null
&&
clerkType
!=
2
&&
clerkType
!=
3
)
{
storeRoleDTO
.
setStoreCount
(
1
);
storeRoleDTO
.
setStoreId
(
clerkDTO
.
getStoreId
());
return
storeRoleDTO
;
...
...
@@ -961,19 +961,27 @@ public class StaffApiServiceImpl implements StaffApiService {
}
if
(
storeIds
.
contains
(
"-1"
))
{
logger
.
info
(
"该导购为所有门店,clerkId={}"
,
clerkId
);
String
storeWidgetId
=
this
.
powerService
.
getStoreWidgetId
(
new
Date
(),
clerkId
);
int
storeCount
=
0
;
String
storeId
=
null
;
if
(
null
!=
storeWidgetId
)
{
Page
<
Object
>
pageParam
=
new
Page
<
Object
>();
pageParam
.
setCurrentPage
(
1
);
pageParam
.
setPageSize
(
1
);
if
(
clerkType
==
2
)
{
String
storeWidgetId
=
this
.
powerService
.
getStoreWidgetId
(
new
Date
(),
clerkId
);
if
(
null
!=
storeWidgetId
)
{
Page
<
StoreDTO
>
page
=
storeWidgetService
.
getStoreWidgetStore
(
storeWidgetId
,
null
,
clerkDTO
.
getEnterpriseId
(),
pageParam
,
null
,
null
);
storeId
=
page
.
getResult
().
get
(
0
).
getStoreId
();
storeCount
=
page
.
getTotalCount
();
}
}
else
if
(
clerkType
==
3
)
{
StoreSearchDTO
searchDTO
=
new
StoreSearchDTO
()
;
searchDTO
.
setEnterpriseId
(
clerkDTO
.
getEnterpriseId
());
Page
<
StoreDTO
>
page
=
this
.
storeService
.
storeListPage
(
pageParam
,
searchDTO
)
;
storeId
=
page
.
getResult
().
get
(
0
).
getStoreId
();
storeCount
=
page
.
getTotalCount
();
}
storeRoleDTO
.
setStoreId
(
storeId
);
storeRoleDTO
.
setStoreCount
(
storeCount
);
}
return
storeRoleDTO
;
}
int
size
=
storeIds
.
size
();
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/StaffClerkRelationApiServiceImpl.java
View file @
1d8d4df0
...
...
@@ -22,6 +22,7 @@ import com.gic.haoban.manage.api.enums.ChannelCodeEnum;
import
com.gic.haoban.manage.api.service.AuditApiService
;
import
com.gic.haoban.manage.api.service.StaffClerkRelationApiService
;
import
com.gic.haoban.manage.service.config.Config
;
import
com.gic.haoban.manage.service.dao.mapper.StaffMapper
;
import
com.gic.haoban.manage.service.dao.mapper.TabHaobanStaffClerkRelationMapper
;
import
com.gic.haoban.manage.service.entity.MemberClerkChatConfig
;
import
com.gic.haoban.manage.service.entity.TabHaobanStaff
;
...
...
@@ -76,10 +77,12 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe
private
HmQrcodeService
hmQrcodeService
;
@Autowired
private
StoreRangeService
storeRangeService
;
@Autowired
private
StaffMapper
staffMapper
;
@Override
public
void
bindLogMq
(
String
params
)
{
logger
.
info
(
"
绑定日志mq:
{}"
,
params
);
logger
.
info
(
"
成员绑定导购mq=
{}"
,
params
);
StaffClerkBindLogInfoDTO
infoDTO
=
JSONObject
.
parseObject
(
params
,
StaffClerkBindLogInfoDTO
.
class
);
if
(
null
==
infoDTO
)
{
logger
.
info
(
"数据不存在"
);
...
...
@@ -98,8 +101,9 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe
clerkName
=
clerkDTO
.
getClerkName
();
}
String
operClerkId
=
infoDTO
.
getOptStaffId
();
ClerkDTO
operClerkDTO
=
clerkService
.
getClerkByClerkIdNoStatus
(
operClerkId
);
String
operName
=
null
;
if
(
StringUtils
.
isNotEmpty
(
operClerkId
))
{
ClerkDTO
operClerkDTO
=
clerkService
.
getClerkByClerkIdNoStatus
(
operClerkId
);
if
(
null
!=
operClerkDTO
)
{
operName
=
operClerkDTO
.
getClerkName
();
}
...
...
@@ -110,6 +114,7 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe
operName
=
tabHaobanStaff
.
getStaffName
();
}
}
}
TabHaobanStaffClerkBindLog
enity
=
new
TabHaobanStaffClerkBindLog
();
enity
.
setClerkId
(
clerkRelation
.
getClerkId
());
enity
.
setChannelCode
(
infoDTO
.
getChannelCode
());
...
...
@@ -354,7 +359,7 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe
Page
<
StaffClerkBindLogDetailDTO
>
retList
=
staffClerkBindLogService
.
pageBindLog
(
wxEnterpriseId
,
enterpriseId
,
optType
,
search
,
pageInfo
);
if
(
CollectionUtils
.
isNotEmpty
(
retList
.
getResult
()))
{
retList
.
getResult
().
forEach
(
item
->
{
TabHaobanStaff
haobanStaff
=
staff
Service
.
selectById
(
item
.
getStaffId
());
TabHaobanStaff
haobanStaff
=
staff
Mapper
.
selectByPrimaryKeyNoStatus
(
item
.
getStaffId
());
if
(
null
!=
haobanStaff
)
{
item
.
setStaffName
(
haobanStaff
.
getStaffName
());
item
.
setWxUserId
(
haobanStaff
.
getWxUserId
());
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/chat/GroupChatPlanApiServiceImpl.java
View file @
1d8d4df0
...
...
@@ -75,7 +75,6 @@ public class GroupChatPlanApiServiceImpl implements GroupChatPlanApiService {
* @Title: doPlan
* @Description: 定时执行计划
* @author xugh
* @param planId
* @return
* @throws
*/
...
...
haoban-manage3-service/src/main/resources/applicationContext-conf.xml
View file @
1d8d4df0
...
...
@@ -10,5 +10,5 @@
<import
resource=
"classpath:dubbo-setting-test.xml"
/>
<import
resource=
"classpath:jdbc-haoban-manage-service.xml"
/>
<import
resource=
"classpath*:log-record-init.xml"
/>
<import
resource=
"classpath*:kafka-setting-data.xml"
/
>
<!-- <import resource="classpath*:kafka-setting-data.xml" />--
>
</beans>
\ No newline at end of file
haoban-manage3-service/src/main/resources/mapper/TabHaobanStaffClerkRelationMapper.xml
View file @
1d8d4df0
...
...
@@ -166,7 +166,7 @@
</select>
<select
id=
"listByWxEnterpriseId"
resultType=
"String"
>
<select
id=
"listByWxEnterpriseId"
resultType=
"
java.lang.
String"
>
select a.staff_id
from tab_haoban_staff_clerk_relation a left join tab_haoban_staff b on a.staff_id = b.staff_id
where a.wx_enterprise_id = #{wxEnterpriseId,jdbcType=VARCHAR}
...
...
@@ -453,6 +453,20 @@
</foreach>
</select>
<select
id=
"listByStaffIdsForClerk"
resultType=
"com.gic.haoban.manage.api.dto.StaffClerkRelationDTO"
>
select
staff_id staffId
from tab_haoban_staff_clerk_relation
WHERE
wx_enterprise_id = #{wxEnterpriseId}
AND status_flag = 1 and manage_flag
<![CDATA[<>]]>
1
AND staff_id in
<foreach
collection=
"staffIdList"
item=
"item"
separator=
","
open=
"("
close=
")"
>
#{item}
</foreach>
</select>
<select
id=
"listAllStaffIdByEnterpriseId"
resultType=
"java.lang.String"
>
select a.staff_id
from tab_haoban_staff_clerk_relation a left join tab_haoban_staff b on b.staff_id = a.staff_id
...
...
@@ -461,4 +475,11 @@
a.staff_id
</select>
<select
id=
"getByStaffAndClerk"
resultType=
"com.gic.haoban.manage.api.dto.StaffClerkRelationDTO"
>
<include
refid=
"leftJoinStaffSQL"
/>
where a.status_flag=1 and b.status_flag=1
and a.staff_id = #{staffId} and a.clerk_id = #{clerkId}
order by a.update_time desc limit 1
</select>
</mapper>
\ No newline at end of file
haoban-manage3-service/src/main/resources/mapper/chat/GroupChatDataMapper.xml
View file @
1d8d4df0
...
...
@@ -17,6 +17,7 @@
<result
column=
"msg_total"
property=
"msgTotal"
/>
<result
column=
"migrate_trainee_chat_cnt"
property=
"migrateTraineeChatCnt"
/>
<result
column=
"create_time"
property=
"createTime"
/>
<result
column=
"quit_user_count"
property=
"quitUserCount"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
data_id,
...
...
@@ -31,7 +32,7 @@
member_has_msg,
msg_total,
migrate_trainee_chat_cnt,
create_time
create_time
, quit_user_count
</sql>
<insert
id=
"batchInsert"
>
...
...
@@ -48,7 +49,7 @@
member_has_msg,
msg_total,
migrate_trainee_chat_cnt,
create_time
create_time
, quit_user_count
)VALUES
<foreach
collection=
"list"
item=
"item"
separator=
","
>
( #{item.dataId},
...
...
@@ -63,27 +64,31 @@
#{item.memberHasMsg},
#{item.msgTotal},
#{item.migrateTraineeChatCnt},
now()
now()
, 0
)
</foreach>
</insert>
<update
id=
"updateQuitCount"
>
update tab_haoban_group_chat_data set quit_user_count = #{quitCount} where wx_enterprise_id=#{wxEnterpriseId}
and date = #{date} and staff_id = #{staffId}
</update>
<select
id=
"listTotalData"
parameterType=
"com.gic.haoban.manage.api.dto.qdto.chat.ChatDataSearchQDTO"
resultType=
"com.gic.haoban.manage.api.dto.chat.GroupChatDataDTO"
>
select sum(chatTotal) chatTotal , sum(memberTotal) memberTotal,
SUM(newChatCnt) newChatCnt, SUM(chatHasMsg) chatHasMsg, SUM(newMemberCnt) newMemberCnt,
SUM(memberHasMsg) memberHasMsg, SUM(msgTotal) msgTotal
SUM(memberHasMsg) memberHasMsg, SUM(msgTotal) msgTotal
, sum(quitUserCount) quitUserCount
from (
SELECT
staffId, `date`, chatTotal, memberTotal,
SUM(newChatCnt) newChatCnt, SUM(chatHasMsg) chatHasMsg, SUM(newMemberCnt) newMemberCnt,
SUM(memberHasMsg) memberHasMsg, SUM(msgTotal) msgTotal
SUM(memberHasMsg) memberHasMsg, SUM(msgTotal) msgTotal
, sum(quitUserCount) quitUserCount
FROM
(SELECT
a.staff_id staffId, a.date `date`,
a.chat_total chatTotal, a.member_total memberTotal,
a.new_chat_cnt newChatCnt, a.chat_has_msg chatHasMsg, a.new_member_cnt newMemberCnt,
a.member_has_msg memberHasMsg, a.msg_total msgTotal
a.member_has_msg memberHasMsg, a.msg_total msgTotal
, a.quit_user_count quitUserCount
FROM tab_haoban_group_chat_data a
where a.wx_enterprise_id = #{wxEnterpriseId}
and a.date >= #{startDate} and a.date
<![CDATA[ <= ]]>
#{endDate}
...
...
@@ -106,7 +111,8 @@
sum(a.chat_has_msg) chatHasMsg ,
sum(a.new_member_cnt) newMemberCnt ,
sum(a.member_has_msg) memberHasMsg ,
sum(a.msg_total) msgTotal
sum(a.msg_total) msgTotal ,
sum(a.quit_user_count) quitUserCount
from tab_haoban_group_chat_data a
where a.wx_enterprise_id = #{wxEnterpriseId}
and a.date >= #{startDate} and a.date
<![CDATA[ <= ]]>
#{endDate}
...
...
@@ -124,13 +130,13 @@
SELECT
staffId, staffName, `date`, chatTotal, memberTotal,
SUM(newChatCnt) newChatCnt, SUM(chatHasMsg) chatHasMsg, SUM(newMemberCnt) newMemberCnt,
SUM(memberHasMsg) memberHasMsg, SUM(msgTotal) msgTotal
SUM(memberHasMsg) memberHasMsg, SUM(msgTotal) msgTotal
, sum(quitUserCount) quitUserCount
FROM
(SELECT
b.staff_name staffName, a.staff_id staffId, a.date `date`,
a.chat_total chatTotal, a.member_total memberTotal,
a.new_chat_cnt newChatCnt, a.chat_has_msg chatHasMsg, a.new_member_cnt newMemberCnt,
a.member_has_msg memberHasMsg, a.msg_total msgTotal
a.member_has_msg memberHasMsg, a.msg_total msgTotal
, a.quit_user_count quitUserCount
FROM tab_haoban_group_chat_data a LEFT JOIN tab_haoban_staff b ON a.staff_id = b.staff_id
where a.wx_enterprise_id = #{wxEnterpriseId}
and a.date >= #{startDate} and a.date
<![CDATA[ <= ]]>
#{endDate}
...
...
@@ -141,6 +147,8 @@
</foreach>
</if>
ORDER BY a.date DESC
) tb GROUP BY staffId
) tb GROUP BY staffId
ORDER BY ${sortColumn} ${sortType}
</select>
</mapper>
\ No newline at end of file
haoban-manage3-service/src/main/resources/mapper/chat/GroupChatOwnerMapper.xml
View file @
1d8d4df0
...
...
@@ -78,6 +78,32 @@
</if>
</select>
<select
id=
"listOwnerPage"
resultType=
"com.gic.haoban.manage.api.dto.chat.GroupChatOwnerDTO"
>
select * from (
SELECT a.staff_id staffId , b.`staff_name` staffName , a.wx_enterprise_id wxEnterpriseId ,
b.wx_user_id wxUserId , b.wx_open_user_id wxOpenUserId
FROM tab_haoban_group_chat_owner a LEFT JOIN tab_haoban_staff b ON a.`staff_id` = b.`staff_id`
<if
test=
"departmentIdList != null and departmentIdList.size() > 0"
>
left join tab_haoban_staff_department_related c on a.staff_id = c.staff_id and c.status_flag = 1
</if>
where a.wx_enterprise_id=#{wxEnterpriseId}
<if
test=
"departmentIdList != null and departmentIdList.size() > 0"
>
and c.department_id IN
<foreach
collection=
"departmentIdList"
item=
"id"
index=
"index"
open=
"("
close=
")"
separator=
","
>
#{id,jdbcType=VARCHAR}
</foreach>
</if>
<if
test=
"null != searchParams and ''!=searchParams "
>
and b.staff_name like #{searchParams}
</if>
and b.status_flag = 1
<if
test=
"departmentIdList != null and departmentIdList.size() > 0"
>
group by a.staff_id
</if>
) t limit ${startItem},${pageSize}
</select>
<select
id=
"listOwnerForStatistic"
resultType=
"com.gic.haoban.manage.api.dto.chat.GroupChatOwnerDTO"
>
SELECT a.staff_id staffId , a.wx_enterprise_id wxEnterpriseId ,
b.wx_user_id wxUserId , b.wx_open_user_id wxOpenUserId
...
...
@@ -93,4 +119,8 @@
where a.update_time > DATE_ADD(CURDATE(), INTERVAL -1 DAY) and b.status_flag = 0
</select>
<select
id=
"listAllEnterpriseId"
resultType=
"java.lang.String"
>
select distinct(wx_enterprise_id) from tab_haoban_group_chat_owner
</select>
</mapper>
\ No newline at end of file
haoban-manage3-service/src/main/resources/mapper/chat/GroupChatPlanMapper.xml
View file @
1d8d4df0
...
...
@@ -28,6 +28,8 @@
<result
column=
"fail_chat_count"
property=
"failChatCount"
/>
<result
column=
"send_flag"
property=
"sendFlag"
/>
<result
column=
"material_from"
property=
"materialFrom"
/>
<result
column=
"send_all_flag"
property=
"sendAllFlag"
/>
<result
column=
"all_search_params"
property=
"allSearchParams"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
plan_id,
...
...
@@ -51,7 +53,7 @@
success_chat_count,
fail_chat_count ,
wx_enterprise_id , enterprise_id , send_flag ,
material_from
material_from
, send_all_flag , all_search_params
</sql>
<!-- ===================== 新增 ======================== -->
<insert
id=
"insert"
...
...
@@ -78,7 +80,7 @@
send_count,
success_chat_count,
fail_chat_count , wx_enterprise_id , enterprise_id , delete_flag , send_flag,
material_from
material_from
, send_all_flag , all_search_params
)VALUES(
#{planId},
#{name},
...
...
@@ -100,7 +102,7 @@
#{sendCount},
#{successChatCount},
#{failChatCount} , #{wxEnterpriseId} , #{enterpriseId} , 0 , 1,
#{materialFrom}
#{materialFrom}
, #{sendAllFlag} , #{allSearchParams}
)
]]>
</insert>
...
...
@@ -143,7 +145,9 @@
start_time=#{startTime},
end_time=#{endTime},
expire_days=#{expireDays},
material_from=#{materialFrom}
material_from=#{materialFrom} ,
send_all_flag = #{sendAllFlag} ,
all_search_params = #{allSearchParams}
where plan_id = #{planId}
]]>
</update>
...
...
@@ -202,4 +206,8 @@
update tab_haoban_group_chat_plan set send_count = send_count+ #{sendCount} , success_chat_count=success_chat_count+#{successChatCount} , fail_chat_count = fail_chat_count+#{failChatCount} ,
update_time =now() where plan_id = #{planId}
</update>
<update
id=
"updateStaffCount"
>
update tab_haoban_group_chat_plan set staff_count = #{staffCount} , update_time =now() where plan_id = #{planId}
</update>
</mapper>
\ No newline at end of file
haoban-manage3-service/src/main/resources/mapper/chat/GroupChatPlanOwnerLogMapper.xml
View file @
1d8d4df0
...
...
@@ -170,7 +170,12 @@
<if
test=
"null != searchParams"
>
and b.name like #{searchParams}
</if>
<if
test=
"1==clerkTaskStatus"
>
and b.end_time > now()
</if>
<if
test=
"2==clerkTaskStatus"
>
and b.end_time
<![CDATA[<=]]>
now()
</if>
group by b.plan_id
having notSendCount
order by b.end_time desc , a.create_time desc
...
...
haoban-manage3-service/src/main/resources/mapper/chat/GroupChatUserMapper.xml
View file @
1d8d4df0
...
...
@@ -28,6 +28,7 @@
<result
column=
"join_state"
property=
"joinState"
/>
<result
column=
"admin_flag"
property=
"adminFlag"
/>
<result
column=
"quit_staff_id"
property=
"quitStaffId"
/>
<result
column=
"quit_staff_store"
property=
"quitStaffStore"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
chat_user_id,
...
...
@@ -50,7 +51,7 @@
quit_scene,
join_scene,
join_remark,
join_state , invitor_user_name , admin_flag , quit_staff_id
join_state , invitor_user_name , admin_flag , quit_staff_id
, quit_staff_store
</sql>
<!-- ===================== 新增 ======================== -->
<insert
id=
"insert"
...
...
@@ -158,7 +159,9 @@
<!-- =====================废弃群==================== -->
<update
id=
"dismiss"
>
UPDATE tab_haoban_group_chat_user SET status_flag = 2 , update_time=now() , user_quit_time = now() , quit_scene = 0 , quit_staff_id = #{ownerId} WHERE chat_user_id in
UPDATE tab_haoban_group_chat_user SET status_flag = 2 , update_time=now() , user_quit_time = now() , quit_scene = 0 , quit_staff_id = #{ownerId} ,
quit_staff_store = #{quitStaffStore}
WHERE chat_user_id in
<foreach
collection=
"idList"
close=
")"
open=
"("
index=
"index"
item=
"id"
separator=
","
>
#{id}
</foreach>
...
...
@@ -227,6 +230,7 @@
select
b.name chatName ,
b.wx_chat_id wxChatId ,
c.staff_id staffId ,
c.staff_name staffName ,
a.chat_user_id chatUserId ,
a.user_type userType ,
...
...
@@ -237,6 +241,7 @@
a.invitor_user_id invitorUserId,
a.invitor_user_name invitorUserName ,
a.user_quit_time userQuitTime,
a.quit_staff_store quitStaffStore ,
a.join_scene joinScene,
a.join_state joinState
from tab_haoban_group_chat_user a
...
...
@@ -300,4 +305,9 @@
</where>
</select>
<select
id=
"listQuitNum"
resultType=
"com.gic.haoban.manage.service.pojo.bo.chat.UserQuitBO"
>
select quit_staff_id staffId , count(*) num from tab_haoban_group_chat_user where wx_enterprise_id=#{wxEnterpriseId} and user_quit_time >= #{start}
and user_quit_time
<![CDATA[<=]]>
#{end} and status_flag = 2 group by quit_staff_id
</select>
</mapper>
\ No newline at end of file
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/controller/StaffController.java
View file @
1d8d4df0
...
...
@@ -379,6 +379,18 @@ public class StaffController extends WebBaseController {
}
}
}
if
(
null
!=
login
.
getSuperAdmin
()
&&
login
.
getSuperAdmin
()==
1
&&
manageFlag
==
1
)
{
ClerkDTO
superClerk
=
this
.
clerkService
.
getSuperAdminByEnterpriseId
(
enterpriseId
)
;
if
(
superClerk
.
getPhoneNumber
().
contains
(
search
)
||
superClerk
.
getClerkCode
().
equals
(
search
))
{
superClerk
.
setClerkName
(
"超级管理员"
);
ClerkInfoVo
superVO
=
EntityUtil
.
changeEntityByJSON
(
ClerkInfoVo
.
class
,
superClerk
)
;
// 判断是否有有关联
if
(
CollectionUtils
.
isNotEmpty
(
staffClerkRelationApiService
.
listByClerkIds
(
Arrays
.
asList
(
superClerk
.
getClerkId
()))))
{
superVO
.
setRelationStatus
(
1
);
}
retList
.
add
(
superVO
);
}
}
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
retList
);
}
...
...
@@ -552,20 +564,17 @@ public class StaffController extends WebBaseController {
}
mergeClerkInfo
(
voList
,
wxEnterpriseId
);
String
fileName
=
wxEnterpriseName
+
"通讯录"
+
DateUtil
.
dateToStr
(
new
Date
(),
DateUtil
.
FORMAT_DATE_8
);
List
<
String
>
titleList
=
Lists
.
newArrayList
(
"姓名"
,
"职务"
,
"部门"
,
"手机号"
,
"关联状态"
,
"关联导购"
);
List
<
String
>
fileList
=
Lists
.
newArrayList
(
"staffName"
,
"position"
,
"departmentName"
,
"phoneNumber"
,
"relationFlag"
,
"clerkName"
);
List
<
String
>
titleList
=
Lists
.
newArrayList
(
"姓名"
,
"职务"
,
"部门"
,
"手机号"
,
"关联状态"
,
"关联导购"
,
"成员明文userid"
);
List
<
String
>
fileList
=
Lists
.
newArrayList
(
"staffName"
,
"position"
,
"departmentName"
,
"phoneNumber"
,
"relationFlag"
,
"clerkName"
,
"wxUserId"
);
if
(
flag
){
titleList
.
add
(
"所属商户"
);
fileList
.
add
(
"enterpriseName"
);
}
//针对未升级好办独立应用的企业,导出表格增加导出字段:成员明文userid、成员加密userid、许可状态、许可激活时间、许可到期时间
if
(
enterprise
!=
null
&&
enterprise
.
getWxSecurityType
()
!=
5
){
titleList
.
add
(
"成员明文userid"
);
titleList
.
add
(
"成员加密userid"
);
titleList
.
add
(
"许可状态"
);
titleList
.
add
(
"许可激活时间"
);
titleList
.
add
(
"许可到期时间"
);
fileList
.
add
(
"wxUserId"
);
fileList
.
add
(
"wxOpenUseId"
);
fileList
.
add
(
"status"
);
fileList
.
add
(
"activeTime"
);
...
...
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/controller/TestController.java
View file @
1d8d4df0
...
...
@@ -5,10 +5,7 @@ import java.io.InputStream;
import
java.io.InputStreamReader
;
import
java.io.OutputStream
;
import
java.io.UnsupportedEncodingException
;
import
java.net.ConnectException
;
import
java.net.URL
;
import
java.net.URLConnection
;
import
java.net.URLEncoder
;
import
java.net.*
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.Collections
;
...
...
@@ -31,6 +28,7 @@ import org.slf4j.LoggerFactory;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
org.springframework.web.bind.annotation.RestController
;
import
com.alibaba.fastjson.JSON
;
...
...
@@ -605,4 +603,59 @@ public class TestController extends WebBaseController {
}
return
null
;
}
public
static
String
httpRequest
(
String
requestUrl
,
String
requestMethod
,
String
outputStr
,
int
timeOut
)
{
if
(
timeOut
==
0
)
{
timeOut
=
1000
;
}
try
{
URL
url
=
new
URL
(
requestUrl
);
HttpURLConnection
conn
=
(
HttpURLConnection
)
url
.
openConnection
();
conn
.
setDoOutput
(
true
);
conn
.
setDoInput
(
true
);
conn
.
setUseCaches
(
false
);
conn
.
setReadTimeout
(
timeOut
);
conn
.
setRequestMethod
(
requestMethod
);
if
(
null
!=
outputStr
)
{
OutputStream
outputStream
=
conn
.
getOutputStream
();
outputStream
.
write
(
outputStr
.
getBytes
(
"UTF-8"
));
outputStream
.
close
();
}
InputStream
inputStream
=
conn
.
getInputStream
();
InputStreamReader
inputStreamReader
=
new
InputStreamReader
(
inputStream
,
"utf-8"
);
BufferedReader
bufferedReader
=
new
BufferedReader
(
inputStreamReader
);
String
str
=
null
;
StringBuilder
buffer
=
new
StringBuilder
();
while
((
str
=
bufferedReader
.
readLine
())
!=
null
)
{
buffer
.
append
(
str
);
}
bufferedReader
.
close
();
inputStreamReader
.
close
();
inputStream
.
close
();
inputStream
=
null
;
conn
.
disconnect
();
return
buffer
.
toString
();
}
catch
(
ConnectException
ce
)
{
ce
.
printStackTrace
();
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
null
;
}
@RequestMapping
(
"self-check"
)
@ResponseBody
public
Object
self
(
String
ips
){
if
(
StringUtils
.
isEmpty
(
ips
))
{
ips
=
"121.36.247.198,60.204.155.186,123.60.35.52,124.70.140.207,121.37.130.214,122.9.64.47,116.63.51.145,122.9.68.94,122.9.190.110"
;
}
String
[]
arr
=
ips
.
split
(
","
)
;
Map
<
String
,
String
>
map
=
new
HashMap
<>()
;
for
(
String
ip
:
arr
)
{
String
s
=
httpRequest
(
"http://"
+
ip
+
":8990/api-qywx-self/index.html"
,
"GET"
,
null
,
3000
)
;
logger
.
info
(
"s={},{}"
,
ip
,
s
);
map
.
put
(
ip
,
s
)
;
}
return
map
;
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/controller/chat/GroupChatController.java
View file @
1d8d4df0
...
...
@@ -203,8 +203,8 @@ public class GroupChatController {
}
String
s
=
DateUtil
.
formatString
(
new
Date
(),
DateUtil
.
FORMAT_DATE_10
);
String
fileName
=
"退群记录"
+
s
;
List
<
String
>
titleList
=
Arrays
.
asList
(
"群成员姓名"
,
"群成员昵称"
,
"身份"
,
"群名称"
,
"群主"
,
"退群时间"
);
List
<
String
>
fileList
=
Arrays
.
asList
(
"userName"
,
"nickName"
,
"userTypeExcel"
,
"chatName"
,
"staffName"
,
"userQuitTimeExcel"
);
List
<
String
>
titleList
=
Arrays
.
asList
(
"群成员姓名"
,
"群成员昵称"
,
"身份"
,
"群名称"
,
"群主"
,
"
群主关联门店"
,
"
退群时间"
);
List
<
String
>
fileList
=
Arrays
.
asList
(
"userName"
,
"nickName"
,
"userTypeExcel"
,
"chatName"
,
"staffName"
,
"
quitStaffStore"
,
"
userQuitTimeExcel"
);
try
{
ExcelUtils
.
xls
(
response
,
request
,
fileName
,
voList
,
fileList
,
titleList
);
}
catch
(
Exception
e
)
{
...
...
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/controller/chat/GroupChatPlanController.java
View file @
1d8d4df0
...
...
@@ -70,7 +70,7 @@ public class GroupChatPlanController {
@RequestMapping
(
"add"
)
@GicLogRecord
(
value
=
"${#logValue}"
,
category
=
GicLogRecordCategoryEnum
.
HB_QQF
,
optType
=
GicLogRecordOptTypeEnum
.
HB_1000_01
,
userFunc
=
LogRecordUserServiceImpl
.
class
,
optPage
=
"客户群群发"
)
public
RestResponse
<
Object
>
save
(
@RequestBody
GroupChatPlanDTO
dto
)
{
if
(
StringUtils
.
isBlank
(
dto
.
getStaffIdList
()))
{
if
(
dto
.
getSendAllFlag
()
==
0
&&
StringUtils
.
isBlank
(
dto
.
getStaffIdList
()))
{
GicLogRecordEvaluationContext
.
noWriteLog
();
return
RestResponse
.
failure
(
"9999"
,
"请选择群主"
);
}
...
...
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/vo/chat/GroupChatDataVO.java
View file @
1d8d4df0
...
...
@@ -32,6 +32,15 @@ public class GroupChatDataVO implements Serializable {
private
Integer
memberHasMsg
;
/**截至当天客户群消息总数*/
private
Integer
msgTotal
;
private
Integer
quitUserCount
;
public
Integer
getQuitUserCount
()
{
return
quitUserCount
;
}
public
void
setQuitUserCount
(
Integer
quitUserCount
)
{
this
.
quitUserCount
=
quitUserCount
;
}
public
String
getStaffName
()
{
return
staffName
;
...
...
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/vo/chat/GroupChatPlanVO.java
View file @
1d8d4df0
...
...
@@ -61,6 +61,27 @@ public class GroupChatPlanVO implements Serializable{
*/
private
Integer
materialFrom
;
// 是否发送全部
private
int
sendAllFlag
;
// 所有的群发条件
private
String
allSearchParams
;
public
String
getAllSearchParams
()
{
return
allSearchParams
;
}
public
void
setAllSearchParams
(
String
allSearchParams
)
{
this
.
allSearchParams
=
allSearchParams
;
}
public
int
getSendAllFlag
()
{
return
sendAllFlag
;
}
public
void
setSendAllFlag
(
int
sendAllFlag
)
{
this
.
sendAllFlag
=
sendAllFlag
;
}
public
List
<
ChatOwnerVO
>
getOwnerList
()
{
return
ownerList
;
}
...
...
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/vo/chat/GroupChatUserQuitVO.java
View file @
1d8d4df0
...
...
@@ -26,6 +26,16 @@ public class GroupChatUserQuitVO implements Serializable{
private
String
chatName
;
private
String
staffName
;
private
String
quitStaffStore
;
public
String
getQuitStaffStore
()
{
return
quitStaffStore
;
}
public
void
setQuitStaffStore
(
String
quitStaffStore
)
{
this
.
quitStaffStore
=
quitStaffStore
;
}
public
String
getUserTypeExcel
()
{
return
userTypeExcel
;
}
...
...
haoban-manage3-wx/src/main/java/com/gic/haoban/manage/web/controller/WxStaffController.java
View file @
1d8d4df0
...
...
@@ -1708,12 +1708,23 @@ public class WxStaffController extends WebBaseController {
Page
<
Object
>
pageParam
=
new
Page
<
Object
>();
pageParam
.
setCurrentPage
(
currentPage
);
pageParam
.
setPageSize
(
pageSize
);
ClerkDTO
clerkDTO
=
clerkService
.
getClerkByClerkIdNoStatus
(
clerkId
);
if
(
clerkDTO
.
getClerkType
()
==
2
)
{
Page
<
StoreDTO
>
page
=
storeWidgetService
.
getStoreWidgetStore
(
storeWidgetId
,
null
,
enterpriseId
,
pageParam
,
null
,
null
);
if
(
page
!=
null
)
{
storeDTOList
=
page
.
getResult
();
totalCount
=
page
.
getTotalCount
();
}
}
else
if
(
clerkDTO
.
getClerkType
()==
3
)
{
StoreSearchDTO
searchDTO
=
new
StoreSearchDTO
()
;
searchDTO
.
setEnterpriseId
(
clerkDTO
.
getEnterpriseId
());
Page
<
StoreDTO
>
page
=
this
.
storeService
.
storeListPage
(
pageParam
,
searchDTO
)
;
if
(
page
!=
null
)
{
storeDTOList
=
page
.
getResult
();
totalCount
=
page
.
getTotalCount
();
}
}
}
else
{
totalCount
=
storeIdList
.
size
();
int
start
=
pageSize
*
(
currentPage
-
1
);
...
...
haoban-manage3-wx/src/main/java/com/gic/haoban/manage/web/controller/haoban/GroupChatPlanController.java
View file @
1d8d4df0
...
...
@@ -12,6 +12,7 @@ import org.apache.commons.lang3.StringUtils;
import
org.apache.logging.log4j.LogManager
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
com.alibaba.fastjson.JSONArray
;
...
...
@@ -44,9 +45,10 @@ public class GroupChatPlanController {
@Autowired
private
MaterialApiService
materialApiService
;
// clerkTaskStatus 1待处理 2已处理/已失效
@RequestMapping
(
"total-list"
)
public
RestResponse
<
Object
>
totalList
(
String
clerkId
,
String
wxEnterpriseId
,
String
enterpriseId
,
String
searchParams
,
BasePageInfo
basePageInfo
)
{
String
searchParams
,
BasePageInfo
basePageInfo
,
@RequestParam
(
defaultValue
=
"1"
)
int
clerkTaskStatus
)
{
if
(
StringUtils
.
isEmpty
(
clerkId
))
{
return
RestResponse
.
failure
(
"1"
,
"clerkId为空"
);
}
...
...
@@ -57,6 +59,7 @@ public class GroupChatPlanController {
if
(
StringUtils
.
isNotBlank
(
searchParams
))
{
qdto
.
setSearchParams
(
"%"
+
searchParams
+
"%"
);
}
qdto
.
setClerkTaskStatus
(
clerkTaskStatus
);
ServiceResponse
<
Page
<
ChatOwnerTotalDTO
>>
pageResp
=
this
.
groupChatPlanApiService
.
listOwnerLogPageForWxaTotal
(
qdto
,
basePageInfo
);
Page
<
ChatOwnerTotalDTO
>
page
=
pageResp
.
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