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
61bc1a68
Commit
61bc1a68
authored
Apr 01, 2020
by
qwmqiuwenmin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix
parent
e149fd0e
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
82 additions
and
3 deletions
+82
-3
MemberUnionidRelatedApiServiceImpl.java
.../service/out/impl/MemberUnionidRelatedApiServiceImpl.java
+4
-3
EmojiFilterUtil.java
...a/com/gic/haoban/manage/service/util/EmojiFilterUtil.java
+77
-0
MemberUnionidRelatedMapper.xml
.../src/main/resources/mapper/MemberUnionidRelatedMapper.xml
+1
-0
No files found.
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/service/out/impl/MemberUnionidRelatedApiServiceImpl.java
View file @
61bc1a68
...
...
@@ -34,6 +34,7 @@ import com.gic.haoban.manage.service.service.MemberUnionRelatedService;
import
com.gic.haoban.manage.service.service.StaffService
;
import
com.gic.haoban.manage.service.service.WxEnterpriseRelatedService
;
import
com.gic.haoban.manage.service.service.WxEnterpriseService
;
import
com.gic.haoban.manage.service.util.EmojiFilterUtil
;
import
com.gic.member.api.dto.MemberDTO
;
import
com.gic.member.api.service.MemberOpenCardBusinessService
;
import
com.gic.member.api.service.MemberService
;
...
...
@@ -113,8 +114,8 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
JSONObject
jt
=
JSON
.
parseObject
(
external_contact
);
unionId
=
jt
.
getString
(
"unionid"
);
name
=
MD5Utils
.
ToMD5
(
jt
.
getString
(
"name"
).
replace
(
"\\"
,
""
));
relaName
=
jt
.
getString
(
"name"
);
avatar
=
j
o
.
getString
(
"avatar"
);
relaName
=
EmojiFilterUtil
.
filterEmojiLast
(
jt
.
getString
(
"name"
),
true
);
avatar
=
j
t
.
getString
(
"avatar"
);
}
follow_user
=
jo
.
getString
(
"follow_user"
);
...
...
@@ -167,7 +168,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
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
,
null
,
n
ame
,
avatar
,
clerk
.
getQrcodeParam
());
member
=
memberOpenCardBusinessService
.
getMemberByQywxChannelParam
(
tabHaobanWxEnterpriseRelated
.
getEnterpriseId
(),
unionId
,
null
,
relaN
ame
,
avatar
,
clerk
.
getQrcodeParam
());
}
log
.
info
(
"【新增外部联系人】member={},clerk={}"
,
JSON
.
toJSONString
(
member
),
JSON
.
toJSONString
(
clerk
));
if
(
member
!=
null
){
...
...
haoban-manage3-service/src/main/java/com/gic/haoban/manage/service/util/EmojiFilterUtil.java
0 → 100644
View file @
61bc1a68
package
com
.
gic
.
haoban
.
manage
.
service
.
util
;
import
com.gic.commons.util.StringUtil
;
public
class
EmojiFilterUtil
{
/**
* @param isPharse 是否是短语 若是短语则 超过20字符编程*
*/
public
static
String
filterEmojiLast
(
String
content
,
boolean
isPhrase
)
{
byte
[]
conbyte
=
content
.
getBytes
();
for
(
int
i
=
0
;
i
<
conbyte
.
length
;
i
++)
{
if
((
conbyte
[
i
]
&
0xF8
)
==
0xF0
)
{
for
(
int
j
=
0
;
j
<
4
;
j
++)
{
conbyte
[
i
+
j
]
=
0x30
;
}
i
+=
3
;
}
}
content
=
new
String
(
conbyte
);
return
filterEmoji
(
content
.
replaceAll
(
"0000"
,
""
),
isPhrase
);
}
private
static
String
filterEmoji
(
String
source
,
boolean
isPhrase
)
{
if
(!
containsEmoji
(
source
))
{
return
source
;
// 如果不包含,直接返回
}
// 到这里铁定包含
StringBuilder
buf
=
null
;
int
len
=
source
.
length
();
if
(
len
>
20
&&
isPhrase
)
{
return
"*"
;
}
for
(
int
i
=
0
;
i
<
len
;
i
++)
{
char
codePoint
=
source
.
charAt
(
i
);
if
(
isEmojiCharacter
(
codePoint
))
{
if
(
buf
==
null
)
{
buf
=
new
StringBuilder
(
source
.
length
());
}
buf
.
append
(
codePoint
);
}
}
if
(
buf
==
null
)
{
return
source
;
// 如果没有找到 emoji表情,则返回源字符串
}
else
{
if
(
buf
.
length
()
==
len
)
{
// 这里的意义在于尽可能少的toString,因为会重新生成字符串
buf
=
null
;
return
source
;
}
else
{
return
buf
.
toString
();
}
}
}
private
static
boolean
isEmojiCharacter
(
char
codePoint
)
{
return
(
codePoint
==
0x0
)
||
(
codePoint
==
0x9
)
||
(
codePoint
==
0xA
)
||
(
codePoint
==
0xD
)
||
((
codePoint
>=
0x20
)
&&
(
codePoint
<=
0xD7FF
))
||
((
codePoint
>=
0xE000
)
&&
(
codePoint
<=
0xFFFD
))
||
((
codePoint
>=
0x10000
)
&&
(
codePoint
<=
0x10FFFF
));
}
// 判断表情符
private
static
boolean
containsEmoji
(
String
source
)
{
if
(
StringUtil
.
isBlank
(
source
))
{
return
false
;
}
source
=
source
.
replaceAll
(
"[\\ud800\\udc00-\\udbff\\udfff\\ud800-\\udfff]"
,
"*"
);
int
len
=
source
.
length
();
for
(
int
i
=
0
;
i
<
len
;
i
++)
{
char
codePoint
=
source
.
charAt
(
i
);
if
(
isEmojiCharacter
(
codePoint
))
{
// do nothing,判断到了这里表明,确认有表情字符
return
true
;
}
}
return
false
;
}
}
haoban-manage3-service/src/main/resources/mapper/MemberUnionidRelatedMapper.xml
View file @
61bc1a68
...
...
@@ -180,6 +180,7 @@
where wx_user_id = #{wxUserId}
and status_flag = 1
and unionid = #{unionid}
limit 1
</select>
<update
id=
"deleteByUnionidAndUserId"
parameterType=
"com.gic.haoban.manage.service.entity.MemberUnionidRelated"
>
...
...
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