Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
I
ims
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
iuav
ims
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
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论