Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
I
ims-ci-test
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
test-ci
ims-ci-test
Commits
dfe1bd40
提交
dfe1bd40
authored
9月 09, 2023
作者:
张小凤
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Requ(update)
上级
48ffea81
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
110 行增加
和
9 行删除
+110
-9
RedisKeyExpirationListener.java
...ease/controller/countDown/RedisKeyExpirationListener.java
+27
-3
RequirementsDao.java
...rc/main/java/com/mmc/csf/release/dao/RequirementsDao.java
+6
-0
RequirementsServiceImpl.java
...mmc/csf/release/service/impl/RequirementsServiceImpl.java
+33
-6
RequirementsDao.xml
...rc/main/resources/mapper/requirements/RequirementsDao.xml
+44
-0
没有找到文件。
release-service/src/main/java/com/mmc/csf/release/controller/countDown/RedisKeyExpirationListener.java
浏览文件 @
dfe1bd40
...
...
@@ -6,6 +6,7 @@ import com.mmc.csf.common.util.web.ResultEnum;
import
com.mmc.csf.config.IsNullConvertZeroUtil
;
import
com.mmc.csf.infomation.vo.*
;
import
com.mmc.csf.release.dao.RequirementsDao
;
import
com.mmc.csf.release.entity.requirements.RequirementsAmountUpdateDO
;
import
com.mmc.csf.release.entity.requirements.RequirementsInfoDO
;
import
com.mmc.csf.release.entity.requirements.RequirementsServiceDO
;
import
com.mmc.csf.release.entity.requirements.ServiceSettleAccountsDO
;
...
...
@@ -54,6 +55,11 @@ public class RedisKeyExpirationListener extends KeyExpirationEventMessageListene
super
(
listenerContainer
);
}
/**
* 飞手未确认按照钱的计算
* @param message
* @param pattern
*/
@Override
public
void
onMessage
(
Message
message
,
byte
[]
pattern
)
{
// 获取失效的key
...
...
@@ -78,7 +84,9 @@ public class RedisKeyExpirationListener extends KeyExpirationEventMessageListene
ServiceSettleAccountsVO
settleAccountsVO
=
new
ServiceSettleAccountsVO
();
settleAccountsVO
.
setRequirementsInfoId
(
infoDO
.
getId
());
// RequirementsInfoDO infoDO = requirementsDao.selectSettleAccounts(settleAccountsVO);
RequirementsInfoDO
requirementsInfoDO
=
requirementsDao
.
publisherCancel
(
infoDO
.
getId
(),
infoDO
.
getUserAccountId
());
RequirementsServiceDO
requirementsServiceDO
=
requirementsDao
.
serviceSettleAccounts
(
settleAccountsVO
);
RequirementsAmountUpdateDO
updateAmount
=
requirementsDao
.
findUpdateAmount
(
infoDO
.
getId
());
IsNullConvertZeroUtil
.
checkIsNull
(
infoDO
);
IsNullConvertZeroUtil
.
checkIsNull
(
requirementsServiceDO
);
...
...
@@ -97,11 +105,25 @@ public class RedisKeyExpirationListener extends KeyExpirationEventMessageListene
BigDecimal
orderAmount
=
infoDO
.
getOrderAmount
();
BigDecimal
bigDecimal
=
new
BigDecimal
(
0.9
);
BigDecimal
bigDecimal1
=
orderAmount
.
multiply
(
bigDecimal
).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
publisherWalletFlowVO
.
setModeOfPayment
(
7
00
);
publisherWalletFlowVO
.
setModeOfPayment
(
9
00
);
publisherWalletFlowVO
.
setFlyerSalaryAmount
(
bigDecimal1
);
publisherWalletFlowVO
.
setCashAmount
(
infoDO
.
getCashAmount
().
negate
());
publisherWalletFlowVO
.
setSalaryAmount
(
infoDO
.
getSalaryAmount
().
negate
());
//需要退回后面支付的金额
if
(
updateAmount
.
getCashAmount
().
compareTo
(
BigDecimal
.
ZERO
)!=
0
||
updateAmount
.
getSalaryAmount
().
compareTo
(
BigDecimal
.
ZERO
)!=
0
){
publisherWalletFlowVO
.
setRefundCashAmount
(
updateAmount
.
getCashAmount
());
publisherWalletFlowVO
.
setRefundSalaryAmount
(
updateAmount
.
getSalaryAmount
());
}
//推发布者微信支付的金额
if
(
updateAmount
.
getWeChat
().
compareTo
(
BigDecimal
.
ZERO
)!=
0
){
ApplyRefundVO
applyRefundVO
=
new
ApplyRefundVO
();
applyRefundVO
.
setReason
(
"飞手未确认退款"
);
applyRefundVO
.
setRefund
(
updateAmount
.
getWeChat
().
multiply
(
new
BigDecimal
(
100
)).
longValue
());
applyRefundVO
.
setOutTradeNo
(
updateAmount
.
getWechatPayOrderNumber
());
applyRefund
(
applyRefundVO
,
""
);
}
publisherWalletFlowVO
.
setUserAccountId
(
infoDO
.
getUserAccountId
());
publisherWalletFlowVO
.
setOperateUserAccountId
(
0
);
...
...
@@ -114,7 +136,7 @@ public class RedisKeyExpirationListener extends KeyExpirationEventMessageListene
}
//退飞手钱
flyerWalletFlowVO
.
setModeOfPayment
(
7
00
);
flyerWalletFlowVO
.
setModeOfPayment
(
9
00
);
flyerWalletFlowVO
.
setCashAmount
(
requirementsServiceDO
.
getCashAmount
());
flyerWalletFlowVO
.
setSalaryAmount
(
requirementsServiceDO
.
getSalaryAmount
());
flyerWalletFlowVO
.
setUserAccountId
(
requirementsServiceDO
.
getPilotCertificationUserId
());
...
...
@@ -131,6 +153,8 @@ public class RedisKeyExpirationListener extends KeyExpirationEventMessageListene
applyRefundVO
.
setRefund
(
longValueWeChat
);
applyRefund
(
applyRefundVO
,
""
);
}
//推发布者微信账户
walletFlowVO
.
setPublisherWalletFlowVO
(
publisherWalletFlowVO
);
walletFlowVO
.
setFlyerWalletFlowVO
(
flyerWalletFlowVO
);
flyerCancel
(
walletFlowVO
,
""
);
...
...
release-service/src/main/java/com/mmc/csf/release/dao/RequirementsDao.java
浏览文件 @
dfe1bd40
...
...
@@ -195,4 +195,10 @@ public interface RequirementsDao {
RequirementsServiceDO
serviceReq
(
Integer
requirementsInfoId
);
void
updateRepertory
(
Integer
requirementsInfoId
);
int
findAmountUpdate
(
Integer
requirementsInfoId
);
void
updateRequirementsAmountUpdate
(
RequirementsAmountUpdateDO
amountUpdateDO
);
RequirementsAmountUpdateDO
findUpdateAmount
(
Integer
requirementsInfoId
);
}
release-service/src/main/java/com/mmc/csf/release/service/impl/RequirementsServiceImpl.java
浏览文件 @
dfe1bd40
...
...
@@ -1332,6 +1332,8 @@ public class RequirementsServiceImpl implements RequirementsService {
if
(
requirementsInfoDO
==
null
)
{
return
ResultBody
.
error
(
"只能修改自己发布的服务需求"
);
}
String
json
=
stringRedisTemplate
.
opsForValue
().
get
(
amountVO
.
getWechatPayOrderNumber
()
+
amountVO
.
getUserAccountId
());
GetOrderNumberDTO
numberDTO
=
JSONObject
.
parseObject
(
json
,
GetOrderNumberDTO
.
class
);
//用户钱包信息接口
...
...
@@ -1354,6 +1356,7 @@ public class RequirementsServiceImpl implements RequirementsService {
BigDecimal
tempTotalAmount
=
orderAmount
;
RequirementsAmountUpdateDO
amountUpdateDO
=
new
RequirementsAmountUpdateDO
(
amountVO
,
requirementsInfoDO
);
IsNullConvertZeroUtil
.
checkIsNull
(
amountUpdateDO
);
//校验是退款还是需要继续支付
//继续支付 需要增加冻结的任务佣金
if
(
amountVO
.
getUpdateOrderAmount
().
compareTo
(
requirementsInfoDO
.
getOrderAmount
())
==
1
)
{
...
...
@@ -1476,20 +1479,44 @@ public class RequirementsServiceImpl implements RequirementsService {
WalletFlowVO
walletFlowVO
=
new
WalletFlowVO
();
PublisherWalletFlowVO
publisherWalletFlowVO
=
new
PublisherWalletFlowVO
();
IsNullConvertZeroUtil
.
checkIsNull
(
publisherWalletFlowVO
);
ApplyRefundVO
applyRefundVO
=
new
ApplyRefundVO
();
//RequirementsServiceDO requirementsServiceDO = new RequirementsServiceDO();
System
.
out
.
println
(
amountUpdateDO
);
publisherWalletFlowVO
.
setModeOfPayment
(
800
);
publisherWalletFlowVO
.
setSalaryAmount
(
amountUpdateDO
.
getSalaryAmount
().
negate
());
publisherWalletFlowVO
.
setCashAmount
(
amountUpdateDO
.
getCashAmount
().
negate
());
publisherWalletFlowVO
.
setUserAccountId
(
amountUpdateDO
.
getUserAccountId
());
publisherWalletFlowVO
.
setOperateUserAccountId
(
amountUpdateDO
.
getUserAccountId
());
String
wechatPayOrderNumber
=
amountUpdateDO
.
getWechatPayOrderNumber
();
if
(
wechatPayOrderNumber
!=
null
){
UserPayInfoVO
userPayInfoVO
=
queryUserPayInfo
(
amountUpdateDO
.
getWechatPayOrderNumber
(),
request
);
if
(!
userPayInfoVO
.
getTradeState
().
equals
(
"SUCCESS"
)){
return
ResultBody
.
error
(
"支付失败,请重新支付"
);
}
}
if
(
tempTotalAmount
.
compareTo
(
BigDecimal
.
ZERO
)
==
0
)
{
//表示订单计算完成,需要支付的钱都算出来了
if
(
numberDTO
!=
null
)
{
amountUpdateDO
.
setWechatPayOrderNumber
(
numberDTO
.
getPaymentOrderNumber
());
}
requirementsDao
.
updateScene
(
amountVO
.
getRequirementsInfoId
(),
8
);
requirementsDao
.
updateInfo
(
amountVO
.
getRequirementsInfoId
(),
8
);
requirementsDao
.
requirementsAmountUpdate
(
amountUpdateDO
);
redisUtil
.
ins
(
"order_"
+
requirementsInfoDO
.
getPublisherNumber
(),
String
.
valueOf
(
requirementsInfoDO
),
1
,
TimeUnit
.
HOURS
);
int
amountUpdate
=
requirementsDao
.
findAmountUpdate
(
amountUpdateDO
.
getRequirementsInfoId
());
if
(
amountUpdate
!=
0
){
return
ResultBody
.
error
(
"只能修改一次不能重复修改"
);
}
else
{
requirementsDao
.
requirementsAmountUpdate
(
amountUpdateDO
);
}
if
(
amountUpdateDO
.
getSalaryAmount
().
compareTo
(
BigDecimal
.
ZERO
)!=
0
||
amountUpdateDO
.
getCashAmount
().
compareTo
(
BigDecimal
.
ZERO
)!=
0
){
walletFlowVO
.
setPublisherWalletFlowVO
(
publisherWalletFlowVO
);
flyerCancelNO
(
walletFlowVO
,
request
.
getHeader
(
"token"
));
}
//倒计时
// redisUtil.ins("order_" + requirementsInfoDO.getPublisherNumber(), String.valueOf(requirementsInfoDO), 1, TimeUnit.HOURS);
redisUtil
.
ins
(
"order_"
+
requirementsInfoDO
.
getPublisherNumber
(),
String
.
valueOf
(
requirementsInfoDO
),
2
,
TimeUnit
.
SECONDS
);
return
ResultBody
.
success
();
}
else
{
//云享金和佣金扣除完成,但是还不足支付订单金额,并且没有选择微信支付,所以支付不合法
...
...
release-service/src/main/resources/mapper/requirements/RequirementsDao.xml
浏览文件 @
dfe1bd40
...
...
@@ -57,6 +57,46 @@
#{returnSalaryAmount})
</insert>
<update
id=
"updateRequirementsAmountUpdate"
parameterType=
"com.mmc.csf.release.entity.requirements.RequirementsAmountUpdateDO"
>
update requirements_amount_update
<set>
<if
test=
" orderAmount != null "
>
order_amount = #{orderAmount},
</if>
<if
test=
" cashAmount != null "
>
cash_amount = #{cashAmount},
</if>
<if
test=
" weChat != null "
>
we_chat = #{weChat},
</if>
<if
test=
" salaryAmount != null "
>
salary_amount = #{salaryAmount},
</if>
<if
test=
"wechatPayOrderNumber!=null"
>
wechat_pay_order_number= #{wechatPayOrderNumber},
</if>
create_time=NOW(),
update_time=NOW(),
reason=#{reason},
url=#{url},
user_account_id=#{userAccountId},
<if
test=
"updateOrderAmount!=null"
>
update_order_amount=#{updateOrderAmount},
</if>
return_cash_amount=#{returnCashAmount},
return_we_chat =#{returnWeChat},
return_salary_amount=#{returnSalaryAmount}
</set>
where requirements_info_id=#{requirementsInfoId}
</update>
<select
id=
"findUpdateAmount"
resultType=
"com.mmc.csf.release.entity.requirements.RequirementsAmountUpdateDO"
>
select requirements_info_id,order_amount,update_order_amount,return_cash_amount,return_we_chat,return_salary_amount,
cash_amount,cash_amount,we_chat,salary_amount,wechat_pay_order_number from requirements_info_id=#{requirementsInfoId}
</select>
<insert
id=
"insertPlatformOrderEarnings"
>
INSERT INTO platform_order_earnings(liquidated_damages, requirements_info_id, user_account_id, create_time,
update_time)
...
...
@@ -1378,4 +1418,8 @@
set repertory=1
where id = #{requirementsInfoId}
</update>
<select
id=
"findAmountUpdate"
resultType=
"java.lang.Integer"
>
select count(*) from requirements_amount_update where requirements_info_id=#{requirementsInfoId}
</select>
</mapper>
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论