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
619c3f5c
Commit
619c3f5c
authored
Jul 18, 2024
by
yangyang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
对接聚富通
parent
a5bd68ce
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
576 additions
and
15 deletions
+576
-15
IcbcEnum.java
.../com/yeejoin/amos/boot/module/hygf/api/Enum/IcbcEnum.java
+90
-0
HygfIcbcRecordDTO.java
...join/amos/boot/module/hygf/api/dto/HygfIcbcRecordDTO.java
+158
-0
HygfIcbcRecordQueryDTO.java
...amos/boot/module/hygf/api/dto/HygfIcbcRecordQueryDTO.java
+39
-0
HygfIcbcRecord.java
...join/amos/boot/module/hygf/api/entity/HygfIcbcRecord.java
+121
-0
HygfIcbcRecordMapper.java
...mos/boot/module/hygf/api/mapper/HygfIcbcRecordMapper.java
+25
-0
HygfIcbcRecordService.java
...s/boot/module/hygf/api/service/HygfIcbcRecordService.java
+13
-0
HygfIcbcController.java
...s/boot/module/hygf/biz/controller/HygfIcbcController.java
+50
-10
HygfIcbcServiceImpl.java
...oot/module/hygf/biz/service/impl/HygfIcbcServiceImpl.java
+80
-5
No files found.
amos-boot-system-jxiop/amos-boot-module-hygf-api/src/main/java/com/yeejoin/amos/boot/module/hygf/api/Enum/IcbcEnum.java
0 → 100644
View file @
619c3f5c
package
com
.
yeejoin
.
amos
.
boot
.
module
.
hygf
.
api
.
Enum
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.Getter
;
import
lombok.NoArgsConstructor
;
import
org.apache.commons.lang3.StringUtils
;
/**
* 聚富通枚举
*
* <p>
* ProjectName: amos-boot-zx-biz
* PackageName: com.yeejoin.amos.boot.module.hygf.api.Enum
*
* @author yangyang
* @version v1.0
* @date 2024/7/18 11:51
*/
@Data
public
class
IcbcEnum
{
/**
* 开户状态
*/
@Getter
@NoArgsConstructor
@AllArgsConstructor
public
static
enum
OpenAccountState
{
INITIAL
(
"初始"
,
"00"
),
OPENING
(
"开户中"
,
"01"
),
SUCCESSFULLY
(
"开户成功"
,
"02"
),
FAIL
(
"开户失败"
,
"03"
);
/**
* 名称,描述
*/
private
String
name
;
/**
* 编码
*/
private
String
code
;
public
static
String
getNameByCode
(
String
code
,
String
defaultName
)
{
for
(
OpenAccountState
state
:
OpenAccountState
.
values
())
{
if
(
state
.
getCode
().
equals
(
code
))
{
return
state
.
getName
();
}
}
if
(
StringUtils
.
isNotEmpty
(
defaultName
))
{
return
defaultName
;
}
return
null
;
}
}
/**
* 协议状态, 0-未生效,1-已生效,2-过期,3-作废,4-待短信确认
*/
@Getter
@NoArgsConstructor
@AllArgsConstructor
enum
ProtocolStatus
{
NOT_EFFECTIVE
(
"未生效"
,
"0"
),
EFFECTIVE
(
"已生效"
,
"1"
),
OVERDUE
(
"过期"
,
"2"
),
DISCARD
(
"作废"
,
"3"
),
WAITTING_SMS
(
"待短信确认"
,
"4"
);
/**
* 名称,描述
*/
private
String
name
;
/**
* 编码
*/
private
String
code
;
}
}
amos-boot-system-jxiop/amos-boot-module-hygf-api/src/main/java/com/yeejoin/amos/boot/module/hygf/api/dto/HygfIcbcRecordDTO.java
0 → 100644
View file @
619c3f5c
package
com
.
yeejoin
.
amos
.
boot
.
module
.
hygf
.
api
.
dto
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler
;
import
com.yeejoin.amos.boot.module.hygf.api.entity.PeasantHousehold
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.util.Date
;
import
java.util.List
;
/**
* (hygf_icbc_record)实体类
*
* @author yangyang
* @description
* @since 2024-07-18 11:40:46
*/
@Data
@NoArgsConstructor
@ApiModel
(
value
=
"HygfIcbcRecordDTO"
,
description
=
"聚富通钱包开户DTO"
)
public
class
HygfIcbcRecordDTO
{
private
static
final
long
serialVersionUID
=
1L
;
protected
Long
sequenceNbr
;
@ApiModelProperty
(
value
=
"农户姓名"
)
private
String
custName
;
/**
* 身份证号
*/
@ApiModelProperty
(
value
=
"身份证号"
)
private
String
idCard
;
/**
* 手机号码
*/
@ApiModelProperty
(
value
=
"手机号码"
)
private
String
phone
;
/**
* 聚富通电子账户账号
*/
@ApiModelProperty
(
value
=
"聚富通电子账户账"
)
private
String
mediumId
;
/**
* 项目编号
*/
@ApiModelProperty
(
value
=
"项目编号"
)
private
String
projectId
;
/**
* 开户状态, 00-初始,01-开户中,02-开户成功,03-开户失败
*/
@ApiModelProperty
(
value
=
"开户状态, 00-初始,01-开户中,02-开户成功,03-开户失败"
)
private
String
openAccountStatus
;
@ApiModelProperty
(
value
=
"开户状态Name"
)
private
String
openAccountStatusName
;
/**
* 协议状态, 0-未生效,1-已生效,2-过期,3-作废,4-待短信确认
*/
@ApiModelProperty
(
value
=
"协议状态, 0-未生效,1-已生效,2-过期,3-作废,4-待短信确认"
)
private
String
protocolStatus
;
@ApiModelProperty
(
value
=
"协议状态Name"
)
private
String
protocolStatusName
;
/**
* 协议开始日期
*/
@ApiModelProperty
(
value
=
"协议开始日期"
)
private
Date
protocolStartTime
;
/**
* 协议终止日期
*/
@ApiModelProperty
(
value
=
"协议终止日期"
)
private
Date
protocolEndTime
;
/**
* 单笔限额
*/
@ApiModelProperty
(
value
=
"单笔限额"
)
private
String
trxLimitAmount
;
/**
* 日累计限额
*/
@ApiModelProperty
(
value
=
"日累计限额"
)
private
String
dayLimitAmount
;
/**
* 协议总限额
*/
@ApiModelProperty
(
value
=
"协议总限额"
)
private
String
protocolLimitAmount
;
/**
* 合作方 appid
*/
@ApiModelProperty
(
value
=
"合作方 appid"
)
private
String
appId
;
/**
* 外部用户编号
*/
@ApiModelProperty
(
value
=
"外部用户编号"
)
private
String
outUserId
;
/**
* 企业外系统编号
*/
@ApiModelProperty
(
value
=
"企业外系统编号"
)
private
String
outVendorId
;
/**
* signEntrsutPrtlStatus
*/
@ApiModelProperty
(
value
=
"signEntrsutPrtlStatus"
)
private
String
signEntrsutPrtlStatus
;
/**
* 作废申请状态
*/
@ApiModelProperty
(
value
=
"作废申请状态"
)
private
String
discardStatus
;
@ApiModelProperty
(
value
=
"农户id"
)
private
String
amosUserId
;
@ApiModelProperty
(
value
=
"电站信息"
)
private
List
<
IcbcPeasantHousehold
>
peasantHouseholds
;
@Data
@AllArgsConstructor
@NoArgsConstructor
public
static
class
IcbcPeasantHousehold
{
/**
* 农户信息编号
*/
private
String
peasantHouseholdNo
;
/**
* 项目地址
*/
private
List
<
Integer
>
projectAddress
;
/**
* 项目地址
*/
private
String
projectAddressName
;
/*
* 区域公司id
* */
private
Long
regionalCompaniesSeq
;
/*
* 区域公司code
* */
private
String
regionalCompaniesCode
;
/*
* 区域公司名称
* */
private
String
regionalCompaniesName
;
}
}
\ No newline at end of file
amos-boot-system-jxiop/amos-boot-module-hygf-api/src/main/java/com/yeejoin/amos/boot/module/hygf/api/dto/HygfIcbcRecordQueryDTO.java
0 → 100644
View file @
619c3f5c
package
com
.
yeejoin
.
amos
.
boot
.
module
.
hygf
.
api
.
dto
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* <p>
* ProjectName: amos-boot-zx-biz
* PackageName: com.yeejoin.amos.boot.module.hygf.api.dto
*
* @author yangyang
* @version v1.0
* @date 2024/7/18 14:36
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public
class
HygfIcbcRecordQueryDTO
{
@ApiModelProperty
(
value
=
"开户状态, 00-初始,01-开户中,02-开户成功,03-开户失败"
)
private
String
openAccountStatus
;
@ApiModelProperty
(
value
=
"农户姓名"
)
private
String
custName
;
@ApiModelProperty
(
value
=
"身份证号"
)
private
String
idCard
;
@ApiModelProperty
(
value
=
"手机号码"
)
private
String
phone
;
@ApiModelProperty
(
value
=
"区域公司"
)
private
String
regionalCompaniesSeq
;
@ApiModelProperty
(
value
=
"所属地址"
)
private
String
address
;
}
amos-boot-system-jxiop/amos-boot-module-hygf-api/src/main/java/com/yeejoin/amos/boot/module/hygf/api/entity/HygfIcbcRecord.java
0 → 100644
View file @
619c3f5c
package
com
.
yeejoin
.
amos
.
boot
.
module
.
hygf
.
api
.
entity
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
java.util.Date
;
import
com.yeejoin.amos.boot.biz.common.entity.BaseEntity
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.experimental.Accessors
;
/**
* (hygf_icbc_record)实体类
*
* @author yangyang
* @description
* @since 2024-07-18 11:40:46
*/
@Data
@NoArgsConstructor
@Accessors
(
chain
=
true
)
@TableName
(
value
=
"hygf_icbc_record"
,
autoResultMap
=
true
)
public
class
HygfIcbcRecord
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 农户姓名
*/
@TableField
(
"cust_name"
)
private
String
custName
;
/**
* 身份证号
*/
@TableField
(
"id_card"
)
private
String
idCard
;
/**
* 手机号码
*/
@TableField
(
"phone"
)
private
String
phone
;
/**
* 聚富通电子账户账号
*/
@TableField
(
"medium_id"
)
private
String
mediumId
;
/**
* 项目编号
*/
@TableField
(
"project_id"
)
private
String
projectId
;
/**
* 开户状态, 00-初始,01-开户中,02-开户成功,03-开户失败
*/
@TableField
(
"open_account_status"
)
private
String
openAccountStatus
;
/**
* 协议状态, 0-未生效,1-已生效,2-过期,3-作废,4-待短信确认
*/
@TableField
(
"protocol_status"
)
private
String
protocolStatus
;
/**
* 协议开始日期
*/
@TableField
(
"protocol_start_time"
)
private
Date
protocolStartTime
;
/**
* 协议终止日期
*/
@TableField
(
"protocol_end_time"
)
private
Date
protocolEndTime
;
/**
* 单笔限额
*/
@TableField
(
"trx_limit_amount"
)
private
String
trxLimitAmount
;
/**
* 日累计限额
*/
@TableField
(
"day_limit_amount"
)
private
String
dayLimitAmount
;
/**
* 协议总限额
*/
@TableField
(
"protocol_limit_amount"
)
private
String
protocolLimitAmount
;
/**
* 合作方 appid
*/
@TableField
(
"app_id"
)
private
String
appId
;
/**
* 外部用户编号
*/
@TableField
(
"out_user_id"
)
private
String
outUserId
;
/**
* 企业外系统编号
*/
@TableField
(
"out_vendor_id"
)
private
String
outVendorId
;
/**
* signEntrsutPrtlStatus
*/
@TableField
(
"sign_entrsut_prtl_status"
)
private
String
signEntrsutPrtlStatus
;
/**
* 作废申请状态
*/
@TableField
(
"discard_status"
)
private
String
discardStatus
;
/**
* 农户 用户 id
*/
@TableField
(
"amos_user_id"
)
private
String
amosUserId
;
}
\ No newline at end of file
amos-boot-system-jxiop/amos-boot-module-hygf-api/src/main/java/com/yeejoin/amos/boot/module/hygf/api/mapper/HygfIcbcRecordMapper.java
0 → 100644
View file @
619c3f5c
package
com
.
yeejoin
.
amos
.
boot
.
module
.
hygf
.
api
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.yeejoin.amos.boot.module.hygf.api.config.UserEmpower
;
import
com.yeejoin.amos.boot.module.hygf.api.dto.AcceptanceDto
;
import
com.yeejoin.amos.boot.module.hygf.api.dto.HygfIcbcRecordDTO
;
import
com.yeejoin.amos.boot.module.hygf.api.dto.HygfIcbcRecordQueryDTO
;
import
com.yeejoin.amos.boot.module.hygf.api.entity.HygfIcbcRecord
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
/**
* (hygf_icbc_record)数据Mapper
*
* @author yangyang
* @description
* @since 2024-07-18 11:40:46
*/
public
interface
HygfIcbcRecordMapper
extends
BaseMapper
<
HygfIcbcRecord
>
{
@UserEmpower
(
field
=
{
"ph.regional_companies_code"
},
dealerField
=
{
"ph.developer_code"
,
"ph.regional_companies_code"
,
"ph.developer_user_id"
},
fieldConditions
=
{
"in"
,
"in"
,
"in"
},
relationship
=
"and"
)
List
<
HygfIcbcRecordDTO
>
listObject
(
@Param
(
"param"
)
HygfIcbcRecordQueryDTO
hygfIcbcRecordQueryDTO
);
}
amos-boot-system-jxiop/amos-boot-module-hygf-api/src/main/java/com/yeejoin/amos/boot/module/hygf/api/service/HygfIcbcRecordService.java
0 → 100644
View file @
619c3f5c
package
com
.
yeejoin
.
amos
.
boot
.
module
.
hygf
.
api
.
service
;
/**
* 服务接口
*
* @author yangyang
* @since 2024-07-18 11:40:46
* @description
*/
public
interface
HygfIcbcRecordService
{
}
amos-boot-system-jxiop/amos-boot-module-hygf-biz/src/main/java/com/yeejoin/amos/boot/module/hygf/biz/controller/HygfIcbcController.java
View file @
619c3f5c
package
com
.
yeejoin
.
amos
.
boot
.
module
.
hygf
.
biz
.
controller
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yeejoin.amos.boot.biz.common.controller.BaseController
;
import
com.yeejoin.amos.boot.module.hygf.api.config.UserLimits
;
import
com.yeejoin.amos.boot.module.hygf.api.dto.FinancingRectificationOrderDto
;
import
com.yeejoin.amos.boot.module.hygf.api.dto.HouseholdContractDto
;
import
com.yeejoin.amos.boot.module.hygf.api.dto.HygfIcbcRecordDTO
;
import
com.yeejoin.amos.boot.module.hygf.api.dto.HygfIcbcRecordQueryDTO
;
import
com.yeejoin.amos.boot.module.hygf.biz.service.impl.HygfIcbcServiceImpl
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiParam
;
import
org.springframework.beans.factory.annotation.Autowired
;
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.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.util.List
;
/**
...
...
@@ -19,23 +29,53 @@ import javax.servlet.http.HttpServletResponse;
*/
@RestController
@Api
(
tags
=
"电子钱包"
)
@RequestMapping
(
value
=
"/icbc"
)
@Api
(
tags
=
"电子钱包"
)
@RequestMapping
(
value
=
"/icbc"
)
public
class
HygfIcbcController
extends
BaseController
{
@Autowired
HygfIcbcServiceImpl
hygfIcbcService
;
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
,
needAuth
=
false
)
@GetMapping
(
value
=
"/icbcRegisterWalletUrl"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"注册电子钱包"
,
notes
=
"注册电子钱包"
)
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
,
needAuth
=
false
)
@GetMapping
(
value
=
"/icbcRegisterWalletUrl"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"注册电子钱包"
,
notes
=
"注册电子钱包"
)
public
void
getHygfIcbcRegisterWalletUrl
(
HttpServletRequest
req
,
HttpServletResponse
resp
)
{
hygfIcbcService
.
icbcRegisterWalletUrl
(
req
,
resp
);
hygfIcbcService
.
icbcRegisterWalletUrl
(
req
,
resp
);
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
,
needAuth
=
false
)
@PostMapping
(
value
=
"/registerWalletCallback"
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"注册电子钱包回调"
,
notes
=
"注册电子钱包回调"
)
public
ResponseModel
<
HygfIcbcRecordDTO
>
registerWalletCallback
(
@ApiParam
@RequestBody
HygfIcbcRecordDTO
hygfIcbcRecordDTO
)
{
return
ResponseHelper
.
buildResponse
(
hygfIcbcService
.
registerWalletCallback
(
hygfIcbcRecordDTO
));
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
,
needAuth
=
false
)
@GetMapping
(
value
=
"/{sequenceNbr}"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"根据sequenceNbr查询注册电子钱包"
,
notes
=
"注册电子钱包"
)
public
ResponseModel
<
HygfIcbcRecordDTO
>
getObject
(
@PathVariable
String
sequenceNbr
)
{
return
ResponseHelper
.
buildResponse
(
hygfIcbcService
.
getObject
(
Long
.
valueOf
(
sequenceNbr
)));
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
,
needAuth
=
false
)
@GetMapping
(
value
=
"/list"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"聚富通电子钱包列表查询"
,
notes
=
"聚富通电子钱包列表查询"
)
@UserLimits
public
ResponseModel
<
List
<
HygfIcbcRecordDTO
>>
listObject
(
@ApiParam
HygfIcbcRecordQueryDTO
hygfIcbcRecordQueryDTO
)
{
return
ResponseHelper
.
buildResponse
(
hygfIcbcService
.
listObject
(
hygfIcbcRecordQueryDTO
));
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@GetMapping
(
value
=
"/page"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"聚富通电子钱包分页查询"
,
notes
=
"聚富通电子钱包分页查询"
)
@UserLimits
public
ResponseModel
<
Page
<
HygfIcbcRecordDTO
>>
queryForPage
(
@RequestParam
(
value
=
"current"
)
int
current
,
@RequestParam
(
value
=
"size"
)
int
size
,
@ApiParam
@RequestParam
HygfIcbcRecordQueryDTO
hygfIcbcRecordQueryDTO
)
{
return
ResponseHelper
.
buildResponse
(
hygfIcbcService
.
queryForPage
(
current
,
size
,
hygfIcbcRecordQueryDTO
));
}
}
amos-boot-system-jxiop/amos-boot-module-hygf-biz/src/main/java/com/yeejoin/amos/boot/module/hygf/biz/service/impl/HygfIcbcServiceImpl.java
View file @
619c3f5c
package
com
.
yeejoin
.
amos
.
boot
.
module
.
hygf
.
biz
.
service
.
impl
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.github.pagehelper.PageHelper
;
import
com.github.pagehelper.PageInfo
;
import
com.icbc.api.IcbcConstants
;
import
com.icbc.api.UiIcbcClient
;
import
com.icbc.api.request.JftUiUserEntrustopenacctSubmitRequestV1
;
import
com.yeejoin.amos.boot.module.hygf.api.Enum.IcbcEnum
;
import
com.yeejoin.amos.boot.module.hygf.api.dto.FinancingInfoDto
;
import
com.yeejoin.amos.boot.module.hygf.api.dto.FinancingRectificationOrderDto
;
import
com.yeejoin.amos.boot.module.hygf.api.dto.HygfIcbcRecordDTO
;
import
com.yeejoin.amos.boot.module.hygf.api.dto.HygfIcbcRecordQueryDTO
;
import
com.yeejoin.amos.boot.module.hygf.api.entity.FinancingInfo
;
import
com.yeejoin.amos.boot.module.hygf.api.entity.HygfIcbcRecord
;
import
com.yeejoin.amos.boot.module.hygf.api.entity.PeasantHousehold
;
import
com.yeejoin.amos.boot.module.hygf.api.mapper.FinancingInfoMapper
;
import
com.yeejoin.amos.boot.module.hygf.api.mapper.HygfIcbcRecordMapper
;
import
com.yeejoin.amos.boot.module.hygf.api.service.IHygfIcbcService
;
import
io.swagger.annotations.ApiParam
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.typroject.tyboot.core.foundation.utils.Bean
;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
import
org.typroject.tyboot.core.restful.exception.instance.BadRequest
;
import
org.typroject.tyboot.core.restful.utils.ResponseModel
;
import
javax.annotation.Resource
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.PrintWriter
;
import
java.util.Collections
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.UUID
;
import
java.util.stream.Collectors
;
/**
...
...
@@ -22,10 +48,10 @@ import java.util.UUID;
*/
@Service
@Slf4j
public
class
HygfIcbcServiceImpl
implements
IHygfIcbcService
{
public
class
HygfIcbcServiceImpl
extends
BaseService
<
HygfIcbcRecordDTO
,
HygfIcbcRecord
,
HygfIcbcRecordMapper
>
implements
IHygfIcbcService
{
private
static
final
long
serialVersionUID
=
1L
;
// 合作方 APPID
private
static
final
String
APP_ID
=
"11000000000000028870"
;
private
static
final
String
APP_ID
=
"11000000000000028870"
;
// 此处替换合作方 APPID 对应私钥
private
static
final
String
MY_PRIVATE_KEY
=
"MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDAlcIeANdqipul3/qAIRlknSacHiFCMzLzUJisGcr9ipm3p2rir8WDsac2MxgtUt+f89SGNoWyjv4q0/QAKQQTd5U3KuGAksCJLBGVibuFe7G7YGYVezUksjvocvp8GIinCIkzq67KL2SOpGXAu3s+282rx8AxdTZA/EhXQvbORbWz5+DamyY+wS7Maa8KmIOb6WZPtiXgENZxDHAafrqW8Gt1BnVfJNf5yS5J9Wl+LcR1EPvi5iH8dSIdn1ZMVupoREjV/DvItSogVehsqTRZWuekAo2xH9YEli1UMG/l3deViRn/A4VmPPzdv0xXpn/yO+OTjWez+KmSmJfAZXBvAgMBAAECggEABRYviWFWTz8X+1qeIDI/nHO2KFt3X2tAxkJztd/8h5PYmYw3e4NPATp5Ayp4UgIlW/ExxNW91EiImBL/F939eJIpA8sDJ8U4hqb+U+fOZyksOZnDOIAHmE+I24vl588yFM9Z6F55gGeeDVJ0SZHqIG/nz8i339aLt02yj3N6V1peQugBP6L9arcD+gVu4F70whkqW+lHBK/WzX1OazqEx3Ip175jqzi9/0vO/h/kqnGGXuMi2VeuAPsa+d0a6lf/FScxqCt3t6dCkJ5DPA1MCj81dPi5ZfCM/vE0N8I6LEV+RyC7bb4YVO/PoicFjb2j8vfLvldOUrsvkNH51dZusQKBgQDpMHacOBpIuVzEFfNtS9SgA96cUV6NCSmHoQppJ/p9xKzY4DpcqoOCIBT4WCvVe6PeN5mrjzt8Q5gJWxiq0tVgIF9k8GjLmuiJ2v4Qh8aUmlRwn0T0DYiX/Y7uzX+pRlkpoKrSktlTOT9vmGwZDGDk0h2+H3hZ3YQEucfA6bhHmQKBgQDTbHrbr1WsUR9lrdLaGi/Uphpl3BXLuCnJXav3yIZOktO5V68MfPZXLP7aaNtbK3n0YHD+Uv8wpHBBSWQYjVYlGdvlniA/W1pr73GZJECFfS1BmmFC4GG3E92D5IkmrcPlUuz8XxKrlwHnfW1F0MoDvhp930vS0tS6u+WYTt9dRwKBgCeEQPVkRIACeYf5OFFTQmsDfNv8pgs8fD8xuTPsxHQ/uhLenMVLWBHbIfKb7oG0/CYSQgZitW/vfHpJZ7q7E9HAaqoOW5P1YmbKJ7fhanOQW7LiKqs5B+bJ30j0piendkCpq4kXvaBu2SMuL1NnV5wvRz8K0jhYY6DxYrp8YPAxAoGAZxWTaZ25tgTvvBHeprzx6Ur7wAJpFiU7KpVjjbLV2WW5mbro/LvJGIQ11qQdn/w4wDBtp3MsPblPimWQSnBPOlO7Zd+NdZbDJbFfv/1vACcic8Qj/AmPW0ZyUSaSwKskwqGGLx7j6Yn9QbNkHhBJDz4XiJvhSm/FjS6kKXj7a20CgYEArnEiPmL5g1Ca/qKK9ql8Q6P9gipIfGGpaFu23y0trbcFpVn8Oos/ic0Jgw4Xiz+rqvb6bW2V6lqBJ+9/kdn0i7zlZxKNpYsW2xFgi04OU3d5HkGL16Y1rpqMYYEhjFaOIn7J8P046UYR99yaybgQd18TE6oFrX8OL5uY8M4ge4Y="
;
// 指定《聚富通委托代扣签约同步开户页面服务V1》URL
...
...
@@ -36,8 +62,14 @@ public class HygfIcbcServiceImpl implements IHygfIcbcService {
private
static
final
String
AES_Key
=
"nuCVNzIxOTHZWv8YjEeYQA=="
;
private
static
final
String
CAMS_PUBLIC_KEY
=
"655CE8706E6ED9A30B92E57D8D645ADDE8C541C27C5C5AFD529C610C4C0B04F9074E3B6E933C50A3316AEA60CEF461BE4C7916D2AF51170D3A2631394A7F3939"
;
@Resource
(
type
=
PeasantHouseholdServiceImpl
.
class
)
private
PeasantHouseholdServiceImpl
peasantHouseholdService
;
@Resource
(
type
=
HygfIcbcRecordMapper
.
class
)
private
HygfIcbcRecordMapper
hygfIcbcRecordMapper
;
@Override
public
void
icbcRegisterWalletUrl
(
HttpServletRequest
req
,
HttpServletResponse
resp
)
{
public
void
icbcRegisterWalletUrl
(
HttpServletRequest
req
,
HttpServletResponse
resp
)
{
try
{
UiIcbcClient
client
=
new
UiIcbcClient
(
APP_ID
,
IcbcConstants
.
SIGN_TYPE_RSA2
,
MY_PRIVATE_KEY
,
IcbcConstants
.
CHARSET_UTF8
);
...
...
@@ -76,12 +108,54 @@ public class HygfIcbcServiceImpl implements IHygfIcbcService {
out
.
write
(
client
.
buildPostForm
(
request
));
out
.
write
(
"</body>"
);
out
.
write
(
"</html>"
);
}
catch
(
Exception
e
)
{
log
.
error
(
e
.
getMessage
(),
e
);
}
catch
(
Exception
e
)
{
log
.
error
(
e
.
getMessage
(),
e
);
throw
new
BadRequest
(
"报错了"
);
}
}
public
HygfIcbcRecordDTO
registerWalletCallback
(
HygfIcbcRecordDTO
hygfIcbcRecordDTO
)
{
return
this
.
createWithModel
(
hygfIcbcRecordDTO
);
}
public
HygfIcbcRecordDTO
getObject
(
Long
sequenceNbr
)
{
HygfIcbcRecordDTO
hygfIcbcRecordDTO
=
this
.
queryBySeq
(
sequenceNbr
);
return
hygfIcbcRecordDTO
;
}
public
List
<
HygfIcbcRecordDTO
>
listObject
(
HygfIcbcRecordQueryDTO
hygfIcbcRecordQueryDTO
)
{
List
<
HygfIcbcRecordDTO
>
list
=
hygfIcbcRecordMapper
.
listObject
(
hygfIcbcRecordQueryDTO
);
return
toModels
(
list
);
}
public
Page
<
HygfIcbcRecordDTO
>
queryForPage
(
int
current
,
int
size
,
HygfIcbcRecordQueryDTO
hygfIcbcRecordQueryDTO
)
{
PageHelper
.
startPage
(
current
,
size
);
// List<HygfIcbcRecord> hygfIcbcRecords = this.lambdaQuery().eq(StringUtils.isNotEmpty(hygfIcbcRecordQueryDTO.getOpenAccountState()), HygfIcbcRecord::getOpenAccountState, hygfIcbcRecordQueryDTO.getOpenAccountState()).like(StringUtils.isNotEmpty(hygfIcbcRecordQueryDTO.getCustName()), HygfIcbcRecord::getCustName, hygfIcbcRecordQueryDTO.getCustName()).like(StringUtils.isNotEmpty(hygfIcbcRecordQueryDTO.getIdCard()), HygfIcbcRecord::getIdCard, hygfIcbcRecordQueryDTO.getIdCard()).eq(StringUtils.isNotEmpty(hygfIcbcRecordQueryDTO.getPhone()), HygfIcbcRecord::getPhone, hygfIcbcRecordQueryDTO.getPhone()).list();
List
<
HygfIcbcRecordDTO
>
list
=
hygfIcbcRecordMapper
.
listObject
(
hygfIcbcRecordQueryDTO
);
toModels
(
list
);
PageInfo
<
HygfIcbcRecordDTO
>
pageInfo
=
new
PageInfo
<>(
list
);
Page
<
HygfIcbcRecordDTO
>
page
=
new
Page
<>();
page
.
setSize
(
pageInfo
.
getSize
());
page
.
setCurrent
(
pageInfo
.
getPageNum
());
page
.
setTotal
(
pageInfo
.
getTotal
());
page
.
setRecords
(
list
);
return
page
;
}
private
List
<
HygfIcbcRecordDTO
>
toModels
(
List
<
HygfIcbcRecordDTO
>
hygfIcbcRecords
)
{
if
(
CollectionUtils
.
isEmpty
(
hygfIcbcRecords
))
{
return
Collections
.
emptyList
();
}
List
<
String
>
amosUserIds
=
hygfIcbcRecords
.
stream
().
map
(
HygfIcbcRecordDTO:
:
getAmosUserId
).
collect
(
Collectors
.
toList
());
List
<
PeasantHousehold
>
peasantHouseholds
=
peasantHouseholdService
.
lambdaQuery
().
in
(
PeasantHousehold:
:
getAmosUserId
,
amosUserIds
).
list
();
Map
<
String
,
List
<
PeasantHousehold
>>
PeasantHouseholdMap
=
peasantHouseholds
.
stream
().
collect
(
Collectors
.
groupingBy
(
PeasantHousehold:
:
getAmosUserId
));
// 根据农户 ID 分组
return
hygfIcbcRecords
.
stream
().
map
(
hygfIcbcRecordDTO
->
{
hygfIcbcRecordDTO
.
setOpenAccountStatusName
(
IcbcEnum
.
OpenAccountState
.
getNameByCode
(
hygfIcbcRecordDTO
.
getOpenAccountStatus
(),
IcbcEnum
.
OpenAccountState
.
INITIAL
.
getName
()));
List
<
PeasantHousehold
>
peasantHouseholdList
=
PeasantHouseholdMap
.
get
(
hygfIcbcRecordDTO
.
getAmosUserId
());
hygfIcbcRecordDTO
.
setPeasantHouseholds
(
Bean
.
toModels
(
peasantHouseholdList
,
HygfIcbcRecordDTO
.
IcbcPeasantHousehold
.
class
));
return
hygfIcbcRecordDTO
;
}).
collect
(
Collectors
.
toList
());
}
}
\ No newline at end of file
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