Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
amos-boot-zx-biz
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
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
Jobs
Commits
Open sidebar
项目统一框架
一体化_户用光伏项目代码
amos-boot-zx-biz
Commits
6a999e74
Commit
6a999e74
authored
May 11, 2024
by
chenzhao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
农户登录注册修改
parent
04f4304f
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
214 additions
and
65 deletions
+214
-65
BeanDtoUtils.java
.../yeejoin/amos/boot/module/hygf/api/util/BeanDtoUtils.java
+35
-0
PeasantHouseholdWxController.java
...ule/hygf/biz/controller/PeasantHouseholdWxController.java
+77
-37
PeasantHouseholdServiceImpl.java
...le/hygf/biz/service/impl/PeasantHouseholdServiceImpl.java
+102
-28
No files found.
amos-boot-system-jxiop/amos-boot-module-hygf-api/src/main/java/com/yeejoin/amos/boot/module/hygf/api/util/BeanDtoUtils.java
View file @
6a999e74
...
...
@@ -2,6 +2,8 @@ package com.yeejoin.amos.boot.module.hygf.api.util;
import
org.springframework.beans.BeanUtils
;
import
java.lang.reflect.Field
;
public
class
BeanDtoUtils
{
...
...
@@ -34,4 +36,37 @@ public class BeanDtoUtils {
return
null
;
}
}
public
static
<
S
,
T
>
void
copyPropertiesNonNull
(
S
source
,
T
target
)
{
if
(
source
==
null
||
target
==
null
)
{
throw
new
IllegalArgumentException
(
"Source and target cannot be null"
);
}
// 使用反射获取源对象的所有属性
Field
[]
sourceFields
=
source
.
getClass
().
getDeclaredFields
();
for
(
Field
sourceField
:
sourceFields
)
{
if
(
sourceField
.
getName
().
equals
(
"serialVersionUID"
)){
continue
;
}
sourceField
.
setAccessible
(
true
);
// 获取目标对象中对应的属性
try
{
Field
targetField
=
target
.
getClass
().
getDeclaredField
(
sourceField
.
getName
());
targetField
.
setAccessible
(
true
);
// 获取源对象的属性值
Object
sourceValue
=
sourceField
.
get
(
source
);
// 如果源对象的属性值不是 null,则复制到目标对象
if
(
sourceValue
!=
null
)
{
targetField
.
set
(
target
,
sourceValue
);
}
}
catch
(
NoSuchFieldException
e
)
{
// 如果目标对象没有对应的属性,则忽略
}
catch
(
IllegalAccessException
e
)
{
// 如果访问属性时发生异常,则抛出运行时异常
throw
new
RuntimeException
(
e
);
}
}
}
}
amos-boot-system-jxiop/amos-boot-module-hygf-biz/src/main/java/com/yeejoin/amos/boot/module/hygf/biz/controller/PeasantHouseholdWxController.java
View file @
6a999e74
...
...
@@ -6,12 +6,15 @@ import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import
com.yeejoin.amos.boot.module.hygf.api.dto.MobileLoginParamDto
;
import
com.yeejoin.amos.boot.module.hygf.api.dto.PeasantHouseholdDto
;
import
com.yeejoin.amos.boot.module.hygf.api.dto.PeasantHouseholdWxDto
;
import
com.yeejoin.amos.boot.module.hygf.api.entity.PeasantHousehold
;
import
com.yeejoin.amos.boot.module.hygf.api.service.IWxService
;
import
com.yeejoin.amos.boot.module.hygf.api.util.BeanDtoUtils
;
import
com.yeejoin.amos.boot.module.hygf.biz.service.impl.HouseholdContractServiceImpl
;
import
com.yeejoin.amos.boot.module.hygf.biz.service.impl.PeasantHouseholdServiceImpl
;
import
com.yeejoin.amos.boot.module.hygf.biz.service.impl.SurveyInformationServiceImpl
;
import
com.yeejoin.amos.component.feign.model.FeignClientResult
;
import
com.yeejoin.amos.component.robot.AmosRequestContext
;
import
com.yeejoin.amos.feign.privilege.Privilege
;
import
com.yeejoin.amos.feign.privilege.model.AgencyUserModel
;
import
com.yeejoin.amos.feign.systemctl.Systemctl
;
import
com.yeejoin.amos.feign.systemctl.model.RegionModel
;
...
...
@@ -21,9 +24,11 @@ import io.swagger.annotations.ApiOperation;
import
io.swagger.annotations.ApiParam
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.web.bind.annotation.*
;
import
org.typroject.tyboot.core.foundation.context.RequestContext
;
import
org.typroject.tyboot.core.foundation.enumeration.UserType
;
import
org.typroject.tyboot.core.restful.doc.TycloudOperation
;
import
org.typroject.tyboot.core.restful.exception.instance.BadRequest
;
...
...
@@ -107,52 +112,87 @@ public class PeasantHouseholdWxController extends BaseController {
return
ResponseHelper
.
buildResponse
(
peasantHouseholdServiceImpl
.
wxUserLogin
(
mobileLoginParam
));
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
,
needAuth
=
false
)
@RequestMapping
(
value
=
"/getRegisterPhone"
,
method
=
RequestMethod
.
POST
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"获取手机号及回填信息"
,
notes
=
"获取手机号及回填信息"
)
public
ResponseModel
<
Map
<
String
,
Object
>>
getRegisterPhone
(
@ApiParam
@RequestBody
MobileLoginParamDto
mobileLoginParam
)
{
log
.
info
(
"微信授权注册入参 => {}"
,
mobileLoginParam
);
if
(
StringUtils
.
isBlank
(
mobileLoginParam
.
getAmosUserId
()))
{
// 扫码的userId为空, 则取默认值
mobileLoginParam
.
setAmosUserId
(
defaultUserId
);
}
return
ResponseHelper
.
buildResponse
(
peasantHouseholdServiceImpl
.
getRegisterPhone
(
mobileLoginParam
));
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
,
needAuth
=
false
)
@RequestMapping
(
value
=
"/register"
,
method
=
RequestMethod
.
POST
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"微信农户注册"
,
notes
=
"微信农户注册"
)
public
ResponseModel
<
PeasantHouseholdDto
>
wxUserRegister
(
@ApiParam
@RequestBody
MobileLoginParamDto
mobileLoginParam
)
{
log
.
info
(
"微信农户注册, 入参 => {}"
,
mobileLoginParam
);
PeasantHouseholdDto
model
=
mobileLoginParam
.
getPeasantHouseholdDto
();
validatedPeasantHouseholdDto
(
model
);
AgencyUserModel
userInfo
=
getUserInfo
();
model
.
setAmosUserId
(
userInfo
.
getUserId
());
// 绑定平台userId
model
.
setPeasantHouseholdNo
(
peasantHouseholdServiceImpl
.
getPeasantHouseholdNo
(
model
.
getRegionalCompaniesSeq
()));
model
.
setIsCertified
(
1
);
// 这里就实名认证
model
.
setSurveyOrNot
(
0
);
model
.
setReview
(
0
);
JSONArray
regionName
=
getRegionName
();
List
<
RegionModel
>
list
=
JSONArray
.
parseArray
(
regionName
.
toJSONString
(),
RegionModel
.
class
);
// 处理项目地址
String
area
=
""
;
if
(
model
.
getProjectAddress
()
!=
null
&&
model
.
getProjectAddress
().
size
()
!=
0
)
{
for
(
Integer
reg
:
model
.
getProjectAddress
())
for
(
RegionModel
re
:
list
)
{
if
(
re
.
getRegionCode
().
equals
(
Integer
.
valueOf
(
reg
)))
{
area
=
area
+
re
.
getRegionName
()
+
"/"
;
public
ResponseModel
<
PeasantHouseholdWxDto
>
wxUserRegister
(
@ApiParam
@RequestBody
MobileLoginParamDto
mobileLoginParam
)
{
//注册并登录 生成农户信息表数据
PeasantHouseholdWxDto
peasantHouseholdWxDto
=
peasantHouseholdServiceImpl
.
registerAndLogin
(
mobileLoginParam
);
PeasantHousehold
peasantHousehold
=
peasantHouseholdWxDto
.
getPeasantHousehold
();
try
{
log
.
info
(
"微信农户注册, 入参 => {}"
,
mobileLoginParam
);
PeasantHouseholdDto
model
=
mobileLoginParam
.
getPeasantHouseholdDto
();
validatedPeasantHouseholdDto
(
model
);
BeanDtoUtils
.
copyPropertiesNonNull
(
peasantHousehold
,
model
);
model
.
setPeasantHouseholdNo
(
peasantHouseholdServiceImpl
.
getPeasantHouseholdNo
(
model
.
getRegionalCompaniesSeq
()));
model
.
setIsCertified
(
1
);
// 这里就实名认证
model
.
setSurveyOrNot
(
0
);
model
.
setReview
(
0
);
JSONArray
regionName
=
getRegionName
();
List
<
RegionModel
>
list
=
JSONArray
.
parseArray
(
regionName
.
toJSONString
(),
RegionModel
.
class
);
// 处理项目地址
String
area
=
""
;
if
(
model
.
getProjectAddress
()
!=
null
&&
model
.
getProjectAddress
().
size
()
!=
0
)
{
for
(
Integer
reg
:
model
.
getProjectAddress
())
for
(
RegionModel
re
:
list
)
{
if
(
re
.
getRegionCode
().
equals
(
Integer
.
valueOf
(
reg
)))
{
area
=
area
+
re
.
getRegionName
()
+
"/"
;
}
}
}
model
.
setProjectAddressName
(
area
.
length
()
>
2
?
area
.
substring
(
0
,
area
.
length
()
-
1
)
:
area
);
if
(
"1"
.
equals
(
model
.
getIsPermanent
())
||
"true"
.
equals
(
model
.
getIsPermanent
()))
{
model
.
setPermanentAddress
(
model
.
getProjectAddress
());
model
.
setPermanentAddressDetail
(
model
.
getProjectAddressDetail
()
);
model
.
setPermanentAddressName
(
area
.
length
()
>
2
?
area
.
substring
(
0
,
area
.
length
()
-
1
)
:
area
);
}
else
{
// 处理常住地址
String
permanent
=
""
;
if
(
model
.
getPermanentAddress
()
!=
null
&&
model
.
getPermanentAddress
().
size
()
!=
0
)
{
for
(
Integer
reg
:
model
.
getPermanentAddress
())
for
(
RegionModel
re
:
list
)
{
if
(
re
.
getRegionCode
().
equals
(
Integer
.
valueOf
(
reg
)))
{
permanent
=
permanent
+
re
.
getRegionName
()
+
"/"
;
model
.
setProjectAddressName
(
area
.
length
()
>
2
?
area
.
substring
(
0
,
area
.
length
()
-
1
)
:
area
);
if
(
"1"
.
equals
(
model
.
getIsPermanent
())
||
"true"
.
equals
(
model
.
getIsPermanent
()))
{
model
.
setPermanentAddress
(
model
.
getProjectAddress
());
model
.
setPermanentAddressDetail
(
model
.
getProjectAddressDetail
());
model
.
setPermanentAddressName
(
area
.
length
()
>
2
?
area
.
substring
(
0
,
area
.
length
()
-
1
)
:
area
);
}
else
{
// 处理常住地址
String
permanent
=
""
;
if
(
model
.
getPermanentAddress
()
!=
null
&&
model
.
getPermanentAddress
().
size
()
!=
0
)
{
for
(
Integer
reg
:
model
.
getPermanentAddress
())
for
(
RegionModel
re
:
list
)
{
if
(
re
.
getRegionCode
().
equals
(
Integer
.
valueOf
(
reg
))
)
{
permanent
=
permanent
+
re
.
getRegionName
()
+
"/"
;
}
}
}
model
.
setPermanentAddressName
(
permanent
.
length
()
>
2
?
permanent
.
substring
(
0
,
permanent
.
length
()
-
1
)
:
permanent
);
model
.
setPermanentAddressName
(
permanent
.
length
()
>
2
?
permanent
.
substring
(
0
,
permanent
.
length
()
-
1
)
:
permanent
);
}
}
}
BeanDtoUtils
.
copyPropertiesNonNull
(
model
,
peasantHousehold
);
PeasantHouseholdDto
result
=
peasantHouseholdServiceImpl
.
savePeasantHousehold
(
model
,
null
);
peasantHouseholdWxDto
.
setPeasantHousehold
(
peasantHousehold
);
return
ResponseHelper
.
buildResponse
(
peasantHouseholdWxDto
);
}
catch
(
Exception
e
)
{
log
.
error
(
e
.
getMessage
());
if
(
null
!=
peasantHousehold
)
{
log
.
error
(
"调用平台接口回滚注册的用户 => {}"
,
e
,
peasantHousehold
.
getAmosUserId
());
// 调用平台接口回滚注册的用户
RequestContext
.
setAppKey
(
"AMOS_STUDIO"
);
RequestContext
.
setProduct
(
"AMOS_STUDIO_WEB"
);
RequestContext
.
setToken
(
requestContext
.
getToken
());
Privilege
.
agencyUserClient
.
multDeleteUser
(
peasantHousehold
.
getAmosUserId
());
}
if
(
e
instanceof
BadRequest
||
e
.
getCause
()
instanceof
BadRequest
)
{
throw
new
BadRequest
(
e
.
getMessage
());
}
throw
new
BadRequest
(
e
.
getMessage
());
}
PeasantHouseholdDto
result
=
peasantHouseholdServiceImpl
.
savePeasantHousehold
(
model
,
userInfo
);
return
ResponseHelper
.
buildResponse
(
result
);
}
public
JSONArray
getRegionName
()
{
...
...
amos-boot-system-jxiop/amos-boot-module-hygf-biz/src/main/java/com/yeejoin/amos/boot/module/hygf/biz/service/impl/PeasantHouseholdServiceImpl.java
View file @
6a999e74
package
com
.
yeejoin
.
amos
.
boot
.
module
.
hygf
.
biz
.
service
.
impl
;
import
cn.hutool.core.bean.BeanUtil
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
...
...
@@ -296,9 +297,9 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto
public
PeasantHouseholdWxDto
wxUserLogin
(
MobileLoginParamDto
wxDTO
)
{
// 通过手机号和验证码调用平台接口进行验证
String
phoneNo
=
this
.
parsePhoneNo
(
wxDTO
);
if
(
phoneNo
==
null
)
{
log
.
error
(
"获取手机号失败!"
);
throw
new
BadRequest
(
"微信授权失败, 请重新授权
"
);
if
(
phoneNo
==
null
)
{
log
.
error
(
"获取手机号失败!"
);
throw
new
BadRequest
(
"解析手机号失败
"
);
}
log
.
info
(
"用户手机号码 => {} 开始登录"
,
phoneNo
);
wxDTO
.
setPhoneNo
(
phoneNo
);
...
...
@@ -318,12 +319,12 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto
if
(
StringUtils
.
isEmpty
(
wxDTO
.
getAmosUserId
())){
throw
new
RuntimeException
(
"请扫描经销商开发人员区域二维码进行注册"
);
}
FeignClientResult
<
AgencyUserModel
>
registerUserModelRestult
=
doRegister
(
wxDTO
);
if
(
registerUserModelRestult
==
null
||
registerUserModelRestult
.
getStatus
()
!=
200
)
{
log
.
error
(
"用户手机号码 => "
+
phoneNo
+
" 调用平台创建用户信息失败: "
+
registerUserModelRestult
.
getDevMessage
());
throw
new
RuntimeException
(
registerUserModelRestult
.
getMessage
());
}
registerUserModel
=
registerUserModelRestult
.
getResult
();
//
FeignClientResult<AgencyUserModel> registerUserModelRestult = doRegister(wxDTO);
//
if (registerUserModelRestult == null || registerUserModelRestult.getStatus() != 200) {
//
log.error("用户手机号码 => " + phoneNo + " 调用平台创建用户信息失败: " + registerUserModelRestult.getDevMessage());
//
throw new RuntimeException(registerUserModelRestult.getMessage());
//
}
//
registerUserModel = registerUserModelRestult.getResult();
}
}
// endregion
...
...
@@ -334,25 +335,25 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto
// 查询农户信息
List
<
PeasantHousehold
>
peasantHouseholds
=
this
.
query
().
eq
(
"telephone"
,
phoneNo
).
orderByDesc
(
"rec_date"
).
list
();
PeasantHousehold
peasantHousehold
=
peasantHouseholds
.
size
()
>
0
?
peasantHouseholds
.
get
(
0
)
:
null
;
if
(
null
==
peasantHousehold
)
{
peasantHousehold
=
new
PeasantHousehold
();
peasantHousehold
.
setIsCertified
(
0
);
peasantHousehold
.
setSurveyOrNot
(
0
);
peasantHousehold
.
setReview
(
0
);
peasantHousehold
.
setTelephone
(
phoneNo
);
PeasantHouseholdDto
peasantHouseholdDto
=
buildDefaultPeasantHouseholdDto
(
wxDTO
.
getAmosUserId
(),
wxDTO
.
getQrCodeType
(),
phoneNo
);
peasantHousehold
.
setDeveloperCode
(
Optional
.
ofNullable
(
peasantHouseholdDto
).
map
(
PeasantHouseholdDto:
:
getDeveloperCode
).
orElse
(
null
));
// 开发方code
peasantHousehold
.
setDeveloperId
(
Optional
.
ofNullable
(
peasantHouseholdDto
).
map
(
PeasantHouseholdDto:
:
getDeveloperId
).
orElse
(
null
));
// 开发方id
peasantHousehold
.
setDeveloperName
(
Optional
.
ofNullable
(
peasantHouseholdDto
).
map
(
PeasantHouseholdDto:
:
getDeveloperName
).
orElse
(
null
));
// 开发方名称
peasantHousehold
.
setDeveloper
(
Optional
.
ofNullable
(
peasantHouseholdDto
).
map
(
PeasantHouseholdDto:
:
getDeveloper
).
orElse
(
null
));
// 开发人
peasantHousehold
.
setDeveloperUserId
(
Optional
.
ofNullable
(
peasantHouseholdDto
).
map
(
PeasantHouseholdDto:
:
getDeveloperUserId
).
orElse
(
null
));
peasantHousehold
.
setRegionalCompaniesSeq
(
Optional
.
ofNullable
(
peasantHouseholdDto
).
map
(
PeasantHouseholdDto:
:
getRegionalCompaniesSeq
).
orElse
(
null
));
peasantHousehold
.
setRegionalCompaniesCode
(
Optional
.
ofNullable
(
peasantHouseholdDto
).
map
(
PeasantHouseholdDto:
:
getRegionalCompaniesCode
).
orElse
(
null
));
peasantHousehold
.
setRegionalCompaniesName
(
Optional
.
ofNullable
(
peasantHouseholdDto
).
map
(
PeasantHouseholdDto:
:
getRegionalCompaniesName
).
orElse
(
null
));
peasantHousehold
.
setIsCertified
(
0
);
// 过滤传给前端的数据
this
.
save
(
peasantHousehold
);
}
//
if (null == peasantHousehold) {
//
peasantHousehold = new PeasantHousehold();
//
peasantHousehold.setIsCertified(0);
//
peasantHousehold.setSurveyOrNot(0);
//
peasantHousehold.setReview(0);
//
peasantHousehold.setTelephone(phoneNo);
//
PeasantHouseholdDto peasantHouseholdDto = buildDefaultPeasantHouseholdDto(wxDTO.getAmosUserId(), wxDTO.getQrCodeType(), phoneNo);
//
peasantHousehold.setDeveloperCode(Optional.ofNullable(peasantHouseholdDto).map(PeasantHouseholdDto::getDeveloperCode).orElse(null));// 开发方code
//
peasantHousehold.setDeveloperId(Optional.ofNullable(peasantHouseholdDto).map(PeasantHouseholdDto::getDeveloperId).orElse(null));// 开发方id
//
peasantHousehold.setDeveloperName(Optional.ofNullable(peasantHouseholdDto).map(PeasantHouseholdDto::getDeveloperName).orElse(null));// 开发方名称
//
peasantHousehold.setDeveloper(Optional.ofNullable(peasantHouseholdDto).map(PeasantHouseholdDto::getDeveloper).orElse(null));// 开发人
//
peasantHousehold.setDeveloperUserId(Optional.ofNullable(peasantHouseholdDto).map(PeasantHouseholdDto::getDeveloperUserId).orElse(null));
//
peasantHousehold.setRegionalCompaniesSeq(Optional.ofNullable(peasantHouseholdDto).map(PeasantHouseholdDto::getRegionalCompaniesSeq).orElse(null));
//
peasantHousehold.setRegionalCompaniesCode(Optional.ofNullable(peasantHouseholdDto).map(PeasantHouseholdDto::getRegionalCompaniesCode).orElse(null));
//
peasantHousehold.setRegionalCompaniesName(Optional.ofNullable(peasantHouseholdDto).map(PeasantHouseholdDto::getRegionalCompaniesName).orElse(null));
//
peasantHousehold.setIsCertified(0);
//
// 过滤传给前端的数据
//
this.save(peasantHousehold);
//
}
/*else {
// 场景:扫码未实名认证的情况下, 关掉小程序第二次扫另一个区域经销商的二维码
//
...
...
@@ -384,6 +385,79 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto
}
}
public
Map
<
String
,
Object
>
getRegisterPhone
(
MobileLoginParamDto
wxDTO
){
// 机器人token
RequestContext
.
setAppKey
(
"AMOS_STUDIO"
);
RequestContext
.
setProduct
(
"AMOS_STUDIO_WEB"
);
RequestContext
.
setToken
(
requestContext
.
getToken
());
PeasantHouseholdDto
peasantHouseholdDto
=
this
.
buildDefaultPeasantHouseholdDto
(
wxDTO
.
getAmosUserId
(),
wxDTO
.
getQrCodeType
(),
wxDTO
.
getPhoneNo
());
String
phoneNo
=
this
.
parsePhoneNo
(
wxDTO
);
if
(
StringUtils
.
isNotEmpty
(
phoneNo
)){
peasantHouseholdDto
.
setTelephone
(
phoneNo
);
}
else
{
peasantHouseholdDto
.
setTelephone
(
""
);
}
return
BeanUtil
.
beanToMap
(
peasantHouseholdDto
);
}
public
PeasantHouseholdWxDto
registerAndLogin
(
MobileLoginParamDto
wxDTO
){
// 机器人token
RequestContext
.
setAppKey
(
"AMOS_STUDIO"
);
RequestContext
.
setProduct
(
"AMOS_STUDIO_WEB"
);
RequestContext
.
setToken
(
requestContext
.
getToken
());
wxDTO
.
setPhoneNo
(
wxDTO
.
getPeasantHouseholdDto
().
getTelephone
());
AgencyUserModel
registerUserModel
=
null
;
// region 判断有无在平台内部注册过用户 没有注册则去平台注册
FeignClientResult
<
LoginInfoModel
>
loginInfo
=
Privilege
.
agencyUserClient
.
getLoginInfo
(
wxDTO
.
getPhoneNo
());
if
(
loginInfo
!=
null
&&
200
==
loginInfo
.
getStatus
())
{
LoginInfoModel
loginInfoModel
=
loginInfo
.
getResult
();
if
(
loginInfoModel
==
null
||
!
StringUtils
.
isNotBlank
(
loginInfoModel
.
getLoginId
()))
{
// 没有认证过, 去注册用户
if
(
StringUtils
.
isEmpty
(
wxDTO
.
getAmosUserId
())){
throw
new
RuntimeException
(
"请扫描经销商开发人员区域二维码进行注册"
);
}
FeignClientResult
<
AgencyUserModel
>
registerUserModelRestult
=
doRegister
(
wxDTO
);
if
(
registerUserModelRestult
==
null
||
registerUserModelRestult
.
getStatus
()
!=
200
)
{
log
.
error
(
"用户手机号码 => "
+
wxDTO
.
getPhoneNo
()
+
" 调用平台创建用户信息失败: "
+
registerUserModelRestult
.
getDevMessage
());
throw
new
RuntimeException
(
registerUserModelRestult
.
getMessage
());
}
registerUserModel
=
registerUserModelRestult
.
getResult
();
}
}
// endregion
// 登录
PeasantHouseholdWxDto
loginResult
;
loginResult
=
doLogin
(
wxDTO
,
registerUserModel
);
// 查询农户信息
List
<
PeasantHousehold
>
peasantHouseholds
=
this
.
query
().
eq
(
"telephone"
,
wxDTO
.
getPhoneNo
()).
orderByDesc
(
"rec_date"
).
list
();
PeasantHousehold
peasantHousehold
=
peasantHouseholds
.
size
()
>
0
?
peasantHouseholds
.
get
(
0
)
:
null
;
if
(
null
==
peasantHousehold
)
{
peasantHousehold
=
new
PeasantHousehold
();
peasantHousehold
.
setIsCertified
(
0
);
peasantHousehold
.
setSurveyOrNot
(
0
);
peasantHousehold
.
setReview
(
0
);
peasantHousehold
.
setAmosUserId
(
registerUserModel
.
getUserId
());
peasantHousehold
.
setTelephone
(
wxDTO
.
getPhoneNo
());
PeasantHouseholdDto
peasantHouseholdDto
=
buildDefaultPeasantHouseholdDto
(
wxDTO
.
getAmosUserId
(),
wxDTO
.
getQrCodeType
(),
wxDTO
.
getPhoneNo
());
peasantHousehold
.
setDeveloperCode
(
Optional
.
ofNullable
(
peasantHouseholdDto
).
map
(
PeasantHouseholdDto:
:
getDeveloperCode
).
orElse
(
null
));
// 开发方code
peasantHousehold
.
setDeveloperId
(
Optional
.
ofNullable
(
peasantHouseholdDto
).
map
(
PeasantHouseholdDto:
:
getDeveloperId
).
orElse
(
null
));
// 开发方id
peasantHousehold
.
setDeveloperName
(
Optional
.
ofNullable
(
peasantHouseholdDto
).
map
(
PeasantHouseholdDto:
:
getDeveloperName
).
orElse
(
null
));
// 开发方名称
peasantHousehold
.
setDeveloper
(
Optional
.
ofNullable
(
peasantHouseholdDto
).
map
(
PeasantHouseholdDto:
:
getDeveloper
).
orElse
(
null
));
// 开发人
peasantHousehold
.
setDeveloperUserId
(
Optional
.
ofNullable
(
peasantHouseholdDto
).
map
(
PeasantHouseholdDto:
:
getDeveloperUserId
).
orElse
(
null
));
peasantHousehold
.
setRegionalCompaniesSeq
(
Optional
.
ofNullable
(
peasantHouseholdDto
).
map
(
PeasantHouseholdDto:
:
getRegionalCompaniesSeq
).
orElse
(
null
));
peasantHousehold
.
setRegionalCompaniesCode
(
Optional
.
ofNullable
(
peasantHouseholdDto
).
map
(
PeasantHouseholdDto:
:
getRegionalCompaniesCode
).
orElse
(
null
));
peasantHousehold
.
setRegionalCompaniesName
(
Optional
.
ofNullable
(
peasantHouseholdDto
).
map
(
PeasantHouseholdDto:
:
getRegionalCompaniesName
).
orElse
(
null
));
peasantHousehold
.
setIsCertified
(
0
);
this
.
save
(
peasantHousehold
);
}
loginResult
.
setPeasantHousehold
(
peasantHousehold
);
return
loginResult
;
}
/**
* 农户微信注册
*
...
...
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