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
de0b2d79
Commit
de0b2d79
authored
Apr 04, 2023
by
徐高华
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
欢迎语调整
parent
5154ffb9
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
328 additions
and
369 deletions
+328
-369
ExternalMemberLogDTO.java
...a/com/gic/haoban/manage/api/dto/ExternalMemberLogDTO.java
+94
-0
MemberUnionidRelatedApiService.java
...an/manage/api/service/MemberUnionidRelatedApiService.java
+8
-11
ExternalMemberLogMapper.java
...an/manage/service/dao/mapper/ExternalMemberLogMapper.java
+27
-0
TabHaobanExternalClerkRelatedMapper.java
...rvice/dao/mapper/TabHaobanExternalClerkRelatedMapper.java
+1
-12
TabExternalMemberLog.java
...ic/haoban/manage/service/entity/TabExternalMemberLog.java
+93
-0
ExternalMemberService.java
.../haoban/manage/service/service/ExternalMemberService.java
+12
-0
ExternalMemberServiceImpl.java
...anage/service/service/impl/ExternalMemberServiceImpl.java
+32
-0
ExternalClerkRelatedApiServiceImpl.java
.../service/out/impl/ExternalClerkRelatedApiServiceImpl.java
+2
-2
MemberUnionidRelatedApiServiceImpl.java
.../service/out/impl/MemberUnionidRelatedApiServiceImpl.java
+39
-332
TabHaobanExternalClerkRelatedMapper.xml
.../resources/mapper/TabHaobanExternalClerkRelatedMapper.xml
+4
-10
WxEnterpriseInfoController.java
...ban/manage/web/controller/WxEnterpriseInfoController.java
+16
-2
No files found.
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/dto/ExternalMemberLogDTO.java
0 → 100644
View file @
de0b2d79
package
com
.
gic
.
haoban
.
manage
.
api
.
dto
;
import
java.io.Serializable
;
/**
*
* @ClassName: TabHaobanExternalMemberLog
* @Description: TODO
* @Author 徐高华
* @Date 2023年04月04日 10:19:47
* @Modify
* @CopyRight
*/
public
class
ExternalMemberLogDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1709395027793900L
;
private
Long
logId
;
private
String
enterpriseId
;
private
String
unionid
;
private
String
relationKey
;
private
Integer
deleteFlag
;
private
java
.
util
.
Date
createTime
;
private
java
.
util
.
Date
updateTime
;
/**1有效 0无效*/
private
Integer
statusFlag
;
private
String
memberId
;
public
String
getMemberId
()
{
return
memberId
;
}
public
void
setMemberId
(
String
memberId
)
{
this
.
memberId
=
memberId
;
}
public
void
setLogId
(
Long
logId
){
this
.
logId
=
logId
;
}
public
Long
getLogId
(){
return
logId
;
}
public
void
setEnterpriseId
(
String
enterpriseId
){
this
.
enterpriseId
=
enterpriseId
;
}
public
String
getEnterpriseId
(){
return
enterpriseId
;
}
public
void
setUnionid
(
String
unionid
){
this
.
unionid
=
unionid
;
}
public
String
getUnionid
(){
return
unionid
;
}
public
void
setRelationKey
(
String
relationKey
){
this
.
relationKey
=
relationKey
;
}
public
String
getRelationKey
(){
return
relationKey
;
}
public
void
setDeleteFlag
(
Integer
deleteFlag
){
this
.
deleteFlag
=
deleteFlag
;
}
public
Integer
getDeleteFlag
(){
return
deleteFlag
;
}
public
void
setCreateTime
(
java
.
util
.
Date
createTime
){
this
.
createTime
=
createTime
;
}
public
java
.
util
.
Date
getCreateTime
(){
return
createTime
;
}
public
void
setUpdateTime
(
java
.
util
.
Date
updateTime
){
this
.
updateTime
=
updateTime
;
}
public
java
.
util
.
Date
getUpdateTime
(){
return
updateTime
;
}
public
void
setStatusFlag
(
Integer
statusFlag
){
this
.
statusFlag
=
statusFlag
;
}
public
Integer
getStatusFlag
(){
return
statusFlag
;
}
}
\ No newline at end of file
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/service/MemberUnionidRelatedApiService.java
View file @
de0b2d79
...
@@ -215,17 +215,14 @@ public interface MemberUnionidRelatedApiService {
...
@@ -215,17 +215,14 @@ public interface MemberUnionidRelatedApiService {
* @date 2022-02-21 14:56:25
* @date 2022-02-21 14:56:25
*/
*/
void
addMemberUnionidWechatAccountByClerk
(
String
res
);
void
addMemberUnionidWechatAccountByClerk
(
String
res
);
/**
/**
* 事件订阅test
*
*
* @Title: saveExternalMemberLog
* @param param 参数
* @Description: 欢迎语业务
* @author mozhu
* @author xugh
* @date 2022-09-09 14:18:34
* @param memberLog
* @throws
*/
*/
//无效接口
void
saveExternalMemberLog
(
ExternalMemberLogDTO
memberLog
);
// void addDelFriendEventTest(String param);
}
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/dao/mapper/ExternalMemberLogMapper.java
0 → 100644
View file @
de0b2d79
package
com
.
gic
.
haoban
.
manage
.
service
.
dao
.
mapper
;
import
org.apache.ibatis.annotations.Param
;
import
com.gic.haoban.manage.service.entity.TabExternalMemberLog
;
/**
*
* @ClassName: TabHaobanExternalMemberLogMapper
* @Description: TODO
* @Author 徐高华
* @Date 2023年04月04日 10:19:47
* @Modify
* @CopyRight
*/
public
interface
ExternalMemberLogMapper
{
public
int
insert
(
TabExternalMemberLog
log
);
public
int
updateStatus
(
@Param
(
"enterpriseId"
)
String
enterpriseId
,
@Param
(
"unionid"
)
String
unionid
,
@Param
(
"statusFlag"
)
int
statusFlag
);
public
TabExternalMemberLog
selectUnionid
(
@Param
(
"enterpriseId"
)
String
enterpriseId
,
@Param
(
"unionid"
)
String
unionid
);
}
\ No newline at end of file
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/dao/mapper/TabHaobanExternalClerkRelatedMapper.java
View file @
de0b2d79
...
@@ -82,21 +82,10 @@ public interface TabHaobanExternalClerkRelatedMapper {
...
@@ -82,21 +82,10 @@ public interface TabHaobanExternalClerkRelatedMapper {
@Param
(
"unionId"
)
String
unionId
);
@Param
(
"unionId"
)
String
unionId
);
/**
/**
* 外部联系人的unionid
*
* @param enterpriseId
* @param unionId
* @return
*/
// TabHaobanExternalClerkRelated getClerkExternalByUnionId(@Param("enterpriseId") String enterpriseId,
// @Param("clerkId") String clerkId,
// @Param("unionId") String unionId);
/**
* @param relationKey
* @param relationKey
* @return
* @return
*/
*/
TabHaobanExternalClerkRelated
getByRelationKey
(
@Param
(
"relationKey"
)
String
relationKey
);
TabHaobanExternalClerkRelated
getByRelationKey
(
@Param
(
"relationKey"
)
String
relationKey
,
int
filterMember
);
/**
/**
* 列表数据 根据状态 时间倒序
* 列表数据 根据状态 时间倒序
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/entity/TabExternalMemberLog.java
0 → 100644
View file @
de0b2d79
package
com
.
gic
.
haoban
.
manage
.
service
.
entity
;
import
java.io.Serializable
;
/**
*
* @ClassName: TabHaobanExternalMemberLog
* @Description: TODO
* @Author 徐高华
* @Date 2023年04月04日 10:19:47
* @Modify
* @CopyRight
*/
public
class
TabExternalMemberLog
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1709395027793900L
;
private
Long
logId
;
private
String
enterpriseId
;
private
String
unionid
;
private
String
relationKey
;
private
Integer
deleteFlag
;
private
java
.
util
.
Date
createTime
;
private
java
.
util
.
Date
updateTime
;
/**1有效 0无效*/
private
Integer
statusFlag
;
private
String
memberId
;
public
String
getMemberId
()
{
return
memberId
;
}
public
void
setMemberId
(
String
memberId
)
{
this
.
memberId
=
memberId
;
}
public
void
setLogId
(
Long
logId
){
this
.
logId
=
logId
;
}
public
Long
getLogId
(){
return
logId
;
}
public
void
setEnterpriseId
(
String
enterpriseId
){
this
.
enterpriseId
=
enterpriseId
;
}
public
String
getEnterpriseId
(){
return
enterpriseId
;
}
public
void
setUnionid
(
String
unionid
){
this
.
unionid
=
unionid
;
}
public
String
getUnionid
(){
return
unionid
;
}
public
void
setRelationKey
(
String
relationKey
){
this
.
relationKey
=
relationKey
;
}
public
String
getRelationKey
(){
return
relationKey
;
}
public
void
setDeleteFlag
(
Integer
deleteFlag
){
this
.
deleteFlag
=
deleteFlag
;
}
public
Integer
getDeleteFlag
(){
return
deleteFlag
;
}
public
void
setCreateTime
(
java
.
util
.
Date
createTime
){
this
.
createTime
=
createTime
;
}
public
java
.
util
.
Date
getCreateTime
(){
return
createTime
;
}
public
void
setUpdateTime
(
java
.
util
.
Date
updateTime
){
this
.
updateTime
=
updateTime
;
}
public
java
.
util
.
Date
getUpdateTime
(){
return
updateTime
;
}
public
void
setStatusFlag
(
Integer
statusFlag
){
this
.
statusFlag
=
statusFlag
;
}
public
Integer
getStatusFlag
(){
return
statusFlag
;
}
}
\ No newline at end of file
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/ExternalMemberService.java
0 → 100644
View file @
de0b2d79
package
com
.
gic
.
haoban
.
manage
.
service
.
service
;
import
com.gic.haoban.manage.api.dto.ExternalMemberLogDTO
;
import
com.gic.haoban.manage.service.entity.TabExternalMemberLog
;
public
interface
ExternalMemberService
{
public
int
insert
(
ExternalMemberLogDTO
log
);
public
TabExternalMemberLog
selectUnionid
(
String
enterpriseId
,
String
unioinid
);
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/impl/ExternalMemberServiceImpl.java
0 → 100644
View file @
de0b2d79
package
com
.
gic
.
haoban
.
manage
.
service
.
service
.
impl
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
com.gic.commons.util.EntityUtil
;
import
com.gic.commons.util.UniqueIdUtils
;
import
com.gic.haoban.manage.api.dto.ExternalMemberLogDTO
;
import
com.gic.haoban.manage.service.dao.mapper.ExternalMemberLogMapper
;
import
com.gic.haoban.manage.service.entity.TabExternalMemberLog
;
import
com.gic.haoban.manage.service.service.ExternalMemberService
;
@Service
public
class
ExternalMemberServiceImpl
implements
ExternalMemberService
{
@Autowired
private
ExternalMemberLogMapper
externalMemberLogMapper
;
@Override
public
int
insert
(
ExternalMemberLogDTO
log
)
{
TabExternalMemberLog
entity
=
EntityUtil
.
changeEntity
(
TabExternalMemberLog
.
class
,
log
);
entity
.
setLogId
(
UniqueIdUtils
.
uniqueLong
());
this
.
externalMemberLogMapper
.
insert
(
entity
);
return
0
;
}
@Override
public
TabExternalMemberLog
selectUnionid
(
String
enterpriseId
,
String
unioinid
)
{
return
null
;
}
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/ExternalClerkRelatedApiServiceImpl.java
View file @
de0b2d79
...
@@ -132,7 +132,7 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA
...
@@ -132,7 +132,7 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA
@Override
@Override
public
ExternalClerkRelatedDTO
getExternalClerkByRelationKeyAndPre
(
String
relationKey
)
{
public
ExternalClerkRelatedDTO
getExternalClerkByRelationKeyAndPre
(
String
relationKey
)
{
TabHaobanExternalClerkRelated
related
=
tabHaobanExternalClerkRelatedMapper
.
getByRelationKey
(
relationKey
);
TabHaobanExternalClerkRelated
related
=
tabHaobanExternalClerkRelatedMapper
.
getByRelationKey
(
relationKey
,
0
);
return
EntityUtil
.
changeEntityNew
(
ExternalClerkRelatedDTO
.
class
,
related
);
return
EntityUtil
.
changeEntityNew
(
ExternalClerkRelatedDTO
.
class
,
related
);
}
}
...
@@ -166,7 +166,7 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA
...
@@ -166,7 +166,7 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA
@Override
@Override
public
ServiceResponse
<
ExternalClerkRelatedDTO
>
bindMemberIdExternalByRelationKey
(
String
relationKey
,
String
enterpriseId
,
String
memberId
,
String
unionid
)
{
public
ServiceResponse
<
ExternalClerkRelatedDTO
>
bindMemberIdExternalByRelationKey
(
String
relationKey
,
String
enterpriseId
,
String
memberId
,
String
unionid
)
{
ServiceResponse
<
ExternalClerkRelatedDTO
>
resp
=
new
ServiceResponse
<>();
ServiceResponse
<
ExternalClerkRelatedDTO
>
resp
=
new
ServiceResponse
<>();
TabHaobanExternalClerkRelated
externalClerkRelated
=
tabHaobanExternalClerkRelatedMapper
.
getByRelationKey
(
relationKey
);
TabHaobanExternalClerkRelated
externalClerkRelated
=
tabHaobanExternalClerkRelatedMapper
.
getByRelationKey
(
relationKey
,
1
);
if
(
null
==
externalClerkRelated
)
{
if
(
null
==
externalClerkRelated
)
{
log
.
error
(
"relationKey对应的关联关系不存在或删除:relationKey:{},memberId:{},unionid:{}"
,
relationKey
,
memberId
,
unionid
);
log
.
error
(
"relationKey对应的关联关系不存在或删除:relationKey:{},memberId:{},unionid:{}"
,
relationKey
,
memberId
,
unionid
);
resp
.
setCode
(
0
);
resp
.
setCode
(
0
);
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/MemberUnionidRelatedApiServiceImpl.java
View file @
de0b2d79
...
@@ -7,10 +7,8 @@ import java.util.HashMap;
...
@@ -7,10 +7,8 @@ import java.util.HashMap;
import
java.util.HashSet
;
import
java.util.HashSet
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
import
java.util.Objects
;
import
java.util.Set
;
import
java.util.Set
;
import
java.util.concurrent.TimeUnit
;
import
java.util.concurrent.TimeUnit
;
import
java.util.regex.Matcher
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.collections.CollectionUtils
;
...
@@ -22,7 +20,6 @@ import org.redisson.api.RRateLimiter;
...
@@ -22,7 +20,6 @@ import org.redisson.api.RRateLimiter;
import
org.redisson.api.RateIntervalUnit
;
import
org.redisson.api.RateIntervalUnit
;
import
org.redisson.api.RateType
;
import
org.redisson.api.RateType
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONArray
;
...
@@ -33,10 +30,7 @@ import com.gic.clerk.api.dto.ClerkDTO;
...
@@ -33,10 +30,7 @@ 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.commons.util.EntityUtil
;
import
com.gic.commons.util.GICMQClientUtil
;
import
com.gic.commons.util.GICMQClientUtil
;
import
com.gic.dubbo.entity.ProviderLocalTag
;
import
com.gic.enterprise.api.dto.QRcodeDTO
;
import
com.gic.enterprise.api.dto.StoreDTO
;
import
com.gic.enterprise.api.dto.StoreDTO
;
import
com.gic.enterprise.api.service.ImageService
;
import
com.gic.enterprise.api.service.StoreService
;
import
com.gic.enterprise.api.service.StoreService
;
import
com.gic.haoban.app.customer.dto.ChildDTO
;
import
com.gic.haoban.app.customer.dto.ChildDTO
;
import
com.gic.haoban.app.customer.dto.CustomerDTO
;
import
com.gic.haoban.app.customer.dto.CustomerDTO
;
...
@@ -50,26 +44,22 @@ import com.gic.haoban.common.utils.DingUtils;
...
@@ -50,26 +44,22 @@ import com.gic.haoban.common.utils.DingUtils;
import
com.gic.haoban.manage.api.constants.Manage3Constants
;
import
com.gic.haoban.manage.api.constants.Manage3Constants
;
import
com.gic.haoban.manage.api.dto.ContentMaterialDTO
;
import
com.gic.haoban.manage.api.dto.ContentMaterialDTO
;
import
com.gic.haoban.manage.api.dto.ExternalClerkRelatedDTO
;
import
com.gic.haoban.manage.api.dto.ExternalClerkRelatedDTO
;
import
com.gic.haoban.manage.api.dto.ExternalMemberLogDTO
;
import
com.gic.haoban.manage.api.dto.ExternalUserDTO
;
import
com.gic.haoban.manage.api.dto.ExternalUserDTO
;
import
com.gic.haoban.manage.api.dto.FriendStoreInfoDTO
;
import
com.gic.haoban.manage.api.dto.FriendStoreInfoDTO
;
import
com.gic.haoban.manage.api.dto.MemberStoreDTO
;
import
com.gic.haoban.manage.api.dto.MemberStoreDTO
;
import
com.gic.haoban.manage.api.dto.MemberUnionidRelatedDTO
;
import
com.gic.haoban.manage.api.dto.MemberUnionidRelatedDTO
;
import
com.gic.haoban.manage.api.dto.MemberUnionidWechatAccountQDTO
;
import
com.gic.haoban.manage.api.dto.MemberUnionidWechatAccountQDTO
;
import
com.gic.haoban.manage.api.dto.QwFrientNoticeDTO
;
import
com.gic.haoban.manage.api.dto.QwFrientNoticeDTO
;
import
com.gic.haoban.manage.api.dto.QywxErrorLogDTO
;
import
com.gic.haoban.manage.api.dto.SecretSettingDTO
;
import
com.gic.haoban.manage.api.dto.SecretSettingDTO
;
import
com.gic.haoban.manage.api.dto.StaffClerkRelationDTO
;
import
com.gic.haoban.manage.api.dto.StaffClerkRelationDTO
;
import
com.gic.haoban.manage.api.dto.WxEnterpriseQwDTO
;
import
com.gic.haoban.manage.api.dto.WxEnterpriseQwDTO
;
import
com.gic.haoban.manage.api.dto.hm.HmClerkRelationDTO
;
import
com.gic.haoban.manage.api.dto.hm.HmQrcodeDTO
;
import
com.gic.haoban.manage.api.dto.hm.HmQrcodeDTO
;
import
com.gic.haoban.manage.api.dto.qdto.hm.WxUserAddLogQDTO
;
import
com.gic.haoban.manage.api.dto.qdto.hm.WxUserAddLogQDTO
;
import
com.gic.haoban.manage.api.enums.SecretTypeEnum
;
import
com.gic.haoban.manage.api.enums.SecretTypeEnum
;
import
com.gic.haoban.manage.api.enums.WelcomeMediaTypeEnum
;
import
com.gic.haoban.manage.api.enums.hm.HmWelcomeReferType
;
import
com.gic.haoban.manage.api.service.CheckQywxSettingApiService
;
import
com.gic.haoban.manage.api.service.CheckQywxSettingApiService
;
import
com.gic.haoban.manage.api.service.ExternalClerkRelatedApiService
;
import
com.gic.haoban.manage.api.service.ExternalClerkRelatedApiService
;
import
com.gic.haoban.manage.api.service.MemberUnionidRelatedApiService
;
import
com.gic.haoban.manage.api.service.MemberUnionidRelatedApiService
;
import
com.gic.haoban.manage.api.service.hm.HmClerkRelationApiService
;
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
;
import
com.gic.haoban.manage.service.dao.mapper.StaffMapper
;
import
com.gic.haoban.manage.service.dao.mapper.StaffMapper
;
...
@@ -81,32 +71,27 @@ import com.gic.haoban.manage.service.entity.TabHaobanStaff;
...
@@ -81,32 +71,27 @@ import com.gic.haoban.manage.service.entity.TabHaobanStaff;
import
com.gic.haoban.manage.service.entity.TabHaobanWxApplication
;
import
com.gic.haoban.manage.service.entity.TabHaobanWxApplication
;
import
com.gic.haoban.manage.service.entity.TabHaobanWxEnterprise
;
import
com.gic.haoban.manage.service.entity.TabHaobanWxEnterprise
;
import
com.gic.haoban.manage.service.entity.TabHaobanWxEnterpriseRelated
;
import
com.gic.haoban.manage.service.entity.TabHaobanWxEnterpriseRelated
;
import
com.gic.haoban.manage.service.entity.TabMiniprogramSetting
;
import
com.gic.haoban.manage.service.exception.WxApiLimitException
;
import
com.gic.haoban.manage.service.exception.WxApiLimitException
;
import
com.gic.haoban.manage.service.pojo.DealQywxExternalUserPojo
;
import
com.gic.haoban.manage.service.pojo.DealQywxExternalUserPojo
;
import
com.gic.haoban.manage.service.pojo.ExternalUserPojo
;
import
com.gic.haoban.manage.service.pojo.ExternalUserPojo
;
import
com.gic.haoban.manage.service.pojo.QywxTagSyncInfoPojo
;
import
com.gic.haoban.manage.service.pojo.QywxTagSyncInfoPojo
;
import
com.gic.haoban.manage.service.pojo.bo.hm.HmLinkBO
;
import
com.gic.haoban.manage.service.pojo.bo.hm.HmLinkBO
;
import
com.gic.haoban.manage.service.pojo.bo.hm.KeyDataLinkBO
;
import
com.gic.haoban.manage.service.pojo.bo.hm.KeyDataLinkBO
;
import
com.gic.haoban.manage.service.pojo.bo.welcome.WelcomeDetailBO
;
import
com.gic.haoban.manage.service.pojo.bo.welcome.WelcomeMediaBO
;
import
com.gic.haoban.manage.service.pojo.bo.welcome.WelcomeReferBO
;
import
com.gic.haoban.manage.service.service.ClerkMainStoreRelatedService
;
import
com.gic.haoban.manage.service.service.ClerkMainStoreRelatedService
;
import
com.gic.haoban.manage.service.service.ExternalClerkRelatedService
;
import
com.gic.haoban.manage.service.service.ExternalClerkRelatedService
;
import
com.gic.haoban.manage.service.service.ExternalMemberService
;
import
com.gic.haoban.manage.service.service.KeyDataService
;
import
com.gic.haoban.manage.service.service.KeyDataService
;
import
com.gic.haoban.manage.service.service.MemberUnionRelatedService
;
import
com.gic.haoban.manage.service.service.MemberUnionRelatedService
;
import
com.gic.haoban.manage.service.service.MiniprogramSettingService
;
import
com.gic.haoban.manage.service.service.QywxSendService
;
import
com.gic.haoban.manage.service.service.QywxSendService
;
import
com.gic.haoban.manage.service.service.SecretSettingService
;
import
com.gic.haoban.manage.service.service.SecretSettingService
;
import
com.gic.haoban.manage.service.service.StaffClerkRelationService
;
import
com.gic.haoban.manage.service.service.StaffClerkRelationService
;
import
com.gic.haoban.manage.service.service.StaffService
;
import
com.gic.haoban.manage.service.service.StaffService
;
import
com.gic.haoban.manage.service.service.WelcomeService
;
import
com.gic.haoban.manage.service.service.WelcomeSe
ndSe
rvice
;
import
com.gic.haoban.manage.service.service.WxEnterpriseRelatedService
;
import
com.gic.haoban.manage.service.service.WxEnterpriseRelatedService
;
import
com.gic.haoban.manage.service.service.WxEnterpriseService
;
import
com.gic.haoban.manage.service.service.WxEnterpriseService
;
import
com.gic.haoban.manage.service.service.chat.GroupChatService
;
import
com.gic.haoban.manage.service.service.chat.GroupChatService
;
import
com.gic.haoban.manage.service.service.hm.HmLinkService
;
import
com.gic.haoban.manage.service.service.hm.HmLinkService
;
import
com.gic.haoban.manage.service.service.hm.WxUserAddLogService
;
import
com.gic.haoban.manage.service.service.hm.WxUserAddLogService
;
import
com.gic.haoban.manage.service.util.CommonUtil
;
import
com.gic.haoban.manage.service.util.EmojiFilterUtil
;
import
com.gic.haoban.manage.service.util.EmojiFilterUtil
;
import
com.gic.member.api.dto.MemberDTO
;
import
com.gic.member.api.dto.MemberDTO
;
import
com.gic.member.api.dto.MemberSimpleDetailDTO
;
import
com.gic.member.api.dto.MemberSimpleDetailDTO
;
...
@@ -122,14 +107,6 @@ import com.gic.member.tag.api.service.MemberTagOpenApiService;
...
@@ -122,14 +107,6 @@ import com.gic.member.tag.api.service.MemberTagOpenApiService;
import
com.gic.mq.sdk.GicMQClient
;
import
com.gic.mq.sdk.GicMQClient
;
import
com.gic.redis.data.util.RedisUtil
;
import
com.gic.redis.data.util.RedisUtil
;
import
com.gic.wechat.api.dto.qywx.UnionidToExternalUseridDTO
;
import
com.gic.wechat.api.dto.qywx.UnionidToExternalUseridDTO
;
import
com.gic.wechat.api.dto.qywx.welcome.QywxExternalMessageBaseDTO
;
import
com.gic.wechat.api.dto.qywx.welcome.QywxFileExternalBaseDTO
;
import
com.gic.wechat.api.dto.qywx.welcome.QywxImageExternalBaseDTO
;
import
com.gic.wechat.api.dto.qywx.welcome.QywxLinkExternalBaseDTO
;
import
com.gic.wechat.api.dto.qywx.welcome.QywxMiniprogramExternalBaseDTO
;
import
com.gic.wechat.api.dto.qywx.welcome.QywxVideoExternalBaseDTO
;
import
com.gic.wechat.api.dto.qywx.welcome.QywxWelcomeMsgDTO
;
import
com.gic.wechat.api.enums.QywxMediaTypeEnum
;
import
com.gic.wechat.api.service.qywx.QywxSuiteApiService
;
import
com.gic.wechat.api.service.qywx.QywxSuiteApiService
;
import
com.gic.wechat.api.service.qywx.QywxUserApiService
;
import
com.gic.wechat.api.service.qywx.QywxUserApiService
;
import
com.google.common.collect.Sets
;
import
com.google.common.collect.Sets
;
...
@@ -139,7 +116,6 @@ import cn.hutool.core.convert.Convert;
...
@@ -139,7 +116,6 @@ import cn.hutool.core.convert.Convert;
import
cn.hutool.core.util.NumberUtil
;
import
cn.hutool.core.util.NumberUtil
;
import
cn.hutool.crypto.SecureUtil
;
import
cn.hutool.crypto.SecureUtil
;
@Service
public
class
MemberUnionidRelatedApiServiceImpl
implements
MemberUnionidRelatedApiService
{
public
class
MemberUnionidRelatedApiServiceImpl
implements
MemberUnionidRelatedApiService
{
private
static
final
Logger
log
=
LogManager
.
getLogger
(
MemberUnionidRelatedApiServiceImpl
.
class
);
private
static
final
Logger
log
=
LogManager
.
getLogger
(
MemberUnionidRelatedApiServiceImpl
.
class
);
...
@@ -176,10 +152,6 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
...
@@ -176,10 +152,6 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
@Autowired
@Autowired
private
ExternalClerkRelatedService
externalClerkRelatedService
;
private
ExternalClerkRelatedService
externalClerkRelatedService
;
@Autowired
@Autowired
private
MiniprogramSettingService
miniprogramSettingService
;
@Autowired
private
WelcomeService
welcomeService
;
@Autowired
private
CheckQywxSettingApiService
checkQywxSettingApiService
;
private
CheckQywxSettingApiService
checkQywxSettingApiService
;
@Autowired
@Autowired
private
CustomerApiService
customerApiService
;
private
CustomerApiService
customerApiService
;
...
@@ -194,8 +166,6 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
...
@@ -194,8 +166,6 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
@Autowired
@Autowired
private
MemberStoreService
memberStoreService
;
private
MemberStoreService
memberStoreService
;
@Autowired
@Autowired
private
ImageService
imageService
;
@Autowired
private
HmQrcodeApiService
hmQrcodeApiService
;
private
HmQrcodeApiService
hmQrcodeApiService
;
@Autowired
@Autowired
private
WxUserAddLogService
wxUserAddLogService
;
private
WxUserAddLogService
wxUserAddLogService
;
...
@@ -208,8 +178,6 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
...
@@ -208,8 +178,6 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
@Autowired
@Autowired
private
MemberService
memberService
;
private
MemberService
memberService
;
@Autowired
@Autowired
private
HmClerkRelationApiService
hmClerkRelationApiService
;
@Autowired
private
StaffMapper
staffMapper
;
private
StaffMapper
staffMapper
;
@Autowired
@Autowired
private
MemberEntranceApiService
memberEntranceApiService
;
private
MemberEntranceApiService
memberEntranceApiService
;
...
@@ -217,9 +185,12 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
...
@@ -217,9 +185,12 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
private
QywxSendService
qywxSendService
;
private
QywxSendService
qywxSendService
;
@Autowired
@Autowired
private
GroupChatService
groupChatService
;
private
GroupChatService
groupChatService
;
@Autowired
private
WelcomeSendService
welcomeSendService
;
@Autowired
private
ExternalMemberService
externalMemberService
;
private
static
GicMQClient
clientInstance
=
GICMQClientUtil
.
getClientInstance
();
GicMQClient
instance
=
GICMQClientUtil
.
getClientInstance
();
@Override
@Override
public
void
dealQywxExternalUser
(
String
params
)
{
public
void
dealQywxExternalUser
(
String
params
)
{
...
@@ -384,19 +355,34 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
...
@@ -384,19 +355,34 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
DealQywxExternalUserPojo
dealQywxExternalUserPojo
=
new
DealQywxExternalUserPojo
();
DealQywxExternalUserPojo
dealQywxExternalUserPojo
=
new
DealQywxExternalUserPojo
();
dealQywxExternalUserPojo
.
setType
(
DealQywxExternalUserPojo
.
DealType
.
add
.
getType
());
dealQywxExternalUserPojo
.
setType
(
DealQywxExternalUserPojo
.
DealType
.
add
.
getType
());
dealQywxExternalUserPojo
.
setData
(
dto
);
dealQywxExternalUserPojo
.
setData
(
dto
);
this
.
sendWelcome
(
dto
);
GicMQClient
instance
=
GICMQClientUtil
.
getClientInstance
();
String
mqName
=
"dealQywxExternalUserMq"
;
String
mqName
=
"dealQywxExternalUserMq"
;
if
(
this
.
mqCheck
(
dto
))
{
if
(
this
.
mqCheck
(
dto
))
{
mqName
=
"dealQywxExternalUserMq2"
;
mqName
=
"dealQywxExternalUserMq2"
;
}
}
try
{
try
{
instance
.
sendMessage
(
mqName
,
JSONObject
.
toJSONString
(
dealQywxExternalUserPojo
));
instance
.
sendMessage
(
mqName
,
JSONObject
.
toJSONString
(
dealQywxExternalUserPojo
)
,
180
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
log
.
info
(
"异步处理异常:{}"
,
e
);
log
.
info
(
"异步处理异常:{}"
,
e
);
}
}
return
null
;
return
null
;
}
}
private
void
sendWelcome
(
QwFrientNoticeDTO
dto
)
{
String
suiteid
=
dto
.
getSuiteid
();
if
(
SELF_APP
.
equals
(
suiteid
))
{
return
;
}
if
(
StringUtils
.
isEmpty
(
dto
.
getWelcomeCode
()))
{
return
;
}
try
{
instance
.
sendMessage
(
"qywxWelcomeSendMQ"
,
JSONObject
.
toJSONString
(
dto
));
}
catch
(
Exception
e
)
{
log
.
info
(
"异步处理异常:{}"
,
e
);
}
}
// 加好友量大的迁移到mq2
// 加好友量大的迁移到mq2
private
boolean
mqCheck
(
QwFrientNoticeDTO
dto
)
{
private
boolean
mqCheck
(
QwFrientNoticeDTO
dto
)
{
int
maxCount
=
800
;
int
maxCount
=
800
;
...
@@ -423,7 +409,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
...
@@ -423,7 +409,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
if
(
"wp59NLDQAAtTbif_SxAixUQVqMld4vug"
.
equals
(
corpid
))
{
if
(
"wp59NLDQAAtTbif_SxAixUQVqMld4vug"
.
equals
(
corpid
))
{
maxCount
=
2
;
maxCount
=
2
;
}
}
log
.
info
(
"dealQywxExternalUserMq2={},{},{}"
,
wxEnterpriseId
,
times
,
maxCount
);
log
.
info
(
"dealQywxExternalUserMq2={},{},{}"
,
times
,
maxCount
,
wxEnterpriseId
);
if
(
times
>
maxCount
)
{
if
(
times
>
maxCount
)
{
if
(!
needToMq2
(
wxEnterpriseId
))
{
if
(!
needToMq2
(
wxEnterpriseId
))
{
log
.
info
(
"加好友计数发送告警,id={}"
,
wxEnterpriseId
);
log
.
info
(
"加好友计数发送告警,id={}"
,
wxEnterpriseId
);
...
@@ -537,7 +523,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
...
@@ -537,7 +523,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
return
;
return
;
}
}
memberLabelId
=
this
.
getMemberLabel
(
state
,
hmDTO
.
getMemberLabelId
(),
wxEnterpriseId
,
linkId
)
;
memberLabelId
=
this
.
getMemberLabel
(
state
,
hmDTO
.
getMemberLabelId
(),
wxEnterpriseId
,
linkId
)
;
hyClerkId
=
this
.
getHmClerk
(
hmDTO
,
wxEnterpriseId
,
staffId
)
;
hyClerkId
=
this
.
welcomeSendService
.
getHmClerk
(
hmDTO
,
wxEnterpriseId
,
staffId
)
;
if
(
StringUtils
.
isBlank
(
hyClerkId
))
{
if
(
StringUtils
.
isBlank
(
hyClerkId
))
{
log
.
info
(
"【新增外部联系人】hm未获取到导购,staffId={}"
,
staffId
);
log
.
info
(
"【新增外部联系人】hm未获取到导购,staffId={}"
,
staffId
);
return
;
return
;
...
@@ -548,7 +534,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
...
@@ -548,7 +534,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
TabHaobanClerkMainStoreRelated
mainStoreRelated
=
clerkMainStoreRelatedService
.
getMainStoreByStaffId
(
staffId
,
wxEnterpriseId
);
TabHaobanClerkMainStoreRelated
mainStoreRelated
=
clerkMainStoreRelatedService
.
getMainStoreByStaffId
(
staffId
,
wxEnterpriseId
);
if
(
mainStoreRelated
==
null
)
{
if
(
mainStoreRelated
==
null
)
{
log
.
info
(
"【新增外部联系人】主门店为空:staffId={}"
,
staffId
);
log
.
info
(
"【新增外部联系人】主门店为空:staffId={}"
,
staffId
);
this
.
sendWelcome
(
dto
,
qwDTO
,
null
,
staffId
,
null
,
null
);
//
this.sendWelcome(dto, qwDTO, null, staffId, null , null);
return
;
return
;
}
}
staffClerkRelationDTO
=
staffClerkRelationService
.
getOneBindByStoreId
(
staffId
,
mainStoreRelated
.
getStoreId
());
staffClerkRelationDTO
=
staffClerkRelationService
.
getOneBindByStoreId
(
staffId
,
mainStoreRelated
.
getStoreId
());
...
@@ -603,32 +589,6 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
...
@@ -603,32 +589,6 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
}
}
}
}
// 获取hm关联的导购
private
String
getHmClerk
(
HmQrcodeDTO
hmDTO
,
String
wxEnterpriseId
,
String
staffId
)
{
Long
hmId
=
hmDTO
.
getHmId
()
;
if
(
hmDTO
.
getHmType
()
==
1
)
{
return
hmDTO
.
getClerkId
()
;
}
else
if
(
hmDTO
.
getHmType
()
==
2
)
{
//有主门店导购绑定主导购,没有主门店导购绑定第一个导购,其余随机
HmClerkRelationDTO
hmClerkRelationDTO
=
null
;
TabHaobanClerkMainStoreRelated
mainStoreRelated
=
clerkMainStoreRelatedService
.
getMainStoreByStaffId
(
staffId
,
wxEnterpriseId
);
if
(
mainStoreRelated
!=
null
)
{
StaffClerkRelationDTO
relationDTO
=
staffClerkRelationService
.
getOneBindByStoreId
(
staffId
,
mainStoreRelated
.
getStoreId
());
hmClerkRelationDTO
=
hmClerkRelationApiService
.
getHmClerkByHmIdAndClerkId
(
hmId
,
relationDTO
.
getClerkId
());
if
(
hmClerkRelationDTO
==
null
)
{
hmClerkRelationDTO
=
hmClerkRelationApiService
.
getOneHmClerkByHmIdAndStaffId
(
hmId
,
staffId
);
if
(
hmClerkRelationDTO
==
null
)
{
hmClerkRelationDTO
=
hmClerkRelationApiService
.
getOneHmClerkByHmId
(
hmId
);
}
}
}
else
{
hmClerkRelationDTO
=
hmClerkRelationApiService
.
getOneHmClerkByHmId
(
hmId
);
}
return
hmClerkRelationDTO
.
getClerkId
()
;
}
return
null
;
}
// 获取hm配置的会员标签
// 获取hm配置的会员标签
private
String
getMemberLabel
(
String
state
,
String
hmMemberLableId
,
String
wxEnterpriseId
,
Long
linkId
)
{
private
String
getMemberLabel
(
String
state
,
String
hmMemberLableId
,
String
wxEnterpriseId
,
Long
linkId
)
{
if
(
state
.
startsWith
(
Manage3Constants
.
HM
))
{
if
(
state
.
startsWith
(
Manage3Constants
.
HM
))
{
...
@@ -713,7 +673,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
...
@@ -713,7 +673,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
}
}
String
storeId
=
staffClerkRelationDTO
.
getStoreId
();
String
storeId
=
staffClerkRelationDTO
.
getStoreId
();
this
.
saveExternalClerk
(
memberId
,
staffId
,
dto
,
staffClerkRelationDTO
,
1
);
this
.
saveExternalClerk
(
memberId
,
staffId
,
dto
,
staffClerkRelationDTO
,
1
);
this
.
sendWelcome
(
dto
,
qwDTO
,
enterpriseId
,
staffId
,
clerkId
,
memberId
);
//
this.sendWelcome(dto, qwDTO, enterpriseId, staffId, clerkId,memberId);
//同步好友标签
//同步好友标签
this
.
pushTagSync
(
memberId
,
wxEnterpriseId
,
enterpriseId
);
this
.
pushTagSync
(
memberId
,
wxEnterpriseId
,
enterpriseId
);
//回调给会员,更新是否为企微好友
//回调给会员,更新是否为企微好友
...
@@ -852,266 +812,11 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
...
@@ -852,266 +812,11 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
*/
*/
private
void
addFriendByWelcome
(
MemberUnionidRelatedDTO
dto
,
StaffClerkRelationDTO
staffClerkRelationDTO
,
WxEnterpriseQwDTO
qwDTO
)
{
private
void
addFriendByWelcome
(
MemberUnionidRelatedDTO
dto
,
StaffClerkRelationDTO
staffClerkRelationDTO
,
WxEnterpriseQwDTO
qwDTO
)
{
String
staffId
=
staffClerkRelationDTO
.
getStaffId
();
String
staffId
=
staffClerkRelationDTO
.
getStaffId
();
String
clerkId
=
staffClerkRelationDTO
.
getClerkId
();
String
enterpriseId
=
staffClerkRelationDTO
.
getEnterpriseId
();
//发送欢迎语
//发送欢迎语
sendWelcome
(
dto
,
qwDTO
,
enterpriseId
,
staffId
,
clerkId
,
null
);
//
sendWelcome(dto, qwDTO, enterpriseId, staffId, clerkId,null);
//保存好友关系
//保存好友关系
this
.
saveExternalClerk
(
null
,
staffId
,
dto
,
staffClerkRelationDTO
,
4
);
this
.
saveExternalClerk
(
null
,
staffId
,
dto
,
staffClerkRelationDTO
,
4
);
}
}
/**
* 发送欢迎语
*
* @param dto
* @param wxEnterpriseDTO
* @param enterpriseId
* @param staffId
*/
private
void
sendWelcome
(
MemberUnionidRelatedDTO
dto
,
WxEnterpriseQwDTO
wxEnterpriseDTO
,
String
enterpriseId
,
String
staffId
,
String
clerkId
,
String
memberId
)
{
log
.
info
(
"发送欢迎语:dto:{},staffId:{}"
,
JSONObject
.
toJSONString
(
dto
),
staffId
);
String
welcomeCode
=
dto
.
getWelcomeCode
();
String
state
=
dto
.
getState
();
String
wxEnterpriseId
=
wxEnterpriseDTO
.
getWxEnterpriseId
();
QywxErrorLogDTO
errLog
=
new
QywxErrorLogDTO
();
errLog
.
setWxEnterpriseId
(
wxEnterpriseId
);
errLog
.
setMemberId
(
memberId
);
errLog
.
setExternalUserId
(
dto
.
getExternalUserid
());
errLog
.
setTraceId
(
ProviderLocalTag
.
tag
.
get
().
traceId
);
errLog
.
setQywxErrorType
(
1
);
if
(
StringUtils
.
isBlank
(
welcomeCode
))
{
log
.
error
(
"welcomeCode为空,请检查是否使用企微的欢迎语:{}"
,
wxEnterpriseId
);
try
{
errLog
.
setScenario
(
"欢迎语"
);
errLog
.
setErrorContent
(
"welcomeCode空,GIC不处理,使用企微发送欢迎语"
);
clientInstance
.
sendMessage
(
Manage3Constants
.
QYWX_ERROR_MSG
,
JSON
.
toJSONString
(
errLog
));
}
catch
(
Exception
e
)
{
log
.
error
(
"发送消息失败:{}"
,
e
.
getMessage
(),
e
);
}
return
;
}
String
relationKey
=
SecureUtil
.
md5
(
staffId
+
dto
.
getExternalUserid
());
WelcomeDetailBO
welcomeDetailBO
=
null
;
if
(
StringUtils
.
isNotBlank
(
state
)
&&
(
state
.
startsWith
(
Manage3Constants
.
HM
)
||
state
.
startsWith
(
Manage3Constants
.
DT
)))
{
log
.
info
(
"特殊欢迎语 state:{}"
,
state
);
WelcomeReferBO
welcomeReferBo
=
getWelcomeReferBo
(
state
);
welcomeDetailBO
=
welcomeService
.
getMatchWelcomeWithReferId
(
staffId
,
wxEnterpriseId
,
welcomeReferBo
);
}
else
{
welcomeDetailBO
=
welcomeService
.
getMatchWelcome
(
staffId
,
wxEnterpriseId
);
}
if
(
Objects
.
isNull
(
welcomeDetailBO
))
{
log
.
info
(
"欢迎语未配置:wxEnterpriseId:{}"
,
wxEnterpriseId
);
return
;
}
//内容
String
content
=
welcomeDetailBO
.
getWelcomeContent
().
replaceAll
(
"<微信昵称>"
,
Matcher
.
quoteReplacement
(
dto
.
getExternalName
()));
QywxWelcomeMsgDTO
qywxWelcomeMsgDTO
=
new
QywxWelcomeMsgDTO
();
// 欢迎语内容
qywxWelcomeMsgDTO
.
setText
(
content
);
//欢迎语类型
List
<
QywxExternalMessageBaseDTO
>
attachments
=
new
ArrayList
<>();
// 开始设置欢迎语附件
List
<
WelcomeMediaBO
>
mediaList
=
welcomeDetailBO
.
getWelcomeMediaList
();
log
.
info
(
"欢迎语发送附件list:{}"
,
JSON
.
toJSONString
(
mediaList
));
mediaList
.
forEach
(
one
->
{
Integer
mediaType
=
one
.
getMediaType
();
if
(
WelcomeMediaTypeEnum
.
IMAGE
.
getCode
().
equals
(
mediaType
))
{
attachmentAddImage
(
attachments
,
one
,
wxEnterpriseDTO
.
getThirdCorpid
());
}
if
(
WelcomeMediaTypeEnum
.
VIDEO
.
getCode
().
equals
(
mediaType
))
{
attachmentAddVideo
(
attachments
,
one
,
wxEnterpriseDTO
.
getThirdCorpid
());
}
if
(
WelcomeMediaTypeEnum
.
FILE
.
getCode
().
equals
(
mediaType
))
{
attachmentAddFile
(
attachments
,
one
,
wxEnterpriseDTO
.
getThirdCorpid
());
}
if
(
WelcomeMediaTypeEnum
.
LINK
.
getCode
().
equals
(
mediaType
))
{
attachmentAddLink
(
attachments
,
one
);
}
if
(
WelcomeMediaTypeEnum
.
PROGRAM
.
getCode
().
equals
(
mediaType
))
{
attachmentAddProgram
(
attachments
,
one
,
wxEnterpriseId
);
}
if
(
WelcomeMediaTypeEnum
.
PARAM_PROGRAM
.
getCode
().
equals
(
mediaType
))
{
attachmentAddParamProgram
(
attachments
,
enterpriseId
,
wxEnterpriseId
,
relationKey
);
}
if
(
WelcomeMediaTypeEnum
.
PARAM_QRCODE
.
getCode
().
equals
(
mediaType
))
{
attachmentAddParamQrCode
(
attachments
,
enterpriseId
,
clerkId
,
wxEnterpriseDTO
.
getThirdCorpid
(),
relationKey
);
}
});
if
(
CollectionUtils
.
isNotEmpty
(
attachments
))
{
qywxWelcomeMsgDTO
.
setAttachments
(
attachments
);
}
qywxWelcomeMsgDTO
.
setWelcomeCode
(
welcomeCode
);
String
result
=
null
;
if
(
dto
.
getSuiteid
().
equals
(
SELF_APP
))
{
SecretSettingDTO
secretSetting
=
secretSettingService
.
getSecretSetting
(
dto
.
getWxEnterpriseId
(),
SecretTypeEnum
.
CUSTOMIZED_APP
.
getVal
());
result
=
qywxUserApiService
.
sendSelfWelcomeMsgByExternal
(
dto
.
getCorpid
(),
secretSetting
.
getSecretVal
(),
qywxWelcomeMsgDTO
);
}
else
{
result
=
qywxUserApiService
.
sendWelcomeMsgByExternal
(
dto
.
getCorpid
(),
config
.
getWxSuiteid
(),
qywxWelcomeMsgDTO
);
}
log
.
info
(
"发送欢迎语 params:{},返回={}"
,
JSON
.
toJSONString
(
qywxWelcomeMsgDTO
),
result
);
if
(
StringUtils
.
isNotBlank
(
result
))
{
JSONObject
json
=
JSON
.
parseObject
(
result
)
;
int
errcode
=
json
.
getIntValue
(
"errcode"
)
;
if
(
0
!=
errcode
)
{
try
{
errLog
.
setScenario
(
"欢迎语"
);
errLog
.
setErrorContent
(
result
);
clientInstance
.
sendMessage
(
Manage3Constants
.
QYWX_ERROR_MSG
,
JSON
.
toJSONString
(
errLog
));
}
catch
(
Exception
e
)
{
log
.
error
(
"发送消息失败:{}"
,
e
.
getMessage
(),
e
);
}
}
}
}
/**
* 获取链接或者活码id
*
* @param state
* @return
*/
private
WelcomeReferBO
getWelcomeReferBo
(
String
state
)
{
WelcomeReferBO
welcomeReferBo
=
new
WelcomeReferBO
();
String
id
=
state
.
substring
(
2
);
if
(
state
.
contains
(
Manage3Constants
.
HM
))
{
welcomeReferBo
.
setType
(
HmWelcomeReferType
.
HM
.
getCode
());
welcomeReferBo
.
setReferId
(
id
);
}
else
if
(
state
.
contains
(
Manage3Constants
.
DT
))
{
KeyDataLinkBO
dataForHmLink
=
keyDataService
.
getDataForHmLink
(
id
);
if
(
dataForHmLink
!=
null
)
{
welcomeReferBo
.
setType
(
HmWelcomeReferType
.
LINK
.
getCode
());
welcomeReferBo
.
setReferId
(
Convert
.
toStr
(
dataForHmLink
.
getLinkId
()));
}
}
return
welcomeReferBo
;
}
private
void
attachmentAddImage
(
List
<
QywxExternalMessageBaseDTO
>
attachments
,
WelcomeMediaBO
media
,
String
corpid
)
{
String
mediaUrl
=
media
.
getMediaUrl
();
String
[]
arr
=
mediaUrl
.
split
(
"/"
);
JSONResponse
jp
=
qywxSuiteApiService
.
uploadMedia
(
corpid
,
config
.
getWxSuiteid
(),
CommonUtil
.
getFileByte
(
mediaUrl
),
arr
[
arr
.
length
-
1
],
QywxMediaTypeEnum
.
IMAGE
.
getCode
());
log
.
info
(
"欢迎语发送图片返回:{}"
,
JSON
.
toJSONString
(
jp
));
if
(
jp
.
getErrorCode
()
==
0
)
{
QywxImageExternalBaseDTO
qywxImageExternalBaseDTO
=
new
QywxImageExternalBaseDTO
();
qywxImageExternalBaseDTO
.
setMediaId
(
jp
.
getResult
().
toString
());
attachments
.
add
(
qywxImageExternalBaseDTO
);
}
}
private
void
attachmentAddVideo
(
List
<
QywxExternalMessageBaseDTO
>
attachments
,
WelcomeMediaBO
media
,
String
corpid
)
{
String
mediaUrl
=
media
.
getMediaUrl
();
String
[]
arr
=
mediaUrl
.
split
(
"/"
);
JSONResponse
jp
=
qywxSuiteApiService
.
uploadMedia
(
corpid
,
config
.
getWxSuiteid
(),
CommonUtil
.
getFileByte
(
mediaUrl
),
arr
[
arr
.
length
-
1
],
QywxMediaTypeEnum
.
VIDEO
.
getCode
());
log
.
info
(
"欢迎语发送视频返回:{}"
,
JSON
.
toJSONString
(
jp
));
if
(
jp
.
getErrorCode
()
==
0
)
{
QywxVideoExternalBaseDTO
qywxVideoExternalBaseDTO
=
new
QywxVideoExternalBaseDTO
();
qywxVideoExternalBaseDTO
.
setMediaId
(
jp
.
getResult
().
toString
());
attachments
.
add
(
qywxVideoExternalBaseDTO
);
}
}
private
void
attachmentAddFile
(
List
<
QywxExternalMessageBaseDTO
>
attachments
,
WelcomeMediaBO
media
,
String
corpid
)
{
String
mediaUrl
=
media
.
getMediaUrl
();
String
[]
arr
=
mediaUrl
.
split
(
"/"
);
JSONResponse
jp
=
qywxSuiteApiService
.
uploadMedia
(
corpid
,
config
.
getWxSuiteid
(),
CommonUtil
.
getFileByte
(
mediaUrl
),
arr
[
arr
.
length
-
1
],
QywxMediaTypeEnum
.
FILE
.
getCode
());
log
.
info
(
"欢迎语发送文件返回:{}"
,
JSON
.
toJSONString
(
jp
));
if
(
jp
.
getErrorCode
()
==
0
)
{
QywxFileExternalBaseDTO
qywxFileExternalBaseDTO
=
new
QywxFileExternalBaseDTO
();
qywxFileExternalBaseDTO
.
setMediaId
(
jp
.
getResult
().
toString
());
attachments
.
add
(
qywxFileExternalBaseDTO
);
}
}
private
void
attachmentAddLink
(
List
<
QywxExternalMessageBaseDTO
>
attachments
,
WelcomeMediaBO
media
)
{
String
mediaTitle
=
media
.
getMediaTitle
();
String
mediaUrl
=
media
.
getMediaUrl
();
QywxLinkExternalBaseDTO
qywxLinkExternalBaseDTO
=
new
QywxLinkExternalBaseDTO
();
qywxLinkExternalBaseDTO
.
setTitle
(
mediaTitle
);
qywxLinkExternalBaseDTO
.
setUrl
(
mediaUrl
);
attachments
.
add
(
qywxLinkExternalBaseDTO
);
}
private
void
attachmentAddProgram
(
List
<
QywxExternalMessageBaseDTO
>
attachments
,
WelcomeMediaBO
media
,
String
wxEnterpriseId
)
{
log
.
info
(
"发送小程序:wxEnterpriseId:{}"
,
wxEnterpriseId
);
String
miniprogramSettingId
=
media
.
getMiniprogramSettingId
();
TabMiniprogramSetting
miniprogramSetting
=
miniprogramSettingService
.
getById
(
miniprogramSettingId
);
if
(
Objects
.
isNull
(
miniprogramSetting
)
||
miniprogramSetting
.
getStatusFlag
()
==
0
)
{
log
.
info
(
"小程序不存在或已被删除, miniprogramSettingId:{}"
,
miniprogramSettingId
);
return
;
}
QywxMiniprogramExternalBaseDTO
messageBaseDTO
=
new
QywxMiniprogramExternalBaseDTO
();
messageBaseDTO
.
setAppid
(
miniprogramSetting
.
getAppId
());
messageBaseDTO
.
setPicMediaId
(
miniprogramSetting
.
getMediaId
());
messageBaseDTO
.
setTitle
(
miniprogramSetting
.
getTitle
());
messageBaseDTO
.
setPage
(
media
.
getMiniProgramPage
());
attachments
.
add
(
messageBaseDTO
);
}
private
void
attachmentAddParamProgram
(
List
<
QywxExternalMessageBaseDTO
>
attachments
,
String
enterpriseId
,
String
wxEnterpriseId
,
String
relationKey
)
{
if
(
StringUtils
.
isEmpty
(
enterpriseId
)
||
StringUtils
.
isEmpty
(
relationKey
))
{
log
.
info
(
"带参二维码无法发送"
);
return
;
}
log
.
info
(
"发送带参小程序:wxEnterpriseId:{}"
,
wxEnterpriseId
);
//发送小程序
TabMiniprogramSetting
miniprogramSetting
=
miniprogramSettingService
.
getMiniprogramSetting
(
wxEnterpriseId
,
enterpriseId
);
if
(
null
==
miniprogramSetting
)
{
log
.
info
(
"需要配置小程序配置:wxEnterpriseId:{},enterpriseId:{}"
,
wxEnterpriseId
,
enterpriseId
);
return
;
}
QywxMiniprogramExternalBaseDTO
messageBaseDTO
=
new
QywxMiniprogramExternalBaseDTO
();
messageBaseDTO
.
setAppid
(
miniprogramSetting
.
getAppId
());
messageBaseDTO
.
setPicMediaId
(
miniprogramSetting
.
getMediaId
());
messageBaseDTO
.
setTitle
(
miniprogramSetting
.
getTitle
());
messageBaseDTO
.
setPage
(
config
.
getMemberOpenPage
()
+
relationKey
);
attachments
.
add
(
messageBaseDTO
);
}
private
void
attachmentAddParamQrCode
(
List
<
QywxExternalMessageBaseDTO
>
attachments
,
String
enterpriseId
,
String
clerkId
,
String
corpid
,
String
relationKey
)
{
if
(
StringUtils
.
isEmpty
(
enterpriseId
)
||
StringUtils
.
isEmpty
(
clerkId
))
{
log
.
info
(
"带参小程序无法发送"
);
return
;
}
//带参数的公众号二维码
String
sceneStr
=
"QWHY_"
+
relationKey
+
"_"
+
clerkId
;
//30天失效
QRcodeDTO
qRcodePic
=
imageService
.
getQRcodePic
(
enterpriseId
,
sceneStr
,
2592000
);
log
.
info
(
"参数的公众号二维码返回:{}"
,
JSON
.
toJSONString
(
qRcodePic
));
if
(
qRcodePic
!=
null
)
{
String
downloadUrl
=
qRcodePic
.
getPicUploadResDTO
().
downloadUrl
;
String
[]
arr
=
downloadUrl
.
split
(
"/"
);
JSONResponse
jp
=
qywxSuiteApiService
.
uploadMedia
(
corpid
,
config
.
getWxSuiteid
(),
CommonUtil
.
getFileByte
(
downloadUrl
),
arr
[
arr
.
length
-
1
],
QywxMediaTypeEnum
.
IMAGE
.
getCode
());
log
.
info
(
"欢迎语发送带参数的公众号企微二维码返回:{}"
,
JSON
.
toJSONString
(
jp
));
if
(
jp
.
getErrorCode
()
==
0
)
{
QywxImageExternalBaseDTO
qywxImageExternalBaseDTO
=
new
QywxImageExternalBaseDTO
();
qywxImageExternalBaseDTO
.
setMediaId
(
jp
.
getResult
().
toString
());
attachments
.
add
(
qywxImageExternalBaseDTO
);
}
}
}
/**
/**
* 组装数据
* 组装数据
*
*
...
@@ -1847,7 +1552,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
...
@@ -1847,7 +1552,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
}
}
String
[]
s
=
sceneStr
.
split
(
"_"
);
String
[]
s
=
sceneStr
.
split
(
"_"
);
String
relationKey
=
s
[
1
];
String
relationKey
=
s
[
1
];
TabHaobanExternalClerkRelated
externalClerkRelated
=
externalClerkRelatedMapper
.
getByRelationKey
(
relationKey
);
TabHaobanExternalClerkRelated
externalClerkRelated
=
externalClerkRelatedMapper
.
getByRelationKey
(
relationKey
,
1
);
if
(
externalClerkRelated
==
null
)
{
if
(
externalClerkRelated
==
null
)
{
log
.
error
(
"关注公共号-会员回调好办关联好友,未查询到,relationKey:{}"
,
relationKey
);
log
.
error
(
"关注公共号-会员回调好办关联好友,未查询到,relationKey:{}"
,
relationKey
);
//重试5次
//重试5次
...
@@ -1868,10 +1573,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
...
@@ -1868,10 +1573,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
externalClerkRelatedApiService
.
bindMemberIdExternalById
(
externalClerkRelated
.
getExternalClerkRelatedId
(),
enterpriseId
,
memberId
,
unionid
);
externalClerkRelatedApiService
.
bindMemberIdExternalById
(
externalClerkRelated
.
getExternalClerkRelatedId
(),
enterpriseId
,
memberId
,
unionid
);
}
}
// @Override
// public void addDelFriendEventTest(String param) {
// log.info("addDelFriendEventTest:{}", param);
// }
/**
/**
* 获取客户详情列表
* 获取客户详情列表
*
*
...
@@ -1935,6 +1637,11 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
...
@@ -1935,6 +1637,11 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
}
}
return
EntityUtil
.
changeEntityListByJSON
(
ExternalUserDTO
.
class
,
externalUserPojoList
);
return
EntityUtil
.
changeEntityListByJSON
(
ExternalUserDTO
.
class
,
externalUserPojoList
);
}
}
@Override
public
void
saveExternalMemberLog
(
ExternalMemberLogDTO
memberLog
)
{
this
.
externalMemberService
.
insert
(
memberLog
)
;
}
}
}
haoban-manage3-service/src/main/resources/mapper/TabHaobanExternalClerkRelatedMapper.xml
View file @
de0b2d79
...
@@ -392,22 +392,16 @@
...
@@ -392,22 +392,16 @@
and status_flag = 1
and status_flag = 1
</select>
</select>
<!-- <select id="getClerkExternalByUnionId" resultMap="BaseResultMap">-->
<!-- select-->
<!-- <include refid="Base_Column_List"/>-->
<!-- from tab_haoban_external_clerk_related-->
<!-- where enterprise_id = #{enterpriseId}-->
<!-- and unionid = #{unionId}-->
<!-- and clerk_id = #{clerkId}-->
<!-- and status_flag = 1-->
<!-- </select>-->
<select
id=
"getByRelationKey"
resultMap=
"BaseResultMap"
>
<select
id=
"getByRelationKey"
resultMap=
"BaseResultMap"
>
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
where
relation_key = #{relationKey} and member_id is null
relation_key = #{relationKey}
<if
test=
"filterMember==1"
>
and member_id is null
</if>
order by create_time desc limit 1
order by create_time desc limit 1
</select>
</select>
...
...
haoban-manage3-wx/src/main/java/com/gic/haoban/manage/web/controller/WxEnterpriseInfoController.java
View file @
de0b2d79
...
@@ -47,6 +47,7 @@ import com.gic.haoban.common.utils.HaobanResponse;
...
@@ -47,6 +47,7 @@ import com.gic.haoban.common.utils.HaobanResponse;
import
com.gic.haoban.manage.api.dto.ClerkMainStoreRelatedDTO
;
import
com.gic.haoban.manage.api.dto.ClerkMainStoreRelatedDTO
;
import
com.gic.haoban.manage.api.dto.EnterpriseDetailDTO
;
import
com.gic.haoban.manage.api.dto.EnterpriseDetailDTO
;
import
com.gic.haoban.manage.api.dto.ExternalClerkRelatedDTO
;
import
com.gic.haoban.manage.api.dto.ExternalClerkRelatedDTO
;
import
com.gic.haoban.manage.api.dto.ExternalMemberLogDTO
;
import
com.gic.haoban.manage.api.dto.ExternalUserDTO
;
import
com.gic.haoban.manage.api.dto.ExternalUserDTO
;
import
com.gic.haoban.manage.api.dto.MemberStoreDTO
;
import
com.gic.haoban.manage.api.dto.MemberStoreDTO
;
import
com.gic.haoban.manage.api.dto.MemberUnionidRelatedDTO
;
import
com.gic.haoban.manage.api.dto.MemberUnionidRelatedDTO
;
...
@@ -664,11 +665,24 @@ public class WxEnterpriseInfoController extends WebBaseController {
...
@@ -664,11 +665,24 @@ public class WxEnterpriseInfoController extends WebBaseController {
@IgnoreLogin
@IgnoreLogin
@RequestMapping
(
"member-bind-friend"
)
@RequestMapping
(
"member-bind-friend"
)
public
HaobanResponse
memberBindFriend
(
String
memberId
,
String
enterpriseId
,
String
unionid
,
String
relationKey
)
{
public
HaobanResponse
memberBindFriend
(
String
memberId
,
String
enterpriseId
,
String
unionid
,
String
relationKey
)
{
if
(
StringUtils
.
isAnyBlank
(
memberId
,
enterpriseId
,
relationKey
))
{
if
(
StringUtils
.
isAnyBlank
(
enterpriseId
,
relationKey
,
unionid
))
{
logger
.
info
(
"参数错误"
);
return
resultResponse
(
HaoBanErrCode
.
ERR_2
);
return
resultResponse
(
HaoBanErrCode
.
ERR_2
);
}
}
ExternalMemberLogDTO
memberLog
=
new
ExternalMemberLogDTO
()
;
memberLog
.
setEnterpriseId
(
enterpriseId
);
memberLog
.
setUnionid
(
unionid
);
memberLog
.
setRelationKey
(
relationKey
);
memberLog
.
setMemberId
(
memberId
);
if
(
StringUtils
.
isEmpty
(
memberId
))
{
this
.
memberUnionidRelatedApiService
.
saveExternalMemberLog
(
memberLog
)
;
return
resultResponse
(
HaoBanErrCode
.
ERR_1
);
}
ExternalClerkRelatedDTO
externalClerkRelatedDTO
=
externalClerkRelatedApiService
.
getExternalClerkByRelationKeyAndPre
(
relationKey
);
ExternalClerkRelatedDTO
externalClerkRelatedDTO
=
externalClerkRelatedApiService
.
getExternalClerkByRelationKeyAndPre
(
relationKey
);
if
(
externalClerkRelatedDTO
==
null
)
{
if
(
externalClerkRelatedDTO
==
null
||
StringUtils
.
isEmpty
(
externalClerkRelatedDTO
.
getMemberId
()))
{
if
(
null
==
externalClerkRelatedDTO
)
{
this
.
memberUnionidRelatedApiService
.
saveExternalMemberLog
(
memberLog
)
;
}
logger
.
info
(
"会员绑定好友,该会员已经绑定成功,无需再次绑定,memberId:{},enterpriseId:{},unionid:{},relationKey:{}"
,
memberId
,
enterpriseId
,
unionid
,
relationKey
);
logger
.
info
(
"会员绑定好友,该会员已经绑定成功,无需再次绑定,memberId:{},enterpriseId:{},unionid:{},relationKey:{}"
,
memberId
,
enterpriseId
,
unionid
,
relationKey
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
);
return
resultResponse
(
HaoBanErrCode
.
ERR_1
);
}
}
...
...
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