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
5942f5df
Commit
5942f5df
authored
Jul 07, 2023
by
王亮
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update RequestHeader(app_id and tenantId)
parent
9238ed78
Changes
26
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
26 changed files
with
349 additions
and
94 deletions
+349
-94
Constants.java
src/main/java/cn/quantgroup/xyqb/Constants.java
+3
-0
WechatConfiguration.java
...a/cn/quantgroup/xyqb/config/data/WechatConfiguration.java
+35
-0
UserController.java
...n/quantgroup/xyqb/controller/external/UserController.java
+17
-20
WeChatController.java
...quantgroup/xyqb/controller/external/WeChatController.java
+7
-7
AppController.java
...antgroup/xyqb/controller/internal/user/AppController.java
+6
-4
InnerController.java
...tgroup/xyqb/controller/internal/user/InnerController.java
+31
-31
SyncUserController.java
...oup/xyqb/controller/internal/user/SyncUserController.java
+6
-4
UserApiController.java
...roup/xyqb/controller/internal/user/UserApiController.java
+2
-2
UserCenterController.java
...controller/internal/user/center/UserCenterController.java
+5
-5
AppletController.java
...xyqb/controller/middleoffice/applet/AppletController.java
+2
-1
LoginController.java
...p/xyqb/controller/middleoffice/login/LoginController.java
+4
-3
UserController.java
...oup/xyqb/controller/middleoffice/user/UserController.java
+6
-5
UserDetailController.java
...troller/middleoffice/userdetail/UserDetailController.java
+5
-4
UserExtController.java
...qb/controller/middleoffice/userext/UserExtController.java
+2
-1
WxController.java
...ntgroup/xyqb/controller/middleoffice/wx/WxController.java
+3
-2
ModifyPhoneNoController.java
...yqb/controller/modifyphoneno/ModifyPhoneNoController.java
+4
-3
BizException.java
src/main/java/cn/quantgroup/xyqb/exception/BizException.java
+5
-0
BizExceptionEnum.java
...n/java/cn/quantgroup/xyqb/exception/BizExceptionEnum.java
+2
-0
WechatConfigBean.java
src/main/java/cn/quantgroup/xyqb/model/WechatConfigBean.java
+14
-0
WechatPhoneBean.java
src/main/java/cn/quantgroup/xyqb/model/WechatPhoneBean.java
+17
-0
WechatMiniLoginParam.java
.../quantgroup/xyqb/model/v2/login/WechatMiniLoginParam.java
+18
-0
WechatMiniPhoneLoginParam.java
...tgroup/xyqb/model/v2/login/WechatMiniPhoneLoginParam.java
+17
-0
WechatRemoteService.java
...n/java/cn/quantgroup/xyqb/remote/WechatRemoteService.java
+25
-0
WechatMiniLoginStrategy.java
...n/quantgroup/xyqb/service/v2/WechatMiniLoginStrategy.java
+62
-1
WechatMiniPhoneLoginStrategy.java
...ntgroup/xyqb/service/v2/WechatMiniPhoneLoginStrategy.java
+4
-1
WechatTokenReloadJobHandler.java
...n/quantgroup/xyqb/xxlJob/WechatTokenReloadJobHandler.java
+47
-0
No files found.
src/main/java/cn/quantgroup/xyqb/Constants.java
View file @
5942f5df
...
@@ -34,6 +34,7 @@ public interface Constants {
...
@@ -34,6 +34,7 @@ public interface Constants {
String
X_AUTH_TOKEN
=
"x-auth-token"
;
String
X_AUTH_TOKEN
=
"x-auth-token"
;
String
X_AUTH_TENANT
=
"qg-tenant-id"
;
String
X_AUTH_TENANT
=
"qg-tenant-id"
;
String
X_AUTH_APP_ID
=
"qg-app-id"
;
String
X_AUTH_FROM
=
"qg-registered-from"
;
String
X_AUTH_FROM
=
"qg-registered-from"
;
...
@@ -97,6 +98,8 @@ public interface Constants {
...
@@ -97,6 +98,8 @@ public interface Constants {
String
REDIRECT_ORDER
=
"orders"
;
String
REDIRECT_ORDER
=
"orders"
;
String
DOCKER_DOMAIN
=
"liangkebang"
;
String
DOCKER_DOMAIN
=
"liangkebang"
;
String
WECHAT_ACCESS_TOKEN_REDIS
=
"user:wechat:mini:token:"
;
/**
/**
* 微信标识参数名
* 微信标识参数名
*/
*/
...
...
src/main/java/cn/quantgroup/xyqb/config/data/WechatConfiguration.java
0 → 100644
View file @
5942f5df
package
cn
.
quantgroup
.
xyqb
.
config
.
data
;
import
cn.quantgroup.xyqb.exception.BizException
;
import
cn.quantgroup.xyqb.exception.BizExceptionEnum
;
import
cn.quantgroup.xyqb.model.WechatConfigBean
;
import
com.alibaba.fastjson.JSONArray
;
import
com.ctrip.framework.apollo.ConfigService
;
import
lombok.Getter
;
import
org.springframework.stereotype.Component
;
import
javax.persistence.criteria.CriteriaBuilder
;
import
java.util.List
;
import
java.util.Optional
;
@Component
@Getter
public
class
WechatConfiguration
{
private
final
List
<
WechatConfigBean
>
list
;
public
WechatConfiguration
()
{
String
data
=
ConfigService
.
getAppConfig
().
getProperty
(
"wechat.configs"
,
"[]"
);
list
=
JSONArray
.
parseArray
(
data
,
WechatConfigBean
.
class
);
}
public
WechatConfigBean
getByAppIdAndTenantId
(
String
appId
,
Integer
tenantId
){
Optional
<
WechatConfigBean
>
optional
=
list
.
stream
().
filter
(
i
->
i
.
getAppId
().
equals
(
appId
)&&
i
.
getTenantId
().
equals
(
tenantId
)).
findFirst
();
if
(!
optional
.
isPresent
()){
throw
new
BizException
(
BizExceptionEnum
.
ERROR_WECHAT_APP_ID
);
}
else
{
return
optional
.
get
();
}
}
}
src/main/java/cn/quantgroup/xyqb/controller/external/UserController.java
View file @
5942f5df
This diff is collapsed.
Click to expand it.
src/main/java/cn/quantgroup/xyqb/controller/external/WeChatController.java
View file @
5942f5df
...
@@ -183,8 +183,8 @@ public class WeChatController implements IBaseController {
...
@@ -183,8 +183,8 @@ public class WeChatController implements IBaseController {
@RequestMapping
(
"/receiveCode/extdata/{key}/{extdata}"
)
@RequestMapping
(
"/receiveCode/extdata/{key}/{extdata}"
)
public
void
receiveCodeWithExtData
(
String
code
,
@PathVariable
(
value
=
"key"
)
String
systemKey
,
public
void
receiveCodeWithExtData
(
String
code
,
@PathVariable
(
value
=
"key"
)
String
systemKey
,
@PathVariable
(
value
=
"extdata"
)
String
extData
,
HttpServletResponse
response
,
@PathVariable
(
value
=
"extdata"
)
String
extData
,
HttpServletResponse
response
,
@Request
Param
(
value
=
"appId"
,
defaultValue
=
UserConstant
.
defaultAppId
)
String
appId
@Request
Header
(
value
=
Constants
.
X_AUTH_APP_ID
,
defaultValue
=
UserConstant
.
defaultAppId
)
String
appId
,
@Request
Param
(
value
=
"tenantId"
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
,
@Request
Header
(
value
=
Constants
.
X_AUTH_TENANT
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
Long
registerFrom
=
null
;
Long
registerFrom
=
null
;
String
redirect
=
null
;
String
redirect
=
null
;
String
schema
=
null
;
String
schema
=
null
;
...
@@ -348,8 +348,8 @@ public class WeChatController implements IBaseController {
...
@@ -348,8 +348,8 @@ public class WeChatController implements IBaseController {
*/
*/
@RequestMapping
(
"/receiveCode/{key}"
)
@RequestMapping
(
"/receiveCode/{key}"
)
public
void
receiveCodeNoRedirect
(
String
code
,
@PathVariable
(
value
=
"key"
)
String
systemKey
,
HttpServletRequest
request
,
HttpServletResponse
response
,
public
void
receiveCodeNoRedirect
(
String
code
,
@PathVariable
(
value
=
"key"
)
String
systemKey
,
HttpServletRequest
request
,
HttpServletResponse
response
,
@Request
Param
(
value
=
"appId"
,
defaultValue
=
UserConstant
.
defaultAppId
)
String
appId
,
@Request
Header
(
value
=
Constants
.
X_AUTH_APP_ID
,
defaultValue
=
UserConstant
.
defaultAppId
)
String
appId
,
@Request
Param
(
value
=
"tenantId"
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
@Request
Header
(
value
=
Constants
.
X_AUTH_TENANT
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
Long
registerFrom
=
null
;
Long
registerFrom
=
null
;
String
redirect
=
null
;
String
redirect
=
null
;
String
schema
=
Constants
.
PROTOCOL_HEAD_HTTP
;
String
schema
=
Constants
.
PROTOCOL_HEAD_HTTP
;
...
@@ -462,7 +462,7 @@ public class WeChatController implements IBaseController {
...
@@ -462,7 +462,7 @@ public class WeChatController implements IBaseController {
@RequestMapping
(
"/userIdToUnionId"
)
@RequestMapping
(
"/userIdToUnionId"
)
public
JsonResult
userIdToUnionId
(
@RequestParam
Long
userId
,
public
JsonResult
userIdToUnionId
(
@RequestParam
Long
userId
,
@Request
Param
(
value
=
"tenantId"
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
@Request
Header
(
value
=
Constants
.
X_AUTH_TENANT
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
List
<
WechatUserInfo
>
wechatUserInfoList
=
null
;
List
<
WechatUserInfo
>
wechatUserInfoList
=
null
;
if
(
userId
!=
null
&&
userId
>
0
)
{
if
(
userId
!=
null
&&
userId
>
0
)
{
wechatUserInfoList
=
wechatService
.
queryListByUserId
(
userId
,
tenantId
);
wechatUserInfoList
=
wechatService
.
queryListByUserId
(
userId
,
tenantId
);
...
@@ -471,7 +471,7 @@ public class WeChatController implements IBaseController {
...
@@ -471,7 +471,7 @@ public class WeChatController implements IBaseController {
}
}
@RequestMapping
(
"/unionIdToUserId"
)
@RequestMapping
(
"/unionIdToUserId"
)
public
JsonResult
unionIdToUserId
(
@RequestParam
String
unionId
,
@Request
Param
(
value
=
"tenantId"
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
public
JsonResult
unionIdToUserId
(
@RequestParam
String
unionId
,
@Request
Header
(
value
=
Constants
.
X_AUTH_TENANT
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
List
<
WechatUserInfo
>
wechatUserInfoList
=
null
;
List
<
WechatUserInfo
>
wechatUserInfoList
=
null
;
if
(
unionId
!=
null
&&
!
""
.
equals
(
unionId
))
{
if
(
unionId
!=
null
&&
!
""
.
equals
(
unionId
))
{
wechatUserInfoList
=
wechatService
.
queryListByUnionId
(
unionId
,
tenantId
);
wechatUserInfoList
=
wechatService
.
queryListByUnionId
(
unionId
,
tenantId
);
...
@@ -480,7 +480,7 @@ public class WeChatController implements IBaseController {
...
@@ -480,7 +480,7 @@ public class WeChatController implements IBaseController {
}
}
@PostMapping
(
"/unionIdToUserIds"
)
@PostMapping
(
"/unionIdToUserIds"
)
public
JsonResult
unionIdToUserIds
(
@RequestBody
Map
<
String
,
Object
>
params
,
@Request
Param
(
value
=
"tenantId"
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
public
JsonResult
unionIdToUserIds
(
@RequestBody
Map
<
String
,
Object
>
params
,
@Request
Header
(
value
=
Constants
.
X_AUTH_TENANT
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
List
<
WechatUserInfo
>
wechatUserInfoList
=
null
;
List
<
WechatUserInfo
>
wechatUserInfoList
=
null
;
if
(
MapUtils
.
isNotEmpty
(
params
))
{
if
(
MapUtils
.
isNotEmpty
(
params
))
{
List
<
String
>
unionIds
=
(
List
<
String
>)
params
.
get
(
"unionIds"
);
List
<
String
>
unionIds
=
(
List
<
String
>)
params
.
get
(
"unionIds"
);
...
...
src/main/java/cn/quantgroup/xyqb/controller/internal/user/AppController.java
View file @
5942f5df
package
cn
.
quantgroup
.
xyqb
.
controller
.
internal
.
user
;
package
cn
.
quantgroup
.
xyqb
.
controller
.
internal
.
user
;
import
cn.quantgroup.xyqb.Constants
;
import
cn.quantgroup.xyqb.constant.UserConstant
;
import
cn.quantgroup.xyqb.constant.UserConstant
;
import
cn.quantgroup.xyqb.constant.enums.LoginType
;
import
cn.quantgroup.xyqb.constant.enums.LoginType
;
import
cn.quantgroup.xyqb.aspect.accessable.IpValidator
;
import
cn.quantgroup.xyqb.aspect.accessable.IpValidator
;
...
@@ -28,6 +29,7 @@ import org.springframework.beans.factory.annotation.Autowired;
...
@@ -28,6 +29,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.security.core.Authentication
;
import
org.springframework.security.core.Authentication
;
import
org.springframework.util.ObjectUtils
;
import
org.springframework.util.ObjectUtils
;
import
org.springframework.web.bind.annotation.RequestHeader
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.RestController
;
...
@@ -72,7 +74,7 @@ public class AppController implements IBaseController {
...
@@ -72,7 +74,7 @@ public class AppController implements IBaseController {
@RequestParam
(
required
=
false
)
Long
registerFrom
,
@RequestParam
(
required
=
false
)
Long
registerFrom
,
@RequestParam
(
required
=
true
)
Long
channelId
,
@RequestParam
(
required
=
true
)
Long
channelId
,
@RequestParam
(
required
=
true
)
String
appChannel
,
@RequestParam
(
required
=
true
)
String
appChannel
,
@Request
Param
(
value
=
"tenantId"
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
,
@Request
Header
(
value
=
Constants
.
X_AUTH_TENANT
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
,
HttpServletRequest
request
)
{
HttpServletRequest
request
)
{
if
(
TenantUtil
.
validationTenantIdIsNullOrZero
(
tenantId
))
{
if
(
TenantUtil
.
validationTenantIdIsNullOrZero
(
tenantId
))
{
...
@@ -153,7 +155,7 @@ public class AppController implements IBaseController {
...
@@ -153,7 +155,7 @@ public class AppController implements IBaseController {
@RequestParam
(
required
=
false
,
defaultValue
=
"1"
)
Long
registerFrom
,
@RequestParam
(
required
=
false
,
defaultValue
=
"1"
)
Long
registerFrom
,
@RequestParam
(
required
=
false
,
defaultValue
=
"1"
)
Long
channelId
,
@RequestParam
(
required
=
false
,
defaultValue
=
"1"
)
Long
channelId
,
@RequestParam
(
required
=
false
,
defaultValue
=
""
)
String
appChannel
,
@RequestParam
(
required
=
false
,
defaultValue
=
""
)
String
appChannel
,
@Request
Param
(
value
=
"tenantId"
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
,
@Request
Header
(
value
=
Constants
.
X_AUTH_TENANT
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
,
HttpServletRequest
request
)
{
HttpServletRequest
request
)
{
if
(!
ValidationUtil
.
validatePhoneNo
(
phoneNo
))
{
if
(!
ValidationUtil
.
validatePhoneNo
(
phoneNo
))
{
return
JsonResult
.
buildErrorStateResult
(
USER_ERROR_OR_PASSWORD_ERROR
,
null
);
return
JsonResult
.
buildErrorStateResult
(
USER_ERROR_OR_PASSWORD_ERROR
,
null
);
...
@@ -208,7 +210,7 @@ public class AppController implements IBaseController {
...
@@ -208,7 +210,7 @@ public class AppController implements IBaseController {
@RequestParam
(
required
=
false
,
defaultValue
=
"1"
)
Long
registerFrom
,
@RequestParam
(
required
=
false
,
defaultValue
=
"1"
)
Long
registerFrom
,
@RequestParam
(
required
=
false
,
defaultValue
=
"1"
)
Long
channelId
,
@RequestParam
(
required
=
false
,
defaultValue
=
"1"
)
Long
channelId
,
@RequestParam
(
required
=
false
,
defaultValue
=
""
)
String
appChannel
,
@RequestParam
(
required
=
false
,
defaultValue
=
""
)
String
appChannel
,
@Request
Param
(
value
=
"tenantId"
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
,
@Request
Header
(
value
=
Constants
.
X_AUTH_TENANT
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
,
HttpServletRequest
request
)
{
HttpServletRequest
request
)
{
if
(
TenantUtil
.
validationTenantIdIsNullOrZero
(
tenantId
))
{
if
(
TenantUtil
.
validationTenantIdIsNullOrZero
(
tenantId
))
{
...
@@ -319,7 +321,7 @@ public class AppController implements IBaseController {
...
@@ -319,7 +321,7 @@ public class AppController implements IBaseController {
@RequestParam
(
required
=
false
,
defaultValue
=
"1"
)
Long
registerFrom
,
@RequestParam
(
required
=
false
,
defaultValue
=
"1"
)
Long
registerFrom
,
@RequestParam
(
required
=
false
,
defaultValue
=
"1"
)
Long
channelId
,
@RequestParam
(
required
=
false
,
defaultValue
=
"1"
)
Long
channelId
,
@RequestParam
(
required
=
false
,
defaultValue
=
""
)
String
appChannel
,
@RequestParam
(
required
=
false
,
defaultValue
=
""
)
String
appChannel
,
@Request
Param
(
value
=
"tenantId"
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
,
@Request
Header
(
value
=
Constants
.
X_AUTH_TENANT
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
,
HttpServletRequest
request
)
{
HttpServletRequest
request
)
{
//默认羊小咩租户
//默认羊小咩租户
if
(
TenantUtil
.
validationTenantIdIsNullOrZero
(
tenantId
))
{
if
(
TenantUtil
.
validationTenantIdIsNullOrZero
(
tenantId
))
{
...
...
src/main/java/cn/quantgroup/xyqb/controller/internal/user/InnerController.java
View file @
5942f5df
This diff is collapsed.
Click to expand it.
src/main/java/cn/quantgroup/xyqb/controller/internal/user/SyncUserController.java
View file @
5942f5df
package
cn
.
quantgroup
.
xyqb
.
controller
.
internal
.
user
;
package
cn
.
quantgroup
.
xyqb
.
controller
.
internal
.
user
;
import
cn.quantgroup.xyqb.Constants
;
import
cn.quantgroup.xyqb.aspect.accessable.IpValidator
;
import
cn.quantgroup.xyqb.aspect.accessable.IpValidator
;
import
cn.quantgroup.xyqb.constant.UserConstant
;
import
cn.quantgroup.xyqb.constant.UserConstant
;
import
cn.quantgroup.xyqb.entity.User
;
import
cn.quantgroup.xyqb.entity.User
;
...
@@ -14,6 +15,7 @@ import lombok.extern.slf4j.Slf4j;
...
@@ -14,6 +15,7 @@ import lombok.extern.slf4j.Slf4j;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.dao.DataIntegrityViolationException
;
import
org.springframework.dao.DataIntegrityViolationException
;
import
org.springframework.web.bind.annotation.RequestHeader
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.RestController
;
...
@@ -41,7 +43,7 @@ public class SyncUserController {
...
@@ -41,7 +43,7 @@ public class SyncUserController {
@RequestMapping
(
"/save_detail"
)
@RequestMapping
(
"/save_detail"
)
public
JsonResult
saveUserDetail
(
String
key
,
String
phoneNo
,
public
JsonResult
saveUserDetail
(
String
key
,
String
phoneNo
,
@ChineseName
@RequestParam
String
name
,
@Request
Param
(
value
=
"tenantId"
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
@ChineseName
@RequestParam
String
name
,
@Request
Header
(
value
=
Constants
.
X_AUTH_TENANT
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
)
{
if
(!
Objects
.
equals
(
KEY
,
key
))
{
if
(!
Objects
.
equals
(
KEY
,
key
))
{
return
JsonResult
.
buildErrorStateResult
(
null
,
null
);
return
JsonResult
.
buildErrorStateResult
(
null
,
null
);
...
@@ -90,7 +92,7 @@ public class SyncUserController {
...
@@ -90,7 +92,7 @@ public class SyncUserController {
}
}
@RequestMapping
(
"/user"
)
@RequestMapping
(
"/user"
)
public
JsonResult
fetchUser
(
String
key
,
String
phoneNo
,
@Request
Param
(
value
=
"tenantId"
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
public
JsonResult
fetchUser
(
String
key
,
String
phoneNo
,
@Request
Header
(
value
=
Constants
.
X_AUTH_TENANT
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
)
{
if
(!
Objects
.
equals
(
KEY
,
key
)
||
!
ValidationUtil
.
validatePhoneNo
(
phoneNo
))
{
if
(!
Objects
.
equals
(
KEY
,
key
)
||
!
ValidationUtil
.
validatePhoneNo
(
phoneNo
))
{
return
JsonResult
.
buildErrorStateResult
(
null
,
null
);
return
JsonResult
.
buildErrorStateResult
(
null
,
null
);
...
@@ -105,7 +107,7 @@ public class SyncUserController {
...
@@ -105,7 +107,7 @@ public class SyncUserController {
}
}
@RequestMapping
(
"/user_uuid"
)
@RequestMapping
(
"/user_uuid"
)
public
JsonResult
fetchUserByUuid
(
String
key
,
String
uuid
,
@Request
Param
(
value
=
"tenantId"
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
public
JsonResult
fetchUserByUuid
(
String
key
,
String
uuid
,
@Request
Header
(
value
=
Constants
.
X_AUTH_TENANT
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
if
(
StringUtils
.
isEmpty
(
key
)
||
!
KEY
.
equals
(
key
))
{
if
(
StringUtils
.
isEmpty
(
key
)
||
!
KEY
.
equals
(
key
))
{
return
JsonResult
.
buildErrorStateResult
(
null
,
null
);
return
JsonResult
.
buildErrorStateResult
(
null
,
null
);
}
}
...
@@ -128,7 +130,7 @@ public class SyncUserController {
...
@@ -128,7 +130,7 @@ public class SyncUserController {
*/
*/
@IpValidator
@IpValidator
@RequestMapping
(
"/listByUserIds"
)
@RequestMapping
(
"/listByUserIds"
)
public
JsonResult
listByUserIds
(
String
userIds
,
@Request
Param
(
value
=
"tenantId"
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
public
JsonResult
listByUserIds
(
String
userIds
,
@Request
Header
(
value
=
Constants
.
X_AUTH_TENANT
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
// 过滤掉合法的多个数值串间的空白值
// 过滤掉合法的多个数值串间的空白值
userIds
=
ValidationUtil
.
filterNumbers
(
userIds
);
userIds
=
ValidationUtil
.
filterNumbers
(
userIds
);
if
(!
ValidationUtil
.
validateNumbers
(
userIds
))
{
if
(!
ValidationUtil
.
validateNumbers
(
userIds
))
{
...
...
src/main/java/cn/quantgroup/xyqb/controller/internal/user/UserApiController.java
View file @
5942f5df
...
@@ -40,7 +40,7 @@ public class UserApiController {
...
@@ -40,7 +40,7 @@ public class UserApiController {
private
ISmsService
smsService
;
private
ISmsService
smsService
;
@RequestMapping
(
"/user/is_passwd_set"
)
@RequestMapping
(
"/user/is_passwd_set"
)
public
JsonResult
isPasswordSet
(
String
phoneNo
,
@Request
Param
(
value
=
"tenantId"
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
public
JsonResult
isPasswordSet
(
String
phoneNo
,
@Request
Header
(
value
=
Constants
.
X_AUTH_TENANT
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
if
(
StringUtils
.
isEmpty
(
phoneNo
))
{
if
(
StringUtils
.
isEmpty
(
phoneNo
))
{
return
JsonResult
.
buildErrorStateResult
(
null
,
null
);
return
JsonResult
.
buildErrorStateResult
(
null
,
null
);
}
}
...
@@ -67,7 +67,7 @@ public class UserApiController {
...
@@ -67,7 +67,7 @@ public class UserApiController {
public
JsonResult
checkToken
(
public
JsonResult
checkToken
(
@PathVariable
(
"token"
)
String
token
,
@PathVariable
(
"token"
)
String
token
,
@RequestParam
(
name
=
"prolong"
,
required
=
false
,
defaultValue
=
"false"
)
Boolean
prolong
,
@RequestParam
(
name
=
"prolong"
,
required
=
false
,
defaultValue
=
"false"
)
Boolean
prolong
,
@RequestParam
(
name
=
"prolongTime"
,
required
=
false
,
defaultValue
=
"86400"
)
Long
prolongTime
,
@Request
Param
(
value
=
"tenantId"
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
@RequestParam
(
name
=
"prolongTime"
,
required
=
false
,
defaultValue
=
"86400"
)
Long
prolongTime
,
@Request
Header
(
value
=
Constants
.
X_AUTH_TENANT
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
if
(
Objects
.
isNull
(
token
)
||
!
ValidationUtil
.
validateToken
(
token
))
{
if
(
Objects
.
isNull
(
token
)
||
!
ValidationUtil
.
validateToken
(
token
))
{
return
JsonResult
.
buildErrorStateResult
(
"token regular invalid "
,
token
);
return
JsonResult
.
buildErrorStateResult
(
"token regular invalid "
,
token
);
}
}
...
...
src/main/java/cn/quantgroup/xyqb/controller/internal/user/center/UserCenterController.java
View file @
5942f5df
...
@@ -82,7 +82,7 @@ public class UserCenterController {
...
@@ -82,7 +82,7 @@ public class UserCenterController {
* @return
* @return
*/
*/
@RequestMapping
(
"/queryNick"
)
@RequestMapping
(
"/queryNick"
)
public
JsonResult
queryUserNick
(
String
phoneNo
,
@Request
Param
(
value
=
"tenantId"
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
public
JsonResult
queryUserNick
(
String
phoneNo
,
@Request
Header
(
value
=
Constants
.
X_AUTH_TENANT
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
if
(
StringUtils
.
isEmpty
(
phoneNo
))
{
if
(
StringUtils
.
isEmpty
(
phoneNo
))
{
log
.
error
(
"手机号为空,phoneNo:{}"
,
phoneNo
);
log
.
error
(
"手机号为空,phoneNo:{}"
,
phoneNo
);
return
JsonResult
.
buildErrorStateResult
(
"参数不合法"
,
null
);
return
JsonResult
.
buildErrorStateResult
(
"参数不合法"
,
null
);
...
@@ -107,7 +107,7 @@ public class UserCenterController {
...
@@ -107,7 +107,7 @@ public class UserCenterController {
* @return
* @return
*/
*/
@RequestMapping
(
"/saveNick"
)
@RequestMapping
(
"/saveNick"
)
public
JsonResult
saveUserNick
(
String
phoneNo
,
String
nick
,
@Request
Param
(
value
=
"tenantId"
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
public
JsonResult
saveUserNick
(
String
phoneNo
,
String
nick
,
@Request
Header
(
value
=
Constants
.
X_AUTH_TENANT
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
if
(
StringUtils
.
isEmpty
(
phoneNo
))
{
if
(
StringUtils
.
isEmpty
(
phoneNo
))
{
log
.
error
(
"手机号为空,phoneNo:{}"
,
phoneNo
);
log
.
error
(
"手机号为空,phoneNo:{}"
,
phoneNo
);
return
JsonResult
.
buildErrorStateResult
(
"参数不合法"
,
null
);
return
JsonResult
.
buildErrorStateResult
(
"参数不合法"
,
null
);
...
@@ -154,7 +154,7 @@ public class UserCenterController {
...
@@ -154,7 +154,7 @@ public class UserCenterController {
* @return
* @return
*/
*/
@RequestMapping
(
"/save/avatar"
)
@RequestMapping
(
"/save/avatar"
)
public
JsonResult
SaveUserAvatarAddr
(
String
phoneNo
,
String
avatarUrl
,
@Request
Param
(
value
=
"tenantId"
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
public
JsonResult
SaveUserAvatarAddr
(
String
phoneNo
,
String
avatarUrl
,
@Request
Header
(
value
=
Constants
.
X_AUTH_TENANT
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
if
(
StringUtils
.
isBlank
(
avatarUrl
)
||
StringUtils
.
isBlank
(
phoneNo
))
{
if
(
StringUtils
.
isBlank
(
avatarUrl
)
||
StringUtils
.
isBlank
(
phoneNo
))
{
log
.
error
(
"参数不合法:avatarUrl:{}, phoneNo:{}"
,
avatarUrl
,
phoneNo
);
log
.
error
(
"参数不合法:avatarUrl:{}, phoneNo:{}"
,
avatarUrl
,
phoneNo
);
return
JsonResult
.
buildErrorStateResult
(
"参数不合法"
,
null
);
return
JsonResult
.
buildErrorStateResult
(
"参数不合法"
,
null
);
...
@@ -181,7 +181,7 @@ public class UserCenterController {
...
@@ -181,7 +181,7 @@ public class UserCenterController {
* @return
* @return
*/
*/
@RequestMapping
(
"/query/verified"
)
@RequestMapping
(
"/query/verified"
)
public
JsonResult
queryVerified
(
String
phoneNo
,
@Request
Param
(
value
=
"tenantId"
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
public
JsonResult
queryVerified
(
String
phoneNo
,
@Request
Header
(
value
=
Constants
.
X_AUTH_TENANT
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
if
(
StringUtils
.
isEmpty
(
phoneNo
))
{
if
(
StringUtils
.
isEmpty
(
phoneNo
))
{
log
.
error
(
"手机号为空,phoneNo:{}"
,
phoneNo
);
log
.
error
(
"手机号为空,phoneNo:{}"
,
phoneNo
);
return
JsonResult
.
buildErrorStateResult
(
"参数不合法"
,
null
);
return
JsonResult
.
buildErrorStateResult
(
"参数不合法"
,
null
);
...
@@ -207,7 +207,7 @@ public class UserCenterController {
...
@@ -207,7 +207,7 @@ public class UserCenterController {
@AccessForbiddenValidator
@AccessForbiddenValidator
@PasswordFreeAccessValidator
@PasswordFreeAccessValidator
@RequestMapping
(
"/personalData"
)
@RequestMapping
(
"/personalData"
)
public
JsonResult
personalData
(
String
phoneNo
,
@Request
Param
(
value
=
"tenantId"
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
public
JsonResult
personalData
(
String
phoneNo
,
@Request
Header
(
value
=
Constants
.
X_AUTH_TENANT
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
if
(
StringUtils
.
isBlank
(
phoneNo
))
{
if
(
StringUtils
.
isBlank
(
phoneNo
))
{
log
.
error
(
"手机号为空,phoneNo:{}"
,
phoneNo
);
log
.
error
(
"手机号为空,phoneNo:{}"
,
phoneNo
);
return
JsonResult
.
buildErrorStateResult
(
"参数不合法"
,
null
);
return
JsonResult
.
buildErrorStateResult
(
"参数不合法"
,
null
);
...
...
src/main/java/cn/quantgroup/xyqb/controller/middleoffice/applet/AppletController.java
View file @
5942f5df
package
cn
.
quantgroup
.
xyqb
.
controller
.
middleoffice
.
applet
;
package
cn
.
quantgroup
.
xyqb
.
controller
.
middleoffice
.
applet
;
import
cn.quantgroup.xyqb.Constants
;
import
cn.quantgroup.xyqb.constant.UserConstant
;
import
cn.quantgroup.xyqb.constant.UserConstant
;
import
cn.quantgroup.xyqb.controller.middleoffice.login.ILoginModule
;
import
cn.quantgroup.xyqb.controller.middleoffice.login.ILoginModule
;
import
cn.quantgroup.xyqb.controller.middleoffice.login.LoginVo
;
import
cn.quantgroup.xyqb.controller.middleoffice.login.LoginVo
;
...
@@ -65,7 +66,7 @@ public class AppletController {
...
@@ -65,7 +66,7 @@ public class AppletController {
*/
*/
@Validated
@Validated
@PostMapping
(
"/login"
)
@PostMapping
(
"/login"
)
public
JsonResult
login
(
@RequestParam
String
appName
,
@RequestParam
String
openId
,
@RequestParam
(
required
=
false
)
Integer
tenantId
,
String
utmSource
,
@RequestParam
(
required
=
false
)
Integer
appNo
,
@RequestParam
(
required
=
false
)
String
unionId
,
@Request
Param
(
value
=
"appId"
,
defaultValue
=
UserConstant
.
defaultAppId
)
String
appId
)
{
public
JsonResult
login
(
@RequestParam
String
appName
,
@RequestParam
String
openId
,
@RequestParam
(
required
=
false
)
Integer
tenantId
,
String
utmSource
,
@RequestParam
(
required
=
false
)
Integer
appNo
,
@RequestParam
(
required
=
false
)
String
unionId
,
@Request
Header
(
value
=
Constants
.
X_AUTH_APP_ID
,
defaultValue
=
UserConstant
.
defaultAppId
)
String
appId
)
{
if
(!
containsAppName
(
appName
))
{
if
(!
containsAppName
(
appName
))
{
throw
new
DataException
(
"appName不合法"
);
throw
new
DataException
(
"appName不合法"
);
}
}
...
...
src/main/java/cn/quantgroup/xyqb/controller/middleoffice/login/LoginController.java
View file @
5942f5df
package
cn
.
quantgroup
.
xyqb
.
controller
.
middleoffice
.
login
;
package
cn
.
quantgroup
.
xyqb
.
controller
.
middleoffice
.
login
;
import
cn.quantgroup.xyqb.Constants
;
import
cn.quantgroup.xyqb.constant.UserConstant
;
import
cn.quantgroup.xyqb.constant.UserConstant
;
import
cn.quantgroup.xyqb.controller.middleoffice.common.VerifyTypeEnum
;
import
cn.quantgroup.xyqb.controller.middleoffice.common.VerifyTypeEnum
;
import
cn.quantgroup.xyqb.model.JsonResult
;
import
cn.quantgroup.xyqb.model.JsonResult
;
...
@@ -27,20 +28,20 @@ public class LoginController {
...
@@ -27,20 +28,20 @@ public class LoginController {
@RequestParam
(
required
=
false
)
String
appChannel
,
@RequestParam
(
required
=
false
)
String
appChannel
,
@RequestParam
(
required
=
false
)
String
wechatOpenId
,
@RequestParam
(
required
=
false
)
String
wechatOpenId
,
@RequestParam
String
phoneNo
,
@RequestParam
String
phoneNo
,
@RequestParam
(
required
=
false
)
String
verify
,
@Request
Param
(
value
=
"tenantId"
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
@RequestParam
(
required
=
false
)
String
verify
,
@Request
Header
(
value
=
Constants
.
X_AUTH_TENANT
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
)
{
LoginVo
login
=
loginModule
.
login
(
type
,
autoReg
,
channelId
,
appChannel
,
wechatOpenId
,
phoneNo
,
verify
,
tenantId
);
LoginVo
login
=
loginModule
.
login
(
type
,
autoReg
,
channelId
,
appChannel
,
wechatOpenId
,
phoneNo
,
verify
,
tenantId
);
return
JsonResult
.
buildSuccessResultGeneric
(
login
);
return
JsonResult
.
buildSuccessResultGeneric
(
login
);
}
}
@PatchMapping
(
"/modify/pwd"
)
@PatchMapping
(
"/modify/pwd"
)
public
JsonResult
modifyByPwd
(
String
phoneNo
,
String
password
,
String
passwordNew
,
@Request
Param
(
value
=
"tenantId"
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
public
JsonResult
modifyByPwd
(
String
phoneNo
,
String
password
,
String
passwordNew
,
@Request
Header
(
value
=
Constants
.
X_AUTH_TENANT
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
loginModule
.
modifyPwd
(
VerifyTypeEnum
.
pwd
,
phoneNo
,
password
,
passwordNew
,
tenantId
);
loginModule
.
modifyPwd
(
VerifyTypeEnum
.
pwd
,
phoneNo
,
password
,
passwordNew
,
tenantId
);
return
JsonResult
.
buildSuccessResult
();
return
JsonResult
.
buildSuccessResult
();
}
}
@PatchMapping
(
"/modify/sms"
)
@PatchMapping
(
"/modify/sms"
)
public
JsonResult
modifyBySms
(
String
phoneNo
,
String
password
,
String
verificationCode
,
@Request
Param
(
value
=
"tenantId"
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
public
JsonResult
modifyBySms
(
String
phoneNo
,
String
password
,
String
verificationCode
,
@Request
Header
(
value
=
Constants
.
X_AUTH_TENANT
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
loginModule
.
modifyPwd
(
VerifyTypeEnum
.
sms
,
phoneNo
,
password
,
verificationCode
,
tenantId
);
loginModule
.
modifyPwd
(
VerifyTypeEnum
.
sms
,
phoneNo
,
password
,
verificationCode
,
tenantId
);
return
JsonResult
.
buildSuccessResult
();
return
JsonResult
.
buildSuccessResult
();
}
}
...
...
src/main/java/cn/quantgroup/xyqb/controller/middleoffice/user/UserController.java
View file @
5942f5df
package
cn
.
quantgroup
.
xyqb
.
controller
.
middleoffice
.
user
;
package
cn
.
quantgroup
.
xyqb
.
controller
.
middleoffice
.
user
;
import
cn.quantgroup.xyqb.Constants
;
import
cn.quantgroup.xyqb.constant.UserConstant
;
import
cn.quantgroup.xyqb.constant.UserConstant
;
import
cn.quantgroup.xyqb.entity.User
;
import
cn.quantgroup.xyqb.entity.User
;
import
cn.quantgroup.xyqb.event.DisableActiveEvent
;
import
cn.quantgroup.xyqb.event.DisableActiveEvent
;
...
@@ -35,7 +36,7 @@ public class UserController {
...
@@ -35,7 +36,7 @@ public class UserController {
private
ISessionService
sessionService
;
private
ISessionService
sessionService
;
@PutMapping
(
"/enable/{userId}"
)
@PutMapping
(
"/enable/{userId}"
)
public
JsonResult
enable
(
@PathVariable
Long
userId
,
@Request
Param
(
value
=
"tenantId"
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
public
JsonResult
enable
(
@PathVariable
Long
userId
,
@Request
Header
(
value
=
Constants
.
X_AUTH_TENANT
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
User
user
=
userService
.
findById
(
userId
,
tenantId
);
User
user
=
userService
.
findById
(
userId
,
tenantId
);
if
(
user
==
null
)
{
if
(
user
==
null
)
{
//todo 用户不存在,怎么处理
//todo 用户不存在,怎么处理
...
@@ -49,7 +50,7 @@ public class UserController {
...
@@ -49,7 +50,7 @@ public class UserController {
}
}
@PutMapping
(
"/disable/{userId}"
)
@PutMapping
(
"/disable/{userId}"
)
public
JsonResult
disable
(
@PathVariable
Long
userId
,
@Request
Param
(
value
=
"tenantId"
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
public
JsonResult
disable
(
@PathVariable
Long
userId
,
@Request
Header
(
value
=
Constants
.
X_AUTH_TENANT
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
User
user
=
userService
.
findById
(
userId
,
tenantId
);
User
user
=
userService
.
findById
(
userId
,
tenantId
);
if
(
user
==
null
)
{
if
(
user
==
null
)
{
//todo 用户不存在,怎么处理
//todo 用户不存在,怎么处理
...
@@ -68,7 +69,7 @@ public class UserController {
...
@@ -68,7 +69,7 @@ public class UserController {
}
}
@GetMapping
(
"/userId/{userId}"
)
@GetMapping
(
"/userId/{userId}"
)
public
JsonResult
user
(
@PathVariable
Long
userId
,
@Request
Param
(
value
=
"tenantId"
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
public
JsonResult
user
(
@PathVariable
Long
userId
,
@Request
Header
(
value
=
Constants
.
X_AUTH_TENANT
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
User
user
=
userService
.
findById
(
userId
,
tenantId
);
User
user
=
userService
.
findById
(
userId
,
tenantId
);
//TODO convert to userVO
//TODO convert to userVO
return
JsonResult
.
buildSuccessResultGeneric
(
user
);
return
JsonResult
.
buildSuccessResultGeneric
(
user
);
...
@@ -76,14 +77,14 @@ public class UserController {
...
@@ -76,14 +77,14 @@ public class UserController {
@GetMapping
(
"/phoneNo/{phoneNo}"
)
@GetMapping
(
"/phoneNo/{phoneNo}"
)
public
JsonResult
user
(
@PathVariable
String
phoneNo
,
@Request
Param
(
value
=
"tenantId"
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
public
JsonResult
user
(
@PathVariable
String
phoneNo
,
@Request
Header
(
value
=
Constants
.
X_AUTH_TENANT
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
User
user
=
userService
.
findByPhoneInDb
(
phoneNo
,
tenantId
);
User
user
=
userService
.
findByPhoneInDb
(
phoneNo
,
tenantId
);
//TODO convert to userVO
//TODO convert to userVO
return
JsonResult
.
buildSuccessResultGeneric
(
user
);
return
JsonResult
.
buildSuccessResultGeneric
(
user
);
}
}
@GetMapping
(
"/uuid/{uuid}"
)
@GetMapping
(
"/uuid/{uuid}"
)
public
JsonResult
uuid
(
@PathVariable
String
uuid
,
@Request
Param
(
value
=
"tenantId"
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
public
JsonResult
uuid
(
@PathVariable
String
uuid
,
@Request
Header
(
value
=
Constants
.
X_AUTH_TENANT
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
User
user
=
userService
.
findByUuidWithCache
(
uuid
,
tenantId
);
User
user
=
userService
.
findByUuidWithCache
(
uuid
,
tenantId
);
//TODO convert to userVO
//TODO convert to userVO
return
JsonResult
.
buildSuccessResultGeneric
(
user
);
return
JsonResult
.
buildSuccessResultGeneric
(
user
);
...
...
src/main/java/cn/quantgroup/xyqb/controller/middleoffice/userdetail/UserDetailController.java
View file @
5942f5df
package
cn
.
quantgroup
.
xyqb
.
controller
.
middleoffice
.
userdetail
;
package
cn
.
quantgroup
.
xyqb
.
controller
.
middleoffice
.
userdetail
;
import
cn.quantgroup.xyqb.Constants
;
import
cn.quantgroup.xyqb.constant.UserConstant
;
import
cn.quantgroup.xyqb.constant.UserConstant
;
import
cn.quantgroup.xyqb.controller.middleoffice.userdetail.req.UserDetailReq
;
import
cn.quantgroup.xyqb.controller.middleoffice.userdetail.req.UserDetailReq
;
import
cn.quantgroup.xyqb.entity.User
;
import
cn.quantgroup.xyqb.entity.User
;
...
@@ -37,7 +38,7 @@ public class UserDetailController {
...
@@ -37,7 +38,7 @@ public class UserDetailController {
*/
*/
@PutMapping
(
"/{userId}"
)
@PutMapping
(
"/{userId}"
)
public
JsonResult
update
(
@PathVariable
Long
userId
,
public
JsonResult
update
(
@PathVariable
Long
userId
,
@Valid
@RequestBody
UserDetailReq
userDetailReq
,
@Request
Param
(
value
=
"tenantId"
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
@Valid
@RequestBody
UserDetailReq
userDetailReq
,
@Request
Header
(
value
=
Constants
.
X_AUTH_TENANT
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
UserInfoEntity
userDetail
=
userInfoRepository
.
findByUserIdAndTenantId
(
userId
,
tenantId
);
UserInfoEntity
userDetail
=
userInfoRepository
.
findByUserIdAndTenantId
(
userId
,
tenantId
);
if
(
userDetail
==
null
)
{
if
(
userDetail
==
null
)
{
return
save
(
userId
,
userDetailReq
,
tenantId
);
return
save
(
userId
,
userDetailReq
,
tenantId
);
...
@@ -58,7 +59,7 @@ public class UserDetailController {
...
@@ -58,7 +59,7 @@ public class UserDetailController {
*/
*/
@PostMapping
(
"/{userId}"
)
@PostMapping
(
"/{userId}"
)
public
JsonResult
save
(
@PathVariable
Long
userId
,
public
JsonResult
save
(
@PathVariable
Long
userId
,
@Valid
@RequestBody
UserDetailReq
userDetailReq
,
@Request
Param
(
value
=
"tenantId"
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
@Valid
@RequestBody
UserDetailReq
userDetailReq
,
@Request
Header
(
value
=
Constants
.
X_AUTH_TENANT
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
UserInfoEntity
userDetail
=
userInfoRepository
.
findByUserIdAndTenantId
(
userId
,
tenantId
);
UserInfoEntity
userDetail
=
userInfoRepository
.
findByUserIdAndTenantId
(
userId
,
tenantId
);
if
(
userDetail
!=
null
)
{
if
(
userDetail
!=
null
)
{
return
JsonResult
.
buildSuccessResultGeneric
(
userDetail
);
return
JsonResult
.
buildSuccessResultGeneric
(
userDetail
);
...
@@ -82,7 +83,7 @@ public class UserDetailController {
...
@@ -82,7 +83,7 @@ public class UserDetailController {
* @return
* @return
*/
*/
@GetMapping
(
"/userId/{userId}"
)
@GetMapping
(
"/userId/{userId}"
)
public
JsonResult
query
(
@PathVariable
Long
userId
,
@Request
Param
(
value
=
"tenantId"
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
public
JsonResult
query
(
@PathVariable
Long
userId
,
@Request
Header
(
value
=
Constants
.
X_AUTH_TENANT
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
UserInfoEntity
userDetail
=
userInfoRepository
.
findByUserIdAndTenantId
(
userId
,
tenantId
);
UserInfoEntity
userDetail
=
userInfoRepository
.
findByUserIdAndTenantId
(
userId
,
tenantId
);
return
JsonResult
.
buildSuccessResultGeneric
(
userDetail
);
return
JsonResult
.
buildSuccessResultGeneric
(
userDetail
);
}
}
...
@@ -94,7 +95,7 @@ public class UserDetailController {
...
@@ -94,7 +95,7 @@ public class UserDetailController {
* @return
* @return
*/
*/
@GetMapping
(
"/phoneNo/{phoneNo}"
)
@GetMapping
(
"/phoneNo/{phoneNo}"
)
public
JsonResult
query
(
@PathVariable
String
phoneNo
,
@Request
Param
(
value
=
"tenantId"
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
public
JsonResult
query
(
@PathVariable
String
phoneNo
,
@Request
Header
(
value
=
Constants
.
X_AUTH_TENANT
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
UserInfoEntity
userDetail
=
userInfoRepository
.
findByPhoneNoAndTenantId
(
phoneNo
,
tenantId
);
UserInfoEntity
userDetail
=
userInfoRepository
.
findByPhoneNoAndTenantId
(
phoneNo
,
tenantId
);
return
JsonResult
.
buildSuccessResultGeneric
(
userDetail
);
return
JsonResult
.
buildSuccessResultGeneric
(
userDetail
);
}
}
...
...
src/main/java/cn/quantgroup/xyqb/controller/middleoffice/userext/UserExtController.java
View file @
5942f5df
package
cn
.
quantgroup
.
xyqb
.
controller
.
middleoffice
.
userext
;
package
cn
.
quantgroup
.
xyqb
.
controller
.
middleoffice
.
userext
;
import
cn.quantgroup.xyqb.Constants
;
import
cn.quantgroup.xyqb.constant.UserConstant
;
import
cn.quantgroup.xyqb.constant.UserConstant
;
import
cn.quantgroup.xyqb.controller.middleoffice.userext.req.UserExtReq
;
import
cn.quantgroup.xyqb.controller.middleoffice.userext.req.UserExtReq
;
import
cn.quantgroup.xyqb.model.JsonResult
;
import
cn.quantgroup.xyqb.model.JsonResult
;
...
@@ -29,7 +30,7 @@ public class UserExtController {
...
@@ -29,7 +30,7 @@ public class UserExtController {
//todo 保存失败的各种场景。
//todo 保存失败的各种场景。
@PutMapping
(
"/{userId}"
)
@PutMapping
(
"/{userId}"
)
public
JsonResult
ext
(
@PathVariable
Long
userId
,
@RequestBody
UserExtReq
userExtReq
,
@Request
Param
(
value
=
"tenantId"
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
public
JsonResult
ext
(
@PathVariable
Long
userId
,
@RequestBody
UserExtReq
userExtReq
,
@Request
Header
(
value
=
Constants
.
X_AUTH_TENANT
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
if
(
userExtReq
.
getEmail
()
!=
null
)
{
if
(
userExtReq
.
getEmail
()
!=
null
)
{
userInfoRepository
.
updateUserEmail
(
userExtReq
.
getEmail
(),
userId
,
tenantId
);
userInfoRepository
.
updateUserEmail
(
userExtReq
.
getEmail
(),
userId
,
tenantId
);
}
}
...
...
src/main/java/cn/quantgroup/xyqb/controller/middleoffice/wx/WxController.java
View file @
5942f5df
package
cn
.
quantgroup
.
xyqb
.
controller
.
middleoffice
.
wx
;
package
cn
.
quantgroup
.
xyqb
.
controller
.
middleoffice
.
wx
;
import
cn.quantgroup.xyqb.Constants
;
import
cn.quantgroup.xyqb.constant.UserConstant
;
import
cn.quantgroup.xyqb.constant.UserConstant
;
import
cn.quantgroup.xyqb.entity.WechatUserInfo
;
import
cn.quantgroup.xyqb.entity.WechatUserInfo
;
import
cn.quantgroup.xyqb.model.JsonResult
;
import
cn.quantgroup.xyqb.model.JsonResult
;
...
@@ -82,7 +83,7 @@ public class WxController {
...
@@ -82,7 +83,7 @@ public class WxController {
}
}
@PatchMapping
(
"/forbidden/{userId}"
)
@PatchMapping
(
"/forbidden/{userId}"
)
public
JsonResult
forbidden
(
@PathVariable
Long
userId
,
String
reason
,
@Request
Param
(
value
=
"tenantId"
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
public
JsonResult
forbidden
(
@PathVariable
Long
userId
,
String
reason
,
@Request
Header
(
value
=
Constants
.
X_AUTH_TENANT
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
int
res
=
wechatService
.
forbiddenUserWeChat
(
userId
,
tenantId
);
int
res
=
wechatService
.
forbiddenUserWeChat
(
userId
,
tenantId
);
log
.
info
(
"取消微信关联 userId:{},reason:{},结果:{}"
,
userId
,
reason
,
res
);
log
.
info
(
"取消微信关联 userId:{},reason:{},结果:{}"
,
userId
,
reason
,
res
);
return
JsonResult
.
buildSuccessResultGeneric
(
res
);
return
JsonResult
.
buildSuccessResultGeneric
(
res
);
...
@@ -92,7 +93,7 @@ public class WxController {
...
@@ -92,7 +93,7 @@ public class WxController {
*
*
*/
*/
@PostMapping
(
"/v1/getByOpenIdToUserIds"
)
@PostMapping
(
"/v1/getByOpenIdToUserIds"
)
public
JsonResult
getByOpenIdToUserIds
(
@RequestBody
Map
<
String
,
Object
>
params
,
@RequestParam
(
required
=
false
,
defaultValue
=
"wuxi"
)
String
appName
,
@Request
Param
(
value
=
"tenantId"
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
public
JsonResult
getByOpenIdToUserIds
(
@RequestBody
Map
<
String
,
Object
>
params
,
@RequestParam
(
required
=
false
,
defaultValue
=
"wuxi"
)
String
appName
,
@Request
Header
(
value
=
Constants
.
X_AUTH_TENANT
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
log
.
info
(
"根据userIds获取用户的openId {}, appName:{}"
,
params
,
appName
);
log
.
info
(
"根据userIds获取用户的openId {}, appName:{}"
,
params
,
appName
);
List
<
Integer
>
userIds
=
(
List
<
Integer
>)
params
.
get
(
"userIds"
);
List
<
Integer
>
userIds
=
(
List
<
Integer
>)
params
.
get
(
"userIds"
);
if
(
userIds
.
isEmpty
())
{
if
(
userIds
.
isEmpty
())
{
...
...
src/main/java/cn/quantgroup/xyqb/controller/modifyphoneno/ModifyPhoneNoController.java
View file @
5942f5df
package
cn
.
quantgroup
.
xyqb
.
controller
.
modifyphoneno
;
package
cn
.
quantgroup
.
xyqb
.
controller
.
modifyphoneno
;
import
cn.quantgroup.xyqb.Constants
;
import
cn.quantgroup.xyqb.constant.UserConstant
;
import
cn.quantgroup.xyqb.constant.UserConstant
;
import
cn.quantgroup.xyqb.controller.IBaseController
;
import
cn.quantgroup.xyqb.controller.IBaseController
;
import
cn.quantgroup.xyqb.controller.modifyphoneno.req.*
;
import
cn.quantgroup.xyqb.controller.modifyphoneno.req.*
;
...
@@ -52,7 +53,7 @@ public class ModifyPhoneNoController implements IBaseController {
...
@@ -52,7 +53,7 @@ public class ModifyPhoneNoController implements IBaseController {
* @return
* @return
*/
*/
@PostMapping
(
"/step_1"
)
@PostMapping
(
"/step_1"
)
public
JsonResult
step1
(
@Valid
@RequestBody
Step1Req
step1Req
,
@Request
Param
(
value
=
"tenantId"
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
public
JsonResult
step1
(
@Valid
@RequestBody
Step1Req
step1Req
,
@Request
Header
(
value
=
Constants
.
X_AUTH_TENANT
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
User
user
=
getCurrentUserFromRedis
();
User
user
=
getCurrentUserFromRedis
();
if
(
user
==
null
)
{
if
(
user
==
null
)
{
return
JsonResult
.
buildErrorStateResult
(
"系统错误"
,
null
);
return
JsonResult
.
buildErrorStateResult
(
"系统错误"
,
null
);
...
@@ -92,7 +93,7 @@ public class ModifyPhoneNoController implements IBaseController {
...
@@ -92,7 +93,7 @@ public class ModifyPhoneNoController implements IBaseController {
* 后台客服处理功能 - 人工审核
* 后台客服处理功能 - 人工审核
*/
*/
@PostMapping
(
"/audit"
)
@PostMapping
(
"/audit"
)
public
JsonResult
audit
(
@Valid
@RequestBody
AuditReq
auditReq
,
@Request
Param
(
value
=
"tenantId"
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
public
JsonResult
audit
(
@Valid
@RequestBody
AuditReq
auditReq
,
@Request
Header
(
value
=
Constants
.
X_AUTH_TENANT
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
)
{
modifyPhoneNoService
.
audit
(
auditReq
,
tenantId
);
modifyPhoneNoService
.
audit
(
auditReq
,
tenantId
);
return
JsonResult
.
buildSuccessResult
();
return
JsonResult
.
buildSuccessResult
();
}
}
...
@@ -162,7 +163,7 @@ public class ModifyPhoneNoController implements IBaseController {
...
@@ -162,7 +163,7 @@ public class ModifyPhoneNoController implements IBaseController {
}
}
@PostMapping
(
"/rejectReason/save"
)
@PostMapping
(
"/rejectReason/save"
)
public
JsonResult
saveRejectReason
(
@Valid
@RequestBody
ModifyRejectRecord
modifyRejectRecord
,
@Request
Param
(
value
=
"tenantId"
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
){
public
JsonResult
saveRejectReason
(
@Valid
@RequestBody
ModifyRejectRecord
modifyRejectRecord
,
@Request
Header
(
value
=
Constants
.
X_AUTH_TENANT
,
defaultValue
=
UserConstant
.
defaultTenantIdString
)
Integer
tenantId
){
modifyPhoneNoService
.
saveRejectReason
(
modifyRejectRecord
,
tenantId
);
modifyPhoneNoService
.
saveRejectReason
(
modifyRejectRecord
,
tenantId
);
return
JsonResult
.
buildSuccessResult
(
"保存手机号修改失败原因成功"
);
return
JsonResult
.
buildSuccessResult
(
"保存手机号修改失败原因成功"
);
}
}
...
...
src/main/java/cn/quantgroup/xyqb/exception/BizException.java
View file @
5942f5df
...
@@ -16,4 +16,9 @@ public class BizException extends RuntimeException {
...
@@ -16,4 +16,9 @@ public class BizException extends RuntimeException {
this
.
msg
=
bizExceptionEnum
.
getMsg
();
this
.
msg
=
bizExceptionEnum
.
getMsg
();
this
.
businessCode
=
bizExceptionEnum
.
getBusinessCode
();
this
.
businessCode
=
bizExceptionEnum
.
getBusinessCode
();
}
}
public
BizException
(
BizExceptionEnum
bizExceptionEnum
,
String
attach
)
{
this
.
msg
=
bizExceptionEnum
.
getMsg
()+
attach
;
this
.
businessCode
=
bizExceptionEnum
.
getBusinessCode
();
}
}
}
src/main/java/cn/quantgroup/xyqb/exception/BizExceptionEnum.java
View file @
5942f5df
...
@@ -17,6 +17,8 @@ public enum BizExceptionEnum {
...
@@ -17,6 +17,8 @@ public enum BizExceptionEnum {
ERROR_SMS_CODE
(
"1006"
,
"短信验证码错误"
),
ERROR_SMS_CODE
(
"1006"
,
"短信验证码错误"
),
ERROR_OR_ENABLE_ERROR
(
"1007"
,
"账号异常,请联系平台客服。"
),
ERROR_OR_ENABLE_ERROR
(
"1007"
,
"账号异常,请联系平台客服。"
),
ERROR_DIRECT_LOGIN
(
"1008"
,
"极验登录验证失败"
),
ERROR_DIRECT_LOGIN
(
"1008"
,
"极验登录验证失败"
),
ERROR_WECHAT_APP_ID
(
"1009"
,
"请先配置微信appId"
),
ERROR_WECHAT_LOGIN
(
"1010"
,
"微信登录失败"
),
// 验证码相关 20 开头
// 验证码相关 20 开头
...
...
src/main/java/cn/quantgroup/xyqb/model/WechatConfigBean.java
0 → 100644
View file @
5942f5df
package
cn
.
quantgroup
.
xyqb
.
model
;
import
lombok.Data
;
@Data
public
class
WechatConfigBean
{
private
Integer
tenantId
;
private
String
appId
;
private
String
appSecret
;
/**
* 0:为小程序
*/
private
Integer
type
;
}
src/main/java/cn/quantgroup/xyqb/model/WechatPhoneBean.java
0 → 100644
View file @
5942f5df
package
cn
.
quantgroup
.
xyqb
.
model
;
import
lombok.Data
;
@Data
public
class
WechatPhoneBean
{
private
Integer
errcode
;
private
String
errmsg
;
private
Phone
phone_info
;
@Data
public
static
class
Phone
{
private
String
phoneNumber
;
private
String
purePhoneNumber
;
private
String
countryCode
;
}
}
src/main/java/cn/quantgroup/xyqb/model/v2/login/WechatMiniLoginParam.java
0 → 100644
View file @
5942f5df
package
cn
.
quantgroup
.
xyqb
.
model
.
v2
.
login
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
@EqualsAndHashCode
(
callSuper
=
true
)
@Data
public
class
WechatMiniLoginParam
extends
BaseLoginParam
{
/**
* 微信appId
*/
private
String
appId
;
/**
* 微信login的code
*/
private
String
code
;
}
src/main/java/cn/quantgroup/xyqb/model/v2/login/WechatMiniPhoneLoginParam.java
0 → 100644
View file @
5942f5df
package
cn
.
quantgroup
.
xyqb
.
model
.
v2
.
login
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
javax.validation.constraints.NotNull
;
@EqualsAndHashCode
(
callSuper
=
true
)
@Data
public
class
WechatMiniPhoneLoginParam
extends
WechatMiniLoginParam
{
/**
* 手机号获取凭证
*/
@NotNull
private
String
phoneCode
;
}
src/main/java/cn/quantgroup/xyqb/remote/WechatRemoteService.java
0 → 100644
View file @
5942f5df
package
cn
.
quantgroup
.
xyqb
.
remote
;
import
cn.quantgroup.xyqb.model.WechatPhoneBean
;
import
org.springframework.cloud.netflix.feign.FeignClient
;
import
org.springframework.http.MediaType
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
java.util.Map
;
@FeignClient
(
name
=
"wechatRemoteService"
,
url
=
"https://api.weixin.qq.com"
)
public
interface
WechatRemoteService
{
@GetMapping
(
value
=
"/sns/jscode2session?grant_type=authorization_code"
,
consumes
=
MediaType
.
APPLICATION_JSON_VALUE
,
produces
=
MediaType
.
APPLICATION_JSON_VALUE
)
String
login
(
@RequestParam
(
"appid"
)
String
appid
,
@RequestParam
(
"secret"
)
String
secret
,
@RequestParam
(
"js_code"
)
String
jsCode
);
@GetMapping
(
"/cgi-bin/token?grant_type=client_credential"
)
Map
<
String
,
String
>
getAccessToken
(
@RequestParam
(
"appid"
)
String
appid
,
@RequestParam
(
"secret"
)
String
secret
);
@PostMapping
(
"/wxa/business/getuserphonenumber"
)
WechatPhoneBean
getUserPhoneNumber
(
@RequestParam
(
"access_token"
)
String
accessToken
,
@RequestBody
Map
<
String
,
String
>
code
);
}
\ No newline at end of file
src/main/java/cn/quantgroup/xyqb/service/v2/WechatMiniLoginStrategy.java
View file @
5942f5df
package
cn
.
quantgroup
.
xyqb
.
service
.
v2
;
package
cn
.
quantgroup
.
xyqb
.
service
.
v2
;
import
cn.quantgroup.xyqb.Constants
;
import
cn.quantgroup.xyqb.config.data.WechatConfiguration
;
import
cn.quantgroup.xyqb.controller.req.v2.LoginReq
;
import
cn.quantgroup.xyqb.controller.req.v2.LoginReq
;
import
cn.quantgroup.xyqb.exception.BizException
;
import
cn.quantgroup.xyqb.exception.BizExceptionEnum
;
import
cn.quantgroup.xyqb.model.LoginBean
;
import
cn.quantgroup.xyqb.model.LoginBean
;
import
cn.quantgroup.xyqb.model.WechatConfigBean
;
import
cn.quantgroup.xyqb.model.session.SessionStruct
;
import
cn.quantgroup.xyqb.model.v2.login.BaseLoginParam
;
import
cn.quantgroup.xyqb.model.v2.login.BaseLoginParam
;
import
cn.quantgroup.xyqb.model.v2.login.WechatMiniLoginParam
;
import
cn.quantgroup.xyqb.remote.WechatRemoteService
;
import
cn.quantgroup.xyqb.session.XyqbSessionContextHolder
;
import
com.google.gson.Gson
;
import
com.google.gson.reflect.TypeToken
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.lang.reflect.Type
;
import
java.util.Map
;
/**
/**
* 微信小程序登录
* 微信小程序登录
*/
*/
@Service
@Service
@Slf4j
public
class
WechatMiniLoginStrategy
implements
LoginStrategy
{
public
class
WechatMiniLoginStrategy
implements
LoginStrategy
{
private
final
WechatRemoteService
wechatRemoteService
;
private
final
WechatConfiguration
wechatConfiguration
;
private
final
Gson
gson
;
public
WechatMiniLoginStrategy
(
WechatRemoteService
wechatRemoteService
,
WechatConfiguration
wechatConfiguration
,
Gson
gson
)
{
this
.
wechatRemoteService
=
wechatRemoteService
;
this
.
wechatConfiguration
=
wechatConfiguration
;
this
.
gson
=
gson
;
}
@Override
@Override
public
Integer
getType
()
{
public
Integer
getType
()
{
return
2101
;
return
2101
;
...
@@ -18,12 +44,47 @@ public class WechatMiniLoginStrategy implements LoginStrategy{
...
@@ -18,12 +44,47 @@ public class WechatMiniLoginStrategy implements LoginStrategy{
@Override
@Override
public
LoginBean
login
(
BaseLoginParam
param
)
{
public
LoginBean
login
(
BaseLoginParam
param
)
{
WechatMiniLoginParam
loginParam
=
(
WechatMiniLoginParam
)
param
;
SessionStruct
sessionStruct
=
XyqbSessionContextHolder
.
getXSession
();
//1、微信登录逻辑
WechatConfigBean
wechatConfigBean
=
wechatConfiguration
.
getByAppIdAndTenantId
(
loginParam
.
getAppId
(),
sessionStruct
.
getTenantId
());
String
response
=
wechatRemoteService
.
login
(
wechatConfigBean
.
getAppId
(),
wechatConfigBean
.
getAppSecret
(),((
WechatMiniLoginParam
)
param
).
getCode
());
Type
resultType
=
new
TypeToken
<
Map
<
String
,
String
>>()
{
}.
getType
();
Map
<
String
,
String
>
responseMap
=
gson
.
fromJson
(
response
,
resultType
);
String
openid
,
sessionKey
,
unionId
;
assert
responseMap
!=
null
;
if
(
responseMap
.
containsKey
(
"errcode"
)
&&
Integer
.
parseInt
(
responseMap
.
get
(
"errcode"
))
!=
0
)
{
log
.
error
(
"code:{},errcode:{},errmsg:{}"
,
((
WechatMiniLoginParam
)
param
).
getCode
(),
responseMap
.
get
(
"errcode"
),
responseMap
.
get
(
"errmsg"
));
throw
new
BizException
(
BizExceptionEnum
.
ERROR_WECHAT_LOGIN
,
responseMap
.
get
(
"errmsg"
));
}
else
{
openid
=
responseMap
.
get
(
"openid"
);
if
(
responseMap
.
containsKey
(
"session_key"
))
{
sessionKey
=
responseMap
.
get
(
"session_key"
);
}
if
(
responseMap
.
containsKey
(
"unionid"
))
{
unionId
=
responseMap
.
get
(
"unionid"
);
}
}
//2、登录判断逻辑
return
null
;
return
null
;
}
}
@Override
@Override
public
BaseLoginParam
checkParam
(
LoginReq
loginReq
)
{
public
BaseLoginParam
checkParam
(
LoginReq
loginReq
)
{
return
null
;
WechatMiniLoginParam
param
=
loginReq
.
getData
().
toJavaObject
(
WechatMiniLoginParam
.
class
);
validator
.
validate
(
param
);
return
param
;
}
}
}
}
src/main/java/cn/quantgroup/xyqb/service/v2/WechatMiniPhoneLoginStrategy.java
View file @
5942f5df
...
@@ -3,6 +3,7 @@ package cn.quantgroup.xyqb.service.v2;
...
@@ -3,6 +3,7 @@ package cn.quantgroup.xyqb.service.v2;
import
cn.quantgroup.xyqb.controller.req.v2.LoginReq
;
import
cn.quantgroup.xyqb.controller.req.v2.LoginReq
;
import
cn.quantgroup.xyqb.model.LoginBean
;
import
cn.quantgroup.xyqb.model.LoginBean
;
import
cn.quantgroup.xyqb.model.v2.login.BaseLoginParam
;
import
cn.quantgroup.xyqb.model.v2.login.BaseLoginParam
;
import
cn.quantgroup.xyqb.model.v2.login.WechatMiniPhoneLoginParam
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
/**
/**
...
@@ -22,7 +23,9 @@ public class WechatMiniPhoneLoginStrategy implements LoginStrategy {
...
@@ -22,7 +23,9 @@ public class WechatMiniPhoneLoginStrategy implements LoginStrategy {
@Override
@Override
public
BaseLoginParam
checkParam
(
LoginReq
loginReq
)
{
public
BaseLoginParam
checkParam
(
LoginReq
loginReq
)
{
return
null
;
WechatMiniPhoneLoginParam
param
=
loginReq
.
getData
().
toJavaObject
(
WechatMiniPhoneLoginParam
.
class
);
validator
.
validate
(
param
);
return
param
;
}
}
}
}
src/main/java/cn/quantgroup/xyqb/xxlJob/WechatTokenReloadJobHandler.java
0 → 100644
View file @
5942f5df
package
cn
.
quantgroup
.
xyqb
.
xxlJob
;
import
cn.quantgroup.xyqb.Constants
;
import
cn.quantgroup.xyqb.config.data.WechatConfiguration
;
import
cn.quantgroup.xyqb.remote.WechatRemoteService
;
import
com.xxl.job.core.handler.annotation.XxlJob
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.stereotype.Component
;
import
java.util.Map
;
@Component
@Slf4j
public
class
WechatTokenReloadJobHandler
{
private
final
WechatConfiguration
configuration
;
private
final
WechatRemoteService
wechatRemoteService
;
@Autowired
@Qualifier
(
"stringRedisTemplate"
)
private
RedisTemplate
<
String
,
String
>
redisTemplate
;
public
WechatTokenReloadJobHandler
(
WechatConfiguration
configuration
,
WechatRemoteService
wechatRemoteService
)
{
this
.
configuration
=
configuration
;
this
.
wechatRemoteService
=
wechatRemoteService
;
}
/**
* 目前是7200秒之内的值。定时任务需要小于2小时
*/
@XxlJob
(
value
=
"wechatTokenReloadJobHandler"
)
public
void
execute
()
{
configuration
.
getList
().
stream
().
filter
(
i
->
i
.
getType
()==
0
).
forEach
(
i
->{
Map
<
String
,
String
>
result
=
wechatRemoteService
.
getAccessToken
(
i
.
getAppId
(),
i
.
getAppSecret
());
if
(
result
.
containsKey
(
"errcode"
))
{
log
.
error
(
"微信获取token失败:{}"
,
i
.
getAppId
());
}
else
{
redisTemplate
.
opsForValue
().
set
(
Constants
.
WECHAT_ACCESS_TOKEN_REDIS
+
i
.
getAppId
(),
result
.
get
(
"access_token"
));
}
});
}
}
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