93 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			PHP
		
	
	
			
		
		
	
	
			93 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			PHP
		
	
	
<?php
 | 
						|
 | 
						|
namespace app\traits\account;
 | 
						|
 | 
						|
use app\model\BusinessFlow;
 | 
						|
use think\Collection;
 | 
						|
 | 
						|
trait BusinessFlowTrait
 | 
						|
{
 | 
						|
    /**
 | 
						|
     * 获取关注的商家列表
 | 
						|
     * @param $accountCode
 | 
						|
     * @param $page
 | 
						|
     * @param $size
 | 
						|
     * @param $keyword
 | 
						|
     * @return
 | 
						|
     */
 | 
						|
    public function getBusinessFlowList($accountCode, $page, $size,$keyword=null)
 | 
						|
    {
 | 
						|
        $data = [
 | 
						|
            'total' => 0,
 | 
						|
            'current' => $page,
 | 
						|
            'size' => $size,
 | 
						|
            'list' => new Collection(),
 | 
						|
        ];
 | 
						|
        $model = BusinessFlow::alias("a")
 | 
						|
            ->join("business b", "a.business_code = b.code")
 | 
						|
            ->where("a.user_code", $accountCode)
 | 
						|
            ->when(!empty($keyword), function ($q) use ($keyword) {
 | 
						|
                $q->where("b.business_name", "like", "%{$keyword}%");
 | 
						|
            })
 | 
						|
            ->field([
 | 
						|
                "b.id",
 | 
						|
                "b.code as businessCode",
 | 
						|
                "b.business_name as businessName",
 | 
						|
                "b.background",
 | 
						|
                "a.create_time as createTime",
 | 
						|
                "a.user_code as userCode",
 | 
						|
            ]);
 | 
						|
        $data["total"] = $model->count();
 | 
						|
        $data["list"] = $model
 | 
						|
            ->page($page, $size)
 | 
						|
            ->order("a.id desc")
 | 
						|
            ->select();
 | 
						|
        return $data;
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * 获取关注的商家的code
 | 
						|
     * @param $accountCode
 | 
						|
     * @return array
 | 
						|
     */
 | 
						|
    public function getBusinessFlowCodeArray($accountCode)
 | 
						|
    {
 | 
						|
        return BusinessFlow::where("user_code",$accountCode)
 | 
						|
            ->column("business_code");
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * 获取关注的商家的code
 | 
						|
     * @param $accountCode
 | 
						|
     * @param $businessCode
 | 
						|
     * @return BusinessFlow|array|\think\Model|null
 | 
						|
     * @throws \think\db\exception\DataNotFoundException
 | 
						|
     * @throws \think\db\exception\DbException
 | 
						|
     * @throws \think\db\exception\ModelNotFoundException
 | 
						|
     */
 | 
						|
    public function hasBusinessFlow($accountCode,$businessCode)
 | 
						|
    {
 | 
						|
        return BusinessFlow::where("user_code",$accountCode)
 | 
						|
            ->where("business_code",$businessCode)
 | 
						|
            ->find();
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * 关注一个商家
 | 
						|
     * @param $accountCode
 | 
						|
     * @param $businessCode
 | 
						|
     * @param $businessName
 | 
						|
     * @return BusinessFlow|\think\Model
 | 
						|
     */
 | 
						|
    public function createBusinessFlow($accountCode,$businessCode,$businessName)
 | 
						|
    {
 | 
						|
        return BusinessFlow::create([
 | 
						|
            "user_code"=>$accountCode,
 | 
						|
            "business_code"=>$businessCode,
 | 
						|
            "business_name"=>$businessName,
 | 
						|
            "create_time"=>date("Y-m-d H:i:s")
 | 
						|
        ]);
 | 
						|
    }
 | 
						|
 | 
						|
}
 |