提交 ae965783 编写于 作者: G gongfuxiang

仓库编辑状态库存同步处理

上级 5d663837
...@@ -214,38 +214,55 @@ class WarehouseService ...@@ -214,38 +214,55 @@ class WarehouseService
'lng' => isset($params['lng']) ? floatval($params['lng']) : 0, 'lng' => isset($params['lng']) ? floatval($params['lng']) : 0,
'lat' => isset($params['lat']) ? floatval($params['lat']) : 0, 'lat' => isset($params['lat']) ? floatval($params['lat']) : 0,
'is_default' => $is_default, 'is_default' => $is_default,
'is_enable' => isset($params['is_enable']) ? intval($params['is_enable']) : 0,
]; ];
// 启动事务
Db::startTrans(); Db::startTrans();
// 默认地址处理 // 捕获异常
if($is_default == 1) try {
{ // 默认地址处理
Db::name('Warehouse')->where(['is_default'=>1])->update(['is_default'=>0]); if($is_default == 1)
}
// 添加/更新数据
if(empty($params['id']))
{
$data['add_time'] = time();
if(Db::name('Warehouse')->insertGetId($data) > 0)
{ {
Db::commit(); Db::name('Warehouse')->where(['is_default'=>1])->update(['is_default'=>0]);
return DataReturn('新增成功', 0);
} else {
Db::rollback();
return DataReturn('新增失败');
} }
} else {
$data['upd_time'] = time(); // 获取仓库数据
if(Db::name('Warehouse')->where(['id'=>intval($params['id'])])->update($data)) $info = empty($params['id']) ? [] : Db::name('Warehouse')->where(['id'=>intval($params['id'])])->find();
// 添加/更新数据
if(empty($info))
{ {
Db::commit(); $data['add_time'] = time();
return DataReturn('更新成功', 0); if(Db::name('Warehouse')->insertGetId($data) <= 0)
{
throw new \Exception('新增失败');
}
} else { } else {
Db::rollback(); $data['upd_time'] = time();
return DataReturn('更新失败'); if(!Db::name('Warehouse')->where(['id'=>intval($params['id'])])->update($data))
{
throw new \Exception('更新失败');
}
// 同步处理
if($info['is_enable'] != $data['is_enable'])
{
$ret = self::WarehouseGoodsInventorySync($info['id']);
if($ret['code'] != 0)
{
throw new \Exception($ret['msg']);
}
}
} }
// 完成
Db::commit();
return DataReturn('操作成功', 0);
} catch(\Exception $e) {
Db::rollback();
return DataReturn($e->getMessage(), -1);
} }
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册