| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 | <?phpnamespace App\Services;use App\Services\BaseService;use App\Models\Coin;use Illuminate\Support\Facades\DB;use Illuminate\Support\Collection;use Illuminate\Support\Facades\Cache;/** * 平台支持的虚拟币*/class CoinService extends BaseService {    /**     * @description: 模型     * @return {string}     */        public static function model() :string    {        return Coin::class;    }    /**     * @description: 枚举     * @return {*}     */        public static function enum() :string    {        return '';    }    /**     * @description: 获取查询条件     * @param {array} $search 查询内容     * @return {array}     */        public static function getWhere(array $search = []) :array    {        $where = [];        if(isset($search['coin']) && !empty($search['coin'])){            $where[] = ['coin', '=', $search['coin']];        }        if(isset($search['net']) && !empty($search['net'])){            $where[] = ['net', '=', $search['net']];        }        if(isset($search['address']) && !empty($search['address'])){            $where[] = ['address', '=', $search['address']];        }        if(isset($search['id']) && !empty($search['id'])){            $where[] = ['id', '=', $search['id']];        }        return $where;    }     /**     * @description: 查询单条数据     * @param array $search     * @return \App\Models\Coin|null     */    public static function findOne(array $search): ?Coin    {        return self::model()::where(self::getWhere($search))->first();    }    /**     * @description: 查询所有数据     * @param array $search     * @return \Illuminate\Database\Eloquent\Collection     */    public static function findAll(array $search = [])    {        return self::model()::where(self::getWhere($search))->get();    }    /**     * @description: 分页查询     * @param array $search     * @return \Illuminate\Contracts\Pagination\LengthAwarePaginator     */    public static function paginate(array $search = [])    {        $limit = isset($search['limit'])?$search['limit']:15;        $paginator = self::model()::where(self::getWhere($search))->paginate($limit);        return ['total' => $paginator->total(), 'data' => $paginator->items()];    }    }
 |