Shop.php 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. <?php
  2. namespace app\api\controller\v1;
  3. use app\api\services\UserAuthServices;
  4. use app\common\model\ShopGoodsModel;
  5. use app\common\model\User;
  6. use app\common\model\UserFansModel;
  7. use app\common\model\UserModel;
  8. use app\Request;
  9. use services\CacheServices;
  10. use think\Exception;
  11. use think\facade\Db;
  12. class Shop
  13. {
  14. /**
  15. * 商品列表
  16. */
  17. public function goodsList(Request $request)
  18. {
  19. // sr_log('请求参数:'.json_encode($request->post()));
  20. // $filter = $request->param('filter');
  21. // $filter = json_decode(html_entity_decode($filter), true);
  22. // return $filter;
  23. try {
  24. // return ShopGoodsModel::list($request->only(['goods_type', 'category_id', 'keywords', 'ids','cls']), $request->only(['page', 'limit']), $request->only(['sort']), $filter);
  25. return api_succ_return(['msg'=>'成功', 'data'=>ShopGoodsModel::list($request->only(['goods_type', 'category_id', 'keywords', 'ids','cls', 'menu_id']), $request->only(['page', 'limit']), $request->only(['sort']), [])]);
  26. }catch(Exception $e){
  27. return api_error_return('获取失败'.$e->getMessage());
  28. }
  29. }
  30. // 专区
  31. public function goodsMenu(Request $request)
  32. {
  33. // sr_log('goodsMenu:'. json_encode($request->post()));
  34. return api_succ_return(['msg'=>'成功', 'data'=>Db::name('shop_goods_menu')->where('status', 1)->select()->toArray()]);
  35. }
  36. // 商品详情
  37. public function goodsDetail (Request $request)
  38. {
  39. try {
  40. $data = ShopGoodsModel::details($request->only(['goods_sn']));
  41. if (Db::name('shop_goods')->where('goods_sn', $request->post('goods_sn'))->find()){
  42. Db::name('shop_goods')->where('goods_sn', $request->post('goods_sn'))->inc('scan_count', 1)->update();
  43. }
  44. if (empty($data)){
  45. return api_error_return('请求失败');
  46. }else{
  47. return api_succ_return(['msg'=>'获取成功', 'data'=> $data]);
  48. }
  49. } catch (\Exception $e) {
  50. return api_error_return($e->getMessage());
  51. }
  52. }
  53. // 商品详情
  54. public function goodsAttension (Request $request)
  55. {
  56. $post = $request->post();
  57. if (!Db::name('shop_goods')->where('goods_id', $post['goods_id'])){
  58. return api_error_return('参数错误');
  59. }
  60. if (Db::name('goods_attension')->where('uid', $request->uid)->where('goods_id', $post['goods_id'])->find()){
  61. return api_succ_return('成功');
  62. }
  63. Db::name('goods_attension')->insert([
  64. 'uid'=>$request->uid,
  65. 'goods_id'=>$post['goods_id'],
  66. 'create_time'=>sr_getcurtime(time())
  67. ]);
  68. Db::name('shop_goods')->where('goods_id', $post['goods_id'])->inc('attension_count', 1)->update();
  69. return api_succ_return('成功');
  70. }
  71. public function isAttensionGoods(Request $request){
  72. $is_attension = false;
  73. if (Db::name('goods_attension')->where('uid', $request->uid)->where('goods_id', $request->post('goods_id'))->find()){
  74. $is_attension = true;
  75. }
  76. return api_succ_return(['msg'=>'成功', 'data'=>['attension'=>$is_attension?1:2]]);
  77. }
  78. // 购物车推荐商品
  79. public function storeRecommonGoods(Request $request){
  80. $list = Db::name('shop_goods')->page(1, 8)->where('on_sale', 1)->order('scan_count desc')->field('sort,category,goods_sn,goods_name,goods_img,min_original_price as original_price,min_price as price,rebate_score,sales_volume,inventory,attension_count,scan_count')->select()->toArray();
  81. return api_succ_return(['msg'=>'成功', 'data'=>$list]);
  82. }
  83. }