Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
飞鱼0526
ShopXO
提交
0df07e9c
ShopXO
项目概览
飞鱼0526
/
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,发现更多精彩内容 >>
提交
0df07e9c
编写于
10月 11, 2020
作者:
D
devil
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
库存优化
上级
04958b8f
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
88 addition
and
2 deletion
+88
-2
application/admin/view/default/warehousegoods/inventory_info.html
...ion/admin/view/default/warehousegoods/inventory_info.html
+10
-2
application/service/GoodsService.php
application/service/GoodsService.php
+9
-0
application/service/WarehouseGoodsService.php
application/service/WarehouseGoodsService.php
+69
-0
未找到文件。
application/admin/view/default/warehousegoods/inventory_info.html
浏览文件 @
0df07e9c
...
...
@@ -69,8 +69,16 @@ function ViewModalBack(e)
Prompt
(
e
.
msg
,
'
success
'
);
setTimeout
(
function
()
{
// 关闭弹窗
$
(
window
.
parent
.
document
).
find
(
'
.warehouse-goods-popup .am-close
'
).
trigger
(
'
click
'
);
// 关闭弹窗、仅关闭窗口后列表数据不更新
// $(window.parent.document).find('.warehouse-goods-popup .am-close').trigger('click');
// 刷新页面、刷新页面列表数据重新加载
if
(
self
.
frameElement
&&
self
.
frameElement
.
tagName
==
"
IFRAME
"
)
{
parent
.
location
.
reload
();
}
else
{
window
.
location
.
reload
();
}
},
1500
);
}
else
{
$
(
'
form.form-validation
'
).
find
(
'
button[type="submit"]
'
).
button
(
'
reset
'
);
...
...
application/service/GoodsService.php
浏览文件 @
0df07e9c
...
...
@@ -1064,6 +1064,15 @@ class GoodsService
return
$ret
;
}
// 仓库规格库存同步
$ret
=
WarehouseGoodsService
::
GoodsSpecChangeInventorySync
(
$goods_id
);
if
(
$ret
[
'code'
]
!=
0
)
{
// 回滚事务
Db
::
rollback
();
return
$ret
;
}
// 操作成功
$status
=
true
;
}
...
...
application/service/WarehouseGoodsService.php
浏览文件 @
0df07e9c
...
...
@@ -727,6 +727,75 @@ class WarehouseGoodsService
return
DataReturn
(
'更新成功'
,
0
);
}
/**
* 商品改变规格仓库商品库存同步
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2020-07-16
* @desc description
* @param [int] $goods_id [商品id]
*/
public
static
function
GoodsSpecChangeInventorySync
(
$goods_id
)
{
// 获取商品实际规格
$res
=
GoodsService
::
GoodsSpecificationsActual
(
$goods_id
);
if
(
empty
(
$res
[
'value'
]))
{
// 没有规格则读取默认规格数据
$res
[
'value'
][]
=
[
'base_id'
=>
Db
::
name
(
'GoodsSpecBase'
)
->
where
([
'goods_id'
=>
$goods_id
])
->
value
(
'id'
),
'value'
=>
'default'
,
];
}
// 获取商品仓库
$warehouse_goods
=
Db
::
name
(
'WarehouseGoods'
)
->
where
([
'goods_id'
=>
$goods_id
])
->
select
();
if
(
!
empty
(
$warehouse_goods
))
{
// 循环根据仓库处理库存
foreach
(
$warehouse_goods
as
$wg
)
{
$data
=
[];
foreach
(
$res
[
'value'
]
as
$v
)
{
$md5_key
=
md5
(
empty
(
$v
[
'value'
])
?
'default'
:
str_replace
(
','
,
''
,
$v
[
'value'
]));
$inventory
=
(
int
)
Db
::
name
(
'WarehouseGoodsSpec'
)
->
where
([
'warehouse_id'
=>
$wg
[
'warehouse_id'
],
'md5_key'
=>
$md5_key
])
->
value
(
'inventory'
);
$data
[]
=
[
'warehouse_goods_id'
=>
$wg
[
'id'
],
'warehouse_id'
=>
$wg
[
'warehouse_id'
],
'goods_id'
=>
$wg
[
'goods_id'
],
'md5_key'
=>
$md5_key
,
'spec'
=>
json_encode
(
self
::
GoodsSpecMuster
(
$v
[
'value'
],
$res
[
'title'
]),
JSON_UNESCAPED_UNICODE
),
'inventory'
=>
$inventory
,
'add_time'
=>
time
(),
];
}
// 删除原始数据
$where
=
[
'warehouse_id'
=>
$wg
[
'warehouse_id'
],
'goods_id'
=>
$wg
[
'goods_id'
],
];
Db
::
name
(
'WarehouseGoodsSpec'
)
->
where
(
$where
)
->
delete
();
// 仓库商品更新
Db
::
name
(
'WarehouseGoods'
)
->
where
([
'id'
=>
$wg
[
'id'
]])
->
update
([
'inventory'
=>
array_sum
(
array_column
(
$data
,
'inventory'
)),
'upd_time'
=>
time
(),
]);
// 添加数据
if
(
Db
::
name
(
'WarehouseGoodsSpec'
)
->
insertAll
(
$data
)
<
count
(
$data
))
{
return
DataReturn
(
'规格库存添加失败'
,
-
1
);
}
}
}
return
DataReturn
(
'操作成功'
,
0
);
}
/**
* 商品规格库存同步
* @author Devil
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录