Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
I
ims-ci-test
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
test-ci
ims-ci-test
Commits
501d9f15
提交
501d9f15
authored
8月 26, 2023
作者:
张小凤
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
UpdateAmountGetNumberVO(update)
上级
d3c4b053
隐藏空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
208 行增加
和
0 行删除
+208
-0
UpdateAmountGetNumberVO.java
...va/com/mmc/csf/infomation/vo/UpdateAmountGetNumberVO.java
+43
-0
RequirementsController.java
...om/mmc/csf/release/controller/RequirementsController.java
+10
-0
RequirementsAmountUpdateDO.java
...lease/entity/requirements/RequirementsAmountUpdateDO.java
+54
-0
RequirementsService.java
...java/com/mmc/csf/release/service/RequirementsService.java
+2
-0
RequirementsServiceImpl.java
...mmc/csf/release/service/impl/RequirementsServiceImpl.java
+99
-0
没有找到文件。
csf-common/csf-common-model/src/main/java/com/mmc/csf/infomation/vo/UpdateAmountGetNumberVO.java
0 → 100644
浏览文件 @
501d9f15
package
com
.
mmc
.
csf
.
infomation
.
vo
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.math.BigDecimal
;
/**
* @Author small
* @Date 2023/8/26 13:54
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public
class
UpdateAmountGetNumberVO
{
@ApiModelProperty
(
value
=
"修改订单金额"
,
example
=
"100.00"
,
required
=
true
)
//@NotNull(message = "订单金额", groups = {Insert.class})
//@DecimalMin(value = "100.00", message = "amount格式不正确")
private
BigDecimal
orderAmount
;
@ApiModelProperty
(
value
=
"云享金"
,
example
=
"10"
,
hidden
=
true
)
private
BigDecimal
cashAmount
;
@ApiModelProperty
(
value
=
"佣金"
,
example
=
"10"
,
hidden
=
true
)
private
BigDecimal
salaryAmount
;
@ApiModelProperty
(
value
=
"微信金额"
,
example
=
"10"
,
hidden
=
true
)
private
BigDecimal
weChatPay
;
@ApiModelProperty
(
value
=
"用户id"
,
example
=
"10"
,
hidden
=
true
)
private
Integer
userAccountId
;
@ApiModelProperty
(
value
=
"支付方式,云享金:1,佣金:2,微信支付:3"
,
example
=
"1,2,3"
,
required
=
true
)
private
String
paymentType
;
@ApiModelProperty
(
value
=
"抢单时需要知道抢单的那个订单"
,
example
=
"1"
,
required
=
true
)
private
Integer
requirementsInfoId
;
}
release-service/src/main/java/com/mmc/csf/release/controller/RequirementsController.java
浏览文件 @
501d9f15
...
...
@@ -264,6 +264,16 @@ public class RequirementsController extends BaseController {
return
requirementsService
.
updatePublisherCancel
(
amountVO
,
request
);
}
@ApiOperation
(
value
=
"new--小程序——结算时修改任务佣金获取订单编号"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@PostMapping
(
"updateAmountGetNumber"
)
public
ResultBody
<
GetOrderNumberDTO
>
updateAmountGetNumber
(
@RequestBody
UpdateAmountGetNumberVO
getNumberVO
,
HttpServletRequest
request
)
{
Integer
userAccountId
=
this
.
getUserLoginInfoFromRedis
(
request
).
getUserAccountId
();
getNumberVO
.
setUserAccountId
(
userAccountId
);
return
requirementsService
.
updateAmountGetNumber
(
getNumberVO
,
request
);
}
@ApiOperation
(
value
=
"new——后台管理取消订单(取消发布者与飞手共同建立的订单)"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@GetMapping
(
"cancelAll"
)
...
...
release-service/src/main/java/com/mmc/csf/release/entity/requirements/RequirementsAmountUpdateDO.java
0 → 100644
浏览文件 @
501d9f15
package
com
.
mmc
.
csf
.
release
.
entity
.
requirements
;
import
com.mmc.csf.config.IsNullConvertZero
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.math.BigDecimal
;
/**
* @Author small
* @Date 2023/8/26 14:18
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
RequirementsAmountUpdateDO
{
@ApiModelProperty
(
value
=
"服务需求id"
,
example
=
"1"
)
private
Integer
requirementTypeId
;
@ApiModelProperty
(
value
=
"发布者修改后的订单金额"
,
example
=
"100"
)
@IsNullConvertZero
private
BigDecimal
orderAmount
;
@ApiModelProperty
(
value
=
"需要支付的云享金"
,
example
=
"100"
)
@IsNullConvertZero
private
BigDecimal
cashAmount
;
@ApiModelProperty
(
value
=
"微信支付金额"
,
example
=
"100"
)
@IsNullConvertZero
private
BigDecimal
weChat
;
@ApiModelProperty
(
value
=
"佣金"
,
example
=
"100"
)
@IsNullConvertZero
private
BigDecimal
salaryAmount
;
@ApiModelProperty
(
value
=
"微信支付的订单编号"
,
example
=
"100"
)
@IsNullConvertZero
private
BigDecimal
wechatPayOrderNumber
;
@ApiModelProperty
(
value
=
"修改原因"
,
example
=
"未按时完成任务"
)
private
String
reason
;
@ApiModelProperty
(
value
=
"图片地址"
,
example
=
"http://"
)
private
String
url
;
@ApiModelProperty
(
value
=
"用户id"
,
example
=
"1"
)
private
Integer
userAccountId
;
}
release-service/src/main/java/com/mmc/csf/release/service/RequirementsService.java
浏览文件 @
501d9f15
...
...
@@ -95,6 +95,8 @@ public interface RequirementsService {
ResultBody
updatePublisherNumber
(
GetOrderNumberUpdateVO
getOrderNumberUpdateVO
,
HttpServletRequest
request
);
ResultBody
updateAmountGetNumber
(
UpdateAmountGetNumberVO
getNumberVO
,
HttpServletRequest
request
);
PageResult
myPreempt
(
Integer
userAccountId
,
MyPreemptQO
param
);
ResultBody
droneFlyerCancel
(
Integer
requirementsInfoId
,
Integer
userAccountId
,
HttpServletRequest
request
);
...
...
release-service/src/main/java/com/mmc/csf/release/service/impl/RequirementsServiceImpl.java
浏览文件 @
501d9f15
...
...
@@ -607,6 +607,102 @@ public class RequirementsServiceImpl implements RequirementsService {
}
}
@Override
public
ResultBody
<
GetOrderNumberDTO
>
updateAmountGetNumber
(
UpdateAmountGetNumberVO
getNumberVO
,
HttpServletRequest
request
)
{
RequirementsAmountUpdateDO
amountUpdateDO
=
new
RequirementsAmountUpdateDO
();
IsNullConvertZeroUtil
.
checkIsNull
(
amountUpdateDO
);
RequirementsInfoDO
requirementsInfoDO
=
requirementsDao
.
publisherCancel
(
getNumberVO
.
getRequirementsInfoId
(),
getNumberVO
.
getUserAccountId
());
if
(
requirementsInfoDO
==
null
)
{
return
ResultBody
.
error
(
"只能修改自己发布的服务需求"
);
}
//用户钱包信息接口
ResultBody
resultBody
=
getCurrentUserPayWalletInfo
(
request
);
GetOrderNumberDTO
orderNumberDTO
=
new
GetOrderNumberDTO
();
IsNullConvertZeroUtil
.
checkIsNull
(
orderNumberDTO
);
orderNumberDTO
.
setUserAccountId
(
getNumberVO
.
getUserAccountId
());
PayWalletDTO
payWalletDTO
=
(
PayWalletDTO
)
resultBody
.
getResult
();
//用户云享金+用户佣金>总金额
//剩余后台云享金
BigDecimal
cashAmt
=
payWalletDTO
.
getCashAmt
();
//剩余佣金
BigDecimal
salaryAmt
=
payWalletDTO
.
getSalaryAmt
();
//需要支付的总金额
BigDecimal
orderAmount
=
getNumberVO
.
getOrderAmount
();
String
paymentType
=
getNumberVO
.
getPaymentType
();
String
[]
split
=
paymentType
.
split
(
","
);
Set
<
String
>
collect
=
Arrays
.
asList
(
split
).
stream
().
collect
(
Collectors
.
toSet
());
TreeSet
<
String
>
objects
=
new
TreeSet
<>(
collect
);
BigDecimal
tempTotalAmount
=
orderAmount
;
//校验是退款还是需要继续支付
//继续支付
if
(
getNumberVO
.
getOrderAmount
().
compareTo
(
requirementsInfoDO
.
getOrderAmount
())
==
1
)
{
//不存在加急或者置顶
for
(
String
type
:
objects
)
{
switch
(
type
)
{
case
"1"
:
if
(!(
tempTotalAmount
.
compareTo
(
BigDecimal
.
ZERO
)
==
0
))
{
if
(
cashAmt
.
compareTo
(
tempTotalAmount
)
==
1
||
cashAmt
.
compareTo
(
tempTotalAmount
)
==
0
)
{
amountUpdateDO
.
setCashAmount
(
tempTotalAmount
);
// walletFlowVO.setCashAmount(tempTotalAmount);
tempTotalAmount
=
BigDecimal
.
ZERO
;
}
else
{
tempTotalAmount
=
tempTotalAmount
.
subtract
(
cashAmt
);
amountUpdateDO
.
setCashAmount
(
cashAmt
);
// walletFlowVO.setCashAmount(cashAmt);
}
}
break
;
case
"2"
:
if
(!(
tempTotalAmount
.
compareTo
(
BigDecimal
.
ZERO
)
==
0
))
{
if
(
salaryAmt
.
compareTo
(
tempTotalAmount
)
==
1
||
salaryAmt
.
compareTo
(
tempTotalAmount
)
==
0
)
{
amountUpdateDO
.
setSalaryAmount
(
tempTotalAmount
);
tempTotalAmount
=
BigDecimal
.
ZERO
;
}
else
{
tempTotalAmount
=
tempTotalAmount
.
subtract
(
salaryAmt
);
amountUpdateDO
.
setSalaryAmount
(
salaryAmt
);
}
}
break
;
case
"3"
:
if
(!(
tempTotalAmount
.
compareTo
(
BigDecimal
.
ZERO
)
==
0
))
{
amountUpdateDO
.
setWeChat
(
tempTotalAmount
);
tempTotalAmount
=
BigDecimal
.
ZERO
;
}
break
;
default
:
break
;
}
}
}
WalletFlowVO
walletFlowVO
=
new
WalletFlowVO
();
PublisherWalletFlowVO
publisherWalletFlowVO
=
new
PublisherWalletFlowVO
();
IsNullConvertZeroUtil
.
checkIsNull
(
publisherWalletFlowVO
);
ApplyRefundVO
applyRefundVO
=
new
ApplyRefundVO
();
RequirementsServiceDO
requirementsServiceDO
=
new
RequirementsServiceDO
();
if
(
tempTotalAmount
.
compareTo
(
BigDecimal
.
ZERO
)
==
0
)
{
//表示订单计算完成,需要支付的钱都算出来了
System
.
out
.
println
(
requirementsServiceDO
.
getWechatPayOrderNumber
());
orderNumberDTO
.
setWeChatPay
(
requirementsServiceDO
.
getWeChat
());
if
(
orderNumberDTO
.
getWeChatPay
().
compareTo
(
BigDecimal
.
ZERO
)
!=
0
)
{
orderNumberDTO
.
setWeChatPay
(
requirementsServiceDO
.
getWeChat
());
orderNumberDTO
.
setPaymentOrderNumber
(
randomOrderCode
());
stringRedisTemplate
.
opsForValue
().
set
(
orderNumberDTO
.
getPaymentOrderNumber
(),
JsonUtil
.
parseObjToJson
(
orderNumberDTO
));
}
return
ResultBody
.
success
(
orderNumberDTO
);
}
else
{
//云享金和佣金扣除完成,但是还不足支付订单金额,并且没有选择微信支付,所以支付不合法
return
ResultBody
.
success
(
"下单失败"
);
}
}
@Override
public
PageResult
myPreempt
(
Integer
userAccountId
,
MyPreemptQO
param
)
{
Integer
pageNo
=
param
.
getPageNo
();
...
...
@@ -841,6 +937,9 @@ public class RequirementsServiceImpl implements RequirementsService {
@Override
public
ResultBody
publisherCancel
(
Integer
requirementsInfoId
,
Integer
userAccountId
,
HttpServletRequest
request
)
{
RequirementsInfoDO
requirementsInfoDO
=
requirementsDao
.
publisherCancel
(
requirementsInfoId
,
userAccountId
);
if
(
requirementsInfoDO
==
null
)
{
return
ResultBody
.
error
(
"当前订单不存在"
);
}
Integer
serviceFlowId
=
requirementsInfoDO
.
getServiceFlowId
();
ApplyRefundVO
applyRefundVO
=
new
ApplyRefundVO
();
WalletFlowVO
walletFlowVO
=
new
WalletFlowVO
();
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论