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
94e07368
Commit
94e07368
authored
May 18, 2020
by
xiaoguang.xu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
联系人隔离。
parent
a4e9d558
Changes
13
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
241 additions
and
46 deletions
+241
-46
InnerController.java
...tgroup/xyqb/controller/internal/user/InnerController.java
+58
-10
UserCenterController.java
...controller/internal/user/center/UserCenterController.java
+3
-2
UserFullResp.java
...roup/xyqb/controller/internal/user/resp/UserFullResp.java
+2
-0
ContactController.java
...qb/controller/middleoffice/contact/ContactController.java
+60
-6
ContactSaveDto.java
...b/controller/middleoffice/contact/dto/ContactSaveDto.java
+20
-0
ContactUpdateDto.java
...controller/middleoffice/contact/dto/ContactUpdateDto.java
+3
-2
UserExtController.java
...qb/controller/middleoffice/userext/UserExtController.java
+15
-5
Contact.java
src/main/java/cn/quantgroup/xyqb/entity/Contact.java
+6
-0
IContactRepository.java
...ava/cn/quantgroup/xyqb/repository/IContactRepository.java
+9
-0
PageServiceImpl.java
...cn/quantgroup/xyqb/service/page/impl/PageServiceImpl.java
+7
-2
IContactService.java
...java/cn/quantgroup/xyqb/service/user/IContactService.java
+11
-1
ContactServiceImpl.java
...quantgroup/xyqb/service/user/impl/ContactServiceImpl.java
+13
-6
UserServiceImpl.java
...cn/quantgroup/xyqb/service/user/impl/UserServiceImpl.java
+34
-12
No files found.
src/main/java/cn/quantgroup/xyqb/controller/internal/user/InnerController.java
View file @
94e07368
...
@@ -2,26 +2,64 @@ package cn.quantgroup.xyqb.controller.internal.user;
...
@@ -2,26 +2,64 @@ package cn.quantgroup.xyqb.controller.internal.user;
import
cn.quantgroup.tech.db.DSType
;
import
cn.quantgroup.tech.db.DSType
;
import
cn.quantgroup.tech.db.TargetDataSource
;
import
cn.quantgroup.tech.db.TargetDataSource
;
import
cn.quantgroup.user.enums.*
;
import
cn.quantgroup.user.enums.BizType
;
import
cn.quantgroup.user.enums.EducationEnum
;
import
cn.quantgroup.user.enums.IncomeEnum
;
import
cn.quantgroup.user.enums.IncomeRangeEnum
;
import
cn.quantgroup.user.enums.MaritalStatus
;
import
cn.quantgroup.user.enums.OccupationEnum
;
import
cn.quantgroup.user.enums.Relation
;
import
cn.quantgroup.xyqb.Constants
;
import
cn.quantgroup.xyqb.Constants
;
import
cn.quantgroup.xyqb.aspect.accessable.IpValidator
;
import
cn.quantgroup.xyqb.aspect.accessable.IpValidator
;
import
cn.quantgroup.xyqb.controller.IBaseController
;
import
cn.quantgroup.xyqb.controller.IBaseController
;
import
cn.quantgroup.xyqb.controller.internal.user.resp.UserFullResp
;
import
cn.quantgroup.xyqb.controller.internal.user.resp.UserFullResp
;
import
cn.quantgroup.xyqb.entity.*
;
import
cn.quantgroup.xyqb.entity.Address
;
import
cn.quantgroup.xyqb.entity.Contact
;
import
cn.quantgroup.xyqb.entity.Merchant
;
import
cn.quantgroup.xyqb.entity.User
;
import
cn.quantgroup.xyqb.entity.UserBtRegister
;
import
cn.quantgroup.xyqb.entity.UserDetail
;
import
cn.quantgroup.xyqb.entity.UserExtInfo
;
import
cn.quantgroup.xyqb.entity.UserSpouse
;
import
cn.quantgroup.xyqb.entity.WechatUserInfo
;
import
cn.quantgroup.xyqb.exception.UserNotExistException
;
import
cn.quantgroup.xyqb.exception.UserNotExistException
;
import
cn.quantgroup.xyqb.model.*
;
import
cn.quantgroup.xyqb.model.AddressRet
;
import
cn.quantgroup.xyqb.model.ContactInfo
;
import
cn.quantgroup.xyqb.model.ContactRet
;
import
cn.quantgroup.xyqb.model.Gender
;
import
cn.quantgroup.xyqb.model.Gender
;
import
cn.quantgroup.xyqb.model.IdCardInfo
;
import
cn.quantgroup.xyqb.model.IdType
;
import
cn.quantgroup.xyqb.model.IdType
;
import
cn.quantgroup.xyqb.model.JsonResult
;
import
cn.quantgroup.xyqb.model.Tuple
;
import
cn.quantgroup.xyqb.model.UserAssociation
;
import
cn.quantgroup.xyqb.model.UserAssociationModel
;
import
cn.quantgroup.xyqb.model.UserDetailRet
;
import
cn.quantgroup.xyqb.model.UserExtInfoRet
;
import
cn.quantgroup.xyqb.model.UserFullInfo
;
import
cn.quantgroup.xyqb.model.UserInfo
;
import
cn.quantgroup.xyqb.model.UserRet
;
import
cn.quantgroup.xyqb.model.UserSpouseRet
;
import
cn.quantgroup.xyqb.model.UserStatistics
;
import
cn.quantgroup.xyqb.service.api.IUserApiService
;
import
cn.quantgroup.xyqb.service.api.IUserApiService
;
import
cn.quantgroup.xyqb.service.auth.IIdCardService
;
import
cn.quantgroup.xyqb.service.auth.IIdCardService
;
import
cn.quantgroup.xyqb.service.merchant.IMerchantService
;
import
cn.quantgroup.xyqb.service.merchant.IMerchantService
;
import
cn.quantgroup.xyqb.service.register.IUserRegisterService
;
import
cn.quantgroup.xyqb.service.register.IUserRegisterService
;
import
cn.quantgroup.xyqb.service.session.ISessionService
;
import
cn.quantgroup.xyqb.service.session.ISessionService
;
import
cn.quantgroup.xyqb.service.sms.ISmsService
;
import
cn.quantgroup.xyqb.service.sms.ISmsService
;
import
cn.quantgroup.xyqb.service.user.*
;
import
cn.quantgroup.xyqb.service.user.IAddressService
;
import
cn.quantgroup.xyqb.service.user.IContactService
;
import
cn.quantgroup.xyqb.service.user.IUserBtRegisterService
;
import
cn.quantgroup.xyqb.service.user.IUserDetailService
;
import
cn.quantgroup.xyqb.service.user.IUserExtInfoService
;
import
cn.quantgroup.xyqb.service.user.IUserService
;
import
cn.quantgroup.xyqb.service.user.IUserSpouseService
;
import
cn.quantgroup.xyqb.service.user.vo.UserDetailVO
;
import
cn.quantgroup.xyqb.service.user.vo.UserDetailVO
;
import
cn.quantgroup.xyqb.service.wechat.IWechatService
;
import
cn.quantgroup.xyqb.service.wechat.IWechatService
;
import
cn.quantgroup.xyqb.util.*
;
import
cn.quantgroup.xyqb.util.AesUtil
;
import
cn.quantgroup.xyqb.util.IpUtil
;
import
cn.quantgroup.xyqb.util.MqUtils
;
import
cn.quantgroup.xyqb.util.PasswordUtil
;
import
cn.quantgroup.xyqb.util.ValidationUtil
;
import
cn.quantgroup.xyqb.util.encrypt.Md5Util
;
import
cn.quantgroup.xyqb.util.encrypt.Md5Util
;
import
cn.quantgroup.xyqb.validator.ChineseName
;
import
cn.quantgroup.xyqb.validator.ChineseName
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
...
@@ -40,14 +78,24 @@ import org.apache.http.HttpStatus;
...
@@ -40,14 +78,24 @@ import org.apache.http.HttpStatus;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.validation.constraints.Min
;
import
javax.validation.constraints.Min
;
import
java.io.UnsupportedEncodingException
;
import
java.io.UnsupportedEncodingException
;
import
java.sql.Timestamp
;
import
java.sql.Timestamp
;
import
java.text.ParseException
;
import
java.text.ParseException
;
import
java.util.*
;
import
java.util.ArrayList
;
import
java.util.Collections
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Objects
;
import
java.util.Optional
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
...
@@ -430,7 +478,7 @@ public class InnerController implements IBaseController {
...
@@ -430,7 +478,7 @@ public class InnerController implements IBaseController {
if
(
null
==
userId
)
{
if
(
null
==
userId
)
{
return
JsonResult
.
buildErrorStateResult
(
null
,
null
);
return
JsonResult
.
buildErrorStateResult
(
null
,
null
);
}
}
List
<
Contact
>
contacts
=
contactService
.
findByUserId
(
userId
,
true
);
List
<
Contact
>
contacts
=
contactService
.
findByUserId
AndBizType
(
userId
,
BizType
.
CASH
,
true
);
if
(
null
==
contacts
||
contacts
.
size
()
==
0
)
{
if
(
null
==
contacts
||
contacts
.
size
()
==
0
)
{
return
JsonResult
.
buildErrorStateResult
(
null
,
Collections
.
emptyList
());
return
JsonResult
.
buildErrorStateResult
(
null
,
Collections
.
emptyList
());
}
}
...
@@ -771,7 +819,7 @@ public class InnerController implements IBaseController {
...
@@ -771,7 +819,7 @@ public class InnerController implements IBaseController {
if
(!
Objects
.
isNull
(
address
))
{
if
(!
Objects
.
isNull
(
address
))
{
bean
.
putAddressList
(
Collections
.
singletonList
(
address
));
bean
.
putAddressList
(
Collections
.
singletonList
(
address
));
}
}
List
<
Contact
>
contacts
=
contactService
.
findByUserId
(
user
.
getId
()
,
true
);
List
<
Contact
>
contacts
=
contactService
.
findByUserId
AndBizType
(
user
.
getId
(),
BizType
.
CASH
,
true
);
if
(!
Objects
.
isNull
(
contacts
))
{
if
(!
Objects
.
isNull
(
contacts
))
{
bean
.
putContactList
(
contacts
);
bean
.
putContactList
(
contacts
);
}
}
...
@@ -835,7 +883,7 @@ public class InnerController implements IBaseController {
...
@@ -835,7 +883,7 @@ public class InnerController implements IBaseController {
UserAssociation
bean
=
new
UserAssociation
();
UserAssociation
bean
=
new
UserAssociation
();
if
(
null
!=
userDetail
)
{
if
(
null
!=
userDetail
)
{
Address
address
=
addressService
.
findByUserId
(
userDetail
.
getUserId
());
Address
address
=
addressService
.
findByUserId
(
userDetail
.
getUserId
());
List
<
Contact
>
contacts
=
contactService
.
findByUserId
(
userDetail
.
getUserId
()
,
true
);
List
<
Contact
>
contacts
=
contactService
.
findByUserId
AndBizType
(
userDetail
.
getUserId
(),
BizType
.
CASH
,
true
);
UserExtInfo
extInfo
=
userExtInfoService
.
findByUserId
(
userDetail
.
getUserId
());
UserExtInfo
extInfo
=
userExtInfoService
.
findByUserId
(
userDetail
.
getUserId
());
bean
.
setUserId
(
userDetail
.
getUserId
());
bean
.
setUserId
(
userDetail
.
getUserId
());
bean
.
setPhoneNo
(
userDetail
.
getPhoneNo
());
bean
.
setPhoneNo
(
userDetail
.
getPhoneNo
());
...
...
src/main/java/cn/quantgroup/xyqb/controller/internal/user/center/UserCenterController.java
View file @
94e07368
package
cn
.
quantgroup
.
xyqb
.
controller
.
internal
.
user
.
center
;
package
cn
.
quantgroup
.
xyqb
.
controller
.
internal
.
user
.
center
;
import
cn.quantgroup.user.enums.BizType
;
import
cn.quantgroup.user.enums.EducationEnum
;
import
cn.quantgroup.user.enums.EducationEnum
;
import
cn.quantgroup.user.enums.IncomeRangeEnum
;
import
cn.quantgroup.user.enums.IncomeRangeEnum
;
import
cn.quantgroup.user.enums.MaritalStatus
;
import
cn.quantgroup.user.enums.MaritalStatus
;
...
@@ -203,7 +204,7 @@ public class UserCenterController {
...
@@ -203,7 +204,7 @@ public class UserCenterController {
return
JsonResult
.
buildErrorStateResult
(
"该用户不存在"
,
null
);
return
JsonResult
.
buildErrorStateResult
(
"该用户不存在"
,
null
);
}
}
UserExtInfo
userExtInfo
=
userExtInfoService
.
findByUserId
(
userId
);
UserExtInfo
userExtInfo
=
userExtInfoService
.
findByUserId
(
userId
);
List
<
Contact
>
contacts
=
contactService
.
findByUserId
(
userId
,
true
);
List
<
Contact
>
contacts
=
contactService
.
findByUserId
AndBizType
(
userId
,
BizType
.
CASH
,
true
);
Map
<
String
,
Object
>
result
=
new
HashMap
<>();
Map
<
String
,
Object
>
result
=
new
HashMap
<>();
if
(
null
!=
userExtInfo
)
{
if
(
null
!=
userExtInfo
)
{
result
.
put
(
"contacts"
,
null
!=
contacts
&&
contacts
.
size
()
>
0
);
result
.
put
(
"contacts"
,
null
!=
contacts
&&
contacts
.
size
()
>
0
);
...
@@ -346,7 +347,7 @@ public class UserCenterController {
...
@@ -346,7 +347,7 @@ public class UserCenterController {
log
.
error
(
"保存联系人,未获取到用户id. userId:{}"
,
userId
);
log
.
error
(
"保存联系人,未获取到用户id. userId:{}"
,
userId
);
return
JsonResult
.
buildErrorStateResult
(
"该用户不存在"
,
null
);
return
JsonResult
.
buildErrorStateResult
(
"该用户不存在"
,
null
);
}
}
List
<
Contact
>
contacts
=
contactService
.
findByUserId
(
userId
,
true
);
List
<
Contact
>
contacts
=
contactService
.
findByUserId
AndBizType
(
userId
,
BizType
.
CASH
,
true
);
return
JsonResult
.
buildSuccessResult
(
null
,
contacts
);
return
JsonResult
.
buildSuccessResult
(
null
,
contacts
);
}
}
...
...
src/main/java/cn/quantgroup/xyqb/controller/internal/user/resp/UserFullResp.java
View file @
94e07368
package
cn
.
quantgroup
.
xyqb
.
controller
.
internal
.
user
.
resp
;
package
cn
.
quantgroup
.
xyqb
.
controller
.
internal
.
user
.
resp
;
import
cn.quantgroup.user.enums.BizType
;
import
lombok.AllArgsConstructor
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.Data
;
...
@@ -90,5 +91,6 @@ public class UserFullResp {
...
@@ -90,5 +91,6 @@ public class UserFullResp {
private
String
name
;
private
String
name
;
private
String
mobile
;
private
String
mobile
;
private
Integer
relation
;
private
Integer
relation
;
private
BizType
bizType
;
}
}
}
}
src/main/java/cn/quantgroup/xyqb/controller/middleoffice/contact/ContactController.java
View file @
94e07368
package
cn
.
quantgroup
.
xyqb
.
controller
.
middleoffice
.
contact
;
package
cn
.
quantgroup
.
xyqb
.
controller
.
middleoffice
.
contact
;
import
cn.quantgroup.xyqb.controller.middleoffice.contact.dto.ContractUpdateDto
;
import
cn.quantgroup.user.enums.BizType
;
import
cn.quantgroup.xyqb.controller.middleoffice.contact.dto.ContactSaveDto
;
import
cn.quantgroup.xyqb.controller.middleoffice.contact.dto.ContactUpdateDto
;
import
cn.quantgroup.xyqb.entity.Contact
;
import
cn.quantgroup.xyqb.model.JsonResult
;
import
cn.quantgroup.xyqb.model.JsonResult
;
import
cn.quantgroup.xyqb.service.user.IContactService
;
import
cn.quantgroup.xyqb.service.user.IContactService
;
import
cn.quantgroup.xyqb.util.ValidationUtil
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PatchMapping
;
import
org.springframework.web.bind.annotation.PatchMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.sql.Timestamp
;
import
java.util.List
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* 联系人
*/
@RestController
@RestController
@RequestMapping
(
"/middle_office/contacts"
)
@RequestMapping
(
"/middle_office/contacts"
)
public
class
ContactController
{
public
class
ContactController
{
...
@@ -19,19 +29,63 @@ public class ContactController {
...
@@ -19,19 +29,63 @@ public class ContactController {
@Resource
@Resource
private
IContactService
contactService
;
private
IContactService
contactService
;
/**
* 获取联系人
*
* @param userId 用户 ID
* @param bizType 业务类型
* @return
*/
@GetMapping
@GetMapping
public
JsonResult
get
(
Long
userId
,
Integer
bizType
)
{
public
JsonResult
get
(
Long
userId
,
BizType
bizType
)
{
return
JsonResult
.
buildSuccessResult
();
List
<
Contact
>
contactList
=
contactService
.
findByUserIdAndBizType
(
userId
,
bizType
,
true
);
return
JsonResult
.
buildSuccessResult
(
""
,
contactList
);
}
}
/**
* 更新联系人信息
*
* @param contactUpdateDtoList
* @return
*/
@PatchMapping
@PatchMapping
public
JsonResult
update
(
List
<
ContractUpdateDto
>
contractUpdateDtoList
)
{
public
JsonResult
update
(
@RequestBody
List
<
ContactUpdateDto
>
contactUpdateDtoList
)
{
contactUpdateDtoList
=
contactUpdateDtoList
.
stream
()
.
filter
(
contactUpdateDto
->
(
ValidationUtil
.
validatePhoneNo
(
contactUpdateDto
.
getPhoneNo
())
&&
ValidationUtil
.
validateChinese
(
contactUpdateDto
.
getName
())))
.
collect
(
Collectors
.
toList
());
if
(
contactUpdateDtoList
.
isEmpty
())
{
return
JsonResult
.
buildErrorStateResult
(
"数据格式错误"
,
null
);
}
for
(
ContactUpdateDto
contact
:
contactUpdateDtoList
)
{
contactService
.
update
(
contact
.
getName
(),
contact
.
getPhoneNo
(),
contact
.
getRelation
(),
contact
.
getId
());
}
return
JsonResult
.
buildSuccessResult
();
return
JsonResult
.
buildSuccessResult
();
}
}
/**
* 新增联系人
*
* @return
*/
@PostMapping
@PostMapping
public
JsonResult
save
()
{
public
JsonResult
save
(
@RequestBody
ContactSaveDto
contactSaveDto
)
{
Long
userId
=
contactSaveDto
.
getUserId
();
List
<
Contact
>
contacts
=
contactSaveDto
.
getContacts
();
Timestamp
now
=
new
Timestamp
(
System
.
currentTimeMillis
());
contacts
.
stream
()
.
filter
(
Contact:
:
valid
)
.
forEach
(
contact
->
{
contact
.
setUserId
(
userId
);
contact
.
setBizType
(
contactSaveDto
.
getBizType
());
contact
.
setCreatedAt
(
now
);
contact
.
setUpdateAt
(
now
);
});
if
(
contacts
.
isEmpty
())
{
return
JsonResult
.
buildErrorStateResult
(
"数据格式错误"
,
null
);
}
contactService
.
save
(
contacts
);
return
JsonResult
.
buildSuccessResult
();
return
JsonResult
.
buildSuccessResult
();
}
}
...
...
src/main/java/cn/quantgroup/xyqb/controller/middleoffice/contact/dto/ContactSaveDto.java
0 → 100644
View file @
94e07368
package
cn
.
quantgroup
.
xyqb
.
controller
.
middleoffice
.
contact
.
dto
;
import
cn.quantgroup.user.enums.BizType
;
import
cn.quantgroup.xyqb.entity.Contact
;
import
lombok.Data
;
import
org.springframework.validation.annotation.Validated
;
import
javax.validation.constraints.NotNull
;
import
java.util.List
;
@Data
@Validated
public
class
ContactSaveDto
{
@NotNull
(
message
=
"用户 ID 不能为空"
)
private
Long
userId
;
@NotNull
(
message
=
"业务类型不能为空"
)
private
BizType
bizType
;
@NotNull
(
message
=
"联系人信息不能为空"
)
private
List
<
Contact
>
contacts
;
}
src/main/java/cn/quantgroup/xyqb/controller/middleoffice/contact/dto/Cont
r
actUpdateDto.java
→
src/main/java/cn/quantgroup/xyqb/controller/middleoffice/contact/dto/ContactUpdateDto.java
View file @
94e07368
package
cn
.
quantgroup
.
xyqb
.
controller
.
middleoffice
.
contact
.
dto
;
package
cn
.
quantgroup
.
xyqb
.
controller
.
middleoffice
.
contact
.
dto
;
import
cn.quantgroup.user.enums.Relation
;
import
lombok.Data
;
import
lombok.Data
;
@Data
@Data
public
class
Cont
r
actUpdateDto
{
public
class
ContactUpdateDto
{
private
Long
id
;
private
Long
id
;
private
String
name
;
private
String
name
;
private
String
phoneNo
;
private
String
phoneNo
;
private
Integer
relation
;
private
Relation
relation
;
}
}
src/main/java/cn/quantgroup/xyqb/controller/middleoffice/userext/UserExtController.java
View file @
94e07368
package
cn
.
quantgroup
.
xyqb
.
controller
.
middleoffice
.
userext
;
package
cn
.
quantgroup
.
xyqb
.
controller
.
middleoffice
.
userext
;
import
cn.quantgroup.user.enums.BizType
;
import
cn.quantgroup.xyqb.controller.middleoffice.userext.req.UserExtReq
;
import
cn.quantgroup.xyqb.controller.middleoffice.userext.req.UserExtReq
;
import
cn.quantgroup.xyqb.entity.Address
;
import
cn.quantgroup.xyqb.entity.Address
;
import
cn.quantgroup.xyqb.entity.User
;
import
cn.quantgroup.xyqb.entity.User
;
import
cn.quantgroup.xyqb.entity.UserExtInfo
;
import
cn.quantgroup.xyqb.entity.UserExtInfo
;
import
cn.quantgroup.xyqb.model.JsonResult
;
import
cn.quantgroup.xyqb.model.JsonResult
;
import
cn.quantgroup.xyqb.service.user.*
;
import
cn.quantgroup.xyqb.service.user.IAddressService
;
import
cn.quantgroup.xyqb.service.user.IContactService
;
import
cn.quantgroup.xyqb.service.user.IUserDetailService
;
import
cn.quantgroup.xyqb.service.user.IUserExtInfoService
;
import
cn.quantgroup.xyqb.service.user.IUserService
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.PutMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.util.HashMap
;
import
java.util.HashMap
;
...
@@ -78,7 +88,7 @@ public class UserExtController {
...
@@ -78,7 +88,7 @@ public class UserExtController {
result
.
put
(
"address"
,
addressService
.
findByUserId
(
userId
));
result
.
put
(
"address"
,
addressService
.
findByUserId
(
userId
));
}
}
if
(
contacts
)
{
if
(
contacts
)
{
result
.
put
(
"contacts"
,
contactService
.
findByUserId
(
userId
,
true
));
result
.
put
(
"contacts"
,
contactService
.
findByUserId
AndBizType
(
userId
,
BizType
.
CASH
,
true
));
}
}
if
(
extInfo
)
{
if
(
extInfo
)
{
result
.
put
(
"extInfo"
,
userExtInfoService
.
findByUserId
(
userId
));
result
.
put
(
"extInfo"
,
userExtInfoService
.
findByUserId
(
userId
));
...
@@ -103,7 +113,7 @@ public class UserExtController {
...
@@ -103,7 +113,7 @@ public class UserExtController {
result
.
put
(
"address"
,
addressService
.
findByUserId
(
userId
));
result
.
put
(
"address"
,
addressService
.
findByUserId
(
userId
));
}
}
if
(
contacts
)
{
if
(
contacts
)
{
result
.
put
(
"contacts"
,
contactService
.
findByUserId
(
userId
,
true
));
result
.
put
(
"contacts"
,
contactService
.
findByUserId
AndBizType
(
userId
,
BizType
.
CASH
,
true
));
}
}
if
(
extInfo
)
{
if
(
extInfo
)
{
result
.
put
(
"extInfo"
,
userExtInfoService
.
findByUserId
(
userId
));
result
.
put
(
"extInfo"
,
userExtInfoService
.
findByUserId
(
userId
));
...
...
src/main/java/cn/quantgroup/xyqb/entity/Contact.java
View file @
94e07368
...
@@ -4,7 +4,10 @@ import cn.quantgroup.user.enums.BizType;
...
@@ -4,7 +4,10 @@ import cn.quantgroup.user.enums.BizType;
import
cn.quantgroup.user.enums.Relation
;
import
cn.quantgroup.user.enums.Relation
;
import
cn.quantgroup.xyqb.model.Tuple
;
import
cn.quantgroup.xyqb.model.Tuple
;
import
cn.quantgroup.xyqb.util.ValidationUtil
;
import
cn.quantgroup.xyqb.util.ValidationUtil
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
javax.persistence.Column
;
import
javax.persistence.Column
;
import
javax.persistence.Entity
;
import
javax.persistence.Entity
;
...
@@ -21,6 +24,9 @@ import java.sql.Timestamp;
...
@@ -21,6 +24,9 @@ import java.sql.Timestamp;
@Data
@Data
@Entity
@Entity
@Table
(
name
=
"contact"
)
@Table
(
name
=
"contact"
)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public
class
Contact
implements
Serializable
{
public
class
Contact
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
1L
;
private
static
final
long
serialVersionUID
=
-
1L
;
...
...
src/main/java/cn/quantgroup/xyqb/repository/IContactRepository.java
View file @
94e07368
package
cn
.
quantgroup
.
xyqb
.
repository
;
package
cn
.
quantgroup
.
xyqb
.
repository
;
import
cn.quantgroup.user.enums.BizType
;
import
cn.quantgroup.user.enums.BizType
;
import
cn.quantgroup.user.enums.Relation
;
import
cn.quantgroup.xyqb.entity.Contact
;
import
cn.quantgroup.xyqb.entity.Contact
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.Modifying
;
import
org.springframework.data.jpa.repository.Query
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.List
;
import
java.util.List
;
...
@@ -13,4 +17,9 @@ public interface IContactRepository extends JpaRepository<Contact, Long> {
...
@@ -13,4 +17,9 @@ public interface IContactRepository extends JpaRepository<Contact, Long> {
List
<
Contact
>
findByUserId
(
Long
userId
);
List
<
Contact
>
findByUserId
(
Long
userId
);
List
<
Contact
>
findByUserIdAndBizType
(
Long
userId
,
BizType
bizType
);
List
<
Contact
>
findByUserIdAndBizType
(
Long
userId
,
BizType
bizType
);
@Modifying
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Query
(
value
=
"update contact set name=?1,phone_no=?2,relation=?3 where id = ?4"
,
nativeQuery
=
true
)
void
update
(
String
name
,
String
phoneNo
,
Integer
relation
,
Long
id
);
}
}
src/main/java/cn/quantgroup/xyqb/service/page/impl/PageServiceImpl.java
View file @
94e07368
package
cn
.
quantgroup
.
xyqb
.
service
.
page
.
impl
;
package
cn
.
quantgroup
.
xyqb
.
service
.
page
.
impl
;
import
cn.quantgroup.xyqb.entity.*
;
import
cn.quantgroup.user.enums.BizType
;
import
cn.quantgroup.xyqb.entity.Address
;
import
cn.quantgroup.xyqb.entity.Contact
;
import
cn.quantgroup.xyqb.entity.User
;
import
cn.quantgroup.xyqb.entity.UserDetail
;
import
cn.quantgroup.xyqb.entity.UserExtInfo
;
import
cn.quantgroup.xyqb.model.Tuple
;
import
cn.quantgroup.xyqb.model.Tuple
;
import
cn.quantgroup.xyqb.service.page.IPageService
;
import
cn.quantgroup.xyqb.service.page.IPageService
;
import
cn.quantgroup.xyqb.service.page.bean.BasePageType
;
import
cn.quantgroup.xyqb.service.page.bean.BasePageType
;
...
@@ -55,7 +60,7 @@ public class PageServiceImpl implements IPageService {
...
@@ -55,7 +60,7 @@ public class PageServiceImpl implements IPageService {
private
BasePageType
pageContacts
=
new
BasePageType
(
"contacts"
,
false
)
{
private
BasePageType
pageContacts
=
new
BasePageType
(
"contacts"
,
false
)
{
@Override
@Override
public
boolean
canPass
(
User
user
)
{
public
boolean
canPass
(
User
user
)
{
List
<
Contact
>
contacts
=
contactService
.
findByUserId
(
user
.
getId
()
,
true
);
List
<
Contact
>
contacts
=
contactService
.
findByUserId
AndBizType
(
user
.
getId
(),
BizType
.
CASH
,
true
);
return
contacts
!=
null
&&
contacts
.
size
()
!=
0
;
return
contacts
!=
null
&&
contacts
.
size
()
!=
0
;
}
}
};
};
...
...
src/main/java/cn/quantgroup/xyqb/service/user/IContactService.java
View file @
94e07368
package
cn
.
quantgroup
.
xyqb
.
service
.
user
;
package
cn
.
quantgroup
.
xyqb
.
service
.
user
;
import
cn.quantgroup.user.enums.BizType
;
import
cn.quantgroup.user.enums.Relation
;
import
cn.quantgroup.user.enums.Relation
;
import
cn.quantgroup.xyqb.entity.Contact
;
import
cn.quantgroup.xyqb.entity.Contact
;
...
@@ -14,7 +15,9 @@ public interface IContactService {
...
@@ -14,7 +15,9 @@ public interface IContactService {
* @param trim - 是否清除非法错误记录,true-清除,false-不清除
* @param trim - 是否清除非法错误记录,true-清除,false-不清除
* @return
* @return
*/
*/
List
<
Contact
>
findByUserId
(
Long
userId
,
boolean
trim
);
// List<Contact> findByUserId(Long userId, boolean trim);
List
<
Contact
>
findByUserIdAndBizType
(
Long
userId
,
BizType
bizType
,
boolean
trim
);
Contact
findById
(
Long
id
);
Contact
findById
(
Long
id
);
...
@@ -26,9 +29,16 @@ public interface IContactService {
...
@@ -26,9 +29,16 @@ public interface IContactService {
* @param contacts - 联系人列表
* @param contacts - 联系人列表
* @return
* @return
*/
*/
@Deprecated
//因不能明确表述更新还是新增。已废弃
List
<
Contact
>
save
(
Long
userId
,
List
<
Contact
>
contacts
);
List
<
Contact
>
save
(
Long
userId
,
List
<
Contact
>
contacts
);
@Deprecated
//因不能明确表述更新还是新增。已废弃
Contact
save
(
Contact
contact
);
Contact
save
(
Contact
contact
);
@Deprecated
//因不能明确表述更新还是新增。已废弃
Contact
saveContact
(
String
name
,
String
phoneNo
,
Relation
relation
,
Contact
contact
);
Contact
saveContact
(
String
name
,
String
phoneNo
,
Relation
relation
,
Contact
contact
);
void
update
(
String
name
,
String
phoneNo
,
Relation
relation
,
Long
id
);
void
save
(
List
<
Contact
>
contactList
);
}
}
src/main/java/cn/quantgroup/xyqb/service/user/impl/ContactServiceImpl.java
View file @
94e07368
package
cn
.
quantgroup
.
xyqb
.
service
.
user
.
impl
;
package
cn
.
quantgroup
.
xyqb
.
service
.
user
.
impl
;
import
cn.quantgroup.user.enums.BizType
;
import
cn.quantgroup.user.enums.Relation
;
import
cn.quantgroup.user.enums.Relation
;
import
cn.quantgroup.xyqb.entity.Contact
;
import
cn.quantgroup.xyqb.entity.Contact
;
import
cn.quantgroup.xyqb.repository.IContactRepository
;
import
cn.quantgroup.xyqb.repository.IContactRepository
;
import
cn.quantgroup.xyqb.service.user.IContactService
;
import
cn.quantgroup.xyqb.service.user.IContactService
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.cache.annotation.CacheEvict
;
import
org.springframework.cache.annotation.CacheEvict
;
import
org.springframework.cache.annotation.Cacheable
;
import
org.springframework.cache.annotation.Caching
;
import
org.springframework.cache.annotation.Caching
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.CollectionUtils
;
...
@@ -27,10 +26,8 @@ public class ContactServiceImpl implements IContactService {
...
@@ -27,10 +26,8 @@ public class ContactServiceImpl implements IContactService {
@Autowired
@Autowired
private
IContactRepository
contactRepository
;
private
IContactRepository
contactRepository
;
@Override
public
List
<
Contact
>
findByUserIdAndBizType
(
Long
userId
,
BizType
bizType
,
boolean
trim
)
{
@Cacheable
(
value
=
"contact"
,
key
=
"'contact:' + #trim + #userId"
,
unless
=
"#result == null or #result.size() == 0"
,
cacheManager
=
"cacheManager"
)
List
<
Contact
>
contacts
=
contactRepository
.
findByUserIdAndBizType
(
userId
,
bizType
);
public
List
<
Contact
>
findByUserId
(
Long
userId
,
boolean
trim
)
{
List
<
Contact
>
contacts
=
contactRepository
.
findByUserId
(
userId
);
if
(
trim
)
{
if
(
trim
)
{
trim
(
contacts
);
trim
(
contacts
);
}
}
...
@@ -93,6 +90,16 @@ public class ContactServiceImpl implements IContactService {
...
@@ -93,6 +90,16 @@ public class ContactServiceImpl implements IContactService {
return
contact
;
return
contact
;
}
}
@Override
public
void
update
(
String
name
,
String
phoneNo
,
Relation
relation
,
Long
id
)
{
contactRepository
.
update
(
name
,
phoneNo
,
relation
.
ordinal
(),
id
);
}
@Override
public
void
save
(
List
<
Contact
>
contactList
)
{
contactRepository
.
save
(
contactList
);
}
/**
/**
* 合并当前用户列表到更新列表
* 合并当前用户列表到更新列表
*
*
...
...
src/main/java/cn/quantgroup/xyqb/service/user/impl/UserServiceImpl.java
View file @
94e07368
package
cn
.
quantgroup
.
xyqb
.
service
.
user
.
impl
;
package
cn
.
quantgroup
.
xyqb
.
service
.
user
.
impl
;
import
cn.quantgroup.user.enums.BizType
;
import
cn.quantgroup.xyqb.Constants
;
import
cn.quantgroup.xyqb.Constants
;
import
cn.quantgroup.xyqb.aspect.lock.RedisLock
;
import
cn.quantgroup.xyqb.aspect.lock.RedisLock
;
import
cn.quantgroup.xyqb.controller.IBaseController
;
import
cn.quantgroup.xyqb.controller.IBaseController
;
import
cn.quantgroup.xyqb.controller.internal.user.resp.UserFullResp
;
import
cn.quantgroup.xyqb.controller.internal.user.resp.UserFullResp
;
import
cn.quantgroup.xyqb.entity.*
;
import
cn.quantgroup.xyqb.entity.Address
;
import
cn.quantgroup.xyqb.entity.Merchant
;
import
cn.quantgroup.xyqb.entity.User
;
import
cn.quantgroup.xyqb.entity.UserDetail
;
import
cn.quantgroup.xyqb.entity.UserExtInfo
;
import
cn.quantgroup.xyqb.entity.UserHashMapping
;
import
cn.quantgroup.xyqb.entity.UserHashPhoneNoIdNoMapping
;
import
cn.quantgroup.xyqb.event.PhoneNoUpdateEvent
;
import
cn.quantgroup.xyqb.event.PhoneNoUpdateEvent
;
import
cn.quantgroup.xyqb.exception.DataException
;
import
cn.quantgroup.xyqb.exception.DataException
;
import
cn.quantgroup.xyqb.exception.UserNotExistException
;
import
cn.quantgroup.xyqb.exception.UserNotExistException
;
...
@@ -17,9 +24,17 @@ import cn.quantgroup.xyqb.repository.IUserHashPhoneNoIdNoMappingRepository;
...
@@ -17,9 +24,17 @@ import cn.quantgroup.xyqb.repository.IUserHashPhoneNoIdNoMappingRepository;
import
cn.quantgroup.xyqb.repository.IUserRepository
;
import
cn.quantgroup.xyqb.repository.IUserRepository
;
import
cn.quantgroup.xyqb.service.register.IUserRegisterService
;
import
cn.quantgroup.xyqb.service.register.IUserRegisterService
;
import
cn.quantgroup.xyqb.service.session.ISessionService
;
import
cn.quantgroup.xyqb.service.session.ISessionService
;
import
cn.quantgroup.xyqb.service.user.*
;
import
cn.quantgroup.xyqb.service.user.IAddressService
;
import
cn.quantgroup.xyqb.service.user.IContactService
;
import
cn.quantgroup.xyqb.service.user.IUserDetailService
;
import
cn.quantgroup.xyqb.service.user.IUserExtInfoService
;
import
cn.quantgroup.xyqb.service.user.IUserService
;
import
cn.quantgroup.xyqb.service.wechat.IWechatService
;
import
cn.quantgroup.xyqb.service.wechat.IWechatService
;
import
cn.quantgroup.xyqb.util.*
;
import
cn.quantgroup.xyqb.util.HashUtil
;
import
cn.quantgroup.xyqb.util.IpUtil
;
import
cn.quantgroup.xyqb.util.MqUtils
;
import
cn.quantgroup.xyqb.util.PasswordUtil
;
import
cn.quantgroup.xyqb.util.ValidationUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Maps
;
import
com.google.common.collect.Maps
;
...
@@ -38,7 +53,11 @@ import org.springframework.util.CollectionUtils;
...
@@ -38,7 +53,11 @@ import org.springframework.util.CollectionUtils;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletRequest
;
import
java.sql.Timestamp
;
import
java.sql.Timestamp
;
import
java.util.*
;
import
java.util.Collections
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Objects
;
import
java.util.Set
;
import
java.util.concurrent.TimeUnit
;
import
java.util.concurrent.TimeUnit
;
/**
/**
...
@@ -379,12 +398,15 @@ public class UserServiceImpl implements IUserService, IBaseController {
...
@@ -379,12 +398,15 @@ public class UserServiceImpl implements IUserService, IBaseController {
userFullResp
.
setAddress
(
address
.
getAddress
());
userFullResp
.
setAddress
(
address
.
getAddress
());
}
}
List
<
UserFullResp
.
Contact
>
contacts
=
Lists
.
newArrayList
();
List
<
UserFullResp
.
Contact
>
contacts
=
Lists
.
newArrayList
();
contactService
.
findByUserId
(
userId
,
true
).
forEach
(
contact
->
{
contactService
.
findByUserIdAndBizType
(
userId
,
BizType
.
CASH
,
true
)
.
forEach
(
contact
->
{
contacts
.
add
(
UserFullResp
.
Contact
.
builder
()
contacts
.
add
(
UserFullResp
.
Contact
.
builder
()
.
bizType
(
contact
.
getBizType
())
.
userId
(
userId
)
.
userId
(
userId
)
.
name
(
contact
.
getName
())
.
name
(
contact
.
getName
())
.
mobile
(
contact
.
getPhoneNo
())
.
mobile
(
contact
.
getPhoneNo
())
.
relation
(
contact
.
getRelation
().
ordinal
())
.
relation
(
contact
.
getRelation
()
.
ordinal
())
.
build
());
.
build
());
});
});
userFullResp
.
setContacts
(
contacts
);
userFullResp
.
setContacts
(
contacts
);
...
...
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