HomeSpecialLogic.php 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <?php
  2. namespace app\api\logic;
  3. use app\common\model\goods\Goods;
  4. use app\common\model\home_service\HomeSpecial;
  5. use app\common\logic\BaseLogic;
  6. use think\facade\Db;
  7. /**
  8. * HomeSpecial逻辑
  9. * Class HomeSpecialLogic
  10. * @package app\api\logic\home_service
  11. */
  12. class HomeSpecialLogic extends BaseLogic
  13. {
  14. /**
  15. * @param array $where
  16. * @param int $limit
  17. * @param array $userInfo
  18. * @return array
  19. * @throws \think\db\exception\DataNotFoundException
  20. * @throws \think\db\exception\DbException
  21. * @throws \think\db\exception\ModelNotFoundException
  22. */
  23. public static function getLists(array $where, int $limit, array $userInfo,$domain)
  24. {
  25. return HomeSpecial::where($where)
  26. ->field('id,cover_type,cover,title,vue_web,vue_param')
  27. ->order('weight desc')
  28. ->limit($limit)
  29. ->select()
  30. ->each(function($item) use ($userInfo,$domain){
  31. if($item->goods_id){
  32. $item->goods = Goods::where('id',$item->goods_id)->field('goods_banners,goods_name,service_total,service_fee')->findOrEmpty();
  33. }
  34. if($item->vue_web=='pages/preview/videoPre' || $item->vue_web=='pages/preview/imagePre' || $item->vue_web=='pages/preview/richView'){
  35. $item->vue_param = 'id='.$item->id;
  36. }
  37. if($item->vue_web=='pages/web_view/index'){
  38. // $token = !empty($userInfo['token'])?$userInfo['token']:'';
  39. // $property_activity_id = !empty($item->vue_param)?$item->vue_param:5;
  40. // $item->vue_param = 'hrefUrl='.rawurlencode($domain.'/static/wxapp/H5/adver6/index.html?property_activity_id='.$property_activity_id.'&token='.$token);
  41. //
  42. $item->vue_param = '';
  43. $item->vue_web = '';
  44. }
  45. })
  46. ->toArray();
  47. }
  48. /**
  49. * @notes 获取详情
  50. * @param $params
  51. * @return array
  52. * @author likeadmin
  53. * @date 2024/11/18 10:05
  54. */
  55. public static function detail($params): array
  56. {
  57. return HomeSpecial::field('cover_type,cover,title,describe,content')->findOrEmpty($params['id'])->toArray();
  58. }
  59. }