51 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| 
 | |
| namespace app\dao\wechat;
 | |
| 
 | |
| 
 | |
| use app\dao\BaseDao;
 | |
| use app\model\wechat\WechatQrcode;
 | |
| 
 | |
| class WechatQrcodeDao extends BaseDao
 | |
| {
 | |
|     /**
 | |
|      * @return string
 | |
|      */
 | |
|     protected function setModel(): string
 | |
|     {
 | |
|         return WechatQrcode::class;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * 获取列表
 | |
|      * @param $where
 | |
|      * @param $page
 | |
|      * @param $limit
 | |
|      * @return array
 | |
|      * @throws \think\db\exception\DataNotFoundException
 | |
|      * @throws \think\db\exception\DbException
 | |
|      * @throws \think\db\exception\ModelNotFoundException
 | |
|      */
 | |
|     public function getList($where, $page = 0, $limit = 0)
 | |
|     {
 | |
|         return $this->search($where)->with(['user', 'record' => function ($query) {
 | |
|             $query->where('is_follow', 1)->whereDay('add_time', 'yesterday')->field('qid,count(distinct uid) as number')->bind(['y_follow' => 'number']);
 | |
|         }])->when($page && $limit, function ($query) use ($page, $limit) {
 | |
|             $query->page($page, $limit);
 | |
|         })->order('id desc')->select()->toArray();
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * 更新次数
 | |
|      * @param $id
 | |
|      * @param $isFollow
 | |
|      */
 | |
|     public function upFollowAndScan($id, $isFollow)
 | |
|     {
 | |
|         $this->getModel()->where('id', $id)->inc('scan')->when($isFollow, function ($query) {
 | |
|             $query->inc('follow');
 | |
|         })->update();
 | |
|     }
 | |
| }
 |