生成订单代码
#生成订单
public function addOrders(Request $request){
//判断请求方式
if (!$request->isPost()) {
return json(['code'=>1000,'msg'=>'请求方式错误!']);
}
//接收参数
$data = $request->param();
/**$goods传参数是一个数组,例如:
[
[
'g_id' => 1,#商品id
'g_amount' => 2#商品购买个数
],
[
'g_id' => 2,
'g_amount' => 1
]
]
*/
$goods = (array)json_decode($_POST['goods'],true);
// 验证参数
$validate = new OrdersValidate();
$result = $validate->scene('add_orders')->check($data);
if($result === false){
return json(['code' => 1001,'msg' => $validate->getError()]);
}
$cxbGoods = new Goods()
foreach ($goods as &$v){
//查商品表
$goods_stock = $cxbGoods
->where('goods_id',$v['g_id'])
->where('goods_stock','>',0)
->find();
if($goods_stock){
//减库存
if($v['g_amount'] <= $goods_stock->goods_stock){
$cxbGoods->save(['goods_stock'=>$goods_stock->goods_stock-$v['g_amount']],['id'=>$goods_stock->id]);
}else{
return json(['code' =>