id; $user=User::find($user_id); $order_no=$event->data; Log::error(json_encode($order_no)); if($user->level==3){ $order_goods=OrderDetailW::with('goods')->where('order_no',$order_no)->get(); foreach($order_goods as $key=>$val){ $goods=$val->goods; Log::info('!!!@@@'.$goods->main_attr); $type=$this->type($goods->main_attr); $sex=$this->sex($val->type); $size=$this->size($val->size); $num=(int)$val->num; $data=UserStorage::where('user_id',$user_id)->where('type',$type) ->where('sex',$sex)->where('size',$size)->first(); if($data){ $data->num += $num; $data->save(); }else{ UserStorage::create([ 'user_id'=> $user_id, 'type' => $type, 'sex' => $sex, 'size' => $size, 'num' => $num, ]); } ExpressStorage::create([ 'user_id'=>$user_id, 'size'=>$size, 'sex'=>$sex, 'type'=>$type, 'num'=>$num, 'storage_type'=>2, 'sure_time'=>date("Y-m-d H:i:s"), 'order_no'=>$order_no, 'remark'=>'取消订单加库存' ]); } } } function type($attr_main){ switch($attr_main){ case '精装版': return 0; break; case '简约版': return 1; break; case '老人版': case '高腰版': return 2; break; case '纯棉老人版': return 3; break; case '青春版': return 4; break; default: return 9; } } function sex($sex){ if($sex=='女款'){ return 0; } return 1; } function size($size){ $size=strtoupper($size); if($size=='XXL'){ return '2XL'; } if($size=='XXXL'){ return '3XL'; } if($size=='XXXXL'){ return '4XL'; } if($size=='XXXXXL'){ return '5XL'; } return $size; } }