Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
a43cbc36
提交
a43cbc36
authored
10月 27, 2023
作者:
huyufan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
逆向
上级
1d5ee5da
隐藏空白字符变更
内嵌
并排
正在显示
9 个修改的文件
包含
165 行增加
和
38 行删除
+165
-38
OrderGoodsStatusLazyComponent.java
.../performance/component/OrderGoodsStatusLazyComponent.java
+124
-34
RedisConstants.java
...ain/java/com/clx/performance/constant/RedisConstants.java
+4
-1
OrderGoodsDao.java
.../src/main/java/com/clx/performance/dao/OrderGoodsDao.java
+4
-0
OrderGoodsDaoImpl.java
.../java/com/clx/performance/dao/impl/OrderGoodsDaoImpl.java
+13
-0
OrderGoodsMapper.java
...ain/java/com/clx/performance/mapper/OrderGoodsMapper.java
+4
-0
OrderGoodsSqlProvider.java
...om/clx/performance/sqlProvider/OrderGoodsSqlProvider.java
+13
-0
OneGoodsOrderStrategy.java
.../clx/performance/strategy/impl/OneGoodsOrderStrategy.java
+1
-1
ThreeGoodsOrderStrategy.java
...lx/performance/strategy/impl/ThreeGoodsOrderStrategy.java
+1
-1
TwoGoodsOrderStrategy.java
.../clx/performance/strategy/impl/TwoGoodsOrderStrategy.java
+1
-1
没有找到文件。
performance-web/src/main/java/com/clx/performance/component/OrderGoodsStatusLazyComponent.java
浏览文件 @
a43cbc36
package
com
.
clx
.
performance
.
component
;
import
cn.hutool.core.collection.CollectionUtil
;
import
com.clx.order.enums.
Order
Enum
;
import
com.clx.order.enums.
VehicleUsage
Enum
;
import
com.clx.order.feign.OrderFeign
;
import
com.clx.order.param.feign.RollbackOrderWeightParam
;
import
com.clx.order.param.feign.UpdateOrderInfoParam
;
import
com.clx.order.vo.feign.FeignOrderVO
;
import
com.clx.performance.constant.RedisConstants
;
import
com.clx.performance.dao.OrderChildDao
;
import
com.clx.performance.dao.OrderGoodsDao
;
import
com.clx.performance.dao.OrderGoodsTruckBindDao
;
import
com.clx.performance.enums.Order
GoodsPendingVehicleUsage
Enum
;
import
com.clx.performance.enums.Order
Child
Enum
;
import
com.clx.performance.enums.OrderGoodsStatusEnum
;
import
com.clx.performance.enums.OrderGoodsTruckBindEnum
;
import
com.clx.performance.enums.TruckDemandEnum
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.OrderGoods
;
import
com.msl.common.base.Optional
;
...
...
@@ -28,10 +27,11 @@ import org.springframework.transaction.annotation.Transactional;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
import
java.time.ZoneOffset
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.*
;
/**
*
*/
@Component
@Slf4j
@AllArgsConstructor
...
...
@@ -49,19 +49,27 @@ public class OrderGoodsStatusLazyComponent implements InitializingBean {
private
final
OrderChildDao
orderChildDao
;
public
void
expireProduce
(
LocalDateTime
localDateTime
,
String
orderGoodsNo
)
{
redisTemplate
.
opsForZSet
().
add
(
RedisConstants
.
ORDER_GOODS_STATUS_LAZY
,
orderGoodsNo
,
localDateTime
.
toInstant
(
ZoneOffset
.
of
(
"+8"
)).
toEpochMilli
());
//根据货单最晚接单时间处理的
public
void
expireProduceByLastOrderTime
(
LocalDateTime
localDateTime
,
String
orderGoodsNo
)
{
redisTemplate
.
opsForZSet
().
add
(
RedisConstants
.
ORDER_GOODS_STATUS_LAZY_LAST_ORDER_TIME
,
orderGoodsNo
,
localDateTime
.
toInstant
(
ZoneOffset
.
of
(
"+8"
)).
toEpochMilli
());
}
public
void
expireProduceByLastArriveSendTime
(
LocalDateTime
localDateTime
,
String
orderGoodsNo
)
{
redisTemplate
.
opsForZSet
().
add
(
RedisConstants
.
ORDER_GOODS_STATUS_LAZY_LAST_ARRIVE_SEND_TIME
,
orderGoodsNo
,
localDateTime
.
toInstant
(
ZoneOffset
.
of
(
"+8"
)).
toEpochMilli
());
}
/**
* 根据货单最晚接单时间处理的
*/
@XxlJob
(
"OrderGoodsSuccess"
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
consuming
()
{
public
void
consuming
LastOrderTime
()
{
log
.
info
(
"货单-最晚接单时间-定时器启动"
);
long
nowTimeMillis
=
System
.
currentTimeMillis
();
LocalDateTime
nowDateTime
=
new
Date
(
nowTimeMillis
).
toInstant
().
atOffset
(
ZoneOffset
.
of
(
"+8"
)).
toLocalDateTime
();
Set
<
ZSetOperations
.
TypedTuple
<
String
>>
orderGoodsIds
=
redisTemplate
.
opsForZSet
().
rangeByScoreWithScores
(
RedisConstants
.
ORDER_GOODS_STATUS_LAZY
,
RedisConstants
.
ORDER_GOODS_STATUS_LAZY
_LAST_ORDER_TIME
,
0
,
nowTimeMillis
//延时任务score最小值
//延时任务score最大值(当前时间)
);
...
...
@@ -82,7 +90,7 @@ public class OrderGoodsStatusLazyComponent implements InitializingBean {
log
.
info
(
"处理当前货单编号:{}"
,
orderGoodsNo
);
Optional
<
OrderGoods
>
optional
=
orderGoodsDao
.
getByOrderGoodsNo
(
orderGoodsNo
);
if
(!
optional
.
isPresent
())
{
redisTemplate
.
opsForZSet
().
remove
(
RedisConstants
.
ORDER_GOODS_STATUS_LAZY
,
orderGoodsId
.
getValue
());
redisTemplate
.
opsForZSet
().
remove
(
RedisConstants
.
ORDER_GOODS_STATUS_LAZY
_LAST_ORDER_TIME
,
orderGoodsId
.
getValue
());
log
.
info
(
"当前货单编号未查询出货单数据,执行删除redis ORDER_GOODS_STATUS_LAZY id: {}"
,
orderGoodsId
.
getValue
());
continue
;
}
...
...
@@ -94,53 +102,135 @@ public class OrderGoodsStatusLazyComponent implements InitializingBean {
//更新货单已完成
orderGoodsDao
.
updateOrderGoodsStatusByOrderGoodsNo
(
orderGoodsNo
,
OrderGoodsStatusEnum
.
Status
.
SUCCESS
.
getCode
());
}
else
{
//更新已完结
orderGoodsDao
.
updateOrderGoodsStatusByOrderGoodsNo
(
orderGoodsNo
,
OrderGoodsStatusEnum
.
Status
.
COMPLETED
.
getCode
());
RollbackOrderWeightParam
param
=
new
RollbackOrderWeightParam
();
param
.
setOrderNo
(
orderGoods
.
getOrderNo
());
param
.
setResidueWeight
(
orderGoods
.
getResidueTransportWeight
());
if
(
orderGoods
.
getTruckDemand
().
equals
(
1
)
||
orderGoods
.
getTruckDemand
().
equals
(
3
))
{
if
(
orderGoods
.
getTruckDemand
().
equals
(
TruckDemandEnum
.
TruckType
.
PLATFORM_CAR
.
getCode
())
||
orderGoods
.
getTruckDemand
().
equals
(
TruckDemandEnum
.
TruckType
.
OWNER_CAR
.
getCode
()))
{
param
.
setOwnResidueCarryWeight
(
BigDecimal
.
ZERO
);
if
(
OrderGoodsPendingVehicleUsageEnum
.
Status
.
PLATFORM_TRUCK
.
getCode
().
equals
(
orderGoods
.
getVehicleUsage
()))
{
}
param
.
setPlatformResidueCarryWeight
(
BigDecimal
.
ZERO
);
}
else
{
if
(
orderGoods
.
getVehicleUsage
().
equals
(
VehicleUsageEnum
.
Status
.
PLATFORM
.
getCode
()))
{
param
.
setOwnResidueCarryWeight
(
BigDecimal
.
ZERO
);
param
.
setPlatformResidueCarryWeight
(
orderGoods
.
getResidueTransportWeight
());
}
else
if
(
orderGoods
.
getVehicleUsage
().
equals
(
VehicleUsageEnum
.
Status
.
OWN
.
getCode
()))
{
param
.
setOwnResidueCarryWeight
(
orderGoods
.
getResidueTransportWeight
());
param
.
setPlatformResidueCarryWeight
(
BigDecimal
.
ZERO
);
}
}
orderFeign
.
rollbackOrderWeight
(
param
);
//更新已完结,并设置剩余吨数为0
orderGoodsDao
.
updateOrderGoodsStatusAndRollbackResidueWeightByOrderGoodsNo
(
orderGoods
.
getId
(),
OrderGoodsStatusEnum
.
Status
.
COMPLETED
.
getCode
());
}
log
.
info
(
"删除redis ORDER_GOODS_STATUS_LAZY id: {}"
,
orderGoodsId
.
getValue
());
}
else
{
log
.
info
(
"当前还存在正在拉运的运单,推测一天再进行逻辑处理"
);
expireProduceByLastOrderTime
(
LocalDateTime
.
now
().
plusDays
(
1
),
orderGoodsNo
);
}
orderGoodsTruckBindDao
.
updateOrderGoodsBindStatus
(
orderGoodsNo
,
OrderGoodsTruckBindEnum
.
Status
.
EXPIRE
.
getCode
());
goodsOrderTruckRecordComponent
.
deleteTruckRecord
(
orderGoodsNo
);
FeignOrderVO
orderInfoFeign
=
orderFeign
.
getOrderInfoFeign
(
orderGoods
.
getOrderNo
());
redisTemplate
.
opsForZSet
().
remove
(
RedisConstants
.
ORDER_GOODS_STATUS_LAZY_LAST_ORDER_TIME
,
orderGoodsId
.
getValue
());
BigDecimal
residueTransportWeight
=
orderGoods
.
getResidueTransportWeight
();
UpdateOrderInfoParam
updateOrderInfoParam
=
new
UpdateOrderInfoParam
();
updateOrderInfoParam
.
setOrderId
(
orderInfoFeign
.
getId
());
updateOrderInfoParam
.
setResidueWeight
(
residueTransportWeight
.
add
(
new
BigDecimal
(
orderInfoFeign
.
getResidueWeight
())));
updateOrderInfoParam
.
setVehicleUsage
(
orderGoods
.
getVehicleUsage
());
}
}
}
log
.
info
(
"订单ID:{},返还订单剩余吨数{}"
,
orderInfoFeign
.
getId
(),
residueTransportWeight
);
//返还订单剩余吨数
orderFeign
.
updateOrderInfo
(
updateOrderInfoParam
);
}
/**
* 最晚到达货源地运单关闭
*/
@XxlJob
(
"OrderChildCancel"
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
consumingLastArriveSendTime
()
{
log
.
info
(
"货单-最晚到达货源地时间-定时器启动"
);
long
nowTimeMillis
=
System
.
currentTimeMillis
();
Set
<
ZSetOperations
.
TypedTuple
<
String
>>
orderGoodsIds
=
redisTemplate
.
opsForZSet
().
rangeByScoreWithScores
(
RedisConstants
.
ORDER_GOODS_STATUS_LAZY_LAST_ARRIVE_SEND_TIME
,
0
,
nowTimeMillis
//延时任务score最小值
//延时任务score最大值(当前时间)
);
if
(
orderGoodsIds
==
null
)
{
log
.
info
(
"货单-最晚到达货源地时间-定时器查询redis条数为null"
);
return
;
}
if
(
orderGoodsIds
.
isEmpty
())
{
log
.
info
(
"货单-最晚到达货源地时间-定时器查询redis条数为空"
);
return
;
}
if
(!
CollectionUtil
.
isEmpty
(
orderGoodsIds
))
{
log
.
info
(
"货单-最晚到达货源地时间-定时器查询redis条数:{}"
,
orderGoodsIds
.
size
());
for
(
ZSetOperations
.
TypedTuple
<
String
>
orderGoodsId
:
orderGoodsIds
)
{
log
.
info
(
"货单"
+
orderGoodsId
+
"过了最晚到达货源地时间"
);
String
orderGoodsNo
=
orderGoodsId
.
getValue
();
log
.
info
(
"处理当前货单编号:{}"
,
orderGoodsNo
);
Optional
<
OrderGoods
>
optional
=
orderGoodsDao
.
getByOrderGoodsNo
(
orderGoodsNo
);
if
(!
optional
.
isPresent
())
{
redisTemplate
.
opsForZSet
().
remove
(
RedisConstants
.
ORDER_GOODS_STATUS_LAZY_LAST_ARRIVE_SEND_TIME
,
orderGoodsId
.
getValue
());
log
.
info
(
"当前货单编号未查询出货单数据,执行删除redis ORDER_GOODS_STATUS_LAZY id: {}"
,
orderGoodsId
.
getValue
());
continue
;
}
orderGoodsTruckBindDao
.
updateOrderGoodsBindStatus
(
orderGoodsNo
,
OrderGoodsTruckBindEnum
.
Status
.
EXPIRE
.
getCode
());
goodsOrderTruckRecordComponent
.
deleteTruckRecord
(
orderGoodsNo
);
OrderGoods
orderGoods
=
optional
.
get
();
List
<
OrderChild
>
orderChildrenList
=
orderChildDao
.
selectInTransitOrderChild
(
orderGoodsNo
);
redisTemplate
.
opsForZSet
().
remove
(
RedisConstants
.
ORDER_GOODS_STATUS_LAZY
,
orderGoodsId
.
getValue
());
log
.
info
(
"删除redis ORDER_GOODS_STATUS_LAZY id: {}"
,
orderGoodsId
.
getValue
());
BigDecimal
childSum
=
BigDecimal
.
ZERO
;
for
(
OrderChild
orderChild
:
orderChildrenList
)
{
childSum
.
add
(
orderChild
.
getWeight
());
OrderChild
update
=
new
OrderChild
();
update
.
setId
(
orderChild
.
getId
());
update
.
setStatus
(
OrderChildEnum
.
Status
.
OWNER_CANCEL
.
getCode
());
//TODO 补充批量更新接口 关闭运单状态
orderChildDao
.
updateEntityByKey
(
update
);
}
RollbackOrderWeightParam
param
=
new
RollbackOrderWeightParam
();
param
.
setOrderNo
(
orderGoods
.
getOrderNo
());
param
.
setResidueWeight
(
orderGoods
.
getResidueTransportWeight
());
//当前货单已经到了最晚接单时间,所有相关状态均已经处理完毕,此刻单独处理运单的数据
if
(
OrderGoodsStatusEnum
.
Status
.
SUCCESS
.
getCode
().
equals
(
orderGoods
.
getOrderGoodsStatus
())
||
OrderGoodsStatusEnum
.
Status
.
COMPLETED
.
getCode
().
equals
(
orderGoods
.
getOrderGoodsStatus
())
)
{
//当前情况需要回填订单的余量
if
(
orderGoods
.
getTruckDemand
().
equals
(
1
)
||
orderGoods
.
getTruckDemand
().
equals
(
3
))
{
param
.
setOwnResidueCarryWeight
(
BigDecimal
.
ZERO
);
param
.
setPlatformResidueCarryWeight
(
BigDecimal
.
ZERO
);
}
else
{
if
(
orderGoods
.
getVehicleUsage
().
equals
(
VehicleUsageEnum
.
Status
.
PLATFORM
.
getCode
()))
{
param
.
setOwnResidueCarryWeight
(
BigDecimal
.
ZERO
);
param
.
setPlatformResidueCarryWeight
(
orderGoods
.
getResidueTransportWeight
());
}
else
if
(
orderGoods
.
getVehicleUsage
().
equals
(
VehicleUsageEnum
.
Status
.
OWN
.
getCode
()))
{
param
.
setOwnResidueCarryWeight
(
orderGoods
.
getResidueTransportWeight
());
param
.
setPlatformResidueCarryWeight
(
BigDecimal
.
ZERO
);
}
}
orderFeign
.
rollbackOrderWeight
(
param
);
}
else
{
//只更新货单未拉运吨数
orderGoodsDao
.
updateOrderGoodsSetResidueWeight
(
childSum
,
orderGoods
.
getId
());
}
redisTemplate
.
opsForZSet
().
remove
(
RedisConstants
.
ORDER_GOODS_STATUS_LAZY_LAST_ARRIVE_SEND_TIME
,
orderGoodsId
.
getValue
());
}
}
}
@Override
public
void
afterPropertiesSet
()
throws
Exception
{
Optional
<
List
<
OrderGoods
>>
optional
=
orderGoodsDao
.
getOrderGoodsList
();
if
(
optional
.
isPresent
())
{
for
(
OrderGoods
orderGoods
:
optional
.
get
())
{
redisTemplate
.
opsForZSet
().
add
(
RedisConstants
.
ORDER_GOODS_STATUS_LAZY
,
orderGoods
.
getOrderGoodsNo
(),
orderGoods
.
getLastArriveSendTime
().
toInstant
(
ZoneOffset
.
of
(
"+8"
)).
toEpochMilli
());
//处理最晚接单时间,货单处理,并回退吨数
redisTemplate
.
opsForZSet
().
add
(
RedisConstants
.
ORDER_GOODS_STATUS_LAZY_LAST_ORDER_TIME
,
orderGoods
.
getOrderGoodsNo
(),
orderGoods
.
getLastOrderTime
().
toInstant
(
ZoneOffset
.
of
(
"+8"
)).
toEpochMilli
());
//处理最晚到达货源地,运单取消处理,并回退吨数
redisTemplate
.
opsForZSet
().
add
(
RedisConstants
.
ORDER_GOODS_STATUS_LAZY_LAST_ARRIVE_SEND_TIME
,
orderGoods
.
getOrderGoodsNo
(),
orderGoods
.
getLastArriveSendTime
().
toInstant
(
ZoneOffset
.
of
(
"+8"
)).
toEpochMilli
());
}
}
}
...
...
performance-web/src/main/java/com/clx/performance/constant/RedisConstants.java
浏览文件 @
a43cbc36
...
...
@@ -19,7 +19,10 @@ public class RedisConstants {
public
static
final
String
CARRIER_ORDER_NUM_POOL_KEY
=
"clx-performance:order:orderNumPool:{date}"
;
public
static
final
String
ORDER_GOODS_STATUS_LAZY
=
"clx:order:goods:status:lazy:"
;
public
static
final
String
ORDER_GOODS_STATUS_LAZY_LAST_ORDER_TIME
=
"clx:order:goods:status:lazy:lastOrderTime"
;
public
static
final
String
ORDER_GOODS_STATUS_LAZY_LAST_ARRIVE_SEND_TIME
=
"clx:order:goods:status:lazy:lastOrderTime"
;
public
static
final
String
ORDER_GOODS_TRUCK_RECORD
=
"clx:order:goods:truck:record:"
;
public
static
final
String
ORDER_GOODS_RECORD
=
"clx:order:goods:record:"
;
...
...
performance-web/src/main/java/com/clx/performance/dao/OrderGoodsDao.java
浏览文件 @
a43cbc36
...
...
@@ -56,4 +56,8 @@ public interface OrderGoodsDao extends BaseDao<OrderGoodsMapper, OrderGoods, Int
List
<
OrderGoods
>
listIntegralOrderGoodsSync
();
boolean
updatePendingOrderFreightById
(
Integer
id
,
BigDecimal
pendingOrderFreight
);
boolean
updateOrderGoodsStatusAndRollbackResidueWeightByOrderGoodsNo
(
Integer
orderGoodsId
,
Integer
status
);
Integer
updateOrderGoodsSetResidueWeight
(
BigDecimal
residueWeight
,
Integer
id
);
}
performance-web/src/main/java/com/clx/performance/dao/impl/OrderGoodsDaoImpl.java
浏览文件 @
a43cbc36
...
...
@@ -149,4 +149,17 @@ public class OrderGoodsDaoImpl extends BaseDaoImpl<OrderGoodsMapper, OrderGoods,
public
boolean
updatePendingOrderFreightById
(
Integer
id
,
BigDecimal
pendingOrderFreight
)
{
return
update
(
lUdWrapper
().
eq
(
OrderGoods
::
getGoodsId
,
id
).
set
(
OrderGoods
::
getPendingOrderFreight
,
pendingOrderFreight
));
}
@Override
public
boolean
updateOrderGoodsStatusAndRollbackResidueWeightByOrderGoodsNo
(
Integer
orderGoodsId
,
Integer
status
)
{
return
update
(
lUdWrapper
().
eq
(
OrderGoods
::
getGoodsId
,
orderGoodsId
)
.
set
(
OrderGoods
::
getOrderGoodsStatus
,
status
)
.
set
(
OrderGoods:
:
getResidueTransportWeight
,
BigDecimal
.
ZERO
))
;
}
@Override
public
Integer
updateOrderGoodsSetResidueWeight
(
BigDecimal
residueWeight
,
Integer
id
)
{
return
baseMapper
.
updateOrderGoodsSetResidueWeight
(
residueWeight
,
id
);
}
}
performance-web/src/main/java/com/clx/performance/mapper/OrderGoodsMapper.java
浏览文件 @
a43cbc36
...
...
@@ -3,6 +3,7 @@ package com.clx.performance.mapper;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.clx.order.param.feign.RollbackOrderWeightParam
;
import
com.clx.order.params.PageOrderGoodsListParam
;
import
com.clx.performance.model.OrderGoods
;
import
com.clx.performance.sqlProvider.OrderGoodsSqlProvider
;
...
...
@@ -12,6 +13,7 @@ import com.clx.performance.vo.pc.OrderGoodsVO;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.SelectProvider
;
import
org.apache.ibatis.annotations.Update
;
import
org.apache.ibatis.annotations.UpdateProvider
;
import
java.math.BigDecimal
;
import
java.util.List
;
...
...
@@ -55,4 +57,6 @@ public interface OrderGoodsMapper extends BaseMapper<OrderGoods> {
@SelectProvider
(
type
=
OrderGoodsSqlProvider
.
class
,
method
=
"saveBatchEntity"
)
void
saveBatchEntity
(
List
<
OrderGoods
>
orderGoodsList
);
@UpdateProvider
(
type
=
OrderGoodsSqlProvider
.
class
,
method
=
"updateOrderGoodsSetResidueWeight"
)
Integer
updateOrderGoodsSetResidueWeight
(
@Param
(
value
=
"residueWeight"
)
BigDecimal
residueWeight
,
@Param
(
value
=
"id"
)
Integer
id
);
}
performance-web/src/main/java/com/clx/performance/sqlProvider/OrderGoodsSqlProvider.java
浏览文件 @
a43cbc36
package
com
.
clx
.
performance
.
sqlProvider
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.clx.order.param.feign.RollbackOrderWeightParam
;
import
com.clx.order.params.PageOrderGoodsListParam
;
import
com.clx.performance.enums.OrderGoodsStatusEnum
;
import
com.clx.performance.enums.OrderGoodsStopEnum
;
import
com.clx.performance.enums.PendingOrderWayStatusEnum
;
import
com.clx.performance.model.OrderGoods
;
import
com.clx.performance.vo.app.OrderGoodsAPPVO
;
import
io.swagger.models.auth.In
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.jdbc.SQL
;
import
java.math.BigDecimal
;
import
java.util.List
;
import
java.util.Objects
;
...
...
@@ -170,4 +173,14 @@ public class OrderGoodsSqlProvider {
return
sqlList
.
toString
();
}
public
String
updateOrderGoodsSetResidueWeight
(
@Param
(
value
=
"residueWeight"
)
BigDecimal
residueWeight
,
@Param
(
value
=
"id"
)
Integer
id
){
String
sql
=
new
SQL
()
{{
UPDATE
(
"order_goods"
)
.
SET
(
"residue_weight = residue_weight + #{residueWeight}"
)
.
WHERE
(
"id = #{id}"
);
}}.
toString
();
return
sql
;
}
}
performance-web/src/main/java/com/clx/performance/strategy/impl/OneGoodsOrderStrategy.java
浏览文件 @
a43cbc36
...
...
@@ -158,7 +158,7 @@ public class OneGoodsOrderStrategy extends GoodsOrderStrategy implements Initial
goodsOrderTruckRecordComponent
.
saveTruckRecord
(
orderGoodsNo
,
child
.
getTruckList
());
}
mqMap
.
put
(
orderGoodsNo
,
postedTime
);
orderGoodsStatusLazyComponent
.
expireProduce
(
orderGoods
.
getLastOrderTime
(),
orderGoodsNo
);
orderGoodsStatusLazyComponent
.
expireProduce
ByLastOrderTime
(
orderGoods
.
getLastOrderTime
(),
orderGoodsNo
);
beginOrderGoodsId
=
beginOrderGoodsId
+
1
;
orderGoodsList
.
add
(
orderGoods
);
...
...
performance-web/src/main/java/com/clx/performance/strategy/impl/ThreeGoodsOrderStrategy.java
浏览文件 @
a43cbc36
...
...
@@ -172,7 +172,7 @@ public class ThreeGoodsOrderStrategy extends GoodsOrderStrategy implements Initi
goodsOrderTruckRecordComponent
.
saveTruckRecord
(
orderGoodsNo
,
truckList
);
}
mqMap
.
put
(
orderNoPrefix
+
beginOrderGoodsId
,
postedTime
);
orderGoodsStatusLazyComponent
.
expireProduce
(
orderGoods
.
getLastOrderTime
(),
orderGoodsNo
);
orderGoodsStatusLazyComponent
.
expireProduce
ByLastOrderTime
(
orderGoods
.
getLastOrderTime
(),
orderGoodsNo
);
beginOrderGoodsId
=
beginOrderGoodsId
+
1
;
...
...
performance-web/src/main/java/com/clx/performance/strategy/impl/TwoGoodsOrderStrategy.java
浏览文件 @
a43cbc36
...
...
@@ -166,7 +166,7 @@ public class TwoGoodsOrderStrategy extends GoodsOrderStrategy implements Initial
goodsOrderTruckRecordComponent
.
saveTruckRecord
(
orderGoodsNo
,
child
.
getTruckList
());
}
mqMap
.
put
(
orderGoodsNo
,
postedTime
);
orderGoodsStatusLazyComponent
.
expireProduce
(
orderGoods
.
getLastOrderTime
(),
orderGoodsNo
);
orderGoodsStatusLazyComponent
.
expireProduce
ByLastOrderTime
(
orderGoods
.
getLastOrderTime
(),
orderGoodsNo
);
beginOrderGoodsId
=
beginOrderGoodsId
+
1
;
orderGoodsList
.
add
(
orderGoods
);
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论