Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
X
xyqb-user2
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
head_group
xyqb-user2
Commits
9a9963ab
Commit
9a9963ab
authored
Jul 31, 2023
by
唐峰
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
用户信息查询,处理租户值获取问题
parent
af9f0141
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
31 additions
and
26 deletions
+31
-26
UserApiV2Controller.java
...uantgroup/xyqb/controller/api/v2/UserApiV2Controller.java
+26
-23
WechatApiV2Controller.java
...ntgroup/xyqb/controller/api/v2/WechatApiV2Controller.java
+5
-3
No files found.
src/main/java/cn/quantgroup/xyqb/controller/api/v2/UserApiV2Controller.java
View file @
9a9963ab
package
cn
.
quantgroup
.
xyqb
.
controller
.
api
.
v2
;
import
cn.quantgroup.xyqb.controller.IBaseController
;
import
cn.quantgroup.xyqb.controller.req.v2.BatchInfoReq
;
import
cn.quantgroup.xyqb.controller.req.v2.UserInfoReq
;
import
cn.quantgroup.xyqb.entity.BaseEntity
;
...
...
@@ -25,7 +26,7 @@ import java.util.stream.Collectors;
@RestController
@RequestMapping
(
"/api/v2/user"
)
public
class
UserApiV2Controller
{
public
class
UserApiV2Controller
implements
IBaseController
{
private
final
IUserRepository
userRepository
;
private
final
IWechatService
wechatService
;
...
...
@@ -44,7 +45,8 @@ public class UserApiV2Controller {
*/
@PostMapping
(
"info"
)
public
JsonResult
<
UserBean
>
info
(
@RequestBody
UserInfoReq
userInfoReq
)
{
SessionStruct
sessionStruct
=
XyqbSessionContextHolder
.
getXSession
();
//SessionStruct sessionStruct = XyqbSessionContextHolder.getXSession();
Integer
tenantId
=
getTenantId
();
User
user
=
null
;
WechatUserInfo
wechatUserInfo
=
null
;
//1、校验
...
...
@@ -56,41 +58,41 @@ public class UserApiV2Controller {
//2、查询
if
(
userInfoReq
.
getUserId
()
!=
null
)
{
user
=
userRepository
.
findByIdAndTenantId
(
userInfoReq
.
getUserId
(),
sessionStruct
.
getTenantId
()
);
user
=
userRepository
.
findByIdAndTenantId
(
userInfoReq
.
getUserId
(),
tenantId
);
if
(
StringUtils
.
isNotEmpty
(
userInfoReq
.
getAppId
()))
{
wechatUserInfo
=
wechatService
.
queryByUserIdAndAppId
(
userInfoReq
.
getUserId
(),
userInfoReq
.
getAppId
(),
sessionStruct
.
getTenantId
()
);
wechatUserInfo
=
wechatService
.
queryByUserIdAndAppId
(
userInfoReq
.
getUserId
(),
userInfoReq
.
getAppId
(),
tenantId
);
}
}
if
(
StringUtils
.
isNotEmpty
(
userInfoReq
.
getUuid
()))
{
user
=
userRepository
.
findByUuidAndTenantId
(
userInfoReq
.
getUuid
(),
sessionStruct
.
getTenantId
()
);
user
=
userRepository
.
findByUuidAndTenantId
(
userInfoReq
.
getUuid
(),
tenantId
);
if
(
user
!=
null
&&
StringUtils
.
isNotEmpty
(
userInfoReq
.
getAppId
()))
{
wechatUserInfo
=
wechatService
.
queryByUserIdAndAppId
(
user
.
getId
(),
userInfoReq
.
getAppId
(),
sessionStruct
.
getTenantId
()
);
wechatUserInfo
=
wechatService
.
queryByUserIdAndAppId
(
user
.
getId
(),
userInfoReq
.
getAppId
(),
tenantId
);
}
}
if
(
StringUtils
.
isNotEmpty
(
userInfoReq
.
getPhoneNo
()))
{
user
=
userRepository
.
findByPhoneNoAndTenantId
(
userInfoReq
.
getPhoneNo
(),
sessionStruct
.
getTenantId
()
);
user
=
userRepository
.
findByPhoneNoAndTenantId
(
userInfoReq
.
getPhoneNo
(),
tenantId
);
if
(
user
!=
null
&&
StringUtils
.
isNotEmpty
(
userInfoReq
.
getAppId
()))
{
wechatUserInfo
=
wechatService
.
queryByUserIdAndAppId
(
user
.
getId
(),
userInfoReq
.
getAppId
(),
sessionStruct
.
getTenantId
()
);
wechatUserInfo
=
wechatService
.
queryByUserIdAndAppId
(
user
.
getId
(),
userInfoReq
.
getAppId
(),
tenantId
);
}
}
if
(
StringUtils
.
isNotEmpty
(
userInfoReq
.
getAppId
())
&&
StringUtils
.
isNotEmpty
(
userInfoReq
.
getOpenId
()))
{
wechatUserInfo
=
wechatService
.
findWechatUserInfoFromDb
(
userInfoReq
.
getOpenId
(),
userInfoReq
.
getAppId
(),
sessionStruct
.
getTenantId
()
);
wechatUserInfo
=
wechatService
.
findWechatUserInfoFromDb
(
userInfoReq
.
getOpenId
(),
userInfoReq
.
getAppId
(),
tenantId
);
if
(
wechatUserInfo
==
null
||
wechatUserInfo
.
getUserId
()
==
null
)
{
throw
new
BizException
(
BizExceptionEnum
.
UN_EXIT_USER
);
}
user
=
userRepository
.
findByIdAndTenantId
(
wechatUserInfo
.
getUserId
(),
sessionStruct
.
getTenantId
()
);
user
=
userRepository
.
findByIdAndTenantId
(
wechatUserInfo
.
getUserId
(),
tenantId
);
}
if
(
StringUtils
.
isNotEmpty
(
userInfoReq
.
getAppId
())
&&
StringUtils
.
isNotEmpty
(
userInfoReq
.
getUnionId
()))
{
wechatUserInfo
=
wechatService
.
findByUnionIdAndAppIdAndTenantId
(
userInfoReq
.
getUnionId
(),
userInfoReq
.
getAppId
(),
sessionStruct
.
getTenantId
()
);
wechatUserInfo
=
wechatService
.
findByUnionIdAndAppIdAndTenantId
(
userInfoReq
.
getUnionId
(),
userInfoReq
.
getAppId
(),
tenantId
);
if
(
wechatUserInfo
==
null
||
wechatUserInfo
.
getUserId
()
==
null
)
{
throw
new
BizException
(
BizExceptionEnum
.
UN_EXIT_USER
);
}
user
=
userRepository
.
findByIdAndTenantId
(
wechatUserInfo
.
getUserId
(),
sessionStruct
.
getTenantId
()
);
user
=
userRepository
.
findByIdAndTenantId
(
wechatUserInfo
.
getUserId
(),
tenantId
);
}
//3、异常处理
...
...
@@ -110,7 +112,8 @@ public class UserApiV2Controller {
*/
@PostMapping
(
"/batchInfo"
)
public
JsonResult
<
List
<
UserBean
>>
batchInfo
(
@RequestBody
BatchInfoReq
batchInfoReq
)
{
SessionStruct
sessionStruct
=
XyqbSessionContextHolder
.
getXSession
();
//SessionStruct sessionStruct = XyqbSessionContextHolder.getXSession();
Integer
tenantId
=
getTenantId
();
List
<
User
>
userList
=
null
;
List
<
WechatUserInfo
>
wechatUserInfo
=
null
;
//1、校验
...
...
@@ -124,47 +127,47 @@ public class UserApiV2Controller {
//2、查询
if
(
CollectionUtils
.
isNotEmpty
(
batchInfoReq
.
getUserIds
()))
{
userList
=
userRepository
.
findByIdInAndTenantId
(
batchInfoReq
.
getUserIds
(),
sessionStruct
.
getTenantId
()
);
userList
=
userRepository
.
findByIdInAndTenantId
(
batchInfoReq
.
getUserIds
(),
tenantId
);
if
(
CollectionUtils
.
isNotEmpty
(
userList
)
&&
StringUtils
.
isNotEmpty
(
batchInfoReq
.
getAppId
()))
{
List
<
Long
>
uuids
=
userList
.
stream
().
map
(
BaseEntity:
:
getId
).
collect
(
Collectors
.
toList
());
wechatUserInfo
=
wechatService
.
queryListByUserIdAndAppId
(
uuids
,
batchInfoReq
.
getAppId
(),
sessionStruct
.
getTenantId
()
);
wechatUserInfo
=
wechatService
.
queryListByUserIdAndAppId
(
uuids
,
batchInfoReq
.
getAppId
(),
tenantId
);
}
}
if
(
CollectionUtils
.
isNotEmpty
(
batchInfoReq
.
getUuids
()))
{
userList
=
userRepository
.
findByUuidInAndTenantId
(
batchInfoReq
.
getUuids
(),
sessionStruct
.
getTenantId
()
);
userList
=
userRepository
.
findByUuidInAndTenantId
(
batchInfoReq
.
getUuids
(),
tenantId
);
if
(
CollectionUtils
.
isNotEmpty
(
userList
)
&&
StringUtils
.
isNotEmpty
(
batchInfoReq
.
getAppId
()))
{
List
<
Long
>
uuids
=
userList
.
stream
().
map
(
BaseEntity:
:
getId
).
collect
(
Collectors
.
toList
());
wechatUserInfo
=
wechatService
.
queryListByUserIdAndAppId
(
uuids
,
batchInfoReq
.
getAppId
(),
sessionStruct
.
getTenantId
()
);
wechatUserInfo
=
wechatService
.
queryListByUserIdAndAppId
(
uuids
,
batchInfoReq
.
getAppId
(),
tenantId
);
}
}
if
(
CollectionUtils
.
isNotEmpty
(
batchInfoReq
.
getPhoneNos
()))
{
userList
=
userRepository
.
findByPhoneNoInAndTenantId
(
batchInfoReq
.
getPhoneNos
(),
sessionStruct
.
getTenantId
()
);
userList
=
userRepository
.
findByPhoneNoInAndTenantId
(
batchInfoReq
.
getPhoneNos
(),
tenantId
);
if
(
CollectionUtils
.
isNotEmpty
(
userList
)
&&
StringUtils
.
isNotEmpty
(
batchInfoReq
.
getAppId
()))
{
List
<
Long
>
uuids
=
userList
.
stream
().
map
(
BaseEntity:
:
getId
).
collect
(
Collectors
.
toList
());
wechatUserInfo
=
wechatService
.
queryListByUserIdAndAppId
(
uuids
,
batchInfoReq
.
getAppId
(),
sessionStruct
.
getTenantId
()
);
wechatUserInfo
=
wechatService
.
queryListByUserIdAndAppId
(
uuids
,
batchInfoReq
.
getAppId
(),
tenantId
);
}
}
if
(
StringUtils
.
isNotEmpty
(
batchInfoReq
.
getAppId
())
&&
CollectionUtils
.
isNotEmpty
(
batchInfoReq
.
getOpenIds
()))
{
wechatUserInfo
=
wechatService
.
findWechatUserInfoFromDb
(
batchInfoReq
.
getOpenIds
(),
batchInfoReq
.
getAppId
(),
sessionStruct
.
getTenantId
()
);
wechatUserInfo
=
wechatService
.
findWechatUserInfoFromDb
(
batchInfoReq
.
getOpenIds
(),
batchInfoReq
.
getAppId
(),
tenantId
);
List
<
Long
>
userIds
=
wechatUserInfo
.
stream
().
map
(
WechatUserInfo:
:
getUserId
).
collect
(
Collectors
.
toList
());
if
(
CollectionUtils
.
isEmpty
(
wechatUserInfo
)
||
CollectionUtils
.
isEmpty
(
userIds
))
{
throw
new
BizException
(
BizExceptionEnum
.
UN_EXIT_USER
);
}
userList
=
userRepository
.
findByIdInAndTenantId
(
userIds
,
sessionStruct
.
getTenantId
()
);
userList
=
userRepository
.
findByIdInAndTenantId
(
userIds
,
tenantId
);
}
if
(
StringUtils
.
isNotEmpty
(
batchInfoReq
.
getAppId
())
&&
CollectionUtils
.
isNotEmpty
(
batchInfoReq
.
getUnionIds
()))
{
wechatUserInfo
=
wechatService
.
findUnionIdsAndOpenIdAndTenantId
(
batchInfoReq
.
getUnionIds
(),
batchInfoReq
.
getAppId
(),
sessionStruct
.
getTenantId
()
);
wechatUserInfo
=
wechatService
.
findUnionIdsAndOpenIdAndTenantId
(
batchInfoReq
.
getUnionIds
(),
batchInfoReq
.
getAppId
(),
tenantId
);
List
<
Long
>
userIds
=
wechatUserInfo
.
stream
().
map
(
WechatUserInfo:
:
getUserId
).
collect
(
Collectors
.
toList
());
if
(
CollectionUtils
.
isEmpty
(
wechatUserInfo
)
||
CollectionUtils
.
isEmpty
(
userIds
))
{
throw
new
BizException
(
BizExceptionEnum
.
UN_EXIT_USER
);
}
userList
=
userRepository
.
findByIdInAndTenantId
(
userIds
,
sessionStruct
.
getTenantId
()
);
userList
=
userRepository
.
findByIdInAndTenantId
(
userIds
,
tenantId
);
}
//3、异常处理
...
...
src/main/java/cn/quantgroup/xyqb/controller/api/v2/WechatApiV2Controller.java
View file @
9a9963ab
package
cn
.
quantgroup
.
xyqb
.
controller
.
api
.
v2
;
import
cn.quantgroup.xyqb.Constants
;
import
cn.quantgroup.xyqb.controller.IBaseController
;
import
cn.quantgroup.xyqb.model.JsonResult
;
import
cn.quantgroup.xyqb.model.session.SessionStruct
;
import
cn.quantgroup.xyqb.model.webchat.AccessTokenResponse
;
...
...
@@ -15,15 +16,16 @@ import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping
(
"/api/v2/wechat"
)
public
class
WechatApiV2Controller
{
public
class
WechatApiV2Controller
implements
IBaseController
{
@Autowired
@Qualifier
(
"stringRedisTemplate"
)
private
RedisTemplate
<
String
,
String
>
redisTemplate
;
@GetMapping
(
"/accessToken"
)
public
JsonResult
<
String
>
token
(
String
appId
)
{
SessionStruct
sessionStruct
=
XyqbSessionContextHolder
.
getXSession
();
AccessTokenResponse
accessTokenResponse
=
JSON
.
parseObject
(
redisTemplate
.
opsForValue
().
get
(
Constants
.
WECHAT_ACCESS_TOKEN_REDIS
+
sessionStruct
.
getTenantId
()
+
":"
+
appId
),
AccessTokenResponse
.
class
);
//SessionStruct sessionStruct = XyqbSessionContextHolder.getXSession();
Integer
tenantId
=
getTenantId
();
AccessTokenResponse
accessTokenResponse
=
JSON
.
parseObject
(
redisTemplate
.
opsForValue
().
get
(
Constants
.
WECHAT_ACCESS_TOKEN_REDIS
+
tenantId
+
":"
+
appId
),
AccessTokenResponse
.
class
);
return
JsonResult
.
buildSuccessResultGeneric
(
accessTokenResponse
.
getAccessToken
());
}
}
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