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;
 | |
|     }
 | |
| } |