Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
cms
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
iuav
cms
Commits
2f8be2f1
提交
2f8be2f1
authored
9月 11, 2023
作者:
xiaowang
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'develop'
上级
85c61fbc
f0e4f9da
显示空白字符变更
内嵌
并排
正在显示
39 个修改的文件
包含
1524 行增加
和
53 行删除
+1524
-53
ContractInfoDTO.java
...java/com/mmc/iuav/user/model/fdd/dto/ContractInfoDTO.java
+66
-0
SealInfoDTO.java
...ain/java/com/mmc/iuav/user/model/fdd/dto/SealInfoDTO.java
+34
-0
UserFddDTO.java
...main/java/com/mmc/iuav/user/model/fdd/dto/UserFddDTO.java
+9
-0
ContractVO.java
.../main/java/com/mmc/iuav/user/model/fdd/vo/ContractVO.java
+38
-0
SealInfoVO.java
.../main/java/com/mmc/iuav/user/model/fdd/vo/SealInfoVO.java
+49
-0
SealVO.java
.../src/main/java/com/mmc/iuav/user/model/fdd/vo/SealVO.java
+28
-0
PayUavWalletVO.java
...ava/com/mmc/iuav/user/model/vo/wallet/PayUavWalletVO.java
+37
-0
ResultEnum.java
...-util/src/main/java/com/mmc/iuav/response/ResultEnum.java
+2
-0
FddConstant.java
...main/java/com/mmc/iuav/user/constant/fdd/FddConstant.java
+10
-6
CompanyController.java
.../java/com/mmc/iuav/user/controller/CompanyController.java
+7
-0
PilotCertificationController.java
...r/controller/dronepilot/PilotCertificationController.java
+0
-1
ContractController.java
.../com/mmc/iuav/user/controller/fdd/ContractController.java
+81
-0
SealManageController.java
...om/mmc/iuav/user/controller/fdd/SealManageController.java
+87
-0
UserFddAuthController.java
...m/mmc/iuav/user/controller/fdd/UserFddAuthController.java
+14
-2
PayWalletController.java
.../mmc/iuav/user/controller/wallet/PayWalletController.java
+8
-0
CompanyDao.java
...-user/src/main/java/com/mmc/iuav/user/dao/CompanyDao.java
+4
-0
ContractDao.java
.../src/main/java/com/mmc/iuav/user/dao/fdd/ContractDao.java
+31
-0
SealManageDao.java
...rc/main/java/com/mmc/iuav/user/dao/fdd/SealManageDao.java
+32
-0
ContractInfoDO.java
...ain/java/com/mmc/iuav/user/entity/fdd/ContractInfoDO.java
+79
-0
SealInfoDO.java
...rc/main/java/com/mmc/iuav/user/entity/fdd/SealInfoDO.java
+54
-0
PayMethodEnums.java
...src/main/java/com/mmc/iuav/user/enums/PayMethodEnums.java
+3
-1
CompanyService.java
...c/main/java/com/mmc/iuav/user/service/CompanyService.java
+2
-0
ContractService.java
...n/java/com/mmc/iuav/user/service/fdd/ContractService.java
+43
-0
SealManageService.java
...java/com/mmc/iuav/user/service/fdd/SealManageService.java
+28
-0
UserFddAuthService.java
...ava/com/mmc/iuav/user/service/fdd/UserFddAuthService.java
+1
-0
ContractServiceImpl.java
...m/mmc/iuav/user/service/fdd/impl/ContractServiceImpl.java
+231
-0
SealManageServiceImpl.java
...mmc/iuav/user/service/fdd/impl/SealManageServiceImpl.java
+218
-0
BackUserAccountServiceImpl.java
...mc/iuav/user/service/impl/BackUserAccountServiceImpl.java
+1
-0
CompanyServiceImpl.java
...va/com/mmc/iuav/user/service/impl/CompanyServiceImpl.java
+10
-0
UserAccountServiceImpl.java
...om/mmc/iuav/user/service/impl/UserAccountServiceImpl.java
+4
-1
PayWalletService.java
...va/com/mmc/iuav/user/service/wallet/PayWalletService.java
+4
-0
PayWalletServiceImpl.java
...c/iuav/user/service/wallet/impl/PayWalletServiceImpl.java
+103
-38
CompanyDao.xml
...cms-service-user/src/main/resources/mapper/CompanyDao.xml
+17
-0
UserServiceDao.xml
...service-user/src/main/resources/mapper/UserServiceDao.xml
+3
-2
ContractDao.xml
...ervice-user/src/main/resources/mapper/fdd/ContractDao.xml
+93
-0
SealManageDao.xml
...vice-user/src/main/resources/mapper/fdd/SealManageDao.xml
+80
-0
UserFddAuthDao.xml
...ice-user/src/main/resources/mapper/fdd/UserFddAuthDao.xml
+8
-1
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/fdd/dto/ContractInfoDTO.java
0 → 100644
浏览文件 @
2f8be2f1
package
com
.
mmc
.
iuav
.
user
.
model
.
fdd
.
dto
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* (ContractInfoDO)实体类
*
* @author makejava
* @since 2023-09-07 10:14:08
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public
class
ContractInfoDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
42558889792167148L
;
@ApiModelProperty
(
value
=
"id"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"发起合同方用户唯一标识"
)
private
String
unionId
;
@ApiModelProperty
(
value
=
"订单号"
)
private
String
orderNo
;
@ApiModelProperty
(
value
=
"合同编号"
)
private
String
contractNo
;
@ApiModelProperty
(
value
=
"合同标题"
)
private
String
contractTitle
;
@ApiModelProperty
(
value
=
"状态: 0、等待平台签署1、平台签署失败 2、等待(买家/供应商)签署(平台签署成功) 3、(买家/供应商)签署失败 4、(买家/供应商)签署成功、5、归档"
)
private
Integer
signStatus
;
@ApiModelProperty
(
value
=
"签署完成日期"
)
private
Date
singerTime
;
@ApiModelProperty
(
value
=
"平台签署失败备注信息"
)
private
String
aRemark
;
@ApiModelProperty
(
value
=
"(买家/供应商)签署失败备注信息"
)
private
String
bRemark
;
@ApiModelProperty
(
value
=
"平台签署交易号"
)
private
String
aTransactionId
;
@ApiModelProperty
(
value
=
"(买家/供应商)签署交易号"
)
private
String
bTransactionId
;
@ApiModelProperty
(
value
=
"创建时间"
)
private
Date
createTime
;
@ApiModelProperty
(
value
=
"更新时间"
)
private
Date
updateTime
;
@ApiModelProperty
(
value
=
"归档日期"
)
private
Date
archiveDate
;
}
cms-common/cms-common-model/src/main/java/com/mmc/iuav/user/model/fdd/dto/SealInfoDTO.java
0 → 100644
浏览文件 @
2f8be2f1
package
com
.
mmc
.
iuav
.
user
.
model
.
fdd
.
dto
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* @Author LW
* @date 2022/8/4 14:20
* 概要:
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public
class
SealInfoDTO
implements
Serializable
{
@ApiModelProperty
(
value
=
"id"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"印章名称"
)
private
String
sealName
;
@ApiModelProperty
(
value
=
"印章编号"
)
private
String
signatureId
;
@ApiModelProperty
(
value
=
"印章状态: 0:默认 1:未启用"
)
private
Integer
sealStatus
;
@ApiModelProperty
(
value
=
"创建时间"
)
private
Date
createTime
;
@ApiModelProperty
(
value
=
"印章图片"
)
private
String
sealUrl
;
}
cms-common/cms-common-model/src/main/java/com/mmc/iuav/user/model/fdd/dto/UserFddDTO.java
浏览文件 @
2f8be2f1
package
com
.
mmc
.
iuav
.
user
.
model
.
fdd
.
dto
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
...
...
@@ -20,12 +21,20 @@ import java.util.Date;
public
class
UserFddDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
4952516407490131779L
;
@ApiModelProperty
(
value
=
"id"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"用户唯一标识"
)
private
String
unionId
;
@ApiModelProperty
(
value
=
"客户id"
)
private
String
customerId
;
@ApiModelProperty
(
value
=
"个人实名认证状态"
)
private
Integer
personVerifyStatus
;
@ApiModelProperty
(
value
=
"企业实名认证状态"
)
private
Integer
entVerifyStatus
;
@ApiModelProperty
(
value
=
"账号类型 1个人 2企业"
)
private
Integer
accountType
;
@ApiModelProperty
(
value
=
"创建时间"
)
private
Date
createTime
;
@ApiModelProperty
(
value
=
"更新时间"
)
private
Date
updateTime
;
}
cms-common/cms-common-model/src/main/java/com/mmc/iuav/user/model/fdd/vo/ContractVO.java
0 → 100644
浏览文件 @
2f8be2f1
package
com
.
mmc
.
iuav
.
user
.
model
.
fdd
.
vo
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
/**
* @Author LW
* @date 2022/9/5 14:40
* 概要:
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public
class
ContractVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
570570471824495498L
;
@ApiModelProperty
(
value
=
"合同地址"
)
@NotNull
(
message
=
"合同地址不能为空"
)
private
String
docUrl
;
@ApiModelProperty
(
value
=
"订单编号"
)
@NotNull
(
message
=
"订单编号不能为空"
)
private
String
orderNo
;
@ApiModelProperty
(
value
=
"合同标题"
)
@NotNull
(
message
=
"合同标题不能为空"
)
private
String
title
;
@ApiModelProperty
(
value
=
"端口:0小程序 1后台"
)
private
Integer
port
;
@ApiModelProperty
(
value
=
"unionId"
,
hidden
=
true
)
private
String
unionId
;
}
cms-common/cms-common-model/src/main/java/com/mmc/iuav/user/model/fdd/vo/SealInfoVO.java
0 → 100644
浏览文件 @
2f8be2f1
package
com
.
mmc
.
iuav
.
user
.
model
.
fdd
.
vo
;
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
;
/**
* @Author LW
* @date 2022/8/5 17:19
* 概要:
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public
class
SealInfoVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
1288955644357663835L
;
@ApiModelProperty
(
value
=
"开始时间"
)
private
String
startTime
;
@ApiModelProperty
(
value
=
"结束时间"
)
private
String
endTime
;
@ApiModelProperty
(
value
=
"端口:0小程序 1后台"
)
private
Integer
port
;
@ApiModelProperty
(
value
=
"用户唯一标识"
,
hidden
=
true
)
private
String
uId
;
@ApiModelProperty
(
value
=
"页码"
,
required
=
true
)
@NotNull
(
message
=
"页码不能为空"
,
groups
=
{
Page
.
class
,
Freeze
.
class
})
@Min
(
value
=
1
,
groups
=
Page
.
class
)
private
Integer
pageNo
;
@ApiModelProperty
(
value
=
"每页显示数"
,
required
=
true
)
@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/fdd/vo/SealVO.java
0 → 100644
浏览文件 @
2f8be2f1
package
com
.
mmc
.
iuav
.
user
.
model
.
fdd
.
vo
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
/**
* @Author LW
* @date 2023/9/8 11:12
* 概要:
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public
class
SealVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
8686644521460467009L
;
@ApiModelProperty
(
value
=
"印章路径"
)
private
String
sealUrl
;
@ApiModelProperty
(
value
=
"印章名称"
)
private
String
sealName
;
@ApiModelProperty
(
value
=
"用户id"
,
hidden
=
true
)
private
String
unionId
;
@ApiModelProperty
(
value
=
"端口:0小程序 1后台"
)
private
Integer
port
;
}
cms-common/cms-common-model/src/main/java/com/mmc/iuav/user/model/vo/wallet/PayUavWalletVO.java
0 → 100644
浏览文件 @
2f8be2f1
package
com
.
mmc
.
iuav
.
user
.
model
.
vo
.
wallet
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
/**
* @Author LW
* @date 2023/9/7 16:07
* 概要:
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public
class
PayUavWalletVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1683979749411588941L
;
@ApiModelProperty
(
value
=
"用户ID"
,
required
=
true
)
private
Integer
userAccountId
;
@ApiModelProperty
(
value
=
"云享金"
)
private
BigDecimal
cashAmount
;
@ApiModelProperty
(
value
=
"佣金"
)
private
BigDecimal
salaryAmount
;
@ApiModelProperty
(
value
=
"订单状态 100:订单支付 1400:商城订单退款 1500:订单提成"
,
required
=
true
)
private
Integer
orderStatus
;
@ApiModelProperty
(
value
=
"订单备注"
)
private
String
remark
;
}
cms-common/cms-common-util/src/main/java/com/mmc/iuav/response/ResultEnum.java
浏览文件 @
2f8be2f1
...
...
@@ -18,6 +18,8 @@ public enum ResultEnum implements BaseErrorInfoInterface {
BUSINESS_LICENSE_CHECK_PARAMETER_ERROR
(
"1002"
,
"企业信息与营业执照信息不一致,请重新上传"
),
THE_BRAND_NAME_CANNOT_BE_EMPTY
(
"1003"
,
"品牌名称不能为空"
),
THE_BRAND_LOGO_CANNOT_BE_EMPTY
(
"1004"
,
"logo图标不能为空"
),
BUSINESS_LICENSE_CHECK_ERROR
(
"1005"
,
"未进行(企业/个人)认证"
),
BUSINESS_LICENSE_CHECK_NOT_PASS
(
"1006"
,
"(企业/个人)认证未通过"
),
TAG_ALREADY_EXIST_ERROR
(
"2001"
,
"您已拥有该身份,不需要重复提交"
),
TAG_APPLY_ALREADY_EXIST_ERROR
(
"2002"
,
"已存在申请记录,不可重复申请"
),
...
...
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/constant/fdd/FddConstant.java
浏览文件 @
2f8be2f1
...
...
@@ -3,12 +3,12 @@ package com.mmc.iuav.user.constant.fdd;
import
org.springframework.stereotype.Component
;
/**
* author:zhenjie
* Date:2022/7/22
* @author:lw Date:2022/7/22
* time:11:07
*/
@Component
public
class
FddConstant
{
public
static
final
String
SUCCESS_CODE
=
"1000"
;
public
static
final
String
CODE
=
"code"
;
public
static
final
String
DATA
=
"data"
;
...
...
@@ -26,11 +26,9 @@ public class FddConstant {
//企业实名认证同步回调
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_E_CERT_RES
=
"fdd/
auth/
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
NOTIFY_STAMP
=
"/fdd/contract/notifyStamp"
;
public
static
final
String
APP_ID
=
"appId"
;
...
...
@@ -43,4 +41,10 @@ public class FddConstant {
public
static
final
String
SIGN
=
"sign"
;
public
static
final
String
UID_REGEX
=
"[-|_]"
;
public
static
final
String
YXF
=
"YXF"
;
public
static
final
String
SIGN_SUCCESS
=
"3000"
;
public
static
final
String
SIGN_FAIL
=
"3001"
;
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/controller/CompanyController.java
浏览文件 @
2f8be2f1
...
...
@@ -131,4 +131,11 @@ public class CompanyController extends BaseController {
public
List
<
CompanyInfoVO
>
listCompanyInfoByBUIds
(
@RequestBody
List
<
Integer
>
backUserAccountIds
)
{
return
companyService
.
listCompanyInfoByBUIds
(
backUserAccountIds
);
}
@ApiOperation
(
value
=
"根据后台用户id获取公司管理员id"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@GetMapping
(
"getManagerIdByBackUserId"
)
public
ResultBody
getManagerIdByBackUserId
(
@RequestParam
Integer
backUserAccountId
)
{
return
companyService
.
getManagerIdByBackUserId
(
backUserAccountId
);
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/controller/dronepilot/PilotCertificationController.java
浏览文件 @
2f8be2f1
...
...
@@ -119,7 +119,6 @@ public class PilotCertificationController extends BaseController {
return
certificationService
.
updateAuditStatus
(
param
,
this
.
getUserLoginInfoFromRedis
(
request
));
}
@ApiOperation
(
value
=
"后台管理——日志列表————飞手执照及能力认证"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
PilotCertificationDTO
.
class
)})
@PostMapping
(
"/backPilotLogList"
)
...
...
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/controller/fdd/ContractController.java
0 → 100644
浏览文件 @
2f8be2f1
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.ContractInfoDTO
;
import
com.mmc.iuav.user.model.fdd.vo.ContractVO
;
import
com.mmc.iuav.user.service.fdd.ContractService
;
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.List
;
import
java.util.Map
;
/**
* @Author LW
* @date 2022/9/5 14:31
* 概要:
*/
@Api
(
tags
=
{
"合同管理"
})
@RestController
@RequestMapping
(
"/fdd/contract/"
)
public
class
ContractController
extends
BaseController
{
@Autowired
private
ContractService
contractService
;
@ApiOperation
(
value
=
"上传合同"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@PostMapping
(
"/uploadContract"
)
public
ResultBody
uploadContract
(
@RequestBody
ContractVO
param
,
HttpServletRequest
request
)
{
return
contractService
.
uploadContract
(
param
,
this
.
getUserLoginInfoFromRedis
(
request
));
}
@ApiOperation
(
value
=
"合同预览"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@GetMapping
(
"/viewContract"
)
public
ResultBody
viewContract
(
@ApiParam
(
value
=
"合同编号"
)
@RequestParam
(
value
=
"contractId"
)
String
contractId
)
{
return
contractService
.
viewContract
(
contractId
);
}
@ApiOperation
(
value
=
"下载合同"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@GetMapping
(
"/downloadContract"
)
public
ResultBody
downloadContract
(
@ApiParam
(
value
=
"合同编号"
)
@RequestParam
(
value
=
"contractId"
)
String
contractId
)
{
return
contractService
.
downloadContract
(
contractId
);
}
@ApiOperation
(
value
=
"手动签署"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@GetMapping
(
"/stamp"
)
public
ResultBody
stamp
(
@ApiParam
(
value
=
"合同编号"
)
@RequestParam
(
value
=
"contractId"
)
String
contractId
,
@ApiParam
(
value
=
"小程序页面跳转地址"
)
@RequestParam
(
value
=
"pages"
,
required
=
false
)
String
pages
,
HttpServletRequest
request
,
@ApiParam
(
value
=
"端口:0小程序 1后台"
)
@RequestParam
(
value
=
"port"
)
Integer
port
)
{
return
contractService
.
stamp
(
contractId
,
this
.
getUserLoginInfoFromRedis
(
request
),
pages
,
port
);
}
@ApiOperation
(
value
=
"异步处理手动签署信息"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@PostMapping
(
"notifyStamp"
)
@ApiIgnore
public
ResultBody
notifyStamp
(
@RequestParam
Map
<
String
,
String
>
map
)
{
return
contractService
.
notifyStamp
(
map
);
}
@ApiOperation
(
value
=
"归档"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@GetMapping
(
"/file"
)
public
ResultBody
file
(
@ApiParam
(
value
=
"合同编号"
)
@RequestParam
(
value
=
"contractId"
)
String
contractId
,
HttpServletRequest
request
,
@ApiParam
(
value
=
"端口:0小程序 1后台"
)
@RequestParam
(
value
=
"port"
)
Integer
port
)
{
return
contractService
.
file
(
contractId
,
this
.
getUserLoginInfoFromRedis
(
request
),
port
);
}
@ApiOperation
(
value
=
"根据订单编号数组获取合同的信息"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ContractInfoDTO
.
class
)})
@PostMapping
(
"/listContractInfoByOrderNo"
)
public
List
<
ContractInfoDTO
>
getContractInfo
(
@ApiParam
(
value
=
"订单编号list"
)
@RequestBody
List
<
String
>
orderNos
)
{
return
contractService
.
listContractInfoByOrderNo
(
orderNos
);
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/controller/fdd/SealManageController.java
0 → 100644
浏览文件 @
2f8be2f1
package
com
.
mmc
.
iuav
.
user
.
controller
.
fdd
;
/**
* @Author LW
* @date 2022/8/31 15:28
* 概要:
*/
import
com.mmc.iuav.response.ResultBody
;
import
com.mmc.iuav.user.controller.BaseController
;
import
com.mmc.iuav.user.model.fdd.dto.SealInfoDTO
;
import
com.mmc.iuav.user.model.fdd.vo.SealInfoVO
;
import
com.mmc.iuav.user.model.fdd.vo.SealVO
;
import
com.mmc.iuav.user.service.fdd.SealManageService
;
import
io.swagger.annotations.*
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.http.HttpServletRequest
;
/**
* @Author LW
* @date 2022/8/3 10:22
* 概要:
*/
@Api
(
tags
=
{
"印章管理模块-接口"
})
@RequestMapping
(
"/seal/"
)
@RestController
public
class
SealManageController
extends
BaseController
{
@Autowired
private
SealManageService
sealManageService
;
@ApiOperation
(
value
=
"上传印章"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@PostMapping
(
"/uploadSeal"
)
public
ResultBody
uploadSeal
(
@RequestBody
SealVO
sealVO
,
HttpServletRequest
request
)
{
return
sealManageService
.
uploadSeal
(
sealVO
,
this
.
getUserLoginInfoFromRedis
(
request
));
}
@ApiOperation
(
value
=
"当前用户印章列表"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
SealInfoDTO
.
class
)})
@PostMapping
(
"/getSealInfoList"
)
public
ResultBody
getSealInfoList
(
HttpServletRequest
request
,
@RequestBody
SealInfoVO
param
)
{
return
ResultBody
.
success
(
sealManageService
.
getSealInfoList
(
param
,
this
.
getUserLoginInfoFromRedis
(
request
)));
}
@ApiOperation
(
value
=
"删除印章"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@GetMapping
(
"/removeSeal"
)
public
ResultBody
removeSeal
(
@ApiParam
(
value
=
"印章编号"
)
@RequestParam
(
value
=
"signatureId"
)
String
signatureId
,
@ApiParam
(
value
=
"端口 0小程序 1后台"
)
Integer
port
,
HttpServletRequest
request
)
{
return
sealManageService
.
removeSeal
(
signatureId
,
port
,
this
.
getUserLoginInfoFromRedis
(
request
));
}
@ApiOperation
(
value
=
"设置默认签章"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@GetMapping
(
"/defaultSeal"
)
public
ResultBody
defaultSeal
(
@ApiParam
(
value
=
"印章编号"
)
@RequestParam
(
value
=
"signatureId"
)
String
signatureId
,
@ApiParam
(
value
=
"端口 0小程序 1后台"
)
Integer
port
,
HttpServletRequest
request
)
{
return
sealManageService
.
defaultSeal
(
signatureId
,
port
,
this
.
getUserLoginInfoFromRedis
(
request
));
}
@ApiOperation
(
value
=
"查看印章信息"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@GetMapping
(
"/getSealInfo"
)
public
ResultBody
getSealInfo
(
@ApiParam
(
value
=
"印章编号"
)
@RequestParam
(
value
=
"signatureId"
)
String
signatureId
,
@ApiParam
(
value
=
"端口 0小程序 1后台"
)
Integer
port
,
HttpServletRequest
request
)
{
return
sealManageService
.
getSealInfo
(
signatureId
,
port
,
this
.
getUserLoginInfoFromRedis
(
request
));
}
@ApiOperation
(
value
=
"编辑印章名称"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@PostMapping
(
"/editSealName"
)
public
ResultBody
editSealName
(
@ApiParam
(
value
=
"印章编号"
)
@RequestParam
(
value
=
"signatureId"
)
String
signatureId
,
@ApiParam
(
value
=
"端口 0小程序 1后台"
)
Integer
port
,
@ApiParam
(
value
=
"要修改的印章名称"
)
String
sealName
,
HttpServletRequest
request
)
{
return
sealManageService
.
editSealName
(
signatureId
,
port
,
this
.
getUserLoginInfoFromRedis
(
request
),
sealName
);
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/controller/fdd/UserFddAuthController.java
浏览文件 @
2f8be2f1
...
...
@@ -6,6 +6,7 @@ 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.FddService
;
import
com.mmc.iuav.user.service.fdd.UserFddAuthService
;
import
io.swagger.annotations.*
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -19,14 +20,17 @@ import java.util.Map;
* @author:lw Date:2022/9/1
* time:15:44
*/
@Api
(
tags
=
{
"fdd用户认证"
})
@Api
(
tags
=
{
"fdd用户认证"
})
@RestController
@RequestMapping
(
"/fdd/"
)
@RequestMapping
(
"/fdd/
auth/
"
)
public
class
UserFddAuthController
extends
BaseController
{
@Autowired
private
UserFddAuthService
userFddAuthService
;
@Autowired
private
FddService
fddService
;
@ApiOperation
(
value
=
"注册法大大账号"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
String
.
class
)})
@ApiIgnore
...
...
@@ -49,6 +53,14 @@ public class UserFddAuthController extends BaseController {
return
userFddAuthService
.
getCompanyVerifyUrl
(
port
,
this
.
getUserLoginInfoFromRedis
(
request
));
}
@ApiOperation
(
value
=
"申请实名证书"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
String
.
class
)})
@GetMapping
(
"getApplyCert"
)
@ApiIgnore
public
String
getApplyCert
(
@RequestParam
String
customerId
,
@RequestParam
String
transactionNo
)
{
return
fddService
.
getApplyCert
(
customerId
,
transactionNo
);
}
@ApiOperation
(
value
=
"异步处理企业实名认证"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@ApiIgnore
...
...
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/controller/wallet/PayWalletController.java
浏览文件 @
2f8be2f1
...
...
@@ -5,6 +5,7 @@ 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.PayUavWalletVO
;
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
;
...
...
@@ -77,4 +78,11 @@ public class PayWalletController extends BaseController {
@ApiParam
(
value
=
"详情类型"
,
required
=
true
)
@RequestParam
String
detailType
)
{
return
payWalletService
.
billingDetails
(
id
,
detailType
);
}
@ApiOperation
(
value
=
"商城订单钱包流水加扣记录"
,
hidden
=
true
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@PostMapping
(
"feignPayUavWallet"
)
public
ResultBody
payUavWallet
(
@RequestBody
PayUavWalletVO
payUavWalletVO
)
{
return
payWalletService
.
payUavWallet
(
payUavWalletVO
);
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/dao/CompanyDao.java
浏览文件 @
2f8be2f1
...
...
@@ -201,4 +201,8 @@ public interface CompanyDao {
List
<
CompanyInfoDO
>
listCompanyInfoByIds
(
@Param
(
"ids"
)
List
<
Integer
>
ids
);
void
deleteCompanyInfoById
(
Integer
id
);
CompanyMemberDO
getManagerByCompanyId
(
Integer
companyInfoId
);
CompanyBackUserDO
getCompanyBackUserByBackUserId
(
Integer
backUserAccountId
);
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/dao/fdd/ContractDao.java
0 → 100644
浏览文件 @
2f8be2f1
package
com
.
mmc
.
iuav
.
user
.
dao
.
fdd
;
import
com.mmc.iuav.user.entity.fdd.ContractInfoDO
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
/**
* @Author LW
* @date 2022/9/5 14:47
* 概要:
*/
@Mapper
public
interface
ContractDao
{
/**
* 新增无人机城合同信息
*
* @param uavContractInfoDO
*/
void
insertUavContractInfo
(
ContractInfoDO
uavContractInfoDO
);
ContractInfoDO
contractInfoByOrderNo
(
String
orderNo
,
String
contractNo
);
void
deleteContractInfo
(
String
orderNo
);
void
updateContractInfo
(
ContractInfoDO
updateContract
);
List
<
ContractInfoDO
>
listContractInfoByOrderNo
(
@Param
(
value
=
"orderNo"
)
List
<
String
>
orderNo
);
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/dao/fdd/SealManageDao.java
0 → 100644
浏览文件 @
2f8be2f1
package
com
.
mmc
.
iuav
.
user
.
dao
.
fdd
;
import
com.mmc.iuav.user.entity.fdd.SealInfoDO
;
import
com.mmc.iuav.user.model.fdd.vo.SealInfoVO
;
import
org.apache.ibatis.annotations.Mapper
;
import
java.util.List
;
/**
* @Author LW
* @date 2023/9/8 14:36
* 概要:
*/
@Mapper
public
interface
SealManageDao
{
void
insertSealInfo
(
SealInfoDO
sealInfoDO
);
int
countSealInfo
(
SealInfoVO
param
);
List
<
SealInfoDO
>
getSealInfoList
(
SealInfoVO
param
);
void
deletedSealInfo
(
String
signatureId
);
List
<
SealInfoDO
>
getSealInfoListByUnionId
(
String
unionId
);
void
updateSealStatusById
(
List
<
Integer
>
sealIds
);
void
updateSealStatusBySignatureId
(
String
signatureId
);
void
updateSealName
(
String
unionId
,
String
signatureId
,
String
sealName
);
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/entity/fdd/ContractInfoDO.java
0 → 100644
浏览文件 @
2f8be2f1
package
com
.
mmc
.
iuav
.
user
.
entity
.
fdd
;
import
com.mmc.iuav.user.model.fdd.dto.ContractInfoDTO
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* (ContractInfoDO)实体类
*
* @author makejava
* @since 2023-09-07 10:14:08
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
ContractInfoDO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
42558889792167148L
;
private
Integer
id
;
/**
* 发起合同方用户id
*/
private
String
unionId
;
/**
* 订单号
*/
private
String
orderNo
;
/**
* 合同编号
*/
private
String
contractNo
;
/**
* 合同标题
*/
private
String
contractTitle
;
/**
* 状态: 0、等待平台签署1、平台签署失败 2、等待(买家/供应商)签署(平台签署成功) 3、(买家/供应商)签署失败 4、(买家/供应商)签署成功、5、归档
*/
private
Integer
signStatus
;
/**
* 签署完成日期
*/
private
Date
singerTime
;
/**
* 平台签署失败备注信息
*/
private
String
aRemark
;
/**
* (买家/供应商)签署失败备注信息
*/
private
String
bRemark
;
/**
* 平台签署交易号
*/
private
String
aTransactionId
;
/**
* (买家/供应商)签署交易号
*/
private
String
bTransactionId
;
private
Date
createTime
;
private
Date
updateTime
;
/**
* 归档日期
*/
private
Date
archiveDate
;
public
ContractInfoDTO
buildContractInfoDTO
()
{
return
ContractInfoDTO
.
builder
().
id
(
this
.
id
).
unionId
(
this
.
unionId
).
orderNo
(
this
.
orderNo
).
contractNo
(
this
.
contractNo
).
contractTitle
(
this
.
contractTitle
)
.
signStatus
(
this
.
signStatus
).
singerTime
(
this
.
singerTime
).
aRemark
(
this
.
aRemark
).
bRemark
(
this
.
bRemark
).
aTransactionId
(
this
.
aTransactionId
).
bTransactionId
(
this
.
bTransactionId
)
.
createTime
(
this
.
createTime
).
updateTime
(
this
.
updateTime
).
archiveDate
(
this
.
archiveDate
).
build
();
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/entity/fdd/SealInfoDO.java
0 → 100644
浏览文件 @
2f8be2f1
package
com
.
mmc
.
iuav
.
user
.
entity
.
fdd
;
import
com.mmc.iuav.user.model.fdd.dto.SealInfoDTO
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* (SealInfoDO)实体类
*
* @author makejava
* @since 2023-09-08 14:30:13
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public
class
SealInfoDO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
88451609760389058L
;
private
Integer
id
;
/**
* 印章名称
*/
private
String
sealName
;
/**
* 印章编号
*/
private
String
signatureId
;
/**
* 用户唯一标识
*/
private
String
unionId
;
/**
* 印章状态:0未使用 1使用中
*/
private
Integer
sealStatus
;
/**
* 印章图片
*/
private
String
sealUrl
;
private
Date
createTime
;
private
Date
updateTime
;
public
SealInfoDTO
buildSealInfoDTO
()
{
return
SealInfoDTO
.
builder
().
id
(
this
.
id
).
sealStatus
(
this
.
sealStatus
).
sealName
(
this
.
sealName
)
.
signatureId
(
this
.
signatureId
).
createTime
(
this
.
createTime
).
sealUrl
(
this
.
sealUrl
).
build
();
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/enums/PayMethodEnums.java
浏览文件 @
2f8be2f1
...
...
@@ -16,7 +16,9 @@ public enum PayMethodEnums {
MODIFY_THE_ORDER
(
800
,
"修改订单金额状态(大于)"
),
FLYING_HAND_NOT_CONFIRMED_GT
(
900
,
"飞手未确认修改金额大于原订单状态"
),
FLYING_HAND_CONFIRM_LT
(
1000
,
"飞手确认修改金额小于原订单状态"
),
USER_TOP_UP
(
1100
,
"充值"
);
USER_TOP_UP
(
1100
,
"充值"
),
PAY_UAV_ORDER_REFUND
(
1400
,
"商城订单退款"
),
ORDER_INCOME
(
1500
,
"订单收益"
);
PayMethodEnums
(
Integer
code
,
String
method
)
{
this
.
code
=
code
;
...
...
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/service/CompanyService.java
浏览文件 @
2f8be2f1
...
...
@@ -168,4 +168,6 @@ public interface CompanyService {
List
<
CompanyInfoVO
>
listCompanyInfoByBUIds
(
List
<
Integer
>
backUserAccountIds
);
void
deleteCompanyInfoById
(
Integer
id
);
ResultBody
getManagerIdByBackUserId
(
Integer
backUserAccountId
);
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/service/fdd/ContractService.java
0 → 100644
浏览文件 @
2f8be2f1
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.ContractInfoDTO
;
import
com.mmc.iuav.user.model.fdd.vo.ContractVO
;
import
java.util.List
;
import
java.util.Map
;
/**
* @Author LW
* @date 2022/9/5 14:38
* 概要:
*/
public
interface
ContractService
{
/**
* 上传合同
*
* @param param
* @param id
* @return
*/
ResultBody
uploadContract
(
ContractVO
param
,
LoginSuccessDTO
loginSuccessDTO
);
ResultBody
viewContract
(
String
contractId
);
ResultBody
downloadContract
(
String
contractId
);
ResultBody
stamp
(
String
contractId
,
LoginSuccessDTO
loginSuccessDTO
,
String
pages
,
Integer
port
);
/**
* 异步回调
*
* @param map
* @return
*/
ResultBody
notifyStamp
(
Map
<
String
,
String
>
map
);
ResultBody
file
(
String
contractId
,
LoginSuccessDTO
loginSuccessDTO
,
Integer
port
);
List
<
ContractInfoDTO
>
listContractInfoByOrderNo
(
List
<
String
>
orderNos
);
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/service/fdd/SealManageService.java
0 → 100644
浏览文件 @
2f8be2f1
package
com
.
mmc
.
iuav
.
user
.
service
.
fdd
;
import
com.mmc.iuav.page.PageResult
;
import
com.mmc.iuav.response.ResultBody
;
import
com.mmc.iuav.user.model.dto.LoginSuccessDTO
;
import
com.mmc.iuav.user.model.fdd.vo.SealInfoVO
;
import
com.mmc.iuav.user.model.fdd.vo.SealVO
;
/**
* @Author LW
* @date 2022/8/31 17:29
* 概要:
*/
public
interface
SealManageService
{
ResultBody
uploadSeal
(
SealVO
sealVO
,
LoginSuccessDTO
loginSuccessDTO
);
PageResult
getSealInfoList
(
SealInfoVO
param
,
LoginSuccessDTO
loginSuccessDTO
);
ResultBody
removeSeal
(
String
signatureId
,
Integer
port
,
LoginSuccessDTO
loginSuccessDTO
);
ResultBody
defaultSeal
(
String
signatureId
,
Integer
port
,
LoginSuccessDTO
loginSuccessDTO
);
ResultBody
getSealInfo
(
String
signatureId
,
Integer
port
,
LoginSuccessDTO
loginSuccessDTO
);
ResultBody
editSealName
(
String
signatureId
,
Integer
port
,
LoginSuccessDTO
loginSuccessDTO
,
String
sealName
);
ResultBody
checkAuthStatus
(
Integer
port
,
LoginSuccessDTO
loginSuccessDTO
);
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/service/fdd/UserFddAuthService.java
浏览文件 @
2f8be2f1
...
...
@@ -29,5 +29,6 @@ public interface UserFddAuthService {
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/ContractServiceImpl.java
0 → 100644
浏览文件 @
2f8be2f1
package
com
.
mmc
.
iuav
.
user
.
service
.
fdd
.
impl
;
import
com.alibaba.fastjson.JSONObject
;
import
com.fadada.sdk.base.client.FddBaseClient
;
import
com.fadada.sdk.base.model.req.*
;
import
com.fadada.sdk.utils.crypt.FddEncryptTool
;
import
com.mmc.iuav.general.CodeUtil
;
import
com.mmc.iuav.response.ResultBody
;
import
com.mmc.iuav.response.ResultEnum
;
import
com.mmc.iuav.user.constant.fdd.FddConnectConstant
;
import
com.mmc.iuav.user.constant.fdd.FddConstant
;
import
com.mmc.iuav.user.dao.fdd.ContractDao
;
import
com.mmc.iuav.user.entity.fdd.ContractInfoDO
;
import
com.mmc.iuav.user.entity.fdd.UserFddDO
;
import
com.mmc.iuav.user.model.dto.LoginSuccessDTO
;
import
com.mmc.iuav.user.model.fdd.dto.ContractInfoDTO
;
import
com.mmc.iuav.user.model.fdd.vo.ContractVO
;
import
com.mmc.iuav.user.service.fdd.ContractService
;
import
com.mmc.iuav.user.service.fdd.SealManageService
;
import
com.mmc.iuav.user.util.TDateUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Resource
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.UUID
;
import
java.util.stream.Collectors
;
/**
* @Author LW
* @date 2022/9/5 14:38
* 概要:
*/
@Service
@Slf4j
public
class
ContractServiceImpl
implements
ContractService
{
@Resource
ContractDao
contractDao
;
@Resource
SealManageService
sealManageService
;
/**
* 上传合同
*
* @param param
* @return
*/
@Override
public
ResultBody
uploadContract
(
ContractVO
param
,
LoginSuccessDTO
loginSuccessDTO
)
{
ResultBody
resultBody
=
sealManageService
.
checkAuthStatus
(
param
.
getPort
(),
loginSuccessDTO
);
UserFddDO
userFddDO
=
(
UserFddDO
)
resultBody
.
getResult
();
FddBaseClient
baseClient
=
new
FddBaseClient
(
FddConnectConstant
.
APP_ID
,
FddConnectConstant
.
APP_KEY
,
FddConnectConstant
.
VERSION
,
FddConnectConstant
.
HOST
);
// 查询这个订单号之前有没有上传过合同有的话就删除
ContractInfoDO
contractInfoDO
=
contractDao
.
contractInfoByOrderNo
(
param
.
getOrderNo
(),
null
);
if
(
contractInfoDO
!=
null
)
{
// 把合同删除
contractDao
.
deleteContractInfo
(
param
.
getOrderNo
());
}
//自定义合同id 合同编号设置规则:YXF + 年份 + 8位随机数
String
contractId
=
FddConstant
.
YXF
+
TDateUtil
.
getCurrentYear
()
+
CodeUtil
.
getRandomNum
(
8
);
// 调用法大大接口
UploadDocsParams
params
=
new
UploadDocsParams
();
// 合同编号
params
.
setContractId
(
contractId
);
//合同标题
params
.
setDocTitle
(
param
.
getTitle
());
//PDF文档和下载地址二选一
//合同公网下载地址
params
.
setDocUrl
(
param
.
getDocUrl
());
//合同类型 目前仅支持pdf格式
params
.
setDocType
(
".pdf"
);
String
result
=
baseClient
.
invokeUploadDocs
(
params
);
String
code
=
JSONObject
.
parseObject
(
result
).
getString
(
FddConstant
.
CODE
);
String
msg
=
JSONObject
.
parseObject
(
result
).
getString
(
FddConstant
.
MSG
);
if
(
FddConstant
.
SUCCESS_CODE
.
equals
(
code
))
{
// 保存合同信息到数据库
ContractInfoDO
contractInfo
=
new
ContractInfoDO
();
contractInfo
.
setContractTitle
(
param
.
getTitle
());
contractInfo
.
setOrderNo
(
param
.
getOrderNo
());
contractInfo
.
setContractNo
(
contractId
);
contractInfo
.
setUnionId
(
userFddDO
.
getUnionId
());
contractDao
.
insertUavContractInfo
(
contractInfo
);
return
ResultBody
.
success
(
contractInfo
);
}
else
{
return
ResultBody
.
error
(
msg
);
}
}
@Override
public
ResultBody
viewContract
(
String
contractId
)
{
FddBaseClient
baseClient
=
new
FddBaseClient
(
FddConnectConstant
.
APP_ID
,
FddConnectConstant
.
APP_KEY
,
FddConnectConstant
.
VERSION
,
FddConnectConstant
.
HOST
);
ViewPdfURLParams
params
=
new
ViewPdfURLParams
();
//此处传入调用上传或填充合同接口成功时定义的合同编号
params
.
setContractId
(
contractId
);
String
result
=
baseClient
.
invokeViewPdfURL
(
params
);
String
base64
=
new
String
(
FddEncryptTool
.
Base64Encode
(
result
.
getBytes
())).
trim
();
return
ResultBody
.
success
(
base64
);
}
@Override
public
ResultBody
downloadContract
(
String
contractId
)
{
FddBaseClient
baseClient
=
new
FddBaseClient
(
FddConnectConstant
.
APP_ID
,
FddConnectConstant
.
APP_KEY
,
FddConnectConstant
.
VERSION
,
FddConnectConstant
.
HOST
);
DownloadPdfParams
params
=
new
DownloadPdfParams
();
// 合同编号
params
.
setContractId
(
contractId
);
//如下,传setPath参数可以直接保存文件到本地,不传则返回url
// params.setPath(""); // 指定路径,如:D:\\pdf\\uuidNew.pdf
String
result
=
baseClient
.
invokeDownloadPdf
(
params
);
String
base64
=
new
String
(
FddEncryptTool
.
Base64Encode
(
result
.
getBytes
())).
trim
();
return
ResultBody
.
success
(
base64
);
}
@Override
public
ResultBody
stamp
(
String
contractId
,
LoginSuccessDTO
loginSuccessDTO
,
String
pages
,
Integer
port
)
{
ResultBody
resultBody
=
sealManageService
.
checkAuthStatus
(
port
,
loginSuccessDTO
);
UserFddDO
userFddDO
=
(
UserFddDO
)
resultBody
.
getResult
();
// 获取合同信息
ContractInfoDO
contractInfo
=
contractDao
.
contractInfoByOrderNo
(
null
,
contractId
);
FddBaseClient
baseClient
=
new
FddBaseClient
(
FddConnectConstant
.
APP_ID
,
FddConnectConstant
.
APP_KEY
,
FddConnectConstant
.
VERSION
,
FddConnectConstant
.
HOST
);
ExtSignParams
params
=
new
ExtSignParams
();
String
transactionId
=
UUID
.
randomUUID
().
toString
().
replaceAll
(
"-"
,
""
).
toUpperCase
();
//平台自定义唯一交易号
params
.
setTransactionId
(
transactionId
);
//此处传入调用上传或填充合同接口成功时定义的合同编号
params
.
setContractId
(
contractId
);
params
.
setCustomerId
(
userFddDO
.
getCustomerId
());
params
.
setDocTitle
(
contractInfo
.
getContractTitle
());
if
(
pages
!=
null
)
{
params
.
setOpenEnvironment
(
"1"
);
params
.
setReturnUrl
(
pages
);
}
else
{
params
.
setOpenEnvironment
(
"0"
);
}
params
.
setNotifyUrl
(
FddConnectConstant
.
MMC_URL
+
FddConstant
.
NOTIFY_STAMP
);
if
(
port
.
equals
(
0
)
&&
userFddDO
.
getAccountType
().
equals
(
1
))
{
params
.
setMobileSignType
(
"2"
);
}
String
result
=
baseClient
.
invokeExtSign
(
params
);
// 将链接转成base64返回
String
base64
=
new
String
(
FddEncryptTool
.
Base64Encode
(
result
.
getBytes
())).
trim
();
ContractInfoDO
updateContract
=
new
ContractInfoDO
();
updateContract
.
setContractNo
(
contractId
);
if
(
contractInfo
.
getUnionId
().
equals
(
userFddDO
.
getUnionId
()))
{
updateContract
.
setATransactionId
(
transactionId
);
}
else
{
updateContract
.
setBTransactionId
(
transactionId
);
}
contractDao
.
updateContractInfo
(
updateContract
);
return
ResultBody
.
success
(
base64
);
}
@Override
public
ResultBody
notifyStamp
(
Map
<
String
,
String
>
map
)
{
log
.
info
(
"合同签署异步回调返回数据,{}"
,
map
.
toString
());
String
transactionId
=
map
.
get
(
"transaction_id"
);
// 交易号
String
contractId
=
map
.
get
(
"contract_id"
);
// 合同编号
String
resultCode
=
map
.
get
(
"result_code"
);
// 返回的code码
String
resultDesc
=
map
.
get
(
"result_desc"
);
// 签章结果描述信息
String
timestamp
=
map
.
get
(
"timestamp"
);
// 时间戳
String
msgDigest
=
map
.
get
(
"msg_digest"
);
// 摘要
String
sha1
=
FddEncryptTool
.
sha1
(
FddConnectConstant
.
APP_KEY
+
transactionId
);
try
{
String
md5
=
FddEncryptTool
.
md5Digest
(
timestamp
);
String
outSha1
=
FddEncryptTool
.
sha1
(
FddConnectConstant
.
APP_ID
+
md5
+
sha1
);
String
base64
=
new
String
(
FddEncryptTool
.
Base64Encode
(
outSha1
.
getBytes
())).
trim
();
if
(!
base64
.
equals
(
msgDigest
))
{
return
ResultBody
.
error
(
ResultEnum
.
NOT_FOUND
);
}
}
catch
(
Exception
e
)
{
return
ResultBody
.
error
(
ResultEnum
.
NOT_FOUND
);
}
// 获取合同信息
ContractInfoDO
contractInfoDO
=
contractDao
.
contractInfoByOrderNo
(
null
,
contractId
);
ContractInfoDO
updateSignStatus
=
new
ContractInfoDO
();
updateSignStatus
.
setContractNo
(
contractId
);
if
(
contractInfoDO
.
getSignStatus
()
==
0
&&
FddConstant
.
SIGN_SUCCESS
.
equals
(
resultCode
)
&&
contractInfoDO
.
getATransactionId
().
equals
(
transactionId
))
{
// 甲方公司签章成功
updateSignStatus
.
setSignStatus
(
2
);
updateSignStatus
.
setARemark
(
resultDesc
);
}
else
if
(
contractInfoDO
.
getSignStatus
()
==
0
&&
FddConstant
.
SIGN_FAIL
.
equals
(
resultCode
)
&&
contractInfoDO
.
getATransactionId
().
equals
(
transactionId
))
{
// 甲方公司签章失败
updateSignStatus
.
setSignStatus
(
1
);
updateSignStatus
.
setBRemark
(
resultDesc
);
}
else
if
(
contractInfoDO
.
getSignStatus
()
==
2
&&
FddConstant
.
SIGN_SUCCESS
.
equals
(
resultCode
)
&&
contractInfoDO
.
getBTransactionId
().
equals
(
transactionId
))
{
// 乙方公司签章成功
updateSignStatus
.
setSignStatus
(
4
);
updateSignStatus
.
setBRemark
(
resultDesc
);
updateSignStatus
.
setSingerTime
(
new
Date
());
}
else
if
(
contractInfoDO
.
getSignStatus
()
==
2
&&
FddConstant
.
SIGN_FAIL
.
equals
(
resultCode
)
&&
contractInfoDO
.
getBTransactionId
().
equals
(
transactionId
))
{
// 乙方公司签章失败
updateSignStatus
.
setSignStatus
(
3
);
updateSignStatus
.
setBRemark
(
resultDesc
);
}
contractDao
.
updateContractInfo
(
updateSignStatus
);
return
ResultBody
.
success
();
}
@Override
public
ResultBody
file
(
String
contractId
,
LoginSuccessDTO
loginSuccessDTO
,
Integer
port
)
{
sealManageService
.
checkAuthStatus
(
port
,
loginSuccessDTO
);
// 判断该合同状态是否可以归档
ContractInfoDO
contractInfoDO
=
contractDao
.
contractInfoByOrderNo
(
null
,
contractId
);
if
(!
contractInfoDO
.
getSignStatus
().
equals
(
4
))
{
return
ResultBody
.
error
(
"当前状态不可进行归档操作!"
);
}
FddBaseClient
baseClient
=
new
FddBaseClient
(
FddConnectConstant
.
APP_ID
,
FddConnectConstant
.
APP_KEY
,
FddConnectConstant
.
VERSION
,
FddConnectConstant
.
HOST
);
ContractFillingParams
params
=
new
ContractFillingParams
();
//此处传入调用上传或填充合同接口成功时定义的合同编号
params
.
setContractId
(
contractId
);
String
result
=
baseClient
.
invokeContractFilling
(
params
);
if
(!
JSONObject
.
parseObject
(
result
).
getString
(
FddConstant
.
CODE
).
equals
(
FddConstant
.
SUCCESS_CODE
))
{
return
ResultBody
.
error
(
JSONObject
.
parseObject
(
result
).
getString
(
FddConstant
.
MSG
));
}
ContractInfoDO
contractDetailDO
=
new
ContractInfoDO
();
contractDetailDO
.
setContractNo
(
contractId
);
contractDetailDO
.
setSignStatus
(
5
);
contractDetailDO
.
setArchiveDate
(
new
Date
());
contractDao
.
updateContractInfo
(
contractDetailDO
);
return
ResultBody
.
success
(
JSONObject
.
parseObject
(
result
));
}
@Override
public
List
<
ContractInfoDTO
>
listContractInfoByOrderNo
(
List
<
String
>
orderNos
)
{
// 根据订单编号获取合同信息
List
<
ContractInfoDO
>
contractInfoDOList
=
contractDao
.
listContractInfoByOrderNo
(
orderNos
);
return
contractInfoDOList
==
null
?
null
:
contractInfoDOList
.
stream
().
map
(
ContractInfoDO:
:
buildContractInfoDTO
).
collect
(
Collectors
.
toList
());
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/service/fdd/impl/SealManageServiceImpl.java
0 → 100644
浏览文件 @
2f8be2f1
package
com
.
mmc
.
iuav
.
user
.
service
.
fdd
.
impl
;
import
com.alibaba.fastjson2.JSONArray
;
import
com.alibaba.fastjson2.JSONObject
;
import
com.fadada.sdk.base.client.FddBaseClient
;
import
com.fadada.sdk.base.model.req.AddSignatureParams
;
import
com.fadada.sdk.extra.client.FddExtraClient
;
import
com.fadada.sdk.extra.model.req.DefaultSignatureParams
;
import
com.fadada.sdk.extra.model.req.QuerySignatureParams
;
import
com.fadada.sdk.extra.model.req.RemoveSignatureParams
;
import
com.mmc.iuav.page.PageResult
;
import
com.mmc.iuav.response.ResultBody
;
import
com.mmc.iuav.response.ResultEnum
;
import
com.mmc.iuav.user.constant.fdd.FddConnectConstant
;
import
com.mmc.iuav.user.constant.fdd.FddConstant
;
import
com.mmc.iuav.user.dao.UserServiceDao
;
import
com.mmc.iuav.user.dao.fdd.SealManageDao
;
import
com.mmc.iuav.user.dao.fdd.UserFddAuthDao
;
import
com.mmc.iuav.user.entity.UserAccountDO
;
import
com.mmc.iuav.user.entity.fdd.SealInfoDO
;
import
com.mmc.iuav.user.entity.fdd.UserFddDO
;
import
com.mmc.iuav.user.model.dto.LoginSuccessDTO
;
import
com.mmc.iuav.user.model.fdd.dto.SealInfoDTO
;
import
com.mmc.iuav.user.model.fdd.seal.SealDetail
;
import
com.mmc.iuav.user.model.fdd.vo.SealInfoVO
;
import
com.mmc.iuav.user.model.fdd.vo.SealVO
;
import
com.mmc.iuav.user.service.fdd.SealManageService
;
import
com.mmc.iuav.user.service.fdd.UserFddAuthService
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.interceptor.TransactionAspectSupport
;
import
javax.annotation.Resource
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* @Author LW
* @date 2022/8/31 17:29
* 概要:
*/
@Service
public
class
SealManageServiceImpl
implements
SealManageService
{
@Resource
UserServiceDao
userServiceDao
;
@Resource
UserFddAuthService
userFddAuthService
;
@Resource
UserFddAuthDao
userFddAuthDao
;
@Resource
SealManageDao
sealManageDao
;
@Override
public
ResultBody
uploadSeal
(
SealVO
sealVO
,
LoginSuccessDTO
loginSuccessDTO
)
{
ResultBody
resultBody
=
this
.
checkAuthStatus
(
sealVO
.
getPort
(),
loginSuccessDTO
);
UserFddDO
userFddInfo
=
(
UserFddDO
)
resultBody
.
getResult
();
sealVO
.
setUnionId
(
userFddInfo
.
getUnionId
());
FddBaseClient
baseClient
=
new
FddBaseClient
(
FddConnectConstant
.
APP_ID
,
FddConnectConstant
.
APP_KEY
,
FddConnectConstant
.
VERSION
,
FddConnectConstant
.
HOST
);
AddSignatureParams
params
=
new
AddSignatureParams
();
//客户编号
params
.
setCustomerId
(
userFddInfo
.
getCustomerId
());
//下面章图片base64、签章图片、图片公网地址三选一
// params.setSignatureImgBase64(""); //签章图片base64
// params.setFile(new File("D:\\sign.png")); //签章图片
//签章图片公网地址
params
.
setImgUrl
(
sealVO
.
getSealUrl
());
String
result
=
baseClient
.
invokeAddSignature
(
params
);
if
(!
JSONObject
.
parseObject
(
result
).
getString
(
FddConstant
.
CODE
).
equals
(
FddConstant
.
SUCCESS
))
{
return
ResultBody
.
error
(
JSONObject
.
parseObject
(
result
).
getString
(
FddConstant
.
MSG
));
}
else
{
// 根据当前用户查询印章列表
getSealInfoListByUnionId
(
sealVO
.
getUnionId
());
// 获取返回的印章编号
String
dataStr
=
JSONObject
.
parseObject
(
result
).
getString
(
FddConstant
.
DATA
);
String
signatureId
=
JSONObject
.
parseObject
(
dataStr
).
getString
(
FddConstant
.
SIGNATURE_ID
);
SealInfoDO
sealInfoDO
=
new
SealInfoDO
();
sealInfoDO
.
setSealName
(
sealVO
.
getSealName
());
sealInfoDO
.
setSignatureId
(
signatureId
);
sealInfoDO
.
setUnionId
(
sealVO
.
getUnionId
());
sealInfoDO
.
setSealUrl
(
sealVO
.
getSealUrl
());
// 新增印章信息
sealManageDao
.
insertSealInfo
(
sealInfoDO
);
return
ResultBody
.
success
();
}
}
private
void
getSealInfoListByUnionId
(
String
unionId
)
{
List
<
SealInfoDO
>
sealInfoList
=
sealManageDao
.
getSealInfoListByUnionId
(
unionId
);
// 判断是否有状态是默认的章(默认:0 非默认:1)
List
<
Integer
>
sealIds
=
sealInfoList
.
stream
()
.
filter
(
d
->
d
.
getSealStatus
()
==
1
)
.
map
(
SealInfoDO:
:
getId
).
collect
(
Collectors
.
toList
());
// 将默认章的状态进行更换
if
(
sealIds
.
size
()
>
0
)
{
sealManageDao
.
updateSealStatusById
(
sealIds
);
}
}
@Override
public
PageResult
getSealInfoList
(
SealInfoVO
param
,
LoginSuccessDTO
loginSuccessDTO
)
{
if
(
param
.
getPort
().
equals
(
0
))
{
UserAccountDO
userInfo
=
userServiceDao
.
getUserAccountById
(
loginSuccessDTO
.
getUserAccountId
());
param
.
setUId
(
userFddAuthService
.
replaceUnableString
(
userInfo
.
getUnionId
()));
}
else
{
param
.
setUId
(
loginSuccessDTO
.
getUserAccountId
().
toString
());
}
int
count
=
sealManageDao
.
countSealInfo
(
param
);
if
(
count
==
0
)
{
return
PageResult
.
buildPage
(
param
.
getPageNo
(),
param
.
getPageSize
(),
count
);
}
Integer
pageNo
=
param
.
getPageNo
();
param
.
buildCurrentPage
();
// 获取印章列表信息
List
<
SealInfoDO
>
sealInfoList
=
sealManageDao
.
getSealInfoList
(
param
);
List
<
SealInfoDTO
>
list
=
sealInfoList
.
stream
().
map
(
SealInfoDO:
:
buildSealInfoDTO
).
collect
(
Collectors
.
toList
());
return
PageResult
.
buildPage
(
pageNo
,
param
.
getPageSize
(),
count
,
list
);
}
@Override
public
ResultBody
removeSeal
(
String
signatureId
,
Integer
port
,
LoginSuccessDTO
loginSuccessDTO
)
{
ResultBody
resultBody
=
checkAuthStatus
(
port
,
loginSuccessDTO
);
UserFddDO
userFddInfo
=
(
UserFddDO
)
resultBody
.
getResult
();
// 调用法大大删除印章接口
FddExtraClient
client
=
new
FddExtraClient
(
FddConnectConstant
.
APP_ID
,
FddConnectConstant
.
APP_KEY
,
FddConnectConstant
.
VERSION
,
FddConnectConstant
.
HOST
);
RemoveSignatureParams
params
=
new
RemoveSignatureParams
();
params
.
setCustomerId
(
userFddInfo
.
getCustomerId
());
params
.
setSignatureId
(
signatureId
);
String
result
=
client
.
invokeRemoveSignature
(
params
);
if
(!
JSONObject
.
parseObject
(
result
).
getString
(
FddConstant
.
CODE
).
equals
(
FddConstant
.
SUCCESS
))
{
return
ResultBody
.
error
(
JSONObject
.
parseObject
(
result
).
getString
(
FddConstant
.
MSG
));
}
sealManageDao
.
deletedSealInfo
(
signatureId
);
return
ResultBody
.
success
();
}
@Override
@Transactional
public
ResultBody
checkAuthStatus
(
Integer
port
,
LoginSuccessDTO
loginSuccessDTO
)
{
String
uid
;
if
(
port
.
equals
(
0
))
{
UserAccountDO
userInfo
=
userServiceDao
.
getUserAccountById
(
loginSuccessDTO
.
getUserAccountId
());
uid
=
userFddAuthService
.
replaceUnableString
(
userInfo
.
getUnionId
());
}
else
{
uid
=
loginSuccessDTO
.
getUserAccountId
().
toString
();
}
// 获取用户法大大的(实名/企业)认证信息
UserFddDO
userFddInfo
=
userFddAuthDao
.
getAppUserFddInfo
(
uid
);
if
(
userFddInfo
==
null
)
{
return
ResultBody
.
error
(
ResultEnum
.
BUSINESS_LICENSE_CHECK_ERROR
);
}
boolean
isPersonVerified
=
userFddInfo
.
getAccountType
().
equals
(
1
)
&&
userFddInfo
.
getPersonVerifyStatus
().
equals
(
2
);
boolean
isEntVerified
=
userFddInfo
.
getAccountType
().
equals
(
2
)
&&
userFddInfo
.
getEntVerifyStatus
().
equals
(
4
);
if
(!
isPersonVerified
&&
!
isEntVerified
)
{
return
ResultBody
.
error
(
ResultEnum
.
BUSINESS_LICENSE_CHECK_NOT_PASS
);
}
return
ResultBody
.
success
(
userFddInfo
);
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
ResultBody
defaultSeal
(
String
signatureId
,
Integer
port
,
LoginSuccessDTO
loginSuccessDTO
)
{
ResultBody
resultBody
=
checkAuthStatus
(
port
,
loginSuccessDTO
);
UserFddDO
userFddInfo
=
(
UserFddDO
)
resultBody
.
getResult
();
FddExtraClient
client
=
new
FddExtraClient
(
FddConnectConstant
.
APP_ID
,
FddConnectConstant
.
APP_KEY
,
FddConnectConstant
.
VERSION
,
FddConnectConstant
.
HOST
);
DefaultSignatureParams
params
=
new
DefaultSignatureParams
();
params
.
setCustomerId
(
userFddInfo
.
getCustomerId
());
params
.
setSignatureId
(
signatureId
);
String
result
=
client
.
invokeDefaultSignature
(
params
);
// 获取印章列表
getSealInfoListByUnionId
(
userFddInfo
.
getUnionId
());
sealManageDao
.
updateSealStatusBySignatureId
(
signatureId
);
if
(!
JSONObject
.
parseObject
(
result
).
getString
(
FddConstant
.
CODE
).
equals
(
FddConstant
.
SUCCESS
))
{
// 如果失败,手动回滚修改的数据
TransactionAspectSupport
.
currentTransactionStatus
().
setRollbackOnly
();
return
ResultBody
.
error
(
JSONObject
.
parseObject
(
result
).
getString
(
FddConstant
.
MSG
));
}
return
ResultBody
.
success
();
}
@Override
public
ResultBody
getSealInfo
(
String
signatureId
,
Integer
port
,
LoginSuccessDTO
loginSuccessDTO
)
{
ResultBody
resultBody
=
checkAuthStatus
(
port
,
loginSuccessDTO
);
UserFddDO
userFddInfo
=
(
UserFddDO
)
resultBody
.
getResult
();
FddExtraClient
client
=
new
FddExtraClient
(
FddConnectConstant
.
APP_ID
,
FddConnectConstant
.
APP_KEY
,
FddConnectConstant
.
VERSION
,
FddConnectConstant
.
HOST
);
QuerySignatureParams
params
=
new
QuerySignatureParams
();
params
.
setCustomerId
(
userFddInfo
.
getCustomerId
());
params
.
setSignatureId
(
signatureId
);
String
result
=
client
.
invokeQuerySignature
(
params
);
if
(!
JSONObject
.
parseObject
(
result
).
getString
(
FddConstant
.
CODE
).
equals
(
FddConstant
.
SUCCESS
))
{
return
ResultBody
.
error
(
JSONObject
.
parseObject
(
result
).
getString
(
FddConstant
.
MSG
));
}
String
dataStr
=
JSONObject
.
parseObject
(
result
).
getString
(
FddConstant
.
DATA
);
return
ResultBody
.
success
(
this
.
buildSealDetail
(
dataStr
));
}
/**
* 构建印章信息对象
*/
public
SealDetail
buildSealDetail
(
String
result
)
{
JSONObject
jsonObject
=
JSONArray
.
parseArray
(
result
).
getJSONObject
(
0
);
SealDetail
sealDetail
=
new
SealDetail
();
sealDetail
.
setSignatureImg
(
jsonObject
.
getString
(
"signature_img_base64"
));
sealDetail
.
setSignatureId
(
jsonObject
.
getString
(
"signature_id"
));
sealDetail
.
setSignatureScope
(
jsonObject
.
getInteger
(
"signature_scope"
));
sealDetail
.
setSignatureType
(
jsonObject
.
getString
(
"signature_type"
));
sealDetail
.
setSignatureSource
(
jsonObject
.
getString
(
"signature_source"
));
return
sealDetail
;
}
@Override
public
ResultBody
editSealName
(
String
signatureId
,
Integer
port
,
LoginSuccessDTO
loginSuccessDTO
,
String
sealName
)
{
ResultBody
resultBody
=
checkAuthStatus
(
port
,
loginSuccessDTO
);
UserFddDO
userFddInfo
=
(
UserFddDO
)
resultBody
.
getResult
();
sealManageDao
.
updateSealName
(
userFddInfo
.
getUnionId
(),
signatureId
,
sealName
);
return
ResultBody
.
success
();
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/service/impl/BackUserAccountServiceImpl.java
浏览文件 @
2f8be2f1
...
...
@@ -145,6 +145,7 @@ public class BackUserAccountServiceImpl implements BackUserAccountService {
return
ResultBody
.
success
();
}
@Transactional
@Override
public
ResultBody
disableBAccount
(
Integer
accountId
,
LoginSuccessDTO
loginSuccessDTO
)
{
CompanyInfoVO
companyInfoVO
=
companyService
.
getCompanyInfoByBackUserAccountId
(
accountId
);
...
...
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/service/impl/CompanyServiceImpl.java
浏览文件 @
2f8be2f1
...
...
@@ -259,4 +259,14 @@ public class CompanyServiceImpl implements CompanyService {
public
void
deleteCompanyInfoById
(
Integer
id
)
{
companyDao
.
deleteCompanyInfoById
(
id
);
}
@Override
public
ResultBody
getManagerIdByBackUserId
(
Integer
backUserAccountId
)
{
CompanyBackUserDO
companyBackUserDO
=
companyDao
.
getCompanyBackUserByBackUserId
(
backUserAccountId
);
CompanyMemberDO
companyMemberDO
=
companyDao
.
getManagerByCompanyId
(
companyBackUserDO
.
getCompanyInfoId
());
if
(
companyMemberDO
==
null
)
{
return
ResultBody
.
error
(
"无管理员"
);
}
return
ResultBody
.
success
(
companyMemberDO
.
getUserAccountId
());
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/service/impl/UserAccountServiceImpl.java
浏览文件 @
2f8be2f1
...
...
@@ -33,6 +33,7 @@ import org.apache.commons.lang.StringUtils;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.interceptor.TransactionAspectSupport
;
import
org.springframework.util.CollectionUtils
;
import
java.util.List
;
...
...
@@ -376,9 +377,9 @@ public class UserAccountServiceImpl implements UserAccountService {
@Autowired
private
CompanyDao
companyDao
;
@Transactional
@Override
public
ResultBody
disableAppAccount
(
Integer
userAccountId
)
{
userServiceDao
.
disableUserAccount
(
CodeUtil
.
removeUserAccount
(),
userAccountId
);
UserAccountVO
userAccountVO
=
new
UserAccountVO
();
userAccountVO
.
setId
(
userAccountId
);
userAccountVO
.
setDeleted
(
1
);
...
...
@@ -389,10 +390,12 @@ public class UserAccountServiceImpl implements UserAccountService {
if
(
companyInfoDO
!=
null
)
{
int
members
=
companyDao
.
countCompanyMembers
(
companyInfoDO
.
getId
());
if
(
members
>
1
&&
companyInfoDO
.
getLeader
().
equals
(
1
))
{
TransactionAspectSupport
.
currentTransactionStatus
().
setRollbackOnly
();
return
ResultBody
.
error
(
"该用户是单位管理员,暂时不能删除"
);
}
companyDao
.
unbindCompanyMember
(
userAccountId
,
companyInfoDO
.
getId
());
}
userServiceDao
.
disableUserAccount
(
CodeUtil
.
removeUserAccount
(),
userAccountId
);
mqProducer
.
sentUserInfoChangedMsg
(
userAccountVO
);
return
ResultBody
.
success
();
}
...
...
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/service/wallet/PayWalletService.java
浏览文件 @
2f8be2f1
...
...
@@ -2,6 +2,7 @@ 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.PayUavWalletVO
;
import
com.mmc.iuav.user.model.vo.wallet.TopUpOrderVO
;
import
com.mmc.iuav.user.model.vo.wallet.WalletFlowVO
;
...
...
@@ -22,4 +23,7 @@ public interface PayWalletService {
ResultBody
customerBillingDetail
(
Integer
userAccountId
,
WalletFlowQO
walletFlowQO
);
ResultBody
billingDetails
(
Integer
id
,
String
detailType
);
ResultBody
payUavWallet
(
PayUavWalletVO
payUavWalletVO
);
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/service/wallet/impl/PayWalletServiceImpl.java
浏览文件 @
2f8be2f1
...
...
@@ -15,10 +15,7 @@ import com.mmc.iuav.user.enums.PayMethodEnums;
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.WithdrawalInfoVO
;
import
com.mmc.iuav.user.model.vo.wallet.FlyerWalletFlowVO
;
import
com.mmc.iuav.user.model.vo.wallet.PublisherWalletFlowVO
;
import
com.mmc.iuav.user.model.vo.wallet.TopUpOrderVO
;
import
com.mmc.iuav.user.model.vo.wallet.WalletFlowVO
;
import
com.mmc.iuav.user.model.vo.wallet.*
;
import
com.mmc.iuav.user.service.wallet.PayWalletService
;
import
com.mmc.iuav.user.util.TDateUtil
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -111,25 +108,7 @@ public class PayWalletServiceImpl implements PayWalletService {
}
}
else
if
(
publisherWalletFlowVO
!=
null
&&
publisherWalletFlowVO
.
getModeOfPayment
().
equals
(
PayMethodEnums
.
CANCEL_ORDER_TAKING
.
getCode
()))
{
// 等于200时 发布方取消订单,无飞手接单
PayWalletDO
publishUpdatePayWallet
=
new
PayWalletDO
();
publishUpdatePayWallet
.
setUserAccountId
(
publisherWalletFlowVO
.
getUserAccountId
());
publishUpdatePayWallet
.
setPid
(
publishWallet
.
getPid
());
publishUpdatePayWallet
.
setCashAmt
(
publishWallet
.
getCashAmt
().
add
(
publisherWalletFlowVO
.
getCashAmount
()));
publishUpdatePayWallet
.
setCashFreeze
(
publishWallet
.
getCashFreeze
().
add
(
publisherWalletFlowVO
.
getTopYxjAmount
())
.
add
(
publisherWalletFlowVO
.
getUrgentYxjAmount
()).
subtract
(
publisherWalletFlowVO
.
getCashAmount
()));
publishUpdatePayWallet
.
setSalaryAmt
(
publishWallet
.
getSalaryAmt
().
add
(
publisherWalletFlowVO
.
getSalaryAmount
()));
publishUpdatePayWallet
.
setSalaryFreeze
(
publishWallet
.
getSalaryFreeze
().
add
(
publisherWalletFlowVO
.
getTopSalaryAmount
())
.
add
(
publisherWalletFlowVO
.
getUrgentSalaryAmount
()).
subtract
(
publisherWalletFlowVO
.
getSalaryAmount
()));
int
i
=
payWalletDao
.
updatePayWallet
(
publishUpdatePayWallet
);
if
((
i
>
0
)
&&
(
publisherWalletFlowVO
.
getCashAmount
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
||
publisherWalletFlowVO
.
getSalaryAmount
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
))
{
PayLogDO
payLogDO
=
buildPayLogDO
(
publisherWalletFlowVO
,
null
);
// 插入流水记录表
payWalletDao
.
insertPayLogDO
(
payLogDO
);
return
ResultBody
.
success
();
}
else
{
log
.
error
(
"发布方取消订单,无飞手接单时,用户id是:{},传入参数是:{}"
,
publisherWalletFlowVO
.
getUserAccountId
(),
publisherWalletFlowVO
);
return
ResultBody
.
error
(
"钱包操作错误"
);
}
return
publishCancelOrder
(
publisherWalletFlowVO
,
publishWallet
,
200
);
}
else
if
(
publisherWalletFlowVO
!=
null
&&
publisherWalletFlowVO
.
getModeOfPayment
().
equals
(
PayMethodEnums
.
RECEIVED_ORDER_CANCEL
.
getCode
()))
{
// 等于300时 发布方取消订单,有飞手接单
PayWalletDO
publishUpdatePayWallet
=
new
PayWalletDO
();
...
...
@@ -186,7 +165,9 @@ public class PayWalletServiceImpl implements PayWalletService {
log
.
error
(
"飞手抢单时,飞手用户钱包更新失败,飞手用户id是:{},传入参数是:{}"
,
flyerWalletFlowVO
.
getUserAccountId
(),
flyerWalletFlowVO
);
}
}
else
if
(
flyerWalletFlowVO
!=
null
&&
flyerWalletFlowVO
.
getModeOfPayment
().
equals
(
PayMethodEnums
.
CUSTOMER_SERVICE_CANCEL_ORDER
.
getCode
()))
{
// 状态为500时 客服判定飞手无责取消订单
// 状态为500时 客服判定双方无责取消订单
assert
publisherWalletFlowVO
!=
null
;
publishCancelOrder
(
publisherWalletFlowVO
,
publishWallet
,
500
);
// 飞手钱包更新信息
int
flyerUpdateCount
=
buildFlyerWallet
(
flyerWalletFlowVO
,
flyerWallet
);
if
(
flyerUpdateCount
>
0
)
{
...
...
@@ -195,7 +176,7 @@ public class PayWalletServiceImpl implements PayWalletService {
payWalletDao
.
insertPayLogDO
(
flyerPayLogDO
);
return
ResultBody
.
success
();
}
else
{
log
.
error
(
"客服判定
飞手
无责取消订单时,飞手用户钱包更新失败,飞手用户id是:{},传入参数是:{}"
,
flyerWalletFlowVO
.
getUserAccountId
(),
flyerWalletFlowVO
);
log
.
error
(
"客服判定
双方
无责取消订单时,飞手用户钱包更新失败,飞手用户id是:{},传入参数是:{}"
,
flyerWalletFlowVO
.
getUserAccountId
(),
flyerWalletFlowVO
);
}
}
else
if
(
flyerWalletFlowVO
!=
null
&&
flyerWalletFlowVO
.
getModeOfPayment
().
equals
(
PayMethodEnums
.
FLYER_CANCEL_ORDER
.
getCode
()))
{
// 状态为600时 飞手有责取消订单
...
...
@@ -290,9 +271,11 @@ public class PayWalletServiceImpl implements PayWalletService {
publishUpdatePayWallet
.
setUserAccountId
(
publisherWalletFlowVO
.
getUserAccountId
());
publishUpdatePayWallet
.
setPid
(
publishWallet
.
getPid
());
publishUpdatePayWallet
.
setSalaryAmt
(
publishWallet
.
getSalaryAmt
().
add
(
publisherWalletFlowVO
.
getRefundSalaryAmount
()));
publishUpdatePayWallet
.
setSalaryFreeze
(
publishWallet
.
getSalaryFreeze
().
subtract
(
publisherWalletFlowVO
.
getRefundSalaryAmount
()));
publishUpdatePayWallet
.
setSalaryFreeze
(
publishWallet
.
getSalaryFreeze
().
subtract
(
publisherWalletFlowVO
.
getRefundSalaryAmount
())
.
add
(
publisherWalletFlowVO
.
getSalaryAmount
()).
add
(
publisherWalletFlowVO
.
getUrgentSalaryAmount
()).
add
(
publisherWalletFlowVO
.
getTopSalaryAmount
()));
publishUpdatePayWallet
.
setCashAmt
(
publishWallet
.
getCashAmt
().
add
(
publisherWalletFlowVO
.
getRefundCashAmount
()));
publishUpdatePayWallet
.
setCashFreeze
(
publishWallet
.
getCashFreeze
().
subtract
(
publisherWalletFlowVO
.
getRefundCashAmount
()));
publishUpdatePayWallet
.
setCashFreeze
(
publishWallet
.
getCashFreeze
().
subtract
(
publisherWalletFlowVO
.
getRefundCashAmount
())
.
add
(
publisherWalletFlowVO
.
getCashAmount
()).
add
(
publisherWalletFlowVO
.
getUrgentYxjAmount
()).
add
(
publisherWalletFlowVO
.
getTopYxjAmount
()));
int
publishUpdateCount
=
payWalletDao
.
updatePayWallet
(
publishUpdatePayWallet
);
if
(
publishUpdateCount
<=
0
)
{
log
.
error
(
"飞手未确认修改金额大于原订单状态时,发布者用户钱包更新失败,发布者id是:{},发布者参数是:{}"
,
publisherWalletFlowVO
.
getUserAccountId
(),
publisherWalletFlowVO
);
...
...
@@ -314,20 +297,20 @@ public class PayWalletServiceImpl implements PayWalletService {
log
.
error
(
"飞手未确认修改金额大于原订单状态时,接单方用户钱包更新失败,接单者id是:{},发布者传参是:{}"
,
flyerWalletFlowVO
.
getUserAccountId
(),
publisherWalletFlowVO
);
}
}
else
if
(
publisherWalletFlowVO
!=
null
&&
publisherWalletFlowVO
.
getModeOfPayment
().
equals
(
PayMethodEnums
.
FLYING_HAND_CONFIRM_LT
.
getCode
()))
{
// 状态为1000时 飞手确认修改金额
小于原订单状态
// 状态为1000时 飞手确认修改金额
// 退回发布方多余原订单金额,解冻钱包金额
PayWalletDO
publishUpdatePayWallet
=
new
PayWalletDO
();
publishUpdatePayWallet
.
setUserAccountId
(
publisherWalletFlowVO
.
getUserAccountId
());
publishUpdatePayWallet
.
setPid
(
publishWallet
.
getPid
());
publishUpdatePayWallet
.
setCashAmt
(
publishWallet
.
getCashAmt
().
add
(
publisherWalletFlowVO
.
getRefundCashAmount
()));
publishUpdatePayWallet
.
setCashFreeze
(
publishWallet
.
getCashFreeze
().
subtract
(
publisherWalletFlowVO
.
getRefundCashAmount
())
.
subtract
(
publisherWalletFlowVO
.
getCashAmount
()).
add
(
publisherWalletFlowVO
.
getUrgentYxjAmount
()).
add
(
publisherWalletFlowVO
.
getTopYxjAmount
()));
.
add
(
publisherWalletFlowVO
.
getCashAmount
()).
add
(
publisherWalletFlowVO
.
getUrgentYxjAmount
()).
add
(
publisherWalletFlowVO
.
getTopYxjAmount
()));
publishUpdatePayWallet
.
setSalaryAmt
(
publishWallet
.
getSalaryAmt
().
add
(
publisherWalletFlowVO
.
getRefundSalaryAmount
()));
publishUpdatePayWallet
.
setSalaryFreeze
(
publishWallet
.
getSalaryFreeze
().
subtract
(
publisherWalletFlowVO
.
getRefundSalaryAmount
())
.
subtract
(
publisherWalletFlowVO
.
getSalaryAmount
()).
add
(
publisherWalletFlowVO
.
getUrgentSalaryAmount
()).
add
(
publisherWalletFlowVO
.
getTopYxjAmount
()));
.
add
(
publisherWalletFlowVO
.
getSalaryAmount
()).
add
(
publisherWalletFlowVO
.
getUrgentSalaryAmount
()).
add
(
publisherWalletFlowVO
.
getTopYxjAmount
()));
int
publishUpdateCount
=
payWalletDao
.
updatePayWallet
(
publishUpdatePayWallet
);
if
(
publishUpdateCount
<=
0
)
{
log
.
error
(
"飞手确认修改金额
小于原订单
状态,发布者用户钱包更新失败,发布者id是:{},发布者参数是:{}"
,
publisherWalletFlowVO
.
getUserAccountId
(),
publisherWalletFlowVO
);
log
.
error
(
"飞手确认修改金额状态,发布者用户钱包更新失败,发布者id是:{},发布者参数是:{}"
,
publisherWalletFlowVO
.
getUserAccountId
(),
publisherWalletFlowVO
);
}
// 记录多余退款记录
refund
(
publisherWalletFlowVO
);
...
...
@@ -349,6 +332,32 @@ public class PayWalletServiceImpl implements PayWalletService {
return
ResultBody
.
error
(
"钱包操作错误"
);
}
private
ResultBody
publishCancelOrder
(
PublisherWalletFlowVO
publisherWalletFlowVO
,
PayWalletDO
publishWallet
,
Integer
status
)
{
PayWalletDO
publishUpdatePayWallet
=
new
PayWalletDO
();
publishUpdatePayWallet
.
setUserAccountId
(
publisherWalletFlowVO
.
getUserAccountId
());
publishUpdatePayWallet
.
setPid
(
publishWallet
.
getPid
());
publishUpdatePayWallet
.
setCashAmt
(
publishWallet
.
getCashAmt
().
add
(
publisherWalletFlowVO
.
getCashAmount
()));
publishUpdatePayWallet
.
setCashFreeze
(
publishWallet
.
getCashFreeze
().
add
(
publisherWalletFlowVO
.
getTopYxjAmount
())
.
add
(
publisherWalletFlowVO
.
getUrgentYxjAmount
()).
subtract
(
publisherWalletFlowVO
.
getCashAmount
()));
publishUpdatePayWallet
.
setSalaryAmt
(
publishWallet
.
getSalaryAmt
().
add
(
publisherWalletFlowVO
.
getSalaryAmount
()));
publishUpdatePayWallet
.
setSalaryFreeze
(
publishWallet
.
getSalaryFreeze
().
add
(
publisherWalletFlowVO
.
getTopSalaryAmount
())
.
add
(
publisherWalletFlowVO
.
getUrgentSalaryAmount
()).
subtract
(
publisherWalletFlowVO
.
getSalaryAmount
()));
int
i
=
payWalletDao
.
updatePayWallet
(
publishUpdatePayWallet
);
if
((
i
>
0
)
&&
(
publisherWalletFlowVO
.
getCashAmount
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
||
publisherWalletFlowVO
.
getSalaryAmount
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
))
{
PayLogDO
payLogDO
=
buildPayLogDO
(
publisherWalletFlowVO
,
null
);
// 插入流水记录表
payWalletDao
.
insertPayLogDO
(
payLogDO
);
return
ResultBody
.
success
();
}
else
{
if
(
status
==
200
)
{
log
.
error
(
"发布方取消订单,无飞手接单时,用户id是:{},传入参数是:{}"
,
publisherWalletFlowVO
.
getUserAccountId
(),
publisherWalletFlowVO
);
}
else
{
log
.
error
(
"客服判定双方无责取消订单时,发布方钱包更新失败,用户id是:{},传入参数是:{}"
,
publisherWalletFlowVO
.
getUserAccountId
(),
publisherWalletFlowVO
);
}
return
ResultBody
.
error
(
"钱包操作错误"
);
}
}
/**
* @param publisherWalletFlowVO
* @param flag 0 未违约取消 1 违约取消
...
...
@@ -438,8 +447,9 @@ public class PayWalletServiceImpl implements PayWalletService {
}
private
void
refund
(
PublisherWalletFlowVO
publisherWalletFlowVO
)
{
if
(
publisherWalletFlowVO
.
getRefundCashAmount
().
compareTo
(
BigDecimal
.
ZERO
)
!=
0
||
publisherWalletFlowVO
.
getRefundSalaryAmount
().
compareTo
(
BigDecimal
.
ZERO
)
!=
0
)
{
if
(
publisherWalletFlowVO
.
getRefundCashAmount
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
||
publisherWalletFlowVO
.
getRefundSalaryAmount
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
PayLogDO
publishPayLogDO
=
buildPayLogDO
(
publisherWalletFlowVO
,
null
);
publishPayLogDO
.
setPayMethod
(
200
);
publishPayLogDO
.
setCashAmtPaid
(
publisherWalletFlowVO
.
getRefundCashAmount
());
publishPayLogDO
.
setSalaryAmtPaid
(
publisherWalletFlowVO
.
getRefundSalaryAmount
());
payWalletDao
.
insertPayLogDO
(
publishPayLogDO
);
...
...
@@ -462,12 +472,6 @@ public class PayWalletServiceImpl implements PayWalletService {
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
boolean
releaseOrCancelOrderWallet
(
PublisherWalletFlowVO
publisherWalletFlowVO
,
PayWalletDO
wallet
)
{
PayWalletDO
publishUpdatePayWallet
=
new
PayWalletDO
();
if
(
publisherWalletFlowVO
.
getCashAmount
()
==
null
)
{
publisherWalletFlowVO
.
setCashAmount
(
BigDecimal
.
ZERO
);
}
if
(
publisherWalletFlowVO
.
getSalaryAmount
()
==
null
)
{
publisherWalletFlowVO
.
setSalaryAmount
(
BigDecimal
.
ZERO
);
}
publishUpdatePayWallet
.
setUserAccountId
(
publisherWalletFlowVO
.
getUserAccountId
());
publishUpdatePayWallet
.
setPid
(
wallet
.
getPid
());
publishUpdatePayWallet
.
setCashAmt
(
wallet
.
getCashAmt
().
add
(
publisherWalletFlowVO
.
getCashAmount
()));
...
...
@@ -579,4 +583,65 @@ public class PayWalletServiceImpl implements PayWalletService {
return
ResultBody
.
success
(
detail
);
}
}
@Override
public
ResultBody
payUavWallet
(
PayUavWalletVO
payUavWalletVO
)
{
// 获取用户钱包信息
PayWalletDO
userWalletInfo
=
payWalletDao
.
getPayWalletByUser
(
payUavWalletVO
.
getUserAccountId
());
String
payNo
=
"T"
+
TDateUtil
.
getDateStr
(
new
Date
(),
TDateUtil
.
TYPE
)
+
payUavWalletVO
.
getUserAccountId
()
+
CodeUtil
.
getRandomNum
(
4
);
// 记录流水用户钱包流水记录
PayLogDO
payLogDO
=
new
PayLogDO
();
payLogDO
.
setUserAccountId
(
payUavWalletVO
.
getUserAccountId
());
payLogDO
.
setPayNo
(
payNo
);
payLogDO
.
setOperateUser
(
payUavWalletVO
.
getUserAccountId
());
// 创建用户钱包
PayWalletDO
payWalletDO
=
new
PayWalletDO
();
payWalletDO
.
setPid
(
userWalletInfo
.
getPid
());
payWalletDO
.
setUserAccountId
(
payUavWalletVO
.
getUserAccountId
());
// 判断当前订单状态是什么类型
if
(
payUavWalletVO
.
getOrderStatus
().
equals
(
PayMethodEnums
.
PUBLISH_ORDER
.
getCode
()))
{
// 获取下单金额是否大于该用户钱包金额
if
(
userWalletInfo
.
getCashAmt
().
compareTo
(
payUavWalletVO
.
getCashAmount
())
<
0
)
{
return
ResultBody
.
error
(
"可抵扣的云享金不足"
);
}
if
(
userWalletInfo
.
getSalaryAmt
().
compareTo
(
payUavWalletVO
.
getSalaryAmount
())
<
0
)
{
return
ResultBody
.
error
(
"可抵扣的佣金不足"
);
}
payLogDO
.
setPayMethod
(
payUavWalletVO
.
getOrderStatus
());
if
(
payUavWalletVO
.
getCashAmount
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
payLogDO
.
setCashAmtPaid
(
payUavWalletVO
.
getCashAmount
().
negate
());
}
else
{
payLogDO
.
setCashAmtPaid
(
BigDecimal
.
ZERO
);
}
if
(
payUavWalletVO
.
getSalaryAmount
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
payLogDO
.
setSalaryAmtPaid
(
payUavWalletVO
.
getSalaryAmount
().
negate
());
}
else
{
payLogDO
.
setSalaryAmtPaid
(
BigDecimal
.
ZERO
);
}
// 如果是100 扣减余额冻结金额
payWalletDO
.
setCashAmt
(
userWalletInfo
.
getCashAmt
().
subtract
(
payUavWalletVO
.
getCashAmount
()));
payWalletDO
.
setCashFreeze
(
userWalletInfo
.
getCashAmt
().
add
(
payUavWalletVO
.
getCashAmount
()));
payWalletDO
.
setSalaryAmt
(
userWalletInfo
.
getSalaryAmt
().
subtract
(
payUavWalletVO
.
getSalaryAmount
()));
payWalletDO
.
setSalaryFreeze
(
userWalletInfo
.
getSalaryAmt
().
add
(
payUavWalletVO
.
getSalaryAmount
()));
}
else
if
(
payUavWalletVO
.
getOrderStatus
().
equals
(
PayMethodEnums
.
PAY_UAV_ORDER_REFUND
.
getCode
()))
{
payLogDO
.
setPayMethod
(
payUavWalletVO
.
getOrderStatus
());
payLogDO
.
setCashAmtPaid
(
payUavWalletVO
.
getCashAmount
());
payLogDO
.
setSalaryAmtPaid
(
payUavWalletVO
.
getSalaryAmount
());
// 如果是1400 回滚解冻金额
payWalletDO
.
setCashAmt
(
userWalletInfo
.
getCashAmt
().
add
(
payUavWalletVO
.
getCashAmount
()));
payWalletDO
.
setCashFreeze
(
userWalletInfo
.
getCashAmt
().
subtract
(
payUavWalletVO
.
getCashAmount
()));
payWalletDO
.
setSalaryAmt
(
userWalletInfo
.
getSalaryAmt
().
add
(
payUavWalletVO
.
getSalaryAmount
()));
payWalletDO
.
setSalaryFreeze
(
userWalletInfo
.
getSalaryAmt
().
subtract
(
payUavWalletVO
.
getSalaryAmount
()));
}
else
{
payLogDO
.
setPayMethod
(
payUavWalletVO
.
getOrderStatus
());
payLogDO
.
setCashAmtPaid
(
BigDecimal
.
ZERO
);
payLogDO
.
setSalaryAmtPaid
(
payUavWalletVO
.
getSalaryAmount
());
// 订单收益
payWalletDO
.
setSalaryAmt
(
userWalletInfo
.
getSalaryAmt
().
add
(
payUavWalletVO
.
getSalaryAmount
()));
}
payWalletDao
.
insertPayLogDO
(
payLogDO
);
payWalletDao
.
updatePayWallet
(
payWalletDO
);
return
ResultBody
.
success
();
}
}
csm-service/cms-service-user/src/main/resources/mapper/CompanyDao.xml
浏览文件 @
2f8be2f1
...
...
@@ -221,6 +221,10 @@
select id, back_user_account_id, company_info_id from company_back_user where company_info_id = #{companyInfoId}
</select>
<select
id=
"getCompanyBackUserByBackUserId"
resultType=
"com.mmc.iuav.user.entity.CompanyBackUserDO"
>
select id, back_user_account_id, company_info_id from company_back_user where back_user_account_id = #{backUserAccountId}
</select>
<select
id=
"getCompanyMember"
resultType=
"com.mmc.iuav.user.entity.CompanyMemberDO"
>
select id, user_account_id, company_info_id, is_leader as leader from company_member where company_info_id = #{companyInfoId} and user_account_id = #{userAccountId}
</select>
...
...
@@ -262,4 +266,16 @@
</foreach>
</if>
</select>
<select
id=
"getManagerByCompanyId"
resultType=
"com.mmc.iuav.user.entity.CompanyMemberDO"
>
SELECT
id,
user_account_id,
company_info_id,
is_leader,
create_time
FROM
company_member cm
where company_info_id = #{companyInfoId} and is_leader = 1
</select>
</mapper>
\ No newline at end of file
csm-service/cms-service-user/src/main/resources/mapper/UserServiceDao.xml
浏览文件 @
2f8be2f1
...
...
@@ -163,10 +163,11 @@
<select
id=
"feignListUserAccount"
resultType=
"com.mmc.iuav.user.entity.UserAccountDO"
parameterType=
"com.mmc.iuav.user.model.qo.UserAccountQO"
>
select ua.id, ua.phone_num,
u
a.user_name, ua.nick_name, ua.user_img, ua.open_id,
select ua.id, ua.phone_num,
rn
a.user_name, ua.nick_name, ua.user_img, ua.open_id,
ua.union_id, ua.user_sex, ua.email, ua.source, ua.account_status, ua.remark,
ua.port_type, ua.disable, ua.create_time, ua.update_time, ca.auth_status as companyAuthStatus
from user_account ua left join company_auth ca on ua.id = ca.user_account_id
from user_account ua left join company_auth ca on ua.id = ca.user_account_id left join real_name_auth rna on
ua.id = rna.user_account_id
where ua.disable = 0
<if
test=
" userIds != null "
>
<foreach
collection=
"userIds"
item=
"id"
open=
"and ua.id in ("
close=
")"
separator=
","
>
...
...
csm-service/cms-service-user/src/main/resources/mapper/fdd/ContractDao.xml
0 → 100644
浏览文件 @
2f8be2f1
<?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.ContractDao"
>
<insert
id=
"insertUavContractInfo"
>
insert into contract_info (union_id, order_no, contract_no, contract_title)
values (#{unionId}, #{orderNo}, #{contractNo}, #{contractTitle})
</insert>
<update
id=
"updateContractInfo"
>
update contract_info
<set>
<if
test=
"signStatus != null"
>
sign_status = #{signStatus},
</if>
<if
test=
"singerTime != null"
>
singer_time = #{singerTime},
</if>
<if
test=
"aRemark != null"
>
a_remark = #{aRemark},
</if>
<if
test=
"bRemark != null"
>
b_remark = #{bRemark},
</if>
<if
test=
"aTransactionId != null"
>
a_transaction_id = #{aTransactionId},
</if>
<if
test=
"bTransactionId != null"
>
b_transaction_id = #{bTransactionId},
</if>
<if
test=
"archiveDate != null"
>
archive_date = #{archiveDate}
</if>
</set>
where contract_no = #{contractNo}
</update>
<delete
id=
"deleteContractInfo"
>
delete
from contract_info
where order_no = #{orderNo}
</delete>
<select
id=
"contractInfoByOrderNo"
resultType=
"com.mmc.iuav.user.entity.fdd.ContractInfoDO"
>
select id,
union_id,
order_no,
contract_no,
contract_title,
sign_status,
singer_time,
a_remark,
b_remark,
a_transaction_id,
b_transaction_id,
create_time,
update_time,
archive_date
from contract_info
<where>
<if
test=
"orderNo != null"
>
order_no = #{orderNo}
</if>
<if
test=
"contractNo != null"
>
contract_no = #{contractNo}
</if>
</where>
</select>
<select
id=
"listContractInfoByOrderNo"
resultType=
"com.mmc.iuav.user.entity.fdd.ContractInfoDO"
>
select id,
union_id,
order_no,
contract_no,
contract_title,
sign_status,
singer_time,
a_remark,
b_remark,
a_transaction_id,
b_transaction_id,
create_time,
update_time,
archive_date
from contract_info
<where>
<if
test=
"orderNo != null"
>
<foreach
collection=
"orderNo"
item=
"orderNo"
separator=
","
>
order_no = #{orderNo}
</foreach>
</if>
</where>
</select>
</mapper>
\ No newline at end of file
csm-service/cms-service-user/src/main/resources/mapper/fdd/SealManageDao.xml
0 → 100644
浏览文件 @
2f8be2f1
<?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.SealManageDao"
>
<insert
id=
"insertSealInfo"
>
insert into seal_info (seal_name, signature_id, seal_url, union_id)
values (#{sealName}, #{signatureId}, #{sealUrl}, #{unionId})
</insert>
<update
id=
"updateSealStatusById"
>
update seal_info set seal_status = 0
where id in
<foreach
collection=
"list"
separator=
","
index=
"index"
item=
"item"
open=
"("
close=
")"
>
#{item}
</foreach>
</update>
<update
id=
"updateSealStatusBySignatureId"
>
update seal_info
set seal_status = 1
where signature_id = #{signatureId}
</update>
<update
id=
"updateSealName"
>
update seal_info
set seal_name = #{sealName}
where signature_id = #{signatureId}
and union_id = #{unionId}
</update>
<delete
id=
"deletedSealInfo"
>
delete
from seal_info
where signature_id = #{signatureId}
</delete>
<select
id=
"countSealInfo"
resultType=
"java.lang.Integer"
>
SELECT
count(*)
FROM seal_info
<where>
union_id = #{uId}
<if
test=
"startTime != null and startTime != '' "
>
and create_time
>
= STR_TO_DATE(#{startTime},'%Y-%m-%d %H:%i:%s')
</if>
<if
test=
"endTime != null and endTime != '' "
>
and create_time
<
= STR_TO_DATE(#{endTime},'%Y-%m-%d %H:%i:%s')
</if>
</where>
</select>
<select
id=
"getSealInfoList"
resultType=
"com.mmc.iuav.user.entity.fdd.SealInfoDO"
>
SELECT id,
seal_name,
signature_id,
union_id,
seal_status,
seal_url,
create_time
FROM seal_info
<where>
union_id = #{uId}
<if
test=
"startTime != null and startTime != '' "
>
and create_time
>
= STR_TO_DATE(#{startTime},'%Y-%m-%d %H:%i:%s')
</if>
<if
test=
"endTime != null and endTime != '' "
>
and create_time
<
= STR_TO_DATE(#{endTime},'%Y-%m-%d %H:%i:%s')
</if>
</where>
ORDER BY seal_status desc ,create_time desc
limit #{pageNo}, #{pageSize}
</select>
<select
id=
"getSealInfoListByUnionId"
resultType=
"com.mmc.iuav.user.entity.fdd.SealInfoDO"
>
SELECT id,
seal_name,
signature_id,
union_id,
seal_status,
seal_url,
create_time
FROM seal_info
where union_id = #{uId}
</select>
</mapper>
\ No newline at end of file
csm-service/cms-service-user/src/main/resources/mapper/fdd/UserFddAuthDao.xml
浏览文件 @
2f8be2f1
...
...
@@ -51,7 +51,14 @@
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
select id,
customer_id,
union_id,
person_verify_status,
ent_verify_status,
account_type,
create_time,
update_time
from user_fdd
where union_id = #{unionId}
</select>
...
...
csm-service/cms-service-user/src/main/resources/not-check.yml
浏览文件 @
2f8be2f1
...
...
@@ -23,6 +23,7 @@ data-filter:
-
/userapp/company/getCompanyInfoById
-
/userapp/company/listCompanyInfoByIds
-
/userapp/company/listCompanyInfoByBUIds
-
/userapp/company/getManagerIdByBackUserId
-
/userapp/cooperation/service/bitmap
-
/userapp/cooperation/listCompanyInfoByCoopId
-
/userapp/cooperation/appBrandList
...
...
@@ -33,4 +34,7 @@ data-filter:
-
/userapp/xz/xzWithdrawNotify
-
/userapp/pay/feignTopUpCash
-
/userapp/pay/feignWalletFlowNO
-
/userapp/pay/feignPayUavWallet
-
/userapp/fdd/contract/notifyStamp
-
/userapp/fdd/auth/notifyECertRes
kustomization/overlays/dev/kustomization.yaml
浏览文件 @
2f8be2f1
...
...
@@ -18,4 +18,4 @@ patches:
images
:
-
name
:
REGISTRY/NAMESPACE/IMAGE:TAG
newName
:
mmc-registry.cn-shenzhen.cr.aliyuncs.com/sharefly-dev/cms
newTag
:
d6374ab7d29958354b2b0f4cc1e6e29f6b17f717
newTag
:
ca052edd5a7e95f4d20df7935fad9c5b9ba2feee
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论