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
40e1d8bd
Commit
40e1d8bd
authored
Apr 16, 2020
by
qwmqiuwenmin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix
parent
adc8e94b
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
164 additions
and
1 deletions
+164
-1
MemberUnionidRelatedApiService.java
...an/manage/api/service/MemberUnionidRelatedApiService.java
+2
-0
MemberUnionidRelatedApiServiceImpl.java
.../service/out/impl/MemberUnionidRelatedApiServiceImpl.java
+144
-0
ClerkController.java
...com/gic/haoban/manage/web/controller/ClerkController.java
+18
-1
No files found.
haoban-manage3-api/src/main/java/com/gic/haoban/manage/api/service/MemberUnionidRelatedApiService.java
View file @
40e1d8bd
...
...
@@ -19,4 +19,6 @@ public interface MemberUnionidRelatedApiService {
List
<
MemberStoreDTO
>
listByExTernalUseridAndWxUserId
(
String
externalUserid
,
String
wxUserId
);
String
add
(
String
wxEnterpriseId
,
String
selfExternalUserId
,
String
userId1
);
}
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/MemberUnionidRelatedApiServiceImpl.java
View file @
40e1d8bd
...
...
@@ -29,10 +29,12 @@ import com.gic.haoban.manage.api.dto.DepartmentDTO;
import
com.gic.haoban.manage.api.dto.MemberStoreDTO
;
import
com.gic.haoban.manage.api.dto.MemberUnionidRelatedDTO
;
import
com.gic.haoban.manage.api.dto.StaffDepartmentRelatedDTO
;
import
com.gic.haoban.manage.api.dto.WxEnterpriseDTO
;
import
com.gic.haoban.manage.api.service.DepartmentApiService
;
import
com.gic.haoban.manage.api.service.MemberUnionidRelatedApiService
;
import
com.gic.haoban.manage.api.service.StaffDepartmentRelatedApiService
;
import
com.gic.haoban.manage.api.service.WxEnterpriseApiService
;
import
com.gic.haoban.manage.service.config.Config
;
import
com.gic.haoban.manage.service.dao.mapper.MemberUnionidRelatedMapper
;
import
com.gic.haoban.manage.service.entity.MemberUnionidRelated
;
import
com.gic.haoban.manage.service.entity.TabHaobanStaff
;
...
...
@@ -96,6 +98,9 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
@Autowired
private
ESDataDynamicOperationApiService
eSDataDynamicOperationApiService
;
@Autowired
private
Config
config
;
@Override
public
List
<
MemberStoreDTO
>
listByExTernalUseridAndWxUserId
(
String
externalUserid
,
String
wxUserId
)
{
List
<
MemberUnionidRelated
>
list
=
memberUnionidRelatedMapper
.
listByExTernalUseridAndWxUserId
(
externalUserid
,
wxUserId
);
...
...
@@ -383,6 +388,145 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
// }
return
""
;
}
@Override
public
String
add
(
String
wxEnterpriseId
,
String
selfExternalUserId
,
String
userId1
)
{
WxEnterpriseDTO
wxEnterprise
=
wxEnterpriseService
.
selectById
(
wxEnterpriseId
);
if
(
wxEnterprise
==
null
){
return
""
;
}
List
<
TabHaobanWxEnterpriseRelated
>
list
=
wxEnterpriseRelatedService
.
getByWxEnterpriseId
(
wxEnterprise
.
getWxEnterpriseId
());
String
unionIdJson
=
qywxUserApiService
.
getCorpSelfExternalUseridInfo
(
wxEnterprise
.
getCorpid
(),
wxEnterprise
.
getWxSecretKey
(),
selfExternalUserId
);
String
externalUserId
=
""
;
// String uJ = qywxUserApiService.getExternalUseridInfo(wxEnterprise.getCorpid(), config.getSuiteId(), externalUserId);
// if(StringUtils.isNotBlank(uJ)){
// JSONObject jo = JSON.parseObject(unionIdJson);
// String external_contact = jo.getString("external_contact");
// String uj_follow_user = jo.getString("follow_user");
// if(StringUtils.isNotBlank(uj_follow_user)){
// JSONArray j = JSON.parseArray(uj_follow_user);
// String uj_userId = "";
// for (Object object : j) {
// String followJson = JSON.toJSONString(object);
// JSONObject follow = JSON.parseObject(followJson);
// uj_userId = follow.getString("userid");
// if(uj_userId.equals(userId1)){
//
// }
// }
// }
// }
MemberUnionidRelatedDTO
dto
=
new
MemberUnionidRelatedDTO
();
log
.
info
(
"【新增外部联系人回调】unionIdJson={}"
,
JSON
.
toJSONString
(
unionIdJson
));
String
unionId
=
""
;
String
name
=
""
;
String
follow_user
=
""
;
String
createTime
=
""
;
String
userId
=
""
;
String
avatar
=
""
;
String
relaName
=
""
;
if
(
StringUtils
.
isNotBlank
(
unionIdJson
)){
JSONObject
jo
=
JSON
.
parseObject
(
unionIdJson
);
String
external_contact
=
jo
.
getString
(
"external_contact"
);
if
(
StringUtils
.
isNotBlank
(
external_contact
)){
JSONObject
jt
=
JSON
.
parseObject
(
external_contact
);
unionId
=
jt
.
getString
(
"unionid"
);
name
=
EmojiFilterUtil
.
filterEmojiLast
(
jt
.
getString
(
"name"
),
true
);
relaName
=
EmojiFilterUtil
.
filterEmojiLast
(
jt
.
getString
(
"name"
),
true
);
avatar
=
jt
.
getString
(
"avatar"
);
}
follow_user
=
jo
.
getString
(
"follow_user"
);
if
(
StringUtils
.
isNotBlank
(
follow_user
)){
JSONArray
j
=
JSON
.
parseArray
(
follow_user
);
for
(
Object
object
:
j
)
{
String
followJson
=
JSON
.
toJSONString
(
object
);
JSONObject
follow
=
JSON
.
parseObject
(
followJson
);
userId
=
follow
.
getString
(
"userid"
);
if
(
userId
.
equals
(
userId1
)){
createTime
=
follow
.
getString
(
"createtime"
);
}
}
}
}
for
(
TabHaobanWxEnterpriseRelated
tabHaobanWxEnterpriseRelated
:
list
)
{
String
key
=
"external"
+
tabHaobanWxEnterpriseRelated
.
getEnterpriseId
()
+
"_"
+
userId1
+
"_"
+
name
+
"_"
+
createTime
;
RedisUtil
.
lock
(
key
,
2
l
);
dto
.
setWxEnterpriseId
(
tabHaobanWxEnterpriseRelated
.
getWxEnterpriseId
());
dto
.
setEnterpriseId
(
tabHaobanWxEnterpriseRelated
.
getEnterpriseId
());
MemberDTO
member
=
null
;
TabHaobanStaff
staff
=
staffService
.
selectByUserIdAndEnterpriseId
(
userId1
,
tabHaobanWxEnterpriseRelated
.
getWxEnterpriseId
());
if
(
staff
==
null
){
continue
;
}
List
<
StaffDepartmentRelatedDTO
>
relatedList
=
staffDepartmentRelatedApiService
.
listByStaffId
(
staff
.
getStaffId
());
log
.
info
(
"【部门list】staffId={}"
,
staff
.
getStaffId
());
List
<
StaffDepartmentRelatedDTO
>
rList
=
new
ArrayList
<
StaffDepartmentRelatedDTO
>();
for
(
StaffDepartmentRelatedDTO
staffDepartmentRelatedDTO
:
relatedList
)
{
DepartmentDTO
depart
=
departmentApiService
.
selectById
(
staffDepartmentRelatedDTO
.
getDepartmentId
());
log
.
info
(
"【部门list】depart={},deparmentId={}"
,
JSON
.
toJSONString
(
depart
),
staffDepartmentRelatedDTO
.
getDepartmentId
());
if
(
depart
!=
null
&&
tabHaobanWxEnterpriseRelated
!=
null
&&
depart
.
getEnterpriseId
()
!=
null
&&
tabHaobanWxEnterpriseRelated
.
getEnterpriseId
()
!=
null
){
log
.
info
(
"【部门list】enterpriseId={},enterpriseId2={}"
,
depart
.
getEnterpriseId
(),
tabHaobanWxEnterpriseRelated
.
getEnterpriseId
());
if
(
depart
.
getEnterpriseId
().
equals
(
tabHaobanWxEnterpriseRelated
.
getEnterpriseId
())){
rList
.
add
(
staffDepartmentRelatedDTO
);
}
}
}
log
.
info
(
"【部门list】rList={}"
,
JSON
.
toJSONString
(
rList
));
//DepartmentDTO departmentDTO =
String
clerkCode
=
""
;
if
(!
rList
.
isEmpty
()){
for
(
StaffDepartmentRelatedDTO
staffDepartmentRelatedDTO
:
rList
)
{
clerkCode
=
staffDepartmentRelatedDTO
.
getClerkCode
();
if
(
StringUtils
.
isNotBlank
(
clerkCode
)){
break
;
}
}
}
ClerkDTO
clerk
=
clerkService
.
getClerkByClerkCode
(
tabHaobanWxEnterpriseRelated
.
getEnterpriseId
(),
clerkCode
);
log
.
info
(
"【新增外部联系人】clerkCode={}"
,
clerkCode
);
if
(
clerk
!=
null
&&
StringUtils
.
isNotBlank
(
clerk
.
getQrcodeParam
())){
log
.
info
(
"【新增外部联系人会员】enterpriseId={},unionId={},name={},avatar={},QrcodeParam={}"
,
tabHaobanWxEnterpriseRelated
.
getEnterpriseId
(),
unionId
,
name
,
avatar
,
clerk
.
getQrcodeParam
());
member
=
memberOpenCardBusinessService
.
getMemberByQywxChannelParam
(
tabHaobanWxEnterpriseRelated
.
getEnterpriseId
(),
unionId
,
""
,
relaName
,
avatar
,
clerk
.
getQrcodeParam
());
}
log
.
info
(
"【新增外部联系人】member={},clerk={}"
,
JSON
.
toJSONString
(
member
),
JSON
.
toJSONString
(
clerk
));
if
(
member
!=
null
){
dto
.
setMemberId
(
member
.
getMemberId
());
}
dto
.
setExternalUserid
(
externalUserId
);
dto
.
setUnionid
(
unionId
);
dto
.
setExternalName
(
name
);
dto
.
setAddCreateTime
(
createTime
);
if
(
StringUtils
.
isBlank
(
unionId
)){
return
""
;
}
dto
.
setSuiteid
(
wxEnterprise
.
getWxSecretKey
());
MemberUnionidRelatedDTO
exsitDTO
=
memberUnionRelatedService
.
getByParams
(
userId
,
tabHaobanWxEnterpriseRelated
.
getEnterpriseId
(),
name
,
createTime
);
String
uuid
=
""
;
if
(
exsitDTO
==
null
){
dto
.
setUnionid
(
unionId
);
dto
.
setMemberId
(
dto
.
getMemberId
());
//更新对外联系人id
dto
.
setSelfExternalUserid
(
selfExternalUserId
);
memberUnionRelatedService
.
update
(
exsitDTO
);
uuid
=
exsitDTO
.
getMemberUnionidRelatedId
();
uuid
=
memberUnionRelatedService
.
addMemberUnionidRelated
(
dto
);
}
else
{
return
""
;
}
}
return
""
;
}
@Override
public
void
delMemberUnionidRelated
(
MemberUnionidRelatedDTO
dto
)
{
memberUnionRelatedService
.
delMemberUnionidRelated
(
dto
);
...
...
haoban-manage3-wx/src/main/java/com/gic/haoban/manage/web/controller/ClerkController.java
View file @
40e1d8bd
...
...
@@ -17,6 +17,7 @@ import cn.hutool.core.collection.CollectionUtil;
import
com.alibaba.csp.sentinel.util.StringUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.gic.clerk.api.dto.ClerkDTO
;
import
com.gic.clerk.api.service.ClerkService
;
...
...
@@ -31,12 +32,14 @@ import com.gic.haoban.base.api.common.ServiceResponse;
import
com.gic.haoban.common.utils.HaobanResponse
;
import
com.gic.haoban.communicate.api.service.SyncHaobanToGicServiceApi
;
import
com.gic.haoban.manage.api.dto.DepartmentDTO
;
import
com.gic.haoban.manage.api.dto.MemberUnionidRelatedDTO
;
import
com.gic.haoban.manage.api.dto.StaffDTO
;
import
com.gic.haoban.manage.api.dto.StaffDepartmentRelatedDTO
;
import
com.gic.haoban.manage.api.dto.WxEnterpriseDTO
;
import
com.gic.haoban.manage.api.service.BindApiService
;
import
com.gic.haoban.manage.api.service.ClerkMainStoreRelatedApiService
;
import
com.gic.haoban.manage.api.service.DepartmentApiService
;
import
com.gic.haoban.manage.api.service.MemberUnionidRelatedApiService
;
import
com.gic.haoban.manage.api.service.StaffApiService
;
import
com.gic.haoban.manage.api.service.StaffDepartmentRelatedApiService
;
import
com.gic.haoban.manage.api.service.WxEnterpriseApiService
;
...
...
@@ -74,6 +77,8 @@ public class ClerkController extends WebBaseController{
private
QywxUserApiService
qywxUserApiService
;
@Autowired
private
WxEnterpriseApiService
wxEnterpriseApiService
;
@Autowired
private
MemberUnionidRelatedApiService
memberUnionidRelatedApiService
;
//导购列表
@RequestMapping
(
"/clerk-list"
)
...
...
@@ -349,7 +354,19 @@ public class ClerkController extends WebBaseController{
String
res
=
qywxUserApiService
.
listSelfExternalUserid
(
enterprise
.
getCorpid
(),
enterprise
.
getWxSecretKey
(),
staff
.
getWxUserId
());
JSONObject
json
=
JSON
.
parseObject
(
res
);
if
(
"0"
.
equals
(
json
.
getString
(
"errcode"
))){
String
external_userid
=
json
.
getString
(
"external_userid"
);
JSONArray
jsonArr
=
json
.
getJSONArray
(
external_userid
);
List
<
MemberUnionidRelatedDTO
>
list
=
memberUnionidRelatedApiService
.
getByWxUserIdAndWxEnterpriseId
(
wxUserId
,
wxEnterpriseId
);
List
<
String
>
externalUserIdList
=
list
.
stream
().
map
(
student
->
student
.
getExternalUserid
())
.
collect
(
Collectors
.
toList
());
for
(
Object
object
:
jsonArr
)
{
if
(
externalUserIdList
.
contains
(
object
.
toString
())){
continue
;
}
else
{
//String string = qywxUserApiService.getCorpSelfExternalUseridInfo(enterprise.getCorpid(), enterprise.getWxSecretKey(), object.toString());
memberUnionidRelatedApiService
.
add
(
wxEnterpriseId
,
object
.
toString
(),
wxUserId
);
}
}
}
}
else
{
return
resultResponse
(
HaoBanErrCode
.
ERR_10011
);
...
...
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