135 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			PHP
		
	
	
		
		
			
		
	
	
			135 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			PHP
		
	
	
| 
								 | 
							
								<?php
							 | 
						|||
| 
								 | 
							
								// +----------------------------------------------------------------------
							 | 
						|||
| 
								 | 
							
								// | likeshop开源商城系统
							 | 
						|||
| 
								 | 
							
								// +----------------------------------------------------------------------
							 | 
						|||
| 
								 | 
							
								// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
							 | 
						|||
| 
								 | 
							
								// | gitee下载:https://gitee.com/likeshop_gitee
							 | 
						|||
| 
								 | 
							
								// | github下载:https://github.com/likeshop-github
							 | 
						|||
| 
								 | 
							
								// | 访问官网:https://www.likeshop.cn
							 | 
						|||
| 
								 | 
							
								// | 访问社区:https://home.likeshop.cn
							 | 
						|||
| 
								 | 
							
								// | 访问手册:http://doc.likeshop.cn
							 | 
						|||
| 
								 | 
							
								// | 微信公众号:likeshop技术社区
							 | 
						|||
| 
								 | 
							
								// | likeshop系列产品在gitee、github等公开渠道开源版本可免费商用,未经许可不能去除前后端官方版权标识
							 | 
						|||
| 
								 | 
							
								// |  likeshop系列产品收费版本务必购买商业授权,购买去版权授权后,方可去除前后端官方版权标识
							 | 
						|||
| 
								 | 
							
								// | 禁止对系统程序代码以任何目的,任何形式的再发布
							 | 
						|||
| 
								 | 
							
								// | likeshop团队版权所有并拥有最终解释权
							 | 
						|||
| 
								 | 
							
								// +----------------------------------------------------------------------
							 | 
						|||
| 
								 | 
							
								// | author: likeshop.cn.team
							 | 
						|||
| 
								 | 
							
								// +----------------------------------------------------------------------
							 | 
						|||
| 
								 | 
							
								namespace app\admin\logic\decoration;
							 | 
						|||
| 
								 | 
							
								use app\common\enum\AdEnum;
							 | 
						|||
| 
								 | 
							
								use app\common\enum\AdPositionEnum;
							 | 
						|||
| 
								 | 
							
								use app\common\basics\Logic;
							 | 
						|||
