Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
amos-boot-biz
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
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
项目统一框架
amos-boot-biz
Commits
5f37cd0c
Commit
5f37cd0c
authored
Aug 28, 2023
by
tangwei
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'hygf_dev_20230824' into developer
parents
5391140b
b519f300
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
556 additions
and
213 deletions
+556
-213
ControllerAop.java
...a/com/yeejoin/amos/boot/biz/common/aop/ControllerAop.java
+1
-0
CallbackTypeEnum.java
...join/amos/boot/module/hygf/api/Enum/CallbackTypeEnum.java
+55
-0
ContractStatusEnum.java
...in/amos/boot/module/hygf/api/Enum/ContractStatusEnum.java
+67
-0
HouseholdContractEnum.java
...amos/boot/module/hygf/api/Enum/HouseholdContractEnum.java
+5
-4
PeasantHouseholdEnum.java
.../amos/boot/module/hygf/api/Enum/PeasantHouseholdEnum.java
+40
-0
CallbackDto.java
...om/yeejoin/amos/boot/module/hygf/api/dto/CallbackDto.java
+20
-0
MobileLoginParamDto.java
...in/amos/boot/module/hygf/api/dto/MobileLoginParamDto.java
+3
-1
PeasantHouseholdDto.java
...in/amos/boot/module/hygf/api/dto/PeasantHouseholdDto.java
+13
-0
DealerReviewMapper.xml
...hygf-api/src/main/resources/mapper/DealerReviewMapper.xml
+2
-1
HouseholdContractController.java
...dule/hygf/biz/controller/HouseholdContractController.java
+8
-30
PeasantHouseholdController.java
...odule/hygf/biz/controller/PeasantHouseholdController.java
+5
-2
PeasantHouseholdWxController.java
...ule/hygf/biz/controller/PeasantHouseholdWxController.java
+41
-18
QiyuesuoController.java
...s/boot/module/hygf/biz/controller/QiyuesuoController.java
+80
-1
HouseholdContractServiceImpl.java
...e/hygf/biz/service/impl/HouseholdContractServiceImpl.java
+37
-10
PeasantHouseholdServiceImpl.java
...le/hygf/biz/service/impl/PeasantHouseholdServiceImpl.java
+136
-124
QiyuesuoServiceImpl.java
...oot/module/hygf/biz/service/impl/QiyuesuoServiceImpl.java
+36
-18
SurveyInformationServiceImpl.java
...e/hygf/biz/service/impl/SurveyInformationServiceImpl.java
+2
-1
UnitInfoServiceImpl.java
...oot/module/hygf/biz/service/impl/UnitInfoServiceImpl.java
+2
-1
WxServiceImpl.java
...amos/boot/module/hygf/biz/service/impl/WxServiceImpl.java
+3
-2
No files found.
amos-boot-biz-common/src/main/java/com/yeejoin/amos/boot/biz/common/aop/ControllerAop.java
View file @
5f37cd0c
...
...
@@ -103,6 +103,7 @@ public class ControllerAop {
urls
.
add
(
"/hygf/unit-info/sendTelCode/.*"
);
urls
.
add
(
"/hygf/unit-info/verifyTelCode/.*/.*"
);
urls
.
add
(
"/hygf/peasant-household/mobile/login"
);
urls
.
add
(
"/hygf/qiyuesuo/callback"
);
// 获取请求路径
for
(
String
uri
:
urls
)
{
...
...
amos-boot-system-jxiop/amos-boot-module-hygf-api/src/main/java/com/yeejoin/amos/boot/module/hygf/api/Enum/CallbackTypeEnum.java
0 → 100644
View file @
5f37cd0c
package
com
.
yeejoin
.
amos
.
boot
.
module
.
hygf
.
api
.
Enum
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
import
org.omg.CORBA.UNKNOWN
;
/**
* @description:通知类型
* @author: tw
* @createDate: 2023/8/25
*/
@Getter
@AllArgsConstructor
public
enum
CallbackTypeEnum
{
发送签署
(
"SEND_SIGNING"
,
"SEND_SIGNING"
),
发送填参
(
"SEND_FILLING"
,
"SEND_FILLING"
),
完成参数
(
"FILLED"
,
"FILLED"
),
配置流程
(
"CONFIG_FLOW"
,
"CONFIG_FLOW"
),
个人签字
(
"PERSONAL"
,
"PERSONAL"
),
经办人签名
(
"OPERATOR"
,
"OPERATOR"
),
法定代表人签字
(
"LEGAL_PERSON"
,
"LEGAL_PERSON"
),
企业签章
(
"SEAL"
,
"SEAL"
),
审批并签署
(
"AUDIT_SIGN"
,
"AUDIT_SIGN"
),
文件审批
(
"AUDIT"
,
"AUDIT"
),
撤回文件
(
"RECALLED"
,
"RECALLED"
),
退回文件
(
"REJECTED"
,
"REJECTED"
),
文件过期
(
"EXPIRED"
,
"EXPIRED"
),
文件完成
(
"COMPLETE"
,
"COMPLETE"
),
发送作废
(
"SEND_INVALID"
,
"SEND_INVALID"
),
签署作废
(
"INVALIDING"
,
"INVALIDING"
),
作废完成
(
"INVALIDED"
,
"INVALIDED"
),
拒绝作废
(
"INVALID_REJECTED"
,
"INVALID_REJECTED"
),
签署失败
(
"FAILED"
,
"FAILED"
),
未知
(
"UNKNOWN"
,
"UNKNOWN"
),
强制结束
(
"END"
,
"END"
);
/**
* 名称,描述
*/
private
String
name
;
/**
* 编码
*/
private
String
code
;
public
static
CallbackTypeEnum
getNodeByCode
(
String
code
)
{
CallbackTypeEnum
dealerReviewEnum
=
null
;
for
(
CallbackTypeEnum
type:
CallbackTypeEnum
.
values
())
{
if
(
type
.
getCode
().
equals
(
code
))
{
dealerReviewEnum
=
type
;
break
;
}
}
return
dealerReviewEnum
;
}
}
amos-boot-system-jxiop/amos-boot-module-hygf-api/src/main/java/com/yeejoin/amos/boot/module/hygf/api/Enum/ContractStatusEnum.java
0 → 100644
View file @
5f37cd0c
package
com
.
yeejoin
.
amos
.
boot
.
module
.
hygf
.
api
.
Enum
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
/**
* @description:
* @author: tw
* @createDate: 2023/8/25
*/
@Getter
@AllArgsConstructor
public
enum
ContractStatusEnum
{
草稿
(
"DRAFT"
,
"DRAFT"
),
已撤回
(
"RECALLED"
,
"RECALLED"
),
签署中
(
"SIGNING"
,
"SIGNING"
),
已退回
(
"REJECTED"
,
"REJECTED"
),
已完成
(
"COMPLETE"
,
"COMPLETE"
),
已过期
(
"EXPIRED"
,
"EXPIRED"
),
拟定中
(
"FILLING"
,
"FILLING"
),
签署失败
(
"FAILED"
,
"FAILED"
),
作废中
(
"INVALIDING"
,
"INVALIDING"
),
已作废
(
"INVALIDED"
,
"INVALIDED"
),
强制结束
(
"END"
,
"END"
);
/**
* 名称,描述
*/
private
String
name
;
/**
* 编码
*/
private
String
code
;
public
static
ContractStatusEnum
getNodeByCode
(
String
code
)
{
ContractStatusEnum
dealerReviewEnum
=
null
;
for
(
ContractStatusEnum
type:
ContractStatusEnum
.
values
())
{
if
(
type
.
getCode
().
equals
(
code
))
{
dealerReviewEnum
=
type
;
break
;
}
}
return
dealerReviewEnum
;
}
}
amos-boot-system-jxiop/amos-boot-module-hygf-api/src/main/java/com/yeejoin/amos/boot/module/hygf/api/Enum/HouseholdContractEnum.java
View file @
5f37cd0c
...
...
@@ -23,7 +23,8 @@ public enum HouseholdContractEnum {
勘察状态
_
未勘察
(
"未勘察"
,
"未勘察"
),
勘察状态
_
已勘察
(
"已勘察"
,
"已勘察"
),
合同状态
_
未签署
(
"未签署"
,
"未签署"
),
合同状态
_
已签署
(
"已签署"
,
"已签署"
),
合同状态
_
农户已签署
(
"农户已签署"
,
"农户已签署"
),
合同状态
_
双方已签署
(
"双方已签署"
,
"双方已签署"
),
合同状态
_
已作废
(
"已作废"
,
"已作废"
);
/**
* 名称,描述
...
...
@@ -34,9 +35,9 @@ public enum HouseholdContractEnum {
*/
private
String
code
;
public
static
PowerStationNode
Enum
getNodeByCode
(
String
code
)
{
PowerStationNode
Enum
powerStationNodeEnum
=
null
;
for
(
PowerStationNodeEnum
type:
PowerStationNode
Enum
.
values
())
{
public
static
HouseholdContract
Enum
getNodeByCode
(
String
code
)
{
HouseholdContract
Enum
powerStationNodeEnum
=
null
;
for
(
HouseholdContractEnum
type:
HouseholdContract
Enum
.
values
())
{
if
(
type
.
getCode
().
equals
(
code
))
{
powerStationNodeEnum
=
type
;
break
;
...
...
amos-boot-system-jxiop/amos-boot-module-hygf-api/src/main/java/com/yeejoin/amos/boot/module/hygf/api/Enum/PeasantHouseholdEnum.java
0 → 100644
View file @
5f37cd0c
package
com
.
yeejoin
.
amos
.
boot
.
module
.
hygf
.
api
.
Enum
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
/**
* 农户认证状态
*
* @author Provence
* @version v1.0
* @date 2023/8/25 10:17
*/
@Getter
@AllArgsConstructor
public
enum
PeasantHouseholdEnum
{
未认证
(
"未认证"
,
0
),
已认证
(
"已认证"
,
1
);
/**
* 名称,描述
*/
private
String
name
;
/**
* 编码
*/
private
int
code
;
public
static
PeasantHouseholdEnum
getNodeByCode
(
int
code
)
{
PeasantHouseholdEnum
peasantHouseholdEnum
=
null
;
for
(
PeasantHouseholdEnum
type
:
PeasantHouseholdEnum
.
values
())
{
if
(
type
.
getCode
()
==
code
)
{
peasantHouseholdEnum
=
type
;
break
;
}
}
return
peasantHouseholdEnum
;
}
}
amos-boot-system-jxiop/amos-boot-module-hygf-api/src/main/java/com/yeejoin/amos/boot/module/hygf/api/dto/CallbackDto.java
0 → 100644
View file @
5f37cd0c
package
com
.
yeejoin
.
amos
.
boot
.
module
.
hygf
.
api
.
dto
;
import
lombok.Data
;
/**
* @description:
* @author: tw
* @createDate: 2023/8/25
*/
@Data
public
class
CallbackDto
{
private
String
contractId
;
//当前回调的合同 Id
private
String
callbackType
;
//当前回调的通知类型,具体类型信息见后方列 表
private
String
callbackSourceType
;
//当前回调地址来源,具体分为业务分类、集成 管理、SaaS
private
String
contractStatus
;
//当前回调的合同状态,具体类型信息见后方列表
private
String
tenantType
;
//签署方类型: PERSONAL-个人 COMPANY-公司
private
String
tenantName
;
//签署方名称
private
String
contact
;
//联系方式
private
String
tenantId
;
// 签署方 ID
}
amos-boot-system-jxiop/amos-boot-module-hygf-api/src/main/java/com/yeejoin/amos/boot/module/hygf/api/dto/MobileLoginParamDto.java
View file @
5f37cd0c
...
...
@@ -3,6 +3,8 @@ package com.yeejoin.amos.boot.module.hygf.api.dto;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.validation.Valid
;
/**
*
* @author Provence
...
...
@@ -61,5 +63,5 @@ public class MobileLoginParamDto {
private
String
verifyCode
;
@ApiModelProperty
(
"农户信息"
)
private
PeasantHouseholdDto
peasantHouseholdDto
;
private
@Valid
PeasantHouseholdDto
peasantHouseholdDto
;
}
amos-boot-system-jxiop/amos-boot-module-hygf-api/src/main/java/com/yeejoin/amos/boot/module/hygf/api/dto/PeasantHouseholdDto.java
View file @
5f37cd0c
...
...
@@ -9,6 +9,9 @@ import lombok.Data;
import
lombok.EqualsAndHashCode
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotEmpty
;
import
javax.validation.constraints.NotNull
;
import
java.util.Date
;
import
java.util.List
;
...
...
@@ -39,13 +42,16 @@ public class PeasantHouseholdDto extends BaseDto {
private
String
telephone
;
@ApiModelProperty
(
value
=
"开发方名称"
)
@NotBlank
(
message
=
"开发方名称不能为空"
)
private
String
developerName
;
@ApiModelProperty
(
value
=
"开发方code"
)
@NotBlank
(
message
=
"开发方code不能为空"
)
private
String
developerCode
;
@ApiModelProperty
(
value
=
"开发方平台id"
)
@NotNull
(
message
=
"开发方平台id不能为空"
)
private
Long
developerId
;
@ApiModelProperty
(
value
=
"定金"
)
...
...
@@ -90,7 +96,9 @@ public class PeasantHouseholdDto extends BaseDto {
@ApiModelProperty
(
value
=
"常住详细地址"
)
private
String
permanentAddressDetail
;
@ApiModelProperty
(
value
=
"开发人"
)
@NotBlank
(
message
=
"开发人不能为空"
)
private
String
developer
;
@ApiModelProperty
(
value
=
"常住地址"
)
...
...
@@ -108,20 +116,25 @@ public class PeasantHouseholdDto extends BaseDto {
private
List
<
String
>
permanentAddressText
;
@ApiModelProperty
(
value
=
"区域公司id"
)
@NotNull
(
message
=
"区域公司id不能为空"
)
private
Long
regionalCompaniesSeq
;
@ApiModelProperty
(
value
=
"区域公司code"
)
@NotBlank
(
message
=
"区域公司code不能为空"
)
private
String
regionalCompaniesCode
;
@ApiModelProperty
(
value
=
"区域公司名称"
)
@NotBlank
(
message
=
"区域公司名称不能为空"
)
private
String
regionalCompaniesName
;
@ApiModelProperty
(
value
=
"身份证正面"
)
@TableField
(
typeHandler
=
FastjsonTypeHandler
.
class
)
@NotEmpty
(
message
=
"身份证正面不能为空"
)
private
List
<
Object
>
idCardFront
;
@ApiModelProperty
(
value
=
"身份证反面"
)
@TableField
(
typeHandler
=
FastjsonTypeHandler
.
class
)
@NotEmpty
(
message
=
"身份证反面不能为空"
)
private
List
<
Object
>
idCardOpposite
;
@ApiModelProperty
(
value
=
"微信唯一id"
)
...
...
amos-boot-system-jxiop/amos-boot-module-hygf-api/src/main/resources/mapper/DealerReviewMapper.xml
View file @
5f37cd0c
...
...
@@ -31,7 +31,8 @@
d.next_process_node nextProcessNode,
d.flow_task_id flowTaskId,
d.plan_instance_id planInstanceId,
u.admin_user_id adminUserId
u.admin_user_id adminUserId,
u.regional_companies_name regionalCompaniesName
from hygf_commerce_info c LEFT JOIN hygf_unit_info u on c.unit_seq=u.sequence_nbr LEFT JOIN hygf_dealer_review d on d.unit_info_id=u.sequence_nbr
<where>
u.is_delete=0
...
...
amos-boot-system-jxiop/amos-boot-module-hygf-biz/src/main/java/com/yeejoin/amos/boot/module/hygf/biz/controller/HouseholdContractController.java
View file @
5f37cd0c
...
...
@@ -22,13 +22,13 @@ import java.util.List;
import
java.util.stream.Collectors
;
import
com.yeejoin.amos.boot.module.hygf.biz.service.impl.HouseholdContractServiceImpl
;
import
org.typroject.tyboot.core.foundation.context.RequestContext
;
import
org.typroject.tyboot.core.restful.utils.ResponseHelper
;
import
org.typroject.tyboot.core.restful.utils.ResponseModel
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
javax.servlet.http.HttpServletRequest
;
import
org.springframework.web.bind.annotation.*
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yeejoin.amos.boot.module.hygf.api.dto.HouseholdContractDto
;
import
org.typroject.tyboot.core.restful.doc.TycloudOperation
;
import
org.typroject.tyboot.core.foundation.enumeration.UserType
;
...
...
@@ -158,6 +158,7 @@ public class HouseholdContractController extends BaseController {
HouseholdContract
householdContrac
=
householdContractServiceImpl
.
getById
(
sequenceNbr
);
householdContrac
.
setSignStatus
(
HouseholdContractEnum
.
签字状态
_
已签字
.
getCode
());
householdContrac
.
setStatus
(
HouseholdContractEnum
.
合同状态
_
农户已签署
.
getCode
());
return
ResponseHelper
.
buildResponse
(
householdContractServiceImpl
.
updateById
(
householdContrac
));
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
...
...
@@ -168,7 +169,7 @@ public class HouseholdContractController extends BaseController {
HouseholdContract
householdContrac
=
householdContractServiceImpl
.
getById
(
sequenceNbr
);
householdContrac
.
setStampStatus
(
HouseholdContractEnum
.
盖章状态
_
已盖章
.
getCode
());
householdContrac
.
setSigningTime
(
new
Date
());
householdContrac
.
setStatus
(
HouseholdContractEnum
.
合同状态
_
已签署
.
getCode
());
householdContrac
.
setStatus
(
HouseholdContractEnum
.
合同状态
_
双方
已签署
.
getCode
());
householdContrac
.
setSealedUser
(
getUserInfo
().
getRealName
());
return
ResponseHelper
.
buildResponse
(
householdContractServiceImpl
.
updateById
(
householdContrac
));
}
...
...
@@ -198,33 +199,10 @@ public class HouseholdContractController extends BaseController {
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
,
needAuth
=
false
)
@GetMapping
(
value
=
"/reissue/{sequenceNbr}"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"重新发起"
,
notes
=
"重新发起"
)
public
ResponseModel
<
HouseholdContract
>
reissue
(
@PathVariable
(
value
=
"sequenceNbr"
)
Long
sequenceNbr
)
{
HouseholdContract
peasantHousehold
=
householdContractServiceImpl
.
getById
(
sequenceNbr
);
//生成合同
HouseholdContract
householdContract
=
new
HouseholdContract
();
householdContract
.
setPartyA
(
peasantHousehold
.
getPartyA
());
householdContract
.
setPeasantHouseholdNumber
(
peasantHousehold
.
getPeasantHouseholdNumber
());
householdContract
.
setPeasantHouseholdCard
(
peasantHousehold
.
getPeasantHouseholdCard
());
householdContract
.
setDealerId
(
peasantHousehold
.
getDealerId
());
householdContract
.
setDealerCode
(
peasantHousehold
.
getDealerCode
());
householdContract
.
setDealerName
(
peasantHousehold
.
getDealerName
());
householdContract
.
setPeasantHouseholdId
(
peasantHousehold
.
getPeasantHouseholdId
());
householdContract
.
setRegionalCompaniesCode
(
peasantHousehold
.
getRegionalCompaniesCode
());
householdContract
.
setRegionalCompaniesName
(
peasantHousehold
.
getRegionalCompaniesName
());
householdContract
.
setRegionalCompaniesSeq
(
peasantHousehold
.
getRegionalCompaniesSeq
());
householdContract
.
setPeasantHouseholdPhone
(
peasantHousehold
.
getPeasantHouseholdPhone
());
householdContract
.
setProjectAddressDetail
(
peasantHousehold
.
getProjectAddressDetail
());
householdContract
.
setProjectAddressName
(
peasantHousehold
.
getProjectAddressName
());
householdContract
.
setPermanentAddressDetail
(
peasantHousehold
.
getPermanentAddressDetail
());
householdContract
.
setPermanentAddressName
(
peasantHousehold
.
getPermanentAddressName
());
householdContract
.
setProjectUserId
(
peasantHousehold
.
getProjectUserId
());
householdContract
.
setSurveyStatus
(
peasantHousehold
.
getSurveyStatus
());
householdContractServiceImpl
.
reissueHouseholdContract
(
householdContract
);
householdContractServiceImpl
.
reissueinitiateHouseholdContract
(
peasantHousehold
,
householdContract
.
getSequenceNbr
());
@PostMapping
(
value
=
"/reissue"
)
@ApiOperation
(
httpMethod
=
"post"
,
value
=
"重新发起"
,
notes
=
"重新发起"
)
public
ResponseModel
<
HouseholdContract
>
reissue
(
@RequestBody
HouseholdContract
model
)
{
HouseholdContract
householdContract
=
householdContractServiceImpl
.
reissueinitiateHouseholdContract
(
model
);
return
ResponseHelper
.
buildResponse
(
householdContract
);
}
...
...
amos-boot-system-jxiop/amos-boot-module-hygf-biz/src/main/java/com/yeejoin/amos/boot/module/hygf/biz/controller/PeasantHouseholdController.java
View file @
5f37cd0c
...
...
@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.hygf.biz.controller;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONArray
;
import
com.yeejoin.amos.boot.biz.common.utils.RedisUtils
;
import
com.yeejoin.amos.boot.module.hygf.api.Enum.PeasantHouseholdEnum
;
import
com.yeejoin.amos.boot.module.hygf.api.dto.SurveyInformationDto
;
import
com.yeejoin.amos.boot.module.hygf.biz.service.impl.SurveyInformationServiceImpl
;
import
com.yeejoin.amos.component.feign.model.FeignClientResult
;
...
...
@@ -208,7 +209,8 @@ public class PeasantHouseholdController extends BaseController {
page
.
setSize
(
size
);
AgencyUserModel
userInfo
=
getUserInfo
();
String
orgCode
=
userInfo
.
getCompanys
().
get
(
0
).
getOrgCode
();
return
ResponseHelper
.
buildResponse
(
peasantHouseholdServiceImpl
.
queryForPeasantHouseholdPage
(
page
,
orgCode
,
ownersName
,
developerId
));
Integer
isCertified
=
PeasantHouseholdEnum
.
已认证
.
getCode
();
return
ResponseHelper
.
buildResponse
(
peasantHouseholdServiceImpl
.
queryForPeasantHouseholdPage
(
page
,
orgCode
,
ownersName
,
developerId
,
isCertified
));
}
/**
...
...
@@ -220,7 +222,8 @@ public class PeasantHouseholdController extends BaseController {
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"农户信息列表全部数据查询"
,
notes
=
"农户信息列表全部数据查询"
)
@GetMapping
(
value
=
"/list"
)
public
ResponseModel
<
List
<
PeasantHouseholdDto
>>
selectForList
()
{
return
ResponseHelper
.
buildResponse
(
peasantHouseholdServiceImpl
.
queryForPeasantHouseholdList
());
Integer
isCertified
=
PeasantHouseholdEnum
.
已认证
.
getCode
();
return
ResponseHelper
.
buildResponse
(
peasantHouseholdServiceImpl
.
queryForPeasantHouseholdList
(
isCertified
));
}
public
JSONArray
getRegionName
(){
...
...
amos-boot-system-jxiop/amos-boot-module-hygf-biz/src/main/java/com/yeejoin/amos/boot/module/hygf/biz/controller/PeasantHouseholdWxController.java
View file @
5f37cd0c
...
...
@@ -11,6 +11,8 @@ import com.yeejoin.amos.boot.module.hygf.biz.service.impl.HouseholdContractServi
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
;
...
...
@@ -19,16 +21,17 @@ import io.swagger.annotations.Api;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiParam
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.BooleanUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
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
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
;
...
...
@@ -41,6 +44,7 @@ import java.util.Collection;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.concurrent.CompletableFuture
;
/**
* 农户信息
...
...
@@ -75,6 +79,9 @@ public class PeasantHouseholdWxController extends BaseController {
@Value
(
"${hygfProgram.loginPage:view/mine/minepage/LoginPhone}"
)
private
String
miniprogramLoginPage
;
@Autowired
private
AmosRequestContext
requestContext
;
private
static
final
String
regionRedis
=
"app_region_redis"
;
/*@TycloudOperation (ApiLevel = UserType.AGENCY, needAuth = false)
...
...
@@ -105,11 +112,11 @@ public class PeasantHouseholdWxController extends BaseController {
@RequestMapping
(
value
=
"/login"
,
method
=
RequestMethod
.
POST
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"微信授权登陆"
,
notes
=
"微信授权登陆"
)
public
ResponseModel
<
PeasantHouseholdWxDto
>
wxUserLogin
(
@ApiParam
@RequestBody
MobileLoginParamDto
mobileLoginParam
)
{
log
.
info
(
"微信授权登录入参 => {}"
,
mobileLoginParam
);
if
(
StringUtils
.
isBlank
(
mobileLoginParam
.
getAmosUserId
()))
{
// 扫码的userId为空, 则取默认值
mobileLoginParam
.
setAmosUserId
(
defaultUserId
);
}
//peasantHouseholdServiceImpl.setPlatFormAccess();
return
ResponseHelper
.
buildResponse
(
peasantHouseholdServiceImpl
.
wxUserLogin
(
mobileLoginParam
));
}
...
...
@@ -117,11 +124,9 @@ public class PeasantHouseholdWxController extends BaseController {
@RequestMapping
(
value
=
"/register"
,
method
=
RequestMethod
.
POST
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"微信农户注册"
,
notes
=
"微信农户注册"
)
public
ResponseModel
<
PeasantHouseholdDto
>
wxUserRegister
(
@ApiParam
@RequestBody
MobileLoginParamDto
mobileLoginParam
)
{
// log.info("微信农户注册, 入参 => {}", JSONObject.toJSONString(mobileLoginParam));
if
(
null
==
mobileLoginParam
.
getPeasantHouseholdDto
())
{
throw
new
BadRequest
(
"农户信息不能为空"
);
}
log
.
info
(
"微信农户注册, 入参 => {}"
,
mobileLoginParam
);
PeasantHouseholdDto
model
=
mobileLoginParam
.
getPeasantHouseholdDto
();
validatedPeasantHouseholdDto
(
model
);
AgencyUserModel
userInfo
=
getUserInfo
();
model
.
setAmosUserId
(
userInfo
.
getUserId
());
// 绑定平台userId
model
.
setPeasantHouseholdNo
(
peasantHouseholdServiceImpl
.
getPeasantHouseholdNo
());
...
...
@@ -158,7 +163,8 @@ public class PeasantHouseholdWxController extends BaseController {
}
}
}
return
ResponseHelper
.
buildResponse
(
peasantHouseholdServiceImpl
.
savePeasantHousehold
(
model
));
PeasantHouseholdDto
result
=
peasantHouseholdServiceImpl
.
savePeasantHousehold
(
model
,
userInfo
);
return
ResponseHelper
.
buildResponse
(
result
);
}
public
JSONArray
getRegionName
()
{
...
...
@@ -219,17 +225,34 @@ public class PeasantHouseholdWxController extends BaseController {
}
@GetMapping
(
"/getPersonalQrCode"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
" 获取个人经销商二维码"
,
notes
=
" 获取个人经销商二维码"
)
public
void
getPersonalQrCode
(
@RequestParam
(
value
=
"fileType"
,
required
=
false
,
defaultValue
=
"png"
)
String
fileType
,
@RequestParam
(
value
=
"width"
,
required
=
false
,
defaultValue
=
"350"
)
String
width
,
HttpServletResponse
response
)
{
AgencyUserModel
userInfo
=
getUserInfo
();
String
accessToken
=
wxService
.
getAccessToken
();
String
page
=
"view/mine/minepage/Login"
+
"?amosUserId="
+
userInfo
.
getUserId
()
+
"&qrCodeType=personal"
;
wxService
.
getSmallProQrCodeResponse
(
accessToken
,
null
,
page
,
Long
.
valueOf
(
width
),
null
,
null
,
null
,
response
,
page
,
fileType
);
private
void
validatedPeasantHouseholdDto
(
PeasantHouseholdDto
model
)
{
if
(
null
==
model
)
{
throw
new
BadRequest
(
"农户信息不能为空"
);
}
if
(
StringUtils
.
isBlank
(
model
.
getOwnersName
()))
{
throw
new
BadRequest
(
"姓名不能为空"
);
}
if
(
StringUtils
.
isBlank
(
model
.
getDeveloper
()))
{
throw
new
BadRequest
(
"开发人不能为空"
);
}
if
(
StringUtils
.
isBlank
(
model
.
getDeveloperCode
()))
{
throw
new
BadRequest
(
"开发方code不能为空"
);
}
if
(
StringUtils
.
isBlank
(
model
.
getDeveloperName
()))
{
throw
new
BadRequest
(
"开发方名称不能为空"
);
}
if
(
null
==
model
.
getDeveloperId
())
{
throw
new
BadRequest
(
"开发方平台id不能为空"
);
}
if
(
null
==
model
.
getRegionalCompaniesSeq
())
{
throw
new
BadRequest
(
"区域公司id不能为空"
);
}
if
(
StringUtils
.
isBlank
(
model
.
getRegionalCompaniesCode
()))
{
throw
new
BadRequest
(
"区域公司code不能为空"
);
}
if
(
StringUtils
.
isBlank
(
model
.
getRegionalCompaniesName
()))
{
throw
new
BadRequest
(
"区域公司名称不能为空"
);
}
}
}
amos-boot-system-jxiop/amos-boot-module-hygf-biz/src/main/java/com/yeejoin/amos/boot/module/hygf/biz/controller/QiyuesuoController.java
View file @
5f37cd0c
...
...
@@ -2,6 +2,8 @@ package com.yeejoin.amos.boot.module.hygf.biz.controller;
import
com.alibaba.fastjson.JSON
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper
;
import
com.qiyuesuo.sdk.v2.SdkClient
;
import
com.qiyuesuo.sdk.v2.bean.*
;
import
com.qiyuesuo.sdk.v2.exception.BaseSdkException
;
...
...
@@ -11,6 +13,11 @@ import com.qiyuesuo.sdk.v2.response.ContractListResult;
import
com.qiyuesuo.sdk.v2.response.DocumentAddResult
;
import
com.qiyuesuo.sdk.v2.response.MiniappTicketResult
;
import
com.qiyuesuo.sdk.v2.response.SdkResponse
;
import
com.qiyuesuo.sdk.v2.utils.Algorithm
;
import
com.qiyuesuo.sdk.v2.utils.Base64Utils
;
import
com.yeejoin.amos.boot.biz.common.controller.BaseController
;
import
com.yeejoin.amos.boot.module.hygf.api.Enum.HouseholdContractEnum
;
import
com.yeejoin.amos.boot.module.hygf.api.dto.CallbackDto
;
import
com.yeejoin.amos.boot.module.hygf.api.dto.ContractDataDto
;
import
com.yeejoin.amos.boot.module.hygf.api.dto.HouseholdContractDto
;
import
com.yeejoin.amos.boot.module.hygf.api.entity.HouseholdContract
;
...
...
@@ -23,12 +30,16 @@ import io.swagger.annotations.ApiOperation;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
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.enumeration.UserType
;
import
org.typroject.tyboot.core.restful.doc.TycloudOperation
;
import
org.typroject.tyboot.core.restful.utils.ResponseHelper
;
import
org.typroject.tyboot.core.restful.utils.ResponseModel
;
import
javax.crypto.Cipher
;
import
javax.crypto.SecretKey
;
import
javax.crypto.spec.SecretKeySpec
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
import
java.util.Date
;
...
...
@@ -43,7 +54,7 @@ import java.util.Map;
@RestController
@Api
(
tags
=
"契税锁Api"
)
@RequestMapping
(
value
=
"/qiyuesuo"
)
public
class
QiyuesuoController
{
public
class
QiyuesuoController
extends
BaseController
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
QiyuesuoController
.
class
);
@Autowired
...
...
@@ -53,6 +64,10 @@ public class QiyuesuoController {
@Autowired
HouseholdContractServiceImpl
householdContractServiceImpl
;
@Value
(
"${qiyuesuo.secretKey}"
)
private
String
secretKey
;
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
,
needAuth
=
false
)
@ApiOperation
(
httpMethod
=
"post"
,
value
=
"个人token"
,
notes
=
"个人token"
)
@PostMapping
(
value
=
"/getUserToken"
)
...
...
@@ -96,6 +111,70 @@ public class QiyuesuoController {
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
,
needAuth
=
false
)
@ApiOperation
(
httpMethod
=
"post"
,
value
=
"契约锁回调接口"
,
notes
=
"契约锁回调接口"
)
@PostMapping
(
value
=
"/callback"
)
public
String
callback
(
String
content
)
{
try
{
System
.
out
.
println
(
"契约锁回调接口"
+
content
);
String
data
=
this
.
aesDerypt
(
content
,
secretKey
);
System
.
out
.
println
(
"契约锁回调接口解析数据"
+
data
);
CallbackDto
CallbackDto
=
JSON
.
parseObject
(
data
,
CallbackDto
.
class
);
if
(
"PERSONAL"
.
equals
(
CallbackDto
.
getCallbackType
())){
LambdaUpdateWrapper
<
HouseholdContract
>
wrapper
=
new
LambdaUpdateWrapper
<>();
wrapper
.
set
(
HouseholdContract:
:
getSignStatus
,
HouseholdContractEnum
.
签字状态
_
已签字
.
getCode
());
wrapper
.
set
(
HouseholdContract:
:
getStatus
,
HouseholdContractEnum
.
合同状态
_
农户已签署
.
getCode
());
wrapper
.
eq
(
HouseholdContract:
:
getContractLockId
,
CallbackDto
.
getContractId
());
householdContractServiceImpl
.
update
(
wrapper
);
}
else
if
(
"SEAL"
.
equals
(
CallbackDto
.
getCallbackType
())){
LambdaUpdateWrapper
<
HouseholdContract
>
wrapper
=
new
LambdaUpdateWrapper
<>();
wrapper
.
set
(
HouseholdContract:
:
getStampStatus
,
HouseholdContractEnum
.
盖章状态
_
已盖章
.
getCode
());
wrapper
.
set
(
HouseholdContract:
:
getSigningTime
,
new
Date
());
wrapper
.
set
(
HouseholdContract:
:
getStatus
,
HouseholdContractEnum
.
合同状态
_
双方已签署
.
getCode
());
wrapper
.
set
(
HouseholdContract:
:
getSealedUser
,
getUserInfo
().
getRealName
());
wrapper
.
eq
(
HouseholdContract:
:
getContractLockId
,
CallbackDto
.
getContractId
());
householdContractServiceImpl
.
update
(
wrapper
);
}
}
catch
(
Exception
e
){
e
.
printStackTrace
();
throw
new
RuntimeException
(
"契约锁回调失败"
);
}
return
"success"
;
}
public
String
aesDerypt
(
String
encrypt
,
String
secret
){
String
decryptStr
=
null
;
try
{
byte
[]
decryptBytes
=
null
;
Cipher
cipher
=
Cipher
.
getInstance
(
Algorithm
.
AES
.
getKey
());
byte
[]
bk
=
secret
.
getBytes
(
"UTF-8"
);
SecretKey
secretKey
=
new
SecretKeySpec
(
bk
,
Algorithm
.
AES
.
getKey
());
cipher
.
init
(
Cipher
.
DECRYPT_MODE
,
secretKey
);
byte
[]
scrBytes
=
Base64Utils
.
decode
(
encrypt
);
decryptBytes
=
cipher
.
doFinal
(
scrBytes
);
if
(
decryptBytes
!=
null
)
{
decryptStr
=
new
String
(
decryptBytes
,
"UTF-8"
);
}
}
catch
(
Exception
e
){
e
.
printStackTrace
();
throw
new
RuntimeException
(
"解密失败"
);
}
return
decryptStr
;
}
...
...
amos-boot-system-jxiop/amos-boot-module-hygf-biz/src/main/java/com/yeejoin/amos/boot/module/hygf/biz/service/impl/HouseholdContractServiceImpl.java
View file @
5f37cd0c
...
...
@@ -15,6 +15,7 @@ import com.yeejoin.amos.boot.module.hygf.api.service.IHouseholdContractService;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
import
org.springframework.stereotype.Service
;
...
...
@@ -116,7 +117,7 @@ public class HouseholdContractServiceImpl extends BaseService<HouseholdContractD
}
@Transactional
public
HouseholdContract
initiateHouseholdContract
(
HouseholdContractDto
model
){
HouseholdContract
householdContract
=
householdContractMapper
.
selectById
(
model
.
getSequenceNbr
());
householdContract
.
setPartyA
(
model
.
getPartyA
());
...
...
@@ -190,9 +191,13 @@ public class HouseholdContractServiceImpl extends BaseService<HouseholdContractD
}
@Transactional
public
HouseholdContract
reissueinitiateHouseholdContract
(
HouseholdContract
model
){
public
HouseholdContract
reissueinitiateHouseholdContract
(
HouseholdContract
model
,
Long
sequenceNbr
){
HouseholdContract
householdContract
=
householdContractMapper
.
selectById
(
sequenceNbr
);
HouseholdContract
peasantHousehold
=
this
.
getById
(
model
.
getSequenceNbr
());
//生成合同
HouseholdContract
householdContract
=
new
HouseholdContract
();
householdContract
.
setPartyA
(
model
.
getPartyA
());
householdContract
.
setPartyB
(
model
.
getPartyB
());
householdContract
.
setContractTemplateId
(
model
.
getContractTemplateId
());
...
...
@@ -205,13 +210,35 @@ public class HouseholdContractServiceImpl extends BaseService<HouseholdContractD
householdContract
.
setComponentPower
(
model
.
getComponentPower
());
householdContract
.
setStationPower
(
model
.
getStationPower
());
householdContract
.
setName
(
model
.
getName
());
ContractDataDto
contractDataDto
=
new
ContractDataDto
();
contractDataDto
.
setUsername
(
model
.
getPartyA
());
contractDataDto
.
setContact
(
model
.
getPeasantHouseholdPhone
());
contractDataDto
.
setIDCard
(
model
.
getPeasantHouseholdCard
());
contractDataDto
.
setSubject
(
model
.
getName
());
householdContract
.
setPeasantHouseholdNumber
(
peasantHousehold
.
getPeasantHouseholdNumber
());
householdContract
.
setPeasantHouseholdCard
(
peasantHousehold
.
getPeasantHouseholdCard
());
householdContract
.
setDealerId
(
peasantHousehold
.
getDealerId
());
householdContract
.
setDealerCode
(
peasantHousehold
.
getDealerCode
());
householdContract
.
setDealerName
(
peasantHousehold
.
getDealerName
());
householdContract
.
setPeasantHouseholdId
(
peasantHousehold
.
getPeasantHouseholdId
());
householdContract
.
setRegionalCompaniesCode
(
peasantHousehold
.
getRegionalCompaniesCode
());
householdContract
.
setRegionalCompaniesName
(
peasantHousehold
.
getRegionalCompaniesName
());
householdContract
.
setRegionalCompaniesSeq
(
peasantHousehold
.
getRegionalCompaniesSeq
());
householdContract
.
setPeasantHouseholdPhone
(
peasantHousehold
.
getPeasantHouseholdPhone
());
householdContract
.
setProjectAddressDetail
(
peasantHousehold
.
getProjectAddressDetail
());
householdContract
.
setProjectAddressName
(
peasantHousehold
.
getProjectAddressName
());
householdContract
.
setPermanentAddressDetail
(
peasantHousehold
.
getPermanentAddressDetail
());
householdContract
.
setPermanentAddressName
(
peasantHousehold
.
getPermanentAddressName
());
householdContract
.
setProjectUserId
(
peasantHousehold
.
getProjectUserId
());
householdContract
.
setSurveyStatus
(
peasantHousehold
.
getSurveyStatus
());
this
.
reissueHouseholdContract
(
householdContract
);
ContractDataDto
contractDataDto
=
new
ContractDataDto
();
contractDataDto
.
setUsername
(
householdContract
.
getPartyA
());
contractDataDto
.
setContact
(
householdContract
.
getPeasantHouseholdPhone
());
contractDataDto
.
setIDCard
(
householdContract
.
getPeasantHouseholdCard
());
contractDataDto
.
setSubject
(
householdContract
.
getName
());
QueryWrapper
<
SealDictionary
>
queryWrapper
=
new
QueryWrapper
();
queryWrapper
.
eq
(
"amos_company_seq"
,
householdContract
.
getRegionalCompaniesSeq
());
...
...
@@ -225,9 +252,9 @@ public class HouseholdContractServiceImpl extends BaseService<HouseholdContractD
contractDataDto
.
setSealId
(
listSealId
);
QueryWrapper
<
ContractTemplate
>
qu
=
new
QueryWrapper
();
qu
.
eq
(
"template_id"
,
model
.
getContractTemplateId
());
qu
.
eq
(
"template_id"
,
householdContract
.
getContractTemplateId
());
ContractTemplate
contractTemplate
=
contractTemplateMapper
.
selectOne
(
qu
);
contractDataDto
.
setEmplateId
(
model
.
getContractTemplateId
());
contractDataDto
.
setEmplateId
(
householdContract
.
getContractTemplateId
());
contractDataDto
.
setCompanykeyword
(
contractTemplate
.
getCompanyKeyword
());
contractDataDto
.
setCompanyPage
(
contractTemplate
.
getCompanyPage
());
contractDataDto
.
setCompanyOffsetX
(
contractTemplate
.
getCompanyOffsetx
());
...
...
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 @
5f37cd0c
...
...
@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.yeejoin.amos.boot.biz.common.utils.RedisUtils
;
import
com.yeejoin.amos.boot.module.hygf.api.Enum.PeasantHouseholdEnum
;
import
com.yeejoin.amos.boot.module.hygf.api.Enum.PhoneRegisterTypeEum
;
import
com.yeejoin.amos.boot.module.hygf.api.dto.MobileLoginParamDto
;
import
com.yeejoin.amos.boot.module.hygf.api.dto.PeasantHouseholdWxDto
;
...
...
@@ -69,6 +70,7 @@ import java.util.HashMap;
import
java.util.LinkedHashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Optional
;
import
java.util.stream.Collectors
;
/**
...
...
@@ -150,7 +152,7 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto
public
static
final
String
SECRETKEY
=
"qaz"
;
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
PeasantHouseholdDto
savePeasantHousehold
(
PeasantHouseholdDto
model
)
{
public
PeasantHouseholdDto
savePeasantHousehold
(
PeasantHouseholdDto
model
,
AgencyUserModel
userInfo
)
{
SurveyInformationDto
surveyInformationDto
=
new
SurveyInformationDto
();
surveyInformationServiceImpl
.
createWithModel
(
surveyInformationDto
);
...
...
@@ -163,8 +165,17 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto
model
.
setPeasantHouseholdNo
(
this
.
getPeasantHouseholdNo
());
model
.
setIsCertified
(
model
.
getIsCertified
()
==
null
?
0
:
model
.
getIsCertified
());
// 未认证
if
(
model
.
getSequenceNbr
()
==
null
)
{
List
<
PeasantHousehold
>
peasantHouseholds
=
this
.
query
().
eq
(
"telephone"
,
model
.
getTelephone
()).
orderByDesc
(
"rec_date"
).
list
();
PeasantHousehold
phd
=
peasantHouseholds
.
size
()
>
0
?
peasantHouseholds
.
get
(
0
)
:
null
;
if
(
phd
!=
null
)
{
model
.
setSequenceNbr
(
phd
.
getSequenceNbr
());
}
}
PeasantHouseholdDto
peasantHousehold
=
this
.
createWithModel
(
model
);
PeasantHousehold
peasantHousehold
=
new
PeasantHousehold
();
BeanUtils
.
copyProperties
(
model
,
peasantHousehold
);
this
.
saveOrUpdate
(
peasantHousehold
);
//生成合同
HouseholdContract
householdContract
=
new
HouseholdContract
();
householdContract
.
setPartyA
(
peasantHousehold
.
getOwnersName
());
...
...
@@ -185,7 +196,7 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto
householdContract
.
setProjectUserId
(
peasantHousehold
.
getAmosUserId
());
householdContractServiceImpl
.
addHouseholdContract
(
householdContract
);
return
peasantHousehold
;
return
model
;
}
public
boolean
deletePeasantHouseholdBySequenceNbr
(
Long
sequenceNbr
){
...
...
@@ -216,21 +227,21 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto
/**
* 分页查询
*/
public
Page
<
PeasantHouseholdDto
>
queryForPeasantHouseholdPage
(
Page
<
PeasantHouseholdDto
>
page
,
String
developerCode
,
@Condition
(
Operator
.
like
)
String
ownersName
,
Long
developerId
)
{
Page
<
PeasantHouseholdDto
>
peasantHouseholdDtoPage
=
this
.
queryForPage
(
page
,
"rec_date"
,
false
,
developerCode
,
ownersName
,
developerId
);
public
Page
<
PeasantHouseholdDto
>
queryForPeasantHouseholdPage
(
Page
<
PeasantHouseholdDto
>
page
,
String
developerCode
,
@Condition
(
Operator
.
like
)
String
ownersName
,
Long
developerId
,
@Condition
(
Operator
.
eq
)
Integer
isCertified
)
{
Page
<
PeasantHouseholdDto
>
peasantHouseholdDtoPage
=
this
.
queryForPage
(
page
,
"rec_date"
,
false
,
developerCode
,
ownersName
,
developerId
,
isCertified
);
List
<
PeasantHouseholdDto
>
records
=
peasantHouseholdDtoPage
.
getRecords
();
List
<
PeasantHouseholdDto
>
newRecords
=
records
.
stream
().
map
(
item
->
{
if
(
item
.
getSurveyOrNot
()
!=
null
){
if
(
item
.
getSurveyOrNot
()
==
0
)
{
item
.
setSurveyOrNotText
(
"待勘察"
);
}
else
if
(
item
.
getSurveyOrNot
()
==
1
)
{
item
.
setSurveyOrNotText
(
"已勘察"
);
}
else
if
(
item
.
getSurveyOrNot
()
==
2
)
{
item
.
setSurveyOrNotText
(
"审核中"
);
}
else
if
(
item
.
getSurveyOrNot
()
==
3
)
{
item
.
setSurveyOrNotText
(
"审核完成"
);
}
}
if
(
item
.
getSurveyOrNot
()
!=
null
){
if
(
item
.
getSurveyOrNot
()
==
0
)
{
item
.
setSurveyOrNotText
(
"待勘察"
);
}
else
if
(
item
.
getSurveyOrNot
()
==
1
)
{
item
.
setSurveyOrNotText
(
"已勘察"
);
}
else
if
(
item
.
getSurveyOrNot
()
==
2
)
{
item
.
setSurveyOrNotText
(
"审核中"
);
}
else
if
(
item
.
getSurveyOrNot
()
==
3
)
{
item
.
setSurveyOrNotText
(
"审核完成"
);
}
}
if
(!
StringUtils
.
isEmpty
(
item
.
getProjectAddressName
()))
{
item
.
setProjectAddressText
(
Arrays
.
asList
(
item
.
getProjectAddressName
().
split
(
"/"
)));
...
...
@@ -249,8 +260,8 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto
/**
* 列表查询 示例
*/
public
List
<
PeasantHouseholdDto
>
queryForPeasantHouseholdList
()
{
return
this
.
queryForList
(
""
,
false
);
public
List
<
PeasantHouseholdDto
>
queryForPeasantHouseholdList
(
@Condition
(
Operator
.
eq
)
Integer
isCertified
)
{
return
this
.
queryForList
(
""
,
false
,
isCertified
);
}
public
Boolean
doAuthenticate
(
Long
sequenceNbr
)
{
...
...
@@ -263,21 +274,23 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto
return
this
.
updateById
(
peasantHousehold
);
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
PeasantHouseholdWxDto
wxUserLogin
(
MobileLoginParamDto
wxDTO
)
{
// 通过手机号和验证码调用平台接口进行验证
String
phoneNo
=
this
.
parsePhoneNo
(
wxDTO
);
if
(
phoneNo
==
null
)
{
throw
new
BadRequest
(
"获取手机号失败!"
);
log
.
error
(
"获取手机号失败!"
);
throw
new
BadRequest
(
"微信授权失败, 请重新授权"
);
}
log
.
info
(
"用户手机号码 => {} 开始登录"
,
phoneNo
);
wxDTO
.
setPhoneNo
(
phoneNo
);
//
//
机器人token
RequestContext
.
setAppKey
(
"AMOS_STUDIO"
);
RequestContext
.
setProduct
(
"AMOS_STUDIO_WEB"
);
RequestContext
.
setToken
(
requestContext
.
getToken
());
AgencyUserModel
registerUserModel
=
null
;
//
判断有无在平台内部注册过用户
//
region 判断有无在平台内部注册过用户 没有注册则去平台注册
FeignClientResult
<
LoginInfoModel
>
loginInfo
=
Privilege
.
agencyUserClient
.
getLoginInfo
(
phoneNo
);
if
(
loginInfo
!=
null
&&
200
==
loginInfo
.
getStatus
())
{
...
...
@@ -285,39 +298,68 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto
if
(
loginInfoModel
==
null
||
!
StringUtils
.
isNotBlank
(
loginInfoModel
.
getLoginId
()))
{
// 没有认证过, 去注册用户
FeignClientResult
<
AgencyUserModel
>
registerUserModelRestult
=
doRegister
(
wxDTO
);
if
(
registerUserModelRestult
!=
null
&&
registerUserModelRestult
.
getStatus
()
!=
200
)
{
log
.
error
(
"
调用平台创建用户信息失败:{}
"
+
registerUserModelRestult
.
getDevMessage
());
throw
new
BadRequest
(
registerUserModelRestult
.
getMessage
());
if
(
registerUserModelRestult
==
null
||
registerUserModelRestult
.
getStatus
()
!=
200
)
{
log
.
error
(
"
用户手机号码 => "
+
phoneNo
+
" 调用平台创建用户信息失败:
"
+
registerUserModelRestult
.
getDevMessage
());
throw
new
RuntimeException
(
registerUserModelRestult
.
getMessage
());
}
registerUserModel
=
registerUserModelRestult
.
getResult
();
}
}
// endregion
// 登录
PeasantHouseholdWxDto
loginResult
=
doLogin
(
wxDTO
,
registerUserModel
);
// 判断是否注册过
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
(
peasantHouseholdDto
.
getDeveloperCode
());
// 开发方code
peasantHousehold
.
setDeveloperId
(
peasantHouseholdDto
.
getDeveloperId
());
// 开发方id
peasantHousehold
.
setDeveloperName
(
peasantHouseholdDto
.
getDeveloperName
());
// 开发方名称
peasantHousehold
.
setDeveloper
(
peasantHouseholdDto
.
getDeveloper
());
// 开发人
peasantHousehold
.
setRegionalCompaniesSeq
(
peasantHouseholdDto
.
getRegionalCompaniesSeq
());
peasantHousehold
.
setRegionalCompaniesCode
(
peasantHouseholdDto
.
getRegionalCompaniesCode
());
peasantHousehold
.
setRegionalCompaniesName
(
peasantHouseholdDto
.
getRegionalCompaniesName
());
// 过滤传给前端的数据
PeasantHouseholdWxDto
loginResult
;
try
{
loginResult
=
doLogin
(
wxDTO
,
registerUserModel
);
// 查询农户信息
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
(
""
));
// 开发方code
peasantHousehold
.
setDeveloperId
(
Optional
.
ofNullable
(
peasantHouseholdDto
).
map
(
PeasantHouseholdDto:
:
getDeveloperId
).
orElse
(
null
));
// 开发方id
peasantHousehold
.
setDeveloperName
(
Optional
.
ofNullable
(
peasantHouseholdDto
).
map
(
PeasantHouseholdDto:
:
getDeveloperName
).
orElse
(
""
));
// 开发方名称
peasantHousehold
.
setDeveloper
(
Optional
.
ofNullable
(
peasantHouseholdDto
).
map
(
PeasantHouseholdDto:
:
getDeveloper
).
orElse
(
""
));
// 开发人
peasantHousehold
.
setRegionalCompaniesSeq
(
Optional
.
ofNullable
(
peasantHouseholdDto
).
map
(
PeasantHouseholdDto:
:
getRegionalCompaniesSeq
).
orElse
(
null
));
peasantHousehold
.
setRegionalCompaniesCode
(
Optional
.
ofNullable
(
peasantHouseholdDto
).
map
(
PeasantHouseholdDto:
:
getRegionalCompaniesCode
).
orElse
(
""
));
peasantHousehold
.
setRegionalCompaniesName
(
Optional
.
ofNullable
(
peasantHouseholdDto
).
map
(
PeasantHouseholdDto:
:
getRegionalCompaniesName
).
orElse
(
""
));
peasantHousehold
.
setIsCertified
(
0
);
// 过滤传给前端的数据
this
.
save
(
peasantHousehold
);
}
/*else {
// 场景:扫码未实名认证的情况下, 关掉小程序第二次扫另一个区域经销商的二维码
//
wxDTO.getAmosUserId();// 二维码携带的经销商userId
PeasantHouseholdDto peasantHouseholdDto = buildDefaultPeasantHouseholdDto(wxDTO.getAmosUserId(), wxDTO.getQrCodeType(), phoneNo);
Long newRegionalCompaniesSeq = Optional.ofNullable(peasantHouseholdDto).map(PeasantHouseholdDto::getRegionalCompaniesSeq).orElse(null);
if (newRegionalCompaniesSeq.compareTo()) {
throw new RuntimeException("");
}
}*/
log
.
debug
(
"返回给前端数据, 手机号码 => {}, 农户信息 => {}"
,
phoneNo
,
peasantHousehold
);
// 装载农户信息
loginResult
.
setPeasantHousehold
(
peasantHousehold
);
return
loginResult
;
}
catch
(
Exception
e
)
{
log
.
error
(
e
.
getMessage
());
if
(
null
!=
registerUserModel
)
{
log
.
error
(
"调用平台接口回滚注册的用户 => {}"
,
e
,
registerUserModel
.
getUserId
());
// 调用平台接口回滚注册的用户
RequestContext
.
setAppKey
(
"AMOS_STUDIO"
);
RequestContext
.
setProduct
(
"AMOS_STUDIO_WEB"
);
RequestContext
.
setToken
(
requestContext
.
getToken
());
Privilege
.
agencyUserClient
.
multDeleteUser
(
registerUserModel
.
getUserId
());
}
if
(
e
instanceof
BadRequest
||
e
.
getCause
()
instanceof
BadRequest
)
{
throw
new
BadRequest
(
e
.
getMessage
());
}
throw
new
RuntimeException
(
e
.
getMessage
());
}
log
.
info
(
"返回给前端数据, 手机号码 => {}, 农户信息 => {}"
,
phoneNo
,
peasantHousehold
);
// 装载农户信息
loginResult
.
setPeasantHousehold
(
peasantHousehold
);
return
loginResult
;
}
/**
...
...
@@ -357,6 +399,9 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto
agencyUserModel
.
setRealName
(
mobileLoginParamDto
.
getPhoneNo
());
agencyUserModel
.
setPassword
(
custPassword
);
agencyUserModel
.
setRePassword
(
custPassword
);
// model中有个openId, 传手机号,verifyCode值为手机号加密
agencyUserModel
.
setOpenId
(
mobileLoginParamDto
.
getPhoneNo
());
agencyUserModel
.
setVerifyCode
(
com
.
yeejoin
.
precontrol
.
common
.
utils
.
DesUtil
.
encode
(
mobileLoginParamDto
.
getPhoneNo
(),
SECRETKEY
));
agencyUserModel
.
setLockStatus
(
"UNLOCK"
);
agencyUserModel
.
setAgencyCode
(
"JXIOP"
);
agencyUserModel
.
setMobile
(
mobileLoginParamDto
.
getPhoneNo
());
...
...
@@ -365,16 +410,6 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto
agencyUserModel
.
setOrgRoleSeqs
(
roleSeqMap
);
log
.
debug
(
"注册用户入参, agencyUserModel => {}"
,
agencyUserModel
);
FeignClientResult
<
AgencyUserModel
>
agencyUserResult
=
Privilege
.
agencyUserClient
.
create
(
agencyUserModel
);
try
{
FeignClientResult
<
LoginInfoModel
>
wechatResult
=
Privilege
.
agencyUserClient
.
createWechatLoginInfo
(
agencyUserResult
.
getResult
());
log
.
info
(
"wechatResult:{}"
,
wechatResult
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
/* agencyUserModel.setOpenId("openid");
agencyUserModel.setVerifyCode(com.yeejoin.precontrol.common.utils.DesUtil.encode(mobileLoginParamDto.getPhoneNo(), SECRETKEY));
FeignClientResult<AgencyUserModel> wechatResult = Privilege.agencyUserClient.wechatRegister(agencyUserModel);*/
return
agencyUserResult
;
}
...
...
@@ -394,20 +429,17 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto
RequestContext
.
setAppKey
(
"studio_normalapp_5133538"
);
String
phoneNo
=
param
.
getPhoneNo
();
if
(
phoneNo
==
null
)
{
throw
new
BadRequest
(
"获取手机号失败!"
);
log
.
error
(
"获取手机号失败!"
);
throw
new
BadRequest
(
"微信授权失败, 请重新授权"
);
}
FeignClientResult
loginResult
;
if
(!
param
.
getIsNeedVerify
()
||
(
"dev"
.
equals
(
loginEnvironment
)
&&
"666666"
.
equals
(
param
.
getVerifyCode
())))
{
// 授权登录
VerifyCodeAuthModel
verifyCodeAuthModel
=
new
VerifyCodeAuthModel
();
verifyCodeAuthModel
.
setLoginId
(
phoneNo
);
verifyCodeAuthModel
.
setVerifyCode
(
com
.
yeejoin
.
precontrol
.
common
.
utils
.
DesUtil
.
encode
(
phoneNo
,
SECRETKEY
));
// 手机号码 + 密码
言
verifyCodeAuthModel
.
setVerifyCode
(
com
.
yeejoin
.
precontrol
.
common
.
utils
.
DesUtil
.
encode
(
phoneNo
,
SECRETKEY
));
// 手机号码 + 密码
盐
log
.
info
(
"微信登录入参 => {}"
,
verifyCodeAuthModel
);
loginResult
=
Privilege
.
authClient
.
Wechat
(
verifyCodeAuthModel
);
/* IdPasswordAuthModel authModel = new IdPasswordAuthModel();
authModel.setLoginId(phoneNo);
authModel.setPassword(com.yeejoin.precontrol.common.utils.DesUtil.encode(registerPassword, SECRETKEY));
loginResult = Privilege.authClient.idpassword(authModel);*/
}
else
{
// 验证码
VerifyCodeAuthModel
model
=
new
VerifyCodeAuthModel
();
...
...
@@ -416,55 +448,26 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto
loginResult
=
Privilege
.
authClient
.
mobileVerifyCode
(
model
);
}
if
(
loginResult
==
null
||
loginResult
.
getStatus
()
!=
200
)
{
log
.
error
(
"
远程调用Privilege服务
失败: "
+
loginResult
.
getDevMessage
());
log
.
error
(
"
手机号码 => "
+
phoneNo
+
" 登录
失败: "
+
loginResult
.
getDevMessage
());
String
message
=
StringUtils
.
isEmpty
(
loginResult
.
getMessage
())
?
"账号或密码错误"
:
loginResult
.
getMessage
();
throw
new
BadRequest
(
message
);
throw
new
RuntimeException
(
message
);
}
HashMap
resultMap
=
(
HashMap
)
loginResult
.
getResult
();
String
token
=
resultMap
.
get
(
"token"
).
toString
();
// 设置登录信息
RequestContext
.
setToken
(
token
);
// redisUtils.set(model.getPhone() + "_token", token, TOKEN_TIME);
// 设置登录信息
String
userId
=
(
String
)
resultMap
.
get
(
"userId"
);
// 组装数据
PeasantHouseholdWxDto
peasantHouseholdWxDto
=
new
PeasantHouseholdWxDto
();
peasantHouseholdWxDto
.
setExpire
(
Long
.
valueOf
((
String
)
resultMap
.
get
(
"expire"
)));
peasantHouseholdWxDto
.
setUserId
(
userId
);
// 判断用户是否刚刚注册过
AgencyUserModel
userModel
;
/*if (registerUserModel != null) {
// 使用注册接口返回的用户信息
userModel = registerUserModel;
} else {
// 查询用户信息
FeignClientResult<AgencyUserModel> getme = Privilege.agencyUserClient.queryByUserId(userId);
*//*FeignClientResult<AgencyUserModel> getme = Privilege.agencyUserClient.getme();*//*
if (null == getme || getme.getStatus() != 200) {
throw new BadRequest("获取用户信息失败");
}
userModel = (AgencyUserModel) getme.getResult();
}*/
FeignClientResult
<
AgencyUserModel
>
getme
=
Privilege
.
agencyUserClient
.
queryByUserId
(
userId
);
if
(
null
==
getme
||
getme
.
getStatus
()
!=
200
)
{
throw
new
BadRequest
(
"获取用户信息失败"
);
}
userModel
=
(
AgencyUserModel
)
getme
.
getResult
();
// 组装userInfo数据
Map
<
String
,
Object
>
userInfo
=
new
HashMap
<>();
userInfo
.
put
(
"realName"
,
userModel
.
getRealName
());
userInfo
.
put
(
"mobile"
,
userModel
.
getMobile
());
userInfo
.
put
(
"orgNames"
,
userModel
.
getOrgNames
());
userInfo
.
put
(
"orgNamesWithoutRole"
,
userModel
.
getOrgNamesWithoutRole
());
// userInfo.put("phoneNo", phoneNo);
// userInfo.put("companyId", userModel.getCompanys().get(0).getCompanyOrgCode());
//
// userInfo.put("userModel", userModel);
peasantHouseholdWxDto
.
setUserInfo
(
userInfo
);
// 组装authInfo数据
Map
<
String
,
Object
>
authInfo
=
new
HashMap
<>();
authInfo
.
put
(
"token"
,
resultMap
.
get
(
"token"
)
);
authInfo
.
put
(
"personId"
,
resultMap
.
get
(
"userId"
)
);
authInfo
.
put
(
"appKey"
,
"STUDIO_APP_MOBILE"
);
authInfo
.
put
(
"product"
,
"studio_normalapp_5133538"
);
authInfo
.
put
(
"token"
,
token
);
authInfo
.
put
(
"personId"
,
userId
);
/*
authInfo.put("appKey", "STUDIO_APP_MOBILE");
authInfo.put("product", "studio_normalapp_5133538");
*/
peasantHouseholdWxDto
.
setAuthInfo
(
authInfo
);
return
peasantHouseholdWxDto
;
...
...
@@ -480,11 +483,9 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto
* @throws
*/
public
PeasantHouseholdDto
buildDefaultPeasantHouseholdDto
(
String
qrCodeType
,
AgencyUserModel
userInfo
)
{
if
(
null
==
userInfo
)
{
throw
new
BadRequest
(
"查询不到平台用户信息"
);
}
if
(
CollectionUtils
.
isEmpty
(
userInfo
.
getCompanys
()))
{
throw
new
BadRequest
(
"查询不到经销商单位信息"
);
if
(
null
==
userInfo
||
CollectionUtils
.
isEmpty
(
userInfo
.
getCompanys
()))
{
log
.
warn
(
"userId:{} 查询不到经销商信息 或者 查询不到经销商单位信息"
);
return
null
;
}
log
.
info
(
"通过区域/个人二维码扫描组装信息, user => {}, user's companys => {}"
,
userInfo
.
getUserId
(),
JSONObject
.
toJSONString
(
userInfo
.
getCompanys
()));
Long
sequenceNbr
=
userInfo
.
getCompanys
().
get
(
0
).
getSequenceNbr
();
...
...
@@ -492,15 +493,6 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto
String
companyName
=
userInfo
.
getCompanys
().
get
(
0
).
getCompanyName
();
// unitInfoServiceImpl.createCompanyAndUser 创建经销商的时候绑定的平台用户
List
<
UnitInfo
>
unitInfos
=
unitInfoServiceImpl
.
list
(
new
LambdaQueryWrapper
<
UnitInfo
>().
eq
(
UnitInfo:
:
getAmosCompanySeq
,
sequenceNbr
));
UnitInfo
unitInfo
;
if
(
CollectionUtils
.
isEmpty
(
unitInfos
))
{
log
.
warn
(
"userId:{} 查询不到经销商信息"
,
userInfo
.
getUserId
());
throw
new
BadRequest
(
"查询不到经销商信息"
);
}
unitInfo
=
unitInfos
.
get
(
0
);
Long
regionalCompaniesSeq
=
unitInfo
.
getRegionalCompaniesSeq
();
String
regionalCompaniesCode
=
unitInfo
.
getRegionalCompaniesCode
();
String
regionalCompaniesName
=
unitInfo
.
getRegionalCompaniesName
();
PeasantHouseholdDto
dto
=
new
PeasantHouseholdDto
();
// 先在后台创建一个角色和公司,微信农户新建的用户使用统一的
// 用户光伏-微信农户
...
...
@@ -509,22 +501,42 @@ public class PeasantHouseholdServiceImpl extends BaseService<PeasantHouseholdDto
dto
.
setDeveloperId
(
sequenceNbr
);
// 开发方id
dto
.
setDeveloperName
(
companyName
);
// 开发方名称
dto
.
setDeveloper
(
userInfo
.
getRealName
());
// 开发人
dto
.
setRegionalCompaniesSeq
(
regionalCompaniesSeq
);
dto
.
setRegionalCompaniesCode
(
regionalCompaniesCode
);
dto
.
setRegionalCompaniesName
(
regionalCompaniesName
);
UnitInfo
unitInfo
;
if
(!
CollectionUtils
.
isEmpty
(
unitInfos
))
{
log
.
warn
(
"userId:{} 查询不到经销商信息"
,
userInfo
.
getUserId
());
unitInfo
=
unitInfos
.
get
(
0
);
Long
regionalCompaniesSeq
=
unitInfo
.
getRegionalCompaniesSeq
();
String
regionalCompaniesCode
=
unitInfo
.
getRegionalCompaniesCode
();
String
regionalCompaniesName
=
unitInfo
.
getRegionalCompaniesName
();
dto
.
setRegionalCompaniesSeq
(
regionalCompaniesSeq
);
//所属区域公司id
dto
.
setRegionalCompaniesCode
(
regionalCompaniesCode
);
//所属区域公司code
dto
.
setRegionalCompaniesName
(
regionalCompaniesName
);
//所属区域公司名称
}
return
dto
;
}
/**
* 农户通过扫描区域二维码进入注册,查询区域经销商的信息并
*
*
* @param userId userId
* @param qrCodeType qrCodeType
* @param phoneNo phoneNo
* @return {@link PeasantHouseholdDto}
* @author Provence
* @throws
*/
private
PeasantHouseholdDto
buildDefaultPeasantHouseholdDto
(
String
userId
,
String
qrCodeType
,
String
phoneNo
)
{
// 获取区域
// 这里的userId 是解析区域二维码得到的参数, 如果第一次扫码进来会创建一条农户数据然后关联起来
if
(
StringUtils
.
isBlank
(
userId
))
{
throw
new
BadRequest
(
"请通过区域二维码扫码进入"
);
}
FeignClientResult
<
AgencyUserModel
>
userInfoResult
=
Privilege
.
agencyUserClient
.
queryByUserId
(
userId
);
// 获取用户
if
(
userInfoResult
!=
null
&&
userInfoResult
.
getStatus
()
!=
200
)
{
throw
new
BadRequest
(
"无效的userId"
)
;
if
(
userInfoResult
==
null
||
userInfoResult
.
getStatus
()
!=
200
)
{
return
null
;
}
AgencyUserModel
userInfo
=
userInfoResult
.
getResult
();
PeasantHouseholdDto
dto
=
buildDefaultPeasantHouseholdDto
(
qrCodeType
,
userInfo
);
dto
.
setTelephone
(
phoneNo
);
return
dto
;
return
buildDefaultPeasantHouseholdDto
(
qrCodeType
,
userInfo
);
}
/**
...
...
amos-boot-system-jxiop/amos-boot-module-hygf-biz/src/main/java/com/yeejoin/amos/boot/module/hygf/biz/service/impl/QiyuesuoServiceImpl.java
View file @
5f37cd0c
...
...
@@ -8,7 +8,6 @@ import com.qiyuesuo.sdk.v2.exception.BaseSdkException;
import
com.qiyuesuo.sdk.v2.json.JSONUtils
;
import
com.qiyuesuo.sdk.v2.request.*
;
import
com.qiyuesuo.sdk.v2.response.*
;
import
com.yeejoin.amos.boot.module.common.api.dto.ContractDto
;
import
com.yeejoin.amos.boot.module.hygf.api.dto.ContractDataDto
;
import
com.yeejoin.amos.boot.module.hygf.api.dto.TemplateParamDto
;
import
org.slf4j.Logger
;
...
...
@@ -16,11 +15,8 @@ import org.slf4j.LoggerFactory;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Service
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
/**
* @description:
...
...
@@ -89,6 +85,10 @@ public class QiyuesuoServiceImpl {
public
Long
addContract
(
ContractDataDto
contractDataDto
,
List
<
TemplateParamDto
>
templateParam
){
SdkResponse
<
Contract
>
responseObj
=
null
;
// 返回结果
Contract
result
=
new
Contract
();
String
username
=
contractDataDto
.
getUsername
();
String
contact
=
contractDataDto
.
getContact
();
String
IDCard
=
contractDataDto
.
getIDCard
();
...
...
@@ -109,6 +109,7 @@ public class QiyuesuoServiceImpl {
Double
personalOffsetX
=
contractDataDto
.
getPersonalOffsetX
();
Double
personalOffsetY
=
contractDataDto
.
getPersonalOffsetY
();
List
<
Long
>
corpSealIds
=
contractDataDto
.
getSealId
();
try
{
SdkClient
sdkClient
=
new
SdkClient
(
serverUrl
,
accessKey
,
accessSecret
);
// 合同基本参数
//进行日期格式化
...
...
@@ -142,10 +143,13 @@ public class QiyuesuoServiceImpl {
ContractDraftRequest
request
=
new
ContractDraftRequest
(
contract
);
logger
.
info
(
"创建草稿合同调用前"
+
JSON
.
toJSONString
(
request
));
String
response
=
sdkClient
.
service
(
request
);
SdkResponse
<
Contract
>
responseObj
=
JSONUtils
.
toQysResponse
(
response
,
Contract
.
class
);
// 返回结果
Contract
result
=
new
Contract
();
responseObj
=
JSONUtils
.
toQysResponse
(
response
,
Contract
.
class
);
logger
.
info
(
"创建草稿合同调用后"
+
JSON
.
toJSONString
(
responseObj
));
}
catch
(
Exception
e
){
e
.
printStackTrace
();
throw
new
RuntimeException
(
"创建草稿合同失败"
);
}
if
(
responseObj
.
getCode
()
==
0
)
{
result
=
responseObj
.
getResult
();
logger
.
info
(
JSON
.
toJSONString
(
responseObj
));
...
...
@@ -189,6 +193,9 @@ public class QiyuesuoServiceImpl {
public
DocumentAddResult
getDocumentAddResult
(
Long
contractId
,
String
subject
,
List
<
TemplateParamDto
>
templateParam
,
Long
emplateId
)
{
DocumentAddResult
result
=
null
;
SdkResponse
<
DocumentAddResult
>
responseObj
=
null
;
try
{
SdkClient
sdkClient
=
new
SdkClient
(
serverUrl
,
accessKey
,
accessSecret
);
// 添加合同文档
List
<
TemplateParam
>
params
=
new
ArrayList
<>();
...
...
@@ -197,38 +204,49 @@ public class QiyuesuoServiceImpl {
params
.
add
(
new
TemplateParam
(
templateParamDto
.
getKey
(),
templateParamDto
.
getValue
()));
}
}
logger
.
info
(
"
合同
参数"
+
JSON
.
toJSONString
(
params
));
logger
.
info
(
"
添加合同文档
参数"
+
JSON
.
toJSONString
(
params
));
DocumentAddByTemplateRequest
request
=
new
DocumentAddByTemplateRequest
(
contractId
,
emplateId
,
params
,
subject
);
logger
.
info
(
"添加合同文档前"
,
JSON
.
toJSONString
(
request
));
String
response
=
sdkClient
.
service
(
request
);
SdkResponse
<
DocumentAddResult
>
responseObj
=
JSONUtils
.
toQysResponse
(
response
,
DocumentAddResult
.
class
);
responseObj
=
JSONUtils
.
toQysResponse
(
response
,
DocumentAddResult
.
class
);
logger
.
info
(
"添加合同文档后"
,
JSON
.
toJSONString
(
responseObj
));
DocumentAddResult
result
=
null
;
if
(
responseObj
.
getCode
()
==
0
)
{
}
catch
(
Exception
e
){
e
.
printStackTrace
();
throw
new
RuntimeException
(
"添加合同文档失败"
);
}
if
(
responseObj
!=
null
&&
responseObj
.
getCode
()
==
0
)
{
result
=
responseObj
.
getResult
();
logger
.
info
(
"添加合同文档成功,文档ID:{}"
,
JSON
.
toJSONString
(
result
));
}
else
{
throw
new
RuntimeException
(
"
请求失败"
);
throw
new
RuntimeException
(
"
添加合同文档"
+
responseObj
.
getMessage
()
);
}
return
result
;
}
public
SdkResponse
<
Object
>
getSdkResponse
(
Long
contractId
,
List
<
Stamper
>
stampers
){
SdkClient
sdkClient
=
new
SdkClient
(
serverUrl
,
accessKey
,
accessSecret
);
// 发起合同
SdkResponse
<
Object
>
responseObj
=
null
;
try
{
SdkClient
sdkClient
=
new
SdkClient
(
serverUrl
,
accessKey
,
accessSecret
);
ContractSendRequest
request
=
new
ContractSendRequest
(
contractId
,
stampers
);
logger
.
info
(
"发起合同前"
,
JSON
.
toJSONString
(
request
));
logger
.
info
(
"
请求契约锁
发起合同前"
,
JSON
.
toJSONString
(
request
));
String
response
=
sdkClient
.
service
(
request
);
responseObj
=
JSONUtils
.
toQysResponse
(
response
);
logger
.
info
(
"发起合同后"
,
JSON
.
toJSONString
(
responseObj
));
if
(
responseObj
.
getCode
()
==
0
)
{
logger
.
info
(
"合同发起成功"
);
}
catch
(
Exception
e
){
e
.
printStackTrace
();
throw
new
RuntimeException
(
"请求契约锁发起合同接口失败"
);
}
logger
.
info
(
"请求契约锁发起合同后"
,
JSON
.
toJSONString
(
responseObj
));
if
(
responseObj
!=
null
&&
responseObj
.
getCode
()
==
0
)
{
logger
.
info
(
"请求契约锁发起合同成功"
);
}
else
{
throw
new
RuntimeException
(
"请求
失败"
);
throw
new
RuntimeException
(
"请求
契约锁发起合同失败"
+
responseObj
.
getMessage
()
);
}
return
responseObj
;
}
...
...
amos-boot-system-jxiop/amos-boot-module-hygf-biz/src/main/java/com/yeejoin/amos/boot/module/hygf/biz/service/impl/SurveyInformationServiceImpl.java
View file @
5f37cd0c
...
...
@@ -29,6 +29,7 @@ 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.transaction.annotation.Transactional
;
import
org.typroject.tyboot.core.foundation.exception.BaseException
;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
import
org.springframework.stereotype.Service
;
...
...
@@ -103,7 +104,7 @@ public class SurveyInformationServiceImpl extends BaseService<SurveyInformationD
return
this
.
queryForList
(
""
,
false
);
}
@Transactional
public
SurveyInfoAllDto
saveSurveyInfo
(
SurveyInfoAllDto
surveyInfoAllDto
,
String
operationType
)
{
JSONArray
regionName
=
getRegionName
();
List
<
RegionModel
>
list
=
JSONArray
.
parseArray
(
regionName
.
toJSONString
(),
RegionModel
.
class
);
...
...
amos-boot-system-jxiop/amos-boot-module-hygf-biz/src/main/java/com/yeejoin/amos/boot/module/hygf/biz/service/impl/UnitInfoServiceImpl.java
View file @
5f37cd0c
...
...
@@ -319,7 +319,7 @@ public class UnitInfoServiceImpl extends BaseService<UnitInfoDto,UnitInfo,UnitIn
public
UnitInfoDto
createWithModelnew
(
UnitInfoDto
regUnitInfo
){
regUnitInfo
.
setBlacklist
(
0
);
regUnitInfo
.
setBlacklist
(
1
);
regUnitInfo
.
setAuditStatus
(
1
);
regUnitInfo
.
setManagementUnit
(
"经销商事业部"
);
regUnitInfo
=
this
.
createWithModel
(
regUnitInfo
);
...
...
@@ -391,6 +391,7 @@ public class UnitInfoServiceImpl extends BaseService<UnitInfoDto,UnitInfo,UnitIn
}
else
{
// 1. 更新经销商状态
unitInfo
.
setAuditStatus
(
2
);
unitInfo
.
setBlacklist
(
0
);
Privilege
.
agencyUserClient
.
unlockUsers
(
unitInfo
.
getAdminUserId
());
}
}
...
...
amos-boot-system-jxiop/amos-boot-module-hygf-biz/src/main/java/com/yeejoin/amos/boot/module/hygf/biz/service/impl/WxServiceImpl.java
View file @
5f37cd0c
...
...
@@ -249,12 +249,13 @@ public class WxServiceImpl implements IWxService {
@Override
public
JSONObject
getCode2Session
(
String
code
)
{
String
url
=
buildOpenIdUrl
(
appId
,
secret
,
code
);
log
.
info
(
"微信 code2Session, code =>{}, 请求 => {}"
,
code
,
url
);
String
resultStr
=
HttpUtil
.
sendHttpGet
(
url
);
// resultStr => {"session_key":"Mj5xbDhcZU73DtUduI1xKg==","openid":"oRraY5aYJkxkDJiG4rBaaw4MSmPA"}
log
.
info
(
"微信
C
ode2Session, code =>{}, 结果 => {}"
,
code
,
resultStr
);
log
.
info
(
"微信
c
ode2Session, code =>{}, 结果 => {}"
,
code
,
resultStr
);
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
resultStr
);
if
(
jsonObject
==
null
||
jsonObject
.
getIntValue
(
"errcode"
)
!=
0
)
{
throw
new
BadRequest
(
"微信授权失败, 请重新授权"
);
throw
new
RuntimeException
(
"微信授权失败, 请重新授权"
);
}
return
jsonObject
;
}
...
...
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