['shop_order_type', 'worker_id', 'real_name', 'mobile', 'pay_status', 'pay_sn', 'paw_way', 'order_terminal', 'transaction_id', 'refund_status'], '%like%' => ['sn', 'refund_transaction_id'], ]; } public function querySearch():array { $where = []; if(isset($this->params['pay_time']) && !empty($this->params['pay_time'])){ $time = [strtotime($this->params['pay_time'][0]), strtotime($this->params['pay_time'][1])]; $where[] = ['pay_time', 'between', $time]; } return $where; } /** * @notes 获取列表 * @return array * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException * @author likeadmin * @date 2024/08/04 13:49 */ public function lists(): array { return ShopOrders::with([ 'worker'=>function(Query $query) { $query->field("id,worker_number,real_name"); },]) ->where($this->searchWhere) ->where($this->querySearch()) ->field(['id', 'shop_order_type', 'worker_id', 'sn', 'real_name', 'mobile', 'address', 'pay_time', 'pay_status', 'pay_sn', 'paw_way', 'order_terminal', 'amount_total', 'order_amount', 'transaction_id', 'refund_status', 'refund_transaction_id']) ->limit($this->limitOffset, $this->limitLength) ->order(['id' => 'desc']) ->select() ->toArray(); } /** * @notes 获取数量 * @return int * @author likeadmin * @date 2024/08/04 13:49 */ public function count(): int { return ShopOrders::where($this->searchWhere)->where($this->querySearch())->count(); } }