| 
								 | 
							
								use think\facade\Db;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								class AdPositionLogic extends Logic{
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    /**
							 | 
						|||
| 
								 | 
							
								     * Notes:广告位列表
							 | 
						|||
| 
								 | 
							
								     * @param $get
							 | 
						|||
| 
								 | 
							
								     * @return array
							 | 
						|||
| 
								 | 
							
								     * @author: cjhao 2021/4/17 14:23
							 | 
						|||
| 
								 | 
							
								     */
							 | 
						|||
| 
								 | 
							
								    public static function lists($get){
							 | 
						|||
| 
								 | 
							
								        $where[] = ['del','=',0];
							 | 
						|||
| 
								 | 
							
								        $where[] = ['terminal','=',$get['terminal']];
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        $lists = Db::name('ad_position')
							 | 
						|||
| 
								 | 
							
								                ->where($where)
							 | 
						|||
| 
								 | 
							
								                ->withAttr('terminal_desc',function ($value,$data){
							 | 
						|||
| 
								 | 
							
								                    return AdEnum::getTerminal($data['terminal']);
							 | 
						|||
| 
								 | 
							
								                })
							 | 
						|||
| 
								 | 
							
								                ->paginate(['list_rows'=>$get['limit'],'page'=>$get['page']]);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        $list = $lists->items();
							 | 
						|||
| 
								 | 
							
								        $count = $lists->total();
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        return ['count'=>$count,'lists'=>$list];
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    /**
							 | 
						|||
| 
								 | 
							
								     * Notes:添加广告
							 | 
						|||
| 
								 | 
							
								     * @param $post
							 | 
						|||
| 
								 | 
							
								     * @return int|string
							 | 
						|||
| 
								 | 
							
								     * @author: cjhao 2021/4/17 14:51
							 | 
						|||
| 
								 | 
							
								     */
							 | 
						|||
| 
								 | 
							
								    public static function add($post){
							 | 
						|||
| 
								 | 
							
								        $post['attr'] = 1;
							 | 
						|||
| 
								 | 
							
								        $post['create_time'] = time();
							 | 
						|||
| 
								 | 
							
								        if(!empty(trim($post['size']))) {
							 | 
						|||
| 
								 | 
							
								            $tempArr = explode('*', $post['size']);
							 | 
						|||
| 
								 | 
							
								            $post['width'] = $tempArr[0];
							 | 
						|||
| 
								 | 
							
								            $post['height'] = $tempArr[1];
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        unset($post['size']);
							 | 
						|||
| 
								 | 
							
								        return Db::name('ad_position')->insert($post);
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    /**
							 | 
						|||
| 
								 | 
							
								     * Notes:编辑广告位
							 | 
						|||
| 
								 | 
							
								     * @param $post
							 | 
						|||
| 
								 | 
							
								     * @return int
							 | 
						|||
| 
								 | 
							
								     * @author: cjhao 2021/4/17 14:52
							 | 
						|||
| 
								 | 
							
								     */
							 | 
						|||
| 
								 | 
							
								    public static function edit($post){
							 | 
						|||
| 
								 | 
							
								        if(!empty($post['size'])) {
							 | 
						|||
| 
								 | 
							
								            $tempArr = explode('*', $post['size']);
							 | 
						|||
| 
								 | 
							
								            $post['width'] = $tempArr[0];
							 | 
						|||
| 
								 | 
							
								            $post['height'] = $tempArr[1];
							 | 
						|||
| 
								 | 
							
								            unset($post['size']);
							 | 
						|||
| 
								 | 
							
								        }else{
							 | 
						|||
| 
								 | 
							
								            $post['width'] = '';
							 | 
						|||
| 
								 | 
							
								            $post['height'] = '';
							 | 
						|||
| 
								 | 
							
								            unset($post['size']);
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        $post['update_time'] = time();
							 | 
						|||
| 
								 | 
							
								        return Db::name('ad_position')->update($post,['id'=>$post['id']]);
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    /**
							 | 
						|||
| 
								 | 
							
								     * Notes:获取广告位
							 | 
						|||
| 
								 | 
							
								     * @param $id
							 | 
						|||
| 
								 | 
							
								     * @return \think\Collection
							 | 
						|||
| 
								 | 
							
								     * @author: cjhao 2021/4/17 14:56
							 | 
						|||
| 
								 | 
							
								     */
							 | 
						|||
| 
								 | 
							
								    public static function getPosition($id){
							 | 
						|||
| 
								 | 
							
								        $info =  Db::name('ad_position')
							 | 
						|||
| 
								 | 
							
								            ->where(['id'=>$id,'del'=>0])
							 | 
						|||
| 
								 | 
							
								            ->find();
							 | 
						|||
| 
								 | 
							
								        if(!empty($info['width']) && !empty($info['height'])) {
							 | 
						|||
| 
								 | 
							
								            $info['size'] = $info['width'] . '*' . $info['height'];
							 | 
						|||
| 
								 | 
							
								        }else{
							 | 
						|||
| 
								 | 
							
								            $info['size'] = '';
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        return $info;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    /**
							 | 
						|||
| 
								 | 
							
								     * Notes:删除广告位
							 | 
						|||
| 
								 | 
							
								     * @param $id
							 | 
						|||
| 
								 | 
							
								     * @return int
							 | 
						|||
| 
								 | 
							
								     * @author: cjhao 2021/4/19 11:36
							 | 
						|||
| 
								 | 
							
								     */
							 | 
						|||
| 
								 | 
							
								    public static function del($id){
							 | 
						|||
| 
								 | 
							
								        return Db::name('ad_position')
							 | 
						|||
| 
								 | 
							
								                ->where(['id'=>$id])
							 | 
						|||
| 
								 | 
							
								                ->update(['del'=>1]);
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    /**
							 | 
						|||
| 
								 | 
							
								     * Notes:切换广告位状态
							 | 
						|||
| 
								 | 
							
								     * @param $post
							 | 
						|||
| 
								 | 
							
								     * @return int
							 | 
						|||
| 
								 | 
							
								     * @author: cjhao 2021/4/19 11:38
							 | 
						|||
| 
								 | 
							
								     */
							 | 
						|||
| 
								 | 
							
								    public static function swtichStatus($post){
							 | 
						|||
| 
								 | 
							
								        return Db::name('ad_position')
							 | 
						|||
| 
								 | 
							
								                ->update($post);
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								}
							 |