Няма описание

GoodsController.php 2.9KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <?php namespace App\Http\Controllers\Api;
  2. use App\Goods;
  3. use App\GoodsSkus;
  4. use App\Http\Controllers\Controller;
  5. use Illuminate\Http\Request;
  6. class GoodsController extends Controller {
  7. public function index()
  8. {
  9. $result = Goods::select('id as goods_id', 'name','picUrl','goodsCategoryName')->where('is_del', 0)->orderBy('goods.id', 'desc')->get();
  10. $result = json_decode(json_encode($result), true);
  11. $data = array();
  12. foreach($result as $value){
  13. # 获取sku
  14. $skuList = GoodsSkus::select('id as sku_id','propsName','price','is_white','quantity','is_weigh')->where('goodsCode', $value['goods_id'])->where('is_del', 0)->get();
  15. $skuList = json_decode(json_encode($skuList),true);
  16. $sku = array();
  17. foreach($skuList as $v){
  18. if($v['is_white'] == 0 && $v['quantity'] <= 0){
  19. $v['stock'] = 0;
  20. } else {
  21. $v['stock'] = 1;
  22. }
  23. unset($v['is_white']);
  24. unset($v['quantity']);
  25. $sku[] = $v;
  26. }
  27. $value['sku_num'] = count($sku);
  28. if(1 == $value['sku_num']){
  29. $value['stock'] = $sku[0]['stock'];
  30. $value['is_weigh'] = $sku[0]['is_weigh'];
  31. }
  32. $value['sku_list'] = $sku;
  33. if('0' == $value['goodsCategoryName']) {
  34. $data['其它'][] = $value;
  35. } else {
  36. $data[$value['goodsCategoryName']][] = $value;
  37. }
  38. }
  39. return self::returnValue($data,200);
  40. }
  41. public function searchGoods(Request $request)
  42. {
  43. $name = trim($request->input('name'));
  44. $result = Goods::select('id as goods_id', 'name','picUrl','goodsCategoryName')->where('name', 'like', '%'.$name.'%')->where('is_del', 0)->orderBy('id', 'desc')->get();
  45. $result = json_decode(json_encode($result), true);
  46. $data = array();
  47. foreach($result as $value){
  48. # 获取sku
  49. $skuList = GoodsSkus::select('id as sku_id','propsName','price','is_white','quantity','is_weigh')->where('goodsCode', $value['goods_id'])->where('is_del', 0)->get();
  50. $skuList = json_decode(json_encode($skuList),true);
  51. $sku = array();
  52. foreach($skuList as $v){
  53. if($v['is_white'] == 0 && $v['quantity'] <= 0){
  54. $v['stock'] = 0;
  55. } else {
  56. $v['stock'] = 1;
  57. }
  58. unset($v['is_white']);
  59. unset($v['quantity']);
  60. $sku[] = $v;
  61. }
  62. $value['sku_num'] = count($sku);
  63. if(1 == $value['sku_num']){
  64. $value['stock'] = $sku[0]['stock'];
  65. $value['is_weigh'] = $sku[0]['is_weigh'];
  66. }
  67. $value['sku_list'] = $sku;
  68. $data[] = $value;
  69. }
  70. return self::returnValue($data);
  71. }
  72. }