General.php 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. <?php
  2. namespace app\api\controller;
  3. use AlibabaCloud\Client\AlibabaCloud;
  4. use AlibabaCloud\Client\Exception\ClientException;
  5. use AlibabaCloud\Client\Exception\ServerException;
  6. use app\common\model\StoreGoodsItem;
  7. use app\common\model\UserTrack;
  8. use think\Db;
  9. use think\Exception;
  10. use EasyWeChat\Factory;
  11. use function AlibabaCloud\Client\value;
  12. /**
  13. * @title 其他接口
  14. * @controller General
  15. * @group base
  16. */
  17. class General extends Base
  18. {
  19. public function initialize()
  20. {
  21. parent::initialize();
  22. parent::checkLogin();
  23. }
  24. /**
  25. * @title 获取物流详情
  26. * @desc 获取物流详情
  27. * @author qc
  28. * @url /api/General/deliveryDetails
  29. * @method GET
  30. * @header name:Authorization require:1 desc:Token
  31. * @param name:send_no type:string require:1 default:-- desc:物流单号(订单express_send_no字段)
  32. * @return name:number type:string default:-- desc:单号
  33. * @return name:type type:string default:-- desc:快递类型
  34. * @return name:list type:array default:-- desc:数据列表
  35. * @return name:list.time type:string default:-- desc:时间
  36. * @return name:list.status type:string default:-- desc:内容
  37. * @return name:deliverystatus type:int default:-- desc:0:快递收件(揽件)1.在途中2.正在派件3.已签收4.派送失败5.疑难件6.退件签收
  38. * @return name:issign type:int default:-- desc:是否签收(1.是否签收)
  39. * @return name:expName type:string default:-- desc:快递公司名称
  40. * @return name:expSite type:string default:-- desc:快递公司官网
  41. * @return name:expPhone type:string default:-- desc:快递公司电话
  42. * @return name:courier type:string default:-- desc:快递员 或 快递站(没有则为空)
  43. * @return name:courierPhone type:string default:-- desc:快递员电话 (没有则为空)
  44. * @return name:updateTime type:string default:-- desc:快递轨迹信息最新时间
  45. * @return name:takeTime type:string default:-- desc:发货到收货消耗时长 (截止最新轨迹)
  46. * @return name:logo type:string default:-- desc:快递公司LOGO
  47. */
  48. public function deliveryDetails(){
  49. $send_no = input('get.send_no');
  50. $data = get_delivery($send_no);
  51. $this->success('ok',$data);
  52. }
  53. /**
  54. * @title 获取足迹日历信息
  55. * @desc 获取足迹日历信息
  56. * @author qc
  57. * @url /api/General/getCalendar
  58. * @method GET
  59. * @header name:Authorization require:1 desc:Token
  60. * @param name:num type:int default:7 desc:时间(最近几天,默认7天)
  61. * @return name:day_time type:string default:-- desc:时间
  62. * @return name:week_day type:string default:-- desc:周几
  63. */
  64. public function getCalendar()
  65. {
  66. $num = input('num',7);
  67. $calendar = get_calendar($num);
  68. $this->success('ok',['list'=>$calendar]);
  69. }
  70. /**
  71. * @title 获取足迹
  72. * @desc 获取足迹
  73. * @author qc
  74. * @url /api/General/getUserTrack
  75. * @method GET
  76. * @header name:Authorization require:1 desc:Token
  77. * @param name:type type:int default:1 desc:查询类型1商品2资讯
  78. * @param name:day_time type:string default:-- desc:查询时间(2022-04-22)
  79. * @return name:id type:int default:-- desc:足迹id
  80. * @return name:rel_id type:float default:-- desc:浏览的id(商品类型是商品id,资讯类型是资讯的id)
  81. * @return name:low_price type:float default:-- desc:商品最低价
  82. * @return name:max_price type:float default:-- desc:商品下划线价格
  83. * @return name:goods_cover type:string default:-- desc:商品封面
  84. * @return name:goods_name type:string default:-- desc:商品名
  85. * @return name:article_title type:string default:-- desc:资讯标题
  86. * @return name:article_cover type:string default:-- desc:资讯封面
  87. * @return name:video_url type:string default:-- desc:视频地址
  88. * @return name:read_num type:int default:-- desc:阅读量
  89. * @return name:article_type type:int default:-- desc:资讯类型(1图文,2视频)
  90. */
  91. public function getUserTrack()
  92. {
  93. $type = input('get.type',1);
  94. $day_time = input('get.day_time',date('Y-m-d'));
  95. $where = [];
  96. $where[] = ['t.user_id','=',$this->user_id];
  97. $where[] = ['t.type','=',$type];
  98. $where[] = ['t.year','=',date('Y',strtotime($day_time))];
  99. $where[] = ['t.month','=',date('m',strtotime($day_time))];
  100. $where[] = ['t.day','=',date('d',strtotime($day_time))];
  101. if($type == 1){
  102. $list = UserTrack::field('t.*,g.low_price,g.name goods_name,g.cover goods_cover')->where($where)
  103. ->alias('t')
  104. ->leftJoin('StoreGoods g','t.rel_id = g.id')
  105. ->order('t.update_int desc')
  106. ->select()->toArray();
  107. foreach ($list as &$v){
  108. $v['max_price'] = StoreGoodsItem::where('goods_id',$v['rel_id'])->max('original_price');
  109. }
  110. }else{
  111. $list = UserTrack::field('t.*,i.title article_title,i.cover article_cover,i.video_url,i.type article_type,i.read_num')->where($where)
  112. ->alias('t')
  113. ->leftJoin('InformationArticle i','t.rel_id = i.id')
  114. ->order('t.update_int desc')
  115. ->select()->toArray();
  116. }
  117. $this->success('ok',['list'=>$list]);
  118. }
  119. /**
  120. * @title 删除足迹
  121. * @desc 删除足迹
  122. * @author qc
  123. * @url /api/General/delUserTrack
  124. * @method POST
  125. * @header name:Authorization require:1 desc:Token
  126. * @param name:ids type:string default:-- desc:足迹id(多个用逗号隔开)
  127. */
  128. public function delUserTrack()
  129. {
  130. $ids = input('post.ids');
  131. UserTrack::where('id','in',$ids)->delete();
  132. $this->success('删除成功');
  133. }
  134. }