115 lines
3.2 KiB
PHP
115 lines
3.2 KiB
PHP
<?php
|
|
|
|
namespace app\repository;
|
|
|
|
use app\exception\RepositoryException;
|
|
use app\model\Business;
|
|
use app\model\CouponMain;
|
|
use app\model\Deduction;
|
|
use app\model\Recharge;
|
|
use app\service\Repository;
|
|
use think\Collection;
|
|
use think\Model;
|
|
|
|
/**
|
|
* 商家域 相关操作
|
|
*
|
|
* Class BusinessRepository
|
|
* @package app\repository
|
|
* @method self getInstance(Model $model = null) static
|
|
*/
|
|
class BusinessRepository extends Repository
|
|
{
|
|
/**
|
|
* 根据条件查询列表
|
|
*
|
|
* @param array $where 查询条件
|
|
* @param int $page 默认第一页 0不限制
|
|
* @param int $limit 限制条数 0不限制
|
|
* @param array $order
|
|
* @return array
|
|
* @throws RepositoryException
|
|
*/
|
|
public function businessList(array $where = [], int $page = 1, int $limit = 0, array $order = [])
|
|
{
|
|
$q = $this->model->alias("a")->field("id")->withJoin(["account" => ["avatar_url", "nick_name"], "business"]);
|
|
$data = [
|
|
'total' => 0,
|
|
'current' => $page,
|
|
'size' => $limit,
|
|
'list' => new Collection(),
|
|
];
|
|
|
|
|
|
if (count($where)) {
|
|
$q = $q->where($where);
|
|
}
|
|
if (count($order)) {
|
|
$q = $q->order($order);
|
|
}
|
|
$data['total'] = $q->count();
|
|
if ($data['total']) {
|
|
if ($limit) {
|
|
if ($page) {
|
|
$q = $q->page($page);
|
|
}
|
|
$q = $q->limit($limit);
|
|
}
|
|
|
|
$data['list'] = $q->select();
|
|
}
|
|
|
|
return $data;
|
|
}
|
|
|
|
/**
|
|
* 优惠券列表
|
|
*
|
|
* @param string $businessCode 商家code
|
|
* @param int $page 默认第一页 0不限制
|
|
* @param int $limit 限制条数 0不限制
|
|
* @param array $order
|
|
* @return array
|
|
* @throws RepositoryException
|
|
*/
|
|
public function businessCouponList($where, int $page = 1, int $limit = 0, array $order = ["create_time" => "desc", "id" => "desc"])
|
|
{
|
|
return CouponMain::findList($where, [], $page, $limit, null, $order);
|
|
}
|
|
|
|
/**
|
|
* 扣费记录
|
|
*
|
|
* @param string $businessCode 商家code
|
|
* @param int $page 默认第一页 0不限制
|
|
* @param int $limit 限制条数 0不限制
|
|
* @param array $order
|
|
* @return array
|
|
* @throws RepositoryException
|
|
*/
|
|
public function businessDeductionList($where, int $page = 1, int $limit = 0, array $order = ["create_time" => "desc", "id" => "desc"])
|
|
{
|
|
return Deduction::findList($where, [], $page, $limit, null, $order);
|
|
}
|
|
|
|
/**
|
|
* 充值记录
|
|
*
|
|
* @param string $businessCode 商家code
|
|
* @param int $page 默认第一页 0不限制
|
|
* @param int $limit 限制条数 0不限制
|
|
* @param array $order
|
|
* @return array
|
|
* @throws RepositoryException
|
|
*/
|
|
public function businessRechargeList($where, int $page = 1, int $limit = 0, array $order = ["create_time" => "desc", "id" => "desc"])
|
|
{
|
|
return Recharge::findList($where, [], $page, $limit, function ($q){
|
|
return $q->withJoin(["business"=>["business_name"]]);
|
|
}, $order);
|
|
}
|
|
/* 获取所有不是代理商的商家*/
|
|
public function getBusinessAll(){
|
|
return Business:: where("state", Business::state_on)->select();
|
|
}
|
|
} |