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(); | ||
|  |     } | ||
|  | } |