HomeSpecialLogic.php 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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. $item->vue_param = 'hrefUrl='.rawurlencode($domain.'/static/wxapp/H5/adver5/index.html?property_activity_id=14&token='.$token);
  40. }
  41. })
  42. ->toArray();
  43. }
  44. /**
  45. * @notes 获取详情
  46. * @param $params
  47. * @return array
  48. * @author likeadmin
  49. * @date 2024/11/18 10:05
  50. */
  51. public static function detail($params): array
  52. {
  53. return HomeSpecial::field('cover_type,cover,title,describe,content')->findOrEmpty($params['id'])->toArray();
  54. }
  55. }