Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
cms
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
iuav
cms
Commits
cb5118ae
提交
cb5118ae
authored
9月 06, 2023
作者:
zhenjie
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'develop'
上级
e7e76967
d6374ab7
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
91 个修改的文件
包含
3045 行增加
和
226 行删除
+3045
-226
PayWalletDTO.java
...java/com/mmc/iuav/user/model/dto/wallet/PayWalletDTO.java
+2
-4
WithdrawalApplyDTO.java
...om/mmc/iuav/user/model/dto/wallet/WithdrawalApplyDTO.java
+53
-0
UsableCashPoolingDTO.java
...om/mmc/iuav/user/model/dto/xzsz/UsableCashPoolingDTO.java
+27
-0
FddVerifyInfoDTO.java
...ava/com/mmc/iuav/user/model/fdd/dto/FddVerifyInfoDTO.java
+31
-0
UserFddDTO.java
...main/java/com/mmc/iuav/user/model/fdd/dto/UserFddDTO.java
+31
-0
NECertReq.java
.../main/java/com/mmc/iuav/user/model/fdd/req/NECertReq.java
+20
-0
CompanyVerifyResp.java
...a/com/mmc/iuav/user/model/fdd/resp/CompanyVerifyResp.java
+19
-0
PersonVerifyResp.java
...va/com/mmc/iuav/user/model/fdd/resp/PersonVerifyResp.java
+19
-0
SealDetail.java
...ain/java/com/mmc/iuav/user/model/fdd/seal/SealDetail.java
+29
-0
WalletFlowQO.java
.../java/com/mmc/iuav/user/model/qo/wallet/WalletFlowQO.java
+53
-0
WithdrawalApplyQO.java
.../com/mmc/iuav/user/model/qo/wallet/WithdrawalApplyQO.java
+54
-0
UserAccountVO.java
...c/main/java/com/mmc/iuav/user/model/vo/UserAccountVO.java
+4
-0
WithdrawalInfoVO.java
...ain/java/com/mmc/iuav/user/model/vo/WithdrawalInfoVO.java
+38
-0
WxMsgVO.java
...del/src/main/java/com/mmc/iuav/user/model/vo/WxMsgVO.java
+17
-38
XzAuthVO.java
...el/src/main/java/com/mmc/iuav/user/model/vo/XzAuthVO.java
+34
-0
XzWithdrawalVO.java
.../main/java/com/mmc/iuav/user/model/vo/XzWithdrawalVO.java
+57
-0
ApplyWithdrawalVO.java
.../com/mmc/iuav/user/model/vo/wallet/ApplyWithdrawalVO.java
+38
-0
FlyerWalletFlowVO.java
.../com/mmc/iuav/user/model/vo/wallet/FlyerWalletFlowVO.java
+49
-0
PublisherWalletFlowVO.java
.../mmc/iuav/user/model/vo/wallet/PublisherWalletFlowVO.java
+72
-0
TopUpOrderVO.java
.../java/com/mmc/iuav/user/model/vo/wallet/TopUpOrderVO.java
+29
-0
WalletFlowVO.java
.../java/com/mmc/iuav/user/model/vo/wallet/WalletFlowVO.java
+24
-0
ResultEnum.java
...-util/src/main/java/com/mmc/iuav/response/ResultEnum.java
+8
-1
pom.xml
csm-service/cms-service-user/pom.xml
+25
-0
UserSystemConstant.java
...n/java/com/mmc/iuav/user/constant/UserSystemConstant.java
+24
-0
WxConstant.java
.../src/main/java/com/mmc/iuav/user/constant/WxConstant.java
+1
-2
FddConnectConstant.java
...va/com/mmc/iuav/user/constant/fdd/FddConnectConstant.java
+27
-0
FddConstant.java
...main/java/com/mmc/iuav/user/constant/fdd/FddConstant.java
+46
-0
WxController.java
.../main/java/com/mmc/iuav/user/controller/WxController.java
+45
-0
UserFddAuthController.java
...m/mmc/iuav/user/controller/fdd/UserFddAuthController.java
+81
-0
PayWalletController.java
.../mmc/iuav/user/controller/wallet/PayWalletController.java
+39
-12
WithdrawalController.java
...mmc/iuav/user/controller/wallet/WithdrawalController.java
+69
-0
XzController.java
.../java/com/mmc/iuav/user/controller/xzsz/XzController.java
+130
-0
UserServiceDao.java
...r/src/main/java/com/mmc/iuav/user/dao/UserServiceDao.java
+3
-0
UserFddAuthDao.java
...c/main/java/com/mmc/iuav/user/dao/fdd/UserFddAuthDao.java
+38
-0
PayWalletDao.java
.../main/java/com/mmc/iuav/user/dao/wallet/PayWalletDao.java
+34
-0
WithdrawalDao.java
...c/main/java/com/mmc/iuav/user/dao/xzsz/WithdrawalDao.java
+13
-0
XzDao.java
...-user/src/main/java/com/mmc/iuav/user/dao/xzsz/XzDao.java
+15
-0
UserAccountDO.java
...src/main/java/com/mmc/iuav/user/entity/UserAccountDO.java
+3
-0
XzAuthDO.java
...user/src/main/java/com/mmc/iuav/user/entity/XzAuthDO.java
+32
-0
XzWithdrawalApplyDO.java
...in/java/com/mmc/iuav/user/entity/XzWithdrawalApplyDO.java
+126
-0
FddVerifyInfoDO.java
...in/java/com/mmc/iuav/user/entity/fdd/FddVerifyInfoDO.java
+28
-0
UserFddDO.java
...src/main/java/com/mmc/iuav/user/entity/fdd/UserFddDO.java
+36
-0
PayLogDO.java
...c/main/java/com/mmc/iuav/user/entity/wallet/PayLogDO.java
+17
-98
PayWalletDO.java
...ain/java/com/mmc/iuav/user/entity/wallet/PayWalletDO.java
+10
-3
UserBillingDetailVO.java
.../com/mmc/iuav/user/entity/wallet/UserBillingDetailVO.java
+113
-0
WithdrawalLogDO.java
...java/com/mmc/iuav/user/entity/wallet/WithdrawalLogDO.java
+74
-0
PayMethodEnums.java
...src/main/java/com/mmc/iuav/user/enums/PayMethodEnums.java
+37
-0
RebateMethod.java
...r/src/main/java/com/mmc/iuav/user/enums/RebateMethod.java
+34
-0
SettleTypeEnum.java
...src/main/java/com/mmc/iuav/user/enums/SettleTypeEnum.java
+33
-0
WithdrawalApplyStatus.java
...n/java/com/mmc/iuav/user/enums/WithdrawalApplyStatus.java
+34
-0
WithdrawalMethod.java
...c/main/java/com/mmc/iuav/user/enums/WithdrawalMethod.java
+34
-0
XzEnums.java
...e-user/src/main/java/com/mmc/iuav/user/enums/XzEnums.java
+37
-0
FanoutExchangeConfig.java
.../main/java/com/mmc/iuav/user/mq/FanoutExchangeConfig.java
+2
-1
RabbitmqConstant.java
.../java/com/mmc/iuav/user/mq/constant/RabbitmqConstant.java
+17
-1
MqProducerImpl.java
...c/main/java/com/mmc/iuav/user/mq/impl/MqProducerImpl.java
+1
-1
OrderMqConsumer.java
...n/java/com/mmc/iuav/user/mq/listener/OrderMqConsumer.java
+33
-0
WxService.java
...er/src/main/java/com/mmc/iuav/user/service/WxService.java
+23
-0
FddService.java
...c/main/java/com/mmc/iuav/user/service/fdd/FddService.java
+14
-0
UserFddAuthService.java
...ava/com/mmc/iuav/user/service/fdd/UserFddAuthService.java
+33
-0
FddServiceImpl.java
...va/com/mmc/iuav/user/service/fdd/impl/FddServiceImpl.java
+0
-0
UserFddAuthServiceImpl.java
...mc/iuav/user/service/fdd/impl/UserFddAuthServiceImpl.java
+0
-0
AuthServiceImpl.java
.../java/com/mmc/iuav/user/service/impl/AuthServiceImpl.java
+8
-0
BackUserAccountServiceImpl.java
...mc/iuav/user/service/impl/BackUserAccountServiceImpl.java
+0
-1
RealNameAuthServiceImpl.java
...m/mmc/iuav/user/service/impl/RealNameAuthServiceImpl.java
+1
-0
UserAccountServiceImpl.java
...om/mmc/iuav/user/service/impl/UserAccountServiceImpl.java
+36
-7
WxServiceImpl.java
...in/java/com/mmc/iuav/user/service/impl/WxServiceImpl.java
+97
-4
PayWalletService.java
...va/com/mmc/iuav/user/service/wallet/PayWalletService.java
+11
-0
PayWalletServiceImpl.java
...c/iuav/user/service/wallet/impl/PayWalletServiceImpl.java
+0
-0
WithdrawalService.java
...ava/com/mmc/iuav/user/service/xzsz/WithdrawalService.java
+21
-0
XzService.java
...c/main/java/com/mmc/iuav/user/service/xzsz/XzService.java
+46
-0
WithdrawalServiceImpl.java
...mc/iuav/user/service/xzsz/impl/WithdrawalServiceImpl.java
+0
-0
XzServiceImpl.java
...va/com/mmc/iuav/user/service/xzsz/impl/XzServiceImpl.java
+0
-0
PatternUtil.java
...ser/src/main/java/com/mmc/iuav/user/util/PatternUtil.java
+90
-0
PrivacyUtil.java
...ser/src/main/java/com/mmc/iuav/user/util/PrivacyUtil.java
+165
-0
TDateUtil.java
...-user/src/main/java/com/mmc/iuav/user/util/TDateUtil.java
+0
-0
SingleSubmitResp.java
...rc/main/java/com/mmc/iuav/user/xzsz/SingleSubmitResp.java
+71
-0
WithdrawalResp.java
.../src/main/java/com/mmc/iuav/user/xzsz/WithdrawalResp.java
+178
-0
application-dev.yml
...e/cms-service-user/src/main/resources/application-dev.yml
+22
-0
application-local.yml
...cms-service-user/src/main/resources/application-local.yml
+18
-3
application-prod.yml
.../cms-service-user/src/main/resources/application-prod.yml
+9
-0
fdd-verify-process-1.8.5.jar
...-user/src/main/resources/lib/fdd-verify-process-1.8.5.jar
+0
-0
piggy-settlement-sdk-1.7.0.jar
...ser/src/main/resources/lib/piggy-settlement-sdk-1.7.0.jar
+0
-0
BackUserAccountDao.xml
...ice-user/src/main/resources/mapper/BackUserAccountDao.xml
+16
-6
UserServiceDao.xml
...service-user/src/main/resources/mapper/UserServiceDao.xml
+21
-0
UserSubInfoDao.xml
...service-user/src/main/resources/mapper/UserSubInfoDao.xml
+44
-43
UserFddAuthDao.xml
...ice-user/src/main/resources/mapper/fdd/UserFddAuthDao.xml
+60
-0
PayWalletDao.xml
...ce-user/src/main/resources/mapper/wallet/PayWalletDao.xml
+0
-0
WithdrawalDao.xml
...ice-user/src/main/resources/mapper/xzsz/WithdrawalDao.xml
+26
-0
XzDao.xml
...cms-service-user/src/main/resources/mapper/xzsz/XzDao.xml
+31
-0
not-check.yml
...service/cms-service-user/src/main/resources/not-check.yml
+4
-0
kustomization.yaml
kustomization/overlays/dev/kustomization.yaml
+1
-1
没有找到文件。
cms-common/cms-common-model/src/main/java/com/mmc/iuav/user/model/dto/wallet/PayWalletDTO.java
浏览文件 @
cb5118ae
...
...
@@ -28,22 +28,20 @@ public class PayWalletDTO implements Serializable {
private
String
userName
;
@ApiModelProperty
(
value
=
"云享金余额"
)
private
BigDecimal
cashAmt
;
@ApiModelProperty
(
value
=
"已消耗云享金"
)
private
BigDecimal
cashPaid
;
@ApiModelProperty
(
value
=
"云享金总金额"
)
private
BigDecimal
totalCash
;
@ApiModelProperty
(
value
=
"已冻结云享金"
)
private
BigDecimal
cashFreeze
;
@ApiModelProperty
(
value
=
"佣金余额"
)
private
BigDecimal
salaryAmt
;
@ApiModelProperty
(
value
=
"已消耗佣金"
)
private
BigDecimal
salaryPaid
;
@ApiModelProperty
(
value
=
"已冻结佣金"
)
private
BigDecimal
salaryFreeze
;
@ApiModelProperty
(
value
=
"佣金总额度"
)
private
BigDecimal
totalSalary
;
@ApiModelProperty
(
value
=
"已提现的金额"
)
private
BigDecimal
rebateWdl
;
@ApiModelProperty
(
value
=
"提现冻结金额"
)
private
BigDecimal
wdlFreeze
;
@ApiModelProperty
(
value
=
"冻结总额"
)
private
BigDecimal
totalFreeze
;
@ApiModelProperty
(
value
=
"总金额"
)
...
...
cms-common/cms-common-model/src/main/java/com/mmc/iuav/user/model/dto/wallet/WithdrawalApplyDTO.java
0 → 100644
浏览文件 @
cb5118ae
package
com
.
mmc
.
iuav
.
user
.
model
.
dto
.
wallet
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.util.Date
;
/**
* @author 作者 lw
* @version 创建时间:2023.8.28 11:08:54
* @explain 类说明
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
WithdrawalApplyDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
5782430067900145219L
;
@ApiModelProperty
(
value
=
"id"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"申请人的用户ID"
)
private
Integer
userAccountId
;
@ApiModelProperty
(
value
=
"申请金额"
)
private
BigDecimal
applyAmt
;
@ApiModelProperty
(
value
=
"申请状态: 0平台处理中 1提现成功 2提现失败"
)
private
Integer
applyStatus
;
@ApiModelProperty
(
value
=
"开户人"
)
private
String
empName
;
@ApiModelProperty
(
value
=
"开户银行-支行名称"
)
private
String
bankName
;
@ApiModelProperty
(
value
=
"收款账号"
)
private
String
payAccount
;
@ApiModelProperty
(
value
=
"备注"
)
private
String
remark
;
@ApiModelProperty
(
value
=
"流水编号"
)
private
String
outerTradeNo
;
@ApiModelProperty
(
value
=
"手机号"
)
private
String
phoneNum
;
@ApiModelProperty
(
value
=
"提现方式-微信(wechat)-支付宝(alipay)-银行卡(bank_card)"
,
required
=
true
,
example
=
"wechat"
)
private
String
settleType
;
@ApiModelProperty
(
value
=
"处理信息"
)
private
String
tradeResult
;
@ApiModelProperty
(
value
=
"apply 提现申请 await待发放 handle交易中 success 交易成功 failure 交易失败"
)
private
String
tradeStatus
;
@ApiModelProperty
(
value
=
"创建时间"
)
private
Date
createTime
;
}
cms-common/cms-common-model/src/main/java/com/mmc/iuav/user/model/dto/xzsz/UsableCashPoolingDTO.java
0 → 100644
浏览文件 @
cb5118ae
package
com
.
mmc
.
iuav
.
user
.
model
.
dto
.
xzsz
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.math.BigDecimal
;
/**
* @Author LW
* @date 2023/8/29 14:25
* 概要:
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public
class
UsableCashPoolingDTO
{
@ApiModelProperty
(
value
=
"商户企业名称"
)
private
String
companyName
;
@ApiModelProperty
(
value
=
"可用余额(含税费金额)"
)
private
String
taxFundName
;
@ApiModelProperty
(
value
=
"税源地名称"
)
private
BigDecimal
availableBalance
;
@ApiModelProperty
(
value
=
"交易渠道"
)
private
String
tradesChannel
;
}
cms-common/cms-common-model/src/main/java/com/mmc/iuav/user/model/fdd/dto/FddVerifyInfoDTO.java
0 → 100644
浏览文件 @
cb5118ae
package
com
.
mmc
.
iuav
.
user
.
model
.
fdd
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* @author:zhenjie Date:2022/9/2
* time:14:34
*/
@NoArgsConstructor
@AllArgsConstructor
@Data
@Builder
@ApiModel
(
value
=
"com.mmc.csf.fdd.dto.AppEVerifyInfoDTO"
,
description
=
"小程序用户企业认证DTO"
)
public
class
FddVerifyInfoDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
4194664180348523961L
;
private
Integer
id
;
private
Integer
userFddId
;
private
String
customerId
;
private
String
transactionNo
;
private
String
url
;
private
Integer
deleted
;
private
Date
createTime
;
private
Date
updateTime
;
}
cms-common/cms-common-model/src/main/java/com/mmc/iuav/user/model/fdd/dto/UserFddDTO.java
0 → 100644
浏览文件 @
cb5118ae
package
com
.
mmc
.
iuav
.
user
.
model
.
fdd
.
dto
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* author:zhenjie
* Date:2022/9/1
* time:15:53
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public
class
UserFddDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
4952516407490131779L
;
private
Integer
id
;
private
String
unionId
;
private
String
customerId
;
private
Integer
personVerifyStatus
;
private
Integer
entVerifyStatus
;
private
Integer
accountType
;
private
Date
createTime
;
private
Date
updateTime
;
}
cms-common/cms-common-model/src/main/java/com/mmc/iuav/user/model/fdd/req/NECertReq.java
0 → 100644
浏览文件 @
cb5118ae
package
com
.
mmc
.
iuav
.
user
.
model
.
fdd
.
req
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
/**
* author:zhenjie
* Date:2022/7/27
* time:14:29
*/
@Data
@NoArgsConstructor
public
class
NECertReq
implements
Serializable
{
private
static
final
long
serialVersionUID
=
6174142180495289363L
;
private
String
name
;
private
String
value
;
}
cms-common/cms-common-model/src/main/java/com/mmc/iuav/user/model/fdd/resp/CompanyVerifyResp.java
0 → 100644
浏览文件 @
cb5118ae
package
com
.
mmc
.
iuav
.
user
.
model
.
fdd
.
resp
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
/**
* author:zhenjie
* Date:2022/7/21
* time:18:13
*/
@Data
@NoArgsConstructor
public
class
CompanyVerifyResp
implements
Serializable
{
private
static
final
long
serialVersionUID
=
5835274401261039702L
;
private
String
transactionNo
;
private
String
url
;
}
cms-common/cms-common-model/src/main/java/com/mmc/iuav/user/model/fdd/resp/PersonVerifyResp.java
0 → 100644
浏览文件 @
cb5118ae
package
com
.
mmc
.
iuav
.
user
.
model
.
fdd
.
resp
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
/**
* author:zhenjie
* Date:2022/7/18
* time:16:00
*/
@Data
@NoArgsConstructor
public
class
PersonVerifyResp
implements
Serializable
{
private
static
final
long
serialVersionUID
=
7583599952872411025L
;
private
String
transactionNo
;
private
String
url
;
}
cms-common/cms-common-model/src/main/java/com/mmc/iuav/user/model/fdd/seal/SealDetail.java
0 → 100644
浏览文件 @
cb5118ae
package
com
.
mmc
.
iuav
.
user
.
model
.
fdd
.
seal
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
/**
* @Author LW
* @date 2022/8/3 16:24
* 概要:
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public
class
SealDetail
implements
Serializable
{
@ApiModelProperty
(
value
=
"签章图片Base64"
)
private
String
signatureImg
;
@ApiModelProperty
(
value
=
"签章编号"
)
private
String
signatureId
;
@ApiModelProperty
(
value
=
"签章图片作用范围:0:非默认 1:默认章"
)
private
Integer
signatureScope
;
@ApiModelProperty
(
value
=
"签章来源 0:法大大生成 1:平台上传"
)
private
String
signatureSource
;
@ApiModelProperty
(
value
=
"企业或者个人 1:个人 2:企业"
)
private
String
signatureType
;
}
cms-common/cms-common-model/src/main/java/com/mmc/iuav/user/model/qo/wallet/WalletFlowQO.java
0 → 100644
浏览文件 @
cb5118ae
package
com
.
mmc
.
iuav
.
user
.
model
.
qo
.
wallet
;
import
com.mmc.iuav.group.Page
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
javax.validation.constraints.Min
;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
/**
* @author 作者 lw
* @version 创建时间:2023.8.26 上午11:40:21
* @explain 类说明
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
WalletFlowQO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
2568266056802132237L
;
@ApiModelProperty
(
value
=
"用户id"
,
hidden
=
true
)
private
Integer
userAccountId
;
@ApiModelProperty
(
value
=
"查询年-月"
)
private
String
yearMonth
;
@ApiModelProperty
(
value
=
"开始时间"
)
private
String
startTime
;
@ApiModelProperty
(
value
=
"结束时间"
,
hidden
=
true
)
private
String
endTime
;
@ApiModelProperty
(
value
=
"状态类型"
)
private
Integer
payMethod
;
@ApiModelProperty
(
value
=
"页码"
,
required
=
true
)
@NotNull
(
message
=
"页码不能为空"
,
groups
=
{
Page
.
class
})
@Min
(
value
=
1
,
groups
=
Page
.
class
)
private
Integer
pageNo
;
@ApiModelProperty
(
value
=
"每页显示数"
,
required
=
true
)
@NotNull
(
message
=
"每页显示数不能为空"
,
groups
=
{
Page
.
class
})
@Min
(
value
=
1
,
groups
=
Page
.
class
)
private
Integer
pageSize
;
public
void
buildCurrentPage
()
{
this
.
pageNo
=
(
pageNo
-
1
)
*
pageSize
;
}
}
cms-common/cms-common-model/src/main/java/com/mmc/iuav/user/model/qo/wallet/WithdrawalApplyQO.java
0 → 100644
浏览文件 @
cb5118ae
package
com
.
mmc
.
iuav
.
user
.
model
.
qo
.
wallet
;
/**
* @author 作者 geDuo
* @version 创建时间:2021年10月29日 下午2:25:08
* @explain 类说明
*/
import
com.mmc.iuav.group.Freeze
;
import
com.mmc.iuav.group.Page
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
javax.validation.constraints.Min
;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
WithdrawalApplyQO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
2185498289462506967L
;
@ApiModelProperty
(
value
=
"关键字"
,
example
=
"666"
)
private
String
keyword
;
@ApiModelProperty
(
value
=
"开始时间"
,
example
=
"2023-08-28 00:00:00"
)
private
String
startTime
;
@ApiModelProperty
(
value
=
"结束时间"
,
example
=
"2023-08-28 23:59:59"
)
private
String
endTime
;
@ApiModelProperty
(
value
=
"状态: apply 提现申请 await待发放 handle交易中 success 交易成功 failure 交易失败"
,
example
=
"0"
)
private
String
tradeStatus
;
@ApiModelProperty
(
value
=
"通道标识-微信(wechat)-支付宝(alipay)-银行卡(bank_card)"
,
required
=
true
,
example
=
"wechat"
)
private
String
settleType
;
@ApiModelProperty
(
value
=
"页码"
,
required
=
true
,
example
=
"1"
)
@NotNull
(
message
=
"页码不能为空"
,
groups
=
{
Page
.
class
,
Freeze
.
class
})
@Min
(
value
=
1
,
groups
=
Page
.
class
)
private
Integer
pageNo
;
@ApiModelProperty
(
value
=
"每页显示数"
,
required
=
true
,
example
=
"10"
)
@NotNull
(
message
=
"每页显示数不能为空"
,
groups
=
{
Page
.
class
,
Freeze
.
class
})
@Min
(
value
=
1
,
groups
=
Page
.
class
)
private
Integer
pageSize
;
public
void
buildCurrentPage
()
{
this
.
pageNo
=
(
pageNo
-
1
)
*
pageSize
;
}
}
cms-common/cms-common-model/src/main/java/com/mmc/iuav/user/model/vo/UserAccountVO.java
浏览文件 @
cb5118ae
...
...
@@ -73,4 +73,8 @@ public class UserAccountVO implements Serializable {
private
Integer
auditStatus
;
@ApiModelProperty
(
value
=
"总积分 null表示无积分"
)
private
Integer
totalPoints
;
@ApiModelProperty
(
value
=
"小猪算账电签状态:0否,1是"
)
private
Integer
xzAuthStatus
;
@ApiModelProperty
(
value
=
"是否关注公众号"
)
private
Integer
subStatus
;
}
cms-common/cms-common-model/src/main/java/com/mmc/iuav/user/model/vo/WithdrawalInfoVO.java
0 → 100644
浏览文件 @
cb5118ae
package
com
.
mmc
.
iuav
.
user
.
model
.
vo
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.util.Date
;
/**
* @Author LW
* @date 2023/8/26 15:42
* 概要:
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public
class
WithdrawalInfoVO
implements
Serializable
{
public
final
static
String
AMT
=
"amt"
;
public
final
static
String
APPLY
=
"APPLY"
;
private
static
final
long
serialVersionUID
=
2535626170303302278L
;
@ApiModelProperty
(
value
=
"id"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"流水编号"
)
private
String
payNo
;
@ApiModelProperty
(
value
=
"操作方式"
)
private
Integer
payMethod
;
@ApiModelProperty
(
value
=
"佣金变动金额(正数入账,负数扣除)"
)
private
BigDecimal
salaryAmtPaid
;
@ApiModelProperty
(
value
=
"操作时间"
)
private
Date
payTime
;
@ApiModelProperty
(
value
=
"操作名称"
)
private
String
name
;
}
cms-common/cms-common-model/src/main/java/com/mmc/iuav/user/model/vo/WxMsgVO.java
浏览文件 @
cb5118ae
...
...
@@ -7,11 +7,9 @@ import lombok.Builder;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.util.CollectionUtils
;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
import
java.util.List
;
/**
* @author: zj
...
...
@@ -26,60 +24,41 @@ public class WxMsgVO implements Serializable {
@ApiModelProperty
(
value
=
"用户id-仅适用云享飞客户端"
)
private
Integer
userAccountId
;
@ApiModelProperty
(
value
=
"公众号的openId"
)
private
String
openId
;
private
String
touser
;
@ApiModelProperty
(
value
=
"unionId-全局通用"
)
private
String
unionId
;
@ApiModelProperty
(
value
=
"模板id"
)
@NotNull
(
message
=
"模板id不能为空"
)
private
String
templ
em
teId
;
private
String
templ
a
teId
;
@ApiModelProperty
(
value
=
"网页跳转连接"
)
private
String
url
;
@ApiModelProperty
(
value
=
"小程序APPID"
)
private
String
wxAppltAppId
;
private
String
wxAppl
e
tAppId
;
@ApiModelProperty
(
value
=
"小程序跳转连接"
)
private
String
appletPath
;
@ApiModelProperty
(
value
=
"标题"
)
private
MsgData
title
;
@ApiModelProperty
(
value
=
"消息数组"
)
private
List
<
MsgData
>
data
;
@ApiModelProperty
(
value
=
"消息备注"
)
private
MsgData
remark
;
@ApiModelProperty
(
value
=
"按照接口文档传数据"
)
private
JSONObject
dataObject
;
public
String
buildMsgJson
()
{
JSONObject
obj
=
new
JSONObject
();
obj
.
put
(
"touser"
,
this
.
openId
);
obj
.
put
(
"template_id"
,
this
.
templemteId
);
public
String
buildTemplateMsg
()
{
JSONObject
msg
=
new
JSONObject
();
msg
.
put
(
"touser"
,
this
.
touser
);
msg
.
put
(
"template_id"
,
this
.
templateId
);
// 跳转页面
if
(!
StringUtils
.
isBlank
(
this
.
url
))
{
obj
.
put
(
"url"
,
this
.
url
);
msg
.
put
(
"url"
,
this
.
url
);
}
if
(!
StringUtils
.
isBlank
(
this
.
wxAppltAppId
)
&&
!
StringUtils
.
isBlank
(
this
.
appletPath
))
{
// 跳转小程序页面设置
if
(!
StringUtils
.
isBlank
(
this
.
wxAppl
e
tAppId
)
&&
!
StringUtils
.
isBlank
(
this
.
appletPath
))
{
JSONObject
mini
=
new
JSONObject
();
mini
.
put
(
"appid"
,
this
.
wxAppltAppId
);
mini
.
put
(
"appid"
,
this
.
wxAppl
e
tAppId
);
mini
.
put
(
"pagepath"
,
this
.
appletPath
);
obj
.
put
(
"miniprogram"
,
mini
);
}
JSONObject
jd
=
new
JSONObject
();
jd
.
put
(
"first"
,
this
.
convertMsg
(
title
));
if
(!
CollectionUtils
.
isEmpty
(
this
.
data
))
{
for
(
int
i
=
0
;
i
<
data
.
size
();
i
++)
{
String
key
=
"keyword"
+
(
i
+
1
);
jd
.
put
(
key
,
this
.
convertMsg
(
data
.
get
(
i
)));
}
}
if
(
this
.
remark
!=
null
&&
!
StringUtils
.
isBlank
(
this
.
remark
.
getValue
()))
{
jd
.
put
(
"remark"
,
this
.
convertMsg
(
this
.
remark
));
msg
.
put
(
"miniprogram"
,
mini
);
}
obj
.
put
(
"data"
,
jd
);
return
obj
.
toJSONString
();
}
public
JSONObject
convertMsg
(
MsgData
msg
)
{
JSONObject
jb
=
new
JSONObject
();
jb
.
put
(
"value"
,
msg
.
getValue
());
jb
.
put
(
"color"
,
msg
.
getColor
());
return
jb
;
msg
.
put
(
"data"
,
this
.
dataObject
);
return
msg
.
toString
();
}
}
cms-common/cms-common-model/src/main/java/com/mmc/iuav/user/model/vo/XzAuthVO.java
0 → 100644
浏览文件 @
cb5118ae
package
com
.
mmc
.
iuav
.
user
.
model
.
vo
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
/**
* @author: zj
* @Date: 2023/8/21 13:40
*/
@Builder
@Data
@NoArgsConstructor
@AllArgsConstructor
public
class
XzAuthVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
6009105206194794410L
;
@ApiModelProperty
(
value
=
"用户名称"
)
private
String
username
;
@ApiModelProperty
(
value
=
"身份证号"
)
private
String
idCardNo
;
@ApiModelProperty
(
value
=
"手机号码"
)
private
String
mobile
;
@ApiModelProperty
(
value
=
"附加信息,如需4要素认证必填"
)
private
String
bankAccount
;
@ApiModelProperty
(
value
=
"身份证照片人像面URL,图片必须已经通过OCR识别"
)
private
String
idCardImageFront
;
@ApiModelProperty
(
value
=
"身份证照片国徽面URL,图片必须已经通过OCR识别"
)
private
String
idCardImageBack
;
}
cms-common/cms-common-model/src/main/java/com/mmc/iuav/user/model/vo/XzWithdrawalVO.java
0 → 100644
浏览文件 @
cb5118ae
package
com
.
mmc
.
iuav
.
user
.
model
.
vo
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
/**
* @author: zj
* @Date: 2023/8/21 20:14
*/
@Builder
@Data
@NoArgsConstructor
@AllArgsConstructor
public
class
XzWithdrawalVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
8758847907824399671L
;
@ApiModelProperty
(
value
=
"用户id"
)
private
Integer
userAccountId
;
@ApiModelProperty
(
value
=
"回调地址"
)
private
String
notifyUrl
;
@ApiModelProperty
(
value
=
"税源地id"
)
private
String
taxFundId
;
@ApiModelProperty
(
value
=
"提现月份"
)
private
String
month
;
@ApiModelProperty
(
value
=
"商户业务流水号(商户自行生成,全局唯一)"
)
private
String
outerTradeNo
;
@ApiModelProperty
(
value
=
"自定义员工编号(商户系统中用户唯一编号)"
)
private
String
empNum
;
@ApiModelProperty
(
value
=
"收款人户名"
)
private
String
empName
;
@ApiModelProperty
(
value
=
"收款人手机号"
)
private
String
empPhone
;
@ApiModelProperty
(
value
=
"收款人证件类型:ID_CARD"
)
private
String
licenseType
;
@ApiModelProperty
(
value
=
"收款人证件号码"
)
private
String
licenseId
;
@ApiModelProperty
(
value
=
"交易类型(bankcard:银行卡,alipay:支付宝,wechatpay:微信)"
)
private
String
settleType
;
@ApiModelProperty
(
value
=
"收款账号,交易类型为支付宝时,为支付宝账号;交易类型为微信时,填收款用户的openid"
)
private
String
payAccount
;
@ApiModelProperty
(
value
=
"收款人银行名称 (无需细到支行名称)"
)
private
String
bankName
;
@ApiModelProperty
(
value
=
"服务类型,测试:销售推广;正式:市场推广"
)
private
String
positionName
;
@ApiModelProperty
(
value
=
"交易金额(实际到账金额, 单位元,精确两位小数 )"
)
private
Double
payAmount
;
@ApiModelProperty
(
value
=
"业务备注说明:若需要对每笔提现区分业务来源,可自行定义,后续可在SaaS后台查看,与用户到账说明无关(不能超过10个字)"
)
private
String
remarks
;
@ApiModelProperty
(
value
=
"银行摘要备注(可在收款行交易明细中查看到"
)
private
String
bankRemo
;
@ApiModelProperty
(
value
=
"商户自己的微信APPID,交易类型为微信时,必填"
)
private
String
wechatAppId
;
}
cms-common/cms-common-model/src/main/java/com/mmc/iuav/user/model/vo/wallet/ApplyWithdrawalVO.java
0 → 100644
浏览文件 @
cb5118ae
package
com
.
mmc
.
iuav
.
user
.
model
.
vo
.
wallet
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
/**
* @author: lw
* @Date: 2023/8/25 10:25
*/
@Builder
@Data
@NoArgsConstructor
@AllArgsConstructor
public
class
ApplyWithdrawalVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
8677383830415176214L
;
@ApiModelProperty
(
value
=
"用户id"
)
private
Integer
userAccountId
;
@ApiModelProperty
(
value
=
"户名"
)
private
String
empName
;
@ApiModelProperty
(
value
=
"手机号"
)
private
String
empPhone
;
@ApiModelProperty
(
value
=
"交易类型(bankcard:银行卡,alipay:支付宝,wechatpay:微信)"
,
required
=
true
)
private
String
settleType
;
@ApiModelProperty
(
value
=
"收款账号,交易类型为支付宝时,为支付宝账号;交易类型为微信时,填收款用户的openid"
,
required
=
true
)
private
String
payAccount
;
@ApiModelProperty
(
value
=
"收款人银行名称 (无需细到支行名称)"
)
private
String
bankName
;
@ApiModelProperty
(
value
=
"服务类型,测试:销售推广;正式:市场推广"
,
required
=
true
)
private
String
positionName
;
@ApiModelProperty
(
value
=
"交易金额(实际到账金额, 单位元,精确两位小数 )"
,
required
=
true
)
private
BigDecimal
payAmount
;
}
cms-common/cms-common-model/src/main/java/com/mmc/iuav/user/model/vo/wallet/FlyerWalletFlowVO.java
0 → 100644
浏览文件 @
cb5118ae
package
com
.
mmc
.
iuav
.
user
.
model
.
vo
.
wallet
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.math.BigDecimal
;
import
java.util.Date
;
/**
* @author 23214
* 飞手方钱包记录
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
FlyerWalletFlowVO
{
@ApiModelProperty
(
value
=
"用户ID"
)
private
Integer
userAccountId
;
@ApiModelProperty
(
value
=
"支付方式 100(订单发布) 200(无人接单取消订单)300(有人接单取消订单)400(飞手抢单)500(客服判定飞手无责取消订单)600(飞手有责取消订单)700(正常结算)800(修改订单金额状态)900(飞手未确认修改金额状态)1000(飞手确认修改金额状态)"
)
private
Integer
modeOfPayment
;
@ApiModelProperty
(
value
=
"云享金(需要正负)"
)
private
BigDecimal
cashAmount
;
@ApiModelProperty
(
value
=
"佣金(需要正负)"
)
private
BigDecimal
salaryAmount
;
@ApiModelProperty
(
value
=
"支付时间"
)
private
Date
timeOfPayment
;
@ApiModelProperty
(
value
=
"操作者用户id"
)
private
Integer
operateUserAccountId
;
@ApiModelProperty
(
value
=
"云享金违约金(需要正负)"
)
private
BigDecimal
yxjCashPledge
;
@ApiModelProperty
(
value
=
"佣金违约金(需要正负)"
)
private
BigDecimal
salaryCashPledge
;
@ApiModelProperty
(
value
=
"订单的百分比违约金(这笔钱是给发布方的)"
)
private
BigDecimal
percentagePenaltyOfOrder
;
}
\ No newline at end of file
cms-common/cms-common-model/src/main/java/com/mmc/iuav/user/model/vo/wallet/PublisherWalletFlowVO.java
0 → 100644
浏览文件 @
cb5118ae
package
com
.
mmc
.
iuav
.
user
.
model
.
vo
.
wallet
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.math.BigDecimal
;
import
java.util.Date
;
/**
* @author 23214
* 发布方钱包记录
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
PublisherWalletFlowVO
{
@ApiModelProperty
(
value
=
"用户ID"
)
private
Integer
userAccountId
;
@ApiModelProperty
(
value
=
"支付方式 100(订单发布) 200(无人接单取消订单)300(有人接单取消订单)400(飞手抢单)500(客服判定飞手无责取消订单)"
+
"600(飞手有责取消订单)700(正常结算)800(修改订单金额状态)900(飞手未确认修改金额状态)1000(飞手确认修改金额状态)"
)
private
Integer
modeOfPayment
;
@ApiModelProperty
(
value
=
"云享金(需要正负)注:结算时修改金额如果大于原订单,需要支付的云享金,也传这个字段"
)
private
BigDecimal
cashAmount
;
@ApiModelProperty
(
value
=
"佣金(需要正负)注:结算时修改金额如果大于原订单,需要支付的佣金,也传这个字段"
)
private
BigDecimal
salaryAmount
;
@ApiModelProperty
(
value
=
"支付时间"
)
private
Date
timeOfPayment
;
@ApiModelProperty
(
value
=
"操作者用户id"
)
private
Integer
operateUserAccountId
;
@ApiModelProperty
(
value
=
"云享金违约金(需要正负)"
)
private
BigDecimal
yxjCashPledge
;
@ApiModelProperty
(
value
=
"佣金违约金(需要正负)"
)
private
BigDecimal
salaryCashPledge
;
@ApiModelProperty
(
value
=
"订单的百分比违约金(这笔钱是给飞手的) (需要正负)"
)
private
BigDecimal
percentagePenaltyOfOrder
;
@ApiModelProperty
(
value
=
"加急单云享金金额 (需要正负)"
)
private
BigDecimal
urgentYxjAmount
;
@ApiModelProperty
(
value
=
"加急单佣金金额 (需要正负)"
)
private
BigDecimal
urgentSalaryAmount
;
@ApiModelProperty
(
value
=
"置顶单云享金金额 (需要正负)"
)
private
BigDecimal
topYxjAmount
;
@ApiModelProperty
(
value
=
"置顶单佣金金额 (需要正负)"
)
private
BigDecimal
topSalaryAmount
;
@ApiModelProperty
(
value
=
"飞手应得订单金额 (正数)"
)
private
BigDecimal
flyerSalaryAmount
;
@ApiModelProperty
(
value
=
"修改后金额(注:①飞手未确认时,后面支付的需要退的佣金那部分钱 ②飞手确认时,修改后的金额小于原佣金,需要退多余的佣金那部分钱 ③如果全部是微信支付的则不用传值)"
)
private
BigDecimal
refundSalaryAmount
;
@ApiModelProperty
(
value
=
"修改后金额(注:①飞手未确认时,后面支付的需要退的云享金那部分钱 ②飞手确认时,修改后的金额小于原佣金,需要退多余的云享金那部分钱 ③如果全部是微信支付的则不用传值)"
)
private
BigDecimal
refundCashAmount
;
}
\ No newline at end of file
cms-common/cms-common-model/src/main/java/com/mmc/iuav/user/model/vo/wallet/TopUpOrderVO.java
0 → 100644
浏览文件 @
cb5118ae
package
com
.
mmc
.
iuav
.
user
.
model
.
vo
.
wallet
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @Author LW
* @date 2023/8/23 13:37
* 概要:
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public
class
TopUpOrderVO
{
@ApiModelProperty
(
value
=
"支付用户的openid"
)
private
String
openid
;
@ApiModelProperty
(
value
=
"订单编号"
)
private
String
orderNo
;
@ApiModelProperty
(
value
=
"金额(分)"
)
private
Integer
amount
;
@ApiModelProperty
(
value
=
"订单状态"
)
private
String
tradeState
;
@ApiModelProperty
(
value
=
"交易状态描述"
)
private
String
tradeStateDesc
;
}
cms-common/cms-common-model/src/main/java/com/mmc/iuav/user/model/vo/wallet/WalletFlowVO.java
0 → 100644
浏览文件 @
cb5118ae
package
com
.
mmc
.
iuav
.
user
.
model
.
vo
.
wallet
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
/**
* @Author LW
* @date 2023/8/21 17:59
* 概要:
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public
class
WalletFlowVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
8848411142632397203L
;
private
PublisherWalletFlowVO
publisherWalletFlowVO
;
private
FlyerWalletFlowVO
flyerWalletFlowVO
;
}
cms-common/cms-common-util/src/main/java/com/mmc/iuav/response/ResultEnum.java
浏览文件 @
cb5118ae
...
...
@@ -9,6 +9,8 @@ public enum ResultEnum implements BaseErrorInfoInterface {
BODY_NOT_MATCH
(
"400"
,
"请求的数据格式不符"
),
FAIL
(
"500"
,
"fail"
),
PARAM_ERROR
(
"400"
,
"参数错误"
),
REQUEST_PARAM_ILLEGAL_ERROR
(
"706"
,
"请求参数非法"
),
NOT_FOUND
(
"404"
,
"未找到该资源!"
),
//企业认证
BUSINESS_LICENSE_CHECK_ANALYSIS_ERROR
(
"1000"
,
"营业执照解析失败,请上传有效清晰的执照"
),
...
...
@@ -82,7 +84,12 @@ public enum ResultEnum implements BaseErrorInfoInterface {
WX_NOT_SEND_MSG_PARAM_ERROR
(
"5029"
,
"userId和openId至少一个不为空"
),
APPLET_USER_ACCESS_TOKE_ERROR
(
"5031"
,
"获取accessToken签名校验失败"
),
WX_NOT_REL_ERROR
(
"5028"
,
"获取微信公众号用户信息失败"
),
DELETE_PASS_ERROR
(
"5029"
,
"已通过认证的不可删除"
);
DELETE_PASS_ERROR
(
"5029"
,
"已通过认证的不可删除"
),
// 提现相关
WITHDRAWAL_APPLY_STATUS_ERROR
(
"40001"
,
"审批状态有误"
),
WITHDRAWAL_INFO_NOT_FIND_ERROR
(
"40002"
,
"提现申请单信息不存在"
),
WITHDRAWAL_REPEAT_CHECK_ERROR
(
"40003"
,
"提现申请单已被审批,切勿重复审批。"
);
/**
* 错误码
...
...
csm-service/cms-service-user/pom.xml
浏览文件 @
cb5118ae
...
...
@@ -85,6 +85,28 @@
<version>
2.0.5
</version>
</dependency>
<dependency>
<groupId>
com.mmc.iuav.cms
</groupId>
<artifactId>
piggy-settlement
</artifactId>
<version>
1.0.0
</version>
<scope>
system
</scope>
<systemPath>
${project.basedir}/src/main/resources/lib/piggy-settlement-sdk-1.7.0.jar
</systemPath>
</dependency>
<dependency>
<groupId>
com.mmc.csf.fdd
</groupId>
<artifactId>
self-innovate
</artifactId>
<version>
1.0.0
</version>
<scope>
system
</scope>
<systemPath>
${basedir}/src/main/resources/lib/fdd-verify-process-1.8.5.jar
</systemPath>
</dependency>
<dependency>
<groupId>
cn.hutool
</groupId>
<artifactId>
hutool-all
</artifactId>
<version>
5.3.5
</version>
</dependency>
</dependencies>
<build>
...
...
@@ -92,6 +114,9 @@
<plugin>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-maven-plugin
</artifactId>
<configuration>
<includeSystemScope>
true
</includeSystemScope>
</configuration>
</plugin>
</plugins>
</build>
...
...
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/constant/UserSystemConstant.java
浏览文件 @
cb5118ae
...
...
@@ -37,4 +37,28 @@ public class UserSystemConstant {
@Value
(
"${third-party.qcc.secret-key}"
)
private
String
qccSecretKey
;
@Value
(
"${third-party.xzsz.appKey}"
)
private
String
xzAppKey
;
@Value
(
"${third-party.xzsz.appSecret}"
)
private
String
xzAppSecret
;
@Value
(
"${third-party.xzsz.aes}"
)
private
String
xzAes
;
@Value
(
"${third-party.xzsz.domain}"
)
private
String
xzDomain
;
@Value
(
"${third-party.xzsz.position}"
)
private
String
xzPosition
;
@Value
(
"${third-party.xzsz.taxFundId}"
)
private
String
taxFundId
;
@Value
(
"${third-party.xzsz.authNotify}"
)
private
String
authNotify
;
@Value
(
"${third-party.xzsz.withdrawNotify}"
)
private
String
withdrawNotify
;
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/constant/WxConstant.java
浏览文件 @
cb5118ae
package
com
.
mmc
.
iuav
.
user
.
constant
;
import
org.springframework.stereotype.Component
;
/**
* @author: zj
* @Date: 2023/5/16 16:02
...
...
@@ -20,6 +18,7 @@ public class WxConstant {
public
static
final
String
IUAV_MINI_PROGRAM_ACCESS_TOKEN
=
"IUAV_MINI_PROGRAM_ACCESS_TOKEN"
;
public
static
final
String
IUAV_MINI_PROGRAM_STABLE_ACCESS_TOKEN
=
"IUAV_MINI_PROGRAM_STABLE_ACCESS_TOKEN"
;
public
static
final
String
SHARE_FLY_SUB_ACCESS_TOKEN
=
"SHARE_FLY_SUB_ACCESS_TOKEN"
;
public
static
final
String
SHARE_FLY_SUB_STABLE_ACCESS_TOKEN
=
"SHARE_FLY_SUB_STABLE_ACCESS_TOKEN"
;
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/constant/fdd/FddConnectConstant.java
0 → 100644
浏览文件 @
cb5118ae
package
com
.
mmc
.
iuav
.
user
.
constant
.
fdd
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Component
;
/**
* @author:zhenjie Date:2022/7/16
* time:14:58
*/
@Component
public
class
FddConnectConstant
{
public
static
String
APP_ID
;
public
static
String
APP_KEY
;
public
static
String
VERSION
;
public
static
String
HOST
;
public
static
String
MMC_URL
;
public
FddConnectConstant
(
@Value
(
"${fdd.appid}"
)
String
appid
,
@Value
(
"${fdd.appkey}"
)
String
appkey
,
@Value
(
"${fdd.version}"
)
String
version
,
@Value
(
"${fdd.host}"
)
String
host
,
@Value
(
"${fdd.mmc-url}"
)
String
mmcUrl
)
{
APP_ID
=
appid
;
APP_KEY
=
appkey
;
VERSION
=
version
;
HOST
=
host
;
MMC_URL
=
mmcUrl
;
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/constant/fdd/FddConstant.java
0 → 100644
浏览文件 @
cb5118ae
package
com
.
mmc
.
iuav
.
user
.
constant
.
fdd
;
import
org.springframework.stereotype.Component
;
/**
* author:zhenjie
* Date:2022/7/22
* time:11:07
*/
@Component
public
class
FddConstant
{
public
static
final
String
CODE
=
"code"
;
public
static
final
String
DATA
=
"data"
;
public
static
final
String
SUCCESS
=
"1"
;
public
static
final
String
MSG
=
"msg"
;
public
static
final
String
SIGNATURE_ID
=
"signature_id"
;
public
static
final
String
UPLOAD_FILE
=
"uploadFile/"
;
//企业实名认证异步回调
// public static final String NOTIFY_E_CERT_RES = "fddservlet/fdd/notifyECertRes";
//企业实名认证同步回调
public
static
final
String
RETURN_E_CERT_RES
=
"fddservlet/fdd/returnECertRes"
;
//小程序企业实名认证异步回调
public
static
final
String
NOTIFY_E_CERT_RES
=
"fdd/notifyECertRes"
;
//签署合同异步回调
public
static
final
String
NOTIFY_STAMP
=
"fddservlet/contract/notifyStamp"
;
public
static
final
String
UAV_NOTIFY_STAMP
=
"fddservlet/uav/contract/notifyStamp"
;
public
static
final
String
APP_ID
=
"appId"
;
public
static
final
String
CUSTOMER_ID
=
"customerId"
;
public
static
final
String
STATUS
=
"status"
;
public
static
final
String
SERIAL_NO
=
"serialNo"
;
public
static
final
String
SIGN
=
"sign"
;
public
static
final
String
UID_REGEX
=
"[-|_]"
;
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/controller/WxController.java
浏览文件 @
cb5118ae
package
com
.
mmc
.
iuav
.
user
.
controller
;
import
com.mmc.iuav.response.ResultBody
;
import
com.mmc.iuav.user.model.vo.WxMsgVO
;
import
com.mmc.iuav.user.service.WxService
;
import
com.mmc.iuav.user.util.WxApiUtil
;
import
io.swagger.annotations.*
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -48,6 +50,21 @@ public class WxController extends BaseController {
return
ResultBody
.
success
(
wxService
.
createUrlLink
(
path
,
query
));
}
@ApiOperation
(
value
=
"验证服务器URL是否有效"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
String
.
class
)})
@GetMapping
(
"wxSendMessage"
)
public
void
checkService
(
@RequestParam
String
signature
,
@RequestParam
String
timestamp
,
@RequestParam
String
nonce
,
@RequestParam
String
echostr
,
HttpServletRequest
req
,
HttpServletResponse
resp
)
throws
IOException
{
req
.
setCharacterEncoding
(
"UTF-8"
);
resp
.
setCharacterEncoding
(
"UTF-8"
);
PrintWriter
out
=
resp
.
getWriter
();
System
.
out
.
println
(
"#############验证服务器URL是否有效-START--################"
);
boolean
bs
=
WxApiUtil
.
checkSignature
(
signature
,
timestamp
,
nonce
);
System
.
out
.
println
(
"输出:"
+
bs
+
"---"
+
echostr
);
System
.
out
.
println
(
"#############验证服务器URL是否有效-END--################"
);
out
.
println
(
bs
?
echostr
:
null
);
}
@ApiOperation
(
value
=
"监控微信公众号的事件变化通知"
,
hidden
=
true
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
String
.
class
)})
@PostMapping
(
"wxSendMessage"
)
...
...
@@ -60,10 +77,38 @@ public class WxController extends BaseController {
out
.
println
(
msg
);
}
@ApiOperation
(
value
=
"发送消息"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
String
.
class
)})
@PostMapping
(
"send"
)
public
ResultBody
send
(
@RequestBody
WxMsgVO
ws
)
{
return
wxService
.
sendSubTemplateMsg
(
ws
);
}
@ApiOperation
(
value
=
"生成小程序码"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@GetMapping
(
"getAppletQRCode"
)
public
ResultBody
getAppletQRCode
(
@ApiParam
(
value
=
"小程序路径"
,
example
=
"pages/welcome/index"
)
@RequestParam
String
page
,
@ApiParam
(
value
=
"参数"
,
example
=
"name=123&sex=456"
)
@RequestParam
String
scene
)
{
return
wxService
.
getUnLimitedQRCode
(
page
,
scene
);
}
@ApiOperation
(
value
=
"查询rid信息"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@GetMapping
(
"rid"
)
public
ResultBody
rid
(
@RequestParam
String
rid
)
throws
Exception
{
return
wxService
.
rid
(
rid
);
}
@ApiOperation
(
value
=
"同步微信公众号用户"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@GetMapping
(
"moveSubUserToTest"
)
public
ResultBody
moveSubUserToTest
()
{
return
wxService
.
moveSubUserToTest
();
}
@ApiOperation
(
value
=
"同步微信公众号用户unionId"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@GetMapping
(
"moveSubUserUnionIdToTest"
)
public
ResultBody
moveSubUserUnionIdToTest
()
{
return
wxService
.
moveSubUserUnionIdToTest
();
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/controller/fdd/UserFddAuthController.java
0 → 100644
浏览文件 @
cb5118ae
package
com
.
mmc
.
iuav
.
user
.
controller
.
fdd
;
import
com.mmc.iuav.response.ResultBody
;
import
com.mmc.iuav.user.controller.BaseController
;
import
com.mmc.iuav.user.model.fdd.dto.FddVerifyInfoDTO
;
import
com.mmc.iuav.user.model.fdd.dto.UserFddDTO
;
import
com.mmc.iuav.user.model.fdd.resp.CompanyVerifyResp
;
import
com.mmc.iuav.user.model.fdd.resp.PersonVerifyResp
;
import
com.mmc.iuav.user.service.fdd.UserFddAuthService
;
import
io.swagger.annotations.*
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
springfox.documentation.annotations.ApiIgnore
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.Map
;
/**
* @author:lw Date:2022/9/1
* time:15:44
*/
@Api
(
tags
=
{
"fdd用户认证"
})
@RestController
@RequestMapping
(
"/fdd/"
)
public
class
UserFddAuthController
extends
BaseController
{
@Autowired
private
UserFddAuthService
userFddAuthService
;
@ApiOperation
(
value
=
"注册法大大账号"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
String
.
class
)})
@ApiIgnore
@GetMapping
(
"register"
)
public
String
register
(
@ApiParam
(
value
=
"唯一标识当类型为1的时候传openid 当为2的时候传id"
)
@RequestParam
String
uid
,
@ApiParam
(
value
=
"账号类型 1个人 2企业"
)
@RequestParam
String
accountType
)
{
return
userFddAuthService
.
register
(
uid
,
accountType
);
}
@ApiOperation
(
value
=
"获取个人实名认证地址"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
PersonVerifyResp
.
class
)})
@GetMapping
(
"getPersonVerifyUrl"
)
public
ResultBody
getPersonVerifyUrl
(
HttpServletRequest
request
)
{
return
userFddAuthService
.
getPersonVerifyUrl
(
this
.
getUserLoginInfoFromRedis
(
request
).
getUserAccountId
());
}
@ApiOperation
(
value
=
"获取企业实名认证url"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
CompanyVerifyResp
.
class
)})
@GetMapping
(
"getCompanyVerifyUrl"
)
public
ResultBody
getCompanyVerifyUrl
(
@ApiParam
(
value
=
"端口:0小程序 1后台"
)
@RequestParam
Integer
port
,
HttpServletRequest
request
)
{
return
userFddAuthService
.
getCompanyVerifyUrl
(
port
,
this
.
getUserLoginInfoFromRedis
(
request
));
}
@ApiOperation
(
value
=
"异步处理企业实名认证"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@ApiIgnore
@PostMapping
(
"notifyECertRes"
)
public
ResultBody
notifyECertRes
(
@RequestParam
Map
<
String
,
String
>
map
)
{
return
userFddAuthService
.
notifyECertRes
(
map
);
}
@ApiOperation
(
value
=
"获取(企业/个人)实名认证信息"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
FddVerifyInfoDTO
.
class
)})
@GetMapping
(
"findCompanyCertInfo"
)
public
ResultBody
findCompanyCertInfo
(
@ApiParam
(
value
=
"端口:0小程序 1后台"
)
@RequestParam
Integer
port
,
@ApiParam
(
value
=
"企业:2 个人:1"
)
Integer
flag
,
HttpServletRequest
request
)
{
return
userFddAuthService
.
findCompanyCertInfo
(
port
,
flag
,
this
.
getUserLoginInfoFromRedis
(
request
));
}
@ApiOperation
(
value
=
"获取认证信息"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
UserFddDTO
.
class
)})
@GetMapping
(
"getAppUserFddInfo"
)
public
ResultBody
<
UserFddDTO
>
getAppUserFddInfo
(
@ApiParam
(
value
=
"端口:0小程序 1后台"
)
@RequestParam
Integer
port
,
HttpServletRequest
request
)
{
return
userFddAuthService
.
getAppUserFddInfo
(
port
,
this
.
getUserLoginInfoFromRedis
(
request
));
}
@ApiOperation
(
value
=
"通过uuid下载文件"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@GetMapping
(
"getFileByUuid"
)
public
ResultBody
getFileByUuid
(
@RequestParam
String
uuid
,
@RequestParam
(
required
=
false
)
String
docType
)
{
return
userFddAuthService
.
getFileByUuid
(
uuid
,
docType
);
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/controller/wallet/PayWalletController.java
浏览文件 @
cb5118ae
...
...
@@ -2,14 +2,14 @@ package com.mmc.iuav.user.controller.wallet;
import
com.mmc.iuav.response.ResultBody
;
import
com.mmc.iuav.user.controller.BaseController
;
import
com.mmc.iuav.user.entity.wallet.UserBillingDetailVO
;
import
com.mmc.iuav.user.model.dto.wallet.PayWalletDTO
;
import
com.mmc.iuav.user.model.qo.wallet.WalletFlowQO
;
import
com.mmc.iuav.user.model.vo.wallet.TopUpOrderVO
;
import
com.mmc.iuav.user.model.vo.wallet.WalletFlowVO
;
import
com.mmc.iuav.user.service.wallet.PayWalletService
;
import
io.swagger.annotations.*
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
springfox.documentation.annotations.ApiIgnore
;
import
org.springframework.web.bind.annotation.*
;
import
javax.annotation.Resource
;
import
javax.servlet.http.HttpServletRequest
;
...
...
@@ -30,24 +30,51 @@ public class PayWalletController extends BaseController {
@ApiOperation
(
value
=
"获取当前用户消费(钱包)信息"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
PayWalletDTO
.
class
)})
@GetMapping
(
"getCurrentUserPayWalletInfo"
)
public
ResultBody
getCurrentUserPayWalletInfo
(
HttpServletRequest
request
)
{
public
ResultBody
<
PayWalletDTO
>
getCurrentUserPayWalletInfo
(
HttpServletRequest
request
)
{
return
payWalletService
.
getPayWalletInfo
(
this
.
getUserLoginInfoFromRedis
(
request
).
getUserAccountId
());
}
@ApiOperation
(
value
=
"获取用户消费(钱包)信息"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
PayWalletDTO
.
class
)})
@GetMapping
(
"getPayWalletInfo"
)
public
ResultBody
getPayWalletInfo
(
public
ResultBody
<
PayWalletDTO
>
getPayWalletInfo
(
@ApiParam
(
value
=
"用户userAccountId"
,
required
=
true
)
@RequestParam
Integer
userAccountId
)
{
return
ResultBody
.
success
(
payWalletService
.
getPayWalletInfo
(
userAccountId
));
}
@ApiOperation
(
value
=
"feign-
初始化钱包
"
)
@ApiOperation
(
value
=
"feign-
云享金充值增加金额
"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@ApiIgnore
@GetMapping
(
"feignInitPayWallet"
)
public
ResultBody
feignInitPayWallet
(
@RequestParam
Integer
userAccountId
)
{
return
payWalletService
.
initPayWallet
(
userAccountId
);
@PostMapping
(
"feignTopUpCash"
)
public
ResultBody
feignTopUpCash
(
@RequestBody
TopUpOrderVO
topUpOrderVO
)
{
return
payWalletService
.
feignTopUpCash
(
topUpOrderVO
);
}
@ApiOperation
(
value
=
"feign-钱包流水记录"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@PostMapping
(
"feignWalletFlow"
)
public
ResultBody
feignWalletFlow
(
@RequestBody
WalletFlowVO
walletFlowVO
)
{
return
payWalletService
.
feignWalletFlow
(
walletFlowVO
);
}
@ApiOperation
(
value
=
"feign-钱包流水记录不带token"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@PostMapping
(
"feignWalletFlowNO"
)
public
ResultBody
feignWalletFlowNO
(
@RequestBody
WalletFlowVO
walletFlowVO
)
{
return
payWalletService
.
feignWalletFlow
(
walletFlowVO
);
}
@ApiOperation
(
value
=
"用户账单明细"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
UserBillingDetailVO
.
class
)})
@PostMapping
(
"customerBillingDetail"
)
public
ResultBody
<
UserBillingDetailVO
>
customerBillingDetail
(
HttpServletRequest
request
,
@RequestBody
WalletFlowQO
walletFlowQO
)
{
return
payWalletService
.
customerBillingDetail
(
this
.
getUserLoginInfoFromRedis
(
request
).
getUserAccountId
(),
walletFlowQO
);
}
@ApiOperation
(
value
=
"账单详情"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
UserBillingDetailVO
.
class
)})
@GetMapping
(
"billingDetails"
)
public
ResultBody
<
UserBillingDetailVO
>
billingDetails
(
@ApiParam
(
value
=
"ID"
,
required
=
true
)
@RequestParam
Integer
id
,
@ApiParam
(
value
=
"详情类型"
,
required
=
true
)
@RequestParam
String
detailType
)
{
return
payWalletService
.
billingDetails
(
id
,
detailType
);
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/controller/wallet/WithdrawalController.java
0 → 100644
浏览文件 @
cb5118ae
package
com
.
mmc
.
iuav
.
user
.
controller
.
wallet
;
import
com.mmc.iuav.response.ResultBody
;
import
com.mmc.iuav.user.controller.BaseController
;
import
com.mmc.iuav.user.entity.wallet.UserBillingDetailVO
;
import
com.mmc.iuav.user.model.dto.wallet.WithdrawalApplyDTO
;
import
com.mmc.iuav.user.model.qo.wallet.WalletFlowQO
;
import
com.mmc.iuav.user.model.qo.wallet.WithdrawalApplyQO
;
import
com.mmc.iuav.user.model.vo.wallet.ApplyWithdrawalVO
;
import
com.mmc.iuav.user.service.xzsz.WithdrawalService
;
import
io.swagger.annotations.*
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.http.HttpServletRequest
;
/**
* @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
ApplyWithdrawalVO
applyWithdrawalVO
,
HttpServletRequest
request
)
{
return
withdrawalService
.
apply
(
applyWithdrawalVO
,
this
.
getUserLoginInfoFromRedis
(
request
).
getUserAccountId
());
}
// @ApiOperation(value = "个人提现明细列表-V1")
// @ApiResponses({@ApiResponse(code = 200, message = "OK", response = UserBillingDetailVO.class)})
// @PostMapping("withdrawalList")
// public ResultBody<UserBillingDetailVO> withdrawalList(HttpServletRequest request, @RequestBody WalletFlowQO walletFlowQO) {
// return withdrawalService.withdrawalList(this.getUserLoginInfoFromRedis(request).getUserAccountId(), walletFlowQO);
// }
@ApiOperation
(
value
=
"个人提现明细列表"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
UserBillingDetailVO
.
class
)})
@PostMapping
(
"withdrawalList"
)
public
ResultBody
<
UserBillingDetailVO
>
withdrawalList
(
HttpServletRequest
request
,
@RequestBody
WalletFlowQO
walletFlowQO
)
{
return
withdrawalService
.
withdrawalList
(
this
.
getUserLoginInfoFromRedis
(
request
).
getUserAccountId
(),
walletFlowQO
);
}
@ApiOperation
(
value
=
"PC端-提现管理-分页查询"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
WithdrawalApplyDTO
.
class
)})
@PostMapping
(
"listPageWithdrawalApply"
)
public
ResultBody
<
WithdrawalApplyDTO
>
listPageWithdrawalApply
(
@ApiParam
(
value
=
"提现管理查询QO"
,
required
=
true
)
@RequestBody
WithdrawalApplyQO
param
)
{
return
ResultBody
.
success
(
withdrawalService
.
listPageWithdrawalApply
(
param
));
}
@ApiOperation
(
value
=
"PC端-提现管理-审批"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@GetMapping
(
"approveWithdrawalApply"
)
public
ResultBody
approveWithdrawalApply
(
@ApiParam
(
value
=
"申请单ID"
,
required
=
true
)
@RequestParam
Integer
id
,
@ApiParam
(
value
=
"状态: 0提现申请中 1审批通过 2审批未通过"
,
required
=
true
)
@RequestParam
Integer
applyStatus
,
@ApiParam
(
value
=
"备注"
)
String
remark
,
HttpServletRequest
request
)
{
return
ResultBody
.
success
(
withdrawalService
.
approveWithdrawalApply
(
id
,
applyStatus
,
this
.
getUserLoginInfoFromRedis
(
request
).
getUserAccountId
(),
remark
));
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/controller/xzsz/XzController.java
0 → 100644
浏览文件 @
cb5118ae
package
com
.
mmc
.
iuav
.
user
.
controller
.
xzsz
;
import
cn.hutool.json.JSONObject
;
import
com.mmc.iuav.response.ResultBody
;
import
com.mmc.iuav.user.controller.BaseController
;
import
com.mmc.iuav.user.model.vo.XzAuthVO
;
import
com.mmc.iuav.user.model.vo.XzWithdrawalVO
;
import
com.mmc.iuav.user.service.xzsz.XzService
;
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.*
;
import
javax.servlet.http.HttpServletRequest
;
/**
* @author: zj
* @Date: 2023/8/20 14:01
*/
@Slf4j
@Api
(
tags
=
"小猪算账api"
)
@RequestMapping
(
"/xz/"
)
@RestController
public
class
XzController
extends
BaseController
{
@Autowired
private
XzService
xzService
;
@ApiOperation
(
value
=
"税源地公司信息查询-V2"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@PostMapping
(
"getTaxFundList"
)
public
ResultBody
getTaxFundList
()
{
return
xzService
.
getTaxFundList
();
}
@ApiOperation
(
value
=
"资金池汇总余额查询-V2"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@PostMapping
(
"getCashPooling"
)
public
ResultBody
getCashPooling
()
{
return
xzService
.
getCashPooling
();
}
@ApiOperation
(
value
=
"查询税源地可用资金-V2"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@PostMapping
(
"getUsableCashPooling"
)
public
ResultBody
getUsableCashPooling
()
{
return
ResultBody
.
success
(
xzService
.
getUsableCashPooling
());
}
@ApiOperation
(
value
=
"签约状态查询"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@PostMapping
(
"getContractScope"
)
public
ResultBody
getContractScope
(
@RequestBody
XzAuthVO
xzAuthVO
)
{
return
ResultBody
.
success
(
xzService
.
getContractScope
(
xzAuthVO
));
}
@ApiOperation
(
value
=
"发起合同签署"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@PostMapping
(
"hasKeyByUrl"
)
public
ResultBody
hasKeyByUrl
(
HttpServletRequest
request
)
{
return
ResultBody
.
success
(
xzService
.
hasKeyByUrl
(
this
.
getUserLoginInfoFromRedis
(
request
)));
}
@ApiOperation
(
value
=
"查询签署结果"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@PostMapping
(
"getSignedResult"
)
public
ResultBody
getSignedResult
(
@RequestBody
XzAuthVO
xzAuthVO
)
{
return
ResultBody
.
success
(
com
.
alibaba
.
fastjson2
.
JSONObject
.
toJSONString
(
xzService
.
getSignedResult
(
xzAuthVO
)));
}
@ApiOperation
(
value
=
"在线浏览合同"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@GetMapping
(
"viewContract"
)
public
ResultBody
viewContract
(
@RequestParam
String
documentId
)
{
return
ResultBody
.
success
(
xzService
.
viewContract
(
documentId
));
}
@ApiOperation
(
value
=
"刷脸数据删除"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@GetMapping
(
"clearTestFace"
)
public
ResultBody
clearTestFace
(
@RequestParam
String
name
,
@RequestParam
String
idCard
)
{
return
xzService
.
clearTestFace
(
name
,
idCard
);
}
@ApiOperation
(
value
=
"特殊单笔提现上报"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@PostMapping
(
"singleSubmitLimit"
)
public
ResultBody
singleSubmitLimit
(
@RequestBody
XzWithdrawalVO
xzWithdrawalVO
)
{
return
ResultBody
.
success
(
xzService
.
singleSubmitLimit
(
xzWithdrawalVO
));
}
@ApiOperation
(
value
=
"单笔提现上报"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@PostMapping
(
"singleSubmit"
)
public
ResultBody
singleSubmit
(
@RequestBody
XzWithdrawalVO
xzWithdrawalVO
)
{
return
ResultBody
.
success
(
xzService
.
singleSubmit
(
xzWithdrawalVO
));
}
@ApiOperation
(
value
=
"查询提现结果"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@GetMapping
(
"querySingleTrade"
)
public
ResultBody
querySingleTrade
(
@RequestParam
String
outerTradeNo
)
{
return
ResultBody
.
success
(
xzService
.
querySingleTrade
(
outerTradeNo
));
}
@ApiOperation
(
value
=
"查询单笔交易回单"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@GetMapping
(
"querySingleReceipt"
)
public
ResultBody
querySingleReceipt
(
@RequestParam
String
frontLogNo
)
{
return
xzService
.
querySingleReceipt
(
frontLogNo
);
}
@ApiOperation
(
value
=
"签署结果回调"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@PostMapping
(
"xzAuthNotify"
)
public
String
xzAuthNotify
(
@RequestBody
JSONObject
notify
)
{
return
xzService
.
xzAuthNotify
(
notify
);
}
@ApiOperation
(
value
=
"回调通知(单笔)"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@PostMapping
(
"xzWithdrawNotify"
)
public
String
xzWithdrawNotify
(
@RequestBody
JSONObject
notify
)
{
return
xzService
.
xzWithdrawNotify
(
notify
);
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/dao/UserServiceDao.java
浏览文件 @
cb5118ae
...
...
@@ -165,4 +165,7 @@ public interface UserServiceDao {
* @return
*/
List
<
UserAccountDO
>
getUserAccountByPhoneNum
(
String
phoneNum
);
UserAccountDO
getUserAccountInfoByOpenId
(
String
openid
);
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/dao/fdd/UserFddAuthDao.java
0 → 100644
浏览文件 @
cb5118ae
package
com
.
mmc
.
iuav
.
user
.
dao
.
fdd
;
import
com.mmc.iuav.user.entity.fdd.FddVerifyInfoDO
;
import
com.mmc.iuav.user.entity.fdd.UserFddDO
;
import
org.apache.ibatis.annotations.Mapper
;
/**
* author:zhenjie
* Date:2022/9/1
* time:15:46
*/
@Mapper
public
interface
UserFddAuthDao
{
UserFddDO
checkRegisterFdd
(
String
unionId
,
Integer
flag
);
void
insertAppUserFdd
(
UserFddDO
userFddDO
);
FddVerifyInfoDO
getVerifyUrl
(
String
customerId
);
void
insertVerifyInfo
(
FddVerifyInfoDO
verifyInfoDO1
);
void
updateCompanyCertStatus
(
String
customerId
,
String
status
);
UserFddDO
getAppUserFddInfo
(
String
unionId
);
// void insertAppUserFdd(UserFddDO appUserFddDO1);
//
// AppEVerifyInfoDO getCompanyVerifyUrl(String customerId);
//
// void insertAppEVerifyInfo(AppEVerifyInfoDO appEVerifyInfoDO1);
//
// void updateCompanyCertStatus(String customerId, String status);
//
//
// List<UserFddDO> feignGetAppUserFddInfo(List<String> unionIds);
//
// UserFddDO getAppUserFddInfoByCustomerId(String customerId);
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/dao/wallet/PayWalletDao.java
浏览文件 @
cb5118ae
package
com
.
mmc
.
iuav
.
user
.
dao
.
wallet
;
import
com.mmc.iuav.user.entity.XzWithdrawalApplyDO
;
import
com.mmc.iuav.user.entity.wallet.PayLogDO
;
import
com.mmc.iuav.user.entity.wallet.PayWalletDO
;
import
com.mmc.iuav.user.entity.wallet.WithdrawalLogDO
;
import
com.mmc.iuav.user.model.qo.wallet.WalletFlowQO
;
import
com.mmc.iuav.user.model.qo.wallet.WithdrawalApplyQO
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
/**
* @Author LW
...
...
@@ -13,4 +21,30 @@ public interface PayWalletDao {
PayWalletDO
getPayWalletByUser
(
Integer
userAccountId
);
void
insertPayWalletInfo
(
PayWalletDO
wallet
);
void
insertPayLogDO
(
PayLogDO
payWalletDO
);
int
updatePayWallet
(
PayWalletDO
updatePayWallet
);
List
<
PayLogDO
>
getPayLog
(
WalletFlowQO
param
);
int
countPayLog
(
WalletFlowQO
param
);
PayLogDO
getPayLogById
(
Integer
id
);
void
insertWithdrawalLog
(
WithdrawalLogDO
withdrawalLogDO
);
List
<
XzWithdrawalApplyDO
>
getWithdrawalListByUserAccountId
(
WalletFlowQO
param
);
XzWithdrawalApplyDO
getWithdrawalApplyByIdOrOuterTradeNo
(
@Param
(
value
=
"id"
)
Integer
id
,
@Param
(
value
=
"outerTradeNo"
)
String
outerTradeNo
);
List
<
WithdrawalLogDO
>
listPayWithdrawalLog
(
Integer
id
);
int
countPayWithdrawalLog
(
WalletFlowQO
param
);
int
countWithdrawalApply
(
WithdrawalApplyQO
param
);
List
<
XzWithdrawalApplyDO
>
listPageWithdrawalApply
(
WithdrawalApplyQO
param
);
int
updateWithdrawalApply
(
XzWithdrawalApplyDO
apply
);
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/dao/xzsz/WithdrawalDao.java
0 → 100644
浏览文件 @
cb5118ae
package
com
.
mmc
.
iuav
.
user
.
dao
.
xzsz
;
import
com.mmc.iuav.user.entity.XzWithdrawalApplyDO
;
import
org.apache.ibatis.annotations.Mapper
;
/**
* @author: zj
* @Date: 2023/8/23 16:10
*/
@Mapper
public
interface
WithdrawalDao
{
void
insertWithdrawalApply
(
XzWithdrawalApplyDO
xzWithdrawalApplyDO
);
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/dao/xzsz/XzDao.java
0 → 100644
浏览文件 @
cb5118ae
package
com
.
mmc
.
iuav
.
user
.
dao
.
xzsz
;
import
com.mmc.iuav.user.entity.XzAuthDO
;
import
org.apache.ibatis.annotations.Mapper
;
/**
* @author: zj
* @Date: 2023/8/21 16:24
*/
@Mapper
public
interface
XzDao
{
int
addAuth
(
XzAuthDO
authDO
);
XzAuthDO
getXzAuthByUserAccountId
(
Integer
userAccountId
);
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/entity/UserAccountDO.java
浏览文件 @
cb5118ae
...
...
@@ -44,6 +44,8 @@ public class UserAccountDO implements Serializable {
private
Integer
cityCode
;
private
Integer
districtCode
;
private
Integer
xzAuthStatus
;
private
Integer
companyAuthStatus
;
private
String
companyName
;
private
Integer
leader
;
...
...
@@ -111,6 +113,7 @@ public class UserAccountDO implements Serializable {
.
userRcdVO
(
this
.
userRcdDO
==
null
?
null
:
this
.
userRcdDO
.
buildUserRcdVO
())
.
leader
(
this
.
leader
)
.
realNameAuthStatus
(
this
.
realNameAuthStatus
)
.
xzAuthStatus
(
this
.
xzAuthStatus
)
.
auditStatus
(
this
.
auditStatus
)
.
totalPoints
(
this
.
totalPoints
)
.
build
();
...
...
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/entity/XzAuthDO.java
0 → 100644
浏览文件 @
cb5118ae
package
com
.
mmc
.
iuav
.
user
.
entity
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* @author: zj
* @Date: 2023/8/21 15:50
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public
class
XzAuthDO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
48590767645438311L
;
private
Integer
id
;
private
Integer
userAccountId
;
private
String
name
;
private
String
idCardNo
;
private
String
mobile
;
private
String
bankAccount
;
private
String
subsidiary_name
;
private
String
document_id
;
private
String
customParams
;
private
String
contract_url
;
private
Integer
deleted
;
private
Date
create_time
;
private
Integer
xzAuthStatus
;
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/entity/XzWithdrawalApplyDO.java
0 → 100644
浏览文件 @
cb5118ae
package
com
.
mmc
.
iuav
.
user
.
entity
;
import
com.mmc.iuav.user.entity.wallet.UserBillingDetailVO
;
import
com.mmc.iuav.user.enums.SettleTypeEnum
;
import
com.mmc.iuav.user.enums.XzEnums
;
import
com.mmc.iuav.user.model.dto.wallet.WithdrawalApplyDTO
;
import
com.mmc.iuav.user.model.vo.XzWithdrawalVO
;
import
com.mmc.iuav.user.model.vo.wallet.ApplyWithdrawalVO
;
import
com.mmc.iuav.user.util.PrivacyUtil
;
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
Integer
applyStatus
;
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
Date
payTime
;
private
String
errorMessage
;
private
BigDecimal
chargeAmount
;
private
Date
createTime
;
private
String
remark
;
private
Integer
approveUser
;
private
Date
approveTime
;
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
();
}
public
XzWithdrawalApplyDO
(
ApplyWithdrawalVO
applyWithdrawalVO
)
{
this
.
userAccountId
=
applyWithdrawalVO
.
getUserAccountId
();
this
.
bankName
=
applyWithdrawalVO
.
getBankName
();
this
.
settleType
=
applyWithdrawalVO
.
getSettleType
();
this
.
payAccount
=
applyWithdrawalVO
.
getPayAccount
();
this
.
positionName
=
applyWithdrawalVO
.
getPositionName
();
this
.
payAmount
=
applyWithdrawalVO
.
getPayAmount
().
doubleValue
();
}
public
UserBillingDetailVO
buildUserBillingDetailVO
()
{
payAccount
=
PrivacyUtil
.
encryptBankAcct
(
payAccount
);
String
name
=
"提现"
;
if
(
this
.
tradeStatus
.
equals
(
XzEnums
.
apply
.
getCode
()))
{
name
=
XzEnums
.
apply
.
getName
();
}
else
if
(
this
.
tradeStatus
.
equals
(
XzEnums
.
await
.
getCode
()))
{
name
=
XzEnums
.
await
.
getName
();
}
else
if
(
this
.
tradeStatus
.
equals
(
XzEnums
.
handle
.
getCode
()))
{
name
=
XzEnums
.
handle
.
getName
();
}
else
if
(
this
.
tradeStatus
.
equals
(
XzEnums
.
failure
.
getCode
()))
{
name
=
XzEnums
.
failure
.
getName
();
}
else
if
(
this
.
tradeStatus
.
equals
(
XzEnums
.
success
.
getCode
()))
{
name
=
XzEnums
.
success
.
getName
();
}
else
if
(
this
.
applyStatus
==
2
)
{
name
=
"提现审批未通过"
;
}
BigDecimal
salaryAmtPaid
;
if
(
this
.
tradeStatus
.
equals
(
XzEnums
.
failure
.
getCode
())
||
this
.
applyStatus
==
2
)
{
salaryAmtPaid
=
new
BigDecimal
(
payAmount
);
}
else
{
salaryAmtPaid
=
new
BigDecimal
(
payAmount
).
negate
();
}
return
UserBillingDetailVO
.
builder
().
userAccountId
(
userAccountId
)
.
payNo
(
outerTradeNo
).
payTime
(
payTime
).
account
(
payAccount
).
name
(
name
).
id
(
id
)
.
salaryAmtPaid
(
salaryAmtPaid
).
tradeResult
(
tradeResult
).
build
();
}
public
WithdrawalApplyDTO
buildWithdrawalApplyDTO
()
{
return
WithdrawalApplyDTO
.
builder
().
id
(
id
).
userAccountId
(
userAccountId
).
applyAmt
(
new
BigDecimal
(
payAmount
))
.
applyStatus
(
applyStatus
).
empName
(
empName
).
bankName
(
bankName
).
payAccount
(
payAccount
)
.
remark
(
remark
).
outerTradeNo
(
outerTradeNo
).
tradeStatus
(
tradeStatus
).
phoneNum
(
empPhone
).
settleType
(
settleType
)
.
tradeResult
(
tradeResult
).
createTime
(
createTime
).
build
();
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/entity/fdd/FddVerifyInfoDO.java
0 → 100644
浏览文件 @
cb5118ae
package
com
.
mmc
.
iuav
.
user
.
entity
.
fdd
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* @author:zhenjie Date:2022/7/22
* time:11:33
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
FddVerifyInfoDO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
7766546708723743143L
;
private
Integer
id
;
private
Integer
userFddId
;
private
String
customerId
;
private
String
transactionNo
;
private
String
url
;
private
Integer
deleted
;
private
Date
createTime
;
private
Date
updateTime
;
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/entity/fdd/UserFddDO.java
0 → 100644
浏览文件 @
cb5118ae
package
com
.
mmc
.
iuav
.
user
.
entity
.
fdd
;
import
com.mmc.iuav.user.model.fdd.dto.UserFddDTO
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* author:zhenjie
* Date:2022/9/1
* time:15:51
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public
class
UserFddDO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
6432171445803296265L
;
private
Integer
id
;
private
String
unionId
;
private
String
customerId
;
private
Integer
personVerifyStatus
;
private
Integer
entVerifyStatus
;
private
Integer
accountType
;
private
Date
createTime
;
private
Date
updateTime
;
public
UserFddDTO
buildUserFddDTO
()
{
return
UserFddDTO
.
builder
().
id
(
this
.
id
).
unionId
(
this
.
unionId
).
customerId
(
this
.
customerId
).
personVerifyStatus
(
this
.
personVerifyStatus
)
.
entVerifyStatus
(
this
.
entVerifyStatus
).
accountType
(
this
.
accountType
).
createTime
(
this
.
createTime
).
updateTime
(
this
.
updateTime
).
build
();
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/entity/wallet/PayLogDO.java
浏览文件 @
cb5118ae
package
com
.
mmc
.
iuav
.
user
.
entity
.
wallet
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.util.Date
;
/**
...
...
@@ -9,6 +14,9 @@ import java.util.Date;
* @author makejava
* @since 2023-08-18 16:18:01
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
PayLogDO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
752682324297846133L
;
...
...
@@ -26,17 +34,18 @@ public class PayLogDO implements Serializable {
*/
private
String
payNo
;
/**
* 0手动变更(大于0充值or小于0扣除) 100订单扣除 150订单冻结 200订单完成 250提现扣除
* 支付方式 100(订单发布) 200(无人接单取消订单)300(有人接单取消订单)400(飞手抢单)500(客服判定飞手无责取消订单)
* 600(飞手有责取消订单)700(正常结算)800(修改订单金额状态)900(飞手未确认修改金额状态)1000(飞手确认修改金额状态)1100(充值) 1200(提现)
*/
private
Integer
payMethod
;
/**
* 云享金变动金额(正数充值,负数扣除)
*/
private
Double
cashAmtPaid
;
private
BigDecimal
cashAmtPaid
;
/**
* 佣金变动金额(正数入账,负数扣除)
*/
private
Double
salaryAmtPaid
;
private
BigDecimal
salaryAmtPaid
;
/**
* 支付时间
*/
...
...
@@ -54,102 +63,12 @@ public class PayLogDO implements Serializable {
private
Date
updateTime
;
private
String
name
;
public
Integer
getId
()
{
return
id
;
}
public
void
setId
(
Integer
id
)
{
this
.
id
=
id
;
}
public
Integer
getUserAccountId
()
{
return
userAccountId
;
}
public
void
setUserAccountId
(
Integer
userAccountId
)
{
this
.
userAccountId
=
userAccountId
;
}
public
Integer
getOrderNo
()
{
return
orderNo
;
}
public
void
setOrderNo
(
Integer
orderNo
)
{
this
.
orderNo
=
orderNo
;
}
public
String
getPayNo
()
{
return
payNo
;
}
public
void
setPayNo
(
String
payNo
)
{
this
.
payNo
=
payNo
;
}
public
Integer
getPayMethod
()
{
return
payMethod
;
}
public
void
setPayMethod
(
Integer
payMethod
)
{
this
.
payMethod
=
payMethod
;
}
public
Double
getCashAmtPaid
()
{
return
cashAmtPaid
;
}
public
void
setCashAmtPaid
(
Double
cashAmtPaid
)
{
this
.
cashAmtPaid
=
cashAmtPaid
;
}
public
Double
getSalaryAmtPaid
()
{
return
salaryAmtPaid
;
}
public
void
setSalaryAmtPaid
(
Double
salaryAmtPaid
)
{
this
.
salaryAmtPaid
=
salaryAmtPaid
;
}
public
Date
getPayTime
()
{
return
payTime
;
}
public
void
setPayTime
(
Date
payTime
)
{
this
.
payTime
=
payTime
;
}
public
String
getRemark
()
{
return
remark
;
}
public
void
setRemark
(
String
remark
)
{
this
.
remark
=
remark
;
}
public
Integer
getOperateUser
()
{
return
operateUser
;
}
public
void
setOperateUser
(
Integer
operateUser
)
{
this
.
operateUser
=
operateUser
;
}
public
Date
getCreateTime
()
{
return
createTime
;
}
public
void
setCreateTime
(
Date
createTime
)
{
this
.
createTime
=
createTime
;
}
public
Date
getUpdateTime
()
{
return
updateTime
;
public
UserBillingDetailVO
buildUserBillingDetailVO
()
{
return
UserBillingDetailVO
.
builder
().
userAccountId
(
userAccountId
).
payNo
(
payNo
)
.
payTime
(
payTime
).
payMethod
(
payMethod
).
cashAmtPaid
(
cashAmtPaid
)
.
salaryAmtPaid
(
salaryAmtPaid
).
name
(
name
).
id
(
id
).
build
();
}
public
void
setUpdateTime
(
Date
updateTime
)
{
this
.
updateTime
=
updateTime
;
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/entity/wallet/PayWalletDO.java
浏览文件 @
cb5118ae
...
...
@@ -53,6 +53,13 @@ public class PayWalletDO implements Serializable {
*/
private
BigDecimal
salaryFreeze
;
private
BigDecimal
wxCashFreeze
;
/**
* 提现冻结
*/
private
BigDecimal
wdlFreeze
;
/**
* 提现总额
*/
...
...
@@ -65,9 +72,8 @@ public class PayWalletDO implements Serializable {
public
PayWalletDTO
buildPayWalletDTO
()
{
return
PayWalletDTO
.
builder
().
id
(
this
.
id
).
userAccountId
(
this
.
userAccountId
)
.
cashAmt
(
this
.
cashAmt
).
cashFreeze
(
this
.
cashFreeze
)
.
cashPaid
(
this
.
cashPaid
).
salaryAmt
(
this
.
salaryAmt
)
.
salaryFreeze
(
this
.
salaryFreeze
).
salaryPaid
(
this
.
salaryPaid
)
.
rebateWdl
(
this
.
salaryWdl
).
build
();
.
salaryAmt
(
this
.
salaryAmt
).
salaryFreeze
(
this
.
salaryFreeze
.
add
(
this
.
wdlFreeze
))
.
rebateWdl
(
this
.
salaryWdl
).
wdlFreeze
(
this
.
wdlFreeze
).
build
();
}
public
void
defaultValue
()
{
...
...
@@ -78,6 +84,7 @@ public class PayWalletDO implements Serializable {
this
.
salaryPaid
=
BigDecimal
.
ZERO
;
this
.
salaryFreeze
=
BigDecimal
.
ZERO
;
this
.
salaryWdl
=
BigDecimal
.
ZERO
;
this
.
wxCashFreeze
=
BigDecimal
.
ZERO
;
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/entity/wallet/UserBillingDetailVO.java
0 → 100644
浏览文件 @
cb5118ae
package
com
.
mmc
.
iuav
.
user
.
entity
.
wallet
;
import
com.mmc.iuav.user.enums.RebateMethod
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
/**
* @Author LW
* @date 2023/8/24 14:37
* 概要:
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public
class
UserBillingDetailVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
113701726830167312L
;
@ApiModelProperty
(
value
=
"id"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"用户id"
)
private
Integer
userAccountId
;
@ApiModelProperty
(
value
=
"流水编号"
)
private
String
payNo
;
@ApiModelProperty
(
value
=
"操作方式"
)
private
Integer
payMethod
;
@ApiModelProperty
(
value
=
"云享金变动金额(正数充值,负数扣除)"
)
private
BigDecimal
cashAmtPaid
;
@ApiModelProperty
(
value
=
"佣金变动金额(正数入账,负数扣除)"
)
private
BigDecimal
salaryAmtPaid
;
@ApiModelProperty
(
value
=
"操作时间"
)
private
Date
payTime
;
@ApiModelProperty
(
value
=
"操作名称"
)
private
String
name
;
@ApiModelProperty
(
value
=
"交易说明"
)
private
String
tradeResult
;
@ApiModelProperty
(
value
=
"到账账户"
)
private
String
account
;
@ApiModelProperty
(
value
=
"处理进度"
)
private
List
<
Schedule
>
schedules
;
public
void
buildSchedules
(
List
<
WithdrawalLogDO
>
list
)
{
this
.
schedules
=
new
ArrayList
<
Schedule
>();
for
(
WithdrawalLogDO
d
:
list
)
{
if
(
RebateMethod
.
PENDING
.
getCode
().
equals
(
d
.
getPayMethod
().
toString
()))
{
Schedule
sd
=
new
Schedule
();
sd
.
setTitle
(
RebateMethod
.
PENDING
.
getStatus
());
sd
.
setAcTime
(
d
.
getPayTime
());
sd
.
setActive
(
1
);
this
.
schedules
.
add
(
sd
);
}
else
if
(
RebateMethod
.
SUCCESS
.
getCode
().
equals
(
d
.
getPayMethod
().
toString
()))
{
Schedule
sd
=
new
Schedule
();
sd
.
setTitle
(
RebateMethod
.
SUCCESS
.
getStatus
());
sd
.
setAcTime
(
d
.
getPayTime
());
sd
.
setActive
(
1
);
this
.
schedules
.
add
(
sd
);
}
else
if
(
RebateMethod
.
FAIL
.
getCode
().
equals
(
d
.
getPayMethod
().
toString
()))
{
Schedule
sd
=
new
Schedule
();
sd
.
setTitle
(
RebateMethod
.
FAIL
.
getStatus
());
sd
.
setAcTime
(
d
.
getPayTime
());
sd
.
setActive
(
1
);
this
.
schedules
.
add
(
sd
);
}
}
if
(
this
.
schedules
.
size
()
==
1
)
{
Schedule
sd
=
new
Schedule
();
sd
.
setTitle
(
RebateMethod
.
SUCCESS
.
getStatus
());
sd
.
setActive
(
0
);
this
.
schedules
.
add
(
sd
);
}
}
public
static
class
Schedule
{
private
String
title
;
private
Date
acTime
;
private
Integer
active
;
public
String
getTitle
()
{
return
title
;
}
public
void
setTitle
(
String
title
)
{
this
.
title
=
title
;
}
public
Date
getAcTime
()
{
return
acTime
;
}
public
void
setAcTime
(
Date
acTime
)
{
this
.
acTime
=
acTime
;
}
public
Integer
getActive
()
{
return
active
;
}
public
void
setActive
(
Integer
active
)
{
this
.
active
=
active
;
}
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/entity/wallet/WithdrawalLogDO.java
0 → 100644
浏览文件 @
cb5118ae
package
com
.
mmc
.
iuav
.
user
.
entity
.
wallet
;
import
com.mmc.iuav.user.enums.WithdrawalMethod
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.util.Date
;
/**
* (WithdrawalLogDO)实体类
*
* @author makejava
* @since 2023-08-25 16:57:13
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public
class
WithdrawalLogDO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
757884073681912750L
;
private
Integer
id
;
/**
* 用户id
*/
private
Integer
userAccountId
;
/**
* 支付流水号(T202109031615XXXX)XXXX随机数
*/
private
String
payNo
;
/**
* 150:提现冻结 200:提现成功 250:提现失败
*/
private
Integer
payMethod
;
/**
* 流水时间
*/
private
Date
payTime
;
/**
* 提现申请id
*/
private
Integer
xzWithdrawalApplyId
;
private
String
typeName
;
/**
* 提现冻结
*/
private
BigDecimal
salaryFreeze
;
private
BigDecimal
salaryPaid
;
private
Date
createTime
;
private
Date
updateTime
;
public
UserBillingDetailVO
buildUserBillingDetailVO
()
{
if
(
payMethod
.
equals
(
WithdrawalMethod
.
TXDJ
.
getCode
()))
{
this
.
typeName
=
WithdrawalMethod
.
TXDJ
.
getName
();
}
if
(
payMethod
.
equals
(
WithdrawalMethod
.
TXCG
.
getCode
()))
{
this
.
typeName
=
WithdrawalMethod
.
TXCG
.
getName
();
}
if
(
payMethod
.
equals
(
WithdrawalMethod
.
TXSB
.
getCode
()))
{
this
.
typeName
=
WithdrawalMethod
.
TXSB
.
getName
();
}
return
UserBillingDetailVO
.
builder
().
id
(
id
).
userAccountId
(
userAccountId
)
.
payMethod
(
payMethod
).
payTime
(
payTime
).
salaryAmtPaid
(
salaryFreeze
==
null
?
salaryPaid
:
salaryFreeze
)
.
payNo
(
payNo
).
name
(
typeName
).
build
();
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/enums/PayMethodEnums.java
0 → 100644
浏览文件 @
cb5118ae
package
com
.
mmc
.
iuav
.
user
.
enums
;
/**
* @Author LW
* @date 2023/8/19 18:53
* 概要:
*/
public
enum
PayMethodEnums
{
PUBLISH_ORDER
(
100
,
"订单发布"
),
CANCEL_ORDER_TAKING
(
200
,
"未接单时取消订单"
),
RECEIVED_ORDER_CANCEL
(
300
,
"已接单取消订单"
),
FLYING_ORDER_TAKING
(
400
,
"飞手抢单"
),
CUSTOMER_SERVICE_CANCEL_ORDER
(
500
,
"客服判定飞手无责取消订单"
),
FLYER_CANCEL_ORDER
(
600
,
"飞手有责取消订单"
),
NORMAL_SETTLEMENT
(
700
,
"正常结算"
),
MODIFY_THE_ORDER
(
800
,
"修改订单金额状态(大于)"
),
FLYING_HAND_NOT_CONFIRMED_GT
(
900
,
"飞手未确认修改金额大于原订单状态"
),
FLYING_HAND_CONFIRM_LT
(
1000
,
"飞手确认修改金额小于原订单状态"
),
USER_TOP_UP
(
1100
,
"充值"
);
PayMethodEnums
(
Integer
code
,
String
method
)
{
this
.
code
=
code
;
this
.
method
=
method
;
}
private
Integer
code
;
private
String
method
;
public
Integer
getCode
()
{
return
this
.
code
;
}
public
String
getMethod
()
{
return
this
.
method
;
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/enums/RebateMethod.java
0 → 100644
浏览文件 @
cb5118ae
package
com
.
mmc
.
iuav
.
user
.
enums
;
/**
* @author 作者 lw
* @version 创建时间:2023.8.26 下午5:29:24
* @explain 类说明
*/
public
enum
RebateMethod
{
PENDING
(
"150"
,
"提现申请"
),
SUCCESS
(
"200"
,
"提现到账"
),
FAIL
(
"250"
,
"提现失败"
);
RebateMethod
(
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/enums/SettleTypeEnum.java
0 → 100644
浏览文件 @
cb5118ae
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/enums/WithdrawalApplyStatus.java
0 → 100644
浏览文件 @
cb5118ae
package
com
.
mmc
.
iuav
.
user
.
enums
;
/**
* @author 作者 geDuo
* @version 创建时间:2021年10月29日 下午2:43:14
* @explain 类说明
*/
public
enum
WithdrawalApplyStatus
{
TXSQ
(
0
,
"提现申请中"
),
TXCG
(
1
,
"提现成功"
),
TXSB
(
2
,
"提现失败"
);
private
Integer
code
;
private
String
name
;
WithdrawalApplyStatus
(
Integer
code
,
String
name
)
{
this
.
code
=
code
;
this
.
name
=
name
;
}
public
void
setCode
(
Integer
code
)
{
this
.
code
=
code
;
}
public
Integer
getCode
()
{
return
this
.
code
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
String
getName
()
{
return
this
.
name
;
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/enums/WithdrawalMethod.java
0 → 100644
浏览文件 @
cb5118ae
package
com
.
mmc
.
iuav
.
user
.
enums
;
/**
* @author 作者 LW
* @version 创建时间:2023.8.26 10:56
* @explain 类说明
*/
public
enum
WithdrawalMethod
{
TXDJ
(
150
,
"提现冻结"
),
TXCG
(
200
,
"提现成功"
),
TXSB
(
250
,
"提现失败"
);
private
Integer
code
;
private
String
name
;
WithdrawalMethod
(
Integer
code
,
String
name
)
{
this
.
code
=
code
;
this
.
name
=
name
;
}
public
void
setCode
(
Integer
code
)
{
this
.
code
=
code
;
}
public
Integer
getCode
()
{
return
this
.
code
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
String
getName
()
{
return
this
.
name
;
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/enums/XzEnums.java
0 → 100644
浏览文件 @
cb5118ae
package
com
.
mmc
.
iuav
.
user
.
enums
;
/**
* @author 作者 LW
* @version 创建时间:2023.8.26 10:56
* @explain 类说明
*/
public
enum
XzEnums
{
submit_result
(
"submitResult"
,
"上报结果通知"
),
trade_result
(
"tradeResult"
,
"交易结果通知"
),
await
(
"await"
,
"待发放"
),
handle
(
"handle"
,
"交易中"
),
success
(
"success"
,
"提现成功"
),
failure
(
"failure"
,
"提现失败"
),
is_success
(
"isSuccess"
,
"交易是否成功"
),
T
(
"T"
,
"回调code"
),
F
(
"F"
,
"回调code"
),
apply
(
"apply"
,
"提现申请"
),
cancel
(
"cancel"
,
"撤销"
),
pay
(
"pay"
,
"支付"
),
refund
(
"refund"
,
"退款"
);
private
String
code
;
private
String
name
;
XzEnums
(
String
code
,
String
name
)
{
this
.
code
=
code
;
this
.
name
=
name
;
}
public
void
setCode
(
String
code
)
{
this
.
code
=
code
;
}
public
String
getCode
()
{
return
this
.
code
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
String
getName
()
{
return
this
.
name
;
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/mq/FanoutExchangeConfig.java
浏览文件 @
cb5118ae
package
com
.
mmc
.
iuav
.
user
.
mq
;
import
com.mmc.iuav.user.mq.constant.RabbitmqConstant
;
import
org.springframework.amqp.core.Binding
;
import
org.springframework.amqp.core.BindingBuilder
;
import
org.springframework.amqp.core.FanoutExchange
;
...
...
@@ -14,7 +15,7 @@ import org.springframework.context.annotation.Configuration;
@Configuration
public
class
FanoutExchangeConfig
{
@Bean
public
FanoutExchange
fanoutExchange
(){
public
FanoutExchange
fanoutExchange
()
{
return
new
FanoutExchange
(
RabbitmqConstant
.
USER_INFO_UPDATE_FANOUT_EXCHANGE
);
}
...
...
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/mq/RabbitmqConstant.java
→
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/mq/
constant/
RabbitmqConstant.java
浏览文件 @
cb5118ae
package
com
.
mmc
.
iuav
.
user
.
mq
;
package
com
.
mmc
.
iuav
.
user
.
mq
.
constant
;
/**
* @author: zj
...
...
@@ -8,4 +8,20 @@ public class RabbitmqConstant {
public
final
static
String
USER_INFO_UPDATE_FANOUT_EXCHANGE
=
"USER_INFO_UPDATE_FANOUT_EXCHANGE"
;
public
final
static
String
USER_INFO_UPDATE_FANOUT_FORUM_QUEUE
=
"USER_INFO_UPDATE_FANOUT_FORUM_QUEUE"
;
/**
* 用户充值订单交换机
*/
public
final
static
String
USER_TOP_UP_DIRECT_EXCHANGE
=
"USER_TOP_UP_DIRECT_EXCHANGE"
;
/**
* 充值订单队列、routing_key
*/
public
final
static
String
USER_TOP_UP_DIRECT_QUEUE
=
"USER_TOP_UP_DIRECT_QUEUE"
;
public
final
static
String
USER_TOP_UP_ROUTING_KEY
=
"USER_TOP_UP_ROUTING_KEY"
;
/**
* 充值成功队列、routing_key
*/
public
final
static
String
USER_TOP_UP_SUCCESS_QUEUE
=
"USER_TOP_UP_SUCCESS_QUEUE"
;
public
final
static
String
USER_TOP_UP_SUCCESS_ROUTING_KEY
=
"USER_TOP_UP_SUCCESS_ROUTING_KEY"
;
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/mq/impl/MqProducerImpl.java
浏览文件 @
cb5118ae
...
...
@@ -3,7 +3,7 @@ package com.mmc.iuav.user.mq.impl;
import
com.alibaba.fastjson2.JSONObject
;
import
com.mmc.iuav.user.model.vo.UserAccountVO
;
import
com.mmc.iuav.user.mq.MqProducer
;
import
com.mmc.iuav.user.mq.RabbitmqConstant
;
import
com.mmc.iuav.user.mq.
constant.
RabbitmqConstant
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.amqp.rabbit.core.RabbitTemplate
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/mq/listener/OrderMqConsumer.java
0 → 100644
浏览文件 @
cb5118ae
package
com
.
mmc
.
iuav
.
user
.
mq
.
listener
;
import
com.alibaba.fastjson2.JSONObject
;
import
com.mmc.iuav.user.model.vo.wallet.TopUpOrderVO
;
import
com.mmc.iuav.user.mq.constant.RabbitmqConstant
;
import
com.mmc.iuav.user.service.wallet.PayWalletService
;
import
com.rabbitmq.client.Channel
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.amqp.core.Message
;
import
org.springframework.amqp.rabbit.annotation.RabbitListener
;
import
org.springframework.messaging.handler.annotation.Payload
;
import
org.springframework.stereotype.Component
;
import
javax.annotation.Resource
;
/**
* @Author LW
* @date 2023/6/29 10:35 概要:
*/
@Slf4j
@Component
public
class
OrderMqConsumer
{
@Resource
PayWalletService
payWalletService
;
@RabbitListener
(
queues
=
RabbitmqConstant
.
USER_TOP_UP_SUCCESS_QUEUE
)
public
void
subscribeDirectQueue
(
@Payload
String
topUpOrder
,
Channel
channel
,
Message
message
)
{
TopUpOrderVO
topUpOrderVO
=
JSONObject
.
parseObject
(
topUpOrder
,
TopUpOrderVO
.
class
);
log
.
info
(
"<==========用户充值成功消费开始:订单信息是---->{}==========>"
,
topUpOrderVO
);
payWalletService
.
feignTopUpCash
(
topUpOrderVO
);
log
.
info
(
"<==========用户充值成功消费结束==========>"
);
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/service/WxService.java
浏览文件 @
cb5118ae
...
...
@@ -14,6 +14,7 @@ import javax.servlet.http.HttpServletRequest;
public
interface
WxService
{
/**
* 小程序登录调用接口
*
* @param wxLoginVO
* @return
*/
...
...
@@ -21,6 +22,7 @@ public interface WxService {
/**
* pc扫码登录
*
* @param wxLoginVO
* @return
*/
...
...
@@ -28,36 +30,49 @@ public interface WxService {
/**
* 获取AccessToken
*
* @return
*/
String
getAccessToken
();
/**
* 获取稳定AccessToken
*
* @return
*/
String
getStableAccessToken
()
throws
Exception
;
/**
* 获取公众号AccessToken
*
* @return
*/
String
getSubAccessToken
();
/**
* 获取公众号稳定版accessToken
*
* @return
*/
String
getSubStableAccessToken
();
/**
* 监控微信公众号的事件变化通知
*
* @param request
*/
String
receiveSubAccountEvents
(
HttpServletRequest
request
);
/**
* 公众号推送模板消息-不需要用户同意
*
* @return
*/
ResultBody
sendSubTemplateMsg
(
WxMsgVO
ws
);
/**
* 获取不限制的小程序码
*
* @param path
* @param scene
*/
...
...
@@ -65,12 +80,14 @@ public interface WxService {
/**
* 小程序推送订阅号消息-需用户同意订阅
*
* @param appletMsgVO
*/
ResultBody
sendAppletMsg
(
AppletMsgVO
appletMsgVO
);
/**
* 生成小程序链接
*
* @param path
* @param query
* @return
...
...
@@ -85,4 +102,10 @@ public interface WxService {
* @return
*/
String
getUserPhoneNumber
(
Integer
id
,
String
code
);
ResultBody
rid
(
String
rid
)
throws
Exception
;
ResultBody
moveSubUserToTest
();
ResultBody
moveSubUserUnionIdToTest
();
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/service/fdd/FddService.java
0 → 100644
浏览文件 @
cb5118ae
package
com
.
mmc
.
iuav
.
user
.
service
.
fdd
;
/**
* author:zhenjie
* Date:2022/7/16
* time:15:30
*/
public
interface
FddService
{
String
register
(
String
uid
,
String
accountType
);
String
getApplyCert
(
String
customerId
,
String
transactionNo
);
// ResultBody getFileByUuid(String uuid, String docType);
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/service/fdd/UserFddAuthService.java
0 → 100644
浏览文件 @
cb5118ae
package
com
.
mmc
.
iuav
.
user
.
service
.
fdd
;
import
com.mmc.iuav.response.ResultBody
;
import
com.mmc.iuav.user.model.dto.LoginSuccessDTO
;
import
com.mmc.iuav.user.model.fdd.dto.UserFddDTO
;
import
java.util.Map
;
/**
* author:zhenjie
* Date:2022/9/1
* time:15:46
*/
public
interface
UserFddAuthService
{
String
register
(
String
uid
,
String
accountType
);
ResultBody
getPersonVerifyUrl
(
Integer
userAccountId
);
ResultBody
getCompanyVerifyUrl
(
Integer
port
,
LoginSuccessDTO
loginSuccessDTO
);
ResultBody
notifyECertRes
(
Map
<
String
,
String
>
map
);
ResultBody
findCompanyCertInfo
(
Integer
port
,
Integer
flag
,
LoginSuccessDTO
loginSuccessDTO
);
String
replaceUnableString
(
String
uid
);
ResultBody
<
UserFddDTO
>
getAppUserFddInfo
(
Integer
port
,
LoginSuccessDTO
loginSuccessDTO
);
ResultBody
getFileByUuid
(
String
uuid
,
String
docType
);
// List<UserFddDTO> feignGetAppUserFddInfo(List<String> unionId);
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/service/fdd/impl/FddServiceImpl.java
0 → 100644
浏览文件 @
cb5118ae
差异被折叠。
点击展开。
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/service/fdd/impl/UserFddAuthServiceImpl.java
0 → 100644
浏览文件 @
cb5118ae
差异被折叠。
点击展开。
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/service/impl/AuthServiceImpl.java
浏览文件 @
cb5118ae
...
...
@@ -18,6 +18,7 @@ import com.mmc.iuav.user.model.dto.LoginSuccessDTO;
import
com.mmc.iuav.user.model.qo.LoginUserQO
;
import
com.mmc.iuav.user.model.vo.*
;
import
com.mmc.iuav.user.service.*
;
import
com.mmc.iuav.user.service.wallet.PayWalletService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -25,6 +26,7 @@ import org.springframework.data.redis.core.StringRedisTemplate;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.annotation.Resource
;
import
java.security.NoSuchAlgorithmException
;
import
java.util.concurrent.TimeUnit
;
...
...
@@ -66,8 +68,12 @@ public class AuthServiceImpl implements AuthService {
@Autowired
private
AuthHandler
authHandler
;
@Resource
private
PayWalletService
payWalletService
;
@Transactional
@Override
public
ResultBody
appletLogin
(
WxLoginVO
wxLoginVO
)
{
String
unionId
;
String
openId
;
...
...
@@ -101,6 +107,8 @@ public class AuthServiceImpl implements AuthService {
userAccountDO
.
setSource
(
wxLoginVO
.
getSource
());
userAccountService
.
insertUserAccount
(
userAccountDO
);
userAccountVO
=
userAccountDO
.
buildUserAccountVO
();
// 创建用户钱包
payWalletService
.
initPayWallet
(
userAccountDO
.
getId
());
payClient
.
createWallet
(
userAccountDO
.
getId
());
// 查询之前有没有实名过
RealNameAuthDO
nameAuthByUnionId
=
realNameAuthDao
.
getRealNameAuthBakByUnionId
(
unionId
);
...
...
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/service/impl/BackUserAccountServiceImpl.java
浏览文件 @
cb5118ae
...
...
@@ -162,7 +162,6 @@ public class BackUserAccountServiceImpl implements BackUserAccountService {
if
(
companyInfoVO
!=
null
&&
companyInfoVO
.
getCompanyType
().
equals
(
CompanyTypeEnums
.
FRANCHISEE
.
getType
()))
{
// 加盟企业的账号,需要把对应的成员和后台账号解绑
companyService
.
unbindingAllUsers
(
companyInfoVO
.
getId
());
companyService
.
deleteCompanyInfoById
(
companyInfoVO
.
getId
());
}
String
accountNo
=
"DISABLE_"
+
backUserAccountDO
.
getAccountNo
()
+
RandomStringUtils
.
randomAlphanumeric
(
3
);
backUserAccountDao
.
disableBackUserAccountDO
(
accountId
,
accountNo
);
...
...
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/service/impl/RealNameAuthServiceImpl.java
浏览文件 @
cb5118ae
...
...
@@ -46,6 +46,7 @@ public class RealNameAuthServiceImpl implements RealNameAuthService {
@Override
public
ResultBody
add
(
RealNameAuthVO
realNameAuthVO
)
{
log
.
info
(
"RealNameAuthVO:{}"
,
JSONObject
.
toJSONString
(
realNameAuthVO
));
RealNameAuthDO
realNameAuthDO0
=
realNameAuthDao
.
getRealNameAuthByUId
(
realNameAuthVO
.
getUserAccountId
());
if
(
realNameAuthDO0
!=
null
&&
realNameAuthDO0
.
getCheckStatus
().
equals
(
1
))
{
return
ResultBody
.
error
(
ResultEnum
.
REAL_NAME_PASS_ERROR
);
...
...
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/service/impl/UserAccountServiceImpl.java
浏览文件 @
cb5118ae
...
...
@@ -6,15 +6,11 @@ import com.mmc.iuav.response.ResultBody;
import
com.mmc.iuav.response.ResultEnum
;
import
com.mmc.iuav.user.controller.userpoints.config.NumberOfUserPoints
;
import
com.mmc.iuav.user.controller.userpoints.config.UserPointsEnum
;
import
com.mmc.iuav.user.dao.CooperationDao
;
import
com.mmc.iuav.user.dao.RealNameAuthDao
;
import
com.mmc.iuav.user.dao.UserServiceDao
;
import
com.mmc.iuav.user.dao.*
;
import
com.mmc.iuav.user.dao.userpoints.UserPointsDao
;
import
com.mmc.iuav.user.dao.userpoints.UserPointsDetailsDao
;
import
com.mmc.iuav.user.entity.CooperationTagDO
;
import
com.mmc.iuav.user.entity.RealNameAuthDO
;
import
com.mmc.iuav.user.entity.UserAccountDO
;
import
com.mmc.iuav.user.entity.UserRcdDO
;
import
com.mmc.iuav.user.dao.xzsz.XzDao
;
import
com.mmc.iuav.user.entity.*
;
import
com.mmc.iuav.user.entity.userpoints.UserPointsDO
;
import
com.mmc.iuav.user.entity.userpoints.UserPointsDetails
;
import
com.mmc.iuav.user.model.dto.LoginSuccessDTO
;
...
...
@@ -78,6 +74,12 @@ public class UserAccountServiceImpl implements UserAccountService {
@Autowired
private
RealNameAuthDao
realNameAuthDao
;
@Autowired
private
XzDao
xzDao
;
@Autowired
private
UserSubInfoDao
userSubInfoDao
;
@Override
public
UserAccountVO
getUserAccountInfoByUnionId
(
String
unionId
)
{
...
...
@@ -104,6 +106,7 @@ public class UserAccountServiceImpl implements UserAccountService {
RealNameAuthDTO
realNameAuthDTO
=
nameAuthDTOResultBody
.
getResult
();
if
(
realNameAuthDTO
!=
null
&&
realNameAuthDTO
.
getCheckStatus
().
equals
(
1
))
{
userAccountVO
.
setRealNameAuthStatus
(
1
);
userAccountVO
.
setUserName
(
realNameAuthDTO
.
getUserName
());
}
CompanyAuthVO
companyAuthVO
=
companyAuthService
.
getCompanyAuthByUId
(
userAccountId
);
if
(
companyAuthVO
!=
null
)
{
...
...
@@ -116,6 +119,18 @@ public class UserAccountServiceImpl implements UserAccountService {
List
<
CooperationTagVO
>
cooperationTags
=
cooperationTagDOS
.
stream
().
map
(
CooperationTagDO:
:
buildCooperationTagVO
).
collect
(
Collectors
.
toList
());
userAccountVO
.
setCooperationTagVOS
(
cooperationTags
);
}
XzAuthDO
xzAuthDO
=
xzDao
.
getXzAuthByUserAccountId
(
userAccountId
);
if
(
xzAuthDO
!=
null
)
{
userAccountVO
.
setXzAuthStatus
(
xzAuthDO
.
getXzAuthStatus
());
}
else
{
userAccountVO
.
setXzAuthStatus
(
0
);
}
UserSubInfoDO
userSubInfoDO
=
userSubInfoDao
.
getUserSubInfoByUnionId
(
userAccountDO
.
getUnionId
());
if
(
userSubInfoDO
!=
null
&&
userSubInfoDO
.
getRegStatus
().
equals
(
1
))
{
userAccountVO
.
setSubStatus
(
1
);
}
else
{
userAccountVO
.
setSubStatus
(
0
);
}
return
userAccountVO
;
}
...
...
@@ -358,12 +373,26 @@ public class UserAccountServiceImpl implements UserAccountService {
}
}
@Autowired
private
CompanyDao
companyDao
;
@Override
public
ResultBody
disableAppAccount
(
Integer
userAccountId
)
{
userServiceDao
.
disableUserAccount
(
CodeUtil
.
removeUserAccount
(),
userAccountId
);
UserAccountVO
userAccountVO
=
new
UserAccountVO
();
userAccountVO
.
setId
(
userAccountId
);
userAccountVO
.
setDeleted
(
1
);
// 删除绑定企业信息,
// 该企业只有一人时可以直接删除,或者不是管理员时也可以直接删除,
// 是管理者时并且有多人则不能删除,提醒解绑成员后才能删除
CompanyInfoDO
companyInfoDO
=
companyDao
.
getAppCompanyInfoUId
(
userAccountId
);
if
(
companyInfoDO
!=
null
)
{
int
members
=
companyDao
.
countCompanyMembers
(
companyInfoDO
.
getId
());
if
(
members
>
1
&&
companyInfoDO
.
getLeader
().
equals
(
1
))
{
return
ResultBody
.
error
(
"该用户是单位管理员,暂时不能删除"
);
}
companyDao
.
unbindCompanyMember
(
userAccountId
,
companyInfoDO
.
getId
());
}
mqProducer
.
sentUserInfoChangedMsg
(
userAccountVO
);
return
ResultBody
.
success
();
}
...
...
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/service/impl/WxServiceImpl.java
浏览文件 @
cb5118ae
package
com
.
mmc
.
iuav
.
user
.
service
.
impl
;
import
com.alibaba.fastjson2.JSONArray
;
import
com.alibaba.fastjson2.JSONObject
;
import
com.mmc.iuav.http.HttpHelper
;
import
com.mmc.iuav.http.HttpsRequestUtil
;
...
...
@@ -26,6 +27,7 @@ import java.io.BufferedReader;
import
java.io.InputStreamReader
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.concurrent.TimeUnit
;
...
...
@@ -134,9 +136,39 @@ public class WxServiceImpl implements WxService {
}
@Override
public
String
getSubStableAccessToken
()
{
//token有效期为7200s,需要保存起来,先从redis中获取accessToken,没有则请求获取
String
accessToken
=
stringRedisTemplate
.
opsForValue
().
get
(
WxConstant
.
SHARE_FLY_SUB_STABLE_ACCESS_TOKEN
);
if
(
StringUtils
.
isBlank
(
accessToken
))
{
Map
<
String
,
String
>
params
=
new
HashMap
<
String
,
String
>();
params
.
put
(
"grant_type"
,
"client_credential"
);
params
.
put
(
"appid"
,
userSystemConstant
.
getWxSubAppId
());
params
.
put
(
"secret"
,
userSystemConstant
.
getWxSubSecret
());
String
res
=
null
;
try
{
res
=
HttpsRequestUtil
.
httpsRequest
(
"https://api.weixin.qq.com/cgi-bin/stable_token"
,
"POST"
,
null
,
JSONObject
.
toJSONString
(
params
));
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
JSONObject
tokenResult
=
JSONObject
.
parseObject
(
res
);
if
(
res
.
indexOf
(
"access_token"
)
==
-
1
)
{
log
.
info
(
"获取公众号access_token有误:{}"
,
tokenResult
);
return
null
;
}
accessToken
=
tokenResult
.
getString
(
"access_token"
);
long
expiresIn
=
tokenResult
.
getLong
(
"expires_in"
);
//保存进redis
stringRedisTemplate
.
opsForValue
().
set
(
WxConstant
.
SHARE_FLY_SUB_STABLE_ACCESS_TOKEN
,
accessToken
,
expiresIn
,
TimeUnit
.
SECONDS
);
return
accessToken
;
}
return
accessToken
;
}
@Override
public
String
receiveSubAccountEvents
(
HttpServletRequest
request
)
{
try
{
Map
<
String
,
String
>
map
=
this
.
convertRequestToMap
(
request
);
log
.
info
(
"Received wx events(after convert):{}"
,
JSONObject
.
toJSONString
(
map
));
String
event
=
map
.
get
(
"Event"
);
if
(
WxConstant
.
subscribe
.
equals
(
event
))
{
// 关注事件
...
...
@@ -188,8 +220,8 @@ public class WxServiceImpl implements WxService {
try
{
String
InfoUrl
=
"https://api.weixin.qq.com/cgi-bin/user/info?access_token="
+
accessToken
+
"&openid="
+
openid
+
"&lang=zh_CN"
;
//String jsonStr = HttpsOpenUtil.https(InfoUrl, "GET");// 错误:{"errcode":40013,"errmsg":"invalid appid"}
String
jsonStr
=
HttpsRequestUtil
.
httpsRequest
(
InfoUrl
,
"GET"
,
null
,
null
);
String
jsonStr
=
HttpsRequestUtil
.
httpsGet
(
InfoUrl
,
null
);
log
.
info
(
"updateWXUserInfo:{}"
,
jsonStr
);
JSONObject
obj
=
JSONObject
.
parseObject
(
jsonStr
);
// 用户是否订阅该公众号标识,值为0时,代表此用户没有关注该公众号,拉取不到其余信息。
Integer
subscribe
=
obj
.
getInteger
(
"subscribe"
);
...
...
@@ -215,10 +247,11 @@ public class WxServiceImpl implements WxService {
public
ResultBody
sendSubTemplateMsg
(
WxMsgVO
ws
)
{
String
accessToken
=
null
;
try
{
accessToken
=
this
.
getSubAccessToken
();
accessToken
=
this
.
getSub
Stable
AccessToken
();
String
url
=
"https://api.weixin.qq.com/cgi-bin/message/template/send?access_token="
+
accessToken
;
String
param
=
ws
.
build
MsgJson
();
String
param
=
ws
.
build
TemplateMsg
();
String
result
=
HttpHelper
.
httpPost
(
url
,
param
);
log
.
info
(
"模板消息发送结果:{}"
,
result
);
}
catch
(
Exception
e
)
{
log
.
error
(
"accessToken获取失败:{}"
,
e
.
getMessage
());
return
ResultBody
.
error
(
ResultEnum
.
WX_ACCESS_TOKEN_ERROR
.
getResultCode
(),
...
...
@@ -307,4 +340,64 @@ public class WxServiceImpl implements WxService {
}
return
null
;
}
@Override
public
ResultBody
rid
(
String
rid
)
throws
Exception
{
JSONObject
param
=
new
JSONObject
();
param
.
put
(
"rid"
,
rid
);
String
url
=
"https://api.weixin.qq.com/cgi-bin/openapi/rid/get?access_token="
+
this
.
getSubAccessToken
();
String
res
=
HttpHelper
.
httpPost
(
url
,
param
.
toString
());
return
ResultBody
.
success
(
res
);
}
@Override
public
ResultBody
moveSubUserToTest
()
{
String
accessToken
=
this
.
getSubStableAccessToken
();
String
url
=
"https://api.weixin.qq.com/cgi-bin/user/get?access_token="
+
accessToken
;
String
jsonStr
=
HttpsRequestUtil
.
httpsGet
(
url
,
null
);
log
.
info
(
"all users:{}"
,
jsonStr
);
JSONObject
obj
=
JSONObject
.
parseObject
(
jsonStr
);
List
<
String
>
lists
=
JSONArray
.
parseArray
(
obj
.
getJSONObject
(
"data"
).
get
(
"openid"
).
toString
(),
String
.
class
);
int
count
=
0
;
for
(
String
openid
:
lists
)
{
Integer
integer
=
userSubInfoDao
.
countUserSubInfo
(
openid
);
if
(
integer
==
0
)
{
count
++;
UserSubInfoDO
sub
=
new
UserSubInfoDO
();
sub
.
setOpenId
(
openid
);
sub
.
setRegStatus
(
1
);
sub
.
setDeleted
(
0
);
sub
.
setCreateTime
(
new
Date
());
userSubInfoDao
.
insertUserSubInfo
(
sub
);
}
}
log
.
info
(
"User count: {}"
,
count
);
return
ResultBody
.
success
();
}
@Override
public
ResultBody
moveSubUserUnionIdToTest
()
{
String
accessToken
=
this
.
getSubStableAccessToken
();
String
url
=
"https://api.weixin.qq.com/cgi-bin/user/get?access_token="
+
accessToken
+
"&next_openid="
+
"oB6kk6obNektxM62mjj9PJHPtcME"
;
String
jsonStr
=
HttpsRequestUtil
.
httpsGet
(
url
,
null
);
log
.
info
(
"all users:{}"
,
jsonStr
);
JSONObject
obj
=
JSONObject
.
parseObject
(
jsonStr
);
List
<
String
>
lists
=
JSONArray
.
parseArray
(
obj
.
getJSONObject
(
"data"
).
get
(
"openid"
).
toString
(),
String
.
class
);
int
count
=
0
;
for
(
String
openid
:
lists
)
{
UserSubInfoDO
userSubInfo
=
userSubInfoDao
.
getUserSubInfo
(
openid
);
if
(
userSubInfo
!=
null
)
{
String
InfoUrl
=
"https://api.weixin.qq.com/cgi-bin/user/info?access_token="
+
accessToken
+
"&openid="
+
openid
+
"&lang=zh_CN"
;
String
jsonStr1
=
HttpsRequestUtil
.
httpsGet
(
InfoUrl
,
null
);
JSONObject
obj1
=
JSONObject
.
parseObject
(
jsonStr1
);
userSubInfo
.
setUnionId
(
obj1
.
getString
(
"unionid"
));
userSubInfo
.
setRegStatus
(
1
);
userSubInfoDao
.
updateUserSubInfo
(
userSubInfo
);
}
}
log
.
info
(
"User count: {}"
,
count
);
return
ResultBody
.
success
();
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/service/wallet/PayWalletService.java
浏览文件 @
cb5118ae
package
com
.
mmc
.
iuav
.
user
.
service
.
wallet
;
import
com.mmc.iuav.response.ResultBody
;
import
com.mmc.iuav.user.model.qo.wallet.WalletFlowQO
;
import
com.mmc.iuav.user.model.vo.wallet.TopUpOrderVO
;
import
com.mmc.iuav.user.model.vo.wallet.WalletFlowVO
;
/**
* @Author LW
...
...
@@ -11,4 +14,12 @@ public interface PayWalletService {
ResultBody
getPayWalletInfo
(
Integer
userAccountId
);
ResultBody
initPayWallet
(
Integer
userAccountId
);
ResultBody
feignWalletFlow
(
WalletFlowVO
walletFlowVO
);
ResultBody
feignTopUpCash
(
TopUpOrderVO
topUpOrderVO
);
ResultBody
customerBillingDetail
(
Integer
userAccountId
,
WalletFlowQO
walletFlowQO
);
ResultBody
billingDetails
(
Integer
id
,
String
detailType
);
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/service/wallet/impl/PayWalletServiceImpl.java
浏览文件 @
cb5118ae
差异被折叠。
点击展开。
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/service/xzsz/WithdrawalService.java
0 → 100644
浏览文件 @
cb5118ae
package
com
.
mmc
.
iuav
.
user
.
service
.
xzsz
;
import
com.mmc.iuav.page.PageResult
;
import
com.mmc.iuav.response.ResultBody
;
import
com.mmc.iuav.user.model.qo.wallet.WalletFlowQO
;
import
com.mmc.iuav.user.model.qo.wallet.WithdrawalApplyQO
;
import
com.mmc.iuav.user.model.vo.wallet.ApplyWithdrawalVO
;
/**
* @author: zj
* @Date: 2023/8/23 16:09
*/
public
interface
WithdrawalService
{
ResultBody
apply
(
ApplyWithdrawalVO
applyWithdrawalVO
,
Integer
userAccountId
);
ResultBody
withdrawalList
(
Integer
userAccountId
,
WalletFlowQO
walletFlowQO
);
PageResult
listPageWithdrawalApply
(
WithdrawalApplyQO
param
);
ResultBody
approveWithdrawalApply
(
Integer
id
,
Integer
applyStatus
,
Integer
userAccountId
,
String
remark
);
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/service/xzsz/XzService.java
0 → 100644
浏览文件 @
cb5118ae
package
com
.
mmc
.
iuav
.
user
.
service
.
xzsz
;
import
cn.hutool.json.JSONObject
;
import
com.mmc.iuav.response.ResultBody
;
import
com.mmc.iuav.user.model.dto.LoginSuccessDTO
;
import
com.mmc.iuav.user.model.dto.xzsz.UsableCashPoolingDTO
;
import
com.mmc.iuav.user.model.vo.XzAuthVO
;
import
com.mmc.iuav.user.model.vo.XzWithdrawalVO
;
import
com.mmc.iuav.user.xzsz.SingleSubmitResp
;
import
com.mmc.iuav.user.xzsz.WithdrawalResp
;
import
java.util.List
;
/**
* @author: zj
* @Date: 2023/8/21 9:52
*/
public
interface
XzService
{
ResultBody
getTaxFundList
();
ResultBody
getCashPooling
();
List
<
UsableCashPoolingDTO
>
getUsableCashPooling
();
String
getContractScope
(
XzAuthVO
xzAuthVO
);
String
hasKeyByUrl
(
LoginSuccessDTO
loginSuccessDTO
);
String
xzAuthNotify
(
JSONObject
notify
);
JSONObject
getSignedResult
(
XzAuthVO
xzAuthVO
);
String
viewContract
(
String
documentId
);
ResultBody
clearTestFace
(
String
name
,
String
idCard
);
SingleSubmitResp
singleSubmit
(
XzWithdrawalVO
xzWithdrawalVO
);
WithdrawalResp
querySingleTrade
(
String
outerTradeNo
);
ResultBody
querySingleReceipt
(
String
frontLogNo
);
String
xzWithdrawNotify
(
JSONObject
notify
);
SingleSubmitResp
singleSubmitLimit
(
XzWithdrawalVO
xzWithdrawalVO
);
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/service/xzsz/impl/WithdrawalServiceImpl.java
0 → 100644
浏览文件 @
cb5118ae
差异被折叠。
点击展开。
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/service/xzsz/impl/XzServiceImpl.java
0 → 100644
浏览文件 @
cb5118ae
差异被折叠。
点击展开。
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/util/PatternUtil.java
0 → 100644
浏览文件 @
cb5118ae
package
com
.
mmc
.
iuav
.
user
.
util
;
/**
* 正则表达式匹配
*
* @author tyg
* @date 2018年9月21日下午4:32:27
*/
public
class
PatternUtil
{
/**
* 手机号码匹配
*/
public
static
final
String
PHONE_REG
=
"^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|166|198|199|(147))\\d{8}$"
;
/**
* 座机号码匹配
*/
public
static
final
String
MOBILE_REG
=
"^\\d{3}-\\d{8}|\\d{4}-\\d{7}$"
;
/**
* 汉字匹配
*/
public
static
final
String
CHIINESE_REG
=
"^[\\u4e00-\\u9fa5]{0,}$"
;
/**
* 英文和数字匹配(不区分大小写)
*/
public
static
final
String
LETTER_NUMBER_REG
=
"^[A-Za-z0-9]+$"
;
/**
* 非零开头的最多带两位小数的数字
*/
public
static
final
String
DECIMAL_REG
=
"^([1-9][0-9]*)+(.[0-9]{1,2})?$"
;
/**
* 纯数字
*/
public
static
final
String
ONLY_NUMBER_REG
=
"^[0-9]{1,}$"
;
/**
* 纯字母
*/
public
static
final
String
ONLY_LETTER_REG
=
"^[a-zA-Z]{1,}$"
;
/**
* 邮箱email
*/
public
static
final
String
EMAIL_REG
=
"^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$"
;
/**
* 日期规则
*/
public
static
final
String
DATE_YMD
=
"^(\\d{4}-\\d{2}-\\d{2})$"
;
/**
* 时间规则
*/
public
static
final
String
DATE_YMDHDS
=
"^(\\d{4}-\\d{2}-\\d{2}\\s\\d{2}:\\d{2}:\\d{2})$"
;
/**
* 银行卡卡号位数
*/
public
final
static
String
BANK_CARD_NUMBER
=
"^\\d{16}|\\d{19}$"
;
/**
* 身份证号码位数限制
*/
public
final
static
String
ID_CARD
=
"^\\d{15}|(\\d{17}[0-9,x,X])$"
;
/**
* 是否为手机号码
*
* @param phone
* @return
* @return boolean
* @author tyg
* @date 2018年9月25日上午9:44:38
*/
public
static
boolean
isPhone
(
String
phone
)
{
return
phone
.
matches
(
PHONE_REG
);
}
/**
* 是否为座机号码
*
* @param mobile
* @return
* @return boolean
* @author tyg
* @date 2018年9月25日上午9:44:38
*/
public
static
boolean
isMobile
(
String
mobile
)
{
return
mobile
.
matches
(
MOBILE_REG
);
}
public
static
void
main
(
String
[]
args
)
{
System
.
out
.
println
(
isPhone
(
"13228116626"
));
System
.
out
.
println
(
isMobile
(
"028-63358547"
));
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/util/PrivacyUtil.java
0 → 100644
浏览文件 @
cb5118ae
package
com
.
mmc
.
iuav
.
user
.
util
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.builder.ReflectionToStringBuilder
;
import
java.lang.reflect.Field
;
import
java.util.Arrays
;
import
java.util.HashSet
;
import
java.util.Set
;
import
java.util.regex.Pattern
;
/**
* 日志辅助类,用来处理敏感信息,进行脱敏
*
* @author tyg
* @date 2018年5月5日下午4:01:22
*/
public
class
PrivacyUtil
{
//银行账户:显示前六后四,范例:622848******4568
public
static
String
encryptBankAcct
(
String
bankAcct
)
{
if
(
bankAcct
==
null
)
{
return
""
;
}
return
replaceBetween
(
bankAcct
,
6
,
bankAcct
.
length
()
-
4
,
null
);
}
//身份证号码:显示前六后四,范例:110601********2015
public
static
String
encryptIdCard
(
String
idCard
)
{
if
(
idCard
==
null
)
{
return
""
;
}
return
replaceBetween
(
idCard
,
6
,
idCard
.
length
()
-
4
,
null
);
}
//客户email:显示前二后四,范例:abxx@xxx.com
public
static
String
encryptEmail
(
String
email
)
{
//判断是否为邮箱地址
if
(
email
==
null
||
!
Pattern
.
matches
(
PatternUtil
.
EMAIL_REG
,
email
))
{
return
""
;
}
StringBuilder
sb
=
new
StringBuilder
(
email
);
//邮箱账号名只显示前两位
int
at_position
=
sb
.
indexOf
(
"@"
);
if
(
at_position
>
2
)
{
sb
.
replace
(
2
,
at_position
,
StringUtils
.
repeat
(
"x"
,
at_position
-
2
));
}
//邮箱域名隐藏
int
period_position
=
sb
.
lastIndexOf
(
"."
);
sb
.
replace
(
at_position
+
1
,
period_position
,
StringUtils
.
repeat
(
"x"
,
period_position
-
at_position
-
1
));
return
sb
.
toString
();
}
//手机:显示前三后四,范例:189****3684
public
static
String
encryptPhoneNo
(
String
phoneNo
)
{
if
(
phoneNo
==
null
)
{
return
""
;
}
return
replaceBetween
(
phoneNo
,
3
,
phoneNo
.
length
()
-
4
,
null
);
}
/**
* @param object 待处理对象
* @param fieldNames 需要处理的属性
* @return 将对象转换为字符串,并对敏感信息进行处理
*/
public
static
String
encryptSensitiveInfo
(
Object
object
,
String
[]
fieldNames
)
{
return
encryptSensitiveInfo
(
object
,
fieldNames
,
null
);
}
/**
* @param object 待处理对象
* @param fieldNames 需要处理的属性
* @param excludes 不需要显示的属性
* @return 将对象转换为字符串,并对敏感信息进行处理
*/
public
static
String
encryptSensitiveInfo
(
Object
object
,
String
[]
fieldNames
,
String
[]
excludes
)
{
if
(
fieldNames
==
null
)
{
fieldNames
=
new
String
[
0
];
}
//合并数组
Set
<
String
>
set
=
new
HashSet
<
String
>(
Arrays
.
asList
(
fieldNames
));
if
(
excludes
!=
null
)
{
for
(
int
i
=
0
;
i
<
excludes
.
length
;
i
++)
{
set
.
add
(
excludes
[
i
]);
}
}
//将对象转换为字符串
String
str
=
ReflectionToStringBuilder
.
toStringExclude
(
object
,
set
.
toArray
(
new
String
[
0
]));
//处理敏感信息
StringBuilder
sb
=
new
StringBuilder
(
str
);
sb
.
deleteCharAt
(
sb
.
length
()
-
1
);
for
(
int
i
=
0
;
i
<
fieldNames
.
length
;
i
++)
{
String
fieldName
=
fieldNames
[
i
];
try
{
Field
f
=
object
.
getClass
().
getDeclaredField
(
fieldName
);
f
.
setAccessible
(
true
);
String
value
=
encryptSensitiveInfo
(
String
.
valueOf
(
f
.
get
(
object
)));
if
(
i
!=
0
||
sb
.
charAt
(
sb
.
length
()
-
1
)
!=
'['
)
{
sb
.
append
(
","
);
}
sb
.
append
(
fieldName
).
append
(
"="
).
append
(
value
);
}
catch
(
Exception
e
)
{
}
}
sb
.
append
(
"]"
);
str
=
sb
.
toString
();
return
str
;
}
/**
* 对敏感信息进行处理。使用正则表达式判断使用哪种规则
*
* @param sourceStr 需要处理的敏感信息
* @return
* @return String
* @author tyg
* @date 2018年5月5日下午3:59:28
*/
public
static
String
encryptSensitiveInfo
(
String
sourceStr
)
{
if
(
sourceStr
==
null
)
{
return
""
;
}
if
(
Pattern
.
matches
(
PatternUtil
.
PHONE_REG
,
sourceStr
))
{
return
encryptPhoneNo
(
sourceStr
);
}
else
if
(
Pattern
.
matches
(
PatternUtil
.
EMAIL_REG
,
sourceStr
))
{
return
encryptEmail
(
sourceStr
);
}
else
if
(
Pattern
.
matches
(
PatternUtil
.
BANK_CARD_NUMBER
,
sourceStr
))
{
return
encryptBankAcct
(
sourceStr
);
}
else
if
(
Pattern
.
matches
(
PatternUtil
.
ID_CARD
,
sourceStr
))
{
return
encryptIdCard
(
sourceStr
);
}
else
{
return
sourceStr
;
}
}
/**
* 将字符串开始位置到结束位置之间的字符用指定字符替换
*
* @param sourceStr 待处理字符串
* @param begin 开始位置
* @param end 结束位置
* @param replacement 替换字符
* @return
*/
private
static
String
replaceBetween
(
String
sourceStr
,
int
begin
,
int
end
,
String
replacement
)
{
if
(
sourceStr
==
null
)
{
return
""
;
}
if
(
replacement
==
null
)
{
replacement
=
"*"
;
}
int
replaceLength
=
end
-
begin
;
if
(
StringUtils
.
isNotBlank
(
sourceStr
)
&&
replaceLength
>
0
)
{
StringBuilder
sb
=
new
StringBuilder
(
sourceStr
);
sb
.
replace
(
begin
,
end
,
StringUtils
.
repeat
(
replacement
,
replaceLength
));
return
sb
.
toString
();
}
else
{
return
sourceStr
;
}
}
}
\ No newline at end of file
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/util/TDateUtil.java
0 → 100644
浏览文件 @
cb5118ae
差异被折叠。
点击展开。
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/xzsz/SingleSubmitResp.java
0 → 100644
浏览文件 @
cb5118ae
package
com
.
mmc
.
iuav
.
user
.
xzsz
;
import
java.io.Serializable
;
/**
* @author: zj
* @Date: 2023/8/22 14:26
*/
public
class
SingleSubmitResp
{
private
String
isSuccess
;
private
String
charset
;
private
String
errorCode
;
private
String
errorMessage
;
private
Data
data
;
public
String
getIsSuccess
()
{
return
isSuccess
;
}
public
void
setIsSuccess
(
String
isSuccess
)
{
this
.
isSuccess
=
isSuccess
;
}
public
String
getCharset
()
{
return
charset
;
}
public
void
setCharset
(
String
charset
)
{
this
.
charset
=
charset
;
}
public
String
getErrorCode
()
{
return
errorCode
;
}
public
void
setErrorCode
(
String
errorCode
)
{
this
.
errorCode
=
errorCode
;
}
public
String
getErrorMessage
()
{
return
errorMessage
;
}
public
void
setErrorMessage
(
String
errorMessage
)
{
this
.
errorMessage
=
errorMessage
;
}
public
Data
getData
()
{
return
data
;
}
public
void
setData
(
Data
data
)
{
this
.
data
=
data
;
}
public
static
class
Data
implements
Serializable
{
private
static
final
long
serialVersionUID
=
887647888669372371L
;
private
String
outerTradeNo
;
public
Data
()
{
}
public
String
getOuterTradeNo
()
{
return
outerTradeNo
;
}
public
void
setOuterTradeNo
(
String
outerTradeNo
)
{
this
.
outerTradeNo
=
outerTradeNo
;
}
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/xzsz/WithdrawalResp.java
0 → 100644
浏览文件 @
cb5118ae
package
com
.
mmc
.
iuav
.
user
.
xzsz
;
import
java.math.BigDecimal
;
/**
* @author: zj
* @Date: 2023/8/22 14:43
*/
public
class
WithdrawalResp
{
private
String
isSuccess
;
private
String
charset
;
private
Data
data
;
public
String
getIsSuccess
()
{
return
isSuccess
;
}
public
void
setIsSuccess
(
String
isSuccess
)
{
this
.
isSuccess
=
isSuccess
;
}
public
String
getCharset
()
{
return
charset
;
}
public
void
setCharset
(
String
charset
)
{
this
.
charset
=
charset
;
}
public
Data
getData
()
{
return
data
;
}
public
void
setData
(
Data
data
)
{
this
.
data
=
data
;
}
public
static
class
Data
{
private
String
outerTradeNo
;
private
String
notifyType
;
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
;
private
String
tradeFailCode
;
public
Data
()
{
}
public
String
getOuterTradeNo
()
{
return
outerTradeNo
;
}
public
void
setOuterTradeNo
(
String
outerTradeNo
)
{
this
.
outerTradeNo
=
outerTradeNo
;
}
public
String
getNotifyType
()
{
return
notifyType
;
}
public
void
setNotifyType
(
String
notifyType
)
{
this
.
notifyType
=
notifyType
;
}
public
String
getEmpName
()
{
return
empName
;
}
public
void
setEmpName
(
String
empName
)
{
this
.
empName
=
empName
;
}
public
String
getEmpPhone
()
{
return
empPhone
;
}
public
void
setEmpPhone
(
String
empPhone
)
{
this
.
empPhone
=
empPhone
;
}
public
String
getLicenseType
()
{
return
licenseType
;
}
public
void
setLicenseType
(
String
licenseType
)
{
this
.
licenseType
=
licenseType
;
}
public
String
getLicenseId
()
{
return
licenseId
;
}
public
void
setLicenseId
(
String
licenseId
)
{
this
.
licenseId
=
licenseId
;
}
public
String
getSettleType
()
{
return
settleType
;
}
public
void
setSettleType
(
String
settleType
)
{
this
.
settleType
=
settleType
;
}
public
String
getPayAccount
()
{
return
payAccount
;
}
public
void
setPayAccount
(
String
payAccount
)
{
this
.
payAccount
=
payAccount
;
}
public
String
getPositionName
()
{
return
positionName
;
}
public
void
setPositionName
(
String
positionName
)
{
this
.
positionName
=
positionName
;
}
public
BigDecimal
getPayAmount
()
{
return
payAmount
;
}
public
void
setPayAmount
(
BigDecimal
payAmount
)
{
this
.
payAmount
=
payAmount
;
}
public
String
getTradeStatus
()
{
return
tradeStatus
;
}
public
void
setTradeStatus
(
String
tradeStatus
)
{
this
.
tradeStatus
=
tradeStatus
;
}
public
String
getTradeTime
()
{
return
tradeTime
;
}
public
void
setTradeTime
(
String
tradeTime
)
{
this
.
tradeTime
=
tradeTime
;
}
public
String
getFrontLogNo
()
{
return
frontLogNo
;
}
public
void
setFrontLogNo
(
String
frontLogNo
)
{
this
.
frontLogNo
=
frontLogNo
;
}
public
String
getTradeResult
()
{
return
tradeResult
;
}
public
void
setTradeResult
(
String
tradeResult
)
{
this
.
tradeResult
=
tradeResult
;
}
public
String
getTradeFailCode
()
{
return
tradeFailCode
;
}
public
void
setTradeFailCode
(
String
tradeFailCode
)
{
this
.
tradeFailCode
=
tradeFailCode
;
}
}
}
csm-service/cms-service-user/src/main/resources/application-dev.yml
浏览文件 @
cb5118ae
...
...
@@ -69,6 +69,28 @@ third-party:
qcc
:
app-key
:
5015e664848d406ab1ca4b505c3da803
secret-key
:
7C4DB8CCECC148175E46392CC0A1B410
xzsz
:
# appKey: 1e8e59e056be41f8a05c090964d7ce37
# appSecret: ceshihuanjingyanshizhanghao00000
# aes: 0000000000000000
# domain: https://uat.xzsz.ltd/
# position: 销售推广
# taxFundId: xxxxxxxxxxxxxxxxxxxxxxx
appKey
:
37f76305f1864339adc8d6d03fbf918d
appSecret
:
hangzhouyunxiangfeikeji000000000
aes
:
'
0000000000000000'
domain
:
https://saas.xzsz.ltd
position
:
市场推广
taxFundId
:
0b0376083af4435885bd5d5cd3d63053
authNotify
:
https://test.iuav.shop/userapp/xz/xzAuthNotify
withdrawNotify
:
https://test.iuav.shop/userapp/xz/xzWithdrawNotify
fdd
:
appid
:
407664
appkey
:
q146q3Cjmi7Y6BVl8jtZK9pH
version
:
2
host
:
https://testapi.fadada.com:8443/api/
mmc-url
:
https://test.iuav.shop/userapp/
iuav
:
pay
:
...
...
csm-service/cms-service-user/src/main/resources/application-local.yml
浏览文件 @
cb5118ae
...
...
@@ -18,7 +18,7 @@ spring:
port
:
5672
username
:
MjphbXFwLWNuLXp2cDJvemhuajAwMTpMVEFJNEZ6Q3B5ckEzM1BlZ254V1M2WFY=
password
:
RTg3OUMxQzk4NzU0NDQ4RkQ1RDg4MkEzQjY4M0M3MkQxOTM2QkEyNDoxNjUyNDA4NDk0NDg4
virtual-host
:
/
virtual-host
:
dev
wx
:
sub
:
...
...
@@ -38,9 +38,25 @@ third-party:
qcc
:
app-key
:
5015e664848d406ab1ca4b505c3da803
secret-key
:
7C4DB8CCECC148175E46392CC0A1B410
xzsz
:
appKey
:
1e8e59e056be41f8a05c090964d7ce37
appSecret
:
ceshihuanjingyanshizhanghao00000
aes
:
'
0000000000000000'
domain
:
https://uat.xzsz.ltd/
position
:
销售推广
taxFundId
:
8ae605f565884a1f9a5e91d5a661ce58
authNotify
:
https://test.iuav.shop/userapp/xz/xzAuthNotify
withdrawNotify
:
https://test.iuav.shop/userapp/xz/xzWithdrawNotify
fdd
:
appid
:
407664
appkey
:
q146q3Cjmi7Y6BVl8jtZK9pH
version
:
2
host
:
https://testapi.fadada.com:8443/api/
mmc-url
:
https://test.iuav.shop/userapp/
iuav
:
pay
:
uri
:
http://127.0.0.1:8088
pms
:
uri
:
http://127.0.0.1:8099
\ No newline at end of file
uri
:
http://127.0.0.1:8099
csm-service/cms-service-user/src/main/resources/application-prod.yml
浏览文件 @
cb5118ae
...
...
@@ -67,6 +67,15 @@ third-party:
qcc
:
app-key
:
5015e664848d406ab1ca4b505c3da803
secret-key
:
7C4DB8CCECC148175E46392CC0A1B410
xzsz
:
appKey
:
37f76305f1864339adc8d6d03fbf918d
appSecret
:
hangzhouyunxiangfeikeji000000000
aes
:
'
0000000000000000'
domain
:
https://saas.xzsz.ltd
position
:
市场推广
taxFundId
:
0b0376083af4435885bd5d5cd3d63053
authNotify
:
https://www.iuav.shop/userapp/xz/xzAuthNotify
withdrawNotify
:
https://www.iuav.shop/userapp/xz/xzWithdrawNotify
iuav
:
pay
:
...
...
csm-service/cms-service-user/src/main/resources/lib/fdd-verify-process-1.8.5.jar
0 → 100644
浏览文件 @
cb5118ae
File added
csm-service/cms-service-user/src/main/resources/lib/piggy-settlement-sdk-1.7.0.jar
0 → 100644
浏览文件 @
cb5118ae
File added
csm-service/cms-service-user/src/main/resources/mapper/BackUserAccountDao.xml
浏览文件 @
cb5118ae
...
...
@@ -76,12 +76,22 @@
</where>
</update>
<update
id=
"disableBackUserAccountDO"
>
update back_user_account
set disable = 1, account_no = #{accountNo}
where disable = 0
and id = #{id}
</update>
<!--
<update id="disableBackUserAccountDO">
update back_user_account
set disable = 1,
account_no = #{accountNo}
where disable = 0
and id = #{id}
</update>
-->
<delete
id=
"disableBackUserAccountDO"
>
delete
from back_user_account
where id =
#{id}
</delete>
<update
id=
"updatePassword"
>
update back_user_account
...
...
csm-service/cms-service-user/src/main/resources/mapper/UserServiceDao.xml
浏览文件 @
cb5118ae
...
...
@@ -440,5 +440,26 @@
where phone_num = #{phoneNum}
and disable = 0
</select>
<select
id=
"getUserAccountInfoByOpenId"
resultType=
"com.mmc.iuav.user.entity.UserAccountDO"
>
select id,
phone_num,
user_name,
nick_name,
user_img,
open_id,
union_id,
user_sex,
email,
`source`,
account_status,
remark,
port_type,
disable,
create_time,
update_time
from user_account
where open_id = #{openid}
and disable = 0
</select>
</mapper>
csm-service/cms-service-user/src/main/resources/mapper/UserSubInfoDao.xml
浏览文件 @
cb5118ae
<?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">
<!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.UserSubInfoDao"
>
<resultMap
id=
"userSubInfoResultMap"
type=
"com.mmc.iuav.user.entity.UserSubInfoDO"
>
<id
property=
"id"
column=
"id"
/>
<result
property=
"openId"
column=
"open_id"
/>
<result
property=
"unionId"
column=
"union_id"
/>
<result
property=
"nickName"
column=
"nick_name"
/>
<result
property=
"regStatus"
column=
"reg_status"
/>
<result
property=
"deleted"
column=
"is_deleted"
/>
<result
property=
"createTime"
column=
"create_time"
/>
<result
property=
"updateTime"
column=
"update_time"
/>
</resultMap>
<resultMap
id=
"userSubInfoResultMap"
type=
"com.mmc.iuav.user.entity.UserSubInfoDO"
>
<id
property=
"id"
column=
"id"
/>
<result
property=
"openId"
column=
"open_id"
/>
<result
property=
"unionId"
column=
"union_id"
/>
<result
property=
"nickName"
column=
"nick_name"
/>
<result
property=
"regStatus"
column=
"reg_status"
/>
<result
property=
"deleted"
column=
"is_deleted"
/>
<result
property=
"createTime"
column=
"create_time"
/>
<result
property=
"updateTime"
column=
"update_time"
/>
</resultMap>
<select
id=
"getUserSubInfo"
resultMap=
"userSubInfoResultMap"
parameterType=
"String"
>
<select
id=
"getUserSubInfo"
resultMap=
"userSubInfoResultMap"
parameterType=
"String"
>
select u.id,u.open_id,u.union_id,u.nick_name,u.reg_status,
u.is_deleted,u.create_time,u.update_time
from user_sub_info u
where u.open_id = #{openId}
</select>
<select
id=
"getUserSubInfoById"
resultMap=
"userSubInfoResultMap"
parameterType=
"Integer"
>
<select
id=
"getUserSubInfoById"
resultMap=
"userSubInfoResultMap"
parameterType=
"Integer"
>
select usi.id,usi.open_id,usi.union_id,usi.nick_name,usi.is_deleted
from user_account ua
inner join user_sub_info usi on usi.union_id=ua.union_id
where usi.is_deleted=0 and ua.is_deleted=0
and ua.user_account_id = #{userAccountId}
</select>
<select
id=
"getUserSubInfoByUnionId"
resultMap=
"userSubInfoResultMap"
parameterType=
"String"
>
select usi.id,usi.open_id,usi.union_id,usi.nick_name,usi.is_deleted
<select
id=
"getUserSubInfoByUnionId"
resultMap=
"userSubInfoResultMap"
parameterType=
"String"
>
select usi.id,usi.open_id,usi.union_id,usi.nick_name,usi.is_deleted
,usi.reg_status
from user_sub_info usi
where usi.union_id = #{unionId} and usi.is_deleted=0
</select>
<select
id=
"countUserSubInfo"
resultType=
"Integer"
parameterType=
"String"
>
<select
id=
"countUserSubInfo"
resultType=
"Integer"
parameterType=
"String"
>
select count(*)
from user_sub_info u
where u.open_id = #{openId} and is_deleted = 0
</select>
<insert
id=
"insertUserSubInfo"
useGeneratedKeys=
"true"
keyProperty=
"id"
parameterType=
"com.mmc.iuav.user.entity.UserSubInfoDO"
>
<insert
id=
"insertUserSubInfo"
useGeneratedKeys=
"true"
keyProperty=
"id"
parameterType=
"com.mmc.iuav.user.entity.UserSubInfoDO"
>
insert into user_sub_info
(
open_id,union_id,nick_name,reg_status,is_deleted,create_time,update_time
...
...
@@ -53,28 +53,28 @@
#{openId},#{unionId},#{nickName},#{regStatus},#{deleted},#{createTime},#{updateTime}
)
</insert>
<update
id=
"removeUserSubInfo"
parameterType=
"String"
>
<update
id=
"removeUserSubInfo"
parameterType=
"String"
>
update user_sub_info
set is_deleted = 1
where open_id = #{openId}
</update>
<update
id=
"updateUserSubInfo"
parameterType=
"com.mmc.iuav.user.entity.UserSubInfoDO"
>
update user_sub_info
<set>
<if
test=
"unionId != null and unionId != '' "
>
union_id = #{unionId},
</if>
<if
test=
"nickName != null"
>
nick_name = #{nickName},
</if>
<if
test=
"regStatus != null"
>
reg_status = #{regStatus},
</if>
</set>
where open_id = #{openId}
</update>
<update
id=
"updateUserSubInfo"
parameterType=
"com.mmc.iuav.user.entity.UserSubInfoDO"
>
update user_sub_info
<set>
<if
test=
"unionId != null and unionId != '' "
>
union_id = #{unionId},
</if>
<if
test=
"nickName != null"
>
nick_name = #{nickName},
</if>
<if
test=
"regStatus != null"
>
reg_status = #{regStatus},
</if>
</set>
where open_id = #{openId}
</update>
</mapper>
\ No newline at end of file
csm-service/cms-service-user/src/main/resources/mapper/fdd/UserFddAuthDao.xml
0 → 100644
浏览文件 @
cb5118ae
<?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.fdd.UserFddAuthDao"
>
<resultMap
id=
"appUserFddResultMap"
type=
"com.mmc.iuav.user.entity.fdd.UserFddDO"
>
<id
property=
"id"
column=
"id"
/>
<result
property=
"unionId"
column=
"union_id"
/>
<result
property=
"customerId"
column=
"customer_id"
/>
<result
property=
"personVerifyStatus"
column=
"person_verify_status"
/>
<result
property=
"entVerifyStatus"
column=
"ent_verify_status"
/>
<result
property=
"accountType"
column=
"account_type"
/>
<result
property=
"updateTime"
column=
"update_time"
/>
<result
property=
"createTime"
column=
"create_time"
/>
</resultMap>
<insert
id=
"insertAppUserFdd"
parameterType=
"com.mmc.iuav.user.entity.fdd.UserFddDO"
keyProperty=
"id"
useGeneratedKeys=
"true"
>
insert into user_fdd
(union_id, customer_id, person_verify_status, ent_verify_status, account_type, create_time)
values (#{unionId}, #{customerId}, #{personVerifyStatus}, #{entVerifyStatus}, #{accountType}, NOW())
</insert>
<insert
id=
"insertVerifyInfo"
useGeneratedKeys=
"true"
keyProperty=
"id"
parameterType=
"com.mmc.iuav.user.entity.fdd.FddVerifyInfoDO"
>
insert into fdd_verify_info
(user_fdd_id, customer_id, transaction_no, url, create_time)
values (#{userFddId}, #{customerId}, #{transactionNo}, #{url}, NOW())
</insert>
<update
id=
"updateCompanyCertStatus"
>
update user_fdd
set ent_verify_status = #{status}
where customer_id = #{customerId}
</update>
<select
id=
"checkRegisterFdd"
resultType=
"com.mmc.iuav.user.entity.fdd.UserFddDO"
>
select id,
union_id,
customer_id,
person_verify_status,
ent_verify_status,
account_type,
create_time,
update_time
from user_fdd
where union_id = #{unionId}
and account_type = #{flag}
and is_deleted = 0
</select>
<select
id=
"getVerifyUrl"
resultType=
"com.mmc.iuav.user.entity.fdd.FddVerifyInfoDO"
>
select id, user_fdd_id, customer_id, transaction_no, url, create_time, update_time
from fdd_verify_info
where customer_id = #{customerId}
</select>
<select
id=
"getAppUserFddInfo"
resultType=
"com.mmc.iuav.user.entity.fdd.UserFddDO"
>
select id, customer_id, person_verify_status, ent_verify_status, account_type, create_time, update_time
from user_fdd
where union_id = #{unionId}
</select>
</mapper>
\ No newline at end of file
csm-service/cms-service-user/src/main/resources/mapper/wallet/PayWalletDao.xml
浏览文件 @
cb5118ae
差异被折叠。
点击展开。
csm-service/cms-service-user/src/main/resources/mapper/xzsz/WithdrawalDao.xml
0 → 100644
浏览文件 @
cb5118ae
<?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"
>
<insert
id=
"insertWithdrawalApply"
useGeneratedKeys=
"true"
keyProperty=
"id"
parameterType=
"com.mmc.iuav.user.entity.XzWithdrawalApplyDO"
>
insert into xz_withdrawal_apply (user_account_id,
bank_name,
emp_name,
emp_phone,
license_id,
license_type,
`month`,
outer_trade_no,
pay_account,
pay_amount,
position_name,
settle_type,
trade_status)
values (#{userAccountId}, #{bankName}, #{empName}, #{empPhone}, #{licenseId}, #{licenseType}, #{month},
#{outerTradeNo}, #{payAccount}, #{payAmount}, #{positionName}, #{settleType}, #{tradeStatus})
</insert>
</mapper>
\ No newline at end of file
csm-service/cms-service-user/src/main/resources/mapper/xzsz/XzDao.xml
0 → 100644
浏览文件 @
cb5118ae
<?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.XzDao"
>
<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)
values (#{userAccountId}, #{name}, #{idCardNo}, #{mobile}, #{bankAccount}, #{subsidiary_name}, #{document_id},
#{customParams}, #{contract_url}, #{xzAuthStatus}, NOW())
</insert>
<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,
xz_auth_status
from xz_auth
where user_account_id = #{userAccountId}
and is_deleted = 0
</select>
</mapper>
csm-service/cms-service-user/src/main/resources/not-check.yml
浏览文件 @
cb5118ae
...
...
@@ -29,4 +29,8 @@ data-filter:
-
/userapp/cooperation/appBrandMessage
-
/userapp/pilot/detailPilot
-
/userapp/pilot/appListPilot
-
/userapp/xz/xzAuthNotify
-
/userapp/xz/xzWithdrawNotify
-
/userapp/pay/feignTopUpCash
-
/userapp/pay/feignWalletFlowNO
kustomization/overlays/dev/kustomization.yaml
浏览文件 @
cb5118ae
...
...
@@ -18,4 +18,4 @@ patches:
images
:
-
name
:
REGISTRY/NAMESPACE/IMAGE:TAG
newName
:
mmc-registry.cn-shenzhen.cr.aliyuncs.com/sharefly-dev/cms
newTag
:
af55c66e9935fdc316c1f338ca46fe45bc16a77f
newTag
:
902a215520b53a526b6a1c467371e1a4b02f89bd
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论