Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
P
pica-cloud-account
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
1
合并请求
1
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
Close sidebar
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
com.pica.cloud.account
pica-cloud-account
提交
99dc93fc
提交
99dc93fc
编写于
9月 18, 2020
作者:
peijun.zhao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add batch 获取微信用户信息
上级
1b476dc9
流水线
#30252
已失败 于阶段
in 0 second
变更
6
流水线
1
隐藏空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
96 行增加
和
12 行删除
+96
-12
AccountWeChatInfoMapper.java
...ccount/account/server/mapper/AccountWeChatInfoMapper.java
+4
-0
DoctorMapper.java
...ica/cloud/account/account/server/mapper/DoctorMapper.java
+4
-0
WechatInfoDto.java
...ica/cloud/account/account/server/model/WechatInfoDto.java
+35
-0
WechatServiceImpl.java
...ccount/account/server/service/impl/WechatServiceImpl.java
+29
-12
AccountWeChatInfoEntityMapper.xml
.../main/resources/mybatis/AccountWeChatInfoEntityMapper.xml
+12
-0
DoctorMapper.xml
server/src/main/resources/mybatis/DoctorMapper.xml
+12
-0
未找到文件。
server/src/main/java/com/pica/cloud/account/account/server/mapper/AccountWeChatInfoMapper.java
浏览文件 @
99dc93fc
...
...
@@ -3,6 +3,8 @@ package com.pica.cloud.account.account.server.mapper;
import
com.pica.cloud.account.account.server.entity.AccountWeChatInfoEntity
;
import
org.springframework.stereotype.Component
;
import
java.util.List
;
@Component
public
interface
AccountWeChatInfoMapper
{
...
...
@@ -25,5 +27,7 @@ public interface AccountWeChatInfoMapper {
int
updateByPrimaryKey
(
AccountWeChatInfoEntity
record
);
List
<
AccountWeChatInfoEntity
>
selectBatchByUnionId
(
List
<
String
>
list
);
}
\ No newline at end of file
server/src/main/java/com/pica/cloud/account/account/server/mapper/DoctorMapper.java
浏览文件 @
99dc93fc
...
...
@@ -4,6 +4,7 @@ package com.pica.cloud.account.account.server.mapper;
import
com.pica.cloud.account.account.server.entity.Doctor
;
import
com.pica.cloud.account.account.server.entity.DoctorEntity
;
import
com.pica.cloud.account.account.server.entity.PICAPDoctor
;
import
com.pica.cloud.account.account.server.model.WechatInfoDto
;
import
org.apache.ibatis.annotations.Param
;
import
org.springframework.stereotype.Component
;
...
...
@@ -114,4 +115,7 @@ public interface DoctorMapper {
String
getUnionIdByDoctorId
(
@Param
(
"doctorId"
)
Integer
doctorId
);
List
<
WechatInfoDto
>
getBatchUnionIdByDoctorId
(
List
<
Integer
>
list
);
}
\ No newline at end of file
server/src/main/java/com/pica/cloud/account/account/server/model/WechatInfoDto.java
0 → 100644
浏览文件 @
99dc93fc
package
com
.
pica
.
cloud
.
account
.
account
.
server
.
model
;
public
class
WechatInfoDto
{
private
Integer
doctorId
;
private
String
unionId
;
private
String
openId
;
public
Integer
getDoctorId
()
{
return
doctorId
;
}
public
void
setDoctorId
(
Integer
doctorId
)
{
this
.
doctorId
=
doctorId
;
}
public
String
getOpenId
()
{
return
openId
;
}
public
void
setOpenId
(
String
openId
)
{
this
.
openId
=
openId
;
}
public
String
getUnionId
()
{
return
unionId
;
}
public
void
setUnionId
(
String
unionId
)
{
this
.
unionId
=
unionId
;
}
}
server/src/main/java/com/pica/cloud/account/account/server/service/impl/WechatServiceImpl.java
浏览文件 @
99dc93fc
...
...
@@ -3,15 +3,20 @@ package com.pica.cloud.account.account.server.service.impl;
import
com.pica.cloud.account.account.server.entity.AccountWeChatInfoEntity
;
import
com.pica.cloud.account.account.server.mapper.AccountWeChatInfoMapper
;
import
com.pica.cloud.account.account.server.mapper.DoctorMapper
;
import
com.pica.cloud.account.account.server.model.WechatInfoDto
;
import
com.pica.cloud.account.account.server.service.WechatService
;
import
com.pica.cloud.foundation.utils.entity.PicaUser
;
import
com.pica.cloud.foundation.utils.utils.StringUtil
;
import
io.swagger.models.auth.In
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.Collection
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
@Service
...
...
@@ -35,20 +40,32 @@ public class WechatServiceImpl implements WechatService {
@Override
public
Map
<
Integer
,
String
>
getAccountWechatInfoBatch
(
List
<
Integer
>
docIds
)
{
Map
<
Integer
,
String
>
rtnMap
=
new
HashMap
<>();
for
(
Integer
i
:
docIds
){
String
openId
=
""
;
String
unionId
=
doctorMapper
.
getUnionIdByDoctorId
(
i
);
if
(
StringUtil
.
isEmpty
(
unionId
)){
rtnMap
.
put
(
i
,
""
);
}
else
{
AccountWeChatInfoEntity
rs
=
weChatInfoMapper
.
selectByUnionId
(
unionId
);
if
(
null
!=
rs
){
openId
=
rs
.
getOpenid
();
if
(
CollectionUtils
.
isEmpty
(
docIds
)){
return
null
;
}
Map
<
Integer
,
String
>
doctorOpenMap
=
new
HashMap
<>();
List
<
WechatInfoDto
>
wechatInfoDtos
=
doctorMapper
.
getBatchUnionIdByDoctorId
(
docIds
);
Map
<
String
,
Integer
>
unionMap
=
new
HashMap
<>();
for
(
WechatInfoDto
dto
:
wechatInfoDtos
){
unionMap
.
put
(
dto
.
getUnionId
(),
dto
.
getDoctorId
());
}
List
<
String
>
unionIds
=
wechatInfoDtos
.
stream
().
map
(
obj
->
obj
.
getUnionId
()).
collect
(
Collectors
.
toList
());
if
(
CollectionUtils
.
isNotEmpty
(
unionIds
)){
List
<
AccountWeChatInfoEntity
>
wechatList
=
weChatInfoMapper
.
selectBatchByUnionId
(
unionIds
);
for
(
AccountWeChatInfoEntity
entity
:
wechatList
){
if
(
unionMap
.
containsKey
(
entity
.
getUnionid
())){
doctorOpenMap
.
put
(
unionMap
.
get
(
entity
.
getUnionid
()),
entity
.
getOpenid
());
}
rtnMap
.
put
(
i
,
openId
);
}
}
return
rtnMap
;
for
(
Integer
docId
:
docIds
){
if
(!
doctorOpenMap
.
containsKey
(
docId
)){
doctorOpenMap
.
put
(
docId
,
null
);
}
}
return
doctorOpenMap
;
}
}
server/src/main/resources/mybatis/AccountWeChatInfoEntityMapper.xml
浏览文件 @
99dc93fc
...
...
@@ -48,6 +48,18 @@
limit 1
</select>
<select
id=
"selectBatchByUnionId"
resultMap=
"BaseResultMap"
parameterType=
"java.util.List"
>
select
<include
refid=
"Base_Column_List"
/>
from account_wechat_info
where unionid in
<foreach
collection=
"list"
item=
"item"
index=
"index"
open=
"("
close=
")"
separator=
","
>
#{item}
</foreach>
and delete_flag = 1
</select>
<delete
id=
"deleteByPrimaryKey"
parameterType=
"java.lang.Integer"
>
delete from account_wechat_info
where id = #{id,jdbcType=INTEGER}
...
...
server/src/main/resources/mybatis/DoctorMapper.xml
浏览文件 @
99dc93fc
...
...
@@ -1071,5 +1071,17 @@
and d.delete_flag = 1 and a.delete_flag = 1 and u.delete_flag = 1
</select>
<select
id=
"getBatchUnionIdByDoctorId"
resultType=
"com.pica.cloud.account.account.server.model.WechatInfoDto"
parameterType=
"java.util.List"
>
select u.union_id as unionId, d.id as doctorId from p_doctor d
join account_info a on d.acct_id = a.id
join account_union u on a.id = u.acct_id
-- where d.id = #{doctorId}
where d.id in
<foreach
collection=
"list"
item=
"item"
index=
"index"
open=
"("
close=
")"
separator=
","
>
#{item}
</foreach>
and u.union_type = 1
and d.delete_flag = 1 and a.delete_flag = 1 and u.delete_flag = 1
</select>
</mapper>
\ No newline at end of file
写
预览
Markdown
格式
0%
请重试
or
附加一个文件
附加文件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录