Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
customer-service
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
QG
customer-service
Commits
88e44011
Commit
88e44011
authored
Jan 17, 2022
by
吴琼
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
电商客服信息查询
parent
069840a7
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
273 additions
and
4 deletions
+273
-4
UserBasicInfo.java
.../cn/quantgroup/customer/model/xyqbuser/UserBasicInfo.java
+22
-2
UserRest.java
src/main/java/cn/quantgroup/customer/rest/UserRest.java
+44
-2
UserQueryParam.java
...n/quantgroup/customer/rest/param/user/UserQueryParam.java
+18
-0
IUserService.java
...ain/java/cn/quantgroup/customer/service/IUserService.java
+7
-0
UserServiceImpl.java
.../cn/quantgroup/customer/service/impl/UserServiceImpl.java
+182
-0
No files found.
src/main/java/cn/quantgroup/customer/model/xyqbuser/UserBasicInfo.java
View file @
88e44011
...
@@ -2,6 +2,8 @@ package cn.quantgroup.customer.model.xyqbuser;
...
@@ -2,6 +2,8 @@ package cn.quantgroup.customer.model.xyqbuser;
import
lombok.Data
;
import
lombok.Data
;
import
java.math.BigDecimal
;
/**
/**
* 信用钱包用户基本展示信息
* 信用钱包用户基本展示信息
*
*
...
@@ -41,6 +43,24 @@ public class UserBasicInfo {
...
@@ -41,6 +43,24 @@ public class UserBasicInfo {
* 手机号(明文)
* 手机号(明文)
*/
*/
private
String
phoneNumber
;
private
String
phoneNumber
;
/**
*客户权益
*/
private
String
levelBenefit
;
/**
* 等级
*/
private
Integer
level
;
/**
* 等级名称
*/
private
String
levelName
;
/**
* 积分
*/
private
BigDecimal
point
;
/**
* 有效期
*/
private
String
levelValidityTerm
;
}
}
src/main/java/cn/quantgroup/customer/rest/UserRest.java
View file @
88e44011
...
@@ -23,11 +23,11 @@ import org.apache.commons.lang3.StringUtils;
...
@@ -23,11 +23,11 @@ import org.apache.commons.lang3.StringUtils;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.security.authentication.UsernamePasswordAuthenticationToken
;
import
org.springframework.security.authentication.UsernamePasswordAuthenticationToken
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.validation.Valid
;
import
javax.validation.Valid
;
import
java.security.Principal
;
import
java.security.Principal
;
import
java.time.LocalDate
;
import
java.time.LocalDate
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -246,8 +246,50 @@ public class UserRest {
...
@@ -246,8 +246,50 @@ public class UserRest {
}
}
return
JsonResult
.
buildSuccessResult
(
"success"
,
result
);
return
JsonResult
.
buildSuccessResult
(
"success"
,
result
);
}
}
//add by wuq 2022-01-14 begin
/**
* 积分类型初始化
* @return
*/
@PostMapping
(
value
=
"/search/getRewardPointsType"
)
public
JsonResult
getRewardPointsTypeInit
()
{
MoResult
<
String
>
result
=
userService
.
getRewardPointsType
();
if
(!
result
.
isSuccess
()){
return
JsonResult
.
buildErrorStateResult
(
result
.
getMsg
(),
result
.
getData
());
}
return
JsonResult
.
buildSuccessResult
(
"success"
,
result
.
getData
());
}
/**
*根据userId和phoneNo查询基本信息
*/
@PostMapping
(
value
=
"/search/userInfo"
)
public
JsonResult
getBasicUserInfo
(
UserQueryParam
userQueryParam
)
{
JsonResult
<
UserBasicInfo
>
result
=
userService
.
findUserInfoByUserParam
(
userQueryParam
);
return
JsonResult
.
buildSuccessResult
(
"success"
,
result
);
}
/**
*根据userId查询优惠券信息(详情)
*/
@PostMapping
(
value
=
"/search/getUserCouponInfo"
)
public
JsonResult
getUserCouponInfo
(
UserQueryParam
userQueryParam
)
{
MoResult
<
String
>
result
=
userService
.
queryUserCouponInfoByUserParam
(
userQueryParam
);
if
(!
result
.
isSuccess
()){
return
JsonResult
.
buildErrorStateResult
(
result
.
getMsg
(),
result
.
getData
());
}
return
JsonResult
.
buildSuccessResult
(
"success"
,
result
);
}
/**
*根据积分类型和操作时间查询积分明细
*/
@PostMapping
(
value
=
"/search/queryPointDetailByPage"
)
public
JsonResult
queryPointDetailByPage
(
UserQueryParam
userQueryParam
)
{
MoResult
<
String
>
result
=
userService
.
queryPointDetailByPage
(
userQueryParam
);
if
(
result
==
null
||
!
result
.
isSuccess
()){
return
JsonResult
.
buildErrorStateResult
(
result
.
getMsg
(),
result
.
getData
());
}
return
JsonResult
.
buildSuccessResult
(
"success"
,
result
.
getData
());
}
}
}
src/main/java/cn/quantgroup/customer/rest/param/user/UserQueryParam.java
View file @
88e44011
...
@@ -22,4 +22,22 @@ public class UserQueryParam {
...
@@ -22,4 +22,22 @@ public class UserQueryParam {
private
Long
userId
;
private
Long
userId
;
private
String
uuid
;
private
String
uuid
;
/**
* 积分类型
*/
private
Integer
eventType
;
/**
* 操作时间
*/
private
String
operationTime
;
/**
* 当前页数
*/
private
Integer
pageNo
;
/**
* 每页多少条数据
*/
private
Integer
pageSize
;
private
String
status
;
}
}
src/main/java/cn/quantgroup/customer/service/IUserService.java
View file @
88e44011
...
@@ -68,4 +68,11 @@ public interface IUserService extends UserDetailsService {
...
@@ -68,4 +68,11 @@ public interface IUserService extends UserDetailsService {
*/
*/
MoResult
<
String
>
modifyUserDetail
(
Long
userId
,
String
realName
,
String
idNO
);
MoResult
<
String
>
modifyUserDetail
(
Long
userId
,
String
realName
,
String
idNO
);
MoResult
<
String
>
getRewardPointsType
();
JsonResult
<
UserBasicInfo
>
findUserInfoByUserParam
(
UserQueryParam
userQueryParam
);
MoResult
<
String
>
queryPointDetailByPage
(
UserQueryParam
userQueryParam
);
MoResult
<
String
>
queryUserCouponInfoByUserParam
(
UserQueryParam
userQueryParam
);
}
}
src/main/java/cn/quantgroup/customer/service/impl/UserServiceImpl.java
View file @
88e44011
...
@@ -48,8 +48,11 @@ import org.springframework.data.domain.PageImpl;
...
@@ -48,8 +48,11 @@ import org.springframework.data.domain.PageImpl;
import
org.springframework.security.core.userdetails.UserDetails
;
import
org.springframework.security.core.userdetails.UserDetails
;
import
org.springframework.security.core.userdetails.UsernameNotFoundException
;
import
org.springframework.security.core.userdetails.UsernameNotFoundException
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.web.context.request.RequestContextHolder
;
import
java.math.BigDecimal
;
import
java.time.LocalDate
;
import
java.time.LocalDate
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
import
java.util.Objects
;
import
java.util.Objects
;
...
@@ -352,6 +355,7 @@ public class UserServiceImpl implements IUserService {
...
@@ -352,6 +355,7 @@ public class UserServiceImpl implements IUserService {
log
.
error
(
" 用户不存在 userSysResult={}"
,
xUserData
);
log
.
error
(
" 用户不存在 userSysResult={}"
,
xUserData
);
return
JsonResult
.
buildErrorStateResult
(
"用户不存在"
,
xUserData
);
return
JsonResult
.
buildErrorStateResult
(
"用户不存在"
,
xUserData
);
}
}
if
(
xUserData
instanceof
XUser
)
{
if
(
xUserData
instanceof
XUser
)
{
XUser
xUser
=
(
XUser
)
xUserData
;
XUser
xUser
=
(
XUser
)
xUserData
;
userBasicInfo
.
setUserId
(
xUser
.
getId
());
userBasicInfo
.
setUserId
(
xUser
.
getId
());
...
@@ -763,5 +767,183 @@ public class UserServiceImpl implements IUserService {
...
@@ -763,5 +767,183 @@ public class UserServiceImpl implements IUserService {
throw
new
BusinessException
(
ErrorCodeEnum
.
NET_ERROR
);
throw
new
BusinessException
(
ErrorCodeEnum
.
NET_ERROR
);
}
}
}
}
//add by wuq 2022-01-15 begin
@Override
public
MoResult
<
String
>
getRewardPointsType
(){
//String url = kdspUrl + "/api/kdsp/op/userBenefits/center/getEventType";
String
url
=
"http://192.168.28.55:8033/api/kdsp/op/userBenefits/center/getEventType"
;
try
{
Map
<
String
,
String
>
header
=
Maps
.
newHashMap
();
header
.
put
(
"Content-type"
,
"application/x-www-form-urlencoded"
);
String
result
=
httpService
.
post
(
url
,
header
);
MoResult
moResult
=
GSON
.
fromJson
(
result
,
MoResult
.
class
);
log
.
info
(
"[user][getRewardPointsType] 请求业务系统返回值:{}"
,
result
);
return
moResult
;
}
catch
(
Exception
e
)
{
log
.
error
(
"[user][modifyUserDetail] 网络通讯异常,userId:{},ex:{}"
,
ExceptionUtils
.
getStackTrace
(
e
));
throw
new
BusinessException
(
ErrorCodeEnum
.
NET_ERROR
);
}
}
@Override
public
JsonResult
<
UserBasicInfo
>
findUserInfoByUserParam
(
UserQueryParam
userQueryParam
)
{
final
String
LOG_PRE
=
"UserServiceImpl.findUserInfoByUserParam"
;
log
.
info
(
"{} 查询用户信息 UserQueryParam={}"
,
LOG_PRE
,
userQueryParam
);
//调用kdsp接口获取会员权益相关信息
//String url= kdspUrl +"/api/kdsp/op/userBenefits/user-benefits-point/getUserBenefit";
String
url
=
"http://192.168.28.55:8033/api/kdsp/op/userBenefits/user-benefits-point/getUserBenefit"
;
String
result
=
""
;
try
{
Map
<
String
,
String
>
header
=
Maps
.
newHashMap
();
header
.
put
(
"Content-type"
,
"application/x-www-form-urlencoded"
);
Map
param
=
Maps
.
newHashMap
();
if
(
Objects
.
nonNull
(
userQueryParam
.
getUserId
()))
{
param
.
put
(
"userId"
,
String
.
valueOf
(
userQueryParam
.
getUserId
()));
}
if
(
Objects
.
nonNull
(
userQueryParam
.
getPhoneNo
()))
{
param
.
put
(
"phoneNo"
,
String
.
valueOf
(
userQueryParam
.
getUserId
()));
}
result
=
httpService
.
post
(
url
,
header
,
param
);
}
catch
(
Exception
e
)
{
log
.
error
(
"[userServiceImpl][findUserInfoByUserParam] 网络通讯异常,userId:{},ex:{}"
,
ExceptionUtils
.
getStackTrace
(
e
));
throw
new
BusinessException
(
ErrorCodeEnum
.
NET_ERROR
);
}
//通过userId查询
if
(
Objects
.
nonNull
(
userQueryParam
.
getUserId
()))
{
log
.
info
(
"{} 通过userId查询 userId={}"
,
LOG_PRE
,
userQueryParam
.
getUserId
());
UserSysResult
<
XUser
>
userByUserId
=
userSdk
.
getService
().
findUserByUserId
(
userQueryParam
.
getUserId
());
UserSysResult
<
XUserDetail
>
userDetailByUserId
=
userSdk
.
getService
().
findUserDetailByUserId
(
userQueryParam
.
getUserId
());
return
getUserBasicInfoResultAndUserBenefits
(
userByUserId
,
userDetailByUserId
,
result
);
}
if
(
StringUtils
.
isNotBlank
(
userQueryParam
.
getPhoneNo
()))
{
log
.
info
(
"{} 通过phoneNo查询 phoneNo={}"
,
LOG_PRE
,
userQueryParam
.
getPhoneNo
());
UserSysResult
<
XUser
>
userByPhoneNo
=
userSdk
.
getService
().
findUserByPhoneNo
(
userQueryParam
.
getPhoneNo
());
UserSysResult
<
XUserDetail
>
userDetailByPhone
=
userSdk
.
getService
().
findUserDetailByPhone
(
userQueryParam
.
getPhoneNo
());
//根据传入的身份证和查询出的用户信息中身份证进行比较,如果不一致返回查询失败
if
(
StringUtils
.
isNotEmpty
(
userQueryParam
.
getIdNo
())
&&
userDetailByPhone
.
getData
()
!=
null
)
{
XUserDetail
xUserDetail
=
userDetailByPhone
.
getData
();
String
idNo
=
xUserDetail
.
getIdNo
();
if
(
StringUtils
.
isNotEmpty
(
idNo
))
{
idNo
=
idNo
.
trim
().
toUpperCase
();
}
String
paramIdNo
=
userQueryParam
.
getIdNo
().
trim
().
toUpperCase
();
if
(!
paramIdNo
.
equals
(
idNo
))
{
return
JsonResult
.
buildErrorStateResult
(
"无有效查询参数"
,
null
);
}
}
return
getUserBasicInfoResultAndUserBenefits
(
userByPhoneNo
,
userDetailByPhone
,
result
);
}
return
null
;
}
@Override
public
MoResult
<
String
>
queryUserCouponInfoByUserParam
(
UserQueryParam
userQueryParam
)
{
final
String
LOG_PRE
=
"UserServiceImpl.getUserCouponInfoByUserParam"
;
log
.
info
(
"{} 查询用户信息 UserQueryParam={}"
,
LOG_PRE
,
userQueryParam
);
//调用kdsp接口获取会员优惠券相关信息
//String url= kdspUrl +"/api/kdsp/op/coupon/receiver/pickup-list";
String
url
=
"http://192.168.28.55:8033/api/kdsp/op/coupon/receiver/pickup-list"
;
try
{
Map
<
String
,
String
>
header
=
Maps
.
newHashMap
();
header
.
put
(
"Content-type"
,
"application/x-www-form-urlencoded"
);
Map
param
=
Maps
.
newHashMap
();
if
(
Objects
.
nonNull
(
userQueryParam
.
getUserId
()))
{
param
.
put
(
"userId"
,
String
.
valueOf
(
userQueryParam
.
getUserId
()));
}
if
(
Objects
.
nonNull
(
userQueryParam
.
getStatus
()))
{
param
.
put
(
"status"
,
userQueryParam
.
getStatus
());
}
if
(
Objects
.
nonNull
(
userQueryParam
.
getPageNo
()))
{
param
.
put
(
"pageNo"
,
userQueryParam
.
getPageNo
());
}
if
(
Objects
.
nonNull
(
userQueryParam
.
getPageSize
()))
{
param
.
put
(
"pageSize"
,
userQueryParam
.
getPageSize
());
}
String
result
=
httpService
.
post
(
url
,
header
,
param
);
MoResult
moResult
=
GSON
.
fromJson
(
result
,
MoResult
.
class
);
log
.
info
(
"[user][queryUserCouponInfoByUserParam] 请求业务系统返回值:{}"
,
result
);
return
moResult
;
}
catch
(
Exception
e
)
{
log
.
error
(
"[userServiceImpl][queryUserCouponInfoByUserParam] 网络通讯异常,userId:{},ex:{}"
,
ExceptionUtils
.
getStackTrace
(
e
));
throw
new
BusinessException
(
ErrorCodeEnum
.
NET_ERROR
);
}
}
/**
*根据userid和phoneNo获取基本信息
* @param xUserUserSysResult
* @param detailUserSysResult
* @return
*/
private
JsonResult
getUserBasicInfoResultAndUserBenefits
(
UserSysResult
<
XUser
>
xUserUserSysResult
,
UserSysResult
<
XUserDetail
>
detailUserSysResult
,
String
result
)
{
UserBasicInfo
userBasicInfo
=
new
UserBasicInfo
();
//处理json字符串
JSONObject
json
=
JSONObject
.
parseObject
(
result
);
String
jsonResult
=
json
.
getString
(
"data"
);
if
(
jsonResult
!=
null
){
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
jsonResult
);
userBasicInfo
.
setLevelBenefit
(
jsonObject
.
getString
(
"levelBenefit"
));
userBasicInfo
.
setLevel
(
Integer
.
valueOf
(
jsonObject
.
getString
(
"level"
)));
userBasicInfo
.
setLevelName
(
jsonObject
.
getString
(
"levelName"
));
userBasicInfo
.
setPoint
(
new
BigDecimal
(
jsonObject
.
getString
(
"point"
)));
userBasicInfo
.
setLevelValidityTerm
(
jsonObject
.
getString
(
"levelValidityTerm"
));
}
Object
detailUser
=
getJsonResultData
(
detailUserSysResult
);
Object
xUserData
=
getJsonResultData
(
xUserUserSysResult
);
if
(
Objects
.
isNull
(
xUserData
))
{
log
.
error
(
" 用户不存在 userSysResult={}"
,
xUserData
);
return
JsonResult
.
buildErrorStateResult
(
"用户不存在"
,
xUserData
);
}
if
(
xUserData
instanceof
XUser
)
{
XUser
xUser
=
(
XUser
)
xUserData
;
userBasicInfo
.
setUserId
(
xUser
.
getId
());
userBasicInfo
.
setPhoneNo
(
DesensitizeUtil
.
phoneMark
(
xUser
.
getPhoneNo
()));
userBasicInfo
.
setPhoneNumber
(
xUser
.
getPhoneNo
());
String
createAt
=
DateUtil
.
format
(
xUser
.
getCreatedAt
(),
DateUtil
.
DATE_FORMAT_1
);
userBasicInfo
.
setCreatedAt
(
createAt
);
Boolean
enable
=
xUser
.
getEnable
();
userBasicInfo
.
setStatus
(
enable
==
null
?
"未知"
:
(
enable
?
"正常"
:
"封禁"
));
}
else
{
log
.
error
(
"查询用户失败 user={}"
,
xUserData
);
return
(
JsonResult
)
xUserData
;
}
if
(
detailUser
instanceof
XUserDetail
)
{
XUserDetail
userDetail
=
(
XUserDetail
)
detailUser
;
userBasicInfo
.
setGender
(
userDetail
.
getGender
().
getName
());
userBasicInfo
.
setIdNo
(
DesensitizeUtil
.
idNoMark
(
userDetail
.
getIdNo
()));
userBasicInfo
.
setName
(
userDetail
.
getName
());
}
return
JsonResult
.
buildSuccessResult
(
null
,
userBasicInfo
);
}
/**
* 根据积分类型和操作时间查询积分明细
* @return
*/
public
MoResult
<
String
>
queryPointDetailByPage
(
UserQueryParam
userQueryParam
)
{
//String url = kdspUrl + "/api/kdsp/op/userBenefits/user-benefits-detail/queryPointDetailByPage";
String
url
=
"http://192.168.28.55:8033/api/kdsp/op/userBenefits/user-benefits-detail/queryPointDetailByPage"
;
try
{
Map
<
String
,
String
>
header
=
Maps
.
newHashMap
();
header
.
put
(
"Content-type"
,
"application/json"
);
Map
param
=
Maps
.
newHashMap
();
param
.
put
(
"userId"
,
userQueryParam
.
getUserId
());
param
.
put
(
"operationTime"
,
userQueryParam
.
getOperationTime
());
param
.
put
(
"eventType"
,
userQueryParam
.
getEventType
());
param
.
put
(
"pageNo"
,
userQueryParam
.
getPageNo
());
param
.
put
(
"pageSize"
,
userQueryParam
.
getPageSize
());
String
result
=
httpService
.
post
(
url
,
header
,
param
);
MoResult
<
String
>
moResult
=
GSON
.
fromJson
(
result
,
MoResult
.
class
);
return
moResult
;
}
catch
(
Exception
e
)
{
log
.
error
(
"[userServiceImpl][queryPointDetailByPage] 网络通讯异常,userId:{},ex:{}"
,
ExceptionUtils
.
getStackTrace
(
e
));
throw
new
BusinessException
(
ErrorCodeEnum
.
NET_ERROR
);
}
}
}
}
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