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
1a307e43
Commit
1a307e43
authored
Jul 19, 2024
by
yangyang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
对接聚富通
parent
ceda0a63
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
31 additions
and
18 deletions
+31
-18
HygfIcbcRecordMapper.xml
.../src/main/resources/mapper/mysql/HygfIcbcRecordMapper.xml
+2
-3
HygfIcbcController.java
...s/boot/module/hygf/biz/controller/HygfIcbcController.java
+2
-2
HygfIcbcServiceImpl.java
...oot/module/hygf/biz/service/impl/HygfIcbcServiceImpl.java
+25
-11
application-dev.properties
...le-hygf-biz/src/main/resources/application-dev.properties
+2
-2
No files found.
amos-boot-system-jxiop/amos-boot-module-hygf-api/src/main/resources/mapper/mysql/HygfIcbcRecordMapper.xml
View file @
1a307e43
...
@@ -10,7 +10,8 @@
...
@@ -10,7 +10,8 @@
</sql>
</sql>
<select
id=
"listObjectCount"
resultType=
"integer"
>
<select
id=
"listObjectCount"
resultType=
"integer"
>
SELECT count(1)
SELECT
count( DISTINCT ph.amos_user_id )
FROM
FROM
hygf_peasant_household ph LEFT JOIN hygf_icbc_record icbc ON ph.amos_user_id = icbc.amos_user_id
hygf_peasant_household ph LEFT JOIN hygf_icbc_record icbc ON ph.amos_user_id = icbc.amos_user_id
<where>
<where>
...
@@ -33,8 +34,6 @@
...
@@ -33,8 +34,6 @@
</if>
</if>
</if>
</if>
</where>
</where>
GROUP BY
ph.amos_user_id
</select>
</select>
<select
id=
"listObject"
resultType=
"com.yeejoin.amos.boot.module.hygf.api.dto.HygfIcbcRecordDTO"
>
<select
id=
"listObject"
resultType=
"com.yeejoin.amos.boot.module.hygf.api.dto.HygfIcbcRecordDTO"
>
...
...
amos-boot-system-jxiop/amos-boot-module-hygf-biz/src/main/java/com/yeejoin/amos/boot/module/hygf/biz/controller/HygfIcbcController.java
View file @
1a307e43
...
@@ -85,14 +85,14 @@ public class HygfIcbcController extends BaseController {
...
@@ -85,14 +85,14 @@ public class HygfIcbcController extends BaseController {
return
hygfIcbcService
.
registerWalletCallback
(
request
,
response
);
return
hygfIcbcService
.
registerWalletCallback
(
request
,
response
);
}
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
,
needAuth
=
false
)
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@GetMapping
(
value
=
"/{sequenceNbr}"
)
@GetMapping
(
value
=
"/{sequenceNbr}"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"根据sequenceNbr查询注册电子钱包"
,
notes
=
"注册电子钱包"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"根据sequenceNbr查询注册电子钱包"
,
notes
=
"注册电子钱包"
)
public
ResponseModel
<
HygfIcbcRecordDTO
>
getObject
(
@PathVariable
String
sequenceNbr
)
{
public
ResponseModel
<
HygfIcbcRecordDTO
>
getObject
(
@PathVariable
String
sequenceNbr
)
{
return
ResponseHelper
.
buildResponse
(
hygfIcbcService
.
getObject
(
Long
.
valueOf
(
sequenceNbr
)));
return
ResponseHelper
.
buildResponse
(
hygfIcbcService
.
getObject
(
Long
.
valueOf
(
sequenceNbr
)));
}
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
,
needAuth
=
false
)
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@GetMapping
(
value
=
"/list"
)
@GetMapping
(
value
=
"/list"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"聚富通电子钱包列表查询"
,
notes
=
"聚富通电子钱包列表查询"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"聚富通电子钱包列表查询"
,
notes
=
"聚富通电子钱包列表查询"
)
@UserLimits
@UserLimits
...
...
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 @
1a307e43
package
com
.
yeejoin
.
amos
.
boot
.
module
.
hygf
.
biz
.
service
.
impl
;
package
com
.
yeejoin
.
amos
.
boot
.
module
.
hygf
.
biz
.
service
.
impl
;
import
cn.hutool.core.codec.Base64
;
import
cn.hutool.core.codec.Base64
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.icbc.api.DefaultIcbcClient
;
import
com.icbc.api.DefaultIcbcClient
;
import
com.icbc.api.IcbcApiException
;
import
com.icbc.api.IcbcApiException
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
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.IcbcConstants
;
import
com.icbc.api.UiIcbcClient
;
import
com.icbc.api.UiIcbcClient
;
import
com.icbc.api.request.JftApiUserEntrustopenacctQueryRequestV1
;
import
com.icbc.api.request.JftApiUserEntrustopenacctQueryRequestV1
;
...
@@ -22,11 +21,9 @@ import com.yeejoin.amos.boot.module.hygf.api.entity.PeasantHousehold;
...
@@ -22,11 +21,9 @@ import com.yeejoin.amos.boot.module.hygf.api.entity.PeasantHousehold;
import
com.yeejoin.amos.boot.module.hygf.api.mapper.HygfIcbcRecordMapper
;
import
com.yeejoin.amos.boot.module.hygf.api.mapper.HygfIcbcRecordMapper
;
import
com.yeejoin.amos.boot.module.hygf.api.service.IHygfIcbcService
;
import
com.yeejoin.amos.boot.module.hygf.api.service.IHygfIcbcService
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
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.foundation.utils.Bean
;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
import
org.typroject.tyboot.core.restful.exception.instance.BadRequest
;
import
org.typroject.tyboot.core.restful.exception.instance.BadRequest
;
...
@@ -201,11 +198,16 @@ public class HygfIcbcServiceImpl extends BaseService<HygfIcbcRecordDTO, HygfIcbc
...
@@ -201,11 +198,16 @@ public class HygfIcbcServiceImpl extends BaseService<HygfIcbcRecordDTO, HygfIcbc
request
.
setBizContent
(
bizContent
);
request
.
setBizContent
(
bizContent
);
JftApiUserEntrustopenacctQueryResponseV1
response
;
JftApiUserEntrustopenacctQueryResponseV1
response
;
try
{
try
{
log
.
info
(
"户用光伏开户签约同步开户结果查询数据接口, => 入参: {}"
,
JSON
.
toJSONString
(
request
));
response
=
client
.
execute
(
request
,
System
.
currentTimeMillis
()
+
""
);
response
=
client
.
execute
(
request
,
System
.
currentTimeMillis
()
+
""
);
log
.
info
(
"户用光伏开户签约同步开户结果查询数据接口, => 响应: {}"
,
JSON
.
toJSONString
(
response
));
return
response
;
return
response
;
}
catch
(
IcbcApiException
e
)
{
}
catch
(
IcbcApiException
e
)
{
e
.
printStackTrace
();
e
.
printStackTrace
();
log
.
error
(
"聚富通委托代扣签约同步开户结果查询数据接口error: "
,
e
);
log
.
error
(
"户用光伏开户签约同步开户结果查询数据接口 error: "
,
e
);
return
null
;
}
catch
(
Exception
e
)
{
log
.
error
(
"户用光伏开户签约同步开户结果查询数据接口 error: "
,
e
);
return
null
;
return
null
;
}
}
}
}
...
@@ -222,8 +224,9 @@ public class HygfIcbcServiceImpl extends BaseService<HygfIcbcRecordDTO, HygfIcbc
...
@@ -222,8 +224,9 @@ public class HygfIcbcServiceImpl extends BaseService<HygfIcbcRecordDTO, HygfIcbc
*/
*/
public
Object
registerWalletCallback
(
HttpServletRequest
request
,
HttpServletResponse
response
)
throws
Exception
{
public
Object
registerWalletCallback
(
HttpServletRequest
request
,
HttpServletResponse
response
)
throws
Exception
{
log
.
info
(
"户用光伏开户签约异步通知, => 验签"
);
log
.
info
(
"户用光伏开户签约异步通知, => 验签"
);
boolean
verifyFlag
=
verifySignData
(
request
,
callbackUrl
);
String
returnJson
=
null
;
String
returnJson
;
try
{
boolean
verifyFlag
=
verifySignData
(
request
,
"/hygf/icbc/notify"
);
if
(
verifyFlag
)
{
if
(
verifyFlag
)
{
// 验签成功
// 验签成功
String
biz_content
=
request
.
getParameter
(
"biz_content"
);
String
biz_content
=
request
.
getParameter
(
"biz_content"
);
...
@@ -246,7 +249,8 @@ public class HygfIcbcServiceImpl extends BaseService<HygfIcbcRecordDTO, HygfIcbc
...
@@ -246,7 +249,8 @@ public class HygfIcbcServiceImpl extends BaseService<HygfIcbcRecordDTO, HygfIcbc
}
}
hygfIcbcRecord
.
setCustName
(
custName
);
hygfIcbcRecord
.
setCustName
(
custName
);
hygfIcbcRecord
.
setIdCard
(
certNo
);
hygfIcbcRecord
.
setIdCard
(
certNo
);
// hygfIcbcRecord.setPhone();
PeasantHousehold
peasantHousehold
=
peasantHouseholdService
.
lambdaQuery
().
select
(
PeasantHousehold:
:
getTelephone
).
eq
(
PeasantHousehold:
:
getAmosUserId
,
outUserId
).
last
(
"limit 1"
).
one
();
hygfIcbcRecord
.
setPhone
(
peasantHousehold
!=
null
?
peasantHousehold
.
getTelephone
()
:
""
);
hygfIcbcRecord
.
setMediumId
(
newPayAcc
);
hygfIcbcRecord
.
setMediumId
(
newPayAcc
);
hygfIcbcRecord
.
setProjectId
(
projectId
);
hygfIcbcRecord
.
setProjectId
(
projectId
);
hygfIcbcRecord
.
setOpenAccountStatus
(
openAccoutSucceedFlag
);
hygfIcbcRecord
.
setOpenAccountStatus
(
openAccoutSucceedFlag
);
...
@@ -278,6 +282,9 @@ public class HygfIcbcServiceImpl extends BaseService<HygfIcbcRecordDTO, HygfIcbc
...
@@ -278,6 +282,9 @@ public class HygfIcbcServiceImpl extends BaseService<HygfIcbcRecordDTO, HygfIcbc
returnJson
=
sign
(
request
,
copReturnCode
,
copReturnMsg
);
returnJson
=
sign
(
request
,
copReturnCode
,
copReturnMsg
);
log
.
error
(
"通知响应json结果:{}"
,
returnJson
);
log
.
error
(
"通知响应json结果:{}"
,
returnJson
);
}
}
}
catch
(
Exception
e
)
{
log
.
error
(
"户用光伏开户签约异步通知, => error:"
,
e
);
}
return
returnJson
;
return
returnJson
;
}
}
...
@@ -295,7 +302,12 @@ public class HygfIcbcServiceImpl extends BaseService<HygfIcbcRecordDTO, HygfIcbc
...
@@ -295,7 +302,12 @@ public class HygfIcbcServiceImpl extends BaseService<HygfIcbcRecordDTO, HygfIcbc
// PageHelper.startPage(current, size);
// PageHelper.startPage(current, size);
Integer
total
=
hygfIcbcRecordMapper
.
listObjectCount
(
hygfIcbcRecordQueryDTO
);
Integer
total
=
hygfIcbcRecordMapper
.
listObjectCount
(
hygfIcbcRecordQueryDTO
);
hygfIcbcRecordQueryDTO
.
setLimit
(
size
);
hygfIcbcRecordQueryDTO
.
setLimit
(
size
);
if
(
current
==
0
)
{
hygfIcbcRecordQueryDTO
.
setOffset
(
0
);
}
else
{
// int offset = (current - 1) * size > total ? : (current - 1) * size;
hygfIcbcRecordQueryDTO
.
setOffset
((
current
-
1
)
*
size
);
hygfIcbcRecordQueryDTO
.
setOffset
((
current
-
1
)
*
size
);
}
List
<
HygfIcbcRecordDTO
>
list
=
hygfIcbcRecordMapper
.
listObject
(
hygfIcbcRecordQueryDTO
);
List
<
HygfIcbcRecordDTO
>
list
=
hygfIcbcRecordMapper
.
listObject
(
hygfIcbcRecordQueryDTO
);
Page
<
HygfIcbcRecordDTO
>
page
=
new
Page
<>();
Page
<
HygfIcbcRecordDTO
>
page
=
new
Page
<>();
page
.
setSize
(
size
);
page
.
setSize
(
size
);
...
@@ -341,6 +353,7 @@ public class HygfIcbcServiceImpl extends BaseService<HygfIcbcRecordDTO, HygfIcbc
...
@@ -341,6 +353,7 @@ public class HygfIcbcServiceImpl extends BaseService<HygfIcbcRecordDTO, HygfIcbc
String
biz_content
=
request
.
getParameter
(
"biz_content"
);
String
biz_content
=
request
.
getParameter
(
"biz_content"
);
String
sign_type
=
request
.
getParameter
(
"sign_type"
);
String
sign_type
=
request
.
getParameter
(
"sign_type"
);
String
sign
=
request
.
getParameter
(
"sign"
);
String
sign
=
request
.
getParameter
(
"sign"
);
log
.
info
(
"verifySignData入参,from:[[{}]], api:[[{}]], app_id:[[{}]], charset:[[{}]], format:[[{}]], encrypt_type:[[{}]], timestamp:[[{}]], biz_content:[[{}]], sign_type:[[{}]], sign:[[{}]]"
,
from
,
api
,
app_id
,
charset
,
format
,
encrypt_type
);
params
.
put
(
"from"
,
from
);
params
.
put
(
"from"
,
from
);
params
.
put
(
"api"
,
api
);
params
.
put
(
"api"
,
api
);
params
.
put
(
"app_id"
,
app_id
);
params
.
put
(
"app_id"
,
app_id
);
...
@@ -352,9 +365,9 @@ public class HygfIcbcServiceImpl extends BaseService<HygfIcbcRecordDTO, HygfIcbc
...
@@ -352,9 +365,9 @@ public class HygfIcbcServiceImpl extends BaseService<HygfIcbcRecordDTO, HygfIcbc
params
.
put
(
"sign_type"
,
sign_type
);
// 目前上行网关签名暂时仅支持RSA
params
.
put
(
"sign_type"
,
sign_type
);
// 目前上行网关签名暂时仅支持RSA
/**********验证工行上行网关RSA签名**********/
/**********验证工行上行网关RSA签名**********/
String
signStr
=
WebUtils
.
buildOrderedSignStr
(
path
,
params
);
String
signStr
=
WebUtils
.
buildOrderedSignStr
(
path
,
params
);
log
.
error
(
"验签入参,signStr:[[{}]], sign_type:[[{}]], APIGW_PUBLIC_KEY: [[{}]],charset:[[{}]],sign:[[{}]]"
,
signStr
,
sign_type
,
APIGW_PUBLIC_KEY
,
charset
,
sign
);
log
.
info
(
"验签入参,signStr:[[{}]], sign_type:[[{}]], APIGW_PUBLIC_KEY: [[{}]],charset:[[{}]],sign:[[{}]]"
,
signStr
,
sign_type
,
APIGW_PUBLIC_KEY
,
charset
,
sign
);
boolean
flag
=
IcbcSignature
.
verify
(
signStr
,
sign_type
,
APIGW_PUBLIC_KEY
,
charset
,
sign
);
boolean
flag
=
IcbcSignature
.
verify
(
signStr
,
sign_type
,
APIGW_PUBLIC_KEY
,
charset
,
sign
);
log
.
error
(
"验签结果:[[{}]]"
,
flag
);
log
.
info
(
"验签结果:[[{}]]"
,
flag
);
return
flag
;
return
flag
;
}
}
...
@@ -372,7 +385,8 @@ public class HygfIcbcServiceImpl extends BaseService<HygfIcbcRecordDTO, HygfIcbc
...
@@ -372,7 +385,8 @@ public class HygfIcbcServiceImpl extends BaseService<HygfIcbcRecordDTO, HygfIcbc
String
responseBizContent
=
"{\"return_code\":\""
+
copReturnCode
+
"\",\"return_msg\":\""
+
copReturnMsg
+
"\""
+
",\"msg_id\":\""
+
msg_id
+
"\"}"
;
String
responseBizContent
=
"{\"return_code\":\""
+
copReturnCode
+
"\",\"return_msg\":\""
+
copReturnMsg
+
"\""
+
",\"msg_id\":\""
+
msg_id
+
"\"}"
;
String
charset
=
request
.
getParameter
(
"charset"
);
// 调用过程使用的编码格式
String
charset
=
request
.
getParameter
(
"charset"
);
// 调用过程使用的编码格式
/**********商户对消息返回响应进行签名,签名方式需与在API平台登记APP的sign_type保持一致(目前基本都是RSA2)**********/
/**********商户对消息返回响应进行签名,签名方式需与在API平台登记APP的sign_type保持一致(目前基本都是RSA2)**********/
String
signType
=
IcbcConstants
.
SIGN_TYPE_RSA2
;
// String signType = IcbcConstants.SIGN_TYPE_RSA2;
String
signType
=
IcbcConstants
.
SIGN_TYPE_RSA
;
String
signStr
=
"\"response_biz_content\":"
+
responseBizContent
+
","
+
"\"sign_type\":"
+
"\""
+
signType
+
"\""
;
String
signStr
=
"\"response_biz_content\":"
+
responseBizContent
+
","
+
"\"sign_type\":"
+
"\""
+
signType
+
"\""
;
String
signParam
=
IcbcSignature
.
sign
(
signStr
,
signType
,
MY_PRIVATE_KEY
,
charset
);
String
signParam
=
IcbcSignature
.
sign
(
signStr
,
signType
,
MY_PRIVATE_KEY
,
charset
);
String
returnJson
=
"{\"response_biz_content\":"
+
responseBizContent
+
",\"sign_type\":\""
+
signType
+
"\""
+
",\"sign\":\""
+
signParam
+
"\"}"
;
String
returnJson
=
"{\"response_biz_content\":"
+
responseBizContent
+
",\"sign_type\":\""
+
signType
+
"\""
+
",\"sign\":\""
+
signParam
+
"\"}"
;
...
...
amos-boot-system-jxiop/amos-boot-module-hygf-biz/src/main/resources/application-dev.properties
View file @
1a307e43
...
@@ -248,4 +248,4 @@ spring.elasticsearch.rest.password=123456
...
@@ -248,4 +248,4 @@ spring.elasticsearch.rest.password=123456
spring.elasticsearch.rest.read-timeout
=
30000
spring.elasticsearch.rest.read-timeout
=
30000
## 聚富通 配置
## 聚富通 配置
hygf.icbc.callbackUrl
=
http://47.92.234.253:8088/hygf/icbc/notify
hygf.icbc.callbackUrl
=
https://yth.yunqingtech.com/hygf/icbc/notify
\ No newline at end of file
\ 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