Expedite.php 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. <?php
  2. namespace app\api\controller;
  3. use think\Db;
  4. /**
  5. * @title 不需要验证token接口(商品详情,商品列表等)
  6. * @controller Expedite
  7. * @package app\api\controller
  8. */
  9. class Expedite extends Base
  10. {
  11. protected $page; // 页数
  12. protected $page_num;
  13. protected $off_set;
  14. public function initialize(){
  15. $this->page = input('page',1);
  16. $this->page_num = input('page_num',20);
  17. $this->off_set = $this->page * $this->page_num - $this->page_num;
  18. }
  19. /**
  20. * @title 获取商品详情
  21. * @desc 获取商品详情
  22. * @author qc
  23. * @url /api/Expedite/getGoodsDetail
  24. * @method GET
  25. * @header name:Authorization require:1 desc:Token
  26. * @param name:goods_id type:int require:1 default:0 desc:商品id
  27. * @return name:name type:string default:-- desc:商品名称
  28. * @return name:cover type:string default:-- desc:商品封面图
  29. * @return name:desc type:string default:-- desc:商品简述
  30. * @return name:floor_price type:float default:-- desc:最低价
  31. * @return name:month_sell type:int default:-- desc:月销量
  32. * @return name:video type:string default:-- desc:视频
  33. * @return name:poster type:string default:-- desc:视频封面
  34. * @return name:is_top type:int default:-- desc:是否置顶(1置顶 0 不置顶)
  35. * @return name:spec type:string default:-- desc:规格详情
  36. * @return name:first_classify type:int default:-- desc:一级分类id
  37. * @return name:second_classify type:int default:-- desc:二级分类id
  38. * @return name:third_classify type:int default:-- desc:三级分类id
  39. * @return name:detail type:int default:-- desc:商品详情
  40. * @return name:postage type:float default:-- desc:商品运费
  41. * @return name:stock type:float default:-- desc:剩余库存(所有规格总库存)
  42. * @return name:is_integral type:int default:-- desc:是否是积分商品
  43. * @return name:integral type:int default:-- desc:积分最大抵扣金额
  44. */
  45. public function getGoodsDetail()
  46. {
  47. $goods_id = input('goods_id');
  48. $detail = Db::table('store_goods')
  49. ->where(['id'=>$goods_id,'status'=>1,'is_deleted'=>0])
  50. ->find($goods_id);
  51. if(empty($detail)) $this->error('商品已下架');
  52. $detail['month_sell'] = Db::table('goods_sell_info')
  53. ->where(['goods_id'=>$goods_id])
  54. ->where('create_at','> time',date('Y-m-d H:i:s',strtotime('-1 month')))
  55. ->count();
  56. $this->success('oK',$detail);
  57. }
  58. /**
  59. * @title 获取商品列表
  60. * @desc 获取商品列表
  61. * @author qc
  62. * @url /api/Expedite/getGoodsList
  63. * @method GET
  64. * @header name:Authorization require:1 desc:Token
  65. * @param name:goods_name type:string require:0 default:-- desc:商品名称
  66. * @return name:name type:string default:-- desc:商品名称
  67. * @return name:cover type:string default:-- desc:商品封面图
  68. * @return name:desc type:string default:-- desc:商品简述
  69. * @return name:floor_price type:float default:-- desc:最低价
  70. * @return name:month_sell type:int default:-- desc:月销量
  71. * @return name:video type:string default:-- desc:视频
  72. * @return name:poster type:string default:-- desc:视频封面
  73. * @return name:is_top type:int default:-- desc:是否置顶(1置顶 0 不置顶)
  74. * @return name:spec type:string default:-- desc:规格详情
  75. * @return name:first_classify type:int default:-- desc:一级分类id
  76. * @return name:second_classify type:int default:-- desc:二级分类id
  77. * @return name:third_classify type:int default:-- desc:三级分类id
  78. * @return name:detail type:int default:-- desc:商品详情
  79. * @return name:postage type:float default:-- desc:商品运费
  80. * @return name:stock type:float default:-- desc:剩余库存(所有规格总库存)
  81. * @return name:is_integral type:int default:-- desc:是否是积分商品
  82. * @return name:integral type:int default:-- desc:积分最大抵扣金额
  83. */
  84. public function getGoodsList()
  85. {
  86. $sel_where = [];
  87. $sel_where[] = ['status','=',1];
  88. $sel_where[] = ['is_deleted','=',0];
  89. if(input('goods_name')) $sel_where[] = ['name','like',"%".input('goods_name')."%"];
  90. $list = Db::table('store_goods')
  91. ->where($sel_where)
  92. ->order('sort desc , id desc ')
  93. ->limit($this->off_set,$this->page_num)
  94. ->select();
  95. $this->success('ok',['list'=>$list]);
  96. }
  97. /**
  98. * @title 获取系统设置(用户须知 && 隐私协议 )
  99. * @desc 获取系统设置(用户须知 && 隐私协议 )
  100. * @author qc
  101. * @url /api/Expedite/getSysConfig
  102. * @method GET
  103. * @param name:type type:string require:0 default:0 desc:获取系统设置类型(0用户须知 ,1隐私协议,2积分规则 )
  104. * @return name:set_info type:string default:-- desc:设置详情
  105. */
  106. public function getSysConfig()
  107. {
  108. $type = input('get.type',0);
  109. $con_name =['agreement','privacy_policy','integral_intro'];
  110. $data = [
  111. 'set_info'=>htmlspecialchars_decode(sysconf($con_name[$type])),
  112. ];
  113. $this->success('获取成功',$data);
  114. }
  115. }