Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
alading2018
ShopXO
提交
6c34f5bd
ShopXO
项目概览
alading2018
/
ShopXO
与 Fork 源项目一致
Fork自
纵之格 / ShopXO
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
ShopXO
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
6c34f5bd
编写于
9月 04, 2020
作者:
D
devil
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
订单取消库存回滚无效修复
上级
9ccb9f09
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
57 addition
and
0 deletion
+57
-0
application/service/BuyService.php
application/service/BuyService.php
+7
-0
application/service/WarehouseGoodsService.php
application/service/WarehouseGoodsService.php
+50
-0
未找到文件。
application/service/BuyService.php
浏览文件 @
6c34f5bd
...
@@ -1928,6 +1928,13 @@ class BuyService
...
@@ -1928,6 +1928,13 @@ class BuyService
return
$base
;
return
$base
;
}
}
// 仓库库存回滚
$we_ret
=
WarehouseGoodsService
::
WarehouseGoodsInventoryRollback
(
$params
[
'order_id'
],
$v
[
'goods_id'
],
$spec
,
$v
[
'buy_number'
]);
if
(
$we_ret
[
'code'
]
!=
0
)
{
return
$we_ret
;
}
// 回滚日志更新
// 回滚日志更新
$log_data
=
[
$log_data
=
[
'is_rollback'
=>
1
,
'is_rollback'
=>
1
,
...
...
application/service/WarehouseGoodsService.php
浏览文件 @
6c34f5bd
...
@@ -870,5 +870,55 @@ class WarehouseGoodsService
...
@@ -870,5 +870,55 @@ class WarehouseGoodsService
return
DataReturn
(
'扣除成功'
,
0
);
return
DataReturn
(
'扣除成功'
,
0
);
}
}
/**
* 仓库库存回滚
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2020-08-02
* @desc description
* @param [int] $order_id [订单id]
* @param [int] $goods_id [商品id]
* @param [string] $spec [商品规格]
* @param [int] $buy_number [扣除库存数量]
*/
public
static
function
WarehouseGoodsInventoryRollback
(
$order_id
,
$goods_id
,
$spec
,
$buy_number
)
{
// 获取仓库id
$warehouse_id
=
Db
::
name
(
'Order'
)
->
where
([
'id'
=>
$order_id
])
->
value
(
'warehouse_id'
);
if
(
empty
(
$warehouse_id
))
{
return
DataReturn
(
'订单仓库id有误'
,
-
1
);
}
// 规格key,空则默认default
$md5_key
=
'default'
;
if
(
!
empty
(
$spec
))
{
if
(
!
is_array
(
$spec
))
{
$spec
=
json_decode
(
$spec
,
true
);
}
$md5_key
=
implode
(
''
,
array_column
(
$spec
,
'value'
));
}
$md5_key
=
md5
(
$md5_key
);
// 扣除仓库商品规格库存
$where
=
[
'warehouse_id'
=>
$warehouse_id
,
'goods_id'
=>
$goods_id
,
'md5_key'
=>
$md5_key
];
if
(
!
Db
::
name
(
'WarehouseGoodsSpec'
)
->
where
(
$where
)
->
setInc
(
'inventory'
,
$buy_number
))
{
return
DataReturn
(
'仓库商品规格库存回滚失败['
.
$warehouse_id
.
'-'
.
$goods_id
.
'('
.
$buy_number
.
')]'
,
-
11
);
}
// 扣除仓库商品库存
$where
=
[
'warehouse_id'
=>
$warehouse_id
,
'goods_id'
=>
$goods_id
];
if
(
!
Db
::
name
(
'WarehouseGoods'
)
->
where
(
$where
)
->
setInc
(
'inventory'
,
$buy_number
))
{
return
DataReturn
(
'仓库商品库存回滚失败['
.
$warehouse_id
.
'-'
.
$goods_id
.
'('
.
$buy_number
.
')]'
,
-
12
);
}
return
DataReturn
(
'回滚成功'
,
0
);
}
}
}
?>
?>
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录