Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
cms
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
iuav
cms
Commits
2583a3cb
提交
2583a3cb
authored
8月 23, 2023
作者:
zhenjie
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
小猪算账-配置修改、回调接口开发、调试
上级
d87eff3b
隐藏空白字符变更
内嵌
并排
正在显示
15 个修改的文件
包含
286 行增加
和
28 行删除
+286
-28
XzWithdrawalVO.java
.../main/java/com/mmc/iuav/user/model/vo/XzWithdrawalVO.java
+1
-0
WithdrawalController.java
...m/mmc/iuav/user/controller/xzsz/WithdrawalController.java
+44
-0
WithdrawalDao.java
...c/main/java/com/mmc/iuav/user/dao/xzsz/WithdrawalDao.java
+11
-0
XzDao.java
...-user/src/main/java/com/mmc/iuav/user/dao/xzsz/XzDao.java
+1
-3
XzWithdrawalApplyDO.java
...in/java/com/mmc/iuav/user/entity/XzWithdrawalApplyDO.java
+73
-0
SettleTypeEnum.java
...src/main/java/com/mmc/iuav/user/enums/SettleTypeEnum.java
+33
-0
UserAccountServiceImpl.java
...om/mmc/iuav/user/service/impl/UserAccountServiceImpl.java
+9
-4
WithdrawalService.java
...ava/com/mmc/iuav/user/service/xzsz/WithdrawalService.java
+12
-0
WithdrawalServiceImpl.java
...mc/iuav/user/service/xzsz/impl/WithdrawalServiceImpl.java
+31
-0
XzServiceImpl.java
...va/com/mmc/iuav/user/service/xzsz/impl/XzServiceImpl.java
+49
-3
WithdrawalResp.java
.../src/main/java/com/mmc/iuav/user/xzsz/WithdrawalResp.java
+11
-11
application-dev.yml
...e/cms-service-user/src/main/resources/application-dev.yml
+1
-1
application-local.yml
...cms-service-user/src/main/resources/application-local.yml
+1
-1
WithdrawalDao.xml
...ice-user/src/main/resources/mapper/xzsz/WithdrawalDao.xml
+8
-0
XzDao.xml
...cms-service-user/src/main/resources/mapper/xzsz/XzDao.xml
+1
-5
没有找到文件。
cms-common/cms-common-model/src/main/java/com/mmc/iuav/user/model/vo/XzWithdrawalVO.java
浏览文件 @
2583a3cb
...
@@ -17,6 +17,7 @@ import java.io.Serializable;
...
@@ -17,6 +17,7 @@ import java.io.Serializable;
@AllArgsConstructor
@AllArgsConstructor
public
class
XzWithdrawalVO
implements
Serializable
{
public
class
XzWithdrawalVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
8758847907824399671L
;
private
static
final
long
serialVersionUID
=
-
8758847907824399671L
;
private
Integer
userAccountId
;
private
String
notifyUrl
;
private
String
notifyUrl
;
private
String
taxFundId
;
private
String
taxFundId
;
private
String
month
;
private
String
month
;
...
...
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/controller/xzsz/WithdrawalController.java
0 → 100644
浏览文件 @
2583a3cb
package
com
.
mmc
.
iuav
.
user
.
controller
.
xzsz
;
import
com.mmc.iuav.response.ResultBody
;
import
com.mmc.iuav.user.controller.BaseController
;
import
com.mmc.iuav.user.model.vo.XzWithdrawalVO
;
import
com.mmc.iuav.user.service.xzsz.WithdrawalService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiResponse
;
import
io.swagger.annotations.ApiResponses
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
/**
* @author: zj
* @Date: 2023/8/23 15:58
*/
@Slf4j
@Api
(
tags
=
"提现相关"
)
@RequestMapping
(
"/withdrawal/"
)
@RestController
public
class
WithdrawalController
extends
BaseController
{
@Autowired
private
WithdrawalService
withdrawalService
;
@ApiOperation
(
value
=
"提现申请"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@PostMapping
(
"apply"
)
public
ResultBody
apply
(
@RequestBody
XzWithdrawalVO
xzWithdrawalVO
)
{
return
withdrawalService
.
apply
(
xzWithdrawalVO
);
}
// 提现查询
// 个人提现列表
// 全部用户提现列表
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/dao/xzsz/WithdrawalDao.java
0 → 100644
浏览文件 @
2583a3cb
package
com
.
mmc
.
iuav
.
user
.
dao
.
xzsz
;
import
org.apache.ibatis.annotations.Mapper
;
/**
* @author: zj
* @Date: 2023/8/23 16:10
*/
@Mapper
public
interface
WithdrawalDao
{
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/dao/xzsz/XzDao.java
浏览文件 @
2583a3cb
...
@@ -9,9 +9,7 @@ import org.apache.ibatis.annotations.Mapper;
...
@@ -9,9 +9,7 @@ import org.apache.ibatis.annotations.Mapper;
*/
*/
@Mapper
@Mapper
public
interface
XzDao
{
public
interface
XzDao
{
void
addAuth
(
XzAuthDO
authDO
);
int
addAuth
(
XzAuthDO
authDO
);
XzAuthDO
getXzAuthByUserAccountId
(
Integer
userAccountId
);
XzAuthDO
getXzAuthByUserAccountId
(
Integer
userAccountId
);
void
updateAuthStatus
(
Integer
userAccountId
);
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/entity/XzWithdrawalApplyDO.java
0 → 100644
浏览文件 @
2583a3cb
package
com
.
mmc
.
iuav
.
user
.
entity
;
import
com.mmc.iuav.user.enums.SettleTypeEnum
;
import
com.mmc.iuav.user.model.vo.XzWithdrawalVO
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.util.Date
;
/**
* @author: zj
* @Date: 2023/8/23 16:17
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public
class
XzWithdrawalApplyDO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
7891653696372539753L
;
private
Integer
id
;
private
Integer
userAccountId
;
private
String
bankName
;
private
String
bankRemo
;
private
String
empNum
;
private
String
empName
;
private
String
empPhone
;
private
String
licenseId
;
private
String
licenseType
;
private
String
month
;
private
String
notifyUrl
;
private
String
outerTradeNo
;
private
String
payAccount
;
private
Double
payAmount
;
private
String
positionName
;
private
String
remarks
;
private
String
settleType
;
private
String
taxFundId
;
private
String
wechatAppId
;
private
String
tradeStatus
;
private
String
tradeTime
;
private
String
frontLogNo
;
private
String
tradeFailCode
;
private
String
tradeResult
;
private
String
submitStatus
;
private
String
errorCode
;
private
String
errorMessage
;
private
BigDecimal
chargeAmount
;
private
Date
createTime
;
public
XzWithdrawalApplyDO
(
XzWithdrawalVO
xzWithdrawalVO
)
{
this
.
userAccountId
=
xzWithdrawalVO
.
getUserAccountId
();
this
.
notifyUrl
=
xzWithdrawalVO
.
getNotifyUrl
();
this
.
taxFundId
=
xzWithdrawalVO
.
getTaxFundId
();
this
.
month
=
xzWithdrawalVO
.
getMonth
();
this
.
outerTradeNo
=
xzWithdrawalVO
.
getOuterTradeNo
();
this
.
empName
=
xzWithdrawalVO
.
getEmpName
();
this
.
empPhone
=
xzWithdrawalVO
.
getEmpPhone
();
this
.
empNum
=
xzWithdrawalVO
.
getEmpNum
();
this
.
licenseId
=
xzWithdrawalVO
.
getLicenseId
();
this
.
licenseType
=
xzWithdrawalVO
.
getLicenseType
();
this
.
settleType
=
xzWithdrawalVO
.
getSettleType
();
this
.
payAmount
=
xzWithdrawalVO
.
getPayAmount
();
this
.
payAccount
=
xzWithdrawalVO
.
getSettleType
().
equals
(
SettleTypeEnum
.
BANK
.
getCode
())
?
xzWithdrawalVO
.
getPayAccount
()
:
xzWithdrawalVO
.
getWechatAppId
();
this
.
bankName
=
xzWithdrawalVO
.
getBankName
();
this
.
positionName
=
xzWithdrawalVO
.
getPositionName
();
this
.
remarks
=
xzWithdrawalVO
.
getRemarks
();
this
.
bankRemo
=
xzWithdrawalVO
.
getBankRemo
();
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/enums/SettleTypeEnum.java
0 → 100644
浏览文件 @
2583a3cb
package
com
.
mmc
.
iuav
.
user
.
enums
;
/**
* @author: zj
* @Date: 2023/8/23 16:50
*/
public
enum
SettleTypeEnum
{
ALIPAY
(
"alipay"
,
"支付宝"
),
WECHAT
(
"wechatpay"
,
"微信"
),
BANK
(
"bankcard"
,
"银行卡"
);
SettleTypeEnum
(
String
code
,
String
status
)
{
this
.
code
=
code
;
this
.
status
=
status
;
}
private
String
code
;
private
String
status
;
public
String
getCode
()
{
return
code
;
}
public
void
setCode
(
String
code
)
{
this
.
code
=
code
;
}
public
String
getStatus
()
{
return
status
;
}
public
void
setStatus
(
String
status
)
{
this
.
status
=
status
;
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/service/impl/UserAccountServiceImpl.java
浏览文件 @
2583a3cb
...
@@ -11,10 +11,8 @@ import com.mmc.iuav.user.dao.RealNameAuthDao;
...
@@ -11,10 +11,8 @@ import com.mmc.iuav.user.dao.RealNameAuthDao;
import
com.mmc.iuav.user.dao.UserServiceDao
;
import
com.mmc.iuav.user.dao.UserServiceDao
;
import
com.mmc.iuav.user.dao.userpoints.UserPointsDao
;
import
com.mmc.iuav.user.dao.userpoints.UserPointsDao
;
import
com.mmc.iuav.user.dao.userpoints.UserPointsDetailsDao
;
import
com.mmc.iuav.user.dao.userpoints.UserPointsDetailsDao
;
import
com.mmc.iuav.user.entity.CooperationTagDO
;
import
com.mmc.iuav.user.dao.xzsz.XzDao
;
import
com.mmc.iuav.user.entity.RealNameAuthDO
;
import
com.mmc.iuav.user.entity.*
;
import
com.mmc.iuav.user.entity.UserAccountDO
;
import
com.mmc.iuav.user.entity.UserRcdDO
;
import
com.mmc.iuav.user.entity.userpoints.UserPointsDO
;
import
com.mmc.iuav.user.entity.userpoints.UserPointsDO
;
import
com.mmc.iuav.user.entity.userpoints.UserPointsDetails
;
import
com.mmc.iuav.user.entity.userpoints.UserPointsDetails
;
import
com.mmc.iuav.user.model.dto.LoginSuccessDTO
;
import
com.mmc.iuav.user.model.dto.LoginSuccessDTO
;
...
@@ -78,6 +76,9 @@ public class UserAccountServiceImpl implements UserAccountService {
...
@@ -78,6 +76,9 @@ public class UserAccountServiceImpl implements UserAccountService {
@Autowired
@Autowired
private
RealNameAuthDao
realNameAuthDao
;
private
RealNameAuthDao
realNameAuthDao
;
@Autowired
private
XzDao
xzDao
;
@Override
@Override
public
UserAccountVO
getUserAccountInfoByUnionId
(
String
unionId
)
{
public
UserAccountVO
getUserAccountInfoByUnionId
(
String
unionId
)
{
...
@@ -116,6 +117,10 @@ public class UserAccountServiceImpl implements UserAccountService {
...
@@ -116,6 +117,10 @@ public class UserAccountServiceImpl implements UserAccountService {
List
<
CooperationTagVO
>
cooperationTags
=
cooperationTagDOS
.
stream
().
map
(
CooperationTagDO:
:
buildCooperationTagVO
).
collect
(
Collectors
.
toList
());
List
<
CooperationTagVO
>
cooperationTags
=
cooperationTagDOS
.
stream
().
map
(
CooperationTagDO:
:
buildCooperationTagVO
).
collect
(
Collectors
.
toList
());
userAccountVO
.
setCooperationTagVOS
(
cooperationTags
);
userAccountVO
.
setCooperationTagVOS
(
cooperationTags
);
}
}
XzAuthDO
xzAuthDO
=
xzDao
.
getXzAuthByUserAccountId
(
userAccountId
);
if
(
xzAuthDO
!=
null
)
{
userAccountVO
.
setXzAuthStatus
(
xzAuthDO
.
getXzAuthStatus
());
}
return
userAccountVO
;
return
userAccountVO
;
}
}
...
...
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/service/xzsz/WithdrawalService.java
0 → 100644
浏览文件 @
2583a3cb
package
com
.
mmc
.
iuav
.
user
.
service
.
xzsz
;
import
com.mmc.iuav.response.ResultBody
;
import
com.mmc.iuav.user.model.vo.XzWithdrawalVO
;
/**
* @author: zj
* @Date: 2023/8/23 16:09
*/
public
interface
WithdrawalService
{
ResultBody
apply
(
XzWithdrawalVO
xzWithdrawalVO
);
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/service/xzsz/impl/WithdrawalServiceImpl.java
0 → 100644
浏览文件 @
2583a3cb
package
com
.
mmc
.
iuav
.
user
.
service
.
xzsz
.
impl
;
import
com.mmc.iuav.response.ResultBody
;
import
com.mmc.iuav.user.dao.xzsz.WithdrawalDao
;
import
com.mmc.iuav.user.model.vo.XzWithdrawalVO
;
import
com.mmc.iuav.user.service.xzsz.WithdrawalService
;
import
com.mmc.iuav.user.service.xzsz.XzService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
/**
* @author: zj
* @Date: 2023/8/23 16:09
*/
@Service
@Slf4j
public
class
WithdrawalServiceImpl
implements
WithdrawalService
{
@Autowired
private
WithdrawalDao
withdrawalDao
;
@Autowired
private
XzService
xzService
;
@Override
public
ResultBody
apply
(
XzWithdrawalVO
xzWithdrawalVO
)
{
// 确保已电签、自己钱包余额足够
// 确保主体金额足够再提现
return
ResultBody
.
success
();
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/service/xzsz/impl/XzServiceImpl.java
浏览文件 @
2583a3cb
package
com
.
mmc
.
iuav
.
user
.
service
.
xzsz
.
impl
;
package
com
.
mmc
.
iuav
.
user
.
service
.
xzsz
.
impl
;
import
cn.hutool.core.codec.Base64
;
import
cn.hutool.core.net.URLDecoder
;
import
cn.hutool.json.JSONObject
;
import
cn.hutool.json.JSONObject
;
import
com.mmc.iuav.http.HttpsRequestUtil
;
import
com.mmc.iuav.http.HttpsRequestUtil
;
import
com.mmc.iuav.response.ResultBody
;
import
com.mmc.iuav.response.ResultBody
;
...
@@ -28,6 +30,10 @@ import org.springframework.beans.factory.annotation.Autowired;
...
@@ -28,6 +30,10 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.crypto.Cipher
;
import
javax.crypto.spec.IvParameterSpec
;
import
javax.crypto.spec.SecretKeySpec
;
import
java.nio.charset.Charset
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -94,6 +100,8 @@ public class XzServiceImpl implements XzService {
...
@@ -94,6 +100,8 @@ public class XzServiceImpl implements XzService {
com
.
alibaba
.
fastjson2
.
JSONObject
jsonObject1
=
com
.
alibaba
.
fastjson2
.
JSONObject
.
parseObject
(
contractScope
);
com
.
alibaba
.
fastjson2
.
JSONObject
jsonObject1
=
com
.
alibaba
.
fastjson2
.
JSONObject
.
parseObject
(
contractScope
);
if
(
jsonObject1
.
get
(
"data"
)
!=
null
)
{
if
(
jsonObject1
.
get
(
"data"
)
!=
null
)
{
// TODO 添加认证结果
// TODO 添加认证结果
String
signedResult
=
this
.
getSignedResult
(
xzAuthVO
);
return
"合同签署完毕"
;
return
"合同签署完毕"
;
}
else
{
}
else
{
Map
<
String
,
Integer
>
userInfo
=
new
HashMap
<
String
,
Integer
>();
Map
<
String
,
Integer
>
userInfo
=
new
HashMap
<
String
,
Integer
>();
...
@@ -122,10 +130,13 @@ public class XzServiceImpl implements XzService {
...
@@ -122,10 +130,13 @@ public class XzServiceImpl implements XzService {
// 认证成功,修改认证状态
// 认证成功,修改认证状态
if
(
notify
.
get
(
"code"
).
toString
().
equals
(
"0"
))
{
if
(
notify
.
get
(
"code"
).
toString
().
equals
(
"0"
))
{
XzAuthDO
authDO
=
notify
.
get
(
"data"
,
XzAuthDO
.
class
);
XzAuthDO
authDO
=
notify
.
get
(
"data"
,
XzAuthDO
.
class
);
Map
<
String
,
Integer
>
map
=
new
HashMap
<
String
,
Integer
>();
map
.
put
(
"userAccountId"
,
1
);
authDO
.
setCustomParams
(
com
.
alibaba
.
fastjson2
.
JSONObject
.
toJSONString
(
map
));
Integer
userAccountId
=
(
Integer
)
com
.
alibaba
.
fastjson2
.
JSONObject
.
parseObject
(
authDO
.
getCustomParams
()).
get
(
"userAccountId"
);
Integer
userAccountId
=
(
Integer
)
com
.
alibaba
.
fastjson2
.
JSONObject
.
parseObject
(
authDO
.
getCustomParams
()).
get
(
"userAccountId"
);
if
(
userAccountId
!=
null
)
{
if
(
userAccountId
!=
null
)
{
XzAuthDO
xzAuthDO
=
xzDao
.
getXzAuthByUserAccountId
(
userAccountId
);
XzAuthDO
xzAuthDO
=
xzDao
.
getXzAuthByUserAccountId
(
userAccountId
);
if
(
xzAuthDO
!
=
null
)
{
if
(
xzAuthDO
=
=
null
)
{
authDO
.
setUserAccountId
(
userAccountId
);
authDO
.
setUserAccountId
(
userAccountId
);
authDO
.
setXzAuthStatus
(
1
);
authDO
.
setXzAuthStatus
(
1
);
xzDao
.
addAuth
(
authDO
);
xzDao
.
addAuth
(
authDO
);
...
@@ -171,7 +182,7 @@ public class XzServiceImpl implements XzService {
...
@@ -171,7 +182,7 @@ public class XzServiceImpl implements XzService {
PiggySingleWithdrawalApiV2Client
v2Client
=
PiggySingleWithdrawalApiV2Client
.
getInstanse
(
userSystemConstant
.
getXzAppSecret
(),
userSystemConstant
.
getXzDomain
());
PiggySingleWithdrawalApiV2Client
v2Client
=
PiggySingleWithdrawalApiV2Client
.
getInstanse
(
userSystemConstant
.
getXzAppSecret
(),
userSystemConstant
.
getXzDomain
());
JSONObject
jsonObject
=
v2Client
.
singleSubmit
(
PiggySingleWithdrawV2Vo
.
builder
()
JSONObject
jsonObject
=
v2Client
.
singleSubmit
(
PiggySingleWithdrawV2Vo
.
builder
()
.
appKey
(
userSystemConstant
.
getXzAppKey
())
.
appKey
(
userSystemConstant
.
getXzAppKey
())
.
bizAESContent
(
PiggyOpenBasicsAesUtil
.
produceAesData
(
userSystemConstant
.
getXzApp
Key
(),
"0000000000000000"
,
PiggySingleWithdrawV2Vo
.
SingleWithdrawV2Vo
.
builder
()
.
bizAESContent
(
PiggyOpenBasicsAesUtil
.
produceAesData
(
userSystemConstant
.
getXzApp
Secret
(),
"0000000000000000"
,
PiggySingleWithdrawV2Vo
.
SingleWithdrawV2Vo
.
builder
()
.
notifyUrl
(
userSystemConstant
.
getWithdrawNotify
())
.
notifyUrl
(
userSystemConstant
.
getWithdrawNotify
())
.
taxFundId
(
userSystemConstant
.
getTaxFundId
())
.
taxFundId
(
userSystemConstant
.
getTaxFundId
())
.
month
(
xzWithdrawalVO
.
getMonth
())
.
month
(
xzWithdrawalVO
.
getMonth
())
...
@@ -188,7 +199,7 @@ public class XzServiceImpl implements XzService {
...
@@ -188,7 +199,7 @@ public class XzServiceImpl implements XzService {
.
bankRemo
(
xzWithdrawalVO
.
getBankRemo
())
.
bankRemo
(
xzWithdrawalVO
.
getBankRemo
())
.
build
()))
.
build
()))
.
build
());
.
build
());
System
.
out
.
println
(
"单笔提现上报: "
+
jsonObject
.
toString
(
));
log
.
info
(
"singleSubmit res:{}"
,
com
.
alibaba
.
fastjson2
.
JSONObject
.
toJSONString
(
jsonObject
));
SingleSubmitResp
singleSubmitResp
=
com
.
alibaba
.
fastjson2
.
JSONObject
.
parseObject
(
jsonObject
.
toString
(),
SingleSubmitResp
.
class
);
SingleSubmitResp
singleSubmitResp
=
com
.
alibaba
.
fastjson2
.
JSONObject
.
parseObject
(
jsonObject
.
toString
(),
SingleSubmitResp
.
class
);
return
singleSubmitResp
;
return
singleSubmitResp
;
}
}
...
@@ -250,7 +261,42 @@ public class XzServiceImpl implements XzService {
...
@@ -250,7 +261,42 @@ public class XzServiceImpl implements XzService {
public
String
xzWithdrawNotify
(
JSONObject
notify
)
{
public
String
xzWithdrawNotify
(
JSONObject
notify
)
{
log
.
info
(
"xzWithdrawNotify获取到的推送结果:{}"
,
notify
.
toString
());
log
.
info
(
"xzWithdrawNotify获取到的推送结果:{}"
,
notify
.
toString
());
// TODO 会受到两次回调
// TODO 会受到两次回调
if
(
notify
.
get
(
"isSuccess"
).
toString
().
equals
(
"T"
))
{
String
s
=
decrypt
(
com
.
alibaba
.
fastjson2
.
JSONObject
.
parseObject
(
notify
.
get
(
"data"
).
toString
()).
get
(
"bizAESContent"
).
toString
());
WithdrawalResp
.
Data
data
=
com
.
alibaba
.
fastjson2
.
JSONObject
.
parseObject
(
s
,
WithdrawalResp
.
Data
.
class
);
// TODO 判断是否已经处理,处理过就不用处理了
if
(
data
.
getNotifyType
().
equals
(
"submitResult"
))
{
// 对上报的数据进行业务校验,例如:是否超限、是否有余额、是否有电签、参数是否准确等等前置校验。如果校验成功,订单进入待发队列等待发放
log
.
info
(
"deal submitResult"
);
data
.
getOuterTradeNo
();
}
else
if
(
data
.
getNotifyType
().
equals
(
"tradeResult"
))
{
// 根据银行\微信\支付宝的反馈,推送订单的发放结果,发放成功\发放失败
log
.
info
(
"deal tradeResult"
);
}
}
else
{
log
.
info
(
"xzWithdrawNotify fail:{}"
,
notify
.
toString
());
}
return
"success"
;
return
"success"
;
}
}
public
String
decrypt
(
String
aesData
)
{
try
{
byte
[]
raw
=
userSystemConstant
.
getXzAppSecret
().
getBytes
(
"ASCII"
);
SecretKeySpec
skeySpec
=
new
SecretKeySpec
(
raw
,
"AES"
);
Cipher
cipher
=
Cipher
.
getInstance
(
"AES/CBC/PKCS5Padding"
);
IvParameterSpec
iv
=
new
IvParameterSpec
(
"0000000000000000"
.
getBytes
());
cipher
.
init
(
Cipher
.
DECRYPT_MODE
,
skeySpec
,
iv
);
Charset
charset
=
Charset
.
forName
(
"UTF-8"
);
String
tempStr
=
URLDecoder
.
decode
(
aesData
,
charset
);
byte
[]
encrypted1
=
Base64
.
decode
(
tempStr
);
byte
[]
original
=
cipher
.
doFinal
(
encrypted1
);
String
jsonParam
=
new
String
(
original
,
"UTF-8"
);
return
jsonParam
;
}
catch
(
Exception
e
)
{
System
.
out
.
println
(
"AES解密异常"
+
e
);
}
return
""
;
}
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/xzsz/WithdrawalResp.java
浏览文件 @
2583a3cb
...
@@ -39,6 +39,17 @@ public class WithdrawalResp {
...
@@ -39,6 +39,17 @@ public class WithdrawalResp {
private
String
outerTradeNo
;
private
String
outerTradeNo
;
private
String
notifyType
;
private
String
notifyType
;
private
String
empName
;
private
String
empName
;
private
String
empPhone
;
private
String
licenseType
;
private
String
licenseId
;
private
String
settleType
;
private
String
payAccount
;
private
String
positionName
;
private
BigDecimal
payAmount
;
private
String
tradeStatus
;
private
String
tradeTime
;
private
String
frontLogNo
;
private
String
tradeResult
;
public
Data
()
{
public
Data
()
{
}
}
...
@@ -155,16 +166,5 @@ public class WithdrawalResp {
...
@@ -155,16 +166,5 @@ public class WithdrawalResp {
this
.
tradeResult
=
tradeResult
;
this
.
tradeResult
=
tradeResult
;
}
}
private
String
empPhone
;
private
String
licenseType
;
private
String
licenseId
;
private
String
settleType
;
private
String
payAccount
;
private
String
positionName
;
private
BigDecimal
payAmount
;
private
String
tradeStatus
;
private
String
tradeTime
;
private
String
frontLogNo
;
private
String
tradeResult
;
}
}
}
}
csm-service/cms-service-user/src/main/resources/application-dev.yml
浏览文件 @
2583a3cb
...
@@ -77,7 +77,7 @@ third-party:
...
@@ -77,7 +77,7 @@ third-party:
position
:
销售推广
position
:
销售推广
taxFundId
:
xxxxxxxxxxxxxxxxxxxxxxx
taxFundId
:
xxxxxxxxxxxxxxxxxxxxxxx
authNotify
:
https://test.iuav.shop/userapp/xz/xzAuthNotify
authNotify
:
https://test.iuav.shop/userapp/xz/xzAuthNotify
withdrawNotify
:
http://test.iuav.shop/userapp/xz/xzWithdrawNotify
withdrawNotify
:
http
s
://test.iuav.shop/userapp/xz/xzWithdrawNotify
iuav
:
iuav
:
pay
:
pay
:
...
...
csm-service/cms-service-user/src/main/resources/application-local.yml
浏览文件 @
2583a3cb
...
@@ -46,7 +46,7 @@ third-party:
...
@@ -46,7 +46,7 @@ third-party:
position
:
销售推广
position
:
销售推广
taxFundId
:
xxxxxxxxxxxxxxxxxxxxxxx
taxFundId
:
xxxxxxxxxxxxxxxxxxxxxxx
authNotify
:
https://test.iuav.shop/userapp/xz/xzAuthNotify
authNotify
:
https://test.iuav.shop/userapp/xz/xzAuthNotify
withdrawNotify
:
http://test.iuav.shop/userapp/xz/xzWithdrawNotify
withdrawNotify
:
http
s
://test.iuav.shop/userapp/xz/xzWithdrawNotify
iuav
:
iuav
:
...
...
csm-service/cms-service-user/src/main/resources/mapper/xzsz/WithdrawalDao.xml
0 → 100644
浏览文件 @
2583a3cb
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.mmc.iuav.user.dao.xzsz.WithdrawalDao"
>
</mapper>
\ No newline at end of file
csm-service/cms-service-user/src/main/resources/mapper/xzsz/XzDao.xml
浏览文件 @
2583a3cb
...
@@ -6,13 +6,9 @@
...
@@ -6,13 +6,9 @@
<insert
id=
"addAuth"
parameterType=
"com.mmc.iuav.user.entity.XzAuthDO"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
<insert
id=
"addAuth"
parameterType=
"com.mmc.iuav.user.entity.XzAuthDO"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
insert into xz_auth(user_account_id, `name`, id_card_no, mobile, bank_account, subsidiary_name, document_id, custom_params, contract_url, xz_auth_status, create_time)
insert into xz_auth(user_account_id, `name`, id_card_no, mobile, bank_account, subsidiary_name, document_id, custom_params, contract_url, xz_auth_status, create_time)
values (#{userAccountId}, #{name}, #{idCardNo}, #{mobile}, #{bankAccount}, #{subsidiary_name}, #{document_id}, #{customParams}, #{contract_url}, NOW())
values (#{userAccountId}, #{name}, #{idCardNo}, #{mobile}, #{bankAccount}, #{subsidiary_name}, #{document_id}, #{customParams}, #{contract_url},
#{xzAuthStatus},
NOW())
</insert>
</insert>
<update
id=
"updateAuthStatus"
>
update user_account set xz_auth_status = 1 where id = #{userAccountId}
</update>
<select
id=
"getXzAuthByUserAccountId"
resultType=
"com.mmc.iuav.user.entity.XzAuthDO"
>
<select
id=
"getXzAuthByUserAccountId"
resultType=
"com.mmc.iuav.user.entity.XzAuthDO"
>
select id, user_account_id, `name`, id_card_no, mobile, bank_account, subsidiary_name, document_id, custom_params, contract_url, create_time
select id, user_account_id, `name`, id_card_no, mobile, bank_account, subsidiary_name, document_id, custom_params, contract_url, create_time
from xz_auth where user_account_id = #{userAccountId} and is_deleted = 0
from xz_auth where user_account_id = #{userAccountId} and is_deleted = 0
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论