51 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
		
		
			
		
	
	
			51 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
|  | <?php | ||
|  | namespace app\api\logic; | ||
|  | 
 | ||
|  | use app\common\basics\Logic; | ||
|  | use app\common\enum\AdEnum; | ||
|  | use app\common\model\Ad; | ||
|  | use think\facade\Db; | ||
|  | use app\common\server\UrlServer; | ||
|  | 
 | ||
|  | class AdLogic extends Logic | ||
|  | { | ||
|  |     public static function lists($pid,$terminal) | ||
|  |     { | ||
|  |         $ad_list = Ad::alias('a') | ||
|  |             ->join('ad_position ap', 'a.pid = ap.id') | ||
|  |             ->where(['pid' => $pid, 'ap.terminal' => $terminal, 'a.status' => 1, 'a.del' => 0, 'ap.status' => 1, 'ap.del' => 0]) | ||
|  |             ->field('a.*') | ||
|  |             ->order('a.sort asc, a.id desc') | ||
|  |             ->select() | ||
|  |             ->toArray(); | ||
|  | 
 | ||
|  |         $list = []; | ||
|  |         foreach ($ad_list as $key => $ad) { | ||
|  |             $url = $ad['link']; | ||
|  |             $is_tab = 0; | ||
|  |             $params = []; | ||
|  |             switch ($ad['link_type']) { | ||
|  |                 case 1: // 商城页面
 | ||
|  |                     $page = AdEnum::getLinkPage($ad['terminal'], $ad['link']); | ||
|  |                     $url = $page['path']; | ||
|  |                     $is_tab = $page['is_tab'] ?? 0; | ||
|  |                     break; | ||
|  |                 case 2: // 商品页面
 | ||
|  |                     $goods_path = AdEnum::getGoodsPath($ad['terminal']); | ||
|  |                     $url = $goods_path; | ||
|  |                     $params = [ | ||
|  |                         'id' => $ad['link'], | ||
|  |                     ]; | ||
|  |                     break; | ||
|  |             } | ||
|  |             $list[] = [ | ||
|  |                 'image'     => UrlServer::getFileUrl($ad['image']), | ||
|  |                 'link'      => $url, | ||
|  |                 'link_type' => $ad['link_type'], | ||
|  |                 'params'    => $params, | ||
|  |                 'is_tab'    => $is_tab, | ||
|  |             ]; | ||
|  |         } | ||
|  |         return $list; | ||
|  |     } | ||
|  | } |