<?php
|
|
namespace app\operations\model\plus\groupbuy;
|
|
use app\common\model\plus\groupbuy\BillUser as BillUserModel;
|
|
/**
|
* 商家端团购用户参与记录模型
|
*/
|
class BillUser extends BillUserModel
|
{
|
// 定义全局的查询范围
|
protected $globalScope = ['status'];
|
public function scopeStatus($query)
|
{
|
$shop_supplier_ids = \app\operations\model\supplier\Supplier::getSupplierIdsByUser(session('jjjshop_operations')['user']);
|
if (empty($shop_supplier_ids)){
|
$query->where($query->getTable() . '.shop_supplier_id', -1);
|
}else{
|
$query->where($query->getTable() . '.shop_supplier_id', 'in', $shop_supplier_ids);
|
}
|
}
|
/**
|
* 获取团购用户参与记录列表
|
*/
|
public function getList($param)
|
{
|
$filter = [];
|
if (!empty($param['groupbuy_bill_id'])) {
|
$filter[] = ['groupbuy_bill_id', '=', (int)$param['groupbuy_bill_id']];
|
}
|
|
if (!empty($param['groupbuy_product_id'])) {
|
$filter[] = ['groupbuy_product_id', '=', (int)$param['groupbuy_product_id']];
|
}
|
|
if (!empty($param['user_id'])) {
|
$filter[] = ['user_id', '=', (int)$param['user_id']];
|
}
|
|
// 店铺ID筛选
|
$filter[] = ['shop_supplier_id', '=', $param['shop_supplier_id'] ?? 0];
|
|
$order = ['create_time' => 'desc'];
|
if (!empty($param['order'])) {
|
$order = [$param['order_field'] => $param['order']];
|
}
|
|
return $this->with(['user', 'bill', 'product'])
|
->where($filter)
|
->order($order)
|
->paginate([
|
'list_rows' => $param['list_rows'] ?? 15,
|
'query' => $param
|
]);
|
}
|
|
/**
|
* 添加团购用户参与记录
|
*/
|
public function add($data)
|
{
|
$this->startTrans();
|
try {
|
$result = $this->save($data);
|
$this->commit();
|
return $result !== false;
|
} catch (\Exception $e) {
|
$this->rollback();
|
$this->error = $e->getMessage();
|
return false;
|
}
|
}
|
|
/**
|
* 删除团购用户参与记录
|
*/
|
public function remove()
|
{
|
return $this->delete();
|
}
|
}
|