123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 |
- <?php
- // +----------------------------------------------------------------------
- // | Ceeen Wise System
- // +----------------------------------------------------------------------
- // | Copyright (c) 2007-2017 http://fely.cc All rights reserved.
- // +----------------------------------------------------------------------
- // | Date: 2017/6/6 Time: 0:25
- // +----------------------------------------------------------------------
- // | Author: fely <fely@fely.cc>
- // +----------------------------------------------------------------------
- namespace app\common\model;
- use think\facade\Db;
- use think\Model;
- /**
- * Class Config 系统配置
- * @package common\model
- */
- class StoreOrder extends Model
- {
- /**
- * 更改订单信息
- */
- public function edit($data, $condition, $limit = 0)
- {
- return $this->where($condition)->limit($limit)->update($data);
- }
- /**
- * 取得订单列表(所有)
- */
- public function getOrderList($condition, $pagesize = '', $field = '*', $order = 'id desc', $limit = 0, $extend = [])
- {
- if ($pagesize) {
- $list_paginate = $this->field($field)->where($condition)->order($order)->paginate(['list_rows' => $pagesize, 'query' => request()->param()], false);
- $this->page_info = $list_paginate;
- $list = $list_paginate->items();
- } else {
- $list = $this->field($field)->where($condition)->order($order)->limit($limit)->select()->toArray();
- }
- if (empty($list)) {
- return [];
- }
- $order_list = [];
- foreach ($list as $order) {
- if (isset($order['order_state'])) {
- $order['state_desc'] = get_order_state($order);
- }
- if (isset($order['payment_code'])) {
- $order['payment_name'] = get_order_payment_name($order['payment_code']);
- }
- $order['pay_amount'] = round($order['order_amount'] - $order['deduction_amount'], 2);
- $order['add_time'] = date('Y-m-d H:i:s', $order['add_time']);
- $order['finished_time'] = date('Y-m-d H:i:s', $order['finished_time']);
- $order_list[$order['id']] = $order;
- }
- if (empty($order_list)) {
- $order_list = $list;
- }
- //追加返回店铺信息
- if (in_array('store', $extend)) {
- $store_id_array = [];
- foreach ($order_list as $value) {
- if (!in_array($value['store_id'], $store_id_array))
- $store_id_array[] = $value['store_id'];
- }
- $store_list = Db::name('store')->where('store_id', 'in', array_values($store_id_array))->select()->toArray();
- $store_new_list = [];
- foreach ($store_list as $store) {
- $store['store_avatar'] = get_store_logo($store['store_avatar']);
- $store_new_list[$store['store_id']] = $store;
- }
- foreach ($order_list as $order_id => $order) {
- $order_list[$order_id]['extend_store'] = isset($store_new_list[$order['store_id']]) ? $store_new_list[$order['store_id']] : '';
- }
- }
- //追加返回买家信息
- if (in_array('member', $extend)) {
- foreach ($order_list as $order_id => $order) {
- $order_list[$order_id]['extend_member'] = model('member')->getMemberInfoByID($order['buyer_id']);
- }
- }
- return $order_list;
- }
- /**
- * 获取订单详情
- */
- public function getOrderInfo($condition, $extend = [], $fields = '*')
- {
- $order_info = $this->field($fields)->where($condition)->find();
- if (empty($order_info)) {
- return [];
- }
- if (isset($order_info['order_state'])) {
- $order_info['state_desc'] = get_order_state($order_info);
- }
- if (isset($order_info['payment_code'])) {
- $order_info['payment_name'] = get_order_payment_name($order_info['payment_code']);
- }
- $order_info['pay_amount'] = round($order_info['order_amount'] - $order_info['deduction_amount'], 2);
- $order_info['add_time'] = date('Y-m-d H:i:s', $order_info['add_time']);
- $order_info['finished_time'] = date('Y-m-d H:i:s', $order_info['finished_time']);
- //追加返回店铺信息
- if (in_array('store', $extend)) {
- $store = Db::name('store')->where('store_id', $order_info['store_id'])->find();
- $store['store_avatar'] = get_store_logo($store['store_avatar']);
- $order_info['extend_store'] = $store;
- }
- //追加返回买家信息
- if (in_array('member', $extend)) {
- $order_info['extend_member'] = model('member')->getMemberInfoByID($order_info['buyer_id']);
- }
- return $order_info;
- }
- /**
- * 取得订单数量
- * @access public
- * @author csdeshang
- * @param array $condition 条件
- * @return int
- */
- public function getOrderCount($condition)
- {
- return $this->where($condition)->count();
- }
- }
|