// +---------------------------------------------------------------------- declare (strict_types=1); namespace app\api\model\partners; use app\common\model\partners\Order as OrderModel; use app\common\library\helper; use cores\exception\BaseException; /** * 用户充值订单模型 * Class Order * @package app\api\model\recharge */ class Order extends OrderModel { /** * 保存订单记录 * @param $data * @return bool|false|int */ public function saveOrder(array $data) { // 企油通改造:下单改为按金额(amount)直传,不再挂商品与合作商商品库存 $this->save($data); return true; } /** * 获取用户订单列表 * @param array $params 条件 * @return \think\Paginator * @throws \think\db\exception\DbException * @throws BaseException */ public function getList(array $params = []): \think\Paginator { // 时间戳转换 $begin = \DateTime::createFromFormat('Ymd', $params['beginDate'])->setTime(0, 0, 0)->getTimestamp(); $end = \DateTime::createFromFormat('Ymd', $params['endDate'])->setTime(23, 59, 59)->getTimestamp(); // 组装筛选条件 $filter = [ ['create_time', '>=', $begin], ['create_time', '<=', $end], ]; if (!empty($params['mobile'])) { $filter[] = ['mobile', '=', $params['mobile']]; } if (!empty($params['shareNo'])) { $filter[] = ['shareNo', '=', $params['shareNo']]; } if (!empty($params['saleOrderNo'])) { $filter[] = ['partners_order_no', '=', $params['saleOrderNo']]; } if (!empty($params['partners_id'])) { $filter[] = ['partners_id', '=', $params['partners_id']]; } // 查询列表数据 return $this->where($filter) ->order(['create_time' => 'desc']) ->paginate([ 'list_rows' => $params['pageLimit'], 'page' => $params['pageNum'] ]); } /** * 获取当前用户订单数量 * @param array $filter 附件条件 * @param string $type 订单类型 (all全部 success已发券 used已使用) * @return int * @throws BaseException */ public function getCount(array $filter = [], string $type = 'all'): int { // 订单数据类型 switch ($type) { case 'all': break; case 'success': $filter['oil_status_zsy'] = 2; break; case 'used': $filter['oil_status_zsy'] = 2; $filter['use_status'] = 1; break; } // 查询数据 return $this->where($filter) ->count(); } }