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
dfbe4484
Commit
dfbe4484
authored
Jul 08, 2025
by
徐高华
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature/xgh/202506迭代' into 'master'
Feature/xgh/202506迭代 See merge request
!3061
parents
c36e009e
86f9c432
Hide whitespace changes
Inline
Side-by-side
Showing
83 changed files
with
2695 additions
and
194 deletions
+2695
-194
GroupChatHmDTO.java
...va/com/gic/haoban/manage/api/dto/chat/GroupChatHmDTO.java
+39
-2
GroupChatOwnerDTO.java
...com/gic/haoban/manage/api/dto/chat/GroupChatOwnerDTO.java
+11
-1
HmLinkDTO.java
...main/java/com/gic/haoban/manage/api/dto/hm/HmLinkDTO.java
+11
-0
HmLinkStoreDTO.java
...java/com/gic/haoban/manage/api/dto/hm/HmLinkStoreDTO.java
+19
-0
HmLinkWxaDTO.java
...n/java/com/gic/haoban/manage/api/dto/hm/HmLinkWxaDTO.java
+13
-1
QwMomentPlanDTO.java
...com/gic/haoban/manage/api/dto/moment/QwMomentPlanDTO.java
+20
-0
ChatHmSearchQDTO.java
...gic/haoban/manage/api/dto/qdto/chat/ChatHmSearchQDTO.java
+11
-0
OwnerSearchQDTO.java
.../gic/haoban/manage/api/dto/qdto/chat/OwnerSearchQDTO.java
+32
-1
GroupChatActivityHmQDTO.java
.../haoban/manage/api/qdto/chat/GroupChatActivityHmQDTO.java
+11
-0
LinkHmFromWxaQDTO.java
...om/gic/haoban/manage/api/qdto/chat/LinkHmFromWxaQDTO.java
+58
-0
HandoverOperationApiService.java
...aoban/manage/api/service/HandoverOperationApiService.java
+3
-0
MaterialApiService.java
...com/gic/haoban/manage/api/service/MaterialApiService.java
+2
-0
QywxTagApiService.java
.../com/gic/haoban/manage/api/service/QywxTagApiService.java
+1
-1
HmLinkApiService.java
...om/gic/haoban/manage/api/service/hm/HmLinkApiService.java
+5
-1
QywxCallbackController.java
.../haoban/manage/web/controller/QywxCallbackController.java
+1
-1
token.html
...n-manage3-operation-web/src/main/webapp/static/token.html
+16
-0
JoinRuleManager.java
...c/haoban/manage/service/context/chat/JoinRuleManager.java
+73
-16
HandoverExternalMapper.java
...ban/manage/service/dao/mapper/HandoverExternalMapper.java
+4
-0
TabHaobanStaffClerkRelationMapper.java
...service/dao/mapper/TabHaobanStaffClerkRelationMapper.java
+4
-0
GroupChatHmMapper.java
...ban/manage/service/dao/mapper/chat/GroupChatHmMapper.java
+6
-0
WxUserAddLogMapper.java
...oban/manage/service/dao/mapper/hm/WxUserAddLogMapper.java
+4
-0
TabGroupChatHm.java
...gic/haoban/manage/service/entity/chat/TabGroupChatHm.java
+9
-0
TabHmLink.java
...va/com/gic/haoban/manage/service/entity/hm/TabHmLink.java
+10
-0
TabQwMomentPlan.java
.../haoban/manage/service/entity/moment/TabQwMomentPlan.java
+19
-0
HmStoreNumBO.java
...java/com/gic/haoban/manage/service/pojo/HmStoreNumBO.java
+26
-0
StaffStoreNumBO.java
...a/com/gic/haoban/manage/service/pojo/StaffStoreNumBO.java
+26
-0
GroupChatHmBO.java
...gic/haoban/manage/service/pojo/bo/chat/GroupChatHmBO.java
+10
-0
HmLinkBO.java
...va/com/gic/haoban/manage/service/pojo/bo/hm/HmLinkBO.java
+10
-0
HandoverService.java
...om/gic/haoban/manage/service/service/HandoverService.java
+2
-0
StaffClerkRelationService.java
...ban/manage/service/service/StaffClerkRelationService.java
+2
-0
GroupChatHmService.java
...aoban/manage/service/service/chat/GroupChatHmService.java
+9
-0
GroupChatHmServiceImpl.java
...age/service/service/chat/impl/GroupChatHmServiceImpl.java
+17
-8
GroupChatServiceImpl.java
...anage/service/service/chat/impl/GroupChatServiceImpl.java
+34
-0
HmLinkChatService.java
...c/haoban/manage/service/service/hm/HmLinkChatService.java
+1
-1
HmLinkChatServiceImpl.java
...manage/service/service/hm/impl/HmLinkChatServiceImpl.java
+33
-33
HmLinkServiceImpl.java
...ban/manage/service/service/hm/impl/HmLinkServiceImpl.java
+6
-1
HandoverServiceImpl.java
...oban/manage/service/service/impl/HandoverServiceImpl.java
+11
-0
StaffClerkRelationServiceImpl.java
...e/service/service/impl/StaffClerkRelationServiceImpl.java
+14
-0
StaffServiceImpl.java
.../haoban/manage/service/service/impl/StaffServiceImpl.java
+10
-0
QwMomentPlanAttendServiceImpl.java
...ce/service/moment/impl/QwMomentPlanAttendServiceImpl.java
+3
-0
QwMomentPlanServiceImpl.java
.../service/service/moment/impl/QwMomentPlanServiceImpl.java
+4
-2
HandoverOperationApiServiceImpl.java
...ice/service/out/impl/HandoverOperationApiServiceImpl.java
+15
-0
HaobanCommonMQApiServiceImpl.java
...ervice/service/out/impl/HaobanCommonMQApiServiceImpl.java
+7
-0
MaterialApiServiceImpl.java
...nage/service/service/out/impl/MaterialApiServiceImpl.java
+18
-3
MemberUnionidRelatedApiServiceImpl.java
.../service/out/impl/MemberUnionidRelatedApiServiceImpl.java
+27
-10
QywxTagApiServiceImpl.java
...anage/service/service/out/impl/QywxTagApiServiceImpl.java
+8
-7
HmLinkApiServiceImpl.java
...age/service/service/out/impl/hm/HmLinkApiServiceImpl.java
+171
-19
HaobanMenuServiceImpl.java
...nage/service/service/role/impl/HaobanMenuServiceImpl.java
+6
-0
dubbo-haoban-manage-service.xml
...ervice/src/main/resources/dubbo-haoban-manage-service.xml
+2
-0
HandoverExternalMapper.xml
...vice/src/main/resources/mapper/HandoverExternalMapper.xml
+18
-0
TabHaobanExternalClerkRelatedMapper.xml
.../resources/mapper/TabHaobanExternalClerkRelatedMapper.xml
+4
-2
TabHaobanStaffClerkRelationMapper.xml
...in/resources/mapper/TabHaobanStaffClerkRelationMapper.xml
+11
-0
GroupChatHmMapper.xml
...vice/src/main/resources/mapper/chat/GroupChatHmMapper.xml
+29
-4
GroupChatOwnerMapper.xml
...e/src/main/resources/mapper/chat/GroupChatOwnerMapper.xml
+9
-3
HmLinkMapper.xml
...ge3-service/src/main/resources/mapper/hm/HmLinkMapper.xml
+5
-4
WxUserAddLogMapper.xml
...rvice/src/main/resources/mapper/hm/WxUserAddLogMapper.xml
+8
-0
qwMomentPlanMapper.xml
...e/src/main/resources/mapper/moment/qwMomentPlanMapper.xml
+11
-3
FileUtils4.java
haoban-manage3-service/src/test/java/FileUtils4.java
+51
-9
HalfFriendTest.java
haoban-manage3-service/src/test/java/HalfFriendTest.java
+42
-35
HandoverTest.java
haoban-manage3-service/src/test/java/HandoverTest.java
+1
-1
HmLinkTest.java
haoban-manage3-service/src/test/java/HmLinkTest.java
+8
-1
ServiceTest.java
haoban-manage3-service/src/test/java/ServiceTest.java
+3
-1
GroupChatController.java
...aoban/manage/web/controller/chat/GroupChatController.java
+19
-0
GroupChatHmController.java
...ban/manage/web/controller/chat/GroupChatHmController.java
+53
-1
GroupChatPlanController.java
...n/manage/web/controller/chat/GroupChatPlanController.java
+20
-20
HmLinkController.java
...gic/haoban/manage/web/controller/hm/HmLinkController.java
+46
-1
MomentDataClickExcelHandler.java
...ge/web/controller/moment/MomentDataClickExcelHandler.java
+97
-0
MomentDataMemberExcelHandler.java
...e/web/controller/moment/MomentDataMemberExcelHandler.java
+99
-0
MomentDataOrderExcelHandler.java
...ge/web/controller/moment/MomentDataOrderExcelHandler.java
+94
-0
QwMomentDataController.java
.../manage/web/controller/moment/QwMomentDataController.java
+403
-0
QywxOpenTaskController.java
...an/manage/web/controller/open/QywxOpenTaskController.java
+12
-0
MomentDataQO.java
...ava/com/gic/haoban/manage/web/qo/moment/MomentDataQO.java
+64
-0
QwMomentPlanQO.java
...a/com/gic/haoban/manage/web/qo/moment/QwMomentPlanQO.java
+20
-0
GroupChatHmVO.java
...java/com/gic/haoban/manage/web/vo/chat/GroupChatHmVO.java
+37
-0
GroupChatPlanExcelVO.java
...m/gic/haoban/manage/web/vo/chat/GroupChatPlanExcelVO.java
+26
-0
HmLinkVO.java
...c/main/java/com/gic/haoban/manage/web/vo/hm/HmLinkVO.java
+10
-0
HaobanQwMomentPlanVO.java
...gic/haoban/manage/web/vo/moment/HaobanQwMomentPlanVO.java
+19
-0
MomentDataClickVO.java
...om/gic/haoban/manage/web/vo/moment/MomentDataClickVO.java
+180
-0
MomentDataMemberVO.java
...m/gic/haoban/manage/web/vo/moment/MomentDataMemberVO.java
+169
-0
MomentDataOrderVO.java
...om/gic/haoban/manage/web/vo/moment/MomentDataOrderVO.java
+194
-0
MomentDataVO.java
...ava/com/gic/haoban/manage/web/vo/moment/MomentDataVO.java
+55
-0
WxEnterpriseInfoController.java
...ban/manage/web/controller/WxEnterpriseInfoController.java
+1
-1
ContentMaterialShareQO.java
.../haoban/manage/web/qo/content/ContentMaterialShareQO.java
+23
-0
No files found.
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/dto/chat/GroupChatHmDTO.java
View file @
dfbe4484
...
@@ -47,8 +47,45 @@ public class GroupChatHmDTO implements Serializable {
...
@@ -47,8 +47,45 @@ public class GroupChatHmDTO implements Serializable {
private
Integer
statusFlag
;
private
Integer
statusFlag
;
// 可以群数
// 可以群数
private
Integer
usableChatCount
;
private
Integer
usableChatCount
;
private
String
storeId
;
private
String
storeName
;
private
String
storeCode
;
// 0已删除 1有效
private
int
storeStatus
;
public
String
getStoreName
()
{
return
storeName
;
}
public
void
setStoreName
(
String
storeName
)
{
this
.
storeName
=
storeName
;
}
public
String
getStoreCode
()
{
return
storeCode
;
}
public
void
setStoreCode
(
String
storeCode
)
{
this
.
storeCode
=
storeCode
;
}
public
int
getStoreStatus
()
{
return
storeStatus
;
}
public
void
setStoreStatus
(
int
storeStatus
)
{
this
.
storeStatus
=
storeStatus
;
}
public
String
getStoreId
()
{
return
storeId
;
}
public
void
setStoreId
(
String
storeId
)
{
this
.
storeId
=
storeId
;
}
public
Integer
getUsableChatCount
()
{
public
Integer
getUsableChatCount
()
{
return
usableChatCount
;
return
usableChatCount
;
}
}
...
...
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/dto/chat/GroupChatOwnerDTO.java
View file @
dfbe4484
...
@@ -28,7 +28,17 @@ public class GroupChatOwnerDTO implements Serializable {
...
@@ -28,7 +28,17 @@ public class GroupChatOwnerDTO implements Serializable {
private
String
wxOpenUserId
;
private
String
wxOpenUserId
;
private
java
.
util
.
Date
createTime
;
private
java
.
util
.
Date
createTime
;
private
java
.
util
.
Date
updateTime
;
private
java
.
util
.
Date
updateTime
;
private
String
storeNames
;
public
String
getStoreNames
()
{
return
storeNames
;
}
public
void
setStoreNames
(
String
storeNames
)
{
this
.
storeNames
=
storeNames
;
}
public
String
getWxUserId
()
{
public
String
getWxUserId
()
{
return
wxUserId
;
return
wxUserId
;
}
}
...
...
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/dto/hm/HmLinkDTO.java
View file @
dfbe4484
...
@@ -46,6 +46,17 @@ public class HmLinkDTO implements Serializable {
...
@@ -46,6 +46,17 @@ public class HmLinkDTO implements Serializable {
// 群活码配置
// 群活码配置
private
List
<
HmLinkChatDTO
>
linkChatList
;
private
List
<
HmLinkChatDTO
>
linkChatList
;
// [{"type":1服务门店2协管3lbs4指定人群,"open":1}]
private
String
chatStoreRule
;
public
String
getChatStoreRule
()
{
return
chatStoreRule
;
}
public
void
setChatStoreRule
(
String
chatStoreRule
)
{
this
.
chatStoreRule
=
chatStoreRule
;
}
public
List
<
HmLinkChatDTO
>
getLinkChatList
()
{
public
List
<
HmLinkChatDTO
>
getLinkChatList
()
{
return
linkChatList
;
return
linkChatList
;
}
}
...
...
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/dto/hm/HmLinkStoreDTO.java
View file @
dfbe4484
...
@@ -31,6 +31,25 @@ public class HmLinkStoreDTO implements Serializable {
...
@@ -31,6 +31,25 @@ public class HmLinkStoreDTO implements Serializable {
private
java
.
util
.
Date
createTime
;
private
java
.
util
.
Date
createTime
;
private
java
.
util
.
Date
updateTime
;
private
java
.
util
.
Date
updateTime
;
private
double
distance
;
private
String
distanceStr
;
public
double
getDistance
()
{
return
distance
;
}
public
void
setDistance
(
double
distance
)
{
this
.
distance
=
distance
;
}
public
String
getDistanceStr
()
{
return
distanceStr
;
}
public
void
setDistanceStr
(
String
distanceStr
)
{
this
.
distanceStr
=
distanceStr
;
}
public
String
getStoreAddress
()
{
public
String
getStoreAddress
()
{
return
storeAddress
;
return
storeAddress
;
}
}
...
...
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/dto/hm/HmLinkWxaDTO.java
View file @
dfbe4484
...
@@ -25,7 +25,7 @@ public class HmLinkWxaDTO implements Serializable {
...
@@ -25,7 +25,7 @@ public class HmLinkWxaDTO implements Serializable {
// 二维码
// 二维码
private
String
hmQrcode
;
private
String
hmQrcode
;
// 自定义门店规则1推荐门店 2附近门店
// 自定义门店规则1推荐门店 2附近门店
3:获取群活码需要传入经纬度
private
int
storeType
;
private
int
storeType
;
// 是否展示省市区门店查询
// 是否展示省市区门店查询
private
int
selectStoreFlag
;
private
int
selectStoreFlag
;
...
@@ -40,6 +40,18 @@ public class HmLinkWxaDTO implements Serializable {
...
@@ -40,6 +40,18 @@ public class HmLinkWxaDTO implements Serializable {
*/
*/
private
Integer
qwFriendFlag
;
private
Integer
qwFriendFlag
;
// 是否群活码
private
boolean
isGroupChatHm
;
public
boolean
isGroupChatHm
()
{
return
isGroupChatHm
;
}
public
void
setGroupChatHm
(
boolean
isGroupChatHm
)
{
this
.
isGroupChatHm
=
isGroupChatHm
;
}
public
Integer
getQwFriendFlag
()
{
public
Integer
getQwFriendFlag
()
{
return
qwFriendFlag
;
return
qwFriendFlag
;
}
}
...
...
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/dto/moment/QwMomentPlanDTO.java
View file @
dfbe4484
...
@@ -78,6 +78,26 @@ public class QwMomentPlanDTO implements Serializable{
...
@@ -78,6 +78,26 @@ public class QwMomentPlanDTO implements Serializable{
*/
*/
private
List
<
QwMomentPlanAttendDTO
>
clerkList
;
private
List
<
QwMomentPlanAttendDTO
>
clerkList
;
private
Integer
analyseFlag
;
private
Integer
analyseDay
;
public
Integer
getAnalyseFlag
()
{
return
analyseFlag
;
}
public
void
setAnalyseFlag
(
Integer
analyseFlag
)
{
this
.
analyseFlag
=
analyseFlag
;
}
public
Integer
getAnalyseDay
()
{
return
analyseDay
;
}
public
void
setAnalyseDay
(
Integer
analyseDay
)
{
this
.
analyseDay
=
analyseDay
;
}
public
Integer
getMediaLinkFlag
()
{
public
Integer
getMediaLinkFlag
()
{
return
mediaLinkFlag
;
return
mediaLinkFlag
;
}
}
...
...
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/dto/qdto/chat/ChatHmSearchQDTO.java
View file @
dfbe4484
...
@@ -23,6 +23,17 @@ public class ChatHmSearchQDTO extends PageQo implements Serializable {
...
@@ -23,6 +23,17 @@ public class ChatHmSearchQDTO extends PageQo implements Serializable {
private
List
<
String
>
creatorIdList
;
private
List
<
String
>
creatorIdList
;
private
Integer
linkCount
;
private
Integer
linkCount
;
private
int
allFlag
;
private
int
allFlag
;
private
String
storeId
;
public
String
getStoreId
()
{
return
storeId
;
}
public
void
setStoreId
(
String
storeId
)
{
this
.
storeId
=
storeId
;
}
public
String
getSearchParamsCode
()
{
public
String
getSearchParamsCode
()
{
return
searchParamsCode
;
return
searchParamsCode
;
}
}
...
...
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/dto/qdto/chat/OwnerSearchQDTO.java
View file @
dfbe4484
...
@@ -26,7 +26,38 @@ public class OwnerSearchQDTO implements Serializable {
...
@@ -26,7 +26,38 @@ public class OwnerSearchQDTO implements Serializable {
private
List
<
String
>
departmentIdList
;
private
List
<
String
>
departmentIdList
;
// 1查询在职 2查离职
// 1查询在职 2查离职
private
int
status
=
1
;
private
int
status
=
1
;
// 选择的企业id(过滤条件)
private
String
paramsEnterpriseId
;
// 显示门店名称的企业
private
String
showNameEnterpriseId
;
// 是否需要显示门店名称
private
int
showStoreNames
;
public
String
getShowNameEnterpriseId
()
{
return
showNameEnterpriseId
;
}
public
void
setShowNameEnterpriseId
(
String
showNameEnterpriseId
)
{
this
.
showNameEnterpriseId
=
showNameEnterpriseId
;
}
public
int
getShowStoreNames
()
{
return
showStoreNames
;
}
public
void
setShowStoreNames
(
int
showStoreNames
)
{
this
.
showStoreNames
=
showStoreNames
;
}
public
String
getParamsEnterpriseId
()
{
return
paramsEnterpriseId
;
}
public
void
setParamsEnterpriseId
(
String
paramsEnterpriseId
)
{
this
.
paramsEnterpriseId
=
paramsEnterpriseId
;
}
public
List
<
String
>
getDepartmentIdList
()
{
public
List
<
String
>
getDepartmentIdList
()
{
return
departmentIdList
;
return
departmentIdList
;
}
}
...
...
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/qdto/chat/GroupChatActivityHmQDTO.java
View file @
dfbe4484
...
@@ -49,6 +49,17 @@ public class GroupChatActivityHmQDTO implements Serializable {
...
@@ -49,6 +49,17 @@ public class GroupChatActivityHmQDTO implements Serializable {
private
GroupChatActivityDTO
chatActivity
;
private
GroupChatActivityDTO
chatActivity
;
// 指定门店
private
String
inStoreId
;
public
String
getInStoreId
()
{
return
inStoreId
;
}
public
void
setInStoreId
(
String
inStoreId
)
{
this
.
inStoreId
=
inStoreId
;
}
public
Long
getChatActivityId
()
{
public
Long
getChatActivityId
()
{
return
chatActivityId
;
return
chatActivityId
;
}
}
...
...
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/qdto/chat/LinkHmFromWxaQDTO.java
0 → 100644
View file @
dfbe4484
package
com
.
gic
.
haoban
.
manage
.
api
.
qdto
.
chat
;
import
java.io.Serializable
;
public
class
LinkHmFromWxaQDTO
implements
Serializable
{
/**
* 纬度
*/
private
String
latitude
;
/**
* 经度
*/
private
String
longitude
;
/**
* 省市编码
*/
private
String
districtCode
;
/**
* 小程序是否需要位置信息的查询
*/
private
Integer
justLocationFlag
;
public
Integer
getJustLocationFlag
()
{
return
justLocationFlag
;
}
public
void
setJustLocationFlag
(
Integer
justLocationFlag
)
{
this
.
justLocationFlag
=
justLocationFlag
;
}
public
String
getLatitude
()
{
return
latitude
;
}
public
void
setLatitude
(
String
latitude
)
{
this
.
latitude
=
latitude
;
}
public
String
getLongitude
()
{
return
longitude
;
}
public
void
setLongitude
(
String
longitude
)
{
this
.
longitude
=
longitude
;
}
public
String
getDistrictCode
()
{
return
districtCode
;
}
public
void
setDistrictCode
(
String
districtCode
)
{
this
.
districtCode
=
districtCode
;
}
}
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/service/HandoverOperationApiService.java
View file @
dfbe4484
...
@@ -63,6 +63,9 @@ public interface HandoverOperationApiService {
...
@@ -63,6 +63,9 @@ public interface HandoverOperationApiService {
*/
*/
public
Page
<
HandoverExternalDTO
>
pageHandoverFriend
(
String
wxEnterpriseId
,
String
search
,
List
<
String
>
staffIds
,
List
<
String
>
transferIds
,
BasePageInfo
pageInfo
);
public
Page
<
HandoverExternalDTO
>
pageHandoverFriend
(
String
wxEnterpriseId
,
String
search
,
List
<
String
>
staffIds
,
List
<
String
>
transferIds
,
BasePageInfo
pageInfo
);
List
<
HandoverExternalDTO
>
listAllHandoverFriend
(
String
wxEnterpriseId
,
String
search
,
List
<
String
>
staffIds
);
/**
/**
* 分配的客户列表
* 分配的客户列表
*
*
...
...
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/service/MaterialApiService.java
View file @
dfbe4484
...
@@ -97,4 +97,6 @@ public interface MaterialApiService {
...
@@ -97,4 +97,6 @@ public interface MaterialApiService {
//mediaType1群发 2朋友圈
//mediaType1群发 2朋友圈
public
List
<
String
>
getImageMediaId
(
String
wxEnterpriseId
,
List
<
ContentMaterialDTO
>
imageList
,
int
mediaType
)
;
public
List
<
String
>
getImageMediaId
(
String
wxEnterpriseId
,
List
<
ContentMaterialDTO
>
imageList
,
int
mediaType
)
;
void
getImageMediaId
(
String
wxEnterpriseId
,
List
<
String
>
idList
)
;
}
}
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/service/QywxTagApiService.java
View file @
dfbe4484
...
@@ -88,7 +88,7 @@ public interface QywxTagApiService {
...
@@ -88,7 +88,7 @@ public interface QywxTagApiService {
/**
/**
*
同步企业微信导入gic的会员标签
*
企业微信打标-gic侧的处理
*
*
* @param wxEnterpriseId
* @param wxEnterpriseId
* @param externalUserId
* @param externalUserId
...
...
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/service/hm/HmLinkApiService.java
View file @
dfbe4484
...
@@ -5,6 +5,7 @@ import java.util.List;
...
@@ -5,6 +5,7 @@ import java.util.List;
import
com.gic.api.base.commons.ServiceResponse
;
import
com.gic.api.base.commons.ServiceResponse
;
import
com.gic.haoban.manage.api.dto.hm.HmLinkDTO
;
import
com.gic.haoban.manage.api.dto.hm.HmLinkDTO
;
import
com.gic.haoban.manage.api.dto.hm.HmLinkWxaDTO
;
import
com.gic.haoban.manage.api.dto.hm.HmLinkWxaDTO
;
import
com.gic.haoban.manage.api.qdto.chat.LinkHmFromWxaQDTO
;
/**
/**
*
*
...
@@ -53,7 +54,10 @@ public interface HmLinkApiService {
...
@@ -53,7 +54,10 @@ public interface HmLinkApiService {
*/
*/
public
ServiceResponse
<
HmLinkWxaDTO
>
getLinkHmFromWxa
(
String
enterpriseId
,
Integer
whitchStore
,
String
storeId
,
public
ServiceResponse
<
HmLinkWxaDTO
>
getLinkHmFromWxa
(
String
enterpriseId
,
Integer
whitchStore
,
String
storeId
,
String
clerkId
,
String
linkShortCode
,
String
mixPhone
,
String
unionid
,
String
memberId
);
String
clerkId
,
String
linkShortCode
,
String
mixPhone
,
String
unionid
,
String
memberId
);
public
ServiceResponse
<
HmLinkWxaDTO
>
getLinkHmFromWxa
(
String
enterpriseId
,
Integer
whitchStore
,
String
storeId
,
String
clerkId
,
String
linkShortCode
,
String
mixPhone
,
String
unionid
,
String
memberId
,
LinkHmFromWxaQDTO
qdto
);
/**
/**
*
*
* @Title: getMemberClerkHm
* @Title: getMemberClerkHm
...
...
haoban-manage3-operation-web/src/main/java/com/gic/haoban/manage/web/controller/QywxCallbackController.java
View file @
dfbe4484
...
@@ -135,7 +135,7 @@ public class QywxCallbackController extends WebBaseController {
...
@@ -135,7 +135,7 @@ public class QywxCallbackController extends WebBaseController {
private
void
chat
(
String
uuid
,
JSONObject
json
)
{
private
void
chat
(
String
uuid
,
JSONObject
json
)
{
int
msgtype
=
json
.
getIntValue
(
"msgtype"
);
int
msgtype
=
json
.
getIntValue
(
"msgtype"
);
// 群发任务
// 群发任务
if
(
msgtype
==
573
)
{
if
(
msgtype
==
573
||
msgtype
==
529
)
{
json
.
put
(
"uuid"
,
uuid
);
json
.
put
(
"uuid"
,
uuid
);
this
.
openQwApiService
.
saveNotice
(
json
.
toJSONString
());
this
.
openQwApiService
.
saveNotice
(
json
.
toJSONString
());
return
;
return
;
...
...
haoban-manage3-operation-web/src/main/webapp/static/token.html
View file @
dfbe4484
...
@@ -158,6 +158,21 @@ function corpidToken() {
...
@@ -158,6 +158,21 @@ function corpidToken() {
});
});
}
}
function
corpidTokenSelf
()
{
var
corpids
=
$
(
"#corpids"
).
val
()
;
if
(
!
corpids
||
corpids
.
indexOf
(
"#"
)
==-
1
)
{
alert
(
"请输入corpid#secret"
)
;
return
;
}
$
.
ajax
({
type
:
"post"
,
url
:
host
+
'/gic/weixin3th/qywx-token/reflush-token?tokenType=4&corpid='
+
corpids
.
split
(
"#"
)[
0
]
+
"&suiteId="
+
corpids
.
split
(
"#"
)[
1
]
,
success
:
function
(
retData
)
{
alert
(
"已刷新"
)
}
});
}
function
suiteToken
()
{
function
suiteToken
()
{
$
.
ajax
({
$
.
ajax
({
type
:
"post"
,
type
:
"post"
,
...
@@ -183,6 +198,7 @@ function provideToken() {
...
@@ -183,6 +198,7 @@ function provideToken() {
<body>
<body>
<div
class=
"container"
id=
"couponDiv"
>
<div
class=
"container"
id=
"couponDiv"
>
<div
class=
"tab-pane"
id=
"tab2"
style=
"padding:5px"
>
<div
class=
"tab-pane"
id=
"tab2"
style=
"padding:5px"
>
<button
onclick=
"corpidTokenSelf()"
>
自建应用token强刷(access-token)
</button>
<button
onclick=
"corpidToken()"
>
企业应用token(access-token)
</button>
<button
onclick=
"corpidToken()"
>
企业应用token(access-token)
</button>
<button
onclick=
"suiteToken()"
>
好办应用token(suite-access-token)
</button>
<button
onclick=
"suiteToken()"
>
好办应用token(suite-access-token)
</button>
<button
onclick=
"provideToken()"
>
服务商token
</button>
<button
onclick=
"provideToken()"
>
服务商token
</button>
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/context/chat/JoinRuleManager.java
View file @
dfbe4484
...
@@ -10,6 +10,7 @@ import com.gic.api.base.commons.Constant;
...
@@ -10,6 +10,7 @@ import com.gic.api.base.commons.Constant;
import
com.gic.api.base.commons.Page
;
import
com.gic.api.base.commons.Page
;
import
com.gic.clerk.api.dto.ClerkDTO
;
import
com.gic.clerk.api.dto.ClerkDTO
;
import
com.gic.clerk.api.service.ClerkService
;
import
com.gic.clerk.api.service.ClerkService
;
import
com.gic.commons.util.EntityUtil
;
import
com.gic.enterprise.api.dto.StoreDTO
;
import
com.gic.enterprise.api.dto.StoreDTO
;
import
com.gic.enterprise.api.dto.StoreGroupDTO
;
import
com.gic.enterprise.api.dto.StoreGroupDTO
;
import
com.gic.enterprise.api.dto.StoreSearchDTO
;
import
com.gic.enterprise.api.dto.StoreSearchDTO
;
...
@@ -22,10 +23,12 @@ import com.gic.haoban.manage.api.dto.qdto.chat.ChatHmSearchQDTO;
...
@@ -22,10 +23,12 @@ import com.gic.haoban.manage.api.dto.qdto.chat.ChatHmSearchQDTO;
import
com.gic.haoban.manage.api.enums.chat.ChatActivityJoinEnum
;
import
com.gic.haoban.manage.api.enums.chat.ChatActivityJoinEnum
;
import
com.gic.haoban.manage.api.enums.chat.ChatActivityJoinRuleEnum
;
import
com.gic.haoban.manage.api.enums.chat.ChatActivityJoinRuleEnum
;
import
com.gic.haoban.manage.api.qdto.chat.GroupChatActivityHmQDTO
;
import
com.gic.haoban.manage.api.qdto.chat.GroupChatActivityHmQDTO
;
import
com.gic.haoban.manage.service.dao.mapper.chat.GroupChatHmMapper
;
import
com.gic.haoban.manage.service.dao.mapper.chat.GroupChatHmRelationMapper
;
import
com.gic.haoban.manage.service.dao.mapper.chat.GroupChatHmRelationMapper
;
import
com.gic.haoban.manage.service.dao.mapper.chat.GroupChatMapper
;
import
com.gic.haoban.manage.service.dao.mapper.chat.GroupChatMapper
;
import
com.gic.haoban.manage.service.dao.mapper.chat.GroupChatUserMapper
;
import
com.gic.haoban.manage.service.dao.mapper.chat.GroupChatUserMapper
;
import
com.gic.haoban.manage.service.entity.chat.TabGroupChat
;
import
com.gic.haoban.manage.service.entity.chat.TabGroupChat
;
import
com.gic.haoban.manage.service.entity.chat.TabGroupChatHm
;
import
com.gic.haoban.manage.service.entity.chat.TabGroupChatHmRelation
;
import
com.gic.haoban.manage.service.entity.chat.TabGroupChatHmRelation
;
import
com.gic.haoban.manage.service.entity.chat.TabGroupChatUser
;
import
com.gic.haoban.manage.service.entity.chat.TabGroupChatUser
;
import
com.gic.haoban.manage.service.pojo.bo.chat.GroupChatHmBO
;
import
com.gic.haoban.manage.service.pojo.bo.chat.GroupChatHmBO
;
...
@@ -79,6 +82,8 @@ public class JoinRuleManager {
...
@@ -79,6 +82,8 @@ public class JoinRuleManager {
private
ESMemberInfoService
esMemberInfoService
;
private
ESMemberInfoService
esMemberInfoService
;
@Autowired
@Autowired
private
MemberTagGroupApiService
memberTagGroupApiService
;
private
MemberTagGroupApiService
memberTagGroupApiService
;
@Autowired
private
GroupChatHmMapper
groupChatHmMapper
;
private
final
Map
<
ChatActivityJoinRuleEnum
,
FunctionWithException
<
GroupChatActivityHmQDTO
,
List
<
GroupChatHmBO
>>>
ruleHandlers
=
new
HashMap
<>();
private
final
Map
<
ChatActivityJoinRuleEnum
,
FunctionWithException
<
GroupChatActivityHmQDTO
,
List
<
GroupChatHmBO
>>>
ruleHandlers
=
new
HashMap
<>();
...
@@ -241,18 +246,22 @@ public class JoinRuleManager {
...
@@ -241,18 +246,22 @@ public class JoinRuleManager {
* @param activityHmQDTO qdto
* @param activityHmQDTO qdto
* @return
* @return
*/
*/
p
rivate
List
<
GroupChatHmBO
>
handleMainStore
(
GroupChatActivityHmQDTO
activityHmQDTO
)
{
p
ublic
List
<
GroupChatHmBO
>
handleMainStore
(
GroupChatActivityHmQDTO
activityHmQDTO
)
{
String
enterpriseId
=
activityHmQDTO
.
getEnterpriseId
();
String
enterpriseId
=
activityHmQDTO
.
getEnterpriseId
();
String
wxEnterpriseId
=
activityHmQDTO
.
getChatActivity
().
getWxEnterpriseId
();
String
wxEnterpriseId
=
activityHmQDTO
.
getChatActivity
().
getWxEnterpriseId
();
MemberStoreResp
memberStoreRelation
=
memberStoreService
.
getMemberStoreRelation
(
enterpriseId
,
activityHmQDTO
.
getInviteeMemberId
());
if
(
StringUtils
.
isNotBlank
(
activityHmQDTO
.
getInStoreId
()))
{
if
(
memberStoreRelation
==
null
)
{
return
getByStoreIdList
(
enterpriseId
,
wxEnterpriseId
,
Lists
.
newArrayList
(
activityHmQDTO
.
getInStoreId
()));
return
new
ArrayList
<>();
}
else
{
}
MemberStoreResp
memberStoreRelation
=
memberStoreService
.
getMemberStoreRelation
(
enterpriseId
,
activityHmQDTO
.
getInviteeMemberId
());
String
mainStoreId
=
memberStoreRelation
.
getMainStoreId
();
if
(
memberStoreRelation
==
null
)
{
if
(
StringUtils
.
isBlank
(
mainStoreId
))
{
return
new
ArrayList
<>();
return
new
ArrayList
<>();
}
String
mainStoreId
=
memberStoreRelation
.
getMainStoreId
();
if
(
StringUtils
.
isBlank
(
mainStoreId
))
{
return
new
ArrayList
<>();
}
return
getByStoreIdList
(
enterpriseId
,
wxEnterpriseId
,
Lists
.
newArrayList
(
mainStoreId
));
}
}
return
getByStoreIdList
(
enterpriseId
,
wxEnterpriseId
,
Lists
.
newArrayList
(
mainStoreId
));
}
}
/**
/**
...
@@ -260,7 +269,7 @@ public class JoinRuleManager {
...
@@ -260,7 +269,7 @@ public class JoinRuleManager {
* @param activityHmQDTO qdto
* @param activityHmQDTO qdto
* @return
* @return
*/
*/
p
rivate
List
<
GroupChatHmBO
>
handleOtherStore
(
GroupChatActivityHmQDTO
activityHmQDTO
)
{
p
ublic
List
<
GroupChatHmBO
>
handleOtherStore
(
GroupChatActivityHmQDTO
activityHmQDTO
)
{
String
enterpriseId
=
activityHmQDTO
.
getEnterpriseId
();
String
enterpriseId
=
activityHmQDTO
.
getEnterpriseId
();
String
wxEnterpriseId
=
activityHmQDTO
.
getChatActivity
().
getWxEnterpriseId
();
String
wxEnterpriseId
=
activityHmQDTO
.
getChatActivity
().
getWxEnterpriseId
();
MemberStoreResp
memberStoreRelation
=
memberStoreService
.
getMemberStoreRelation
(
enterpriseId
,
activityHmQDTO
.
getInviteeMemberId
());
MemberStoreResp
memberStoreRelation
=
memberStoreService
.
getMemberStoreRelation
(
enterpriseId
,
activityHmQDTO
.
getInviteeMemberId
());
...
@@ -280,7 +289,7 @@ public class JoinRuleManager {
...
@@ -280,7 +289,7 @@ public class JoinRuleManager {
* @return
* @return
* @throws BusinessException
* @throws BusinessException
*/
*/
p
rivate
List
<
GroupChatHmBO
>
handleLbs
(
GroupChatActivityHmQDTO
activityHmQDTO
)
throws
BusinessException
{
p
ublic
List
<
GroupChatHmBO
>
handleLbs
(
GroupChatActivityHmQDTO
activityHmQDTO
)
throws
BusinessException
{
String
enterpriseId
=
activityHmQDTO
.
getEnterpriseId
();
String
enterpriseId
=
activityHmQDTO
.
getEnterpriseId
();
String
wxEnterpriseId
=
activityHmQDTO
.
getChatActivity
().
getWxEnterpriseId
();
String
wxEnterpriseId
=
activityHmQDTO
.
getChatActivity
().
getWxEnterpriseId
();
boolean
skipArea
=
activityHmQDTO
.
isSkipArea
();
boolean
skipArea
=
activityHmQDTO
.
isSkipArea
();
...
@@ -304,6 +313,7 @@ public class JoinRuleManager {
...
@@ -304,6 +313,7 @@ public class JoinRuleManager {
}
}
//获取storeId对应活码
//获取storeId对应活码
Map
<
String
,
List
<
GroupChatHmBO
>>
storeToHmMap
=
getStoreIdToGroupChatHmBOMap
(
enterpriseId
,
wxEnterpriseId
,
storeIds
);
Map
<
String
,
List
<
GroupChatHmBO
>>
storeToHmMap
=
getStoreIdToGroupChatHmBOMap
(
enterpriseId
,
wxEnterpriseId
,
storeIds
);
addSetHm
(
storeIds
,
storeToHmMap
);
if
(
MapUtil
.
isEmpty
(
storeToHmMap
))
{
if
(
MapUtil
.
isEmpty
(
storeToHmMap
))
{
return
new
ArrayList
<>();
return
new
ArrayList
<>();
}
}
...
@@ -327,6 +337,24 @@ public class JoinRuleManager {
...
@@ -327,6 +337,24 @@ public class JoinRuleManager {
return
storeToHmMap
.
get
(
storeId
);
return
storeToHmMap
.
get
(
storeId
);
}
}
public
void
addSetHm
(
List
<
String
>
storeIds
,
Map
<
String
,
List
<
GroupChatHmBO
>>
storeToHmMap
)
{
List
<
TabGroupChatHm
>
hmList
=
groupChatHmMapper
.
listByStoreIdList
(
storeIds
)
;
if
(
CollectionUtils
.
isNotEmpty
(
hmList
))
{
List
<
GroupChatHmBO
>
setList
=
EntityUtil
.
changeEntityListByJSON
(
GroupChatHmBO
.
class
,
hmList
)
;
Map
<
String
,
List
<
GroupChatHmBO
>>
setMap
=
setList
.
stream
().
collect
(
Collectors
.
groupingBy
(
o
->
o
.
getStoreId
(),
Collectors
.
toList
()));
Set
<
String
>
set
=
setMap
.
keySet
();
Iterator
<
String
>
it
=
set
.
iterator
();
while
(
it
.
hasNext
())
{
String
key
=
it
.
next
()
;
if
(
null
!=
storeToHmMap
.
get
(
key
))
{
storeToHmMap
.
get
(
key
).
addAll
(
setMap
.
get
(
key
));
}
else
{
storeToHmMap
.
put
(
key
,
setMap
.
get
(
key
));
}
}
}
}
/**
/**
* 根据门店id获取群活码
* 根据门店id获取群活码
* @param enterpriseId 企业id
* @param enterpriseId 企业id
...
@@ -336,6 +364,10 @@ public class JoinRuleManager {
...
@@ -336,6 +364,10 @@ public class JoinRuleManager {
*/
*/
private
List
<
GroupChatHmBO
>
getByStoreIdList
(
String
enterpriseId
,
String
wxEnterpriseId
,
List
<
String
>
storeIdList
)
{
private
List
<
GroupChatHmBO
>
getByStoreIdList
(
String
enterpriseId
,
String
wxEnterpriseId
,
List
<
String
>
storeIdList
)
{
logger
.
info
(
"门店id列表:{}"
,
JSON
.
toJSONString
(
storeIdList
));
logger
.
info
(
"门店id列表:{}"
,
JSON
.
toJSONString
(
storeIdList
));
List
<
TabGroupChatHm
>
hmList
=
this
.
groupChatHmMapper
.
listByStoreIdList
(
storeIdList
)
;
if
(
CollectionUtils
.
isNotEmpty
(
hmList
))
{
return
EntityUtil
.
changeEntityListByJSON
(
GroupChatHmBO
.
class
,
hmList
)
;
}
// 获取导购列表
// 获取导购列表
Page
<
ClerkDTO
>
page
=
clerkService
.
pageClerkByNameOrCode
(
enterpriseId
,
""
,
storeIdList
,
1
,
1000
);
Page
<
ClerkDTO
>
page
=
clerkService
.
pageClerkByNameOrCode
(
enterpriseId
,
""
,
storeIdList
,
1
,
1000
);
List
<
ClerkDTO
>
clerkList
=
page
.
getResult
();
List
<
ClerkDTO
>
clerkList
=
page
.
getResult
();
...
@@ -355,6 +387,13 @@ public class JoinRuleManager {
...
@@ -355,6 +387,13 @@ public class JoinRuleManager {
if
(
CollectionUtils
.
isEmpty
(
staffIdList
))
{
if
(
CollectionUtils
.
isEmpty
(
staffIdList
))
{
return
new
ArrayList
<>();
return
new
ArrayList
<>();
}
}
// 过滤绑定多个门店的成员
Map
<
String
,
Boolean
>
map
=
this
.
staffClerkRelationService
.
staffManyStore
(
staffIdList
)
;
staffIdList
=
staffIdList
.
stream
().
filter
(
item
->
null
==
map
.
get
(
item
)
||
!
map
.
get
(
item
)).
collect
(
Collectors
.
toList
())
;
logger
.
info
(
"过滤有多个门店的成员后={}"
,
staffIdList
);
if
(
CollectionUtils
.
isEmpty
(
staffIdList
))
{
return
new
ArrayList
<>();
}
// 通过staffId查询群
// 通过staffId查询群
List
<
TabGroupChat
>
groupChatList
=
groupChatMapper
.
listByStaffIds
(
enterpriseId
,
staffIdList
);
List
<
TabGroupChat
>
groupChatList
=
groupChatMapper
.
listByStaffIds
(
enterpriseId
,
staffIdList
);
if
(
CollectionUtils
.
isEmpty
(
groupChatList
))
{
if
(
CollectionUtils
.
isEmpty
(
groupChatList
))
{
...
@@ -377,7 +416,13 @@ public class JoinRuleManager {
...
@@ -377,7 +416,13 @@ public class JoinRuleManager {
hmSearchQDTO
.
setChatHmIdList
(
chatHmIdList
);
hmSearchQDTO
.
setChatHmIdList
(
chatHmIdList
);
hmSearchQDTO
.
setStatus
(
1
);
hmSearchQDTO
.
setStatus
(
1
);
Page
<
GroupChatHmBO
>
listPage
=
groupChatHmService
.
listPage
(
hmSearchQDTO
,
basePageInfo
);
Page
<
GroupChatHmBO
>
listPage
=
groupChatHmService
.
listPage
(
hmSearchQDTO
,
basePageInfo
);
return
listPage
.
getResult
();
logger
.
info
(
"群活码列表:{}"
,
JSON
.
toJSONString
(
listPage
));
List
<
GroupChatHmBO
>
retList
=
listPage
.
getResult
();
if
(
CollectionUtils
.
isNotEmpty
(
retList
))
{
Map
<
Long
,
Boolean
>
hmMap
=
this
.
groupChatHmService
.
hasManyOwnerStore
(
wxEnterpriseId
,
retList
.
stream
().
map
(
o
->
o
.
getChatHmId
()).
collect
(
Collectors
.
toList
()))
;
retList
=
retList
.
stream
().
filter
(
item
->
null
==
hmMap
.
get
(
item
.
getChatHmId
())
||
!
hmMap
.
get
(
item
.
getChatHmId
())).
collect
(
Collectors
.
toList
())
;
}
return
retList
;
}
}
...
@@ -388,7 +433,7 @@ public class JoinRuleManager {
...
@@ -388,7 +433,7 @@ public class JoinRuleManager {
* @param storeIdList 门店id列表
* @param storeIdList 门店id列表
* @return
* @return
*/
*/
p
rivate
Map
<
String
,
List
<
GroupChatHmBO
>>
getStoreIdToGroupChatHmBOMap
(
String
enterpriseId
,
String
wxEnterpriseId
,
List
<
String
>
storeIdList
)
{
p
ublic
Map
<
String
,
List
<
GroupChatHmBO
>>
getStoreIdToGroupChatHmBOMap
(
String
enterpriseId
,
String
wxEnterpriseId
,
List
<
String
>
storeIdList
)
{
logger
.
info
(
"门店id列表:{}"
,
JSON
.
toJSONString
(
storeIdList
));
logger
.
info
(
"门店id列表:{}"
,
JSON
.
toJSONString
(
storeIdList
));
Page
<
ClerkDTO
>
page
=
clerkService
.
pageClerkByNameOrCode
(
enterpriseId
,
""
,
storeIdList
,
1
,
10000
);
Page
<
ClerkDTO
>
page
=
clerkService
.
pageClerkByNameOrCode
(
enterpriseId
,
""
,
storeIdList
,
1
,
10000
);
List
<
ClerkDTO
>
clerkList
=
page
.
getResult
();
List
<
ClerkDTO
>
clerkList
=
page
.
getResult
();
...
@@ -407,6 +452,13 @@ public class JoinRuleManager {
...
@@ -407,6 +452,13 @@ public class JoinRuleManager {
if
(
CollectionUtils
.
isEmpty
(
staffIdList
))
{
if
(
CollectionUtils
.
isEmpty
(
staffIdList
))
{
return
new
HashMap
<>();
return
new
HashMap
<>();
}
}
// 过滤绑定多个门店的成员
Map
<
String
,
Boolean
>
map
=
this
.
staffClerkRelationService
.
staffManyStore
(
staffIdList
)
;
staffIdList
=
staffIdList
.
stream
().
filter
(
item
->
null
==
map
.
get
(
item
)
||
!
map
.
get
(
item
)).
collect
(
Collectors
.
toList
())
;
logger
.
info
(
"过滤有多个门店的成员后={}"
,
staffIdList
);
if
(
CollectionUtils
.
isEmpty
(
staffIdList
))
{
return
new
HashMap
<>();
}
Map
<
String
,
Set
<
String
>>
storeToStaffMap
=
relationDTOList
.
stream
().
collect
(
Collectors
.
groupingBy
(
StaffClerkRelationDTO:
:
getStoreId
,
Map
<
String
,
Set
<
String
>>
storeToStaffMap
=
relationDTOList
.
stream
().
collect
(
Collectors
.
groupingBy
(
StaffClerkRelationDTO:
:
getStoreId
,
Collectors
.
mapping
(
StaffClerkRelationDTO:
:
getStaffId
,
Collectors
.
toSet
())));
Collectors
.
mapping
(
StaffClerkRelationDTO:
:
getStaffId
,
Collectors
.
toSet
())));
//通过staffId查询群
//通过staffId查询群
...
@@ -436,11 +488,16 @@ public class JoinRuleManager {
...
@@ -436,11 +488,16 @@ public class JoinRuleManager {
hmSearchQDTO
.
setChatHmIdList
(
chatHmIdList
);
hmSearchQDTO
.
setChatHmIdList
(
chatHmIdList
);
hmSearchQDTO
.
setStatus
(
1
);
hmSearchQDTO
.
setStatus
(
1
);
Page
<
GroupChatHmBO
>
listPage
=
groupChatHmService
.
listPage
(
hmSearchQDTO
,
basePageInfo
);
Page
<
GroupChatHmBO
>
listPage
=
groupChatHmService
.
listPage
(
hmSearchQDTO
,
basePageInfo
);
if
(
CollectionUtils
.
isEmpty
(
listPage
.
getResult
()))
{
List
<
GroupChatHmBO
>
hmList
=
listPage
.
getResult
();
if
(
CollectionUtils
.
isEmpty
(
hmList
))
{
return
new
HashMap
<>();
}
Map
<
Long
,
Boolean
>
hmMap
=
this
.
groupChatHmService
.
hasManyOwnerStore
(
wxEnterpriseId
,
hmList
.
stream
().
map
(
o
->
o
.
getChatHmId
()).
collect
(
Collectors
.
toList
()))
;
hmList
=
hmList
.
stream
().
filter
(
item
->
null
==
hmMap
.
get
(
item
.
getChatHmId
())
||
!
hmMap
.
get
(
item
.
getChatHmId
())).
collect
(
Collectors
.
toList
())
;
Map
<
Long
,
GroupChatHmBO
>
groupHmMap
=
hmList
.
stream
().
collect
(
Collectors
.
toMap
(
GroupChatHmBO:
:
getChatHmId
,
v
->
v
,
(
e
,
x
)
->
e
));
if
(
CollectionUtils
.
isEmpty
(
hmList
))
{
return
new
HashMap
<>();
return
new
HashMap
<>();
}
}
Map
<
Long
,
GroupChatHmBO
>
groupHmMap
=
listPage
.
getResult
().
stream
().
collect
(
Collectors
.
toMap
(
GroupChatHmBO:
:
getChatHmId
,
v
->
v
,
(
e
,
x
)
->
e
));
Map
<
String
,
List
<
GroupChatHmBO
>>
storeIdToGroupChatHmBOMap
=
convertMap
(
storeToStaffMap
,
staffToGroupChatMap
,
groupChatToHmMap
,
groupHmMap
);
Map
<
String
,
List
<
GroupChatHmBO
>>
storeIdToGroupChatHmBOMap
=
convertMap
(
storeToStaffMap
,
staffToGroupChatMap
,
groupChatToHmMap
,
groupHmMap
);
return
storeIdToGroupChatHmBOMap
;
return
storeIdToGroupChatHmBOMap
;
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/dao/mapper/HandoverExternalMapper.java
View file @
dfbe4484
package
com
.
gic
.
haoban
.
manage
.
service
.
dao
.
mapper
;
package
com
.
gic
.
haoban
.
manage
.
service
.
dao
.
mapper
;
import
com.gic.haoban.manage.api.dto.HandoverExternalDTO
;
import
com.gic.haoban.manage.api.dto.HandoverStaffFriendCountDTO
;
import
com.gic.haoban.manage.api.dto.HandoverStaffFriendCountDTO
;
import
com.gic.haoban.manage.service.entity.TabHandoverExternal
;
import
com.gic.haoban.manage.service.entity.TabHandoverExternal
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Mapper
;
...
@@ -76,4 +77,6 @@ public interface HandoverExternalMapper {
...
@@ -76,4 +77,6 @@ public interface HandoverExternalMapper {
* @return
* @return
*/
*/
List
<
HandoverStaffFriendCountDTO
>
listPreCountByStaffIds
(
@Param
(
"wxEnterpriseId"
)
String
wxEnterpriseId
,
@Param
(
"staffIds"
)
List
<
String
>
staffIds
);
List
<
HandoverStaffFriendCountDTO
>
listPreCountByStaffIds
(
@Param
(
"wxEnterpriseId"
)
String
wxEnterpriseId
,
@Param
(
"staffIds"
)
List
<
String
>
staffIds
);
List
<
TabHandoverExternal
>
listAllByStaffIds
(
@Param
(
"wxEnterpriseId"
)
String
wxEnterpriseId
,
@Param
(
"staffIds"
)
List
<
String
>
staffIds
,
@Param
(
"search"
)
String
search
,
@Param
(
"status"
)
Integer
status
);
}
}
\ No newline at end of file
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/dao/mapper/TabHaobanStaffClerkRelationMapper.java
View file @
dfbe4484
...
@@ -3,6 +3,7 @@ package com.gic.haoban.manage.service.dao.mapper;
...
@@ -3,6 +3,7 @@ package com.gic.haoban.manage.service.dao.mapper;
import
com.gic.haoban.manage.api.dto.StaffClerkRelationDTO
;
import
com.gic.haoban.manage.api.dto.StaffClerkRelationDTO
;
import
com.gic.haoban.manage.service.entity.TabHaobanStaffClerkRelation
;
import
com.gic.haoban.manage.service.entity.TabHaobanStaffClerkRelation
;
import
com.gic.haoban.manage.service.entity.ext.MemberStaffRelExtDO
;
import
com.gic.haoban.manage.service.entity.ext.MemberStaffRelExtDO
;
import
com.gic.haoban.manage.service.pojo.StaffStoreNumBO
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.Date
;
import
java.util.Date
;
...
@@ -150,4 +151,6 @@ public interface TabHaobanStaffClerkRelationMapper {
...
@@ -150,4 +151,6 @@ public interface TabHaobanStaffClerkRelationMapper {
List
<
TabHaobanStaffClerkRelation
>
taskoverClerkIdListAll
(
@Param
(
"staffId"
)
String
staffId
)
;
List
<
TabHaobanStaffClerkRelation
>
taskoverClerkIdListAll
(
@Param
(
"staffId"
)
String
staffId
)
;
List
<
String
>
listAllStaffIdForOpenStaff
(
@Param
(
"enterpriseId"
)
String
enterpriseId
,
@Param
(
"wxEnterpriseId"
)
String
wxEnterpriseId
,
@Param
(
"clerkId"
)
String
clerkId
,
@Param
((
"storeIdList"
))
List
<
String
>
storeIdList
);
List
<
String
>
listAllStaffIdForOpenStaff
(
@Param
(
"enterpriseId"
)
String
enterpriseId
,
@Param
(
"wxEnterpriseId"
)
String
wxEnterpriseId
,
@Param
(
"clerkId"
)
String
clerkId
,
@Param
((
"storeIdList"
))
List
<
String
>
storeIdList
);
List
<
StaffStoreNumBO
>
staffStoreNum
(
@Param
(
"staffIdList"
)
List
<
String
>
staffIdList
);
}
}
\ No newline at end of file
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/dao/mapper/chat/GroupChatHmMapper.java
View file @
dfbe4484
...
@@ -2,6 +2,7 @@ package com.gic.haoban.manage.service.dao.mapper.chat;
...
@@ -2,6 +2,7 @@ package com.gic.haoban.manage.service.dao.mapper.chat;
import
java.util.List
;
import
java.util.List
;
import
com.gic.haoban.manage.service.pojo.HmStoreNumBO
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Param
;
import
com.gic.haoban.manage.api.dto.qdto.chat.ChatHmSearchQDTO
;
import
com.gic.haoban.manage.api.dto.qdto.chat.ChatHmSearchQDTO
;
...
@@ -33,5 +34,9 @@ public interface GroupChatHmMapper {
...
@@ -33,5 +34,9 @@ public interface GroupChatHmMapper {
public
List
<
TabGroupChatHm
>
list
(
ChatHmSearchQDTO
qdto
);
public
List
<
TabGroupChatHm
>
list
(
ChatHmSearchQDTO
qdto
);
List
<
TabGroupChatHm
>
listByStoreIdList
(
@Param
(
"storeIdList"
)
List
<
String
>
storeIdList
)
;
List
<
TabGroupChatHm
>
listAvailableByEnterpriseId
(
@Param
(
"enterpriseId"
)
String
enterpriseId
);
List
<
TabGroupChatHm
>
listAvailableByEnterpriseId
(
@Param
(
"enterpriseId"
)
String
enterpriseId
);
List
<
HmStoreNumBO
>
hasManyOwnerStore
(
@Param
(
"wxEnterpriseId"
)
String
wxEnterpriseId
,
@Param
(
"chatHmIdList"
)
List
<
Long
>
chatHmIdList
);
}
}
\ No newline at end of file
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/dao/mapper/hm/WxUserAddLogMapper.java
View file @
dfbe4484
...
@@ -54,6 +54,10 @@ public interface WxUserAddLogMapper {
...
@@ -54,6 +54,10 @@ public interface WxUserAddLogMapper {
public
TabWxUserAddLog
selectNewLog
(
@Param
(
"externalUserid"
)
String
externalUserid
,
public
TabWxUserAddLog
selectNewLog
(
@Param
(
"externalUserid"
)
String
externalUserid
,
@Param
(
"staffId"
)
String
staffId
);
@Param
(
"staffId"
)
String
staffId
);
public
TabWxUserAddLog
listNewLog
(
@Param
(
"externalUserid"
)
String
externalUserid
,
@Param
(
"staffId"
)
String
staffId
,
@Param
(
"friendClerkId"
)
String
friendClerkId
);
/**
/**
*
*
* @Title: listAllForDel
* @Title: listAllForDel
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/entity/chat/TabGroupChatHm.java
View file @
dfbe4484
...
@@ -41,6 +41,15 @@ public class TabGroupChatHm implements Serializable{
...
@@ -41,6 +41,15 @@ public class TabGroupChatHm implements Serializable{
// 1有效 2作废 3待生效
// 1有效 2作废 3待生效
private
Integer
statusFlag
;
private
Integer
statusFlag
;
private
Integer
linkCount
;
private
Integer
linkCount
;
private
String
storeId
;
public
String
getStoreId
()
{
return
storeId
;
}
public
void
setStoreId
(
String
storeId
)
{
this
.
storeId
=
storeId
;
}
public
Integer
getLinkCount
()
{
public
Integer
getLinkCount
()
{
return
linkCount
;
return
linkCount
;
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/entity/hm/TabHmLink.java
View file @
dfbe4484
...
@@ -43,6 +43,16 @@ public class TabHmLink implements Serializable {
...
@@ -43,6 +43,16 @@ public class TabHmLink implements Serializable {
private
Long
otherChatHmId
;
private
Long
otherChatHmId
;
private
String
chatStoreRule
;
public
String
getChatStoreRule
()
{
return
chatStoreRule
;
}
public
void
setChatStoreRule
(
String
chatStoreRule
)
{
this
.
chatStoreRule
=
chatStoreRule
;
}
public
Long
getOtherChatHmId
()
{
public
Long
getOtherChatHmId
()
{
return
otherChatHmId
;
return
otherChatHmId
;
}
}
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/entity/moment/TabQwMomentPlan.java
View file @
dfbe4484
...
@@ -82,6 +82,25 @@ public class TabQwMomentPlan implements Serializable{
...
@@ -82,6 +82,25 @@ public class TabQwMomentPlan implements Serializable{
*/
*/
private
Integer
mediaLinkFlag
;
private
Integer
mediaLinkFlag
;
private
Integer
analyseFlag
;
private
Integer
analyseDay
;
public
Integer
getAnalyseFlag
()
{
return
analyseFlag
;
}
public
void
setAnalyseFlag
(
Integer
analyseFlag
)
{
this
.
analyseFlag
=
analyseFlag
;
}
public
Integer
getAnalyseDay
()
{
return
analyseDay
;
}
public
void
setAnalyseDay
(
Integer
analyseDay
)
{
this
.
analyseDay
=
analyseDay
;
}
public
Integer
getMediaLinkFlag
()
{
public
Integer
getMediaLinkFlag
()
{
return
mediaLinkFlag
;
return
mediaLinkFlag
;
}
}
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/pojo/HmStoreNumBO.java
0 → 100644
View file @
dfbe4484
package
com
.
gic
.
haoban
.
manage
.
service
.
pojo
;
import
java.io.Serializable
;
public
class
HmStoreNumBO
implements
Serializable
{
private
Long
chatHmId
;
private
int
num
;
public
Long
getChatHmId
()
{
return
chatHmId
;
}
public
void
setChatHmId
(
Long
chatHmId
)
{
this
.
chatHmId
=
chatHmId
;
}
public
int
getNum
()
{
return
num
;
}
public
void
setNum
(
int
num
)
{
this
.
num
=
num
;
}
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/pojo/StaffStoreNumBO.java
0 → 100644
View file @
dfbe4484
package
com
.
gic
.
haoban
.
manage
.
service
.
pojo
;
import
java.io.Serializable
;
public
class
StaffStoreNumBO
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/pojo/bo/chat/GroupChatHmBO.java
View file @
dfbe4484
...
@@ -44,6 +44,16 @@ public class GroupChatHmBO implements Serializable{
...
@@ -44,6 +44,16 @@ public class GroupChatHmBO implements Serializable{
private
Integer
statusFlag
;
private
Integer
statusFlag
;
// 可以群数
// 可以群数
private
Integer
usableChatCount
;
private
Integer
usableChatCount
;
private
String
storeId
;
public
String
getStoreId
()
{
return
storeId
;
}
public
void
setStoreId
(
String
storeId
)
{
this
.
storeId
=
storeId
;
}
public
Integer
getUsableChatCount
()
{
public
Integer
getUsableChatCount
()
{
return
usableChatCount
;
return
usableChatCount
;
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/pojo/bo/hm/HmLinkBO.java
View file @
dfbe4484
...
@@ -41,6 +41,16 @@ public class HmLinkBO implements Serializable {
...
@@ -41,6 +41,16 @@ public class HmLinkBO implements Serializable {
/**0删除 1正常*/
/**0删除 1正常*/
private
Integer
statusFlag
;
private
Integer
statusFlag
;
private
Long
otherChatHmId
;
private
Long
otherChatHmId
;
// [{"type":1服务门店2协管3lbs4指定人群,"open":1}]
private
String
chatStoreRule
;
public
String
getChatStoreRule
()
{
return
chatStoreRule
;
}
public
void
setChatStoreRule
(
String
chatStoreRule
)
{
this
.
chatStoreRule
=
chatStoreRule
;
}
public
Long
getOtherChatHmId
()
{
public
Long
getOtherChatHmId
()
{
return
otherChatHmId
;
return
otherChatHmId
;
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/HandoverService.java
View file @
dfbe4484
...
@@ -123,4 +123,6 @@ public interface HandoverService {
...
@@ -123,4 +123,6 @@ public interface HandoverService {
Boolean
filterHandoverStaff
(
String
wxEnterpriseId
,
String
wxUserId
);
Boolean
filterHandoverStaff
(
String
wxEnterpriseId
,
String
wxUserId
);
public
void
delHandoverStaff
(
String
wxEnterpriseId
,
List
<
String
>
wxUserIds
)
;
public
void
delHandoverStaff
(
String
wxEnterpriseId
,
List
<
String
>
wxUserIds
)
;
List
<
HandoverExternalDTO
>
listAllByStaffIds
(
String
wxEnterpriseId
,
String
search
,
List
<
String
>
staffIds
);
}
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/StaffClerkRelationService.java
View file @
dfbe4484
...
@@ -204,4 +204,6 @@ public interface StaffClerkRelationService {
...
@@ -204,4 +204,6 @@ public interface StaffClerkRelationService {
List
<
String
>
listAllStaffIdForOpenStaff
(
String
enterpriseId
,
String
wxEnterpriseId
,
String
clerkId
,
List
<
String
>
storeIdList
);
List
<
String
>
listAllStaffIdForOpenStaff
(
String
enterpriseId
,
String
wxEnterpriseId
,
String
clerkId
,
List
<
String
>
storeIdList
);
ServiceResponse
<
Map
<
String
,
List
<
String
>>>
listClerkForCanvas
(
String
wxEnterpriseId
,
String
enterpriseId
,
String
creatorId
,
String
storeFilterId
);
ServiceResponse
<
Map
<
String
,
List
<
String
>>>
listClerkForCanvas
(
String
wxEnterpriseId
,
String
enterpriseId
,
String
creatorId
,
String
storeFilterId
);
Map
<
String
,
Boolean
>
staffManyStore
(
List
<
String
>
staffIdList
);
}
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/chat/GroupChatHmService.java
View file @
dfbe4484
package
com
.
gic
.
haoban
.
manage
.
service
.
service
.
chat
;
package
com
.
gic
.
haoban
.
manage
.
service
.
service
.
chat
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
com.gic.api.base.commons.BasePageInfo
;
import
com.gic.api.base.commons.BasePageInfo
;
import
com.gic.api.base.commons.Page
;
import
com.gic.api.base.commons.Page
;
...
@@ -63,4 +64,11 @@ public interface GroupChatHmService {
...
@@ -63,4 +64,11 @@ public interface GroupChatHmService {
Page
<
GroupChatHmMemberRelationDTO
>
memberGroupChatHmPage
(
String
enterpriseId
,
String
memberId
,
BasePageInfo
basePageInfo
);
Page
<
GroupChatHmMemberRelationDTO
>
memberGroupChatHmPage
(
String
enterpriseId
,
String
memberId
,
BasePageInfo
basePageInfo
);
Integer
memberJoinGroupChatHmCount
(
String
enterpriseId
,
String
memberId
);
Integer
memberJoinGroupChatHmCount
(
String
enterpriseId
,
String
memberId
);
/**
* 活码包含的群主有多个门店
* @param wxEnterpriseId
* @return
*/
Map
<
Long
,
Boolean
>
hasManyOwnerStore
(
String
wxEnterpriseId
,
List
<
Long
>
chatHmIdList
);
}
}
\ No newline at end of file
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/chat/impl/GroupChatHmServiceImpl.java
View file @
dfbe4484
package
com
.
gic
.
haoban
.
manage
.
service
.
service
.
chat
.
impl
;
package
com
.
gic
.
haoban
.
manage
.
service
.
service
.
chat
.
impl
;
import
java.util.ArrayList
;
import
java.util.*
;
import
java.util.Arrays
;
import
java.util.Date
;
import
java.util.HashSet
;
import
java.util.Iterator
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
import
com.gic.haoban.manage.api.dto.chat.GroupChatHmMemberRelationDTO
;
import
com.gic.haoban.manage.api.dto.chat.GroupChatHmMemberRelationDTO
;
import
com.gic.haoban.manage.service.dao.mapper.chat.*
;
import
com.gic.haoban.manage.service.dao.mapper.chat.*
;
import
com.gic.haoban.manage.service.pojo.HmStoreNumBO
;
import
com.gic.haoban.manage.service.pojo.bo.chat.GroupChatHmMemberRelationBO
;
import
com.gic.haoban.manage.service.pojo.bo.chat.GroupChatHmMemberRelationBO
;
import
com.gic.haoban.manage.service.service.chat.GroupChatUserService
;
import
com.gic.haoban.manage.service.service.chat.GroupChatUserService
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.collections.CollectionUtils
;
...
@@ -471,4 +465,18 @@ public class GroupChatHmServiceImpl implements GroupChatHmService {
...
@@ -471,4 +465,18 @@ public class GroupChatHmServiceImpl implements GroupChatHmService {
public
Integer
memberJoinGroupChatHmCount
(
String
enterpriseId
,
String
memberId
)
{
public
Integer
memberJoinGroupChatHmCount
(
String
enterpriseId
,
String
memberId
)
{
return
groupChatUserMapper
.
getMemberJoinChatGroupCountByHmName
(
enterpriseId
,
memberId
,
"骑行"
);
return
groupChatUserMapper
.
getMemberJoinChatGroupCountByHmName
(
enterpriseId
,
memberId
,
"骑行"
);
}
}
@Override
public
Map
<
Long
,
Boolean
>
hasManyOwnerStore
(
String
wxEnterpriseId
,
List
<
Long
>
chatHmIdList
)
{
Map
<
Long
,
Boolean
>
map
=
new
HashMap
<>()
;
List
<
HmStoreNumBO
>
list
=
this
.
groupChatHmMapper
.
hasManyOwnerStore
(
wxEnterpriseId
,
chatHmIdList
);
if
(
CollectionUtils
.
isNotEmpty
(
list
))
{
list
.
forEach
(
item
->
{
map
.
put
(
item
.
getChatHmId
(),
item
.
getNum
()>
1
)
;
})
;
}
return
map
;
}
}
}
\ No newline at end of file
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/chat/impl/GroupChatServiceImpl.java
View file @
dfbe4484
...
@@ -1122,6 +1122,40 @@ public class GroupChatServiceImpl implements GroupChatService {
...
@@ -1122,6 +1122,40 @@ public class GroupChatServiceImpl implements GroupChatService {
PageHelper
.
startPage
(
basePageInfo
);
PageHelper
.
startPage
(
basePageInfo
);
List
<
GroupChatOwnerDTO
>
list
=
this
.
groupChatOwnerMapper
.
listOwner
(
qdto
);
List
<
GroupChatOwnerDTO
>
list
=
this
.
groupChatOwnerMapper
.
listOwner
(
qdto
);
Page
<
GroupChatOwnerDTO
>
retPage
=
PageHelperUtils
.
changePageHelperToCurrentPage
(
list
,
GroupChatOwnerDTO
.
class
);
Page
<
GroupChatOwnerDTO
>
retPage
=
PageHelperUtils
.
changePageHelperToCurrentPage
(
list
,
GroupChatOwnerDTO
.
class
);
// 拼门店名称
if
(
CollectionUtils
.
isNotEmpty
(
retPage
.
getResult
())
&&
qdto
.
getShowStoreNames
()==
1
&&
StringUtils
.
isNotBlank
(
qdto
.
getShowNameEnterpriseId
()))
{
List
<
String
>
staffIdList
=
retPage
.
getResult
().
stream
().
map
(
GroupChatOwnerDTO:
:
getStaffId
).
collect
(
Collectors
.
toList
());
List
<
StaffClerkRelationDTO
>
staffList
=
this
.
staffClerkRelationService
.
listByWxEnterpriseIdAndStaffId
(
qdto
.
getWxEnterpriseId
(),
staffIdList
.
stream
().
collect
(
Collectors
.
toSet
()))
;
Map
<
String
,
List
<
StaffClerkRelationDTO
>>
staffMap
=
staffList
.
stream
().
collect
(
Collectors
.
groupingBy
(
StaffClerkRelationDTO:
:
getStaffId
))
;
staffList
=
staffList
.
stream
().
filter
(
o
->
o
.
getEnterpriseId
().
equals
(
qdto
.
getShowNameEnterpriseId
())
&&
StringUtils
.
isNotBlank
(
o
.
getStoreId
())).
collect
(
Collectors
.
toList
());
Map
<
String
,
String
>
storeNameMap
=
new
HashMap
<>()
;
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
))
{
storeNameMap
=
storeList
.
stream
().
collect
(
Collectors
.
toMap
(
StoreDTO:
:
getStoreId
,
o
->
o
.
getStoreName
(),(
k1
,
k2
)->
k1
))
;
}
}
}
for
(
GroupChatOwnerDTO
item
:
retPage
.
getResult
())
{
String
staffId
=
item
.
getStaffId
()
;
List
<
StaffClerkRelationDTO
>
relationList
=
staffMap
.
get
(
staffId
)
;
List
<
String
>
storeNameList
=
new
ArrayList
<>()
;
if
(
CollectionUtils
.
isNotEmpty
(
relationList
))
{
for
(
StaffClerkRelationDTO
relation
:
relationList
)
{
if
(
StringUtils
.
isNotBlank
(
relation
.
getStoreId
())
&&
storeNameMap
.
containsKey
(
relation
.
getStoreId
()))
{
storeNameList
.
add
(
storeNameMap
.
get
(
relation
.
getStoreId
()));
}
}
}
item
.
setStoreNames
(
String
.
join
(
"、"
,
storeNameList
));
}
}
return
retPage
;
return
retPage
;
}
}
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/hm/HmLinkChatService.java
View file @
dfbe4484
...
@@ -21,7 +21,7 @@ public interface HmLinkChatService {
...
@@ -21,7 +21,7 @@ public interface HmLinkChatService {
public
List
<
HmLinkChatDTO
>
listByLinkId
(
String
wxEnterpriseId
,
String
enterpriseId
,
Long
linkId
);
public
List
<
HmLinkChatDTO
>
listByLinkId
(
String
wxEnterpriseId
,
String
enterpriseId
,
Long
linkId
);
public
int
save
(
Long
linkId
,
List
<
HmLinkChatDTO
>
list
,
Long
otherHmId
,
TabHmLink
link
);
public
int
save
(
String
wxEnterpriseId
,
String
enterpriseId
,
Long
linkId
,
List
<
HmLinkChatDTO
>
list
,
Long
otherHmId
,
TabHmLink
link
);
public
Page
<
HmLinkChatDTO
>
listPage
(
HmLinkChatQDTO
qdto
,
BasePageInfo
basePageInfo
);
public
Page
<
HmLinkChatDTO
>
listPage
(
HmLinkChatQDTO
qdto
,
BasePageInfo
basePageInfo
);
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/hm/impl/HmLinkChatServiceImpl.java
View file @
dfbe4484
...
@@ -46,48 +46,49 @@ public class HmLinkChatServiceImpl implements HmLinkChatService {
...
@@ -46,48 +46,49 @@ public class HmLinkChatServiceImpl implements HmLinkChatService {
}
}
@Override
@Override
public
int
save
(
Long
linkId
,
List
<
HmLinkChatDTO
>
list
,
Long
otherHmId
,
TabHmLink
l
ink
)
{
public
int
save
(
String
wxEnterpriseId
,
String
enterpriseId
,
Long
linkId
,
List
<
HmLinkChatDTO
>
list
,
Long
otherHmId
,
TabHmLink
oldL
ink
)
{
log
.
info
(
"保存群链接={}"
,
JSON
.
toJSONString
(
list
));
log
.
info
(
"保存群链接={}"
,
JSON
.
toJSONString
(
list
));
List
<
HmLinkChatDTO
>
updateList
=
list
.
stream
().
filter
(
dto
->
null
!=
dto
.
getLinkChatId
())
List
<
HmLinkChatDTO
>
oldList
=
this
.
hmLinkChatMapper
.
listByLinkId
(
wxEnterpriseId
,
enterpriseId
,
linkId
)
;
.
collect
(
Collectors
.
toList
());
if
(
CollectionUtils
.
isEmpty
(
list
))
{
List
<
Long
>
notDelIdList
=
updateList
.
stream
().
map
(
dto
->
dto
.
getLinkChatId
()).
collect
(
Collectors
.
toList
());
log
.
info
(
"删除关联群活码={},{}"
,
linkId
,
null
);
log
.
info
(
"不删除关联群活码={},{}"
,
linkId
,
notDelIdList
);
this
.
hmLinkChatMapper
.
delete
(
linkId
,
null
,
0
);
String
wxEnterpriseId
=
list
.
get
(
0
).
getWxEnterpriseId
();
}
String
enterpriseId
=
list
.
get
(
0
).
getEnterpriseId
();
if
(
CollectionUtils
.
isNotEmpty
(
list
))
{
// 先查出历史记录
List
<
HmLinkChatDTO
>
updateList
=
list
.
stream
().
filter
(
dto
->
null
!=
dto
.
getLinkChatId
()).
collect
(
Collectors
.
toList
());
List
<
HmLinkChatDTO
>
oldList
=
this
.
hmLinkChatMapper
.
listByLinkId
(
wxEnterpriseId
,
enterpriseId
,
linkId
);
List
<
Long
>
notDelIdList
=
updateList
.
stream
().
map
(
dto
->
dto
.
getLinkChatId
()).
collect
(
Collectors
.
toList
());
this
.
hmLinkChatMapper
.
delete
(
linkId
,
notDelIdList
,
0
);
log
.
info
(
"不删除关联群活码={},{}"
,
linkId
,
notDelIdList
);
if
(
CollectionUtils
.
isNotEmpty
(
updateList
))
{
this
.
hmLinkChatMapper
.
delete
(
linkId
,
notDelIdList
,
0
);
for
(
HmLinkChatDTO
item
:
updateList
)
{
if
(
CollectionUtils
.
isNotEmpty
(
updateList
))
{
TabHmLinkChat
entity
=
EntityUtil
.
changeEntityByJSON
(
TabHmLinkChat
.
class
,
item
);
for
(
HmLinkChatDTO
item
:
updateList
)
{
this
.
hmLinkChatMapper
.
update
(
entity
);
TabHmLinkChat
entity
=
EntityUtil
.
changeEntityByJSON
(
TabHmLinkChat
.
class
,
item
);
if
(
item
.
getMemberType
()
==
0
)
{
this
.
hmLinkChatMapper
.
update
(
entity
);
screeningDetailService
.
save
(
HmLinkChatService
.
ES_ID
+
entity
.
getLinkChatId
(),
item
.
getSearchJson
());
if
(
item
.
getMemberType
()
==
0
)
{
screeningDetailService
.
save
(
HmLinkChatService
.
ES_ID
+
entity
.
getLinkChatId
(),
item
.
getSearchJson
());
}
}
}
}
}
}
List
<
HmLinkChatDTO
>
addList
=
list
.
stream
().
filter
(
dto
->
null
==
dto
.
getLinkChatId
())
List
<
HmLinkChatDTO
>
addList
=
list
.
stream
().
filter
(
dto
->
null
==
dto
.
getLinkChatId
())
.
collect
(
Collectors
.
toList
());
.
collect
(
Collectors
.
toList
());
if
(
CollectionUtils
.
isNotEmpty
(
addList
))
{
if
(
CollectionUtils
.
isNotEmpty
(
addList
)
)
{
for
(
HmLinkChatDTO
dto
:
addList
)
{
for
(
HmLinkChatDTO
dto
:
addList
)
{
TabHmLinkChat
entity
=
EntityUtil
.
changeEntityByJSON
(
TabHmLinkChat
.
class
,
dto
);
TabHmLinkChat
entity
=
EntityUtil
.
changeEntityByJSON
(
TabHmLinkChat
.
class
,
dto
);
entity
.
setLinkChatId
(
UniqueIdUtils
.
uniqueLong
()
);
entity
.
setLinkChatId
(
UniqueIdUtils
.
uniqueLong
()
);
entity
.
setLinkId
(
linkId
);
entity
.
setLinkId
(
linkId
);
this
.
hmLinkChatMapper
.
insert
(
entity
);
this
.
hmLinkChatMapper
.
insert
(
entity
);
if
(
dto
.
getMemberType
()
==
0
)
{
if
(
dto
.
getMemberType
()
==
0
)
{
screeningDetailService
.
save
(
HmLinkChatService
.
ES_ID
+
entity
.
getLinkChatId
(),
dto
.
getSearchJson
());
screeningDetailService
.
save
(
HmLinkChatService
.
ES_ID
+
entity
.
getLinkChatId
(),
dto
.
getSearchJson
());
}
}
}
}
}
}
}
// 更新其他链接
// 更新其他链接
List
<
Long
>
chatHmIdList
=
list
.
stream
().
map
(
dto
->
dto
.
getChatHmId
()).
collect
(
Collectors
.
toList
());
List
<
Long
>
chatHmIdList
=
list
.
stream
().
map
(
dto
->
dto
.
getChatHmId
()).
collect
(
Collectors
.
toList
());
chatHmIdList
.
add
(
otherHmId
);
chatHmIdList
.
add
(
otherHmId
);
boolean
addOther
=
false
;
boolean
addOther
=
false
;
if
(
null
!=
l
ink
)
{
if
(
null
!=
oldL
ink
)
{
chatHmIdList
.
add
(
l
ink
.
getOtherChatHmId
());
chatHmIdList
.
add
(
oldL
ink
.
getOtherChatHmId
());
if
(!
otherHmId
.
equals
(
l
ink
.
getOtherChatHmId
()))
{
if
(!
otherHmId
.
equals
(
oldL
ink
.
getOtherChatHmId
()))
{
this
.
hmLinkChatMapper
.
delete
(
linkId
,
Arrays
.
asList
(
l
ink
.
getOtherChatHmId
())
,
1
);
this
.
hmLinkChatMapper
.
delete
(
linkId
,
Arrays
.
asList
(
oldL
ink
.
getOtherChatHmId
())
,
1
);
addOther
=
true
;
addOther
=
true
;
}
}
}
else
{
}
else
{
...
@@ -107,7 +108,6 @@ public class HmLinkChatServiceImpl implements HmLinkChatService {
...
@@ -107,7 +108,6 @@ public class HmLinkChatServiceImpl implements HmLinkChatService {
other
.
setLinkChatId
(
UniqueIdUtils
.
uniqueLong
());
other
.
setLinkChatId
(
UniqueIdUtils
.
uniqueLong
());
this
.
hmLinkChatMapper
.
insert
(
other
);
this
.
hmLinkChatMapper
.
insert
(
other
);
}
}
// 统计活码关联的链接数量
// 统计活码关联的链接数量
for
(
HmLinkChatDTO
old
:
oldList
)
{
for
(
HmLinkChatDTO
old
:
oldList
)
{
chatHmIdList
.
add
(
old
.
getChatHmId
());
chatHmIdList
.
add
(
old
.
getChatHmId
());
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/hm/impl/HmLinkServiceImpl.java
View file @
dfbe4484
package
com
.
gic
.
haoban
.
manage
.
service
.
service
.
hm
.
impl
;
package
com
.
gic
.
haoban
.
manage
.
service
.
service
.
hm
.
impl
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
...
@@ -141,6 +142,7 @@ public class HmLinkServiceImpl implements HmLinkService {
...
@@ -141,6 +142,7 @@ public class HmLinkServiceImpl implements HmLinkService {
this
.
delCache
(
oldLink
.
getLinkId
(),
oldLink
.
getShortCode
());
this
.
delCache
(
oldLink
.
getLinkId
(),
oldLink
.
getShortCode
());
oldWelcomeId
=
oldLink
.
getWelcomeId
();
oldWelcomeId
=
oldLink
.
getWelcomeId
();
TabHmLink
entity
=
EntityUtil
.
changeEntityByJSON
(
TabHmLink
.
class
,
dto
);
TabHmLink
entity
=
EntityUtil
.
changeEntityByJSON
(
TabHmLink
.
class
,
dto
);
this
.
linkMapper
.
update
(
entity
);
this
.
linkMapper
.
update
(
entity
);
}
}
// 单人活码
// 单人活码
...
@@ -159,12 +161,15 @@ public class HmLinkServiceImpl implements HmLinkService {
...
@@ -159,12 +161,15 @@ public class HmLinkServiceImpl implements HmLinkService {
// 群活码
// 群活码
if
(
dto
.
getLinkType
()
==
HmLinkTypeEnum
.
CHAT_HM_LINK_TYPE
.
getLinkType
())
{
if
(
dto
.
getLinkType
()
==
HmLinkTypeEnum
.
CHAT_HM_LINK_TYPE
.
getLinkType
())
{
int
index
=
0
;
int
index
=
0
;
if
(
CollectionUtils
.
isEmpty
(
dto
.
getLinkChatList
()))
{
dto
.
setLinkChatList
(
new
ArrayList
<>());
}
for
(
HmLinkChatDTO
item
:
dto
.
getLinkChatList
())
{
for
(
HmLinkChatDTO
item
:
dto
.
getLinkChatList
())
{
item
.
setWxEnterpriseId
(
dto
.
getWxEnterpriseId
());
item
.
setWxEnterpriseId
(
dto
.
getWxEnterpriseId
());
item
.
setEnterpriseId
(
dto
.
getEnterpriseId
());
item
.
setEnterpriseId
(
dto
.
getEnterpriseId
());
item
.
setSortNum
(
index
++);
item
.
setSortNum
(
index
++);
}
}
this
.
hmLinkChatService
.
save
(
linkId
,
dto
.
getLinkChatList
()
,
dto
.
getOtherChatHmId
()
,
oldLink
);
this
.
hmLinkChatService
.
save
(
dto
.
getWxEnterpriseId
(),
dto
.
getEnterpriseId
(),
linkId
,
dto
.
getLinkChatList
()
,
dto
.
getOtherChatHmId
()
,
oldLink
);
}
}
return
dto
.
getLinkCode
();
return
dto
.
getLinkCode
();
}
}
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/impl/HandoverServiceImpl.java
View file @
dfbe4484
...
@@ -9,6 +9,7 @@ import java.util.Map;
...
@@ -9,6 +9,7 @@ import java.util.Map;
import
java.util.Set
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
import
com.gic.commons.util.EntityUtil
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
@@ -244,6 +245,16 @@ public class HandoverServiceImpl implements HandoverService {
...
@@ -244,6 +245,16 @@ public class HandoverServiceImpl implements HandoverService {
}
}
@Override
@Override
public
List
<
HandoverExternalDTO
>
listAllByStaffIds
(
String
wxEnterpriseId
,
String
search
,
List
<
String
>
staffIds
)
{
List
<
TabHandoverExternal
>
list
=
handoverExternalMapper
.
listAllByStaffIds
(
wxEnterpriseId
,
staffIds
,
search
,
1
);
if
(
null
!=
list
)
{
List
<
HandoverExternalDTO
>
retList
=
EntityUtil
.
changeEntityListByJSON
(
HandoverExternalDTO
.
class
,
list
)
;
return
retList
;
}
return
new
ArrayList
<>()
;
}
@Override
public
List
<
TabHandoverExternal
>
listByIds
(
String
wxEnterpriseId
,
List
<
String
>
ids
)
{
public
List
<
TabHandoverExternal
>
listByIds
(
String
wxEnterpriseId
,
List
<
String
>
ids
)
{
return
handoverExternalMapper
.
listByIds
(
wxEnterpriseId
,
ids
);
return
handoverExternalMapper
.
listByIds
(
wxEnterpriseId
,
ids
);
}
}
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/impl/StaffClerkRelationServiceImpl.java
View file @
dfbe4484
...
@@ -15,6 +15,7 @@ import com.gic.api.base.commons.ServiceResponse;
...
@@ -15,6 +15,7 @@ import com.gic.api.base.commons.ServiceResponse;
import
com.gic.commons.util.DateUtil
;
import
com.gic.commons.util.DateUtil
;
import
com.gic.enterprise.api.service.StoreWidgetService
;
import
com.gic.enterprise.api.service.StoreWidgetService
;
import
com.gic.haoban.manage.service.entity.*
;
import
com.gic.haoban.manage.service.entity.*
;
import
com.gic.haoban.manage.service.pojo.StaffStoreNumBO
;
import
com.gic.redis.data.util.RedisUtil
;
import
com.gic.redis.data.util.RedisUtil
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
...
@@ -678,4 +679,17 @@ public class StaffClerkRelationServiceImpl implements StaffClerkRelationService
...
@@ -678,4 +679,17 @@ public class StaffClerkRelationServiceImpl implements StaffClerkRelationService
map
=
list
.
stream
().
collect
(
Collectors
.
groupingBy
(
StaffClerkRelationDTO:
:
getStoreId
,
Collectors
.
mapping
(
StaffClerkRelationDTO:
:
getClerkId
,
Collectors
.
toList
())))
;
map
=
list
.
stream
().
collect
(
Collectors
.
groupingBy
(
StaffClerkRelationDTO:
:
getStoreId
,
Collectors
.
mapping
(
StaffClerkRelationDTO:
:
getClerkId
,
Collectors
.
toList
())))
;
return
ServiceResponse
.
success
(
map
)
;
return
ServiceResponse
.
success
(
map
)
;
}
}
// 成员是否绑定多加家门店
@Override
public
Map
<
String
,
Boolean
>
staffManyStore
(
List
<
String
>
staffIdList
)
{
Map
<
String
,
Boolean
>
map
=
new
HashMap
<>()
;
List
<
StaffStoreNumBO
>
list
=
this
.
tabHaobanStaffClerkRelationMapper
.
staffStoreNum
(
staffIdList
)
;
if
(
CollectionUtils
.
isNotEmpty
(
list
))
{
list
.
forEach
(
item
->
{
map
.
put
(
item
.
getStaffId
(),
item
.
getNum
()>
1
)
;
})
;
}
return
map
;
}
}
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/impl/StaffServiceImpl.java
View file @
dfbe4484
...
@@ -10,9 +10,11 @@ import com.gic.commons.util.UniqueIdUtils;
...
@@ -10,9 +10,11 @@ import com.gic.commons.util.UniqueIdUtils;
import
com.gic.content.api.service.ContentProducerApiService
;
import
com.gic.content.api.service.ContentProducerApiService
;
import
com.gic.haoban.app.customer.service.api.service.InnerApiService
;
import
com.gic.haoban.app.customer.service.api.service.InnerApiService
;
import
com.gic.haoban.common.utils.StringUtil
;
import
com.gic.haoban.common.utils.StringUtil
;
import
com.gic.haoban.manage.api.dto.CommonMQDTO
;
import
com.gic.haoban.manage.api.dto.StaffClerkRelationDTO
;
import
com.gic.haoban.manage.api.dto.StaffClerkRelationDTO
;
import
com.gic.haoban.manage.api.dto.StaffDTO
;
import
com.gic.haoban.manage.api.dto.StaffDTO
;
import
com.gic.haoban.manage.api.enums.ChannelCodeEnum
;
import
com.gic.haoban.manage.api.enums.ChannelCodeEnum
;
import
com.gic.haoban.manage.api.service.HaobanCommonMQApiService
;
import
com.gic.haoban.manage.api.service.StaffClerkRelationApiService
;
import
com.gic.haoban.manage.api.service.StaffClerkRelationApiService
;
import
com.gic.haoban.manage.api.service.hm.HmQrcodeApiService
;
import
com.gic.haoban.manage.api.service.hm.HmQrcodeApiService
;
import
com.gic.haoban.manage.service.config.Config
;
import
com.gic.haoban.manage.service.config.Config
;
...
@@ -78,6 +80,8 @@ public class StaffServiceImpl implements StaffService {
...
@@ -78,6 +80,8 @@ public class StaffServiceImpl implements StaffService {
private
StaffClerkRelationApiService
staffClerkRelationApiService
;
private
StaffClerkRelationApiService
staffClerkRelationApiService
;
@Autowired
@Autowired
private
StaffDepartmentRelatedService
staffDepartmentRelatedService
;
private
StaffDepartmentRelatedService
staffDepartmentRelatedService
;
@Autowired
private
HaobanCommonMQApiService
haobanCommonMQApiService
;
@Override
@Override
public
TabHaobanStaff
selectById
(
String
id
)
{
public
TabHaobanStaff
selectById
(
String
id
)
{
...
@@ -113,6 +117,12 @@ public class StaffServiceImpl implements StaffService {
...
@@ -113,6 +117,12 @@ public class StaffServiceImpl implements StaffService {
return
staff
.
getStaffId
()
;
return
staff
.
getStaffId
()
;
}
}
mapper
.
insertSelective
(
tab
);
mapper
.
insertSelective
(
tab
);
CommonMQDTO
mq
=
new
CommonMQDTO
()
;
mq
.
setType
(
11
)
;
Map
<
String
,
String
>
map
=
new
HashMap
<>()
;
map
.
put
(
"staffId"
,
tab
.
getStaffId
())
;
mq
.
setParams
(
map
);
this
.
haobanCommonMQApiService
.
putCommonDelayMessage
(
mq
,
10
);
RedisUtil
.
unlock
(
lockKey
);
RedisUtil
.
unlock
(
lockKey
);
return
tab
.
getStaffId
();
return
tab
.
getStaffId
();
}
}
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/moment/impl/QwMomentPlanAttendServiceImpl.java
View file @
dfbe4484
...
@@ -79,6 +79,9 @@ public class QwMomentPlanAttendServiceImpl implements QwMomentPlanAttendService
...
@@ -79,6 +79,9 @@ public class QwMomentPlanAttendServiceImpl implements QwMomentPlanAttendService
// 0已失效 1待完成 2已完成
// 0已失效 1待完成 2已完成
Integer
sendStatus
=
qdto
.
getSendStatus
()
;
Integer
sendStatus
=
qdto
.
getSendStatus
()
;
TabQwMomentPlan
plan
=
this
.
qwMomentPlanMapper
.
getById
(
qdto
.
getPlanId
())
;
TabQwMomentPlan
plan
=
this
.
qwMomentPlanMapper
.
getById
(
qdto
.
getPlanId
())
;
if
(
null
==
plan
)
{
return
ServiceResponse
.
failure
(
"9999"
,
"活动不存在"
)
;
}
boolean
isEnd
=
plan
.
getStatusFlag
()==
2
||
plan
.
getEndDate
().
getTime
()
<=
System
.
currentTimeMillis
()
;
boolean
isEnd
=
plan
.
getStatusFlag
()==
2
||
plan
.
getEndDate
().
getTime
()
<=
System
.
currentTimeMillis
()
;
if
(
null
!=
sendStatus
&&
isEnd
&&
sendStatus
==
1
)
{
if
(
null
!=
sendStatus
&&
isEnd
&&
sendStatus
==
1
)
{
return
ServiceResponse
.
success
(
new
Page
<>());
return
ServiceResponse
.
success
(
new
Page
<>());
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/moment/impl/QwMomentPlanServiceImpl.java
View file @
dfbe4484
...
@@ -155,9 +155,11 @@ public class QwMomentPlanServiceImpl implements QwMomentPlanService {
...
@@ -155,9 +155,11 @@ public class QwMomentPlanServiceImpl implements QwMomentPlanService {
plan
.
setBeginDate
(
plan
.
getPublishTime
());
plan
.
setBeginDate
(
plan
.
getPublishTime
());
Date
endTime
=
DateUtil
.
getEndTimeOfDay
(
DateUtil
.
addDay
(
plan
.
getBeginDate
(),
plan
.
getExpireDays
()));
Date
endTime
=
DateUtil
.
getEndTimeOfDay
(
DateUtil
.
addDay
(
plan
.
getBeginDate
(),
plan
.
getExpireDays
()));
plan
.
setEndDate
(
endTime
);
plan
.
setEndDate
(
endTime
);
if
(
null
==
planId
)
{
if
(
null
==
planId
||
null
==
this
.
qwMomentPlanMapper
.
getById
(
planId
)
)
{
createFlag
=
true
;
createFlag
=
true
;
planId
=
UniqueIdUtils
.
uniqueLong
();
if
(
null
==
planId
)
{
planId
=
UniqueIdUtils
.
uniqueLong
();
}
dto
.
setPlanId
(
planId
);
dto
.
setPlanId
(
planId
);
plan
.
setPlanId
(
planId
);
plan
.
setPlanId
(
planId
);
plan
.
setCreateTime
(
now
);
plan
.
setCreateTime
(
now
);
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/HandoverOperationApiServiceImpl.java
View file @
dfbe4484
...
@@ -238,6 +238,21 @@ public class HandoverOperationApiServiceImpl implements HandoverOperationApiServ
...
@@ -238,6 +238,21 @@ public class HandoverOperationApiServiceImpl implements HandoverOperationApiServ
}
}
@Override
@Override
public
List
<
HandoverExternalDTO
>
listAllHandoverFriend
(
String
wxEnterpriseId
,
String
search
,
List
<
String
>
staffIds
)
{
List
<
HandoverExternalDTO
>
retList
=
handoverService
.
listAllByStaffIds
(
wxEnterpriseId
,
search
,
staffIds
);
if
(
CollectionUtils
.
isEmpty
(
retList
))
{
return
retList
;
}
List
<
TabHaobanStaff
>
haobanStaffs
=
staffService
.
listNoStatusByStaffIds
(
wxEnterpriseId
,
staffIds
);
Map
<
String
,
String
>
staffNameMap
=
haobanStaffs
.
stream
().
collect
(
Collectors
.
toMap
(
dto
->
dto
.
getStaffId
(),
dto
->
dto
.
getStaffName
(),
(
o
,
n
)
->
o
));
retList
.
forEach
(
dto
->
{
String
staffName
=
staffNameMap
.
get
(
dto
.
getStaffId
());
dto
.
setStaffName
(
staffName
);
});
return
retList
;
}
@Override
public
Page
<
ExternalInfoDTO
>
pageHandoverFriend
(
String
wxEnterpriseId
,
String
search
,
List
<
String
>
staffIds
,
List
<
String
>
transferIds
,
BasePageInfo
pageInfo
,
int
status
)
{
public
Page
<
ExternalInfoDTO
>
pageHandoverFriend
(
String
wxEnterpriseId
,
String
search
,
List
<
String
>
staffIds
,
List
<
String
>
transferIds
,
BasePageInfo
pageInfo
,
int
status
)
{
Page
<
HandoverExternalDTO
>
retPage
=
handoverService
.
pageByStaffIds
(
wxEnterpriseId
,
search
,
staffIds
,
transferIds
,
pageInfo
,
status
);
Page
<
HandoverExternalDTO
>
retPage
=
handoverService
.
pageByStaffIds
(
wxEnterpriseId
,
search
,
staffIds
,
transferIds
,
pageInfo
,
status
);
if
(
CollectionUtils
.
isEmpty
(
retPage
.
getResult
()))
{
if
(
CollectionUtils
.
isEmpty
(
retPage
.
getResult
()))
{
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/HaobanCommonMQApiServiceImpl.java
View file @
dfbe4484
...
@@ -12,6 +12,7 @@ import com.gic.commons.util.StringUtil;
...
@@ -12,6 +12,7 @@ import com.gic.commons.util.StringUtil;
import
com.gic.haoban.manage.api.dto.MemberUnionidWechatAccountQDTO
;
import
com.gic.haoban.manage.api.dto.MemberUnionidWechatAccountQDTO
;
import
com.gic.haoban.manage.api.service.ExternalClerkRelatedApiService
;
import
com.gic.haoban.manage.api.service.ExternalClerkRelatedApiService
;
import
com.gic.haoban.manage.service.service.chat.GroupChatPlanService
;
import
com.gic.haoban.manage.service.service.chat.GroupChatPlanService
;
import
com.gic.haoban.manage.service.service.chat.GroupChatService
;
import
com.gic.haoban.manage.service.service.moment.QwMomentPlanAttendService
;
import
com.gic.haoban.manage.service.service.moment.QwMomentPlanAttendService
;
import
com.gic.haoban.manage.service.service.moment.QwMomentPlanService
;
import
com.gic.haoban.manage.service.service.moment.QwMomentPlanService
;
import
com.gic.haoban.manage.service.service.role.HaobanMenuService
;
import
com.gic.haoban.manage.service.service.role.HaobanMenuService
;
...
@@ -65,6 +66,8 @@ public class HaobanCommonMQApiServiceImpl implements HaobanCommonMQApiService {
...
@@ -65,6 +66,8 @@ public class HaobanCommonMQApiServiceImpl implements HaobanCommonMQApiService {
private
QwMomentPlanService
qwMomentPlanService
;
private
QwMomentPlanService
qwMomentPlanService
;
@Autowired
@Autowired
private
QwMomentPlanAttendService
qwMomentPlanAttendService
;
private
QwMomentPlanAttendService
qwMomentPlanAttendService
;
@Autowired
private
GroupChatService
groupChatService
;
@Override
@Override
public
void
putCommonMessage
(
CommonMQDTO
dto
)
{
public
void
putCommonMessage
(
CommonMQDTO
dto
)
{
...
@@ -178,6 +181,10 @@ public class HaobanCommonMQApiServiceImpl implements HaobanCommonMQApiService {
...
@@ -178,6 +181,10 @@ public class HaobanCommonMQApiServiceImpl implements HaobanCommonMQApiService {
Long
planId10
=
Long
.
valueOf
(
map
.
get
(
"planId"
))
;
Long
planId10
=
Long
.
valueOf
(
map
.
get
(
"planId"
))
;
this
.
qwMomentPlanService
.
getQwData
(
planId10
);
this
.
qwMomentPlanService
.
getQwData
(
planId10
);
break
;
break
;
case
11
:
String
staffId11
=
map
.
get
(
"staffId"
)
;
this
.
groupChatService
.
initStaffGroupChat
(
staffId11
);
break
;
default
:
default
:
break
;
break
;
}
}
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/MaterialApiServiceImpl.java
View file @
dfbe4484
...
@@ -575,10 +575,25 @@ public class MaterialApiServiceImpl implements MaterialApiService {
...
@@ -575,10 +575,25 @@ public class MaterialApiServiceImpl implements MaterialApiService {
public
List
<
String
>
getImageMediaId
(
String
wxEnterpriseId
,
List
<
ContentMaterialDTO
>
imageList
,
int
mediaType
)
{
public
List
<
String
>
getImageMediaId
(
String
wxEnterpriseId
,
List
<
ContentMaterialDTO
>
imageList
,
int
mediaType
)
{
List
<
String
>
list
=
this
.
materialService
.
getImageMediaId
(
wxEnterpriseId
,
imageList
,
mediaType
);
List
<
String
>
list
=
this
.
materialService
.
getImageMediaId
(
wxEnterpriseId
,
imageList
,
mediaType
);
if
(
CollectionUtils
.
isNotEmpty
(
list
))
{
if
(
CollectionUtils
.
isNotEmpty
(
list
))
{
list
.
forEach
(
materialId
->
{
for
(
String
materialId
:
list
)
{
materialService
.
getHasChangeMadieMaterialById
(
materialId
,
2
);
MaterialDTO
m
=
materialService
.
getHasChangeMadieMaterialById
(
materialId
,
2
);
})
;
Integer
materialType
=
m
.
getMaterialType
();
String
madiaId
=
m
.
getMediaId
();
//需要上传的类型
if
(
Arrays
.
asList
(
2
,
3
,
4
,
5
,
6
,
7
).
contains
(
materialType
)
&&
StringUtils
.
isBlank
(
madiaId
))
{
return
null
;
}
}
}
}
return
list
;
return
list
;
}
}
@Override
public
void
getImageMediaId
(
String
wxEnterpriseId
,
List
<
String
>
idList
)
{
if
(
CollectionUtils
.
isNotEmpty
(
idList
))
{
idList
.
forEach
(
materialId
->
{
materialService
.
getHasChangeMadieMaterialById
(
materialId
,
1
);
})
;
}
}
}
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/MemberUnionidRelatedApiServiceImpl.java
View file @
dfbe4484
...
@@ -7,6 +7,7 @@ import java.util.stream.Collectors;
...
@@ -7,6 +7,7 @@ import java.util.stream.Collectors;
import
com.gic.haoban.manage.api.enums.NoticeMessageTypeEnum
;
import
com.gic.haoban.manage.api.enums.NoticeMessageTypeEnum
;
import
com.gic.haoban.manage.api.qdto.CanvasInfoQDTO
;
import
com.gic.haoban.manage.api.qdto.CanvasInfoQDTO
;
import
com.gic.haoban.manage.api.util.notify.NoticeMessageUtil
;
import
com.gic.haoban.manage.api.util.notify.NoticeMessageUtil
;
import
com.gic.haoban.manage.service.dao.mapper.TabHaobanStaffClerkRelationMapper
;
import
com.gic.haoban.manage.service.pojo.GicNewMemberBO
;
import
com.gic.haoban.manage.service.pojo.GicNewMemberBO
;
import
com.gic.haoban.manage.service.service.*
;
import
com.gic.haoban.manage.service.service.*
;
import
com.gic.haoban.manage.service.util.EventUtils
;
import
com.gic.haoban.manage.service.util.EventUtils
;
...
@@ -177,7 +178,9 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
...
@@ -177,7 +178,9 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
private
QywxErrorLogService
qywxErrorLogService
;
private
QywxErrorLogService
qywxErrorLogService
;
@Autowired
@Autowired
private
MemberTagService
memberTagService
;
private
MemberTagService
memberTagService
;
@Autowired
private
TabHaobanStaffClerkRelationMapper
tabHaobanStaffClerkRelationMapper
;
GicMQClient
instance
=
GICMQClientUtil
.
getClientInstance
();
GicMQClient
instance
=
GICMQClientUtil
.
getClientInstance
();
@Override
@Override
...
@@ -277,7 +280,17 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
...
@@ -277,7 +280,17 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
String
staffId
,
String
enterpriseId
)
{
String
staffId
,
String
enterpriseId
)
{
MemberStoreDTO
dto
=
new
MemberStoreDTO
();
MemberStoreDTO
dto
=
new
MemberStoreDTO
();
log
.
info
(
"好办顾客详情={},staffId={}"
,
externalUserid
,
staffId
);
log
.
info
(
"好办顾客详情={},staffId={}"
,
externalUserid
,
staffId
);
List
<
TabHaobanExternalClerkRelated
>
list
=
externalClerkRelatedService
.
listByExternalUseridAndWxUserId
(
externalUserid
,
staffId
);
// 如果是区经
StaffClerkRelationDTO
relation
=
this
.
tabHaobanStaffClerkRelationMapper
.
getOneByStoreIdAndStaffId
(
null
,
staffId
)
;
List
<
TabHaobanExternalClerkRelated
>
list
=
null
;
if
(
null
!=
relation
&&
StringUtils
.
isBlank
(
relation
.
getStoreId
()))
{
// 区经
log
.
info
(
"区经"
);
list
=
externalClerkRelatedService
.
listByExternalUseridAndWxUserId
(
externalUserid
,
null
);
}
else
{
list
=
externalClerkRelatedService
.
listByExternalUseridAndWxUserId
(
externalUserid
,
staffId
);
}
if
(
CollectionUtil
.
isEmpty
(
list
))
{
if
(
CollectionUtil
.
isEmpty
(
list
))
{
log
.
info
(
"好友记录查不到"
);
log
.
info
(
"好友记录查不到"
);
dto
.
setErrmsg
(
"客户不存在"
);
dto
.
setErrmsg
(
"客户不存在"
);
...
@@ -781,7 +794,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
...
@@ -781,7 +794,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
// 如果gic会员上没标签,不同步
// 如果gic会员上没标签,不同步
List
<
MemberTagDTO
>
memberTags
=
memberTagService
.
listMemberClerkManualTag
(
enterpriseId
,
memberId
);
List
<
MemberTagDTO
>
memberTags
=
memberTagService
.
listMemberClerkManualTag
(
enterpriseId
,
memberId
);
if
(
CollectionUtils
.
isNotEmpty
(
memberTags
))
{
if
(
CollectionUtils
.
isNotEmpty
(
memberTags
))
{
this
.
pushTagSync
(
memberId
,
wxEnterpriseId
,
enterpriseId
,
null
);
this
.
pushTagSync
(
memberId
,
wxEnterpriseId
,
enterpriseId
,
null
,
dto
.
isFlush
()
);
}
else
{
}
else
{
log
.
info
(
"gic会员上无标签,不同步企微侧标签"
);
log
.
info
(
"gic会员上无标签,不同步企微侧标签"
);
}
}
...
@@ -1238,7 +1251,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
...
@@ -1238,7 +1251,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
return
;
return
;
}
}
pushTagSync
(
dto
.
getExternalUserid
(),
wxUserId
pushTagSync
(
dto
.
getExternalUserid
(),
wxUserId
,
GicQywxSyncTypeEnum
.
FRIEND_TAG_SYNC
.
getType
(),
QywxSyncTaskTypeEnum
.
MEMBER_SYNC
.
getType
(),
wxEnterprise
.
getWxEnterpriseId
(),
null
,
null
);
,
GicQywxSyncTypeEnum
.
FRIEND_TAG_SYNC
.
getType
(),
QywxSyncTaskTypeEnum
.
MEMBER_SYNC
.
getType
(),
wxEnterprise
.
getWxEnterpriseId
(),
null
,
null
,
true
);
}
}
@Override
@Override
...
@@ -1592,7 +1605,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
...
@@ -1592,7 +1605,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
this
.
saveExternalClerk
(
memberId
,
staffId
,
unionDTO
,
staffClerkRelation
,
statusFlag
,
1
);
this
.
saveExternalClerk
(
memberId
,
staffId
,
unionDTO
,
staffClerkRelation
,
statusFlag
,
1
);
if
(
StringUtils
.
isNotBlank
(
memberId
))
{
if
(
StringUtils
.
isNotBlank
(
memberId
))
{
if
(
null
==
RedisUtil
.
getCache
(
"zhuan_self"
))
{
if
(
null
==
RedisUtil
.
getCache
(
"zhuan_self"
))
{
this
.
pushTagSync
(
memberId
,
wxEnterpriseId
,
enterpriseId
,
dto
.
getExternalUseridInfo
());
this
.
pushTagSync
(
memberId
,
wxEnterpriseId
,
enterpriseId
,
dto
.
getExternalUseridInfo
()
,
true
);
}
else
{
}
else
{
log
.
info
(
"不同步标签"
);
log
.
info
(
"不同步标签"
);
}
}
...
@@ -1625,7 +1638,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
...
@@ -1625,7 +1638,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
/**
/**
* 同步
* 同步
*/
*/
private
void
pushTagSync
(
String
dataId
,
String
taskId
,
int
syncType
,
int
taskType
,
String
wxEnterpriseId
,
String
enterpriseId
,
String
externalUseridInfo
)
{
private
void
pushTagSync
(
String
dataId
,
String
taskId
,
int
syncType
,
int
taskType
,
String
wxEnterpriseId
,
String
enterpriseId
,
String
externalUseridInfo
,
boolean
flushFlag
)
{
QywxTagSyncInfoPojo
pojo
=
new
QywxTagSyncInfoPojo
();
QywxTagSyncInfoPojo
pojo
=
new
QywxTagSyncInfoPojo
();
pojo
.
setDataId
(
dataId
);
pojo
.
setDataId
(
dataId
);
pojo
.
setTaskId
(
taskId
);
pojo
.
setTaskId
(
taskId
);
...
@@ -1647,7 +1660,11 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
...
@@ -1647,7 +1660,11 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
delay
=
90
;
delay
=
90
;
log
.
info
(
"美邦延迟处理"
);
log
.
info
(
"美邦延迟处理"
);
}
}
clientInstance
.
sendMessage
(
"qywxTagSyncDeal"
,
JSONObject
.
toJSONString
(
pojo
),
delay
);
String
mqName
=
"qywxTagSyncDeal"
;
if
(!
flushFlag
)
{
mqName
=
"qywxTagSyncDealAddFriend"
;
}
clientInstance
.
sendMessage
(
mqName
,
JSONObject
.
toJSONString
(
pojo
),
delay
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
log
.
info
(
"异常:{}"
,
e
);
log
.
info
(
"异常:{}"
,
e
);
}
}
...
@@ -1656,8 +1673,8 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
...
@@ -1656,8 +1673,8 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
/**
/**
* 同步
* 同步
*/
*/
private
void
pushTagSync
(
String
memberId
,
String
wxEnterpriseId
,
String
enterpriseId
,
String
externalUseridInfo
)
{
private
void
pushTagSync
(
String
memberId
,
String
wxEnterpriseId
,
String
enterpriseId
,
String
externalUseridInfo
,
boolean
flushFlag
)
{
this
.
pushTagSync
(
memberId
,
"-1"
,
GicQywxSyncTypeEnum
.
SINGLE_WXENT_MEMNER_SYNC
.
getType
(),
QywxSyncTaskTypeEnum
.
MEMBER_SYNC
.
getType
(),
wxEnterpriseId
,
enterpriseId
,
externalUseridInfo
);
this
.
pushTagSync
(
memberId
,
"-1"
,
GicQywxSyncTypeEnum
.
SINGLE_WXENT_MEMNER_SYNC
.
getType
(),
QywxSyncTaskTypeEnum
.
MEMBER_SYNC
.
getType
(),
wxEnterpriseId
,
enterpriseId
,
externalUseridInfo
,
flushFlag
);
}
}
private
String
saveMemberUnionTable
(
ExternalUserDTO
dto
)
{
private
String
saveMemberUnionTable
(
ExternalUserDTO
dto
)
{
...
@@ -2080,7 +2097,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
...
@@ -2080,7 +2097,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
qdto
.
setSence
(
sence
);
qdto
.
setSence
(
sence
);
String
memberId
=
null
;
String
memberId
=
null
;
com
.
gic
.
api
.
base
.
commons
.
ServiceResponse
<
MemberSimpleDetailDTO
>
resp
=
this
.
memberEntranceApiService
.
enterpriseWechatByFriendEntrance
(
qdto
);
com
.
gic
.
api
.
base
.
commons
.
ServiceResponse
<
MemberSimpleDetailDTO
>
resp
=
this
.
memberEntranceApiService
.
enterpriseWechatByFriendEntrance
(
qdto
);
log
.
info
(
"
刷新好友,
创建member,resp={},param={}"
,
JSON
.
toJSON
(
resp
),
JSON
.
toJSONString
(
qdto
));
log
.
info
(
"
获取
创建member,resp={},param={}"
,
JSON
.
toJSON
(
resp
),
JSON
.
toJSONString
(
qdto
));
if
(
resp
.
isSuccess
())
{
if
(
resp
.
isSuccess
())
{
MemberSimpleDetailDTO
member
=
resp
.
getResult
()
;
MemberSimpleDetailDTO
member
=
resp
.
getResult
()
;
memberId
=
member
.
getMemberId
()
;
memberId
=
member
.
getMemberId
()
;
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/QywxTagApiServiceImpl.java
View file @
dfbe4484
...
@@ -482,6 +482,9 @@ public class QywxTagApiServiceImpl implements QywxTagApiService {
...
@@ -482,6 +482,9 @@ public class QywxTagApiServiceImpl implements QywxTagApiService {
return
this
.
syncFriendTagToQywxByExternalUserId
(
wxEnterpriseId
,
enterpriseId
,
externalUserId
,
tagItemIds
,
null
);
return
this
.
syncFriendTagToQywxByExternalUserId
(
wxEnterpriseId
,
enterpriseId
,
externalUserId
,
tagItemIds
,
null
);
}
}
/**
* gic打标签、加好友、刷新好友时,会以gic侧的标签为准。新增或删除企微侧的客户标签。此外部联系人加的每个staff下都会处理
*/
@Override
@Override
public
ServiceResponse
syncFriendTagToQywxByExternalUserId
(
String
wxEnterpriseId
,
String
enterpriseId
,
String
externalUserId
,
List
<
String
>
tagItemIds
,
String
externalUserInfo
)
{
public
ServiceResponse
syncFriendTagToQywxByExternalUserId
(
String
wxEnterpriseId
,
String
enterpriseId
,
String
externalUserId
,
List
<
String
>
tagItemIds
,
String
externalUserInfo
)
{
logger
.
info
(
"同步gic标签到企业微信:externalUserId={},{},{}"
,
externalUserId
,
JSONObject
.
toJSONString
(
tagItemIds
),
externalUserInfo
);
logger
.
info
(
"同步gic标签到企业微信:externalUserId={},{},{}"
,
externalUserId
,
JSONObject
.
toJSONString
(
tagItemIds
),
externalUserInfo
);
...
@@ -544,12 +547,10 @@ public class QywxTagApiServiceImpl implements QywxTagApiService {
...
@@ -544,12 +547,10 @@ public class QywxTagApiServiceImpl implements QywxTagApiService {
Sets
.
SetView
<
String
>
needSetTags
=
Sets
.
difference
(
entQywxTagKeys
,
entHasSetQywxTagKeys
);
Sets
.
SetView
<
String
>
needSetTags
=
Sets
.
difference
(
entQywxTagKeys
,
entHasSetQywxTagKeys
);
//需要删除的标签
//需要删除的标签
Sets
.
SetView
<
String
>
needDelTags
=
Sets
.
difference
(
entHasSetQywxTagKeys
,
entQywxTagKeys
);
Sets
.
SetView
<
String
>
needDelTags
=
Sets
.
difference
(
entHasSetQywxTagKeys
,
entQywxTagKeys
);
logger
.
info
(
"该用户打标签:{}"
,
wxUserId
);
if
(
CollectionUtils
.
isEmpty
(
needDelTags
)
&&
CollectionUtils
.
isEmpty
(
needSetTags
))
{
if
(
CollectionUtils
.
isEmpty
(
needDelTags
)
&&
CollectionUtils
.
isEmpty
(
needSetTags
))
{
logger
.
info
(
"
不需要操作:{},{}"
,
wxUserId
,
external
UserId
);
logger
.
info
(
"
无需处理,staff={}"
,
wx
UserId
);
return
;
return
;
}
}
JSONObject
jsonObject
=
new
JSONObject
();
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"corpid"
,
qwDTO
.
getThirdCorpid
());
jsonObject
.
put
(
"corpid"
,
qwDTO
.
getThirdCorpid
());
jsonObject
.
put
(
"suiteId"
,
wxSuiteid
);
jsonObject
.
put
(
"suiteId"
,
wxSuiteid
);
...
@@ -563,7 +564,7 @@ public class QywxTagApiServiceImpl implements QywxTagApiService {
...
@@ -563,7 +564,7 @@ public class QywxTagApiServiceImpl implements QywxTagApiService {
}
}
GicMQClient
clientInstance
=
GICMQClientUtil
.
getClientInstance
();
GicMQClient
clientInstance
=
GICMQClientUtil
.
getClientInstance
();
try
{
try
{
logger
.
info
(
"
qywxMarkTagMq 该用户打标签:
{}"
,
jsonObject
.
toJSONString
());
logger
.
info
(
"
同步企微mq,=
{}"
,
jsonObject
.
toJSONString
());
clientInstance
.
sendMessage
(
"qywxMarkTagMq"
,
jsonObject
.
toJSONString
());
clientInstance
.
sendMessage
(
"qywxMarkTagMq"
,
jsonObject
.
toJSONString
());
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
logger
.
info
(
"企微标签同步qywxMarkTagMq发送失败:{}"
,
e
.
getMessage
(),
e
);
logger
.
info
(
"企微标签同步qywxMarkTagMq发送失败:{}"
,
e
.
getMessage
(),
e
);
...
@@ -704,13 +705,13 @@ public class QywxTagApiServiceImpl implements QywxTagApiService {
...
@@ -704,13 +705,13 @@ public class QywxTagApiServiceImpl implements QywxTagApiService {
Set
<
String
>
noSyncTagItemIds
=
new
HashSet
<>();
Set
<
String
>
noSyncTagItemIds
=
new
HashSet
<>();
if
(!
CollectionUtils
.
isEmpty
(
gicItems
))
{
if
(!
CollectionUtils
.
isEmpty
(
gicItems
))
{
noSyncTagItemIds
=
gicItems
.
stream
().
filter
(
item
->
!
entQywxSyncTagItemIds
.
contains
(
item
.
getTagsId
())).
map
(
dto
->
dto
.
getTagsId
()).
collect
(
Collectors
.
toSet
());
noSyncTagItemIds
=
gicItems
.
stream
().
filter
(
item
->
!
entQywxSyncTagItemIds
.
contains
(
item
.
getTagsId
())).
map
(
dto
->
dto
.
getTagsId
()).
collect
(
Collectors
.
toSet
());
logger
.
info
(
"
没有
同步的标签:{}"
,
JSONObject
.
toJSONString
(
noSyncTagItemIds
));
logger
.
info
(
"
与企微不
同步的标签:{}"
,
JSONObject
.
toJSONString
(
noSyncTagItemIds
));
}
}
//该企业下会员需要设置的标签
//该企业下会员需要设置的标签
Sets
.
SetView
<
String
>
entMemberNeedSetQywxKeys
=
Sets
.
intersection
(
staffHasSetTagKeys
,
entQywxSyncTagKeys
);
Sets
.
SetView
<
String
>
entMemberNeedSetQywxKeys
=
Sets
.
intersection
(
staffHasSetTagKeys
,
entQywxSyncTagKeys
);
Set
<
String
>
saveTagIds
=
entMemberNeedSetQywxKeys
.
stream
().
map
(
qywxKey
->
syncTagFormatPojo
.
getQywxToGicTagItemIdMap
().
get
(
qywxKey
)).
collect
(
Collectors
.
toSet
());
Set
<
String
>
saveTagIds
=
entMemberNeedSetQywxKeys
.
stream
().
map
(
qywxKey
->
syncTagFormatPojo
.
getQywxToGicTagItemIdMap
().
get
(
qywxKey
)).
collect
(
Collectors
.
toSet
());
saveTagIds
.
addAll
(
noSyncTagItemIds
);
saveTagIds
.
addAll
(
noSyncTagItemIds
);
logger
.
info
(
"
会员需要打的企微标签:{}"
,
JSONObject
.
toJSONString
(
entMemberNeedSetQywxKey
s
));
logger
.
info
(
"
企微标签:{},所有标签={}"
,
JSONObject
.
toJSONString
(
entMemberNeedSetQywxKeys
),
JSONObject
.
toJSONString
(
saveTagId
s
));
//更新标签 会自动同步
//更新标签 会自动同步
if
(
CollectionUtils
.
isEmpty
(
saveTagIds
))
{
if
(
CollectionUtils
.
isEmpty
(
saveTagIds
))
{
saveMemberTags
(
new
HashSet
<>(),
clerkRelated
.
getEnterpriseId
(),
memberId
,
clerkRelated
.
getClerkId
());
saveMemberTags
(
new
HashSet
<>(),
clerkRelated
.
getEnterpriseId
(),
memberId
,
clerkRelated
.
getClerkId
());
...
@@ -747,7 +748,7 @@ public class QywxTagApiServiceImpl implements QywxTagApiService {
...
@@ -747,7 +748,7 @@ public class QywxTagApiServiceImpl implements QywxTagApiService {
* @return
* @return
*/
*/
private
Map
<
String
,
Set
<
String
>>
getExternalTagMap
(
String
externalUseridInfo
,
String
wxEnterpriseId
)
{
private
Map
<
String
,
Set
<
String
>>
getExternalTagMap
(
String
externalUseridInfo
,
String
wxEnterpriseId
)
{
logger
.
info
(
"externalUseridInfo:{}"
,
externalUseridInfo
);
//
logger.info("externalUseridInfo:{}", externalUseridInfo);
Map
<
String
,
Set
<
String
>>
ret
=
new
HashMap
<>();
Map
<
String
,
Set
<
String
>>
ret
=
new
HashMap
<>();
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
externalUseridInfo
);
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
externalUseridInfo
);
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/hm/HmLinkApiServiceImpl.java
View file @
dfbe4484
package
com
.
gic
.
haoban
.
manage
.
service
.
service
.
out
.
impl
.
hm
;
package
com
.
gic
.
haoban
.
manage
.
service
.
service
.
out
.
impl
.
hm
;
import
java.util.ArrayList
;
import
java.math.BigDecimal
;
import
java.util.Arrays
;
import
java.math.RoundingMode
;
import
java.util.Date
;
import
java.text.DateFormat
;
import
java.util.HashMap
;
import
java.text.SimpleDateFormat
;
import
java.util.List
;
import
java.util.*
;
import
java.util.Map
;
import
java.util.Random
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
import
cn.hutool.core.map.MapUtil
;
import
com.alibaba.fastjson.JSONArray
;
import
com.gic.api.base.commons.BusinessException
;
import
com.gic.api.base.commons.Page
;
import
com.gic.enterprise.api.service.WechatStoreService
;
import
com.gic.haoban.manage.api.dto.chat.GroupChatActivityDTO
;
import
com.gic.haoban.manage.api.qdto.chat.GroupChatActivityHmQDTO
;
import
com.gic.haoban.manage.api.qdto.chat.LinkHmFromWxaQDTO
;
import
com.gic.haoban.manage.service.context.chat.JoinRuleManager
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.LogManager
;
...
@@ -121,6 +128,11 @@ public class HmLinkApiServiceImpl implements HmLinkApiService {
...
@@ -121,6 +128,11 @@ public class HmLinkApiServiceImpl implements HmLinkApiService {
private
GroupChatHmService
groupChatHmService
;
private
GroupChatHmService
groupChatHmService
;
@Autowired
@Autowired
private
TabHaobanStaffClerkRelationMapper
staffClerkRelationMapper
;
private
TabHaobanStaffClerkRelationMapper
staffClerkRelationMapper
;
@Autowired
private
JoinRuleManager
joinRuleManager
;
@Autowired
private
WechatStoreService
wechatStoreService
;
@Override
@Override
public
ServiceResponse
<
String
>
getHmLinkUrl
()
{
public
ServiceResponse
<
String
>
getHmLinkUrl
()
{
...
@@ -181,10 +193,10 @@ public class HmLinkApiServiceImpl implements HmLinkApiService {
...
@@ -181,10 +193,10 @@ public class HmLinkApiServiceImpl implements HmLinkApiService {
// 群链接
// 群链接
private
ServiceResponse
<
HmLinkWxaDTO
>
getLinkChatHmFromWxa
(
String
wxEnterpriseId
,
String
enterpriseId
,
private
ServiceResponse
<
HmLinkWxaDTO
>
getLinkChatHmFromWxa
(
String
wxEnterpriseId
,
String
enterpriseId
,
String
mixPhone
,
String
unionid
,
String
memberId
,
HmLinkBO
link
,
HmLinkWxaDTO
retDTO
)
{
String
mixPhone
,
String
unionid
,
String
memberId
,
HmLinkBO
link
,
HmLinkWxaDTO
retDTO
,
LinkHmFromWxaQDTO
qdto
,
String
inStoreId
)
{
Long
hmId
=
link
.
getOtherChatHmId
();
Long
hmId
=
link
.
getOtherChatHmId
();
Long
linkId
=
link
.
getLinkId
();
Long
linkId
=
link
.
getLinkId
();
List
<
HmLinkChatDTO
>
hmList
=
this
.
hmLinkChatService
.
listByLinkId
(
wxEnterpriseId
,
enterpriseId
,
linkId
);
retDTO
.
setGroupChatHm
(
true
);
if
(
StringUtils
.
isNotEmpty
(
mixPhone
))
{
if
(
StringUtils
.
isNotEmpty
(
mixPhone
))
{
String
mobile
=
this
.
keyDataService
.
getMobile
(
mixPhone
,
link
.
getShortCode
());
String
mobile
=
this
.
keyDataService
.
getMobile
(
mixPhone
,
link
.
getShortCode
());
log
.
info
(
"查询手机号,mobile={},mixPhone={}"
,
mobile
,
mixPhone
);
log
.
info
(
"查询手机号,mobile={},mixPhone={}"
,
mobile
,
mixPhone
);
...
@@ -193,17 +205,110 @@ public class HmLinkApiServiceImpl implements HmLinkApiService {
...
@@ -193,17 +205,110 @@ public class HmLinkApiServiceImpl implements HmLinkApiService {
memberId
=
mobileMemberId
;
memberId
=
mobileMemberId
;
}
}
}
}
if
(
CollectionUtils
.
isNotEmpty
(
hmList
))
{
String
chatStoreRule
=
link
.
getChatStoreRule
()
;
for
(
HmLinkChatDTO
item
:
hmList
)
{
log
.
info
(
"活码规则={},memberId={}"
,
chatStoreRule
,
memberId
);
boolean
flag
=
this
.
memberCondition
(
enterpriseId
,
memberId
,
item
,
link
.
getCreatorId
(),
if
(
StringUtils
.
isBlank
(
chatStoreRule
))
{
link
.
getUpdateTime
());
log
.
info
(
"无活码规则配置"
);
if
(
flag
)
{
return
ServiceResponse
.
failure
(
"9999"
,
"群活码不存在"
);
log
.
info
(
"使用特殊群活码={}"
,
item
.
getChatHmId
());
}
hmId
=
item
.
getChatHmId
();
// [{"type":1服务门店2协管3lbs4指定人群,"open":1}]
break
;
GroupChatActivityHmQDTO
hmQDTO
=
new
GroupChatActivityHmQDTO
()
;
hmQDTO
.
setEnterpriseId
(
enterpriseId
);
hmQDTO
.
setInviteeMemberId
(
memberId
);
GroupChatActivityDTO
chatActivity
=
new
GroupChatActivityDTO
()
;
chatActivity
.
setWxEnterpriseId
(
wxEnterpriseId
);
hmQDTO
.
setChatActivity
(
chatActivity
);
if
(
StringUtils
.
isNotBlank
(
inStoreId
))
{
log
.
info
(
"lbs后指定门店={}"
,
inStoreId
);
hmQDTO
.
setInStoreId
(
inStoreId
);
List
<
GroupChatHmBO
>
hmBOList
=
joinRuleManager
.
handleMainStore
(
hmQDTO
);
if
(
CollectionUtils
.
isNotEmpty
(
hmBOList
))
{
int
sort
=
new
Random
().
nextInt
(
hmBOList
.
size
())
;
hmId
=
hmBOList
.
get
(
sort
).
getChatHmId
()
;
}
}
else
{
JSONArray
arr
=
JSONArray
.
parseArray
(
chatStoreRule
)
;
for
(
int
i
=
0
;
i
<
arr
.
size
();
i
++)
{
JSONObject
json
=
arr
.
getJSONObject
(
i
)
;
int
open
=
json
.
getIntValue
(
"open"
)
;
if
(
open
==
1
)
{
int
type
=
json
.
getIntValue
(
"type"
)
;
if
(
type
==
1
)
{
log
.
info
(
"服务门店"
);
List
<
GroupChatHmBO
>
hmBOList
=
joinRuleManager
.
handleMainStore
(
hmQDTO
);
if
(
CollectionUtils
.
isNotEmpty
(
hmBOList
))
{
int
sort
=
new
Random
().
nextInt
(
hmBOList
.
size
())
;
log
.
info
(
"{}"
,
sort
);
hmId
=
hmBOList
.
get
(
sort
).
getChatHmId
()
;
break
;
}
}
else
if
(
type
==
2
)
{
log
.
info
(
"协管门店"
);
List
<
GroupChatHmBO
>
hmBOList
=
joinRuleManager
.
handleOtherStore
(
hmQDTO
);
if
(
CollectionUtils
.
isNotEmpty
(
hmBOList
))
{
int
sort
=
new
Random
().
nextInt
(
hmBOList
.
size
())
;
hmId
=
hmBOList
.
get
(
sort
).
getChatHmId
()
;
break
;
}
}
else
if
(
type
==
3
)
{
log
.
info
(
"lbs门店"
);
if
(
StringUtils
.
isNotEmpty
(
qdto
.
getLatitude
())
&&
StringUtils
.
isNotEmpty
(
qdto
.
getLongitude
())
&&
StringUtils
.
isNotEmpty
(
qdto
.
getDistrictCode
()))
{
Page
<
StoreDTO
>
page
=
new
Page
<>()
;
Map
<
String
,
Object
>
params
=
new
HashMap
<
String
,
Object
>();
params
.
put
(
"latitude"
,
qdto
.
getLatitude
());
params
.
put
(
"longitude"
,
qdto
.
getLongitude
());
params
.
put
(
"enterpriseId"
,
enterpriseId
)
;
params
.
put
(
"areaId"
,
qdto
.
getDistrictCode
())
;
params
.
put
(
"brandType"
,
1
);
page
.
setParams
(
params
);
page
.
setPageSize
(
1000
);
page
.
setCurrentPage
(
1
);
page
=
this
.
wechatStoreService
.
getActiveStoresByPage
(
page
)
;
if
(
CollectionUtils
.
isEmpty
(
page
.
getResult
()))
{
break
;
}
List
<
String
>
storeIds
=
page
.
getResult
().
stream
().
map
(
StoreDTO:
:
getStoreId
).
collect
(
Collectors
.
toList
());
log
.
info
(
"lbs门店={}"
,
storeIds
);
//获取storeId对应活码
Map
<
String
,
List
<
GroupChatHmBO
>>
storeToHmMap
=
this
.
joinRuleManager
.
getStoreIdToGroupChatHmBOMap
(
enterpriseId
,
wxEnterpriseId
,
storeIds
);
this
.
joinRuleManager
.
addSetHm
(
storeIds
,
storeToHmMap
);
if
(
MapUtil
.
isEmpty
(
storeToHmMap
))
{
break
;
}
log
.
info
(
"lbs门店={}"
,
storeToHmMap
.
size
());
if
(
storeToHmMap
.
size
()==
1
)
{
hmId
=
storeToHmMap
.
values
().
iterator
().
next
().
get
(
0
).
getChatHmId
();
break
;
}
else
{
List
<
HmLinkStoreDTO
>
storeList
=
page
.
getResult
().
stream
().
filter
(
o
->
CollectionUtils
.
isNotEmpty
(
storeToHmMap
.
get
(
o
.
getStoreId
()))).
map
(
store
->
{
HmLinkStoreDTO
storeDTO
=
EntityUtil
.
changeEntityByJSON
(
HmLinkStoreDTO
.
class
,
store
)
;
return
storeDTO
;
}).
collect
(
Collectors
.
toList
())
;
this
.
handleStoreList
(
storeList
)
;
retDTO
.
setStoreList
(
storeList
);
return
ServiceResponse
.
success
(
retDTO
);
}
}
else
{
log
.
info
(
"无经纬度"
);
}
}
else
if
(
type
==
4
)
{
List
<
HmLinkChatDTO
>
hmList
=
this
.
hmLinkChatService
.
listByLinkId
(
wxEnterpriseId
,
enterpriseId
,
linkId
);
if
(
CollectionUtils
.
isNotEmpty
(
hmList
))
{
for
(
HmLinkChatDTO
item
:
hmList
)
{
boolean
flag
=
this
.
memberCondition
(
enterpriseId
,
memberId
,
item
,
link
.
getCreatorId
(),
link
.
getUpdateTime
());
if
(
flag
)
{
log
.
info
(
"使用特殊群活码={}"
,
item
.
getChatHmId
());
hmId
=
item
.
getChatHmId
();
break
;
}
}
}
}
}
}
}
}
}
}
log
.
info
(
"hmid={}"
,
hmId
);
GroupChatHmBO
hm
=
null
;
GroupChatHmBO
hm
=
null
;
if
(
null
==
hmId
)
{
if
(
null
==
hmId
)
{
log
.
info
(
"群活码不存在"
);
log
.
info
(
"群活码不存在"
);
...
@@ -213,13 +318,41 @@ public class HmLinkApiServiceImpl implements HmLinkApiService {
...
@@ -213,13 +318,41 @@ public class HmLinkApiServiceImpl implements HmLinkApiService {
if
(
null
==
hm
)
{
if
(
null
==
hm
)
{
log
.
info
(
"群活码不存在,hmid={}"
,
hmId
);
log
.
info
(
"群活码不存在,hmid={}"
,
hmId
);
}
}
retDTO
.
setHmId
(
hmId
);
retDTO
.
setHmQrcode
(
hm
.
getWxQrCode
());
retDTO
.
setHmQrcode
(
hm
.
getWxQrCode
());
return
ServiceResponse
.
success
(
retDTO
);
return
ServiceResponse
.
success
(
retDTO
);
}
}
private
void
handleStoreList
(
List
<
HmLinkStoreDTO
>
storeList
)
{
if
(
storeList
==
null
)
{
return
;
}
/* 处理返回信息,营业时间和距离说明问题 */
for
(
HmLinkStoreDTO
tabStore
:
storeList
)
{
double
distance
=
tabStore
.
getDistance
();
String
distanceStr
=
""
;
if
(
distance
>
0
)
{
if
(
distance
>
1000
)
{
BigDecimal
b1
=
new
BigDecimal
(
distance
/
1000
);
distanceStr
+=
b1
.
setScale
(
1
,
RoundingMode
.
HALF_UP
)
+
"km"
;
}
else
{
BigDecimal
b1
=
new
BigDecimal
(
distance
);
distanceStr
+=
b1
.
setScale
(
0
,
RoundingMode
.
HALF_UP
)
+
"m"
;
}
}
tabStore
.
setDistanceStr
(
distanceStr
);
}
}
@Override
public
ServiceResponse
<
HmLinkWxaDTO
>
getLinkHmFromWxa
(
String
enterpriseId
,
Integer
whitchStore
,
String
storeId
,
String
clerkId
,
String
linkShortCode
,
String
mixPhone
,
String
unionid
,
String
memberId
)
{
return
this
.
getLinkHmFromWxa
(
enterpriseId
,
whitchStore
,
storeId
,
clerkId
,
linkShortCode
,
mixPhone
,
unionid
,
memberId
,
new
LinkHmFromWxaQDTO
());
}
@Override
@Override
public
ServiceResponse
<
HmLinkWxaDTO
>
getLinkHmFromWxa
(
String
enterpriseId
,
Integer
whitchStore
,
String
inStoreId
,
public
ServiceResponse
<
HmLinkWxaDTO
>
getLinkHmFromWxa
(
String
enterpriseId
,
Integer
whitchStore
,
String
inStoreId
,
String
inClerkId
,
String
linkShortCode
,
String
mixPhone
,
String
unionid
,
String
memberId
)
{
String
inClerkId
,
String
linkShortCode
,
String
mixPhone
,
String
unionid
,
String
memberId
,
LinkHmFromWxaQDTO
qdto
)
{
if
(
"-1"
.
equals
(
memberId
))
{
if
(
"-1"
.
equals
(
memberId
))
{
memberId
=
null
;
memberId
=
null
;
}
}
...
@@ -252,8 +385,27 @@ public class HmLinkApiServiceImpl implements HmLinkApiService {
...
@@ -252,8 +385,27 @@ public class HmLinkApiServiceImpl implements HmLinkApiService {
// 如果是社群链接
// 如果是社群链接
if
(
link
.
getLinkType
()
==
HmLinkTypeEnum
.
CHAT_HM_LINK_TYPE
.
getLinkType
())
{
if
(
link
.
getLinkType
()
==
HmLinkTypeEnum
.
CHAT_HM_LINK_TYPE
.
getLinkType
())
{
retDTO
.
setGroupChatHm
(
true
);
log
.
info
(
"群链接,linkId={}"
,
link
.
getLinkId
());
log
.
info
(
"群链接,linkId={}"
,
link
.
getLinkId
());
return
this
.
getLinkChatHmFromWxa
(
wxEnterpriseId
,
enterpriseId
,
mixPhone
,
unionid
,
memberId
,
link
,
retDTO
);
if
(
null
!=
qdto
.
getJustLocationFlag
()
&&
qdto
.
getJustLocationFlag
()==
1
)
{
JSONArray
arr
=
JSONArray
.
parseArray
(
link
.
getChatStoreRule
())
;
boolean
flag
=
false
;
for
(
int
i
=
0
;
i
<
arr
.
size
();
i
++)
{
JSONObject
json
=
arr
.
getJSONObject
(
i
)
;
int
open
=
json
.
getIntValue
(
"open"
)
;
int
type
=
json
.
getIntValue
(
"type"
)
;
if
(
open
==
1
&&
type
==
3
)
{
flag
=
true
;
break
;
}
}
if
(
flag
)
{
retDTO
.
setStoreType
(
3
);
return
ServiceResponse
.
success
(
retDTO
)
;
}
}
ServiceResponse
<
HmLinkWxaDTO
>
resp
=
this
.
getLinkChatHmFromWxa
(
wxEnterpriseId
,
enterpriseId
,
mixPhone
,
unionid
,
memberId
,
link
,
retDTO
,
qdto
,
inStoreId
);
return
resp
;
}
}
// 判断导购是否有活码,如果没有返回错误
// 判断导购是否有活码,如果没有返回错误
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/role/impl/HaobanMenuServiceImpl.java
View file @
dfbe4484
...
@@ -151,6 +151,12 @@ public class HaobanMenuServiceImpl implements HaobanMenuService {
...
@@ -151,6 +151,12 @@ public class HaobanMenuServiceImpl implements HaobanMenuService {
List
<
TabHaobanMenu
>
notPidMenuList
=
tabHaobanMenuMapper
.
getHaobanNotPidMenuList
(
wxEnterpriseId
,
clerkType
,
0
);
List
<
TabHaobanMenu
>
notPidMenuList
=
tabHaobanMenuMapper
.
getHaobanNotPidMenuList
(
wxEnterpriseId
,
clerkType
,
0
);
List
<
HaobanMenuBO
>
pidMenuBOList
=
EntityUtil
.
changeEntityListNew
(
HaobanMenuBO
.
class
,
pidMenuList
);
List
<
HaobanMenuBO
>
pidMenuBOList
=
EntityUtil
.
changeEntityListNew
(
HaobanMenuBO
.
class
,
pidMenuList
);
List
<
HaobanMenuBO
>
notPidMenuBOList
=
EntityUtil
.
changeEntityListNew
(
HaobanMenuBO
.
class
,
notPidMenuList
);
List
<
HaobanMenuBO
>
notPidMenuBOList
=
EntityUtil
.
changeEntityListNew
(
HaobanMenuBO
.
class
,
notPidMenuList
);
if
(
CollectionUtils
.
isEmpty
(
pidMenuBOList
))
{
pidMenuBOList
=
new
ArrayList
<>()
;
}
if
(
CollectionUtils
.
isEmpty
(
notPidMenuBOList
))
{
notPidMenuBOList
=
new
ArrayList
<>()
;
}
List
<
String
>
gicMenulist
=
this
.
getGicBuyCodes
(
enterpriseId
,
clerkType
)
;
List
<
String
>
gicMenulist
=
this
.
getGicBuyCodes
(
enterpriseId
,
clerkType
)
;
if
(
CollectionUtils
.
isNotEmpty
(
gicMenulist
))
{
if
(
CollectionUtils
.
isNotEmpty
(
gicMenulist
))
{
List
<
HaobanMenuBO
>
allMenuList
=
this
.
getAllMenuList
();
List
<
HaobanMenuBO
>
allMenuList
=
this
.
getAllMenuList
();
...
...
haoban-manage3-service/src/main/resources/dubbo-haoban-manage-service.xml
View file @
dfbe4484
...
@@ -273,5 +273,6 @@
...
@@ -273,5 +273,6 @@
<dubbo:reference
id=
"settingApiService"
interface=
"com.gic.haoban.task.api.service.SettingApiService"
timeout=
"10000"
retries=
"0"
/>
<dubbo:reference
id=
"settingApiService"
interface=
"com.gic.haoban.task.api.service.SettingApiService"
timeout=
"10000"
retries=
"0"
/>
<dubbo:reference
interface=
"com.gic.haoban.task.manage.api.service.IMarketClueTaskApiService"
id=
"iMarketClueTaskApiService"
timeout=
"10000"
retries=
"0"
check=
"false"
/>
<dubbo:reference
interface=
"com.gic.haoban.task.manage.api.service.IMarketClueTaskApiService"
id=
"iMarketClueTaskApiService"
timeout=
"10000"
retries=
"0"
check=
"false"
/>
<dubbo:reference
id=
"canvasApiService"
interface=
"com.gic.canvas.api.service.CanvasApiService"
timeout=
"10000"
retries=
"0"
check=
"false"
/>
<dubbo:reference
id=
"canvasApiService"
interface=
"com.gic.canvas.api.service.CanvasApiService"
timeout=
"10000"
retries=
"0"
check=
"false"
/>
<dubbo:reference
id=
"wechatStoreService"
interface=
"com.gic.enterprise.api.service.WechatStoreService"
timeout=
"10000"
retries=
"0"
check=
"false"
/>
</beans>
</beans>
\ No newline at end of file
haoban-manage3-service/src/main/resources/mapper/HandoverExternalMapper.xml
View file @
dfbe4484
...
@@ -125,6 +125,24 @@
...
@@ -125,6 +125,24 @@
order by create_time desc
order by create_time desc
</select>
</select>
<select
id=
"listAllByStaffIds"
resultMap=
"BaseResultMap"
>
select
<include
refid=
"Base_Column_List"
/>
from tab_haoban_handover_external
where wx_enterprise_id = #{wxEnterpriseId,jdbcType=VARCHAR}
and staff_id in
<foreach
collection=
"staffIds"
item=
"item"
separator=
","
open=
"("
close=
")"
>
#{item}
</foreach>
and status_flag = #{status}
<if
test=
"search!=null and search!=''"
>
and external_user_name like CONCAT('%',#{search},'%')
</if>
limit 0 , 5000
</select>
<select
id=
"listIdByStaffIds"
resultMap=
"BaseResultMap"
>
<select
id=
"listIdByStaffIds"
resultMap=
"BaseResultMap"
>
select
select
handover_external_id
handover_external_id
...
...
haoban-manage3-service/src/main/resources/mapper/TabHaobanExternalClerkRelatedMapper.xml
View file @
dfbe4484
...
@@ -316,8 +316,10 @@
...
@@ -316,8 +316,10 @@
select
select
<include
refid=
"Base_Column_List"
/>
<include
refid=
"Base_Column_List"
/>
from tab_haoban_external_clerk_related
from tab_haoban_external_clerk_related
where staff_id = #{staffId,jdbcType=VARCHAR}
where external_user_id = #{externalUserid}
and external_user_id = #{externalUserid}
<if
test=
"null != staffId"
>
and staff_id = #{staffId,jdbcType=VARCHAR}
</if>
and status_flag = #{statusFlag} order by update_time desc
and status_flag = #{statusFlag} order by update_time desc
</select>
</select>
...
...
haoban-manage3-service/src/main/resources/mapper/TabHaobanStaffClerkRelationMapper.xml
View file @
dfbe4484
...
@@ -514,5 +514,15 @@
...
@@ -514,5 +514,15 @@
</if>
</if>
GROUP BY a.staff_id
GROUP BY a.staff_id
</select>
</select>
<select
id=
"staffStoreNum"
resultType=
"com.gic.haoban.manage.service.pojo.StaffStoreNumBO"
>
select a.staff_id staffId, count(a.store_id) num from tab_haoban_staff_clerk_relation a
where a.status_flag = 1 and a.staff_id in
<foreach
collection=
"staffIdList"
item=
"item"
separator=
","
open=
"("
close=
")"
>
#{item}
</foreach>
and a.store_id is not null
group by a.staff_id
</select>
</mapper>
</mapper>
\ No newline at end of file
haoban-manage3-service/src/main/resources/mapper/chat/GroupChatHmMapper.xml
View file @
dfbe4484
...
@@ -25,6 +25,7 @@
...
@@ -25,6 +25,7 @@
<result
column=
"chat_count"
property=
"chatCount"
/>
<result
column=
"chat_count"
property=
"chatCount"
/>
<result
column=
"link_count"
property=
"linkCount"
/>
<result
column=
"link_count"
property=
"linkCount"
/>
<result
column=
"status_flag"
property=
"statusFlag"
/>
<result
column=
"status_flag"
property=
"statusFlag"
/>
<result
column=
"store_id"
property=
"storeId"
/>
</resultMap>
</resultMap>
<sql
id=
"Base_Column_List"
>
<sql
id=
"Base_Column_List"
>
chat_hm_id,
chat_hm_id,
...
@@ -46,7 +47,7 @@
...
@@ -46,7 +47,7 @@
create_time,
create_time,
update_time,
update_time,
chat_count, link_count ,
chat_count, link_count ,
status_flag
status_flag
, store_id
</sql>
</sql>
<!-- ===================== 新增 ======================== -->
<!-- ===================== 新增 ======================== -->
<insert
id=
"insert"
<insert
id=
"insert"
...
@@ -72,7 +73,7 @@
...
@@ -72,7 +73,7 @@
create_time,
create_time,
update_time,
update_time,
chat_count,
chat_count,
status_flag
status_flag
, store_id
)VALUES(
)VALUES(
#{chatHmId},
#{chatHmId},
#{chatHmCode},
#{chatHmCode},
...
@@ -93,7 +94,7 @@
...
@@ -93,7 +94,7 @@
now(),
now(),
now(),
now(),
#{chatCount},
#{chatCount},
1
1
, #{storeId}
)
)
]]>
]]>
</insert>
</insert>
...
@@ -118,7 +119,7 @@
...
@@ -118,7 +119,7 @@
modifier_id=#{modifierId},
modifier_id=#{modifierId},
modifier_name=#{modifierName},
modifier_name=#{modifierName},
update_time=now(),
update_time=now(),
chat_count=#{chatCount}
chat_count=#{chatCount}
, store_id = #{storeId}
where chat_hm_id = #{chatHmId}
where chat_hm_id = #{chatHmId}
]]>
]]>
</update>
</update>
...
@@ -169,6 +170,9 @@
...
@@ -169,6 +170,9 @@
#{id}
#{id}
</foreach>
</foreach>
</if>
</if>
<if
test=
"null != storeId and ''!=storeId"
>
and store_id = #{storeId}
</if>
order by create_time desc
order by create_time desc
</select>
</select>
<select
id=
"listAvailableByEnterpriseId"
<select
id=
"listAvailableByEnterpriseId"
...
@@ -183,4 +187,24 @@
...
@@ -183,4 +187,24 @@
order by create_time desc
order by create_time desc
</select>
</select>
<select
id=
"listByStoreIdList"
resultMap=
"result-map-tabHaobanGroupChatHm"
>
select
<include
refid=
"Base_Column_List"
/>
from tab_haoban_group_chat_hm where store_id in
<foreach
collection=
"storeIdList"
item=
"item"
index=
"index"
separator=
","
open=
"("
close=
")"
>
#{item}
</foreach>
and status_flag = 1 and delete_flag = 0
</select>
<select
id=
"hasManyOwnerStore"
resultType=
"com.gic.haoban.manage.service.pojo.HmStoreNumBO"
>
SELECT chat_hm_id chatHmId , COUNT(1) num FROM (
SELECT a.chat_hm_id , c.store_id FROM `tab_haoban_group_chat_hm_relation` a
LEFT JOIN tab_haoban_group_chat b ON a.group_chat_id = b.group_chat_id
LEFT JOIN `tab_haoban_staff_clerk_relation` c ON c.staff_id = b.staff_id AND c.status_flag = 1
WHERE a.delete_flag = 0 AND a.status_flag = 1 AND b.delete_flag = 0 AND c.`store_id`
<![CDATA[ <> ]]>
'' AND a.chat_hm_id in
<foreach
collection=
"chatHmIdList"
item=
"item"
index=
"index"
separator=
","
open=
"("
close=
")"
>
#{item}
</foreach>
GROUP BY a.`chat_hm_id` , c.`store_id` ) t GROUP BY chat_hm_id
</select>
</mapper>
</mapper>
\ No newline at end of file
haoban-manage3-service/src/main/resources/mapper/chat/GroupChatOwnerMapper.xml
View file @
dfbe4484
...
@@ -53,7 +53,10 @@
...
@@ -53,7 +53,10 @@
<select
id=
"listOwner"
parameterType=
"com.gic.haoban.manage.api.dto.qdto.chat.OwnerSearchQDTO"
resultType=
"com.gic.haoban.manage.api.dto.chat.GroupChatOwnerDTO"
>
<select
id=
"listOwner"
parameterType=
"com.gic.haoban.manage.api.dto.qdto.chat.OwnerSearchQDTO"
resultType=
"com.gic.haoban.manage.api.dto.chat.GroupChatOwnerDTO"
>
SELECT a.staff_id staffId , b.`staff_name` staffName , a.wx_enterprise_id wxEnterpriseId ,
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
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`
FROM tab_haoban_group_chat_owner a LEFT JOIN tab_haoban_staff b ON a.`staff_id` = b.`staff_id`
<if
test=
"null != paramsEnterpriseId and ''!=paramsEnterpriseId "
>
left join tab_haoban_staff_clerk_relation d on a.staff_id = d.staff_id and d.status_flag = 1
</if>
<if
test=
"departmentIdList != null and departmentIdList.size() > 0"
>
<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
left join tab_haoban_staff_department_related c on a.staff_id = c.staff_id and c.status_flag = 1
</if>
</if>
...
@@ -64,6 +67,9 @@
...
@@ -64,6 +67,9 @@
#{id,jdbcType=VARCHAR}
#{id,jdbcType=VARCHAR}
</foreach>
</foreach>
</if>
</if>
<if
test=
"null != paramsEnterpriseId and ''!=paramsEnterpriseId "
>
and d.enterprise_id = #{paramsEnterpriseId}
</if>
<if
test=
"null != searchParams and ''!=searchParams "
>
<if
test=
"null != searchParams and ''!=searchParams "
>
and b.staff_name like #{searchParams}
and b.staff_name like #{searchParams}
</if>
</if>
...
@@ -73,7 +79,7 @@
...
@@ -73,7 +79,7 @@
<if
test=
"status==2"
>
<if
test=
"status==2"
>
and b.status_flag = 0
and b.status_flag = 0
</if>
</if>
<if
test=
"
departmentIdList != null and departmentIdList.size() > 0
"
>
<if
test=
"
(departmentIdList != null and departmentIdList.size() > 0 ) or (null != paramsEnterpriseId and ''!=paramsEnterpriseId)
"
>
group by a.staff_id
group by a.staff_id
</if>
</if>
</select>
</select>
...
@@ -94,7 +100,7 @@
...
@@ -94,7 +100,7 @@
</foreach>
</foreach>
</if>
</if>
<if
test=
"null != searchParams and ''!=searchParams "
>
<if
test=
"null != searchParams and ''!=searchParams "
>
and b.staff_name like #{searchParams}
and b.staff_name like #{searchParams}
g
</if>
</if>
and b.status_flag = 1
and b.status_flag = 1
<if
test=
"departmentIdList != null and departmentIdList.size() > 0"
>
<if
test=
"departmentIdList != null and departmentIdList.size() > 0"
>
...
...
haoban-manage3-service/src/main/resources/mapper/hm/HmLinkMapper.xml
View file @
dfbe4484
...
@@ -23,6 +23,7 @@
...
@@ -23,6 +23,7 @@
<result
column=
"status_flag"
property=
"statusFlag"
/>
<result
column=
"status_flag"
property=
"statusFlag"
/>
<result
column=
"short_code"
property=
"shortCode"
/>
<result
column=
"short_code"
property=
"shortCode"
/>
<result
column=
"other_chat_hm_id"
property=
"otherChatHmId"
/>
<result
column=
"other_chat_hm_id"
property=
"otherChatHmId"
/>
<result
column=
"chat_store_rule"
property=
"chatStoreRule"
/>
</resultMap>
</resultMap>
<sql
id=
"Base_Column_List"
>
<sql
id=
"Base_Column_List"
>
link_id,
link_id,
...
@@ -43,7 +44,7 @@
...
@@ -43,7 +44,7 @@
store_rule_json,
store_rule_json,
custom_rule_json,
custom_rule_json,
member_label_id,
member_label_id,
status_flag,short_code , other_chat_hm_id
status_flag,short_code , other_chat_hm_id
, chat_store_rule
</sql>
</sql>
<!-- ===================== 新增 ======================== -->
<!-- ===================== 新增 ======================== -->
<insert
id=
"insert"
parameterType=
"com.gic.haoban.manage.service.entity.hm.TabHmLink"
>
<insert
id=
"insert"
parameterType=
"com.gic.haoban.manage.service.entity.hm.TabHmLink"
>
...
@@ -67,7 +68,7 @@
...
@@ -67,7 +68,7 @@
store_rule_json,
store_rule_json,
custom_rule_json,
custom_rule_json,
member_label_id,
member_label_id,
status_flag , short_code , other_chat_hm_id
status_flag , short_code , other_chat_hm_id
, chat_store_rule
)VALUES(
)VALUES(
#{linkId,jdbcType=BIGINT},
#{linkId,jdbcType=BIGINT},
#{linkCode,jdbcType=VARCHAR},
#{linkCode,jdbcType=VARCHAR},
...
@@ -87,7 +88,7 @@
...
@@ -87,7 +88,7 @@
#{storeRuleJson,jdbcType=VARCHAR},
#{storeRuleJson,jdbcType=VARCHAR},
#{customRuleJson,jdbcType=VARCHAR},
#{customRuleJson,jdbcType=VARCHAR},
#{memberLabelId,jdbcType=VARCHAR},
#{memberLabelId,jdbcType=VARCHAR},
#{statusFlag,jdbcType=INTEGER} , #{shortCode} , #{otherChatHmId}
#{statusFlag,jdbcType=INTEGER} , #{shortCode} , #{otherChatHmId}
, #{chatStoreRule}
)
)
]]>
]]>
</insert>
</insert>
...
@@ -105,7 +106,7 @@
...
@@ -105,7 +106,7 @@
update_time=now(),
update_time=now(),
store_rule_json=#{storeRuleJson,jdbcType=VARCHAR},
store_rule_json=#{storeRuleJson,jdbcType=VARCHAR},
custom_rule_json=#{customRuleJson,jdbcType=VARCHAR},
custom_rule_json=#{customRuleJson,jdbcType=VARCHAR},
member_label_id=#{memberLabelId,jdbcType=VARCHAR} , other_chat_hm_id = #{otherChatHmId}
member_label_id=#{memberLabelId,jdbcType=VARCHAR} , other_chat_hm_id = #{otherChatHmId}
, chat_store_rule = #{chatStoreRule}
WHERE link_id = #{linkId}
WHERE link_id = #{linkId}
]]>
]]>
</update>
</update>
...
...
haoban-manage3-service/src/main/resources/mapper/hm/WxUserAddLogMapper.xml
View file @
dfbe4484
...
@@ -188,6 +188,14 @@
...
@@ -188,6 +188,14 @@
status_flag != 0 order by create_time desc limit 1
status_flag != 0 order by create_time desc limit 1
</select>
</select>
<select
id=
"listNewLog"
resultMap=
"result-map-tabHaobanWxUserAddLog"
>
select
<include
refid=
"Base_Column_List"
/>
from tab_haoban_wx_user_add_log where
external_userid=#{externalUserid} and staff_id =#{staffId} and
status_flag != 0 and friend_clerk_id = #{friendClerkId} order by create_time desc limit 1
</select>
<select
id=
"listForPage"
parameterType=
"com.gic.haoban.manage.api.dto.qdto.hm.WxUserAddLogSearchQDTO"
<select
id=
"listForPage"
parameterType=
"com.gic.haoban.manage.api.dto.qdto.hm.WxUserAddLogSearchQDTO"
resultMap=
"result-map-tabHaobanWxUserAddLog"
>
resultMap=
"result-map-tabHaobanWxUserAddLog"
>
select
select
...
...
haoban-manage3-service/src/main/resources/mapper/moment/qwMomentPlanMapper.xml
View file @
dfbe4484
...
@@ -33,6 +33,8 @@
...
@@ -33,6 +33,8 @@
<result
column=
"task_clerk_num"
property=
"taskClerkNum"
/>
<result
column=
"task_clerk_num"
property=
"taskClerkNum"
/>
<result
column=
"moment_id"
property=
"momentId"
/>
<result
column=
"moment_id"
property=
"momentId"
/>
<result
column=
"media_link_flag"
property=
"mediaLinkFlag"
/>
<result
column=
"media_link_flag"
property=
"mediaLinkFlag"
/>
<result
column=
"analyse_flag"
property=
"analyseFlag"
/>
<result
column=
"analyse_day"
property=
"analyseDay"
/>
</resultMap>
</resultMap>
<sql
id=
"Base_Column_List"
>
<sql
id=
"Base_Column_List"
>
plan_id,
plan_id,
...
@@ -62,7 +64,7 @@
...
@@ -62,7 +64,7 @@
total_like_count,
total_like_count,
total_comment_count,
total_comment_count,
qw_jobid,
qw_jobid,
exec_rate , task_clerk_num , moment_id , media_link_flag
exec_rate , task_clerk_num , moment_id , media_link_flag
, analyse_flag , analyse_day
</sql>
</sql>
<!-- ===================== 新增 ======================== -->
<!-- ===================== 新增 ======================== -->
<insert
id=
"insert"
>
<insert
id=
"insert"
>
...
@@ -91,7 +93,7 @@
...
@@ -91,7 +93,7 @@
total_like_count,
total_like_count,
total_comment_count,
total_comment_count,
qw_jobid,
qw_jobid,
exec_rate , media_link_flag
exec_rate , media_link_flag
, analyse_flag , analyse_day
)VALUES(
)VALUES(
#{planId,jdbcType=BIGINT},
#{planId,jdbcType=BIGINT},
#{title,jdbcType=VARCHAR},
#{title,jdbcType=VARCHAR},
...
@@ -117,7 +119,7 @@
...
@@ -117,7 +119,7 @@
#{totalLikeCount,jdbcType=INTEGER},
#{totalLikeCount,jdbcType=INTEGER},
#{totalCommentCount,jdbcType=INTEGER},
#{totalCommentCount,jdbcType=INTEGER},
#{qwJobid,jdbcType=VARCHAR},
#{qwJobid,jdbcType=VARCHAR},
#{execRate,jdbcType=INTEGER} , #{mediaLinkFlag}
#{execRate,jdbcType=INTEGER} , #{mediaLinkFlag}
, #{analyseFlag} , #{analyseDay}
)
)
</insert>
</insert>
...
@@ -166,6 +168,12 @@
...
@@ -166,6 +168,12 @@
<if
test=
"null != mediaLinkFlag"
>
<if
test=
"null != mediaLinkFlag"
>
media_link_flag=#{mediaLinkFlag},
media_link_flag=#{mediaLinkFlag},
</if>
</if>
<if
test=
"null != analyseFlag"
>
analyse_flag= #{analyseFlag},
</if>
<if
test=
"null != analyseDay"
>
analyse_day= #{analyseDay},
</if>
</set>
</set>
where plan_id =#{planId}
where plan_id =#{planId}
</update>
</update>
...
...
haoban-manage3-service/src/test/java/FileUtils4.java
View file @
dfbe4484
import
com.alibaba.fastjson.JSONObject
;
import
com.gic.commons.util.DateUtil
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
java.io.BufferedReader
;
import
java.io.BufferedReader
;
import
java.io.File
;
import
java.io.File
;
import
java.io.FileReader
;
import
java.io.FileReader
;
import
java.
util.ArrayList
;
import
java.
math.BigDecimal
;
import
java.util.
List
;
import
java.util.
*
;
public
class
FileUtils4
{
public
class
FileUtils4
{
public
static
void
main
(
String
[]
args
)
{
Date
endTime
=
DateUtil
.
strToDate
(
"2025-06-30"
,
"yyyy-MM-dd"
)
;
if
(
DateUtil
.
getStartTimeOfDay
(
endTime
).
getTime
()
-
1000
*
3600
*
24
*
3
<=
DateUtil
.
getStartTimeOfDay
().
getTime
())
{
System
.
out
.
printf
(
""
+
DateUtil
.
daysBetween
(
DateUtil
.
getStartTimeOfDay
(),
DateUtil
.
getStartTimeOfDay
(
endTime
)));
if
(
DateUtil
.
getStartTimeOfDay
(
endTime
).
getTime
()<
DateUtil
.
getStartTimeOfDay
().
getTime
()
&&
DateUtil
.
daysBetween
(
DateUtil
.
getStartTimeOfDay
(
endTime
),
DateUtil
.
getStartTimeOfDay
())>
1
)
{
return
;
}
System
.
out
.
printf
(
"1111"
);
}
/* List<X> list = getText() ;
Collections.sort(list);
Collections.reverse(list);
System.out.println(JSONObject.toJSONString(list));*/
}
public
static
List
<
X
>
getText
(){
public
static
String
getText
(){
try
{
try
{
BufferedReader
bw
=
new
BufferedReader
(
new
FileReader
(
new
File
(
"
c
:\\c.txt"
)))
;
BufferedReader
bw
=
new
BufferedReader
(
new
FileReader
(
new
File
(
"
d
:\\c.txt"
)))
;
StringBuilder
sb
=
new
StringBuilder
()
;
List
<
X
>
sb
=
new
ArrayList
<>
()
;
while
(
true
)
{
while
(
true
)
{
String
s
=
bw
.
readLine
()
;
String
s
=
bw
.
readLine
()
;
if
(
StringUtils
.
isBlank
(
s
))
{
if
(
StringUtils
.
isBlank
(
s
))
{
break
;
break
;
}
else
{
}
else
{
String
ss
=
new
String
(
s
.
getBytes
(),
"UTF-8"
)
;
String
ss
=
new
String
(
s
.
getBytes
(),
"UTF-8"
)
;
sb
.
append
(
ss
)
;
String
[]
arr
=
ss
.
split
(
"\\s"
)
;
String
s1
=
arr
[
0
]
;
String
s2
=
arr
[
1
]
;
sb
.
add
(
new
X
(
s1
,
s2
));
}
}
}
}
bw
.
close
();
bw
.
close
();
return
sb
.
toString
()
;
System
.
out
.
println
(
sb
.
size
());
return
sb
;
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
}
}
return
null
;
return
null
;
}
}
static
class
X
implements
Comparable
<
X
>{
public
String
id
;
public
String
name
;
public
X
(
String
id
,
String
name
)
{
this
.
id
=
id
;
this
.
name
=
name
;
}
@Override
public
int
compareTo
(
X
o
)
{
return
Integer
.
valueOf
(
o
.
id
)
-
Integer
.
valueOf
(
this
.
id
);
}
}
}
}
haoban-manage3-service/src/test/java/HalfFriendTest.java
View file @
dfbe4484
import
com.gic.api.base.commons.BasePageInfo
;
import
com.gic.haoban.manage.api.dto.qdto.hm.WxUserAddLogQDTO
;
import
com.gic.haoban.manage.api.enums.NoticeMessageTypeEnum
;
import
com.gic.haoban.manage.service.dao.mapper.TabHaobanExternalClerkRelatedMapper
;
import
com.gic.haoban.manage.api.qdto.OpenStaffPageQDTO
;
import
com.gic.haoban.manage.service.dao.mapper.hm.WxUserAddLogMapper
;
import
com.gic.haoban.manage.api.service.HaobanTimerApiService
;
import
com.gic.haoban.manage.service.entity.TabHaobanExternalClerkRelated
;
import
com.gic.haoban.manage.api.service.notify.NoticeMessageApiService
;
import
com.gic.haoban.manage.service.entity.hm.TabWxUserAddLog
;
import
com.gic.haoban.manage.api.service.role.HaobanRoleApiService
;
import
com.gic.haoban.manage.service.service.hm.WxUserAddLogService
;
import
com.gic.haoban.manage.api.util.notify.NoticeMessageUtil
;
import
com.gic.haoban.manage.service.service.OpenStaffService
;
import
com.gic.weimob.common.Md5Util
;
import
org.junit.Test
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.junit.runner.RunWith
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.test.context.ContextConfiguration
;
import
org.springframework.test.context.ContextConfiguration
;
import
org.springframework.test.context.junit4.SpringJUnit4ClassRunner
;
import
org.springframework.test.context.junit4.SpringJUnit4ClassRunner
;
import
java.lang.reflect.Array
;
import
java.util.Arrays
;
import
java.util.Arrays
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
@RunWith
(
SpringJUnit4ClassRunner
.
class
)
@RunWith
(
SpringJUnit4ClassRunner
.
class
)
@ContextConfiguration
(
locations
=
{
"classpath:applicationContext-conf.xml"
})
@ContextConfiguration
(
locations
=
{
"classpath:applicationContext-conf.xml"
})
public
class
HalfFriendTest
{
public
class
HalfFriendTest
{
@Autowired
@Autowired
private
OpenStaffService
openStaffService
;
private
TabHaobanExternalClerkRelatedMapper
haobanExternalClerkRelatedMapper
;
@Autowired
@Autowired
private
NoticeMessageApiService
noticeMessageApiService
;
private
WxUserAddLogMapper
wxUserAddLogMapper
;
@Autowired
private
WxUserAddLogService
wxUserAddLogService
;
@Test
@Test
public
void
tt
()
{
public
void
tt
()
{
Map
<
String
,
String
>
map
=
new
HashMap
<>()
;
String
wxEnterpriseId
=
"b8f2f238e73844219d8c1ac563cec0db"
;
map
.
put
(
"accountName"
,
"111222333111K"
)
;
map
.
put
(
"errorTime"
,
"2024年4月20日 22:22"
)
;
map
.
put
(
"reason"
,
"异常断开"
)
;
this
.
noticeMessageApiService
.
sendMessageForOpenStaff
(
"ff8080815dacd3a2015dacd3ef5c0000"
,
"xgh"
,
"首次托管,需要二次验证"
);
/*OpenStaffPageQDTO qdto = new OpenStaffPageQDTO() ;
qdto.setWxEnterpriseId("ca66a01b79474c40b3e7c7f93daf1a3b");
qdto.setEnterpriseId("ff8080815dacd3a2015dacd3ef5c0000");
qdto.setClerkId("b2ef17cce11f476b996d0b27ebadf7fb");
qdto.setStoreGroupIdList(Arrays.asList("ff8080815dacd3a2015dacd3f4fc0033"));
qdto.setStaffParams("徐高华");
BasePageInfo basePageInfo = new BasePageInfo() ;
basePageInfo.setPageSize(11);
basePageInfo.setPageNum(1);
this.openStaffService.page(qdto,basePageInfo) ;*/
int
messageType
=
NoticeMessageTypeEnum
.
HAOBAN_OPEN_STAFF_LOGOUT
.
getType
();
// NoticeMessageUtil.sendNoticeMessageByStaff("ff8080815dacd3a2015dacd3ef5c0000","52995ea8c81c4cc286a9b82bc36a7081","-1",messageType,null,map,null);
String
staffId
=
"c153778c9ec24c189ac31e67748677e3"
;
List
<
TabHaobanExternalClerkRelated
>
list
=
this
.
haobanExternalClerkRelatedMapper
.
listByWxEnterpriseIdAndWxUserIdAndStatus
(
wxEnterpriseId
,
staffId
,
Arrays
.
asList
(
2
))
;
int
count
=
0
;
for
(
TabHaobanExternalClerkRelated
item
:
list
)
{
String
externalUserId
=
item
.
getExternalUserId
()
;
// a2d6b466a4fc436099a949db3756f6c1
// 8be4cae54aec4dbe90079d824f3c1490
String
clerkId
=
"8be4cae54aec4dbe90079d824f3c1490"
;
TabWxUserAddLog
log
=
this
.
wxUserAddLogMapper
.
listNewLog
(
externalUserId
,
staffId
,
clerkId
)
;
if
(
null
==
log
||
log
.
getStatusFlag
()!=
3
)
{
continue
;
}
count
++
;
System
.
err
.
println
(
"insert"
+
externalUserId
+
" "
+
count
);
//添加日志
WxUserAddLogQDTO
wxUserAddLogQDTO
=
new
WxUserAddLogQDTO
();
wxUserAddLogQDTO
.
setWxEnterpriseId
(
wxEnterpriseId
);
wxUserAddLogQDTO
.
setEnterpriseId
(
item
.
getEnterpriseId
());
wxUserAddLogQDTO
.
setMemberId
(
item
.
getMemberId
());
wxUserAddLogQDTO
.
setUnionid
(
item
.
getUnionid
());
wxUserAddLogQDTO
.
setDelFlag
(
true
);
wxUserAddLogQDTO
.
setExternalUserid
(
item
.
getExternalUserId
());
wxUserAddLogQDTO
.
setStaffId
(
item
.
getStaffId
());
wxUserAddLogQDTO
.
setClerkId
(
log
.
getFriendClerkId
());
if
(
null
!=
item
.
getAddTime
())
{
wxUserAddLogQDTO
.
setQwAddTime
(
item
.
getAddTime
());
}
wxUserAddLogQDTO
.
setFriendClerkId
(
log
.
getFriendClerkId
());
wxUserAddLogQDTO
.
setFriendStoreId
(
log
.
getFriendStoreId
());
this
.
wxUserAddLogService
.
save
(
wxUserAddLogQDTO
);
}
}
}
}
}
haoban-manage3-service/src/test/java/HandoverTest.java
View file @
dfbe4484
...
@@ -45,7 +45,7 @@ public class HandoverTest {
...
@@ -45,7 +45,7 @@ public class HandoverTest {
@Test
@Test
public
void
test1
()
{
public
void
test1
()
{
String
wxEnterpriseId
=
"
ca66a01b79474c40b3e7c7f93daf1a3b
"
;
String
wxEnterpriseId
=
"
ef8607976407491fb5ff66611b1d57ea
"
;
handoverOperationApiService
.
dealQywxEnterpriseHandoverResult
(
wxEnterpriseId
);
handoverOperationApiService
.
dealQywxEnterpriseHandoverResult
(
wxEnterpriseId
);
}
}
...
...
haoban-manage3-service/src/test/java/HmLinkTest.java
View file @
dfbe4484
...
@@ -4,6 +4,7 @@ import java.util.Arrays;
...
@@ -4,6 +4,7 @@ import java.util.Arrays;
import
java.util.List
;
import
java.util.List
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
import
com.gic.haoban.manage.api.qdto.chat.LinkHmFromWxaQDTO
;
import
org.junit.Test
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.junit.runner.RunWith
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
@@ -106,7 +107,13 @@ public class HmLinkTest {
...
@@ -106,7 +107,13 @@ public class HmLinkTest {
@Test
@Test
public
void
getLinkHmFromWxa
(){
public
void
getLinkHmFromWxa
(){
this
.
hmLinkApiService
.
getLinkHmFromWxa
(
"ff8080815dacd3a2015dacd3ef5c0000"
,
null
,
null
,
null
,
"fKzecO"
,
"3b9167b1a"
,
"orXl9t6P-XBJQyaNCaJj38GLyYd0"
,
null
)
;
LinkHmFromWxaQDTO
qq
=
new
LinkHmFromWxaQDTO
();
qq
.
setLatitude
(
"30.281719563802085"
);
qq
.
setDistrictCode
(
"3301"
);
qq
.
setLongitude
(
"120.00284342447917"
);
qq
.
setJustLocationFlag
(
0
);
this
.
hmLinkApiService
.
getLinkHmFromWxa
(
"ff8080815dacd3a2015dacd3ef5c0000"
,
null
,
null
,
null
,
"roFgte"
,
""
,
""
,
"ff8080819763a714019767096103000f"
,
qq
)
;
}
}
@Test
@Test
...
...
haoban-manage3-service/src/test/java/ServiceTest.java
View file @
dfbe4484
...
@@ -139,8 +139,10 @@ public class ServiceTest {
...
@@ -139,8 +139,10 @@ public class ServiceTest {
"fa88746dfe964acd8761d1de8ff7d139"
,
"fa88746dfe964acd8761d1de8ff7d139"
,
"fcae29cc5d7d4739a353e777e5e77d82"
)
;
"fcae29cc5d7d4739a353e777e5e77d82"
)
;
for
(
int
i
=
0
;
i
<
list
.
size
();
i
++)
{
for
(
int
i
=
0
;
i
<
list
.
size
();
i
++)
{
haobanQywxFeeApiService
.
addFee
(
list
.
get
(
i
));
}
}
haobanQywxFeeApiService
.
addFee
(
"ca66a01b79474c40b3e7c7f93daf1a3b"
);
}
}
@Test
@Test
...
...
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/controller/chat/GroupChatController.java
View file @
dfbe4484
...
@@ -14,6 +14,7 @@ import com.gic.commons.util.ExcelUtils;
...
@@ -14,6 +14,7 @@ import com.gic.commons.util.ExcelUtils;
import
com.gic.commons.webapi.reponse.RestResponse
;
import
com.gic.commons.webapi.reponse.RestResponse
;
import
com.gic.haoban.base.api.common.pojo.dto.WebLoginDTO
;
import
com.gic.haoban.base.api.common.pojo.dto.WebLoginDTO
;
import
com.gic.haoban.common.utils.AuthWebRequestUtil
;
import
com.gic.haoban.common.utils.AuthWebRequestUtil
;
import
com.gic.haoban.manage.api.dto.EnterpriseDetailDTO
;
import
com.gic.haoban.manage.api.dto.StaffDTO
;
import
com.gic.haoban.manage.api.dto.StaffDTO
;
import
com.gic.haoban.manage.api.dto.chat.GroupChatDTO
;
import
com.gic.haoban.manage.api.dto.chat.GroupChatDTO
;
import
com.gic.haoban.manage.api.dto.chat.GroupChatOwnerDTO
;
import
com.gic.haoban.manage.api.dto.chat.GroupChatOwnerDTO
;
...
@@ -23,6 +24,7 @@ import com.gic.haoban.manage.api.dto.qdto.chat.GroupChatSearchQDTO;
...
@@ -23,6 +24,7 @@ import com.gic.haoban.manage.api.dto.qdto.chat.GroupChatSearchQDTO;
import
com.gic.haoban.manage.api.dto.qdto.chat.GroupChatUserSearchQDTO
;
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.dto.qdto.chat.OwnerSearchQDTO
;
import
com.gic.haoban.manage.api.service.StaffApiService
;
import
com.gic.haoban.manage.api.service.StaffApiService
;
import
com.gic.haoban.manage.api.service.WxEnterpriseRelatedApiService
;
import
com.gic.haoban.manage.api.service.chat.GroupChatApiService
;
import
com.gic.haoban.manage.api.service.chat.GroupChatApiService
;
import
com.gic.haoban.manage.web.errCode.HaoBanErrCode
;
import
com.gic.haoban.manage.web.errCode.HaoBanErrCode
;
import
com.gic.haoban.manage.web.log.LogRecordUserServiceImpl
;
import
com.gic.haoban.manage.web.log.LogRecordUserServiceImpl
;
...
@@ -68,6 +70,8 @@ public class GroupChatController {
...
@@ -68,6 +70,8 @@ public class GroupChatController {
private
GroupChatUserExcelHandler
groupChatUserExcelHandler
;
private
GroupChatUserExcelHandler
groupChatUserExcelHandler
;
@Autowired
@Autowired
private
GroupChatUserQuitExcelHandler
groupChatUserQuitExcelHandler
;
private
GroupChatUserQuitExcelHandler
groupChatUserQuitExcelHandler
;
@Autowired
private
WxEnterpriseRelatedApiService
wxEnterpriseRelatedApiService
;
@RequestMapping
(
"get-set-gic-flag"
)
@RequestMapping
(
"get-set-gic-flag"
)
public
RestResponse
<
Object
>
getFlag
()
{
public
RestResponse
<
Object
>
getFlag
()
{
...
@@ -268,6 +272,21 @@ public class GroupChatController {
...
@@ -268,6 +272,21 @@ public class GroupChatController {
public
RestResponse
<
Object
>
ownerPage
(
OwnerSearchQDTO
qdto
,
BasePageInfo
basePageInfo
)
{
public
RestResponse
<
Object
>
ownerPage
(
OwnerSearchQDTO
qdto
,
BasePageInfo
basePageInfo
)
{
WebLoginDTO
loginUser
=
AuthWebRequestUtil
.
getLoginUser
();
WebLoginDTO
loginUser
=
AuthWebRequestUtil
.
getLoginUser
();
qdto
.
setWxEnterpriseId
(
loginUser
.
getWxEnterpriseId
());
qdto
.
setWxEnterpriseId
(
loginUser
.
getWxEnterpriseId
());
// 是否需要显示门店名称
String
paramsEnterpriseId
=
qdto
.
getParamsEnterpriseId
()
;
if
(
StringUtils
.
isNotBlank
(
paramsEnterpriseId
))
{
qdto
.
setShowStoreNames
(
1
);
qdto
.
setShowNameEnterpriseId
(
paramsEnterpriseId
);
}
else
{
List
<
EnterpriseDetailDTO
>
list
=
this
.
wxEnterpriseRelatedApiService
.
listEnterpriseByWxEnterpriseId
(
loginUser
.
getWxEnterpriseId
(),
loginUser
.
getPhoneNumber
(),
false
)
;
if
(
CollectionUtils
.
isEmpty
(
list
))
{
return
RestResponse
.
failure
(
"-1"
,
"未关联gic商户"
);
}
if
(
list
.
size
()==
1
)
{
qdto
.
setShowStoreNames
(
1
);
qdto
.
setShowNameEnterpriseId
(
list
.
get
(
0
).
getEnterpriseId
());
}
}
ServiceResponse
<
Page
<
GroupChatOwnerDTO
>>
resp
=
this
.
groupChatApiService
.
listOwnerPage
(
qdto
,
basePageInfo
);
ServiceResponse
<
Page
<
GroupChatOwnerDTO
>>
resp
=
this
.
groupChatApiService
.
listOwnerPage
(
qdto
,
basePageInfo
);
return
RestResponse
.
successResult
(
resp
.
getResult
());
return
RestResponse
.
successResult
(
resp
.
getResult
());
}
}
...
...
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/controller/chat/GroupChatHmController.java
View file @
dfbe4484
...
@@ -15,6 +15,8 @@ import java.util.stream.Collectors;
...
@@ -15,6 +15,8 @@ import java.util.stream.Collectors;
import
java.util.zip.ZipEntry
;
import
java.util.zip.ZipEntry
;
import
java.util.zip.ZipOutputStream
;
import
java.util.zip.ZipOutputStream
;
import
com.gic.enterprise.api.dto.StoreDTO
;
import
com.gic.enterprise.api.service.StoreService
;
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.apache.commons.lang.StringUtils
;
import
org.apache.commons.lang.StringUtils
;
...
@@ -88,6 +90,8 @@ public class GroupChatHmController {
...
@@ -88,6 +90,8 @@ public class GroupChatHmController {
private
DownloadReportService
downloadReportService
;
private
DownloadReportService
downloadReportService
;
@Autowired
@Autowired
private
EnterpriseService
enterpriseService
;
private
EnterpriseService
enterpriseService
;
@Autowired
private
StoreService
storeService
;
@RequestMapping
(
"add"
)
@RequestMapping
(
"add"
)
@GicLogRecord
(
value
=
"${#logValue}"
,
category
=
GicLogRecordCategoryEnum
.
HB_QHM
,
optType
=
GicLogRecordOptTypeEnum
.
HB_1002_01
,
userFunc
=
LogRecordUserServiceImpl
.
class
,
optPage
=
"群活码-新建活码"
)
@GicLogRecord
(
value
=
"${#logValue}"
,
category
=
GicLogRecordCategoryEnum
.
HB_QHM
,
optType
=
GicLogRecordOptTypeEnum
.
HB_1002_01
,
userFunc
=
LogRecordUserServiceImpl
.
class
,
optPage
=
"群活码-新建活码"
)
...
@@ -174,6 +178,34 @@ public class GroupChatHmController {
...
@@ -174,6 +178,34 @@ public class GroupChatHmController {
content
.
append
(
b
);
content
.
append
(
b
);
}
}
String
s
=
null
;
String
oldStoreId
=
oldDTO
.
getStoreId
();
if
(
null
==
oldStoreId
)
{
oldStoreId
=
""
;
}
String
newStoreId
=
newDTO
.
getStoreId
();
if
(
null
==
newStoreId
)
{
newStoreId
=
""
;
}
if
(!
oldStoreId
.
equals
(
newStoreId
))
{
String
oldName
=
"--"
;
if
(
StringUtils
.
isNotBlank
(
oldStoreId
))
{
StoreDTO
oldStore
=
this
.
storeService
.
getStore
(
oldStoreId
)
;
if
(
null
!=
oldStore
)
{
oldName
=
oldStore
.
getStoreName
()
+
"-"
+
oldStore
.
getStoreCode
();
}
}
String
newName
=
"--"
;
if
(
StringUtils
.
isNotBlank
(
newStoreId
))
{
StoreDTO
newStore
=
this
.
storeService
.
getStore
(
newStoreId
)
;
if
(
null
!=
newStore
)
{
newName
=
newStore
.
getStoreName
()
+
"-"
+
newStore
.
getStoreCode
();
}
}
s
=
String
.
format
(
"归属门店从【%s】修改为【%s】"
,
oldName
,
newName
);
content
.
append
(
s
)
;
}
String
o
=
null
;
String
o
=
null
;
List
<
Long
>
newIdList
=
newDTO
.
getChatIdList
();
List
<
Long
>
newIdList
=
newDTO
.
getChatIdList
();
...
@@ -222,7 +254,7 @@ public class GroupChatHmController {
...
@@ -222,7 +254,7 @@ public class GroupChatHmController {
content
.
append
(
f
);
content
.
append
(
f
);
}
}
}
}
if
(
org
.
apache
.
commons
.
lang3
.
StringUtils
.
isAllBlank
(
a
,
b
,
c
,
d
,
e
,
f
,
o
,
p
))
{
if
(
org
.
apache
.
commons
.
lang3
.
StringUtils
.
isAllBlank
(
a
,
b
,
c
,
d
,
e
,
f
,
o
,
p
,
s
))
{
return
null
;
return
null
;
}
}
StringBuilder
sb
=
new
StringBuilder
(
"编辑群活码"
).
append
(
"【"
).
append
(
oldDTO
.
getChatHmCode
()).
append
(
"-"
)
StringBuilder
sb
=
new
StringBuilder
(
"编辑群活码"
).
append
(
"【"
).
append
(
oldDTO
.
getChatHmCode
()).
append
(
"-"
)
...
@@ -283,6 +315,16 @@ public class GroupChatHmController {
...
@@ -283,6 +315,16 @@ public class GroupChatHmController {
if
(
vo
.
getUsableChatCount
()
==
0
)
{
if
(
vo
.
getUsableChatCount
()
==
0
)
{
vo
.
setUseRemark
(
"无可加入的群聊"
);
vo
.
setUseRemark
(
"无可加入的群聊"
);
}
}
if
(
StringUtils
.
isNotBlank
(
vo
.
getStoreId
()))
{
StoreDTO
storeDTO
=
this
.
storeService
.
getStoreByIdNoStatus
(
vo
.
getStoreId
());
if
(
null
!=
storeDTO
)
{
vo
.
setStoreName
(
storeDTO
.
getStoreName
());
vo
.
setStoreCode
(
storeDTO
.
getStoreCode
());
if
(
null
!=
storeDTO
.
getStatus
()
&&
storeDTO
.
getStatus
()!=
0
&&
storeDTO
.
getStatus
()!=-
3
)
{
vo
.
setStoreStatus
(
1
);
}
}
}
});
});
}
}
return
RestResponse
.
successResult
(
retPage
);
return
RestResponse
.
successResult
(
retPage
);
...
@@ -298,6 +340,16 @@ public class GroupChatHmController {
...
@@ -298,6 +340,16 @@ public class GroupChatHmController {
return
RestResponse
.
failure
(
"1"
,
"群活码不存在"
);
return
RestResponse
.
failure
(
"1"
,
"群活码不存在"
);
}
}
GroupChatHmDTO
hm
=
linkResp
.
getResult
();
GroupChatHmDTO
hm
=
linkResp
.
getResult
();
if
(
StringUtils
.
isNotBlank
(
hm
.
getStoreId
()))
{
StoreDTO
storeDTO
=
this
.
storeService
.
getStoreByIdNoStatus
(
hm
.
getStoreId
());
if
(
null
!=
storeDTO
)
{
hm
.
setStoreName
(
storeDTO
.
getStoreName
());
hm
.
setStoreCode
(
storeDTO
.
getStoreCode
());
if
(
null
!=
storeDTO
.
getStatus
()
&&
storeDTO
.
getStatus
()!=
0
)
{
hm
.
setStoreStatus
(
1
);
}
}
}
return
RestResponse
.
successResult
(
hm
);
return
RestResponse
.
successResult
(
hm
);
}
}
...
...
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/controller/chat/GroupChatPlanController.java
View file @
dfbe4484
...
@@ -49,7 +49,7 @@ import javax.servlet.http.HttpServletResponse;
...
@@ -49,7 +49,7 @@ import javax.servlet.http.HttpServletResponse;
/**
/**
*
*
* @ClassName: GroupChatPlanController
* @ClassName: GroupChatPlanController
* @Description: 群群发
任务
* @Description: 群群发
活动
* @author xugh
* @author xugh
* @date 2022年11月26日 上午9:32:56
* @date 2022年11月26日 上午9:32:56
*
*
...
@@ -94,12 +94,12 @@ public class GroupChatPlanController {
...
@@ -94,12 +94,12 @@ public class GroupChatPlanController {
public
RestResponse
<
Object
>
del
(
Long
planId
)
{
public
RestResponse
<
Object
>
del
(
Long
planId
)
{
if
(
null
==
planId
)
{
if
(
null
==
planId
)
{
GicLogRecordEvaluationContext
.
noWriteLog
();
GicLogRecordEvaluationContext
.
noWriteLog
();
return
RestResponse
.
failure
(
"9999"
,
"
任务
ID空"
);
return
RestResponse
.
failure
(
"9999"
,
"
活动
ID空"
);
}
}
ServiceResponse
<
GroupChatPlanDTO
>
planResp
=
this
.
groupChatPlanApiService
.
detail
(
planId
);
ServiceResponse
<
GroupChatPlanDTO
>
planResp
=
this
.
groupChatPlanApiService
.
detail
(
planId
);
if
(!
planResp
.
isSuccess
())
{
if
(!
planResp
.
isSuccess
())
{
GicLogRecordEvaluationContext
.
noWriteLog
();
GicLogRecordEvaluationContext
.
noWriteLog
();
return
RestResponse
.
failure
(
"1"
,
"
任务
不存在"
);
return
RestResponse
.
failure
(
"1"
,
"
活动
不存在"
);
}
}
WebLoginDTO
loginUser
=
AuthWebRequestUtil
.
getLoginUser
();
WebLoginDTO
loginUser
=
AuthWebRequestUtil
.
getLoginUser
();
this
.
groupChatPlanApiService
.
del
(
loginUser
.
getClerkId
(),
loginUser
.
getClerkName
(),
planId
);
this
.
groupChatPlanApiService
.
del
(
loginUser
.
getClerkId
(),
loginUser
.
getClerkName
(),
planId
);
...
@@ -123,17 +123,17 @@ public class GroupChatPlanController {
...
@@ -123,17 +123,17 @@ public class GroupChatPlanController {
public
RestResponse
<
Object
>
stop
(
Long
planId
)
{
public
RestResponse
<
Object
>
stop
(
Long
planId
)
{
if
(
null
==
planId
)
{
if
(
null
==
planId
)
{
GicLogRecordEvaluationContext
.
noWriteLog
();
GicLogRecordEvaluationContext
.
noWriteLog
();
return
RestResponse
.
failure
(
"9999"
,
"
任务
ID空"
);
return
RestResponse
.
failure
(
"9999"
,
"
活动
ID空"
);
}
}
ServiceResponse
<
GroupChatPlanDTO
>
planResp
=
this
.
groupChatPlanApiService
.
detail
(
planId
);
ServiceResponse
<
GroupChatPlanDTO
>
planResp
=
this
.
groupChatPlanApiService
.
detail
(
planId
);
if
(!
planResp
.
isSuccess
())
{
if
(!
planResp
.
isSuccess
())
{
GicLogRecordEvaluationContext
.
noWriteLog
();
GicLogRecordEvaluationContext
.
noWriteLog
();
return
RestResponse
.
failure
(
"1"
,
"
任务
不存在"
);
return
RestResponse
.
failure
(
"1"
,
"
活动
不存在"
);
}
}
GroupChatPlanDTO
plan
=
planResp
.
getResult
();
GroupChatPlanDTO
plan
=
planResp
.
getResult
();
if
(
plan
.
getEndTime
().
getTime
()
<=
new
Date
().
getTime
())
{
if
(
plan
.
getEndTime
().
getTime
()
<=
new
Date
().
getTime
())
{
GicLogRecordEvaluationContext
.
noWriteLog
();
GicLogRecordEvaluationContext
.
noWriteLog
();
return
RestResponse
.
failure
(
"1"
,
"
任务
已结束"
);
return
RestResponse
.
failure
(
"1"
,
"
活动
已结束"
);
}
}
WebLoginDTO
loginUser
=
AuthWebRequestUtil
.
getLoginUser
();
WebLoginDTO
loginUser
=
AuthWebRequestUtil
.
getLoginUser
();
this
.
groupChatPlanApiService
.
stop
(
loginUser
.
getClerkId
(),
loginUser
.
getClerkName
(),
planId
);
this
.
groupChatPlanApiService
.
stop
(
loginUser
.
getClerkId
(),
loginUser
.
getClerkName
(),
planId
);
...
@@ -151,12 +151,12 @@ public class GroupChatPlanController {
...
@@ -151,12 +151,12 @@ public class GroupChatPlanController {
GroupChatPlanDTO
oldPlan
=
oldResp
.
getResult
();
GroupChatPlanDTO
oldPlan
=
oldResp
.
getResult
();
if
(
null
==
oldPlan
)
{
if
(
null
==
oldPlan
)
{
GicLogRecordEvaluationContext
.
noWriteLog
();
GicLogRecordEvaluationContext
.
noWriteLog
();
return
RestResponse
.
failure
(
"9999"
,
"
任务
不存在"
);
return
RestResponse
.
failure
(
"9999"
,
"
活动
不存在"
);
}
}
long
now
=
System
.
currentTimeMillis
();
long
now
=
System
.
currentTimeMillis
();
if
(
oldPlan
.
getEndTime
().
getTime
()
<=
now
||
oldPlan
.
getStatusFlag
()
==
0
)
{
if
(
oldPlan
.
getEndTime
().
getTime
()
<=
now
||
oldPlan
.
getStatusFlag
()
==
0
)
{
GicLogRecordEvaluationContext
.
noWriteLog
();
GicLogRecordEvaluationContext
.
noWriteLog
();
return
RestResponse
.
failure
(
"9999"
,
"
任务
已结束"
);
return
RestResponse
.
failure
(
"9999"
,
"
活动
已结束"
);
}
}
WebLoginDTO
loginUser
=
AuthWebRequestUtil
.
getLoginUser
();
WebLoginDTO
loginUser
=
AuthWebRequestUtil
.
getLoginUser
();
dto
.
setWxEnterpriseId
(
loginUser
.
getWxEnterpriseId
());
dto
.
setWxEnterpriseId
(
loginUser
.
getWxEnterpriseId
());
...
@@ -164,7 +164,7 @@ public class GroupChatPlanController {
...
@@ -164,7 +164,7 @@ public class GroupChatPlanController {
dto
.
setModifierId
(
loginUser
.
getClerkId
());
dto
.
setModifierId
(
loginUser
.
getClerkId
());
dto
.
setModifierName
(
loginUser
.
getClerkName
());
dto
.
setModifierName
(
loginUser
.
getClerkName
());
ServiceResponse
<
GroupChatPlanDTO
>
resp
=
null
;
ServiceResponse
<
GroupChatPlanDTO
>
resp
=
null
;
//
任务
进行中只能编辑备注
//
活动
进行中只能编辑备注
if
(
oldPlan
.
getStartTime
().
getTime
()
<=
now
&&
oldPlan
.
getEndTime
().
getTime
()
>=
now
)
{
if
(
oldPlan
.
getStartTime
().
getTime
()
<=
now
&&
oldPlan
.
getEndTime
().
getTime
()
>=
now
)
{
resp
=
this
.
groupChatPlanApiService
.
updateRemark
(
dto
);
resp
=
this
.
groupChatPlanApiService
.
updateRemark
(
dto
);
}
else
{
}
else
{
...
@@ -187,11 +187,11 @@ public class GroupChatPlanController {
...
@@ -187,11 +187,11 @@ public class GroupChatPlanController {
String
wxEnterpriseId
=
newDTO
.
getWxEnterpriseId
();
String
wxEnterpriseId
=
newDTO
.
getWxEnterpriseId
();
String
enterpriseId
=
newDTO
.
getEnterpriseId
();
String
enterpriseId
=
newDTO
.
getEnterpriseId
();
StringBuilder
content
=
new
StringBuilder
();
StringBuilder
content
=
new
StringBuilder
();
String
a
=
comp
(
wxEnterpriseId
,
enterpriseId
,
"
任务
标题"
,
oldDTO
.
getName
(),
newDTO
.
getName
(),
0
);
String
a
=
comp
(
wxEnterpriseId
,
enterpriseId
,
"
活动
标题"
,
oldDTO
.
getName
(),
newDTO
.
getName
(),
0
);
if
(
null
!=
a
)
{
if
(
null
!=
a
)
{
content
.
append
(
a
);
content
.
append
(
a
);
}
}
String
b
=
comp
(
wxEnterpriseId
,
enterpriseId
,
"
任务
描述"
,
oldDTO
.
getRemark
(),
newDTO
.
getRemark
(),
0
);
String
b
=
comp
(
wxEnterpriseId
,
enterpriseId
,
"
活动
描述"
,
oldDTO
.
getRemark
(),
newDTO
.
getRemark
(),
0
);
if
(
null
!=
b
)
{
if
(
null
!=
b
)
{
content
.
append
(
b
);
content
.
append
(
b
);
}
}
...
@@ -298,7 +298,7 @@ public class GroupChatPlanController {
...
@@ -298,7 +298,7 @@ public class GroupChatPlanController {
public
RestResponse
<
Object
>
detail
(
Long
planId
,
@RequestParam
(
defaultValue
=
"0"
)
int
updteFlag
)
{
public
RestResponse
<
Object
>
detail
(
Long
planId
,
@RequestParam
(
defaultValue
=
"0"
)
int
updteFlag
)
{
ServiceResponse
<
GroupChatPlanDTO
>
planResp
=
this
.
groupChatPlanApiService
.
detail
(
planId
);
ServiceResponse
<
GroupChatPlanDTO
>
planResp
=
this
.
groupChatPlanApiService
.
detail
(
planId
);
if
(!
planResp
.
isSuccess
())
{
if
(!
planResp
.
isSuccess
())
{
return
RestResponse
.
failure
(
"1"
,
"
任务
不存在"
);
return
RestResponse
.
failure
(
"1"
,
"
活动
不存在"
);
}
}
GroupChatPlanDTO
plan
=
planResp
.
getResult
();
GroupChatPlanDTO
plan
=
planResp
.
getResult
();
plan
.
getStaffIdList
();
plan
.
getStaffIdList
();
...
@@ -355,14 +355,14 @@ public class GroupChatPlanController {
...
@@ -355,14 +355,14 @@ public class GroupChatPlanController {
@RequestMapping
(
"owner-log"
)
@RequestMapping
(
"owner-log"
)
public
RestResponse
<
Object
>
ownerLog
(
Long
planId
,
GroupChatPlanSearchQDTO
qdto
,
BasePageInfo
basePageInfo
)
{
public
RestResponse
<
Object
>
ownerLog
(
Long
planId
,
GroupChatPlanSearchQDTO
qdto
,
BasePageInfo
basePageInfo
)
{
if
(
null
==
planId
)
{
if
(
null
==
planId
)
{
return
RestResponse
.
failure
(
"9999"
,
"
任务
ID空"
);
return
RestResponse
.
failure
(
"9999"
,
"
活动
ID空"
);
}
}
WebLoginDTO
loginUser
=
AuthWebRequestUtil
.
getLoginUser
();
WebLoginDTO
loginUser
=
AuthWebRequestUtil
.
getLoginUser
();
qdto
.
setWxEnterpriseId
(
loginUser
.
getWxEnterpriseId
());
qdto
.
setWxEnterpriseId
(
loginUser
.
getWxEnterpriseId
());
ServiceResponse
<
Page
<
GroupChatPlanOwnerLogDTO
>>
resp
=
this
.
groupChatPlanApiService
.
listOwnerLogPage
(
planId
,
ServiceResponse
<
Page
<
GroupChatPlanOwnerLogDTO
>>
resp
=
this
.
groupChatPlanApiService
.
listOwnerLogPage
(
planId
,
qdto
,
basePageInfo
);
qdto
,
basePageInfo
);
if
(!
resp
.
isSuccess
())
{
if
(!
resp
.
isSuccess
())
{
return
RestResponse
.
failure
(
"1"
,
"
任务
不存在"
);
return
RestResponse
.
failure
(
"1"
,
"
活动
不存在"
);
}
}
return
RestResponse
.
successResult
(
resp
.
getResult
());
return
RestResponse
.
successResult
(
resp
.
getResult
());
}
}
...
@@ -370,14 +370,14 @@ public class GroupChatPlanController {
...
@@ -370,14 +370,14 @@ public class GroupChatPlanController {
@RequestMapping
(
"log"
)
@RequestMapping
(
"log"
)
public
RestResponse
<
Object
>
log
(
Long
planId
,
GroupChatPlanSearchQDTO
qdto
,
BasePageInfo
basePageInfo
)
{
public
RestResponse
<
Object
>
log
(
Long
planId
,
GroupChatPlanSearchQDTO
qdto
,
BasePageInfo
basePageInfo
)
{
if
(
null
==
planId
)
{
if
(
null
==
planId
)
{
return
RestResponse
.
failure
(
"9999"
,
"
任务
ID空"
);
return
RestResponse
.
failure
(
"9999"
,
"
活动
ID空"
);
}
}
WebLoginDTO
loginUser
=
AuthWebRequestUtil
.
getLoginUser
();
WebLoginDTO
loginUser
=
AuthWebRequestUtil
.
getLoginUser
();
qdto
.
setWxEnterpriseId
(
loginUser
.
getWxEnterpriseId
());
qdto
.
setWxEnterpriseId
(
loginUser
.
getWxEnterpriseId
());
ServiceResponse
<
Page
<
GroupChatPlanLogDTO
>>
resp
=
this
.
groupChatPlanApiService
.
listLogPage
(
planId
,
qdto
,
ServiceResponse
<
Page
<
GroupChatPlanLogDTO
>>
resp
=
this
.
groupChatPlanApiService
.
listLogPage
(
planId
,
qdto
,
basePageInfo
);
basePageInfo
);
if
(!
resp
.
isSuccess
())
{
if
(!
resp
.
isSuccess
())
{
return
RestResponse
.
failure
(
"1"
,
"
任务
不存在"
);
return
RestResponse
.
failure
(
"1"
,
"
活动
不存在"
);
}
}
return
RestResponse
.
successResult
(
resp
.
getResult
());
return
RestResponse
.
successResult
(
resp
.
getResult
());
}
}
...
@@ -445,9 +445,9 @@ public class GroupChatPlanController {
...
@@ -445,9 +445,9 @@ public class GroupChatPlanController {
}
}
//设置sheet的表头与表名
//设置sheet的表头与表名
String
[]
groupChatListSheetHead
=
{
"
任务名称"
,
"任务状态"
,
"已完成群主数"
,
"未完成群主数"
,
"完成率"
,
"已送达群数"
,
"任务开始时间"
,
"任务
结束时间"
,
"创建人"
,
"创建时间"
};
String
[]
groupChatListSheetHead
=
{
"
活动名称"
,
"活动状态"
,
"执行方式"
,
"已完成群主数"
,
"未完成群主数"
,
"完成率"
,
"已送达群数"
,
"活动开始时间"
,
"活动
结束时间"
,
"创建人"
,
"创建时间"
};
String
[]
sendSheetHead
=
{
"
任务名称"
,
"发送人"
,
"关联导购"
,
"关联导购code"
,
"关联门店"
,
"关联门店code"
,
"完成状态"
,
"已送达客户群数"
,
"发送时间"
,
"任务开始时间"
,
"任务
结束时间"
};
String
[]
sendSheetHead
=
{
"
活动名称"
,
"发送人"
,
"关联导购"
,
"关联导购code"
,
"关联门店"
,
"关联门店code"
,
"完成状态"
,
"已送达客户群数"
,
"发送时间"
,
"活动开始时间"
,
"活动
结束时间"
};
String
[]
receiveSheetHead
=
{
"
任务名称"
,
"群名称"
,
"群人数"
,
"发送人"
,
"关联导购"
,
"关联导购code"
,
"关联门店"
,
"关联门店code"
,
"发送状态"
,
"发送时间"
,
"任务开始时间"
,
"任务
结束时间"
};
String
[]
receiveSheetHead
=
{
"
活动名称"
,
"群名称"
,
"群人数"
,
"发送人"
,
"关联导购"
,
"关联导购code"
,
"关联门店"
,
"关联门店code"
,
"发送状态"
,
"发送时间"
,
"活动开始时间"
,
"活动
结束时间"
};
List
<
ExcelSheet
>
mysheet
=
new
ArrayList
<>();
List
<
ExcelSheet
>
mysheet
=
new
ArrayList
<>();
ExcelSheet
groupChatListExcel
=
new
ExcelSheet
(
"客户群发列表"
,
groupChatListSheetHead
,
changeGroupChatPlanExcelVOList
(
groupChatPlanExcelVOList
));
ExcelSheet
groupChatListExcel
=
new
ExcelSheet
(
"客户群发列表"
,
groupChatListSheetHead
,
changeGroupChatPlanExcelVOList
(
groupChatPlanExcelVOList
));
...
@@ -467,7 +467,7 @@ public class GroupChatPlanController {
...
@@ -467,7 +467,7 @@ public class GroupChatPlanController {
String
startTime
=
DateUtil
.
formatString
(
vo
.
getStartTime
(),
DateUtil
.
FORMAT_DATETIME_19
);
String
startTime
=
DateUtil
.
formatString
(
vo
.
getStartTime
(),
DateUtil
.
FORMAT_DATETIME_19
);
String
endTime
=
DateUtil
.
formatString
(
vo
.
getEndTime
(),
DateUtil
.
FORMAT_DATETIME_19
);
String
endTime
=
DateUtil
.
formatString
(
vo
.
getEndTime
(),
DateUtil
.
FORMAT_DATETIME_19
);
String
createTime
=
DateUtil
.
formatString
(
vo
.
getCreateTime
(),
DateUtil
.
FORMAT_DATETIME_19
);
String
createTime
=
DateUtil
.
formatString
(
vo
.
getCreateTime
(),
DateUtil
.
FORMAT_DATETIME_19
);
String
[]
a
=
{
vo
.
getName
(),
vo
.
getStatus
(),
vo
.
getSendCount
()==
null
?
""
:
vo
.
getSendCount
().
toString
(),
vo
.
getStaffCount
()==
null
?
""
:
vo
.
getStaffCount
().
toString
(),
String
[]
a
=
{
vo
.
getName
(),
vo
.
getStatus
(),
vo
.
get
ExecTypeExcel
(),
vo
.
get
SendCount
()==
null
?
""
:
vo
.
getSendCount
().
toString
(),
vo
.
getStaffCount
()==
null
?
""
:
vo
.
getStaffCount
().
toString
(),
vo
.
getCompletionRate
(),
vo
.
getSuccessChatCount
()==
null
?
""
:
vo
.
getSuccessChatCount
().
toString
(),
startTime
,
endTime
,
vo
.
getCreatorName
(),
createTime
};
vo
.
getCompletionRate
(),
vo
.
getSuccessChatCount
()==
null
?
""
:
vo
.
getSuccessChatCount
().
toString
(),
startTime
,
endTime
,
vo
.
getCreatorName
(),
createTime
};
result
.
add
(
a
);
result
.
add
(
a
);
}
}
...
...
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/controller/hm/HmLinkController.java
View file @
dfbe4484
...
@@ -11,6 +11,7 @@ import java.util.stream.Collectors;
...
@@ -11,6 +11,7 @@ import java.util.stream.Collectors;
import
cn.hutool.core.date.DatePattern
;
import
cn.hutool.core.date.DatePattern
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONArray
;
import
com.gic.api.base.commons.JSONResponse
;
import
com.gic.api.base.commons.JSONResponse
;
import
com.gic.clerk.api.dto.AuthorizedUser
;
import
com.gic.clerk.api.dto.AuthorizedUser
;
import
com.gic.qcloud.BucketNameEnum
;
import
com.gic.qcloud.BucketNameEnum
;
...
@@ -226,6 +227,22 @@ public class HmLinkController {
...
@@ -226,6 +227,22 @@ public class HmLinkController {
if
(
null
!=
b
)
{
if
(
null
!=
b
)
{
content
.
append
(
b
);
content
.
append
(
b
);
}
}
String
oldChatRule
=
oldDTO
.
getChatStoreRule
();
if
(
null
==
oldChatRule
)
{
oldChatRule
=
""
;
}
String
newChatRule
=
newDTO
.
getChatStoreRule
();
if
(
null
==
newChatRule
)
{
newChatRule
=
""
;
}
String
s
=
null
;
logger
.
info
(
"{},{}"
,
oldChatRule
,
newChatRule
);
if
(!
oldChatRule
.
equals
(
newChatRule
))
{
String
oldName
=
this
.
getChatRuleName
(
oldChatRule
)
;
String
newName
=
this
.
getChatRuleName
(
newChatRule
)
;
s
=
String
.
format
(
"定向入群设置从【%s】修改为【%s】"
,
oldName
,
newName
)
;
content
.
append
(
s
)
;
}
// 其他群活码
// 其他群活码
String
c
=
null
;
String
c
=
null
;
if
(!
oldDTO
.
getOtherChatHmId
().
equals
(
newDTO
.
getOtherChatHmId
()))
{
if
(!
oldDTO
.
getOtherChatHmId
().
equals
(
newDTO
.
getOtherChatHmId
()))
{
...
@@ -262,7 +279,7 @@ public class HmLinkController {
...
@@ -262,7 +279,7 @@ public class HmLinkController {
d
=
sb
.
toString
();
d
=
sb
.
toString
();
content
.
append
(
d
);
content
.
append
(
d
);
}
}
if
(
org
.
apache
.
commons
.
lang3
.
StringUtils
.
isAllBlank
(
a
,
b
,
c
,
d
))
{
if
(
org
.
apache
.
commons
.
lang3
.
StringUtils
.
isAllBlank
(
a
,
b
,
c
,
d
,
s
))
{
return
null
;
return
null
;
}
}
StringBuilder
sb
=
new
StringBuilder
(
"编辑引流链接"
).
append
(
"【"
).
append
(
oldDTO
.
getLinkCode
()).
append
(
"-"
)
StringBuilder
sb
=
new
StringBuilder
(
"编辑引流链接"
).
append
(
"【"
).
append
(
oldDTO
.
getLinkCode
()).
append
(
"-"
)
...
@@ -270,6 +287,34 @@ public class HmLinkController {
...
@@ -270,6 +287,34 @@ public class HmLinkController {
return
sb
.
append
(
content
).
toString
();
return
sb
.
append
(
content
).
toString
();
}
}
private
String
getChatRuleName
(
String
chatRule
)
{
if
(
org
.
apache
.
commons
.
lang3
.
StringUtils
.
isBlank
(
chatRule
))
{
return
"--"
;
}
JSONArray
arr
=
JSON
.
parseArray
(
chatRule
)
;
List
<
String
>
list
=
new
ArrayList
<>()
;
for
(
int
i
=
0
;
i
<
arr
.
size
();
i
++)
{
JSONObject
json
=
arr
.
getJSONObject
(
i
)
;
if
(
json
.
getIntValue
(
"open"
)==
1
)
{
int
type
=
json
.
getIntValue
(
"type"
)
;
if
(
type
==
1
)
{
list
.
add
(
"服务门店"
);
}
else
if
(
type
==
2
)
{
list
.
add
(
"协管门店"
);
}
else
if
(
type
==
3
)
{
list
.
add
(
"LBS定位"
);
}
else
if
(
type
==
4
)
{
list
.
add
(
"指定人群"
);
}
}
}
if
(
CollectionUtils
.
isEmpty
(
list
))
{
return
"--"
;
}
return
list
.
stream
().
collect
(
Collectors
.
joining
(
"、"
));
}
private
String
getUpdateLog
(
HmLinkDTO
oldDTO
,
HmLinkDTO
newDTO
)
{
private
String
getUpdateLog
(
HmLinkDTO
oldDTO
,
HmLinkDTO
newDTO
)
{
String
wxEnterpriseId
=
newDTO
.
getWxEnterpriseId
();
String
wxEnterpriseId
=
newDTO
.
getWxEnterpriseId
();
String
enterpriseId
=
newDTO
.
getEnterpriseId
();
String
enterpriseId
=
newDTO
.
getEnterpriseId
();
...
...
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/controller/moment/MomentDataClickExcelHandler.java
0 → 100644
View file @
dfbe4484
package
com
.
gic
.
haoban
.
manage
.
web
.
controller
.
moment
;
import
com.alibaba.fastjson.JSONObject
;
import
com.gic.api.base.commons.Page
;
import
com.gic.clerk.api.dto.ClerkDTO
;
import
com.gic.commons.util.EntityUtil
;
import
com.gic.enterprise.api.dto.StoreDTO
;
import
com.gic.haoban.manage.web.vo.moment.MomentDataClickVO
;
import
com.gic.member.api.dto.es.MemberDataDTO
;
import
com.gic.web.common.download.DownloadHandlerAbstract
;
import
com.gic.web.common.download.context.Context
;
import
com.gic.web.common.utils.DataApiUtils
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.*
;
import
java.util.stream.Collectors
;
@Service
public
class
MomentDataClickExcelHandler
extends
DownloadHandlerAbstract
<
MomentDataClickVO
>
{
@Autowired
private
QwMomentController
qwMomentController
;
@Autowired
private
QwMomentDataController
qwMomentDataController
;
@Override
public
List
<
MomentDataClickVO
>
getData
(
Context
context
,
String
json
,
Integer
currentPage
)
{
Map
<
String
,
Object
>
res
=
DataApiUtils
.
http
(
json
,
"data_qw_moment_mbr_click_detail"
);
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
json
)
;
Page
page
=
DataApiUtils
.
getPageData
(
res
);
List
<
MomentDataClickVO
>
voList
=
EntityUtil
.
changeEntityListByJSON
(
MomentDataClickVO
.
class
,
page
.
getResult
());
if
(
CollectionUtils
.
isNotEmpty
(
voList
))
{
List
<
String
>
memberIdList
=
voList
.
stream
().
map
(
o
->
o
.
getMbrId
()).
collect
(
Collectors
.
toList
());
Map
<
String
,
MemberDataDTO
>
map
=
this
.
qwMomentController
.
getMemberMap
(
jsonObject
.
getString
(
"enterpriseId"
),
memberIdList
)
;
for
(
MomentDataClickVO
vo
:
voList
)
{
String
memberId
=
vo
.
getMbrId
();
vo
.
setMemberId
(
memberId
);
if
(
null
==
map
.
get
(
memberId
))
{
vo
.
setMemberScene
(
2
);
}
else
{
MemberDataDTO
data
=
map
.
get
(
memberId
)
;
vo
.
setMemberName
(
data
.
getName
());
vo
.
setMemberNick
(
data
.
getNickName
());
vo
.
setMemberCardNo
(
data
.
getCardNo
());
vo
.
setMemberPhone
(
data
.
getPhoneNumber
());
vo
.
setMemberImage
(
data
.
getDefineHeadImg
());
vo
.
setClerkId
(
data
.
getMainClerkId
());
vo
.
setStoreId
(
data
.
getMainStoreId
());
vo
.
setMemberScene
(
3
);
}
}
Set
<
String
>
storeSet
=
voList
.
stream
().
filter
(
o
->
StringUtils
.
isNotBlank
(
o
.
getStoreId
())
&&
!
"-1"
.
equals
(
o
.
getStoreId
())).
map
(
o
->
o
.
getStoreId
()).
collect
(
Collectors
.
toSet
())
;
Set
<
String
>
clerkSet
=
voList
.
stream
().
filter
(
o
->
StringUtils
.
isNotBlank
(
o
.
getClerkId
())
&&
!
"-1"
.
equals
(
o
.
getClerkId
())).
map
(
o
->
o
.
getClerkId
()).
collect
(
Collectors
.
toSet
());
Map
<
String
,
StoreDTO
>
storeMap
=
this
.
qwMomentDataController
.
storeMap
(
storeSet
)
;
Map
<
String
,
ClerkDTO
>
clerkMap
=
this
.
qwMomentDataController
.
clerkMap
(
clerkSet
)
;
for
(
MomentDataClickVO
vo
:
voList
)
{
if
(
null
!=
storeMap
.
get
(
vo
.
getStoreId
()))
{
vo
.
setStoreCode
(
storeMap
.
get
(
vo
.
getStoreId
()).
getStoreCode
());
vo
.
setStoreName
(
storeMap
.
get
(
vo
.
getStoreId
()).
getStoreName
());
}
if
(
null
!=
clerkMap
.
get
(
vo
.
getClerkId
()))
{
vo
.
setClerkCode
(
clerkMap
.
get
(
vo
.
getClerkId
()).
getClerkCode
());
vo
.
setClerkName
(
clerkMap
.
get
(
vo
.
getClerkId
()).
getClerkName
());
}
}
}
return
voList
;
}
@Override
public
List
<
String
>
getColumnNames
()
{
return
Arrays
.
asList
();
}
@Override
public
List
<
String
>
getColumnNames
(
Context
context
)
{
return
Arrays
.
asList
(
"会员姓名"
,
"会员昵称"
,
"手机号"
,
"会员卡号"
,
"专属导购姓名"
,
"专属导购code"
,
"所属门店名称"
,
"所属门店code"
,
"点击时间"
,
"停留时长"
);
}
@Override
public
List
<
String
>
getColumns
(
Context
context
)
{
return
Arrays
.
asList
(
"memberName"
,
"memberNick"
,
"memberPhone"
,
"memberCardNo"
,
"clerkName"
,
"clerkCode"
,
"storeName"
,
"storeCode"
,
"clickTime"
,
"dur"
);
}
@Override
public
LinkedHashMap
<
String
,
List
<
String
>>
doubleColumnNames
()
{
return
null
;
}
@Override
public
List
<
String
>
getColumns
()
{
return
Arrays
.
asList
();
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/controller/moment/MomentDataMemberExcelHandler.java
0 → 100644
View file @
dfbe4484
package
com
.
gic
.
haoban
.
manage
.
web
.
controller
.
moment
;
import
com.alibaba.fastjson.JSONObject
;
import
com.gic.api.base.commons.Page
;
import
com.gic.clerk.api.dto.ClerkDTO
;
import
com.gic.commons.util.EntityUtil
;
import
com.gic.enterprise.api.dto.StoreDTO
;
import
com.gic.haoban.common.utils.AuthWebRequestUtil
;
import
com.gic.haoban.manage.web.vo.moment.MomentDataMemberVO
;
import
com.gic.member.api.dto.es.MemberDataDTO
;
import
com.gic.web.common.download.DownloadHandlerAbstract
;
import
com.gic.web.common.download.context.Context
;
import
com.gic.web.common.utils.DataApiUtils
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.*
;
import
java.util.stream.Collectors
;
@Service
public
class
MomentDataMemberExcelHandler
extends
DownloadHandlerAbstract
<
MomentDataMemberVO
>
{
@Autowired
private
QwMomentController
qwMomentController
;
@Autowired
private
QwMomentDataController
qwMomentDataController
;
@Override
public
List
<
MomentDataMemberVO
>
getData
(
Context
context
,
String
json
,
Integer
currentPage
)
{
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
json
)
;
Map
<
String
,
Object
>
res
=
DataApiUtils
.
http
(
json
,
"data_qw_moment_mbr_detail"
);
Page
page
=
DataApiUtils
.
getPageData
(
res
);
List
<
MomentDataMemberVO
>
voList
=
EntityUtil
.
changeEntityListByJSON
(
MomentDataMemberVO
.
class
,
page
.
getResult
());
if
(
CollectionUtils
.
isNotEmpty
(
voList
))
{
List
<
String
>
memberIdList
=
voList
.
stream
().
map
(
o
->
o
.
getMbrId
()).
collect
(
Collectors
.
toList
());
Map
<
String
,
MemberDataDTO
>
map
=
this
.
qwMomentController
.
getMemberMap
(
jsonObject
.
getString
(
"enterpriseId"
),
memberIdList
)
;
for
(
MomentDataMemberVO
vo
:
voList
)
{
String
memberId
=
vo
.
getMbrId
();
vo
.
setMemberId
(
memberId
);
if
(
null
==
map
.
get
(
memberId
))
{
vo
.
setMemberScene
(
2
);
}
else
{
MemberDataDTO
data
=
map
.
get
(
memberId
)
;
vo
.
setMemberName
(
data
.
getName
());
vo
.
setMemberNick
(
data
.
getNickName
());
vo
.
setMemberCardNo
(
data
.
getCardNo
());
vo
.
setMemberPhone
(
data
.
getPhoneNumber
());
vo
.
setMemberImage
(
data
.
getDefineHeadImg
());
vo
.
setClerkId
(
data
.
getMainClerkId
());
vo
.
setStoreId
(
data
.
getMainStoreId
());
vo
.
setMemberScene
(
3
);
}
}
Set
<
String
>
storeSet
=
voList
.
stream
().
filter
(
o
->
StringUtils
.
isNotBlank
(
o
.
getStoreId
())
&&
!
"-1"
.
equals
(
o
.
getStoreId
())).
map
(
o
->
o
.
getStoreId
()).
collect
(
Collectors
.
toSet
())
;
Set
<
String
>
clerkSet
=
voList
.
stream
().
filter
(
o
->
StringUtils
.
isNotBlank
(
o
.
getClerkId
())
&&
!
"-1"
.
equals
(
o
.
getClerkId
())).
map
(
o
->
o
.
getClerkId
()).
collect
(
Collectors
.
toSet
());
Map
<
String
,
StoreDTO
>
storeMap
=
this
.
qwMomentDataController
.
storeMap
(
storeSet
)
;
Map
<
String
,
ClerkDTO
>
clerkMap
=
this
.
qwMomentDataController
.
clerkMap
(
clerkSet
)
;
for
(
MomentDataMemberVO
vo
:
voList
)
{
if
(
null
!=
storeMap
.
get
(
vo
.
getStoreId
()))
{
vo
.
setStoreCode
(
storeMap
.
get
(
vo
.
getStoreId
()).
getStoreCode
());
vo
.
setStoreName
(
storeMap
.
get
(
vo
.
getStoreId
()).
getStoreName
());
}
if
(
null
!=
clerkMap
.
get
(
vo
.
getClerkId
()))
{
vo
.
setClerkCode
(
clerkMap
.
get
(
vo
.
getClerkId
()).
getClerkCode
());
vo
.
setClerkName
(
clerkMap
.
get
(
vo
.
getClerkId
()).
getClerkName
());
}
}
}
return
voList
;
}
@Override
public
List
<
String
>
getColumnNames
()
{
return
Arrays
.
asList
();
}
@Override
public
List
<
String
>
getColumnNames
(
Context
context
)
{
return
Arrays
.
asList
(
"会员姓名"
,
"会员昵称"
,
"手机号"
,
"会员卡号"
,
"专属导购姓名"
,
"专属导购code"
,
"所属门店名称"
,
"所属门店code"
,
"转化金额"
);
}
@Override
public
List
<
String
>
getColumns
(
Context
context
)
{
return
Arrays
.
asList
(
"memberName"
,
"memberNick"
,
"memberPhone"
,
"memberCardNo"
,
"clerkName"
,
"clerkCode"
,
"storeName"
,
"storeCode"
,
"matlConvsAmt"
);
}
@Override
public
LinkedHashMap
<
String
,
List
<
String
>>
doubleColumnNames
()
{
return
null
;
}
@Override
public
List
<
String
>
getColumns
()
{
return
Arrays
.
asList
();
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/controller/moment/MomentDataOrderExcelHandler.java
0 → 100644
View file @
dfbe4484
package
com
.
gic
.
haoban
.
manage
.
web
.
controller
.
moment
;
import
com.alibaba.fastjson.JSONObject
;
import
com.gic.api.base.commons.Page
;
import
com.gic.commons.util.EntityUtil
;
import
com.gic.enterprise.api.dto.StoreDTO
;
import
com.gic.enterprise.api.enums.PlatformChannelEnum
;
import
com.gic.haoban.common.utils.AuthWebRequestUtil
;
import
com.gic.haoban.manage.web.vo.moment.MomentDataOrderVO
;
import
com.gic.member.api.dto.es.MemberDataDTO
;
import
com.gic.web.common.download.DownloadHandlerAbstract
;
import
com.gic.web.common.download.context.Context
;
import
com.gic.web.common.utils.DataApiUtils
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.*
;
import
java.util.stream.Collectors
;
@Service
public
class
MomentDataOrderExcelHandler
extends
DownloadHandlerAbstract
<
MomentDataOrderVO
>
{
@Autowired
private
QwMomentController
qwMomentController
;
@Autowired
private
QwMomentDataController
qwMomentDataController
;
@Override
public
List
<
MomentDataOrderVO
>
getData
(
Context
context
,
String
json
,
Integer
currentPage
)
{
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
json
)
;
Map
<
String
,
Object
>
res
=
DataApiUtils
.
http
(
json
,
"data_qw_moment_order_detail"
);
Page
page
=
DataApiUtils
.
getPageData
(
res
);
List
<
MomentDataOrderVO
>
voList
=
EntityUtil
.
changeEntityListByJSON
(
MomentDataOrderVO
.
class
,
page
.
getResult
());
if
(
CollectionUtils
.
isNotEmpty
(
voList
))
{
List
<
String
>
memberIdList
=
voList
.
stream
().
map
(
o
->
o
.
getMbrId
()).
collect
(
Collectors
.
toList
());
Map
<
String
,
MemberDataDTO
>
map
=
this
.
qwMomentController
.
getMemberMap
(
jsonObject
.
getString
(
"enterpriseId"
),
memberIdList
);
for
(
MomentDataOrderVO
vo
:
voList
)
{
String
memberId
=
vo
.
getMbrId
();
vo
.
setMemberId
(
memberId
);
if
(
null
==
map
.
get
(
memberId
))
{
vo
.
setMemberScene
(
2
);
}
else
{
MemberDataDTO
data
=
map
.
get
(
memberId
);
vo
.
setMemberName
(
data
.
getName
());
vo
.
setMemberNick
(
data
.
getNickName
());
vo
.
setMemberCardNo
(
data
.
getCardNo
());
vo
.
setMemberPhone
(
data
.
getPhoneNumber
());
vo
.
setMemberImage
(
data
.
getDefineHeadImg
());
vo
.
setMemberScene
(
3
);
}
PlatformChannelEnum
channel
=
PlatformChannelEnum
.
getEnumByChannelCode
(
vo
.
getChannelCode
())
;
if
(
null
!=
channel
)
{
vo
.
setChannelName
(
channel
.
getChannelName
());
}
}
Set
<
String
>
storeSet
=
voList
.
stream
().
filter
(
o
->
StringUtils
.
isNotBlank
(
o
.
getOrderStoreId
())
&&
!
"-1"
.
equals
(
o
.
getOrderStoreId
())).
map
(
o
->
o
.
getOrderStoreId
()).
collect
(
Collectors
.
toSet
());
Map
<
String
,
StoreDTO
>
storeMap
=
this
.
qwMomentDataController
.
storeMap
(
storeSet
);
for
(
MomentDataOrderVO
vo
:
voList
)
{
if
(
null
!=
storeMap
.
get
(
vo
.
getOrderStoreId
()))
{
vo
.
setOrderStoreCode
(
storeMap
.
get
(
vo
.
getOrderStoreId
()).
getStoreCode
());
vo
.
setOrderStoreName
(
storeMap
.
get
(
vo
.
getOrderStoreId
()).
getStoreName
());
}
}
}
return
voList
;
}
@Override
public
List
<
String
>
getColumnNames
()
{
return
Arrays
.
asList
();
}
@Override
public
List
<
String
>
getColumnNames
(
Context
context
)
{
return
Arrays
.
asList
(
"会员姓名"
,
"会员昵称"
,
"手机号"
,
"会员卡号"
,
"订单渠道"
,
"订单编号"
,
"订单实付金额"
,
"消费门店名称"
,
"消费门店 code"
,
"下单时间"
);
}
@Override
public
List
<
String
>
getColumns
(
Context
context
)
{
return
Arrays
.
asList
(
"memberName"
,
"memberNick"
,
"memberPhone"
,
"memberCardNo"
,
"channelName"
,
"orderCode"
,
"matlConvsAmt"
,
"orderStoreName"
,
"orderStoreCode"
,
"orderTime"
);
}
@Override
public
LinkedHashMap
<
String
,
List
<
String
>>
doubleColumnNames
()
{
return
null
;
}
@Override
public
List
<
String
>
getColumns
()
{
return
Arrays
.
asList
();
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/controller/moment/QwMomentDataController.java
0 → 100644
View file @
dfbe4484
package
com
.
gic
.
haoban
.
manage
.
web
.
controller
.
moment
;
import
cn.hutool.core.date.DatePattern
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.gic.api.base.commons.JSONResponse
;
import
com.gic.api.base.commons.Page
;
import
com.gic.api.base.commons.ServiceResponse
;
import
com.gic.clerk.api.dto.AuthorizedUser
;
import
com.gic.clerk.api.dto.ClerkDTO
;
import
com.gic.clerk.api.service.ClerkService
;
import
com.gic.commons.util.DateUtil
;
import
com.gic.commons.util.EntityUtil
;
import
com.gic.commons.webapi.reponse.RestResponse
;
import
com.gic.enterprise.api.dto.StoreDTO
;
import
com.gic.enterprise.api.enums.PlatformChannelEnum
;
import
com.gic.enterprise.api.service.StoreService
;
import
com.gic.haoban.base.api.common.pojo.dto.WebLoginDTO
;
import
com.gic.haoban.common.utils.AuthWebRequestUtil
;
import
com.gic.haoban.manage.api.dto.moment.QwMomentPlanDTO
;
import
com.gic.haoban.manage.api.service.moment.QwMomentApiService
;
import
com.gic.haoban.manage.web.qo.moment.MomentDataQO
;
import
com.gic.haoban.manage.web.vo.moment.MomentDataClickVO
;
import
com.gic.haoban.manage.web.vo.moment.MomentDataMemberVO
;
import
com.gic.haoban.manage.web.vo.moment.MomentDataOrderVO
;
import
com.gic.haoban.manage.web.vo.moment.MomentDataVO
;
import
com.gic.member.api.dto.es.MemberDataDTO
;
import
com.gic.qcloud.BucketNameEnum
;
import
com.gic.web.common.download.DownloadTask
;
import
com.gic.web.common.download.DownloadTaskUtil
;
import
com.gic.web.common.download.constants.TaskTypeEnum
;
import
com.gic.web.common.utils.DataApiUtils
;
import
com.gic.web.common.utils.SessionContextUtils
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.Logger
;
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
;
import
java.util.*
;
import
java.util.stream.Collectors
;
/**
* 企微朋友圈-数据
*/
@RestController
@RequestMapping
(
"/qw-moment"
)
public
class
QwMomentDataController
{
private
static
Logger
logger
=
LogManager
.
getLogger
(
QwMomentDataController
.
class
);
@Autowired
private
QwMomentController
qwMomentController
;
@Autowired
private
StoreService
storeService
;
@Autowired
private
ClerkService
clerkService
;
@Autowired
private
QwMomentApiService
qwMomentApiService
;
@Autowired
private
MomentDataClickExcelHandler
momentDataClickExcelHandler
;
@Autowired
private
MomentDataOrderExcelHandler
momentDataOrderExcelHandler
;
@Autowired
private
MomentDataMemberExcelHandler
momentDataMemberExcelHandler
;
/**
* 概览
*/
@RequestMapping
(
"data_qw_moment_plan_overview"
)
public
RestResponse
<
MomentDataVO
>
data
(
@RequestBody
MomentDataQO
qo
)
{
JSONObject
json
=
this
.
paramsJson
(
qo
)
;
Map
<
String
,
Object
>
res
=
DataApiUtils
.
http
(
json
.
toJSONString
(),
"data_qw_moment_plan_overview"
);
JSONObject
data
=
DataApiUtils
.
getPageOne
(
res
);
MomentDataVO
vo
=
new
MomentDataVO
();
if
(
null
!=
data
)
{
vo
.
setMatlClickCnt
(
data
.
getInteger
(
"matlClickCnt"
));
vo
.
setMatlClickMbrNum
(
data
.
getInteger
(
"matlClickMbrNum"
));
vo
.
setMatlConvsAmt
(
data
.
getDoubleValue
(
"matlConvsAmt"
));
vo
.
setMatlConvsMbrNum
(
data
.
getInteger
(
"matlConvsMbrNum"
));
}
return
RestResponse
.
successResult
(
vo
);
}
/**
* 转化会员
*/
@RequestMapping
(
"data_qw_moment_mbr_detail"
)
public
RestResponse
<
Page
<
MomentDataMemberVO
>>
memberData
(
@RequestBody
MomentDataQO
qo
)
{
JSONObject
json
=
this
.
paramsJson
(
qo
)
;
Map
<
String
,
Object
>
res
=
DataApiUtils
.
http
(
json
.
toJSONString
(),
"data_qw_moment_mbr_detail"
);
Page
page
=
DataApiUtils
.
getPageData
(
res
);
Page
<
MomentDataMemberVO
>
retPage
=
EntityUtil
.
changeEntityByJSON
(
Page
.
class
,
page
);
if
(
CollectionUtils
.
isEmpty
(
page
.
getResult
()))
{
return
RestResponse
.
successResult
(
retPage
);
}
List
<
MomentDataMemberVO
>
voList
=
EntityUtil
.
changeEntityListByJSON
(
MomentDataMemberVO
.
class
,
page
.
getResult
());
if
(
CollectionUtils
.
isNotEmpty
(
voList
))
{
List
<
String
>
memberIdList
=
voList
.
stream
().
map
(
o
->
o
.
getMbrId
()).
collect
(
Collectors
.
toList
());
Map
<
String
,
MemberDataDTO
>
map
=
this
.
qwMomentController
.
getMemberMap
(
AuthWebRequestUtil
.
getLoginUser
().
getEnterpriseId
(),
memberIdList
)
;
for
(
MomentDataMemberVO
vo
:
voList
)
{
String
memberId
=
vo
.
getMbrId
();
vo
.
setMemberId
(
memberId
);
if
(
null
==
map
.
get
(
memberId
))
{
vo
.
setMemberScene
(
2
);
}
else
{
MemberDataDTO
data
=
map
.
get
(
memberId
)
;
vo
.
setMemberName
(
data
.
getName
());
vo
.
setMemberNick
(
data
.
getNickName
());
vo
.
setMemberCardNo
(
data
.
getCardNo
());
vo
.
setMemberPhone
(
data
.
getPhoneNumber
());
vo
.
setMemberImage
(
data
.
getDefineHeadImg
());
vo
.
setClerkId
(
data
.
getMainClerkId
());
vo
.
setStoreId
(
data
.
getMainStoreId
());
vo
.
setMemberScene
(
3
);
}
}
Set
<
String
>
storeSet
=
voList
.
stream
().
filter
(
o
->
StringUtils
.
isNotBlank
(
o
.
getStoreId
())
&&
!
"-1"
.
equals
(
o
.
getStoreId
())).
map
(
o
->
o
.
getStoreId
()).
collect
(
Collectors
.
toSet
())
;
Set
<
String
>
clerkSet
=
voList
.
stream
().
filter
(
o
->
StringUtils
.
isNotBlank
(
o
.
getClerkId
())
&&
!
"-1"
.
equals
(
o
.
getClerkId
())).
map
(
o
->
o
.
getClerkId
()).
collect
(
Collectors
.
toSet
());
Map
<
String
,
StoreDTO
>
storeMap
=
this
.
storeMap
(
storeSet
)
;
Map
<
String
,
ClerkDTO
>
clerkMap
=
this
.
clerkMap
(
clerkSet
)
;
for
(
MomentDataMemberVO
vo
:
voList
)
{
if
(
null
!=
storeMap
.
get
(
vo
.
getStoreId
()))
{
vo
.
setStoreCode
(
storeMap
.
get
(
vo
.
getStoreId
()).
getStoreCode
());
vo
.
setStoreName
(
storeMap
.
get
(
vo
.
getStoreId
()).
getStoreName
());
}
if
(
null
!=
clerkMap
.
get
(
vo
.
getClerkId
()))
{
vo
.
setClerkCode
(
clerkMap
.
get
(
vo
.
getClerkId
()).
getClerkCode
());
vo
.
setClerkName
(
clerkMap
.
get
(
vo
.
getClerkId
()).
getClerkName
());
}
}
}
retPage
.
setResult
(
voList
);
return
RestResponse
.
successResult
(
retPage
);
}
/**
* 转化会员导出
*/
@RequestMapping
(
"data_qw_moment_mbr_detail_excel"
)
public
RestResponse
<
String
>
memberDataExcel
(
@RequestBody
MomentDataQO
qo
)
{
JSONObject
json
=
this
.
paramsJson
(
qo
)
;
json
.
put
(
"pageSize"
,
1
)
;
Map
<
String
,
Object
>
res
=
DataApiUtils
.
http
(
json
.
toJSONString
(),
"data_qw_moment_mbr_detail"
);
Page
page
=
DataApiUtils
.
getPageData
(
res
);
if
(
CollectionUtils
.
isEmpty
(
page
.
getResult
()))
{
return
RestResponse
.
failure
(
"9999"
,
"导出数据条数为0"
);
}
AuthorizedUser
loginUser
=
SessionContextUtils
.
getLoginUser
()
;
DownloadTask
task
=
new
DownloadTask
();
task
.
setTaskTypeEnum
(
TaskTypeEnum
.
QYWX_MOMENT
);
task
.
setUser
(
loginUser
);
task
.
setDataType
(
qo
.
getDataType
());
task
.
setTotalCount
(
page
.
getTotalCount
());
ServiceResponse
<
QwMomentPlanDTO
>
resp
=
this
.
qwMomentApiService
.
detail
(
qo
.
getPlanId
())
;
String
date
=
DateUtil
.
dateToStr
(
new
Date
(),
"yyyy-MM-dd HH:mm:ss"
)
;
String
fileName
=
"企微朋友圈-"
+
resp
.
getResult
().
getTitle
()+
"-客户明细-转化明细"
+
date
;
task
.
setFileName
(
fileName
);
task
.
setChannelName
(
TaskTypeEnum
.
QYWX_MOMENT
.
getName
());
task
.
setBucketName
(
BucketNameEnum
.
REPORT_50000
.
getName
());
json
.
put
(
"pageSize"
,
1000
)
;
task
.
setSearchDataParams
(
json
.
toJSONString
());
task
.
setHandler
(
momentDataMemberExcelHandler
);
JSONResponse
jsonResponse
=
DownloadTaskUtil
.
createDownloadTask
(
task
);
final
String
reportId
;
if
(
jsonResponse
.
isSuccess
())
{
reportId
=
(
String
)
jsonResponse
.
getResult
();
}
else
{
return
RestResponse
.
failure
(
"9999"
,
jsonResponse
.
getErrorMessage
());
}
return
RestResponse
.
successResult
(
reportId
);
}
/**
* 转化订单
*/
@RequestMapping
(
"data_qw_moment_order_detail"
)
public
RestResponse
<
Page
<
MomentDataOrderVO
>>
orderData
(
@RequestBody
MomentDataQO
qo
)
{
JSONObject
json
=
this
.
paramsJson
(
qo
)
;
Map
<
String
,
Object
>
res
=
DataApiUtils
.
http
(
json
.
toJSONString
(),
"data_qw_moment_order_detail"
);
Page
page
=
DataApiUtils
.
getPageData
(
res
);
Page
<
MomentDataOrderVO
>
retPage
=
EntityUtil
.
changeEntityByJSON
(
Page
.
class
,
page
);
if
(
CollectionUtils
.
isEmpty
(
page
.
getResult
()))
{
return
RestResponse
.
successResult
(
retPage
);
}
List
<
MomentDataOrderVO
>
voList
=
EntityUtil
.
changeEntityListByJSON
(
MomentDataOrderVO
.
class
,
page
.
getResult
());
if
(
CollectionUtils
.
isNotEmpty
(
voList
))
{
List
<
String
>
memberIdList
=
voList
.
stream
().
map
(
o
->
o
.
getMbrId
()).
collect
(
Collectors
.
toList
());
Map
<
String
,
MemberDataDTO
>
map
=
this
.
qwMomentController
.
getMemberMap
(
AuthWebRequestUtil
.
getLoginUser
().
getEnterpriseId
(),
memberIdList
);
for
(
MomentDataOrderVO
vo
:
voList
)
{
String
memberId
=
vo
.
getMbrId
();
vo
.
setMemberId
(
memberId
);
if
(
null
==
map
.
get
(
memberId
))
{
vo
.
setMemberScene
(
2
);
}
else
{
MemberDataDTO
data
=
map
.
get
(
memberId
);
vo
.
setMemberName
(
data
.
getName
());
vo
.
setMemberNick
(
data
.
getNickName
());
vo
.
setMemberCardNo
(
data
.
getCardNo
());
vo
.
setMemberPhone
(
data
.
getPhoneNumber
());
vo
.
setMemberImage
(
data
.
getDefineHeadImg
());
vo
.
setMemberScene
(
3
);
}
PlatformChannelEnum
channel
=
PlatformChannelEnum
.
getEnumByChannelCode
(
vo
.
getChannelCode
())
;
if
(
null
!=
channel
)
{
vo
.
setChannelName
(
channel
.
getChannelNameOrder
());
}
}
Set
<
String
>
storeSet
=
voList
.
stream
().
filter
(
o
->
StringUtils
.
isNotBlank
(
o
.
getOrderStoreId
())
&&
!
"-1"
.
equals
(
o
.
getOrderStoreId
())).
map
(
o
->
o
.
getOrderStoreId
()).
collect
(
Collectors
.
toSet
());
Map
<
String
,
StoreDTO
>
storeMap
=
this
.
storeMap
(
storeSet
);
for
(
MomentDataOrderVO
vo
:
voList
)
{
if
(
null
!=
storeMap
.
get
(
vo
.
getOrderStoreId
()))
{
vo
.
setOrderStoreCode
(
storeMap
.
get
(
vo
.
getOrderStoreId
()).
getStoreCode
());
vo
.
setOrderStoreName
(
storeMap
.
get
(
vo
.
getOrderStoreId
()).
getStoreName
());
}
}
}
retPage
.
setResult
(
voList
);
return
RestResponse
.
successResult
(
retPage
);
}
/**
* 转化订单导出
*/
@RequestMapping
(
"data_qw_moment_order_detail_excel"
)
public
RestResponse
<
String
>
orderDataExcel
(
@RequestBody
MomentDataQO
qo
)
{
JSONObject
json
=
this
.
paramsJson
(
qo
)
;
json
.
put
(
"pageSize"
,
1
)
;
Map
<
String
,
Object
>
res
=
DataApiUtils
.
http
(
json
.
toJSONString
(),
"data_qw_moment_order_detail"
);
Page
page
=
DataApiUtils
.
getPageData
(
res
);
if
(
CollectionUtils
.
isEmpty
(
page
.
getResult
()))
{
return
RestResponse
.
failure
(
"9999"
,
"导出数据条数为0"
);
}
AuthorizedUser
loginUser
=
SessionContextUtils
.
getLoginUser
()
;
DownloadTask
task
=
new
DownloadTask
();
task
.
setTaskTypeEnum
(
TaskTypeEnum
.
QYWX_MOMENT
);
task
.
setUser
(
loginUser
);
task
.
setDataType
(
qo
.
getDataType
());
task
.
setTotalCount
(
page
.
getTotalCount
());
ServiceResponse
<
QwMomentPlanDTO
>
resp
=
this
.
qwMomentApiService
.
detail
(
qo
.
getPlanId
())
;
String
date
=
DateUtil
.
dateToStr
(
new
Date
(),
"yyyy-MM-dd HH:mm:ss"
)
;
String
fileName
=
"企微朋友圈-"
+
resp
.
getResult
().
getTitle
()+
"-客户明细-转化订单"
+
date
;
task
.
setFileName
(
fileName
);
task
.
setChannelName
(
TaskTypeEnum
.
QYWX_MOMENT
.
getName
());
task
.
setBucketName
(
BucketNameEnum
.
REPORT_50000
.
getName
());
json
.
put
(
"pageSize"
,
1000
)
;
task
.
setSearchDataParams
(
json
.
toJSONString
());
task
.
setHandler
(
momentDataOrderExcelHandler
);
JSONResponse
jsonResponse
=
DownloadTaskUtil
.
createDownloadTask
(
task
);
final
String
reportId
;
if
(
jsonResponse
.
isSuccess
())
{
reportId
=
(
String
)
jsonResponse
.
getResult
();
}
else
{
return
RestResponse
.
failure
(
"9999"
,
jsonResponse
.
getErrorMessage
());
}
return
RestResponse
.
successResult
(
reportId
);
}
/**
* 点击数据
*/
@RequestMapping
(
"data_qw_moment_mbr_click_detail"
)
public
RestResponse
<
Page
<
MomentDataClickVO
>>
clerkData
(
@RequestBody
MomentDataQO
qo
)
{
JSONObject
json
=
this
.
paramsJson
(
qo
)
;
Map
<
String
,
Object
>
res
=
DataApiUtils
.
http
(
json
.
toJSONString
(),
"data_qw_moment_mbr_click_detail"
);
Page
page
=
DataApiUtils
.
getPageData
(
res
);
Page
<
MomentDataClickVO
>
retPage
=
EntityUtil
.
changeEntityByJSON
(
Page
.
class
,
page
);
if
(
CollectionUtils
.
isEmpty
(
page
.
getResult
()))
{
return
RestResponse
.
successResult
(
retPage
);
}
List
<
MomentDataClickVO
>
voList
=
EntityUtil
.
changeEntityListByJSON
(
MomentDataClickVO
.
class
,
page
.
getResult
());
if
(
CollectionUtils
.
isNotEmpty
(
voList
))
{
List
<
String
>
memberIdList
=
voList
.
stream
().
map
(
o
->
o
.
getMbrId
()).
collect
(
Collectors
.
toList
());
Map
<
String
,
MemberDataDTO
>
map
=
this
.
qwMomentController
.
getMemberMap
(
AuthWebRequestUtil
.
getLoginUser
().
getEnterpriseId
(),
memberIdList
)
;
for
(
MomentDataClickVO
vo
:
voList
)
{
String
memberId
=
vo
.
getMbrId
();
vo
.
setMemberId
(
memberId
);
if
(
null
==
map
.
get
(
memberId
))
{
vo
.
setMemberScene
(
2
);
}
else
{
MemberDataDTO
data
=
map
.
get
(
memberId
)
;
vo
.
setMemberName
(
data
.
getName
());
vo
.
setMemberNick
(
data
.
getNickName
());
vo
.
setMemberCardNo
(
data
.
getCardNo
());
vo
.
setMemberPhone
(
data
.
getPhoneNumber
());
vo
.
setMemberImage
(
data
.
getDefineHeadImg
());
vo
.
setClerkId
(
data
.
getMainClerkId
());
vo
.
setStoreId
(
data
.
getMainStoreId
());
vo
.
setMemberScene
(
3
);
}
}
Set
<
String
>
storeSet
=
voList
.
stream
().
filter
(
o
->
StringUtils
.
isNotBlank
(
o
.
getStoreId
())
&&
!
"-1"
.
equals
(
o
.
getStoreId
())).
map
(
o
->
o
.
getStoreId
()).
collect
(
Collectors
.
toSet
())
;
Set
<
String
>
clerkSet
=
voList
.
stream
().
filter
(
o
->
StringUtils
.
isNotBlank
(
o
.
getClerkId
())
&&
!
"-1"
.
equals
(
o
.
getClerkId
())).
map
(
o
->
o
.
getClerkId
()).
collect
(
Collectors
.
toSet
());
Map
<
String
,
StoreDTO
>
storeMap
=
this
.
storeMap
(
storeSet
)
;
Map
<
String
,
ClerkDTO
>
clerkMap
=
this
.
clerkMap
(
clerkSet
)
;
for
(
MomentDataClickVO
vo
:
voList
)
{
if
(
null
!=
storeMap
.
get
(
vo
.
getStoreId
()))
{
vo
.
setStoreCode
(
storeMap
.
get
(
vo
.
getStoreId
()).
getStoreCode
());
vo
.
setStoreName
(
storeMap
.
get
(
vo
.
getStoreId
()).
getStoreName
());
}
if
(
null
!=
clerkMap
.
get
(
vo
.
getClerkId
()))
{
vo
.
setClerkCode
(
clerkMap
.
get
(
vo
.
getClerkId
()).
getClerkCode
());
vo
.
setClerkName
(
clerkMap
.
get
(
vo
.
getClerkId
()).
getClerkName
());
}
}
}
retPage
.
setResult
(
voList
);
return
RestResponse
.
successResult
(
retPage
);
}
/**
* 点击导出
*/
@RequestMapping
(
"data_qw_moment_mbr_click_detail_excel"
)
public
RestResponse
<
String
>
clerkDataExcel
(
@RequestBody
MomentDataQO
qo
)
{
JSONObject
json
=
this
.
paramsJson
(
qo
)
;
json
.
put
(
"pageSize"
,
1
)
;
Map
<
String
,
Object
>
res
=
DataApiUtils
.
http
(
json
.
toJSONString
(),
"data_qw_moment_mbr_click_detail"
);
Page
page
=
DataApiUtils
.
getPageData
(
res
);
if
(
CollectionUtils
.
isEmpty
(
page
.
getResult
()))
{
return
RestResponse
.
failure
(
"9999"
,
"导出数据条数为0"
);
}
AuthorizedUser
loginUser
=
SessionContextUtils
.
getLoginUser
()
;
DownloadTask
task
=
new
DownloadTask
();
task
.
setTaskTypeEnum
(
TaskTypeEnum
.
QYWX_MOMENT
);
task
.
setUser
(
loginUser
);
task
.
setDataType
(
qo
.
getDataType
());
task
.
setTotalCount
(
page
.
getTotalCount
());
ServiceResponse
<
QwMomentPlanDTO
>
resp
=
this
.
qwMomentApiService
.
detail
(
qo
.
getPlanId
())
;
String
date
=
DateUtil
.
dateToStr
(
new
Date
(),
"yyyy-MM-dd HH:mm:ss"
)
;
String
fileName
=
"企微朋友圈-"
+
resp
.
getResult
().
getTitle
()+
"-客户明细-点击明细"
+
date
;
task
.
setFileName
(
fileName
);
task
.
setChannelName
(
TaskTypeEnum
.
QYWX_MOMENT
.
getName
());
task
.
setBucketName
(
BucketNameEnum
.
REPORT_50000
.
getName
());
json
.
put
(
"pageSize"
,
1000
)
;
task
.
setSearchDataParams
(
json
.
toJSONString
());
task
.
setHandler
(
momentDataClickExcelHandler
);
JSONResponse
jsonResponse
=
DownloadTaskUtil
.
createDownloadTask
(
task
);
final
String
reportId
;
if
(
jsonResponse
.
isSuccess
())
{
reportId
=
(
String
)
jsonResponse
.
getResult
();
}
else
{
return
RestResponse
.
failure
(
"9999"
,
jsonResponse
.
getErrorMessage
());
}
return
RestResponse
.
successResult
(
reportId
);
}
private
JSONObject
paramsJson
(
MomentDataQO
qo
)
{
WebLoginDTO
user
=
AuthWebRequestUtil
.
getLoginUser
();
String
enterpriseId
=
user
.
getEnterpriseId
();
JSONObject
json
=
new
JSONObject
();
json
.
put
(
"planId"
,
qo
.
getPlanId
())
;
json
.
put
(
"enterpriseId"
,
enterpriseId
)
;
json
.
put
(
"pageNum"
,
qo
.
getPageNum
())
;
json
.
put
(
"pageSize"
,
qo
.
getPageSize
())
;
if
(
StringUtils
.
isNotBlank
(
qo
.
getMemberId
()))
{
json
.
put
(
"mbrId"
,
qo
.
getMemberId
())
;
}
if
(
StringUtils
.
isNotBlank
(
qo
.
getOrderNumber
()))
{
json
.
put
(
"orderCode"
,
qo
.
getOrderNumber
())
;
}
if
(
StringUtils
.
isNotBlank
(
qo
.
getOrderChannel
()))
{
PlatformChannelEnum
channel
=
PlatformChannelEnum
.
getEnumByOldOrderType
(
Integer
.
valueOf
(
qo
.
getOrderChannel
()))
;
if
(
null
!=
channel
)
{
json
.
put
(
"channelCode"
,
channel
.
getChannelCode
());
}
}
return
json
;
}
public
Map
<
String
,
StoreDTO
>
storeMap
(
Set
<
String
>
storeIdList
)
{
Map
<
String
,
StoreDTO
>
storeMap
=
new
HashMap
<>();
if
(
CollectionUtils
.
isEmpty
(
storeIdList
))
{
return
storeMap
;
}
List
<
String
>
list
=
new
ArrayList
<>()
;
list
.
addAll
(
storeIdList
)
;
if
(
CollectionUtils
.
isNotEmpty
(
storeIdList
))
{
List
<
StoreDTO
>
mainStoreList
=
storeService
.
queryStore
(
list
);
if
(
CollectionUtils
.
isNotEmpty
(
mainStoreList
))
{
storeMap
=
mainStoreList
.
stream
().
collect
(
Collectors
.
toMap
(
e
->
e
.
getStoreId
(),
e
->
e
));
}
}
return
storeMap
;
}
public
Map
<
String
,
ClerkDTO
>
clerkMap
(
Set
<
String
>
clerkIdList
)
{
Map
<
String
,
ClerkDTO
>
clerkMap
=
new
HashMap
<>();
if
(
CollectionUtils
.
isEmpty
(
clerkIdList
))
{
return
clerkMap
;
}
List
<
ClerkDTO
>
mainClerkList
=
clerkService
.
getClerkByClerkIds
(
clerkIdList
);
if
(
CollectionUtils
.
isNotEmpty
(
mainClerkList
))
{
clerkMap
=
mainClerkList
.
stream
().
collect
(
Collectors
.
toMap
(
e
->
e
.
getClerkId
(),
e
->
e
));
}
return
clerkMap
;
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/controller/open/QywxOpenTaskController.java
View file @
dfbe4484
...
@@ -726,6 +726,18 @@ public class QywxOpenTaskController {
...
@@ -726,6 +726,18 @@ public class QywxOpenTaskController {
}
}
newType
+=
"社群群发"
;
newType
+=
"社群群发"
;
}
}
if
(
oldSendType
.
contains
(
"3"
))
{
if
(
StringUtils
.
isNotBlank
(
oldType
))
{
oldType
+=
"、"
;
}
oldType
+=
"企微朋友圈"
;
}
if
(
newSendType
.
contains
(
"3"
))
{
if
(
StringUtils
.
isNotBlank
(
newType
))
{
newType
+=
"、"
;
}
newType
+=
"企微朋友圈"
;
}
if
(!
oldType
.
equals
(
newType
))
{
if
(!
oldType
.
equals
(
newType
))
{
logContent2
+=
"执行消息类型从【"
+
oldType
+
"】修改为【"
+
newType
+
"】"
;
logContent2
+=
"执行消息类型从【"
+
oldType
+
"】修改为【"
+
newType
+
"】"
;
}
}
...
...
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/qo/moment/MomentDataQO.java
0 → 100644
View file @
dfbe4484
package
com
.
gic
.
haoban
.
manage
.
web
.
qo
.
moment
;
import
com.gic.api.base.commons.BasePageInfo
;
import
java.io.Serializable
;
public
class
MomentDataQO
extends
BasePageInfo
implements
Serializable
{
private
Long
planId
;
private
String
memberId
;
/**
* 订单渠道
*/
private
String
orderChannel
;
/**
* 订单编号
*/
private
String
orderNumber
;
private
Integer
dataType
;
public
Integer
getDataType
()
{
return
dataType
;
}
public
void
setDataType
(
Integer
dataType
)
{
this
.
dataType
=
dataType
;
}
public
Long
getPlanId
()
{
return
planId
;
}
public
void
setPlanId
(
Long
planId
)
{
this
.
planId
=
planId
;
}
public
String
getMemberId
()
{
return
memberId
;
}
public
void
setMemberId
(
String
memberId
)
{
this
.
memberId
=
memberId
;
}
public
String
getOrderChannel
()
{
return
orderChannel
;
}
public
void
setOrderChannel
(
String
orderChannel
)
{
this
.
orderChannel
=
orderChannel
;
}
public
String
getOrderNumber
()
{
return
orderNumber
;
}
public
void
setOrderNumber
(
String
orderNumber
)
{
this
.
orderNumber
=
orderNumber
;
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/qo/moment/QwMomentPlanQO.java
View file @
dfbe4484
...
@@ -69,6 +69,26 @@ public class QwMomentPlanQO implements Serializable {
...
@@ -69,6 +69,26 @@ public class QwMomentPlanQO implements Serializable {
*/
*/
private
Integer
mediaLinkFlag
;
private
Integer
mediaLinkFlag
;
private
Integer
analyseFlag
;
private
Integer
analyseDay
;
public
Integer
getAnalyseFlag
()
{
return
analyseFlag
;
}
public
void
setAnalyseFlag
(
Integer
analyseFlag
)
{
this
.
analyseFlag
=
analyseFlag
;
}
public
Integer
getAnalyseDay
()
{
return
analyseDay
;
}
public
void
setAnalyseDay
(
Integer
analyseDay
)
{
this
.
analyseDay
=
analyseDay
;
}
public
Integer
getMediaLinkFlag
()
{
public
Integer
getMediaLinkFlag
()
{
return
mediaLinkFlag
;
return
mediaLinkFlag
;
}
}
...
...
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/vo/chat/GroupChatHmVO.java
View file @
dfbe4484
...
@@ -42,6 +42,43 @@ public class GroupChatHmVO implements Serializable {
...
@@ -42,6 +42,43 @@ public class GroupChatHmVO implements Serializable {
// 可以群数
// 可以群数
private
Integer
usableChatCount
;
private
Integer
usableChatCount
;
private
String
useRemark
;
private
String
useRemark
;
private
String
storeId
;
private
String
storeName
;
private
String
storeCode
;
// 0已删除 1有效
private
int
storeStatus
;
public
String
getStoreId
()
{
return
storeId
;
}
public
void
setStoreId
(
String
storeId
)
{
this
.
storeId
=
storeId
;
}
public
String
getStoreName
()
{
return
storeName
;
}
public
void
setStoreName
(
String
storeName
)
{
this
.
storeName
=
storeName
;
}
public
String
getStoreCode
()
{
return
storeCode
;
}
public
void
setStoreCode
(
String
storeCode
)
{
this
.
storeCode
=
storeCode
;
}
public
int
getStoreStatus
()
{
return
storeStatus
;
}
public
void
setStoreStatus
(
int
storeStatus
)
{
this
.
storeStatus
=
storeStatus
;
}
public
String
getUseRemark
()
{
public
String
getUseRemark
()
{
return
useRemark
;
return
useRemark
;
...
...
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/vo/chat/GroupChatPlanExcelVO.java
View file @
dfbe4484
...
@@ -60,6 +60,30 @@ public class GroupChatPlanExcelVO extends Object implements Serializable{
...
@@ -60,6 +60,30 @@ public class GroupChatPlanExcelVO extends Object implements Serializable{
*/
*/
private
Date
createTime
;
private
Date
createTime
;
private
int
execType
;
// 执行方式 0企微1好办小程序
private
String
execTypeExcel
;
public
int
getExecType
()
{
return
execType
;
}
public
void
setExecType
(
int
execType
)
{
this
.
execType
=
execType
;
}
public
String
getExecTypeExcel
()
{
if
(
execType
==
1
)
{
return
"好办小程序发送"
;
}
return
"企微快捷键发送"
;
}
public
void
setExecTypeExcel
(
String
execTypeExcel
)
{
this
.
execTypeExcel
=
execTypeExcel
;
}
public
String
getName
()
{
public
String
getName
()
{
return
name
;
return
name
;
}
}
...
@@ -80,6 +104,8 @@ public class GroupChatPlanExcelVO extends Object implements Serializable{
...
@@ -80,6 +104,8 @@ public class GroupChatPlanExcelVO extends Object implements Serializable{
return
status
;
return
status
;
}
}
public
void
setStatus
(
String
status
)
{
public
void
setStatus
(
String
status
)
{
this
.
status
=
status
;
this
.
status
=
status
;
}
}
...
...
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/vo/hm/HmLinkVO.java
View file @
dfbe4484
...
@@ -51,6 +51,16 @@ public class HmLinkVO implements Serializable {
...
@@ -51,6 +51,16 @@ public class HmLinkVO implements Serializable {
private
List
<
HmLinkStoreVO
>
storeList
;
private
List
<
HmLinkStoreVO
>
storeList
;
private
Long
otherChatHmId
;
private
Long
otherChatHmId
;
private
List
<
HmLinkChatVO
>
linkChatList
;
private
List
<
HmLinkChatVO
>
linkChatList
;
// [{"type":1服务门店2协管3lbs4指定人群,"open":1}]
private
String
chatStoreRule
;
public
String
getChatStoreRule
()
{
return
chatStoreRule
;
}
public
void
setChatStoreRule
(
String
chatStoreRule
)
{
this
.
chatStoreRule
=
chatStoreRule
;
}
public
Long
getOtherChatHmId
()
{
public
Long
getOtherChatHmId
()
{
return
otherChatHmId
;
return
otherChatHmId
;
...
...
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/vo/moment/HaobanQwMomentPlanVO.java
View file @
dfbe4484
...
@@ -141,6 +141,25 @@ public class HaobanQwMomentPlanVO implements Serializable {
...
@@ -141,6 +141,25 @@ public class HaobanQwMomentPlanVO implements Serializable {
*/
*/
private
Integer
mediaLinkFlag
;
private
Integer
mediaLinkFlag
;
private
Integer
analyseFlag
;
private
Integer
analyseDay
;
public
Integer
getAnalyseFlag
()
{
return
analyseFlag
;
}
public
void
setAnalyseFlag
(
Integer
analyseFlag
)
{
this
.
analyseFlag
=
analyseFlag
;
}
public
Integer
getAnalyseDay
()
{
return
analyseDay
;
}
public
void
setAnalyseDay
(
Integer
analyseDay
)
{
this
.
analyseDay
=
analyseDay
;
}
public
Integer
getMediaLinkFlag
()
{
public
Integer
getMediaLinkFlag
()
{
return
mediaLinkFlag
;
return
mediaLinkFlag
;
}
}
...
...
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/vo/moment/MomentDataClickVO.java
0 → 100644
View file @
dfbe4484
package
com
.
gic
.
haoban
.
manage
.
web
.
vo
.
moment
;
import
com.fasterxml.jackson.databind.annotation.JsonSerialize
;
import
com.gic.web.common.jsonSeralizer.CardNoJsonSeralizer
;
import
com.gic.web.common.jsonSeralizer.PhoneNumberJsonSeralizer
;
import
java.io.Serializable
;
public
class
MomentDataClickVO
implements
Serializable
{
private
String
mbrId
;
private
String
memberId
;
/**
* 会员名称
*/
private
String
memberName
;
private
String
memberImage
;
/**
* 会员昵称
*/
private
String
memberNick
;
@JsonSerialize
(
using
=
CardNoJsonSeralizer
.
class
)
private
String
memberCardNo
;
/**
* 会员手机号
*/
@JsonSerialize
(
using
=
PhoneNumberJsonSeralizer
.
class
)
private
String
memberPhone
;
private
String
storeId
;
private
String
clerkId
;
private
String
clerkCode
;
private
String
clerkName
;
private
String
storeName
;
private
String
storeCode
;
/**
* 浏览时长
*/
private
Integer
dur
;
/**
* 浏览时间
*/
private
String
clickTime
;
/**
* 1:非会员 2:会员已注销 3:正常
*/
private
Integer
memberScene
;
public
String
getStoreId
()
{
return
storeId
;
}
public
void
setStoreId
(
String
storeId
)
{
this
.
storeId
=
storeId
;
}
public
String
getClerkId
()
{
return
clerkId
;
}
public
void
setClerkId
(
String
clerkId
)
{
this
.
clerkId
=
clerkId
;
}
public
Integer
getMemberScene
()
{
return
memberScene
;
}
public
void
setMemberScene
(
Integer
memberScene
)
{
this
.
memberScene
=
memberScene
;
}
public
String
getMbrId
()
{
return
mbrId
;
}
public
void
setMbrId
(
String
mbrId
)
{
this
.
mbrId
=
mbrId
;
}
public
String
getMemberId
()
{
return
memberId
;
}
public
void
setMemberId
(
String
memberId
)
{
this
.
memberId
=
memberId
;
}
public
String
getMemberName
()
{
return
memberName
;
}
public
void
setMemberName
(
String
memberName
)
{
this
.
memberName
=
memberName
;
}
public
String
getMemberImage
()
{
return
memberImage
;
}
public
void
setMemberImage
(
String
memberImage
)
{
this
.
memberImage
=
memberImage
;
}
public
String
getMemberNick
()
{
return
memberNick
;
}
public
void
setMemberNick
(
String
memberNick
)
{
this
.
memberNick
=
memberNick
;
}
public
String
getMemberCardNo
()
{
return
memberCardNo
;
}
public
void
setMemberCardNo
(
String
memberCardNo
)
{
this
.
memberCardNo
=
memberCardNo
;
}
public
String
getMemberPhone
()
{
return
memberPhone
;
}
public
void
setMemberPhone
(
String
memberPhone
)
{
this
.
memberPhone
=
memberPhone
;
}
public
String
getClerkCode
()
{
return
clerkCode
;
}
public
void
setClerkCode
(
String
clerkCode
)
{
this
.
clerkCode
=
clerkCode
;
}
public
String
getClerkName
()
{
return
clerkName
;
}
public
void
setClerkName
(
String
clerkName
)
{
this
.
clerkName
=
clerkName
;
}
public
String
getStoreName
()
{
return
storeName
;
}
public
void
setStoreName
(
String
storeName
)
{
this
.
storeName
=
storeName
;
}
public
String
getStoreCode
()
{
return
storeCode
;
}
public
void
setStoreCode
(
String
storeCode
)
{
this
.
storeCode
=
storeCode
;
}
public
Integer
getDur
()
{
return
dur
;
}
public
void
setDur
(
Integer
dur
)
{
this
.
dur
=
dur
;
}
public
String
getClickTime
()
{
return
clickTime
;
}
public
void
setClickTime
(
String
clickTime
)
{
this
.
clickTime
=
clickTime
;
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/vo/moment/MomentDataMemberVO.java
0 → 100644
View file @
dfbe4484
package
com
.
gic
.
haoban
.
manage
.
web
.
vo
.
moment
;
import
com.fasterxml.jackson.databind.annotation.JsonSerialize
;
import
com.gic.web.common.jsonSeralizer.CardNoJsonSeralizer
;
import
com.gic.web.common.jsonSeralizer.PhoneNumberJsonSeralizer
;
import
java.io.Serializable
;
public
class
MomentDataMemberVO
implements
Serializable
{
private
String
mbrId
;
private
String
memberId
;
/**
* 会员名称
*/
private
String
memberName
;
private
String
memberImage
;
/**
* 会员昵称
*/
private
String
memberNick
;
@JsonSerialize
(
using
=
CardNoJsonSeralizer
.
class
)
private
String
memberCardNo
;
/**
* 会员手机号
*/
@JsonSerialize
(
using
=
PhoneNumberJsonSeralizer
.
class
)
private
String
memberPhone
;
private
String
storeId
;
private
String
clerkId
;
private
String
clerkCode
;
private
String
clerkName
;
private
String
storeName
;
private
String
storeCode
;
/**
* 转化金额
*/
private
Double
matlConvsAmt
;
/**
* 1:非会员 2:会员已注销 3:正常
*/
private
Integer
memberScene
;
public
String
getStoreId
()
{
return
storeId
;
}
public
void
setStoreId
(
String
storeId
)
{
this
.
storeId
=
storeId
;
}
public
String
getClerkId
()
{
return
clerkId
;
}
public
void
setClerkId
(
String
clerkId
)
{
this
.
clerkId
=
clerkId
;
}
public
Integer
getMemberScene
()
{
return
memberScene
;
}
public
void
setMemberScene
(
Integer
memberScene
)
{
this
.
memberScene
=
memberScene
;
}
public
String
getMbrId
()
{
return
mbrId
;
}
public
void
setMbrId
(
String
mbrId
)
{
this
.
mbrId
=
mbrId
;
}
public
String
getMemberId
()
{
return
memberId
;
}
public
void
setMemberId
(
String
memberId
)
{
this
.
memberId
=
memberId
;
}
public
String
getMemberName
()
{
return
memberName
;
}
public
void
setMemberName
(
String
memberName
)
{
this
.
memberName
=
memberName
;
}
public
String
getMemberImage
()
{
return
memberImage
;
}
public
void
setMemberImage
(
String
memberImage
)
{
this
.
memberImage
=
memberImage
;
}
public
String
getMemberNick
()
{
return
memberNick
;
}
public
void
setMemberNick
(
String
memberNick
)
{
this
.
memberNick
=
memberNick
;
}
public
String
getMemberCardNo
()
{
return
memberCardNo
;
}
public
void
setMemberCardNo
(
String
memberCardNo
)
{
this
.
memberCardNo
=
memberCardNo
;
}
public
String
getMemberPhone
()
{
return
memberPhone
;
}
public
void
setMemberPhone
(
String
memberPhone
)
{
this
.
memberPhone
=
memberPhone
;
}
public
String
getClerkCode
()
{
return
clerkCode
;
}
public
void
setClerkCode
(
String
clerkCode
)
{
this
.
clerkCode
=
clerkCode
;
}
public
String
getClerkName
()
{
return
clerkName
;
}
public
void
setClerkName
(
String
clerkName
)
{
this
.
clerkName
=
clerkName
;
}
public
String
getStoreName
()
{
return
storeName
;
}
public
void
setStoreName
(
String
storeName
)
{
this
.
storeName
=
storeName
;
}
public
String
getStoreCode
()
{
return
storeCode
;
}
public
void
setStoreCode
(
String
storeCode
)
{
this
.
storeCode
=
storeCode
;
}
public
Double
getMatlConvsAmt
()
{
return
matlConvsAmt
;
}
public
void
setMatlConvsAmt
(
Double
matlConvsAmt
)
{
this
.
matlConvsAmt
=
matlConvsAmt
;
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/vo/moment/MomentDataOrderVO.java
0 → 100644
View file @
dfbe4484
package
com
.
gic
.
haoban
.
manage
.
web
.
vo
.
moment
;
import
com.fasterxml.jackson.databind.annotation.JsonSerialize
;
import
com.gic.web.common.jsonSeralizer.CardNoJsonSeralizer
;
import
com.gic.web.common.jsonSeralizer.PhoneNumberJsonSeralizer
;
import
java.io.Serializable
;
public
class
MomentDataOrderVO
implements
Serializable
{
private
String
mbrId
;
private
String
memberId
;
/**
* 会员名称
*/
private
String
memberName
;
private
String
memberImage
;
/**
* 会员昵称
*/
private
String
memberNick
;
@JsonSerialize
(
using
=
CardNoJsonSeralizer
.
class
)
private
String
memberCardNo
;
/**
* 会员手机号
*/
@JsonSerialize
(
using
=
PhoneNumberJsonSeralizer
.
class
)
private
String
memberPhone
;
/**
* 订单渠道
*/
private
String
channelCode
;
private
String
channelName
;
/**
* 订单编号
*/
private
String
orderCode
;
/**
* 实付金额
*/
private
Double
matlConvsAmt
;
/**
* 消费门店
*/
private
String
orderStoreId
;
private
String
orderStoreName
;
private
String
orderStoreCode
;
/**
* 订单时间
*/
private
String
orderTime
;
/**
* 1:非会员 2:会员已注销 3:正常
*/
private
Integer
memberScene
;
public
Integer
getMemberScene
()
{
return
memberScene
;
}
public
void
setMemberScene
(
Integer
memberScene
)
{
this
.
memberScene
=
memberScene
;
}
public
String
getMbrId
()
{
return
mbrId
;
}
public
void
setMbrId
(
String
mbrId
)
{
this
.
mbrId
=
mbrId
;
}
public
String
getMemberId
()
{
return
memberId
;
}
public
void
setMemberId
(
String
memberId
)
{
this
.
memberId
=
memberId
;
}
public
String
getMemberName
()
{
return
memberName
;
}
public
void
setMemberName
(
String
memberName
)
{
this
.
memberName
=
memberName
;
}
public
String
getMemberImage
()
{
return
memberImage
;
}
public
void
setMemberImage
(
String
memberImage
)
{
this
.
memberImage
=
memberImage
;
}
public
String
getMemberNick
()
{
return
memberNick
;
}
public
void
setMemberNick
(
String
memberNick
)
{
this
.
memberNick
=
memberNick
;
}
public
String
getMemberCardNo
()
{
return
memberCardNo
;
}
public
void
setMemberCardNo
(
String
memberCardNo
)
{
this
.
memberCardNo
=
memberCardNo
;
}
public
String
getMemberPhone
()
{
return
memberPhone
;
}
public
void
setMemberPhone
(
String
memberPhone
)
{
this
.
memberPhone
=
memberPhone
;
}
public
String
getChannelCode
()
{
return
channelCode
;
}
public
void
setChannelCode
(
String
channelCode
)
{
this
.
channelCode
=
channelCode
;
}
public
String
getChannelName
()
{
return
channelName
;
}
public
void
setChannelName
(
String
channelName
)
{
this
.
channelName
=
channelName
;
}
public
String
getOrderCode
()
{
return
orderCode
;
}
public
void
setOrderCode
(
String
orderCode
)
{
this
.
orderCode
=
orderCode
;
}
public
Double
getMatlConvsAmt
()
{
return
matlConvsAmt
;
}
public
void
setMatlConvsAmt
(
Double
matlConvsAmt
)
{
this
.
matlConvsAmt
=
matlConvsAmt
;
}
public
String
getOrderStoreId
()
{
return
orderStoreId
;
}
public
void
setOrderStoreId
(
String
orderStoreId
)
{
this
.
orderStoreId
=
orderStoreId
;
}
public
String
getOrderStoreName
()
{
return
orderStoreName
;
}
public
void
setOrderStoreName
(
String
orderStoreName
)
{
this
.
orderStoreName
=
orderStoreName
;
}
public
String
getOrderStoreCode
()
{
return
orderStoreCode
;
}
public
void
setOrderStoreCode
(
String
orderStoreCode
)
{
this
.
orderStoreCode
=
orderStoreCode
;
}
public
String
getOrderTime
()
{
return
orderTime
;
}
public
void
setOrderTime
(
String
orderTime
)
{
this
.
orderTime
=
orderTime
;
}
}
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/vo/moment/MomentDataVO.java
0 → 100644
View file @
dfbe4484
package
com
.
gic
.
haoban
.
manage
.
web
.
vo
.
moment
;
import
java.io.Serializable
;
public
class
MomentDataVO
implements
Serializable
{
/**
* 点击数
*/
private
Integer
matlClickCnt
;
/**
* 点击会员数
*/
private
Integer
matlClickMbrNum
;
/**
* 转化金额
*/
private
Double
matlConvsAmt
;
/**
* 转化会员数
*/
private
Integer
matlConvsMbrNum
;
public
Integer
getMatlClickCnt
()
{
return
matlClickCnt
;
}
public
void
setMatlClickCnt
(
Integer
matlClickCnt
)
{
this
.
matlClickCnt
=
matlClickCnt
;
}
public
Integer
getMatlClickMbrNum
()
{
return
matlClickMbrNum
;
}
public
void
setMatlClickMbrNum
(
Integer
matlClickMbrNum
)
{
this
.
matlClickMbrNum
=
matlClickMbrNum
;
}
public
Double
getMatlConvsAmt
()
{
return
matlConvsAmt
;
}
public
void
setMatlConvsAmt
(
Double
matlConvsAmt
)
{
this
.
matlConvsAmt
=
matlConvsAmt
;
}
public
Integer
getMatlConvsMbrNum
()
{
return
matlConvsMbrNum
;
}
public
void
setMatlConvsMbrNum
(
Integer
matlConvsMbrNum
)
{
this
.
matlConvsMbrNum
=
matlConvsMbrNum
;
}
}
haoban-manage3-wx/src/main/java/com/gic/haoban/manage/web/controller/WxEnterpriseInfoController.java
View file @
dfbe4484
...
@@ -229,7 +229,7 @@ public class WxEnterpriseInfoController extends WebBaseController {
...
@@ -229,7 +229,7 @@ public class WxEnterpriseInfoController extends WebBaseController {
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
wellDoneLoginInfoVo
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
,
wellDoneLoginInfoVo
);
}
}
if
(
StringUtils
.
isNotBlank
(
loginStaff
.
getPhoneNumber
())
||
StringUtils
.
isNotBlank
(
loginStaff
.
getWxOpenUseId
()))
{
if
(
StringUtils
.
isNotBlank
(
loginStaff
.
getPhoneNumber
())
||
StringUtils
.
isNotBlank
(
loginStaff
.
getWxOpenUseId
())
||
StringUtils
.
isNotBlank
(
loginStaff
.
getWxUserId
())
)
{
DictDTO
loginUserDict
=
managerDictService
.
getSMSDict
(
"app_login_phone_num"
,
loginStaff
.
getPhoneNumber
());
DictDTO
loginUserDict
=
managerDictService
.
getSMSDict
(
"app_login_phone_num"
,
loginStaff
.
getPhoneNumber
());
if
(
null
==
loginUserDict
)
{
if
(
null
==
loginUserDict
)
{
loginUserDict
=
managerDictService
.
getSMSDict
(
"app_login_phone_num"
,
loginStaff
.
getWxOpenUseId
());
loginUserDict
=
managerDictService
.
getSMSDict
(
"app_login_phone_num"
,
loginStaff
.
getWxOpenUseId
());
...
...
haoban-manage3-wx/src/main/java/com/gic/haoban/manage/web/qo/content/ContentMaterialShareQO.java
View file @
dfbe4484
...
@@ -71,6 +71,29 @@ public class ContentMaterialShareQO implements Serializable {
...
@@ -71,6 +71,29 @@ public class ContentMaterialShareQO implements Serializable {
// 营销时间(任务创建时间)
// 营销时间(任务创建时间)
private
String
marketingTime
;
private
String
marketingTime
;
// 1朋友圈
private
int
planType
;
// 生成素材的活动id
private
String
planId
;
public
int
getPlanType
()
{
return
planType
;
}
public
void
setPlanType
(
int
planType
)
{
this
.
planType
=
planType
;
}
public
String
getPlanId
()
{
return
planId
;
}
public
void
setPlanId
(
String
planId
)
{
this
.
planId
=
planId
;
}
public
Long
getCanvasId
()
{
public
Long
getCanvasId
()
{
return
canvasId
;
return
canvasId
;
}
}
...
...
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