Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
cms
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
iuav
cms
Commits
ca295aeb
提交
ca295aeb
authored
9月 07, 2023
作者:
xiaowang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
商城云享金余额扣减
上级
96860fec
隐藏空白字符变更
内嵌
并排
正在显示
13 个修改的文件
包含
572 行增加
和
7 行删除
+572
-7
ContractVO.java
.../main/java/com/mmc/iuav/user/model/fdd/vo/ContractVO.java
+32
-0
PayUavWalletVO.java
...ava/com/mmc/iuav/user/model/vo/wallet/PayUavWalletVO.java
+34
-0
FddConstant.java
...main/java/com/mmc/iuav/user/constant/fdd/FddConstant.java
+4
-2
ContractController.java
.../com/mmc/iuav/user/controller/fdd/ContractController.java
+103
-0
PayWalletController.java
.../mmc/iuav/user/controller/wallet/PayWalletController.java
+8
-0
ContractDao.java
.../src/main/java/com/mmc/iuav/user/dao/fdd/ContractDao.java
+24
-0
ContractInfoDO.java
...ain/java/com/mmc/iuav/user/entity/fdd/ContractInfoDO.java
+72
-0
PayMethodEnums.java
...src/main/java/com/mmc/iuav/user/enums/PayMethodEnums.java
+2
-1
ContractService.java
...n/java/com/mmc/iuav/user/service/fdd/ContractService.java
+92
-0
ContractServiceImpl.java
...m/mmc/iuav/user/service/fdd/impl/ContractServiceImpl.java
+110
-0
PayWalletService.java
...va/com/mmc/iuav/user/service/wallet/PayWalletService.java
+4
-0
PayWalletServiceImpl.java
...c/iuav/user/service/wallet/impl/PayWalletServiceImpl.java
+56
-4
ContractDao.xml
...ervice-user/src/main/resources/mapper/fdd/ContractDao.xml
+31
-0
没有找到文件。
cms-common/cms-common-model/src/main/java/com/mmc/iuav/user/model/fdd/vo/ContractVO.java
0 → 100644
浏览文件 @
ca295aeb
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
;
}
cms-common/cms-common-model/src/main/java/com/mmc/iuav/user/model/vo/wallet/PayUavWalletVO.java
0 → 100644
浏览文件 @
ca295aeb
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"
)
private
Integer
userAccountId
;
@ApiModelProperty
(
value
=
"云享金"
)
private
BigDecimal
cashAmount
;
@ApiModelProperty
(
value
=
"佣金"
)
private
BigDecimal
salaryAmount
;
@ApiModelProperty
(
value
=
"订单状态 100:订单支付 1400:商城订单退款"
)
private
Integer
orderStatus
;
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/constant/fdd/FddConstant.java
浏览文件 @
ca295aeb
...
@@ -3,12 +3,12 @@ package com.mmc.iuav.user.constant.fdd;
...
@@ -3,12 +3,12 @@ package com.mmc.iuav.user.constant.fdd;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
/**
/**
* author:zhenjie
* @author:lw Date:2022/7/22
* Date:2022/7/22
* time:11:07
* time:11:07
*/
*/
@Component
@Component
public
class
FddConstant
{
public
class
FddConstant
{
public
static
final
String
SUCCESS_CODE
=
"1000"
;
public
static
final
String
CODE
=
"code"
;
public
static
final
String
CODE
=
"code"
;
public
static
final
String
DATA
=
"data"
;
public
static
final
String
DATA
=
"data"
;
...
@@ -43,4 +43,6 @@ public class FddConstant {
...
@@ -43,4 +43,6 @@ public class FddConstant {
public
static
final
String
SIGN
=
"sign"
;
public
static
final
String
SIGN
=
"sign"
;
public
static
final
String
UID_REGEX
=
"[-|_]"
;
public
static
final
String
UID_REGEX
=
"[-|_]"
;
public
static
final
String
YXF
=
"YXF"
;
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/controller/fdd/ContractController.java
0 → 100644
浏览文件 @
ca295aeb
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.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
javax.servlet.http.HttpServletRequest
;
/**
* @Author LW
* @date 2022/9/5 14:31
* 概要:
*/
@Api
(
tags
=
{
"无人机城--合同管理"
})
@RestController
@RequestMapping
(
"/uav/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
).
getUserAccountId
());
}
@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 uavContractManageService.notifyStamp(map);
// }
//
// @ApiOperation(value = "合同签署信息-条件查询")
// @ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
// @PostMapping("selectList")
// public ResultBody<List<UavContractInfoDTO>> selectList(@RequestBody UavContractInfoQO qo) {
// return uavContractManageService.selectList(qo);
// }*
//
// @ApiOperation(value = "归档")
// @ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
// @GetMapping("/file")
// public ResultBody file(@RequestParam(value = "contractId") String contractId, HttpServletRequest request) {
// return uavContractManageService.file(contractId, this.getCurrentAccount(request).getId());
// }
//
// @ApiOperation(value = "通过无人机城订单id批量查询合同信息")
// @ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
// @ApiIgnore
// @PostMapping("feignListUAVContractByOIds")
// public List<UavContractInfoDTO> feignListUAVContractByOIds(@RequestBody List<Long> orderIds) {
// return uavContractManageService.feignListUAVContractByOIds(orderIds);
// }
//
// @ApiOperation(value = "通过无人机城订单id单个合同信息")
// @ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
// @ApiIgnore
// @GetMapping("feignGetUAVContractByOId")
// public UavContractInfoDTO feignGetUAVContractByOId(@RequestParam Long orderId) {
// return uavContractManageService.feignGetUAVContractByOId(orderId);
// }
//
// @ApiOperation(value = "根据orderId删除合同信息")
// @ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
// @ApiIgnore
// @GetMapping("feignRemoveContractByOrderId")
// public ResultBody feignRemoveContractByOrderId(@RequestParam Long orderId) {
// return uavContractManageService.feignRemoveContractByOrderId(orderId);
// }
//
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/controller/wallet/PayWalletController.java
浏览文件 @
ca295aeb
...
@@ -5,6 +5,7 @@ import com.mmc.iuav.user.controller.BaseController;
...
@@ -5,6 +5,7 @@ import com.mmc.iuav.user.controller.BaseController;
import
com.mmc.iuav.user.entity.wallet.UserBillingDetailVO
;
import
com.mmc.iuav.user.entity.wallet.UserBillingDetailVO
;
import
com.mmc.iuav.user.model.dto.wallet.PayWalletDTO
;
import
com.mmc.iuav.user.model.dto.wallet.PayWalletDTO
;
import
com.mmc.iuav.user.model.qo.wallet.WalletFlowQO
;
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.TopUpOrderVO
;
import
com.mmc.iuav.user.model.vo.wallet.WalletFlowVO
;
import
com.mmc.iuav.user.model.vo.wallet.WalletFlowVO
;
import
com.mmc.iuav.user.service.wallet.PayWalletService
;
import
com.mmc.iuav.user.service.wallet.PayWalletService
;
...
@@ -77,4 +78,11 @@ public class PayWalletController extends BaseController {
...
@@ -77,4 +78,11 @@ public class PayWalletController extends BaseController {
@ApiParam
(
value
=
"详情类型"
,
required
=
true
)
@RequestParam
String
detailType
)
{
@ApiParam
(
value
=
"详情类型"
,
required
=
true
)
@RequestParam
String
detailType
)
{
return
payWalletService
.
billingDetails
(
id
,
detailType
);
return
payWalletService
.
billingDetails
(
id
,
detailType
);
}
}
@ApiOperation
(
value
=
"商城订单钱包流水加扣记录"
)
@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/fdd/ContractDao.java
0 → 100644
浏览文件 @
ca295aeb
package
com
.
mmc
.
iuav
.
user
.
dao
.
fdd
;
import
com.mmc.iuav.user.entity.fdd.ContractInfoDO
;
import
org.apache.ibatis.annotations.Mapper
;
/**
* @Author LW
* @date 2022/9/5 14:47
* 概要:
*/
@Mapper
public
interface
ContractDao
{
/**
* 新增无人机城合同信息
*
* @param uavContractInfoDO
*/
void
insertUavContractInfo
(
ContractInfoDO
uavContractInfoDO
);
ContractInfoDO
contractInfoByOrderNo
(
String
orderNo
);
void
deleteContractInfo
(
String
orderNo
);
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/entity/fdd/ContractInfoDO.java
0 → 100644
浏览文件 @
ca295aeb
package
com
.
mmc
.
iuav
.
user
.
entity
.
fdd
;
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
Integer
userAccountId
;
/**
* 订单号
*/
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
;
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/enums/PayMethodEnums.java
浏览文件 @
ca295aeb
...
@@ -16,7 +16,8 @@ public enum PayMethodEnums {
...
@@ -16,7 +16,8 @@ public enum PayMethodEnums {
MODIFY_THE_ORDER
(
800
,
"修改订单金额状态(大于)"
),
MODIFY_THE_ORDER
(
800
,
"修改订单金额状态(大于)"
),
FLYING_HAND_NOT_CONFIRMED_GT
(
900
,
"飞手未确认修改金额大于原订单状态"
),
FLYING_HAND_NOT_CONFIRMED_GT
(
900
,
"飞手未确认修改金额大于原订单状态"
),
FLYING_HAND_CONFIRM_LT
(
1000
,
"飞手确认修改金额小于原订单状态"
),
FLYING_HAND_CONFIRM_LT
(
1000
,
"飞手确认修改金额小于原订单状态"
),
USER_TOP_UP
(
1100
,
"充值"
);
USER_TOP_UP
(
1100
,
"充值"
),
PAY_UAV_ORDER_REFUND
(
1400
,
"商城订单退款"
);
PayMethodEnums
(
Integer
code
,
String
method
)
{
PayMethodEnums
(
Integer
code
,
String
method
)
{
this
.
code
=
code
;
this
.
code
=
code
;
...
...
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/service/fdd/ContractService.java
0 → 100644
浏览文件 @
ca295aeb
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.vo.ContractVO
;
/**
* @Author LW
* @date 2022/9/5 14:38
* 概要:
*/
public
interface
ContractService
{
/**
* 上传合同
*
* @param param
* @param id
* @return
*/
ResultBody
uploadContract
(
ContractVO
param
,
Integer
id
);
ResultBody
viewContract
(
String
contractId
);
ResultBody
downloadContract
(
String
contractId
);
ResultBody
stamp
(
String
contractId
,
LoginSuccessDTO
loginSuccessDTO
,
String
pages
,
Integer
port
);
// /**
// * 预览合同
// * @param contractId
// * @return
// */
// ResultBody viewContract(String contractId);
//
// /**
// * 下载合同
// * @param contractId
// * @return
// */
// String downloadContract(String contractId);
//
// /**
// * 手动签署
// * @param contractId
// * @param id
// * @param unionId
// * @param pages
// * @return
// */
// ResultBody stamp(String contractId, Integer id,String unionId,String pages);
//
// /**
// * 异步回调
// * @param map
// * @return
// */
// ResultBody notifyStamp(Map<String, String> map);
//
// /**
// * 选择列表
// *
// * @param qo 问:
// * @return {@link ResultBody}<{@link List}<{@link UavContractInfoDTO}>>
// */
// ResultBody<List<UavContractInfoDTO>> selectList(UavContractInfoQO qo);
//
// /**
// * 合同归档
// * @param contractId
// * @param id
// * @return
// */
// ResultBody file(String contractId, Integer id);
//
// /**
// * 列表uavcontract oid
// *
// * @param orderIds 订单id
// * @return {@link List}<{@link UavContractInfoDTO}>
// */
// List<UavContractInfoDTO> feignListUAVContractByOIds(List<Long> orderIds);
//
// /**
// * 假装被oid uavcontract
// *
// * @param orderId 订单id
// * @return {@link UavContractInfoDTO}
// */
// UavContractInfoDTO feignGetUAVContractByOId(Long orderId);
//
// ResultBody feignRemoveContractByOrderId(Long orderId);
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/service/fdd/impl/ContractServiceImpl.java
0 → 100644
浏览文件 @
ca295aeb
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.DownloadPdfParams
;
import
com.fadada.sdk.base.model.req.UploadDocsParams
;
import
com.fadada.sdk.base.model.req.ViewPdfURLParams
;
import
com.fadada.sdk.utils.crypt.FddEncryptTool
;
import
com.mmc.iuav.general.CodeUtil
;
import
com.mmc.iuav.response.ResultBody
;
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.model.dto.LoginSuccessDTO
;
import
com.mmc.iuav.user.model.fdd.vo.ContractVO
;
import
com.mmc.iuav.user.service.fdd.ContractService
;
import
com.mmc.iuav.user.util.TDateUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Resource
;
/**
* @Author LW
* @date 2022/9/5 14:38
* 概要:
*/
@Service
@Slf4j
public
class
ContractServiceImpl
implements
ContractService
{
@Resource
ContractDao
contractDao
;
/**
* 上传合同
*
* @param param
* @param id
* @return
*/
@Override
public
ResultBody
uploadContract
(
ContractVO
param
,
Integer
id
)
{
FddBaseClient
baseClient
=
new
FddBaseClient
(
FddConnectConstant
.
APP_ID
,
FddConnectConstant
.
APP_KEY
,
FddConnectConstant
.
VERSION
,
FddConnectConstant
.
HOST
);
// 查询这个订单号之前有没有上传过合同有的话就删除
ContractInfoDO
contractInfoDO
=
contractDao
.
contractInfoByOrderNo
(
param
.
getOrderNo
());
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
.
setUserAccountId
(
id
);
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
)
{
return
null
;
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/service/wallet/PayWalletService.java
浏览文件 @
ca295aeb
...
@@ -2,6 +2,7 @@ package com.mmc.iuav.user.service.wallet;
...
@@ -2,6 +2,7 @@ package com.mmc.iuav.user.service.wallet;
import
com.mmc.iuav.response.ResultBody
;
import
com.mmc.iuav.response.ResultBody
;
import
com.mmc.iuav.user.model.qo.wallet.WalletFlowQO
;
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.TopUpOrderVO
;
import
com.mmc.iuav.user.model.vo.wallet.WalletFlowVO
;
import
com.mmc.iuav.user.model.vo.wallet.WalletFlowVO
;
...
@@ -22,4 +23,7 @@ public interface PayWalletService {
...
@@ -22,4 +23,7 @@ public interface PayWalletService {
ResultBody
customerBillingDetail
(
Integer
userAccountId
,
WalletFlowQO
walletFlowQO
);
ResultBody
customerBillingDetail
(
Integer
userAccountId
,
WalletFlowQO
walletFlowQO
);
ResultBody
billingDetails
(
Integer
id
,
String
detailType
);
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
浏览文件 @
ca295aeb
...
@@ -15,10 +15,7 @@ import com.mmc.iuav.user.enums.PayMethodEnums;
...
@@ -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.dto.wallet.PayWalletDTO
;
import
com.mmc.iuav.user.model.qo.wallet.WalletFlowQO
;
import
com.mmc.iuav.user.model.qo.wallet.WalletFlowQO
;
import
com.mmc.iuav.user.model.vo.WithdrawalInfoVO
;
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.*
;
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.service.wallet.PayWalletService
;
import
com.mmc.iuav.user.service.wallet.PayWalletService
;
import
com.mmc.iuav.user.util.TDateUtil
;
import
com.mmc.iuav.user.util.TDateUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
...
@@ -579,4 +576,59 @@ public class PayWalletServiceImpl implements PayWalletService {
...
@@ -579,4 +576,59 @@ public class PayWalletServiceImpl implements PayWalletService {
return
ResultBody
.
success
(
detail
);
return
ResultBody
.
success
(
detail
);
}
}
}
}
@Override
public
ResultBody
payUavWallet
(
PayUavWalletVO
payUavWalletVO
)
{
// 获取用户钱包信息
PayWalletDO
userWalletInfo
=
payWalletDao
.
getPayWalletByUser
(
payUavWalletVO
.
getUserAccountId
());
// 获取下单金额是否大于该用户钱包金额
if
(
userWalletInfo
.
getCashAmt
().
compareTo
(
payUavWalletVO
.
getCashAmount
())
<
0
)
{
return
ResultBody
.
error
(
"可抵扣的云享金不足"
);
}
if
(
userWalletInfo
.
getSalaryAmt
().
compareTo
(
payUavWalletVO
.
getSalaryAmount
())
<
0
)
{
return
ResultBody
.
error
(
"可抵扣的佣金不足"
);
}
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
()))
{
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
{
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
()));
}
payWalletDao
.
insertPayLogDO
(
payLogDO
);
payWalletDao
.
updatePayWallet
(
payWalletDO
);
return
ResultBody
.
success
();
}
}
}
csm-service/cms-service-user/src/main/resources/mapper/fdd/ContractDao.xml
0 → 100644
浏览文件 @
ca295aeb
<?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"
>
<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,
user_account_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 order_no = #{orderNo}
</select>
</mapper>
\ No newline at end of file
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论