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")
|
|
]);
|
|
}
|
|
|
|
}
|