|
@@ -101,42 +101,52 @@ class Goods extends Backend
|
|
|
protected function makeVal(){
|
|
|
$data=input('row/a');
|
|
|
$data['logo']=array_filter(explode(',',$data['logo']??''));
|
|
|
- if(empty($data['is_kill'])||$data['is_kill']==0){
|
|
|
- unset($data['amount_kill']);
|
|
|
- }
|
|
|
$this->validate($data,[
|
|
|
'name|商品名称'=>['require'],
|
|
|
'describe|描述'=>['require','max:50'],
|
|
|
'category_id|商品分类'=>['require'],
|
|
|
'brand|品牌'=>['require'],
|
|
|
- //'amount|售价'=>['require','float','gt:0'],
|
|
|
- //'amount_cost|成本价'=>['require','float','egt:0'],
|
|
|
'is_kill'=>['require'],
|
|
|
- //'amount_kill|秒杀价'=>['float','gt:0','requireIf:is_kill,1'],
|
|
|
'logo|LOGO'=>['require','array','min:1','max:6'],
|
|
|
]);
|
|
|
- foreach ($data['sku'] as $item){
|
|
|
+ foreach ($data['sku'] as $key=>$item){
|
|
|
$rule=[
|
|
|
'name|规格名'=>['require'],
|
|
|
'num_stock|规格库存'=>['require','gt:0'],
|
|
|
- 'amount|售价'=>['require','float','gt:0'],
|
|
|
'amount_cost|成本价'=>['require','float','egt:0'],
|
|
|
];
|
|
|
- if($data['is_kill']){
|
|
|
- $rule['amount_kill|秒杀价']=['float','gt:0','require'];
|
|
|
- }
|
|
|
$this->validate($item,$rule);
|
|
|
+ #售价
|
|
|
+ $amountLadderAll=$data['amount_ladder'][$key]??[];
|
|
|
+ foreach ($amountLadderAll as $amount){
|
|
|
+ $this->validate($amount,[
|
|
|
+ 'min|售价区间最小数量'=>['require','gt:0'],
|
|
|
+ 'max|售价区间最大数量'=>['require','gt:0'],
|
|
|
+ 'amount|售价区间价格'=>['require','gt:0'],
|
|
|
+ ]);
|
|
|
+ }
|
|
|
+ #秒杀价
|
|
|
+ if($data['is_kill']) {
|
|
|
+ $amountKillLadderAll = $data['amount_kill_ladder'][$key] ?? [];
|
|
|
+ foreach ($amountKillLadderAll as $amount) {
|
|
|
+ $this->validate($amount, [
|
|
|
+ 'min|秒杀价区间最小数量' => ['require', 'gt:0'],
|
|
|
+ 'max|秒杀价区间最大数量' => ['require', 'gt:0'],
|
|
|
+ 'amount|秒杀价区间价格' => ['require', 'gt:0'],
|
|
|
+ ]);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
foreach ($data['detail'] as $item){
|
|
|
$this->validate($item,[
|
|
|
'name|规格参数名'=>['require'],
|
|
|
- 'value|规格参数值'=>['require','gt:0'],
|
|
|
+ 'value|规格参数值'=>['require'],
|
|
|
]);
|
|
|
}
|
|
|
foreach ($data['service'] as $item){
|
|
|
$this->validate($item,[
|
|
|
'name|售后服务参数名'=>['require'],
|
|
|
- 'value|售后服务参数值'=>['require','gt:0'],
|
|
|
+ 'value|售后服务参数值'=>['require'],
|
|
|
]);
|
|
|
}
|
|
|
return $data;
|
|
@@ -151,18 +161,19 @@ class Goods extends Backend
|
|
|
}
|
|
|
Db::startTrans();
|
|
|
foreach ($data as $key=>$value){
|
|
|
- if(!in_array($key,$goods::$read)){
|
|
|
+ if(!in_array($key,$goods::$read) && $goods->hasColumn($key)){
|
|
|
$goods[$key]=$value;
|
|
|
}
|
|
|
}
|
|
|
$goods->allowField(true)->save();
|
|
|
$ids=[];
|
|
|
- foreach ($data['sku'] as $sku){
|
|
|
- $this->validate($sku,[
|
|
|
- 'name|规格名称'=>['require'],
|
|
|
- 'num_stock|库存'=>['require','gt:0'],
|
|
|
- 'amount|价格'=>['require','gt:0'],
|
|
|
- ]);
|
|
|
+ foreach ($data['sku'] as $key=>$sku){
|
|
|
+ #售价
|
|
|
+ $amountLadderAll=array_values($data['amount_ladder'][$key]??[]);
|
|
|
+ #秒杀价
|
|
|
+ $amountKillLadderAll=array_values($data['amount_kill_ladder'][$key]??[]);
|
|
|
+ $sku['amount_ladder']=$amountLadderAll;
|
|
|
+ $sku['amount_kill_ladder']=$amountKillLadderAll;
|
|
|
if(!empty($sku['id'])){
|
|
|
$SKU=$goods->sku()->find($sku['id']);
|
|
|
$SKU->save($sku);
|
|
@@ -200,7 +211,7 @@ class Goods extends Backend
|
|
|
$goods->service()->whereNotIn('id',$ids)->delete();
|
|
|
$goods->setAmount();
|
|
|
Db::commit();
|
|
|
- $this->success();
|
|
|
+ $this->error('成功');
|
|
|
}
|
|
|
|
|
|
public function bind_goods($ids){
|