Goods.php 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. <?php
  2. namespace app\data\controller\api\business;
  3. use app\data\model\ShopGoods;
  4. use app\data\model\ShopGoodsItem;
  5. use think\admin\Controller;
  6. use hg\apidoc\annotation\Title;
  7. use hg\apidoc\annotation\Method;
  8. use hg\apidoc\annotation\Param;
  9. use hg\apidoc\annotation\Returned;
  10. use think\admin\extend\CodeExtend;
  11. use think\Db;
  12. /**
  13. * 商家商品数据接口
  14. */
  15. class Goods extends Controller
  16. {
  17. /**
  18. * @Title ("我的商品数据")
  19. * @Param ("name",desc="商品名称")
  20. * @Param ("status",desc="1售卖中 0已下架 2已售罄 传空全部")
  21. * @return void
  22. * @throws \think\db\exception\DataNotFoundException
  23. * @throws \think\db\exception\DbException
  24. * @throws \think\db\exception\ModelNotFoundException
  25. */
  26. public function goods_list(){
  27. $count = ['全部','售卖中','已下架','已售罄'];
  28. foreach ($count as &$v){
  29. switch ($v){
  30. case '全部':
  31. $where =[];
  32. break;
  33. case '售卖中':
  34. $where['status']=1;
  35. break;
  36. case '已下架':
  37. $where['status']=0;
  38. break;
  39. case '已售罄':
  40. $where['status']=2;
  41. }
  42. $v=ShopGoods::mk()->where('admin_id',10000)->where($where)->count();
  43. }
  44. $query = ShopGoods::mQuery()->like('name,cateids')->equal('code,status');
  45. $result = $query->where('admin_id',10000)->order('id desc')->page(true, false, false, 10);
  46. $data['count'] =$count;
  47. $data['list']=$result;
  48. $this->success('我的商品列表',$data);
  49. }
  50. /**
  51. * @Title ("添加商品")
  52. */
  53. public function goods_add(){
  54. $data = $this->_vali(
  55. [
  56. 'name.require'=>'商品名称不能为空',
  57. 'cateids.require'=>'商品分类不能不选',
  58. 'cover.require'=>'商品封面不能为空',
  59. 'slider.require'=>'商品轮播图不能为空',
  60. 'content.require'=>'商品详情不能为空',
  61. 'stock_total.require'=>'商品库存不能为空',
  62. 'price_selling.require'=>'商品销售价格不能为空',
  63. 'price_market.require'=>'商品市场价格不能为空',
  64. 'items.require'=>'商品规格不能为空'
  65. ]
  66. );
  67. $data['code']=CodeExtend::uniqidNumber(20, 'G');
  68. $data['data_specs']=json($data['items']);
  69. $data['create_at']=date('Y-m-d H:i:s');
  70. $data['admin_id']=10000;
  71. try {
  72. ShopGoods::mk()->insertGetId($data);
  73. foreach ($data['items']as &$v){
  74. $item_data = [
  75. 'goods_sku'=>CodeExtend::uniqidNumber(12, 'S'),
  76. 'goods_code'=>$data['code'],
  77. 'goods_spec'=>$v['name'],
  78. 'stock_total'=>$v['total'],
  79. 'price_selling'=>$v['price_selling'],
  80. 'price_market'=>$v['price_market'],
  81. 'create_at'=>date('Y-m-d H:i:s'),
  82. 'admin_id'=>10000
  83. ];
  84. ShopGoodsItem::mk()->insertGetId($data);
  85. }
  86. $this->success('商品数据入库成功!');
  87. }catch (\Exception $e){
  88. $this->success('商品数据入库失败!');
  89. }
  90. }
  91. }