wesmiler пре 1 година
родитељ
комит
338a71b84c

+ 0 - 1
app/Http/Controllers/Api/v1/OrderController.php

@@ -5,7 +5,6 @@ namespace App\Http\Controllers\Api\v1;
 use App\Http\Controllers\Api\webApp;
 use App\Http\Validator\OrderValidator;
 use App\Services\Api\OrderService;
-use App\Services\MapService;
 
 /**
  * 订单

+ 0 - 128
app/Models/AccountLogModel.php

@@ -1,128 +0,0 @@
-<?php
-// +----------------------------------------------------------------------
-// | LARAVEL8.0 框架 [ LARAVEL ][ RXThinkCMF ]
-// +----------------------------------------------------------------------
-// | 版权所有 2017~2021 LARAVEL研发中心
-// +----------------------------------------------------------------------
-// | 官方网站: http://www.laravel.cn
-// +----------------------------------------------------------------------
-// | Author: laravel开发员 <laravel.qq.com>
-// +----------------------------------------------------------------------
-
-namespace App\Models;
-
-use Illuminate\Support\Facades\DB;
-
-/**
- * 账户明细-模型
- * @author laravel开发员
- * @since 2020/11/10
- * Class ActionLogModel
- * @package App\Models
- */
-class AccountLogModel extends BaseModel
-{
-    // 设置数据表
-    protected $table = null;
-    // 自定义日志标题
-    protected static $title = '';
-    // 自定义日志内容
-    protected static $content = '';
-
-    public function __construct($table = null)
-    {
-        if ($table == null) {
-            // 设置表名
-            $this->table = 'account_log';
-        } else {
-            $this->table = $table;
-        }
-
-        $this->initTable();
-    }
-
-    /**
-     * 获取表
-     * @param $date
-     * @return bool
-     */
-    public function getTable($date='')
-    {
-
-        if($date){
-            $tbl = env('DB_PREFIX', 'lev_') .'account_log';
-            return $this->tableExists($tbl)? 'account_log':'';
-        }
-        return $this->table;
-    }
-
-    /**
-     * 用户
-     * @return \Illuminate\Database\Eloquent\Relations\HasOne
-     */
-    public function member()
-    {
-        return $this->hasOne(MemberModel::class, 'id','user_id')
-            ->where(['mark'=>1])
-            ->select(['id','nickname as name','mobile']);
-    }
-
-    /**
-     * 司机
-     * @return \Illuminate\Database\Eloquent\Relations\HasOne
-     */
-    public function driver()
-    {
-        return $this->hasOne(DriverModel::class, 'id','user_id')
-            ->where(['mark'=>1])
-            ->select(['id','realname as name','mobile']);
-    }
-
-
-    /**
-     *
-     * @return string|null
-     * @since 2020/11/10
-     * @author laravel开发员
-     */
-    protected function initTable()
-    {
-        $tbl = env('DB_PREFIX', 'lev_') . $this->table;
-        try {
-            if (!$this->tableExists($tbl)) {
-                $sql = "CREATE TABLE `{$tbl}` (
-                  `id` int(10) NOT NULL AUTO_INCREMENT,
-                  `user_id` int(10) NOT NULL DEFAULT '0' COMMENT '用户ID/司机ID',
-                  `source_id` int(10) NOT NULL DEFAULT '0' COMMENT '关联用户或数据ID',
-                  `source_order_no` varchar(30) NOT NULL DEFAULT '' COMMENT '关联订单号',
-                  `user_type` tinyint(1) NOT NULL DEFAULT '0' COMMENT '账户类型:1-用户,2-司机,3-代理,4-平台',
-                  `type` tinyint(1) NOT NULL DEFAULT '1' COMMENT '交易类型:1-普通消费,2-VIP升级消费,3-分销佣金,4-平台调整,5-充值,6-诚意金,7-退款,8-余额提现,9-接单收入,10-在线奖金,11-红包奖励,12-在线奖金提现,99-其他',
-                  `coin_type` tinyint(2) NOT NULL DEFAULT '1' COMMENT '币种账户类型:1-人民币,3-通证积分,4-余额,5-奖励,99-其他',
-                  `money` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '金额',
-                  `balance` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '更改前余额',
-                  `date` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
-                  `create_time` int(10) NOT NULL DEFAULT '0',
-                  `update_time` int(10) NOT NULL DEFAULT '0',
-                  `transaction_id` varchar(64) NOT NULL DEFAULT '' COMMENT '涉及支付交易单号',
-                  `remark` varchar(150) NOT NULL DEFAULT '' COMMENT '备注',
-                  `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态:1-已完成,2-待处理,3-失败/取消',
-                  `mark` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否有效:1-是,0-否',
-                  PRIMARY KEY (`id`),
-                  KEY `user_id` (`user_id`),
-                  KEY `source_id` (`source_id`),
-                  KEY `type` (`type`),
-                  KEY `coin_type` (`coin_type`),
-                  KEY `mark` (`mark`),
-                  KEY `status` (`status`)
-                ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='账户明细表';";
-
-                DB::select($sql);
-            }
-        } catch (\Exception $exception){
-
-        }
-
-        return $tbl;
-    }
-
-}

+ 0 - 39
app/Models/MemberBankModel.php

@@ -1,39 +0,0 @@
-<?php
-// +----------------------------------------------------------------------
-// | LARAVEL8.0 框架 [ LARAVEL ][ RXThinkCMF ]
-// +----------------------------------------------------------------------
-// | 版权所有 2017~2021 LARAVEL研发中心
-// +----------------------------------------------------------------------
-// | 官方网站: http://www.laravel.cn
-// +----------------------------------------------------------------------
-// | Author: laravel开发员 <laravel.qq.com>
-// +----------------------------------------------------------------------
-
-namespace App\Models;
-
-/**
- * 用户银行卡管理-模型
- * @author laravel开发员
- * @since 2020/11/11
- * Class MemberBankModel
- * @package App\Models
- */
-class MemberBankModel extends BaseModel
-{
-    // 设置数据表
-    protected $table = 'member_banks';
-
-    /**
-     * 获取信息
-     * @param int $id
-     * @return array|string
-     * @author laravel开发员
-     * @since 2020/11/11
-     */
-    public function getInfo($id)
-    {
-        $info = parent::getInfo($id); // TODO: Change the autogenerated stub
-        return $info;
-    }
-
-}

+ 0 - 25
app/Models/MemberCouponModel.php

@@ -1,25 +0,0 @@
-<?php
-// +----------------------------------------------------------------------
-// | LARAVEL8.0 框架 [ LARAVEL ][ RXThinkCMF ]
-// +----------------------------------------------------------------------
-// | 版权所有 2017~2021 LARAVEL研发中心
-// +----------------------------------------------------------------------
-// | 官方网站: http://www.laravel.cn
-// +----------------------------------------------------------------------
-// | Author: laravel开发员 <laravel.qq.com>
-// +----------------------------------------------------------------------
-
-namespace App\Models;
-
-/**
- * 用户优惠券-模型
- * @author laravel开发员
- * @since 2020/11/11
- * @package App\Models
- */
-class MemberCouponModel extends BaseModel
-{
-    // 设置数据表
-    protected $table = 'member_coupon';
-
-}

+ 0 - 24
app/Models/MemberRedbagModel.php

@@ -1,24 +0,0 @@
-<?php
-// +----------------------------------------------------------------------
-// | LARAVEL8.0 框架 [ LARAVEL ][ RXThinkCMF ]
-// +----------------------------------------------------------------------
-// | 版权所有 2017~2021 LARAVEL研发中心
-// +----------------------------------------------------------------------
-// | 官方网站: http://www.laravel.cn
-// +----------------------------------------------------------------------
-// | Author: laravel开发员 <laravel.qq.com>
-// +----------------------------------------------------------------------
-
-namespace App\Models;
-
-/**
- * 用户红包记录管理-模型
- * @author laravel开发员
- * @since 2020/11/11
- * @package App\Models
- */
-class MemberRedbagModel extends BaseModel
-{
-    // 设置数据表
-    protected $table = 'member_redbag_log';
-}

+ 0 - 25
app/Models/MessageModel.php

@@ -1,25 +0,0 @@
-<?php
-// +----------------------------------------------------------------------
-// | LARAVEL8.0 框架 [ LARAVEL ][ RXThinkCMF ]
-// +----------------------------------------------------------------------
-// | 版权所有 2017~2021 LARAVEL研发中心
-// +----------------------------------------------------------------------
-// | 官方网站: http://www.laravel.cn
-// +----------------------------------------------------------------------
-// | Author: laravel开发员 <laravel.qq.com>
-// +----------------------------------------------------------------------
-
-namespace App\Models;
-
-/**
- * 消息-模型
- * @author laravel开发员
- * @since 2020/11/11
- * @package App\Models
- */
-class MessageModel extends BaseModel
-{
-    // 设置数据表
-    protected $table = 'message';
-
-}

+ 0 - 54
app/Models/OrderFreightModel.php

@@ -1,54 +0,0 @@
-<?php
-// +----------------------------------------------------------------------
-// | LARAVEL8.0 框架 [ LARAVEL ][ RXThinkCMF ]
-// +----------------------------------------------------------------------
-// | 版权所有 2017~2021 LARAVEL研发中心
-// +----------------------------------------------------------------------
-// | 官方网站: http://www.laravel.cn
-// +----------------------------------------------------------------------
-// | Author: laravel开发员 <laravel.qq.com>
-// +----------------------------------------------------------------------
-
-namespace App\Models;
-
-/**
- * 订单货物-模型
- * @author laravel开发员
- * @since 2020/11/11
- * @package App\Models
- */
-class OrderFreightModel extends BaseModel
-{
-    // 设置数据表
-    protected $table = 'orders_freights';
-
-    /**
-     * 货物类型
-     * @return \Illuminate\Database\Eloquent\Relations\HasOne
-     */
-    public function category()
-    {
-        return $this->hasOne(FreightCategoryModel::class, 'id','freight_cate_id')
-            ->select(['id','name','pid','type','status']);
-    }
-
-    /**
-     * 包装
-     * @return \Illuminate\Database\Eloquent\Relations\HasOne
-     */
-    public function package()
-    {
-        return $this->hasOne(FreightPackageModel::class, 'id','package_id')
-            ->select(['id','name','status']);
-    }
-
-    /**
-     * 规格
-     * @return \Illuminate\Database\Eloquent\Relations\HasOne
-     */
-    public function spec()
-    {
-        return $this->hasOne(FreightSpecModel::class, 'id','spec_id')
-            ->select(['id','name','sub_name','status']);
-    }
-}

+ 10 - 0
app/Models/OrderModel.php

@@ -61,4 +61,14 @@ class OrderModel extends BaseModel
         return $this->hasOne(MemberModel::class, 'id','delivery_user_id')
             ->select(['id','nickname','mobile','nickname','status']);
     }
+
+    /**
+     * 订单商品
+     * @return \Illuminate\Database\Eloquent\Relations\HasMany
+     */
+    public function goods()
+    {
+        return $this->hasMany(OrderGoodsModel::class, 'order_no','order_no')
+            ->select(['id','goods_id','goods_name','order_no','stock_id','cate_id','cate_name','price','num','thumb','unit','spec','unit1','unit1_num']);
+    }
 }

+ 0 - 24
app/Models/TicketModel.php

@@ -1,24 +0,0 @@
-<?php
-// +----------------------------------------------------------------------
-// | LARAVEL8.0 框架 [ LARAVEL ][ RXThinkCMF ]
-// +----------------------------------------------------------------------
-// | 版权所有 2017~2021 LARAVEL研发中心
-// +----------------------------------------------------------------------
-// | 官方网站: http://www.laravel.cn
-// +----------------------------------------------------------------------
-// | Author: laravel开发员 <laravel.qq.com>
-// +----------------------------------------------------------------------
-
-namespace App\Models;
-
-/**
- * 发票管理-模型
- * @author laravel开发员
- * @since 2020/11/11
- * @package App\Models
- */
-class TicketModel extends BaseModel
-{
-    // 设置数据表
-    protected $table = 'ticket';
-}

+ 33 - 123
app/Services/Api/OrderService.php

@@ -11,22 +11,12 @@
 
 namespace App\Services\Api;
 
-use App\Models\AccountLogModel;
-use App\Models\CarCategoryModel;
-use App\Models\DriverModel;
-use App\Models\FreightCategoryModel;
-use App\Models\FreightPackageModel;
-use App\Models\FreightSpecModel;
 use App\Models\GoodsModel;
-use App\Models\MemberCouponModel;
 use App\Models\MemberModel;
-use App\Models\OrderFreightModel;
 use App\Models\OrderGoodsModel;
 use App\Models\OrderModel;
-use App\Models\PaymentModel;
 use App\Services\BaseService;
 use App\Services\ConfigService;
-use App\Services\MapService;
 use App\Services\RedisService;
 use Illuminate\Support\Facades\DB;
 use wxkxklmyt\Scws;
@@ -72,25 +62,25 @@ class OrderService extends BaseService
     public function getDataList($params, $pageSize = 15)
     {
         $where = ['a.mark' => 1];
-        $parentId = isset($params['parent_id']) ? $params['parent_id'] : 0;
-        if ($parentId > 0) {
-            $where['b.parent_id'] = $parentId;
-        }
-
-        $list = $this->model->from('orders as a')->with(['freight', 'carCategory', 'driver'])
-            ->leftJoin('member as b', 'a.user_id', '=', 'b.id')
+        $list = $this->model->from('orders as a')->with(['goods','user'])
+            ->leftJoin('member as b', 'b.id', '=', 'a.buy_user_id')
             ->where($where)
             ->where(function ($query) use ($params) {
                 $keyword = isset($params['keyword']) ? $params['keyword'] : '';
                 if ($keyword) {
-                    $query->where('a.order_no', 'like', "%{$keyword}%")->orWhere('b.mobile', 'like', "%{$keyword}%");
+                    $query->where('a.order_no', 'like', "%{$keyword}%")
+                        ->orWhere('b.username', 'like', "%{$keyword}%")
+                        ->orWhere('b.nickname', 'like', "%{$keyword}%")
+                        ->orWhere('b.mobile', 'like', "%{$keyword}%");
                 }
             })
             ->where(function ($query) use ($params) {
                 $userId = isset($params['user_id']) ? $params['user_id'] : 0;
-                $type = isset($params['type']) ? $params['type'] : 0;
                 if ($userId) {
-                    $query->where('a.user_id', '=', $userId);
+                    $query->where(function($query) use($userId){
+                        $query->where('a.user_id', $userId)
+                            ->orWhere('a.buy_user_id', $userId);
+                    });
                 }
 
                 $driverId = isset($params['driver_id']) ? $params['driver_id'] : 0;
@@ -98,88 +88,36 @@ class OrderService extends BaseService
                     $query->where('a.driver_id', '=', $driverId);
                 }
 
-                if ($type > 0) {
-                    $query->where('a.type', '=', $type);
-                }
-
-                $serviceType = isset($params['service_type']) ? $params['service_type'] : 0;
-                if ($serviceType > 0) {
-                    $query->where('a.service_type', '=', $serviceType);
+                $orderType = isset($params['order_type']) ? $params['order_type'] : 0;
+                if ($orderType > 0) {
+                    $query->where('a.order_type', '=', $orderType);
                 }
             })
             ->where(function ($query) use ($params) {
                 $status = isset($params['status']) ? $params['status'] : 0;
                 // 进行中
-                if ($status == 1) {
-                    $query->where(function ($query) {
-                        $query->whereIn('a.status', [2, 3, 7]);
-                    })
-                        ->orWhere(function ($query) {
-                            $query->where(['a.pay_style' => 2, 'a.deposit_status' => 1])->whereIn('a.status', [1, 2, 3, 7]);
-                        });
-                } // 完成
-                else if ($status == 2) {
-                    $query->where('a.status', 4);
-                } // 取消
-                else if ($status == 3) {
-                    $query->whereIn('a.status', [5, 6, 99]);
-                } else {
-                    $query->where(function ($query) {
-                        $query->where('a.status', '>', 1);
-                    })
-                        ->orWhere(function ($query) {
-                            $query->where(['a.pay_style' => 2, 'a.deposit_status' => 1])->where('a.status', '>=', 1);
-                        });
-                }
-
-                // 过滤已开票的
-                $ticket = isset($params['is_ticket']) ? $params['is_ticket'] : 0;
-                if ($ticket) {
-                    $query->where('a.ticket_status', 2);
+                if ($status>0) {
+                    $query->where('a.status', $status);
                 }
             })
-            ->select(['a.*', 'b.nickname', 'b.mobile as member_mobile', 'b.avatar', 'b.realname as member_realname'])
-            ->orderBy('a.pay_time', 'desc')
+            ->select(['a.*'])
+            ->orderBy('a.status', 'asc')
+            ->orderBy('a.create_time', 'desc')
+            ->orderBy('a.pay_at', 'desc')
             ->orderBy('a.id', 'desc')
             ->paginate($pageSize > 0 ? $pageSize : 9999999);
         $list = $list ? $list->toArray() : [];
         if ($list) {
-            $refundStatusArr = [1 => '退款中', 2 => '已退款', 3 => '退款失败'];
-            $statusArr = [1 => '待付款', 2 => '待接单', 3 => '服务中', 4 => '已完成', 5 => '已退款', 7 => '取货中'];
+            $statusArr = [1 => '待审核', 2 => '待捡货', 3 => '捡货中', 4 => '已发货', 5 => '已送达', 6 => '已结账'];
             foreach ($list['data'] as &$item) {
-                $item['avatar'] = isset($item['avatar']) ? get_image_url($item['avatar']) : '';
                 $item['create_time'] = $item['create_time'] ? datetime($item['create_time'], 'Y-m-d H:i:s') : '';
-                $item['pay_time'] = $item['pay_time'] ? datetime($item['pay_time'], 'Y-m-d H:i:s') : '';
                 $status = isset($item['status']) ? $item['status'] : 0;
-                $item['status_text'] = '待付款';
-                $item['refund_status_text'] = '';
+                $item['status_text'] = '待审核';
                 if ($status) {
-                    if ($item['status'] == 7) {
-                        $item['status_text'] = $item['service_type'] == 1 ? '接客中' : '取货中';
-                    }
-
-                    if ($item['type'] == 2) {
-                        $item['status_text'] = isset($serviceStatusArr[$status]) ? $serviceStatusArr[$status] : '';
-                    } else {
-                        $item['status_text'] = isset($statusArr[$status]) ? $statusArr[$status] : '';
-                    }
-                }
-
-                // 到付订单
-                if ($item['pay_type'] == 2 && $status == 1) {
-                    $item['status_text'] = '待接单';
+                    $item['status_text'] = isset($statusArr[$status]) ? $statusArr[$status] : '';
                 }
 
-                $refundStatus = isset($item['refund_status']) ? $item['refund_status'] : 0;
-                if ($refundStatus && $status != 4) {
-                    $item['refund_status_text'] = isset($refundStatusArr[$refundStatus]) ? $refundStatusArr[$refundStatus] : '';
-                }
-
-                $item['freight'] = isset($item['freight']) ? $item['freight'] : [];
-                $item['service_type_text'] = $item['service_type'] == 1 ? '出行' : '货运';
-                $driver = isset($item['driver']) ? $item['driver'] : [];
-                $driver['avatar'] = isset($driver['avatar']) && $driver['avatar'] ? get_image_url($driver['avatar']) : '';
-                $item['driver'] = $driver;
+                $item['goods'] = isset($item['goods']) && $item['goods']? $item['goods'] : [];
             }
             unset($item);
         }
@@ -194,58 +132,28 @@ class OrderService extends BaseService
     /**
      * 订单详情
      * @param $id
-     * @param int $userId
      */
-    public function getOrderInfo($id, $userId = 0)
+    public function getOrderInfo($id)
     {
-
-        $refundStatusArr = [1 => '退款中', 2 => '已退款', 3 => '退款失败'];
-        $statusArr = [1 => '待付款', 2 => '待接单', 3 => '服务中', 4 => '已完成', 5 => '已退款'];
-        $info = $this->model->from('orders as a')->with(['carCategory', 'driver'])
-            ->leftJoin('member as b', 'a.user_id', '=', 'b.id')
+        $statusArr = [1 => '待审核', 2 => '待捡货', 3 => '捡货中', 4 => '已发货', 5 => '已送达', 6 => '已结账'];
+        $info = $this->model->from('orders as a')->with(['goods', 'user'])
+            ->leftJoin('member as b', 'b.id', '=', 'a.buy_user_id')
             ->where(['a.id' => $id, 'a.mark' => 1])
-            ->select(['a.*', 'b.nickname', 'b.mobile as member_mobile', 'b.avatar', 'b.realname as member_realname'])
+            ->select(['a.*'])
             ->first();
 
         if ($info) {
             $info = $info->toArray();
-            $info['avatar'] = isset($info['avatar']) ? get_image_url($info['avatar']) : '';
             $info['create_time'] = $info['create_time'] ? datetime($info['create_time'], 'Y-m-d H:i:s') : '';
-            $info['pay_time'] = $info['pay_time'] ? datetime($info['pay_time'], 'Y-m-d H:i:s') : '';
             $status = isset($info['status']) ? $info['status'] : 0;
             $info['status_text'] = '待付款';
-            $info['refund_status_text'] = '';
             if ($status) {
-                if ($info['status'] == 7) {
-                    $info['status_text'] = $info['service_type'] == 1 ? '接客中' : '取货中';
-                }
-
-                if ($info['type'] == 2) {
-                    $info['status_text'] = isset($serviceStatusArr[$status]) ? $serviceStatusArr[$status] : '';
-                } else {
-                    $info['status_text'] = isset($statusArr[$status]) ? $statusArr[$status] : '';
-                }
+                $info['status_text'] = isset($statusArr[$status]) ? $statusArr[$status] : '';
             }
 
-            // 到付订单
-            if ($info['pay_type'] == 2 && $status == 1) {
-                $info['status_text'] = '待接单';
-            }
-
-            $refundStatus = isset($info['refund_status']) ? $info['refund_status'] : 0;
-            if ($refundStatus && $status != 4) {
-                $info['refund_status_text'] = isset($refundStatusArr[$refundStatus]) ? $refundStatusArr[$refundStatus] : '';
-            }
-
-            $freight = OrderFreightModel::with(['category', 'package', 'spec'])->where(['order_no' => $info['order_no'], 'mark' => 1])->first();
-            $freight = $freight ? $freight->toArray() : [];
-            if ($freight) {
-                $freight['albums'] = get_images_preview($freight['albums'], 'url', 1);
-                $freight['accept_albums'] = get_images_preview($freight['accept_albums'], 'url', 1);
-            }
-            $info['freight'] = $freight ? $freight : [];
+            $info['goods'] = isset($info['goods'])&&$info['goods']? $info['goods'] : [];
         }
-        //RedisService::set("caches:order:detail_{$id}_{$userId}",$info,600);
+
         return $info;
     }
 
@@ -343,6 +251,7 @@ class OrderService extends BaseService
             $goodsId = isset($item['goods_id'])? $item['goods_id'] : 0;
             $price = isset($item['price'])? $item['price'] : 0;
             $goodsNum = isset($item['num'])? $item['num'] : 0;
+            $category = isset($item['category'])? $item['category'] : [];
             $realPrice = isset($item['real_price']) && $item['real_price']>0? floatval($item['real_price']) : $price;
             $goodsTotal = round($realPrice * $goodsNum, 2);
             $goodsOriginalTotal = round($price * $goodsNum, 2);
@@ -360,6 +269,7 @@ class OrderService extends BaseService
                     'stock_id'=> $stockId,
                     'brand_id'=> isset($item['brand_id'])? $item['brand_id'] : 0,
                     'cate_id'=> isset($item['cate_id'])? $item['cate_id'] : 0,
+                    'cate_name'=> isset($category['cate_name'])? $category['cate_name'] : '',
                     'settle_type'=> isset($item['settle_type'])? $item['settle_type'] : 0,
                     'settle_rate'=> isset($item['settle_rate'])? $item['settle_rate'] : 0,
                     'settle_num'=> isset($item['settle_num'])? $item['settle_num'] : 0,