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
53da9383
Commit
53da9383
authored
Jan 09, 2018
by
技术部-任文超
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' into feature/junit_test
# Conflicts: # src/main/java/cn/quantgroup/xyqb/Bootstrap.java
parents
dcbbdf37
e94e42f7
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
260 additions
and
70 deletions
+260
-70
pom.xml
pom.xml
+5
-0
Bootstrap.java
src/main/java/cn/quantgroup/xyqb/Bootstrap.java
+6
-2
SentryConfig.java
...n/java/cn/quantgroup/xyqb/config/sentry/SentryConfig.java
+26
-0
InnerController.java
...tgroup/xyqb/controller/external/user/InnerController.java
+78
-49
AddressModel.java
src/main/java/cn/quantgroup/xyqb/model/AddressModel.java
+40
-0
ContactModel.java
src/main/java/cn/quantgroup/xyqb/model/ContactModel.java
+36
-0
UserAssociationModel.java
...n/java/cn/quantgroup/xyqb/model/UserAssociationModel.java
+66
-0
XContactIn.java
src/main/java/cn/quantgroup/xyqb/model/XContactIn.java
+0
-17
IUserRegisterService.java
...uantgroup/xyqb/service/register/IUserRegisterService.java
+1
-1
UserRegisterServiceImpl.java
...p/xyqb/service/register/impl/UserRegisterServiceImpl.java
+2
-1
No files found.
pom.xml
View file @
53da9383
...
...
@@ -333,6 +333,11 @@
<artifactId>
quantgroup-sms-sdk
</artifactId>
<version>
3.0
</version>
</dependency>
<dependency>
<groupId>
io.sentry
</groupId>
<artifactId>
sentry-spring
</artifactId>
<version>
1.6.3
</version>
</dependency>
</dependencies>
...
...
src/main/java/cn/quantgroup/xyqb/Bootstrap.java
View file @
53da9383
package
cn
.
quantgroup
.
xyqb
;
import
cn.quantgroup.tech.shutdown.DefaultSignalHandler
;
import
com.ctrip.framework.apollo.spring.annotation.EnableApolloConfig
;
import
com.ctrip.framework.apollo.spring.config.ApolloPropertySourceInitializer
;
import
com.weibo.api.motan.common.MotanConstants
;
import
com.weibo.api.motan.util.MotanSwitcherUtil
;
import
io.sentry.Sentry
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.autoconfigure.EnableAutoConfiguration
;
...
...
@@ -13,9 +16,9 @@ import org.springframework.context.ConfigurableApplicationContext;
import
org.springframework.context.annotation.ComponentScan
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.EnableAspectJAutoProxy
;
import
org.springframework.context.annotation.PropertySource
;
import
org.springframework.context.event.ContextRefreshedEvent
;
import
org.springframework.scheduling.annotation.EnableAsync
;
import
cn.quantgroup.tech.shutdown.DefaultSignalHandler
;
import
sun.misc.Signal
;
@ComponentScan
(
basePackages
=
{
"cn.quantgroup.sms"
,
"cn.quantgroup.xyqb"
})
...
...
@@ -40,9 +43,10 @@ public class Bootstrap {
});
springApplication
.
setRegisterShutdownHook
(
true
);
ConfigurableApplicationContext
run
=
springApplication
.
run
(
args
);
springApplication
.
run
(
args
);
log
.
info
(
"server start..."
);
// 启用平滑退出功能
Signal
.
handle
(
new
Signal
(
"INT"
),
new
DefaultSignalHandler
(
run
));
Sentry
.
init
(
"http://13ef5642903a414c910f8d0e0a2c56ee:8b351ad1abf44de3b4c25f39105fb927@172.16.4.89:9000/6"
);
}
}
src/main/java/cn/quantgroup/xyqb/config/sentry/SentryConfig.java
0 → 100644
View file @
53da9383
package
cn
.
quantgroup
.
xyqb
.
config
.
sentry
;
import
org.springframework.boot.autoconfigure.EnableAutoConfiguration
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.boot.web.servlet.ServletContextInitializer
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.web.servlet.HandlerExceptionResolver
;
/**
* @author xufei on 2017/12/27.
*/
@Controller
@EnableAutoConfiguration
@SpringBootApplication
public
class
SentryConfig
{
@Bean
public
HandlerExceptionResolver
sentryExceptionResolver
()
{
return
new
io
.
sentry
.
spring
.
SentryExceptionResolver
();
}
@Bean
public
ServletContextInitializer
sentryServletContextInitializer
()
{
return
new
io
.
sentry
.
spring
.
SentryServletContextInitializer
();
}
}
src/main/java/cn/quantgroup/xyqb/controller/external/user/InnerController.java
View file @
53da9383
...
...
@@ -31,10 +31,7 @@ import org.slf4j.LoggerFactory;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.http.HttpServletRequest
;
import
java.sql.Timestamp
;
...
...
@@ -56,6 +53,8 @@ public class InnerController implements IBaseController {
@Autowired
private
IUserDetailService
userDetailService
;
@Autowired
private
IUserBtRegisterService
userBtRegisterService
;
@Autowired
private
IIdCardService
idCardService
;
@Autowired
private
IUserExtInfoService
userExtInfoService
;
...
...
@@ -580,54 +579,78 @@ public class InnerController implements IBaseController {
return
JsonResult
.
buildSuccessResult
(
"success"
,
wechatUserInfo
.
getOpenId
());
}
/**
* 按照用户主键查询用户综合信息模型
* 综合信息模型包含:
* {
* 账号信息
* 个人信息
* 扩展信息
* 地址信息
* 联系人信息
* }
* @param userId - 用户表主键
* @return
*/
@RequestMapping
(
"/user-association/search/userId"
)
@LogHttpCaller
@RequestMapping
(
"/user-association/search/phone"
)
public
JsonResult
findUserAssociationByPhone
(
String
phoneNo
)
{
UserDetail
userDetail
=
userDetailService
.
findByPhoneNo
(
phoneNo
);
UserAssociation
bean
=
new
UserAssociation
();
if
(
null
!=
userDetail
)
{
Address
address
=
addressService
.
findByUserId
(
userDetail
.
getUserId
());
List
<
Contact
>
contacts
=
contactService
.
findByUserId
(
userDetail
.
getUserId
(),
true
);
UserExtInfo
extInfo
=
userExtInfoService
.
findByUserId
(
userDetail
.
getUserId
());
bean
.
setUserId
(
userDetail
.
getUserId
());
public
JsonResult
findUserAssociationModelByUserId
(
Long
userId
)
{
if
(
Objects
.
isNull
(
userId
)
||
userId
<
0
){
return
JsonResult
.
buildErrorStateResult
(
""
,
""
);
}
UserAssociationModel
bean
=
new
UserAssociationModel
();
UserDetail
userDetail
=
userDetailService
.
findByUserId
(
userId
);
if
(!
Objects
.
isNull
(
userDetail
))
{
bean
.
setId
(
userDetail
.
getUserId
());
bean
.
setPhoneNo
(
userDetail
.
getPhoneNo
());
bean
.
setName
(
userDetail
.
getName
());
bean
.
setIdNo
(
userDetail
.
getIdNo
());
bean
.
setQq
(
userDetail
.
getQq
());
bean
.
setGender
(
Optional
.
ofNullable
(
userDetail
.
getGender
()).
orElse
(
cn
.
quantgroup
.
xyqb
.
model
.
Gender
.
UNKNOWN
).
getName
());
if
(
null
!=
address
)
{
bean
.
setCity
(
address
.
getCity
());
bean
.
setDistrict
(
address
.
getDistrict
());
bean
.
setAddress
(
address
.
getAddress
());
bean
.
setProvince
(
address
.
getProvince
());
}
User
user
=
userService
.
findById
(
userId
);
if
(!
Objects
.
isNull
(
user
))
{
bean
.
setUuid
(
user
.
getUuid
());
bean
.
setRegisterFrom
(
user
.
getRegisteredFrom
());
}
UserBtRegister
userBtRegister
=
userBtRegisterService
.
findByUserId
(
userId
);
if
(!
Objects
.
isNull
(
userBtRegister
))
{
bean
.
setMerchantId
(
userBtRegister
.
getRegisterBtMerchantId
());
}
UserExtInfo
extInfo
=
userExtInfoService
.
findByUserId
(
userDetail
.
getUserId
());
if
(!
Objects
.
isNull
(
extInfo
))
{
if
(
null
==
extInfo
.
getEducationEnum
()){
bean
.
setEducationEnum
(
cn
.
quantgroup
.
user
.
enums
.
EducationEnum
.
UNKNOWN
.
getName
());
}
else
{
bean
.
setEducationEnum
(
extInfo
.
getEducationEnum
().
getName
());
}
if
(
null
!=
extInfo
)
{
if
(
null
==
extInfo
.
getEducationEnum
()){
bean
.
setEducationEnum
(
cn
.
quantgroup
.
user
.
enums
.
EducationEnum
.
UNKNOWN
.
getName
());
}
else
{
bean
.
setEducationEnum
(
extInfo
.
getEducationEnum
().
getName
());
}
if
(
null
==
extInfo
.
getOccupationEnum
()){
bean
.
setOccupationEnum
(
cn
.
quantgroup
.
user
.
enums
.
OccupationEnum
.
UNKNOWN
.
getName
());
}
else
{
bean
.
setOccupationEnum
(
extInfo
.
getOccupationEnum
().
getName
());
}
if
(
null
==
extInfo
.
getMarryStatus
()){
bean
.
setMarryStatus
(
cn
.
quantgroup
.
user
.
enums
.
MaritalStatus
.
UNKNOWN
.
getDescription
());
}
else
{
bean
.
setMarryStatus
(
extInfo
.
getMarryStatus
().
getDescription
());
}
if
(
null
==
extInfo
.
getOccupationEnum
()){
bean
.
setOccupationEnum
(
cn
.
quantgroup
.
user
.
enums
.
OccupationEnum
.
UNKNOWN
.
getName
());
}
else
{
bean
.
setOccupationEnum
(
extInfo
.
getOccupationEnum
().
getName
());
}
if
(
org
.
apache
.
commons
.
collections
.
CollectionUtils
.
isNotEmpty
(
contacts
))
{
List
<
XContactInfo
>
userContacts
=
contacts2ContactRets
(
contacts
);
bean
.
setContractResults
(
userContacts
);
if
(
null
==
extInfo
.
getMarryStatus
()){
bean
.
setMarryStatus
(
cn
.
quantgroup
.
user
.
enums
.
MaritalStatus
.
UNKNOWN
.
getDescription
());
}
else
{
bean
.
setMarryStatus
(
extInfo
.
getMarryStatus
().
getDescription
());
}
}
Address
address
=
addressService
.
findByUserId
(
userDetail
.
getUserId
());
if
(!
Objects
.
isNull
(
address
))
{
bean
.
putAddressList
(
Arrays
.
asList
(
address
));
}
List
<
Contact
>
contacts
=
contactService
.
findByUserId
(
userDetail
.
getUserId
(),
true
);
if
(!
Objects
.
isNull
(
address
))
{
bean
.
putContactList
(
contacts
);
}
return
JsonResult
.
buildSuccessResult
(
""
,
bean
);
}
@LogHttpCaller
@RequestMapping
(
"/user-association/search/phone"
)
public
JsonResult
findUserAssociationByPhone
(
String
phoneNo
)
{
UserDetail
userDetail
=
userDetailService
.
findByPhoneNo
(
phoneNo
);
UserAssociation
bean
=
getUserAssociation
(
userDetail
);
return
JsonResult
.
buildSuccessResult
(
""
,
bean
);
}
...
...
@@ -635,8 +658,17 @@ public class InnerController implements IBaseController {
@LogHttpCaller
public
JsonResult
findUserAssociationByUid
(
Long
uid
)
{
UserDetail
userDetail
=
userDetailService
.
findByUserId
(
uid
);
UserAssociation
bean
=
new
UserAssociation
();
UserAssociation
bean
=
getUserAssociation
(
userDetail
);
return
JsonResult
.
buildSuccessResult
(
""
,
bean
);
}
/**
* 获取用户综合信息
* @param userDetail
* @return
*/
private
UserAssociation
getUserAssociation
(
UserDetail
userDetail
){
UserAssociation
bean
=
new
UserAssociation
();
if
(
null
!=
userDetail
)
{
Address
address
=
addressService
.
findByUserId
(
userDetail
.
getUserId
());
List
<
Contact
>
contacts
=
contactService
.
findByUserId
(
userDetail
.
getUserId
(),
true
);
...
...
@@ -647,12 +679,11 @@ public class InnerController implements IBaseController {
bean
.
setIdNo
(
userDetail
.
getIdNo
());
bean
.
setQq
(
userDetail
.
getQq
());
bean
.
setGender
(
Optional
.
ofNullable
(
userDetail
.
getGender
()).
orElse
(
cn
.
quantgroup
.
xyqb
.
model
.
Gender
.
UNKNOWN
).
getName
());
if
(
null
!=
address
)
{
bean
.
setProvince
(
address
.
getProvince
());
bean
.
setCity
(
address
.
getCity
());
bean
.
setDistrict
(
address
.
getDistrict
());
bean
.
setAddress
(
address
.
getAddress
());
bean
.
setProvince
(
address
.
getProvince
());
}
if
(
null
!=
extInfo
)
{
if
(
null
==
extInfo
.
getEducationEnum
()){
...
...
@@ -665,7 +696,6 @@ public class InnerController implements IBaseController {
}
else
{
bean
.
setOccupationEnum
(
extInfo
.
getOccupationEnum
().
getName
());
}
if
(
null
==
extInfo
.
getMarryStatus
()){
bean
.
setMarryStatus
(
cn
.
quantgroup
.
user
.
enums
.
MaritalStatus
.
UNKNOWN
.
getDescription
());
}
else
{
...
...
@@ -677,8 +707,7 @@ public class InnerController implements IBaseController {
bean
.
setContractResults
(
userContacts
);
}
}
return
JsonResult
.
buildSuccessResult
(
""
,
bean
);
return
bean
;
}
public
static
XContactInfo
contact2ContactRet
(
Contact
c
)
{
...
...
@@ -868,7 +897,7 @@ public class InnerController implements IBaseController {
String
districtCode
,
String
district
,
String
address
,
String
contacts
)
{
String
contacts
,
@RequestParam
(
defaultValue
=
"0"
,
required
=
false
)
Long
btRegisterChannelId
)
{
LOGGER
.
info
(
"[/innerapi/user/save_multi]保存用户、联系人、地址信息:registeredFrom:[{}], phoneNo[{}],name[{}],idNo[{}],provinceCode[{}],cityCode[{}],districtCode[{}],"
+
"address[{}],contacts[{}]"
,
registeredFrom
,
phoneNo
,
name
,
idNo
,
provinceCode
,
cityCode
,
districtCode
,
address
,
contacts
);
...
...
@@ -920,7 +949,7 @@ public class InnerController implements IBaseController {
return
JsonResult
.
buildErrorStateResult
(
"用户已存在,手机号被占用"
,
null
);
}
user
=
userRegisterService
.
register
(
Long
.
valueOf
(
registeredFrom
),
Long
.
valueOf
(
channelId
),
phoneNo
,
name
,
idNo
,
provinceCode
,
province
,
cityCode
,
city
,
districtCode
,
district
,
address
,
contacts
);
user
=
userRegisterService
.
register
(
Long
.
valueOf
(
registeredFrom
),
Long
.
valueOf
(
channelId
),
phoneNo
,
name
,
idNo
,
provinceCode
,
province
,
cityCode
,
city
,
districtCode
,
district
,
address
,
contacts
,
btRegisterChannelId
);
UserRet
userRet
=
new
UserRet
(
user
);
return
JsonResult
.
buildSuccessResult
(
null
,
userRet
);
...
...
src/main/java/cn/quantgroup/xyqb/model/AddressModel.java
0 → 100644
View file @
53da9383
package
cn
.
quantgroup
.
xyqb
.
model
;
import
cn.quantgroup.xyqb.entity.Address
;
import
lombok.Data
;
import
java.io.Serializable
;
/**
* 地址信息数据模型
* @author renwc
* @date 2018-01-04
*/
@Data
public
class
AddressModel
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
1L
;
private
Long
provinceCode
;
private
String
province
;
private
Long
cityCode
;
private
String
city
;
private
Long
districtCode
;
private
String
district
;
private
String
address
;
private
AddressModel
(){}
public
static
AddressModel
entity2Model
(
Address
entity
)
{
if
(
entity
==
null
)
{
return
null
;
}
AddressModel
model
=
new
AddressModel
();
model
.
setProvinceCode
(
entity
.
getProvinceCode
());
model
.
setCityCode
(
entity
.
getCityCode
());
model
.
setDistrictCode
(
entity
.
getDistrictCode
());
model
.
setDistrict
(
entity
.
getDistrict
());
model
.
setProvince
(
entity
.
getProvince
());
model
.
setCity
(
entity
.
getCity
());
model
.
setAddress
(
entity
.
getAddress
());
return
model
;
}
}
src/main/java/cn/quantgroup/xyqb/model/ContactModel.java
0 → 100644
View file @
53da9383
package
cn
.
quantgroup
.
xyqb
.
model
;
import
cn.quantgroup.user.enums.Relation
;
import
cn.quantgroup.xyqb.entity.Contact
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.util.Optional
;
/**
* 联系人数据模型
* @author renwc
* @date 2018-01-04
*/
@Data
public
class
ContactModel
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
1L
;
private
String
name
;
private
String
phoneNo
;
private
String
relationName
;
private
String
relation
;
private
ContactModel
(){}
public
static
ContactModel
entity2Model
(
Contact
entity
)
{
if
(
entity
==
null
)
{
return
null
;
}
ContactModel
model
=
new
ContactModel
();
model
.
setName
(
entity
.
getName
());
model
.
setPhoneNo
(
entity
.
getPhoneNo
());
model
.
setRelationName
(
Optional
.
ofNullable
(
entity
.
getRelation
()).
orElse
(
Relation
.
OTHER
).
getDescription
());
model
.
setRelation
(
entity
.
getRelation
().
name
());
return
model
;
}
}
src/main/java/cn/quantgroup/xyqb/model/UserAssociationModel.java
0 → 100644
View file @
53da9383
package
cn
.
quantgroup
.
xyqb
.
model
;
import
cn.quantgroup.xyqb.entity.Address
;
import
cn.quantgroup.xyqb.entity.Contact
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Objects
;
/**
* 用户综合信息数据模型
* @author renwc
* @date 2018-01-04
*/
@Data
public
class
UserAssociationModel
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
1L
;
private
Long
id
;
private
String
uuid
;
private
String
phoneNo
;
private
String
idNo
;
private
String
name
;
private
String
gender
;
private
String
marryStatus
;
private
String
educationEnum
;
private
String
occupationEnum
;
private
String
qq
;
private
Long
registerFrom
;
private
Long
merchantId
;
private
List
<
AddressModel
>
addressList
;
private
List
<
ContactModel
>
contactList
;
/**
* 填充地址模型列表
* @param entitylist
*/
public
void
putAddressList
(
List
<
Address
>
entitylist
){
if
(
Objects
.
isNull
(
entitylist
)){
return
;
}
if
(
Objects
.
isNull
(
this
.
addressList
)){
this
.
addressList
=
new
ArrayList
<
AddressModel
>(
entitylist
.
size
());
}
for
(
Address
entity
:
entitylist
)
{
this
.
addressList
.
add
(
AddressModel
.
entity2Model
(
entity
));
}
}
/**
* 填充联系人模型列表
* @param entitylist
*/
public
void
putContactList
(
List
<
Contact
>
entitylist
){
if
(
Objects
.
isNull
(
entitylist
)){
return
;
}
if
(
Objects
.
isNull
(
this
.
contactList
)){
this
.
contactList
=
new
ArrayList
<
ContactModel
>(
entitylist
.
size
());
}
for
(
Contact
entity
:
entitylist
)
{
this
.
contactList
.
add
(
ContactModel
.
entity2Model
(
entity
));
}
}
}
src/main/java/cn/quantgroup/xyqb/model/XContactIn.java
deleted
100644 → 0
View file @
dcbbdf37
package
cn
.
quantgroup
.
xyqb
.
model
;
import
lombok.Data
;
/**
* Created by xuran on 2017/8/1.
*/
@Data
public
class
XContactIn
{
private
static
final
long
serialVersionUID
=
-
1L
;
private
Long
id
;
private
Long
userId
;
private
String
name
;
private
String
phoneNo
;
private
String
relation
;
}
src/main/java/cn/quantgroup/xyqb/service/register/IUserRegisterService.java
View file @
53da9383
...
...
@@ -92,7 +92,7 @@ public interface IUserRegisterService {
* @param contacts
* @return
*/
User
register
(
Long
registeredFrom
,
Long
channelId
,
String
phoneNo
,
String
name
,
String
idNo
,
String
provinceCode
,
String
province
,
String
cityCode
,
String
city
,
String
districtCode
,
String
district
,
String
address
,
String
contacts
);
User
register
(
Long
registeredFrom
,
Long
channelId
,
String
phoneNo
,
String
name
,
String
idNo
,
String
provinceCode
,
String
province
,
String
cityCode
,
String
city
,
String
districtCode
,
String
district
,
String
address
,
String
contacts
,
Long
btRegisterChannelId
);
/**
* 替换MotanUserServiceImpl.appLoginAndFetchLoginInfo和MotanUserServiceImpl.appLogin里的register
...
...
src/main/java/cn/quantgroup/xyqb/service/register/impl/UserRegisterServiceImpl.java
View file @
53da9383
...
...
@@ -79,7 +79,7 @@ public class UserRegisterServiceImpl extends AbstractUserRegisterService {
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
User
register
(
Long
registeredFrom
,
Long
channelId
,
String
phoneNo
,
String
name
,
String
idNo
,
String
provinceCode
,
String
province
,
String
cityCode
,
String
city
,
String
districtCode
,
String
district
,
String
address
,
String
contacts
)
{
public
User
register
(
Long
registeredFrom
,
Long
channelId
,
String
phoneNo
,
String
name
,
String
idNo
,
String
provinceCode
,
String
province
,
String
cityCode
,
String
city
,
String
districtCode
,
String
district
,
String
address
,
String
contacts
,
Long
btRegisterChannelId
)
{
Address
addressObj
=
new
Address
();
addressObj
.
setProvinceCode
(
Long
.
valueOf
(
provinceCode
));
addressObj
.
setProvince
(
province
);
...
...
@@ -91,6 +91,7 @@ public class UserRegisterServiceImpl extends AbstractUserRegisterService {
UserRegisterParam
userRegisterParam
=
UserRegisterParam
.
builder
()
.
registerFrom
(
registeredFrom
).
phoneNo
(
phoneNo
).
idNo
(
idNo
).
name
(
name
)
.
channelId
(
channelId
)
.
btRegisterChannelId
(
btRegisterChannelId
)
.
address
(
addressObj
).
contacts
(
contacts
)
.
generateRandomPwd
(
true
).
sendSuccessSms
(
true
).
sendAppSms
(
true
)
.
sendSuccessMq
(
true
)
...
...
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