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
b20d1531
Commit
b20d1531
authored
Jul 18, 2022
by
guojx
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/developer' into developer
parents
f3cbbd55
a28e277f
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
81 additions
and
36 deletions
+81
-36
HmLinkApiServiceImpl.java
...age/service/service/out/impl/hm/HmLinkApiServiceImpl.java
+54
-20
HmQrcodeApiServiceImpl.java
...e/service/service/out/impl/hm/HmQrcodeApiServiceImpl.java
+16
-16
LoginController.java
...com/gic/haoban/manage/web/controller/LoginController.java
+1
-0
HmLinkController.java
...gic/haoban/manage/web/controller/hm/HmLinkController.java
+1
-0
HmLinkVO.java
...c/main/java/com/gic/haoban/manage/web/vo/hm/HmLinkVO.java
+9
-0
No files found.
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/hm/HmLinkApiServiceImpl.java
View file @
b20d1531
...
...
@@ -33,6 +33,8 @@ import com.gic.haoban.manage.api.dto.hm.HmPageDTO;
import
com.gic.haoban.manage.api.dto.qdto.hm.HmLinkSearchQDTO
;
import
com.gic.haoban.manage.api.service.hm.HmLinkApiService
;
import
com.gic.haoban.manage.service.config.Config
;
import
com.gic.haoban.manage.service.dao.mapper.TabHaobanExternalClerkRelatedMapper
;
import
com.gic.haoban.manage.service.entity.TabHaobanExternalClerkRelated
;
import
com.gic.haoban.manage.service.errorcode.HaoBanErrCode
;
import
com.gic.haoban.manage.service.pojo.bo.hm.HmLinkBO
;
import
com.gic.haoban.manage.service.pojo.bo.hm.HmPageBO
;
...
...
@@ -84,6 +86,8 @@ public class HmLinkApiServiceImpl implements HmLinkApiService {
private
HmPageService
hmPageService
;
@Autowired
private
HmQrcodeTempService
hmQrcodeTempService
;
@Autowired
private
TabHaobanExternalClerkRelatedMapper
tabHaobanExternalClerkRelatedMapper
;
@Override
public
ServiceResponse
<
String
>
getHmLinkUrl
()
{
...
...
@@ -222,7 +226,6 @@ public class HmLinkApiServiceImpl implements HmLinkApiService {
memberId
=
mobileMemberId
;
}
}
System
.
out
.
println
(
""
);
log
.
info
(
"小程序获取活码memberId={}"
,
memberId
);
if
(
StringUtils
.
isNotBlank
(
memberId
))
{
MemberDataDTO
member
=
this
.
getMemberClerk
(
enterpriseId
,
memberId
);
...
...
@@ -240,6 +243,8 @@ public class HmLinkApiServiceImpl implements HmLinkApiService {
// 协管门店
List
<
MemberStoreClerkDataDTO
>
list
=
member
.
getStoreClerkRel
();
if
(
null
==
hm
&&
null
!=
xgStore
&&
CollectionUtils
.
isNotEmpty
(
list
))
{
// 排序协管导购
list
=
this
.
sortMemberClerk
(
list
);
List
<
String
>
storeIdList
=
new
ArrayList
<>();
// 协管导购
for
(
MemberStoreClerkDataDTO
item
:
list
)
{
...
...
@@ -298,17 +303,32 @@ public class HmLinkApiServiceImpl implements HmLinkApiService {
}
}
if
(
null
!=
hm
)
{
KeyDataLinkBO
bo
=
new
KeyDataLinkBO
();
bo
.
setUnionid
(
unionid
);
bo
.
setLinkId
(
linkId
);
bo
.
setHmId
(
hm
.
getHmId
());
String
dthmKey
=
this
.
keyDataService
.
saveDataForLink
(
enterpriseId
,
bo
);
if
(
null
!=
dthmKey
)
{
ServiceResponse
<
String
>
addResp
=
this
.
addQrcode
(
hm
,
dthmKey
,
wxEnterpriseDTO
.
getCorpid
(),
retDTO
);
if
(!
addResp
.
isSuccess
())
{
// 判断是否已经是好友
boolean
isFriend
=
false
;
if
(
null
!=
memberId
)
{
String
staffId
=
hm
.
getStaffId
();
TabHaobanExternalClerkRelated
friend
=
tabHaobanExternalClerkRelatedMapper
.
getByMemberIdAndStaffId
(
staffId
,
enterpriseId
,
memberId
);
if
(
null
!=
friend
)
{
isFriend
=
true
;
log
.
info
(
"已经是好友,staffid={},memberId={}"
,
staffId
,
memberId
);
retDTO
.
setHmQrcode
(
hm
.
getWxQrcode
());
}
else
{
retDTO
.
setHmQrcode
(
addResp
.
getResult
());
}
}
if
(!
isFriend
)
{
KeyDataLinkBO
bo
=
new
KeyDataLinkBO
();
bo
.
setUnionid
(
unionid
);
bo
.
setLinkId
(
linkId
);
bo
.
setHmId
(
hm
.
getHmId
());
String
dthmKey
=
this
.
keyDataService
.
saveDataForLink
(
enterpriseId
,
bo
);
if
(
null
!=
dthmKey
)
{
ServiceResponse
<
String
>
addResp
=
this
.
addQrcode
(
hm
,
dthmKey
,
wxEnterpriseDTO
.
getCorpid
(),
retDTO
);
if
(!
addResp
.
isSuccess
())
{
retDTO
.
setHmQrcode
(
hm
.
getWxQrcode
());
}
else
{
retDTO
.
setHmQrcode
(
addResp
.
getResult
());
}
}
}
// 查询页面
...
...
@@ -322,10 +342,25 @@ public class HmLinkApiServiceImpl implements HmLinkApiService {
return
ServiceResponse
.
success
(
retDTO
);
}
private
List
<
MemberStoreClerkDataDTO
>
sortMemberClerk
(
List
<
MemberStoreClerkDataDTO
>
list
)
{
List
<
MemberStoreClerkDataDTO
>
retList
=
new
ArrayList
<>();
List
<
String
>
mainClerkIdList
=
new
ArrayList
<>();
List
<
MemberStoreClerkDataDTO
>
notMainClerkList
=
new
ArrayList
<>();
for
(
MemberStoreClerkDataDTO
item
:
retList
)
{
if
(
mainClerkIdList
.
contains
(
item
.
getClerkIdRel
()))
{
retList
.
add
(
item
);
}
else
{
notMainClerkList
.
add
(
item
);
}
}
retList
.
addAll
(
notMainClerkList
);
return
retList
;
}
// 创建活码
private
ServiceResponse
<
String
>
addQrcode
(
HmQrcodeBO
hm
,
String
key
,
String
corpid
,
HmLinkWxaDTO
retDTO
)
{
String
limitQrcode
=
this
.
limitIp
(
hm
)
;
if
(
StringUtils
.
isNotEmpty
(
limitQrcode
))
{
String
limitQrcode
=
this
.
limitIp
(
hm
);
if
(
StringUtils
.
isNotEmpty
(
limitQrcode
))
{
return
ServiceResponse
.
failure
(
HaoBanErrCode
.
ERR_OTHER
.
getCode
(),
"超限制数"
);
}
QywxExternalcontactDTO
paramsDTO
=
new
QywxExternalcontactDTO
();
...
...
@@ -352,21 +387,20 @@ public class HmLinkApiServiceImpl implements HmLinkApiService {
}
return
ServiceResponse
.
failure
(
HaoBanErrCode
.
ERR_OTHER
.
getCode
(),
"企微错误:"
+
dto
.
getErrmsg
());
}
private
String
limitIp
(
HmQrcodeBO
hm
)
{
String
ipKey
=
"hmadd:limit:ip"
;
String
ipKey
=
"hmadd:limit:ip"
;
int
ipLimitCount
=
1
;
RRateLimiter
rateLimiter
=
RedisUtil
.
getRedisClient
().
getRateLimiter
(
ipKey
);
rateLimiter
.
trySetRate
(
RateType
.
OVERALL
,
ipLimitCount
,
1
,
RateIntervalUnit
.
SECONDS
);
if
(
rateLimiter
.
tryAcquire
())
{
return
null
;
if
(
rateLimiter
.
tryAcquire
())
{
return
null
;
}
String
msg
=
"活码调用次数告警【ip】"
;
DingUtils
.
send
(
msg
,
false
);
return
hm
.
getWxQrcode
()
;
return
hm
.
getWxQrcode
();
}
private
HmQrcodeBO
getHmFromClerk
(
String
clerkId
,
String
wxEnterpriseId
)
{
if
(
StringUtils
.
isBlank
(
clerkId
)
||
"-1"
.
equals
(
clerkId
))
{
return
null
;
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/hm/HmQrcodeApiServiceImpl.java
View file @
b20d1531
...
...
@@ -51,6 +51,7 @@ import com.gic.member.tag.api.service.MemberTagApiService;
import
com.gic.redis.data.util.RedisUtil
;
import
com.gic.wechat.api.dto.qywx.response.QywxResponseDTO
;
import
com.gic.wechat.api.dto.qywx.welcome.QywxExternalcontactDTO
;
import
com.gic.wechat.api.dto.qywx.welcome.QywxExternalcontactResultDTO
;
import
com.gic.wechat.api.service.qywx.QywxUserApiService
;
import
com.github.pagehelper.PageHelper
;
import
com.github.pagehelper.PageInfo
;
...
...
@@ -105,7 +106,6 @@ public class HmQrcodeApiServiceImpl implements HmQrcodeApiService {
@Autowired
private
WelcomeService
welcomeService
;
@GicLogRecord
(
value
=
"新增员工活码-${#logContent}"
,
category
=
GicLogRecordCategoryEnum
.
HUOMA
,
optType
=
GicLogRecordOptTypeEnum
.
HUOMA_ADD
,
...
...
@@ -151,12 +151,12 @@ public class HmQrcodeApiServiceImpl implements HmQrcodeApiService {
}
qywxExternalcontactDTO
.
setUser
(
userIds
);
logger
.
info
(
"新增活码参数:{}"
,
JSON
.
toJSONString
(
qywxExternalcontactDTO
));
//
QywxExternalcontactResultDTO qywxExternalcontactResultDTO = qywxUserApiService.addContactWay(wxEnterpriseDTO.getCorpid(), config.getWxSuiteid(), qywxExternalcontactDTO);
//
if (qywxExternalcontactResultDTO.getErrcode() != 0) {
//
return ServiceResponse.failure(Convert.toStr(HaoBanErrCodeCommon.ERR_0.getCode()), "创建活码失败:" + qywxExternalcontactResultDTO.getErrmsg());
//
}
//
hmQrcodeQDTO.setWxQrcode(qywxExternalcontactResultDTO.getQr_code());
//
hmQrcodeQDTO.setWxConfigId(qywxExternalcontactResultDTO.getConfig_id());
QywxExternalcontactResultDTO
qywxExternalcontactResultDTO
=
qywxUserApiService
.
addContactWay
(
wxEnterpriseDTO
.
getCorpid
(),
config
.
getWxSuiteid
(),
qywxExternalcontactDTO
);
if
(
qywxExternalcontactResultDTO
.
getErrcode
()
!=
0
)
{
return
ServiceResponse
.
failure
(
Convert
.
toStr
(
HaoBanErrCodeCommon
.
ERR_0
.
getCode
()),
"创建活码失败:"
+
qywxExternalcontactResultDTO
.
getErrmsg
());
}
hmQrcodeQDTO
.
setWxQrcode
(
qywxExternalcontactResultDTO
.
getQr_code
());
hmQrcodeQDTO
.
setWxConfigId
(
qywxExternalcontactResultDTO
.
getConfig_id
());
int
saveResult
=
hmQrcodeService
.
insert
(
hmQrcodeQDTO
);
if
(
saveResult
==
1
)
{
// save welcome relation
...
...
@@ -194,7 +194,7 @@ public class HmQrcodeApiServiceImpl implements HmQrcodeApiService {
add
(
hmQrcodeQDTO
);
}
setLoggerContext
(
hmQrcodeQDTO
.
getEnterpriseId
(),
wxEnterpriseId
,
hmQrcodeQDTO
.
getCreatorId
(),
hmQrcodeQDTO
.
getCreatorName
());
GicLogRecordEvaluationContext
.
putAttribute
(
"logContent"
,
"【"
+
"批量创建数量"
+
clerkIdList
.
size
()
+
"】"
);
GicLogRecordEvaluationContext
.
putAttribute
(
"logContent"
,
"【"
+
"批量创建数量"
+
clerkIdList
.
size
()
+
"】"
);
return
ServiceResponse
.
success
();
}
...
...
@@ -212,8 +212,8 @@ public class HmQrcodeApiServiceImpl implements HmQrcodeApiService {
private
void
setLoggerContext
(
String
enterpriseId
,
String
wxEnterpriseId
,
String
userId
,
String
userName
)
{
GicLogRecordEvaluationContext
.
putAttribute
(
"enterpriseId"
,
enterpriseId
);
GicLogRecordEvaluationContext
.
putAttribute
(
"wxEnterpriseId"
,
wxEnterpriseId
);
GicLogRecordEvaluationContext
.
putAttribute
(
"userId"
,
userId
);
GicLogRecordEvaluationContext
.
putAttribute
(
"userName"
,
userName
);
GicLogRecordEvaluationContext
.
putAttribute
(
"userId"
,
StringUtils
.
isNotBlank
(
userId
)
?
userId
:
"0"
);
GicLogRecordEvaluationContext
.
putAttribute
(
"userName"
,
StringUtils
.
isNotBlank
(
userName
)
?
userName
:
"系统"
);
}
...
...
@@ -250,11 +250,11 @@ public class HmQrcodeApiServiceImpl implements HmQrcodeApiService {
return
ServiceResponse
.
failure
(
Convert
.
toStr
(
HaoBanErrCodeCommon
.
ERR_8
.
getCode
()),
"导购未关联好办"
);
}
qywxExternalcontactDTO
.
setUser
(
userIds
);
//
QywxResponseDTO qywxResponseDTO = qywxUserApiService.updateContactWay(wxEnterpriseDTO.getCorpid(), config.getWxSuiteid(), qywxExternalcontactDTO);
//
if (qywxResponseDTO.getErrcode() != 0) {
//
logger.error("更新企微活码失败");
//
return ServiceResponse.failure(Convert.toStr(HaoBanErrCodeCommon.ERR_0.getCode()), qywxResponseDTO.getErrmsg());
//
}
QywxResponseDTO
qywxResponseDTO
=
qywxUserApiService
.
updateContactWay
(
wxEnterpriseDTO
.
getCorpid
(),
config
.
getWxSuiteid
(),
qywxExternalcontactDTO
);
if
(
qywxResponseDTO
.
getErrcode
()
!=
0
)
{
logger
.
error
(
"更新企微活码失败"
);
return
ServiceResponse
.
failure
(
Convert
.
toStr
(
HaoBanErrCodeCommon
.
ERR_0
.
getCode
()),
qywxResponseDTO
.
getErrmsg
());
}
int
updateResult
=
hmQrcodeService
.
update
(
hmQrcodeQDTO
);
if
(
updateResult
==
1
)
{
...
...
@@ -316,7 +316,7 @@ public class HmQrcodeApiServiceImpl implements HmQrcodeApiService {
String
oldTagName
=
""
;
String
tagName
=
""
;
if
(
memberTagDTOOld
!=
null
)
{
oldTagName
=
memberTagDTOOld
.
getTagName
();
oldTagName
=
memberTagDTOOld
.
getTagName
();
}
if
(
memberTagDTO
!=
null
)
{
tagName
=
memberTagDTO
.
getTagName
();
...
...
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/controller/LoginController.java
View file @
b20d1531
...
...
@@ -474,6 +474,7 @@ public class LoginController extends WebBaseController {
loginUser
.
setRoleId
(
roleId
);
loginUser
.
setDepartAuth
(
clerk
.
getDepartAuth
());
loginUser
.
setBrandName
(
enterprise
.
getBrandName
());
loginUser
.
setClerkPhone
(
clerk
.
getPhoneNumber
())
;
AuthWebRequestUtil
.
setSessionUser
(
loginUser
);
AuthWebRequestUtil
.
setAppLoginUser
(
token
,
loginUser
);
boolean
flag
=
wxEnterpriseApiService
.
enterpriseIsOver
(
enterpriseId
);
...
...
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/controller/hm/HmLinkController.java
View file @
b20d1531
...
...
@@ -570,6 +570,7 @@ public class HmLinkController {
MemberTagItemDTO
tag
=
this
.
memberTagApiService
.
findMemberTagItem
(
memberLabelId
);
if
(
null
!=
tag
)
{
linkVO
.
setMemberLabelName
(
tag
.
getTagName
()
+
"-"
+
tag
.
getTagItemName
());
linkVO
.
setMemberLabelStatus
(
tag
.
getStatus
());
}
}
ServiceResponse
<
String
>
urlResp
=
this
.
hmLinkApiService
.
getHmLinkUrl
();
...
...
haoban-manage3-web/src/main/java/com/gic/haoban/manage/web/vo/hm/HmLinkVO.java
View file @
b20d1531
...
...
@@ -41,12 +41,21 @@ public class HmLinkVO implements Serializable {
/**会员活动标签*/
private
String
memberLabelId
;
private
String
memberLabelName
;
private
Integer
memberLabelStatus
;
/**0删除 1正常*/
private
Integer
statusFlag
;
private
String
shortCode
;
private
String
linkUrl
;
private
List
<
HmLinkStoreVO
>
storeList
;
public
Integer
getMemberLabelStatus
()
{
return
memberLabelStatus
;
}
public
void
setMemberLabelStatus
(
Integer
memberLabelStatus
)
{
this
.
memberLabelStatus
=
memberLabelStatus
;
}
public
String
getMemberLabelName
()
{
return
memberLabelName
;
}
...
...
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