From d4c043742ba18a69a0065c840a83c9694c571107 Mon Sep 17 00:00:00 2001 From: limu Date: Thu, 21 Dec 2023 15:47:11 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E7=AD=89=E7=BA=A7=E5=88=A4?= =?UTF-8?q?=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../model/store/order/StoreOrderLevel.php | 47 ++++++++++++ .../store/order/StoreOrderRepository.php | 42 +++++++++++ app/controller/admin/order/Order.php | 71 ++++++++++++++++--- route/admin/order.php | 53 +++++++++----- 4 files changed, 183 insertions(+), 30 deletions(-) create mode 100644 app/common/model/store/order/StoreOrderLevel.php diff --git a/app/common/model/store/order/StoreOrderLevel.php b/app/common/model/store/order/StoreOrderLevel.php new file mode 100644 index 0000000..1865174 --- /dev/null +++ b/app/common/model/store/order/StoreOrderLevel.php @@ -0,0 +1,47 @@ + +// +---------------------------------------------------------------------- + + +namespace app\common\model\store\order; + + +use app\common\model\BaseModel; + +/** + * Class StoreOrderStatus + * @package app\common\model\store\order + * @author xaboy + * @day 2020/6/12 + */ +class StoreOrderLevel extends BaseModel +{ + + /** + * @return string|null + * @author xaboy + * @day 2020/6/12 + */ + public static function tablePk(): ?string + { + return 'id'; + } + + /** + * @return string + * @author xaboy + * @day 2020/6/12 + */ + public static function tableName(): string + { + return 'order_level'; + } +} diff --git a/app/common/repositories/store/order/StoreOrderRepository.php b/app/common/repositories/store/order/StoreOrderRepository.php index 4cdc6c5..6c357f0 100644 --- a/app/common/repositories/store/order/StoreOrderRepository.php +++ b/app/common/repositories/store/order/StoreOrderRepository.php @@ -51,6 +51,7 @@ use Exception; use FormBuilder\Factory\Elm; use FormBuilder\Form; use http\Exception\InvalidArgumentException; +use app\common\model\store\order\StoreOrderLevel; use crmeb\jobs\OrderPartnerJob; use think\db\exception\DataNotFoundException; use think\db\exception\DbException; @@ -2292,4 +2293,45 @@ class StoreOrderRepository extends BaseRepository } return $query->select(); } + + public function getAllLevel() + { + $list = StoreOrderLevel::getDB()->select()->toArray(); + return $list; + } + + public function getLevelDetail($id) + { + $data = StoreOrderLevel::getDB()->where('id', '=', $id)->find()->toArray(); + return $data; + } + + public function getOrderLevel($level, $id = null) + { + if (empty($id)) { + $data = StoreOrderLevel::getDB()->where('level', '=', $level)->find(); + } else { + $data = StoreOrderLevel::getDB()->where('level', '=', $level) + ->where('id', '<>', $id) + ->find(); + } + return $data; + } + + public function getLevelDelete($id) + { + return StoreOrderLevel::getDB()->where('id', '=', $id)->delete(); + } + + public function createOrderLevel($data) + { + return StoreOrderLevel::getDB()->insert($data); + } + + public function updateOrderLevel($data) + { + $id = $data['id']; + unset($data['id']); + return StoreOrderLevel::getDB()->where('id', '=', $id)->update($data); + } } diff --git a/app/controller/admin/order/Order.php b/app/controller/admin/order/Order.php index e505071..387b0c1 100644 --- a/app/controller/admin/order/Order.php +++ b/app/controller/admin/order/Order.php @@ -34,7 +34,7 @@ class Order extends BaseController public function lst($id) { [$page, $limit] = $this->getPage(); - $where = $this->request->params(['date','order_sn','order_type','keywords','username','activity_type','group_order_sn','store_name']); + $where = $this->request->params(['date', 'order_sn', 'order_type', 'keywords', 'username', 'activity_type', 'group_order_sn', 'store_name']); $where['reconciliation_type'] = $this->request->param('status', 1); $where['mer_id'] = $id; return app('json')->success($this->repository->adminMerGetList($where, $page, $limit)); @@ -58,9 +58,10 @@ class Order extends BaseController public function title() { - $where = $this->request->params(['type', 'date', 'mer_id','keywords','status','username','order_sn','is_trader','activity_type']); + $where = $this->request->params(['type', 'date', 'mer_id', 'keywords', 'status', 'username', 'order_sn', 'is_trader', 'activity_type']); return app('json')->success($this->repository->getStat($where, $where['status'])); } + /** * TODO * @return mixed @@ -70,14 +71,14 @@ class Order extends BaseController public function getAllList() { [$page, $limit] = $this->getPage(); - $where = $this->request->params(['type', 'date', 'mer_id','keywords','status','username','order_sn','is_trader','activity_type','group_order_sn','store_name']); + $where = $this->request->params(['type', 'date', 'mer_id', 'keywords', 'status', 'username', 'order_sn', 'is_trader', 'activity_type', 'group_order_sn', 'store_name']); $data = $this->repository->adminGetList($where, $page, $limit); return app('json')->success($data); } public function takeTitle() { - $where = $this->request->params(['date','order_sn','keywords','username','is_trader']); + $where = $this->request->params(['date', 'order_sn', 'keywords', 'username', 'is_trader']); $where['take_order'] = 1; $where['status'] = ''; $where['verify_date'] = $where['date']; @@ -94,7 +95,7 @@ class Order extends BaseController public function getTakeList() { [$page, $limit] = $this->getPage(); - $where = $this->request->params(['date','order_sn','keywords','username','is_trader']); + $where = $this->request->params(['date', 'order_sn', 'keywords', 'username', 'is_trader']); $where['take_order'] = 1; $where['status'] = ''; $where['verify_date'] = $where['date']; @@ -110,7 +111,7 @@ class Order extends BaseController */ public function chart() { - return app('json')->success($this->repository->OrderTitleNumber(null,null)); + return app('json')->success($this->repository->OrderTitleNumber(null, null)); } /** @@ -121,7 +122,7 @@ class Order extends BaseController */ public function takeChart() { - return app('json')->success($this->repository->OrderTitleNumber(null,1)); + return app('json')->success($this->repository->OrderTitleNumber(null, 1)); } /** @@ -146,7 +147,7 @@ class Order extends BaseController public function status($id) { [$page, $limit] = $this->getPage(); - $where = $this->request->params(['date','user_type']); + $where = $this->request->params(['date', 'user_type']); $where['id'] = $id; return app('json')->success($this->repository->getOrderStatus($where, $page, $limit)); } @@ -162,7 +163,7 @@ class Order extends BaseController { if (!$this->repository->getWhereCount(['order_id' => $id, 'delivery_type' => 1])) return app('json')->fail('订单信息或状态错误'); - return app('json')->success($this->repository->express($id,null)); + return app('json')->success($this->repository->express($id, null)); } public function reList($id) @@ -179,8 +180,8 @@ class Order extends BaseController */ public function excel() { - $where = $this->request->params(['type', 'date', 'mer_id','keywords','status','username','order_sn','take_order']); - if($where['take_order']){ + $where = $this->request->params(['type', 'date', 'mer_id', 'keywords', 'status', 'username', 'order_sn', 'take_order']); + if ($where['take_order']) { $where['verify_date'] = $where['date']; unset($where['date']); } @@ -201,4 +202,52 @@ class Order extends BaseController $data = $this->repository->childrenList($id, 0); return app('json')->success($data); } + + //消费等级配置 + public function getLevelList() + { + $data = $this->repository->getAllLevel(); + return app('json')->success($data); + } + + public function getLevelDetail($id) + { + $data = $this->repository->getLevelDetail($id); + return app('json')->success($data); + } + + public function getLevelDelete($id) + { + $data = $this->repository->getLevelDelete($id); + return app('json')->success('删除成功'); + } + + public function getLevelAdd() + { + $data = $this->request->params(['name', 'min_price', ['level', 1], 'pay_hp']); + if (empty($data['min_price']) || empty($data['name']) || empty($data['pay_hp'])) { + return app('json')->fail('数据缺失'); + } + if ($this->repository->getOrderLevel($data['level'])) { + return app('json')->fail('该等级已存在'); + } + $this->repository->createOrderLevel($data); + return app('json')->success('添加成功'); + } + + public function getLevelEdit() + { + $data = $this->request->params(['name', 'min_price', ['level', 1], 'pay_hp', 'id']); + if (empty($data['min_price']) || empty($data['name']) || empty($data['pay_hp']) || empty($data['id'])) { + return app('json')->fail('数据缺失'); + } + if (!$this->repository->getDetail($data['id'])) { + return app('json')->fail('该数据不存在'); + } + if ($this->repository->getOrderLevel($data['level'],$data['id'])) { + return app('json')->fail('该等级已存在'); + } + $this->repository->updateOrderLevel($data); + return app('json')->success('编辑成功'); + } } diff --git a/route/admin/order.php b/route/admin/order.php index 82dc3bd..f9915ba 100644 --- a/route/admin/order.php +++ b/route/admin/order.php @@ -42,21 +42,36 @@ Route::group(function () { Route::get('children/:id', 'Order/childrenList')->name('systemOrderChildrenList')->option([ '_alias' => '关联订单', ]); + Route::get('level/list', 'Order/getLevelList')->name('OrderLevelList')->option([ + '_alias' => '订单等级配置列表', + ]); + Route::get('level/detail/:id', 'Order/getLevelDetail')->name('OrderLevelDetail')->option([ + '_alias' => '订单等级配置详情', + ]); + Route::get('level/delete/:id', 'Order/getLevelDelete')->name('OrderLevelDelete')->option([ + '_alias' => '订单等级配置删除', + ]); + Route::post('level/add', 'Order/getLevelAdd')->name('OrderLevelAdd')->option([ + '_alias' => '订单等级配置添加', + ]); + Route::post('level/edit', 'Order/getLevelEdit')->name('OrderLevelEdit')->option([ + '_alias' => '订单等级配置编辑', + ]); })->prefix('admin.order.')->option([ '_path' => '/order/list', '_auth' => true, - '_append'=> [ + '_append' => [ [ - '_name' =>'systemStoreExcelLst', - '_path' =>'/order/list', + '_name' => 'systemStoreExcelLst', + '_path' => '/order/list', '_alias' => '导出列表', - '_auth' => true, + '_auth' => true, ], [ - '_name' =>'systemStoreExcelDownload', - '_path' =>'/order/list', + '_name' => 'systemStoreExcelDownload', + '_path' => '/order/list', '_alias' => '导出列表', - '_auth' => true, + '_auth' => true, ], ] ]); @@ -65,13 +80,13 @@ Route::group(function () { Route::get('take_title', 'Order/takeTitle')->name('systemOrderTakeStat')->option([ '_alias' => '核销', - ]); + ]); Route::get('takelst', 'Order/getTakeList')->name('systemTakeOrderLst')->option([ '_alias' => '核销订单', - ]); + ]); Route::get('takechart', 'Order/takeChart')->name('systemTakeOrderTitle')->option([ '_alias' => '头部统计', - ]); + ]); })->prefix('admin.order.')->option([ '_path' => '/order/cancellation', '_auth' => true, @@ -80,25 +95,25 @@ Route::group(function () { Route::group('order', function () { Route::get('refund/lst', 'RefundOrder/getAllList')->name('systemRefundOrderLst')->option([ '_alias' => '列表', - ]); + ]); Route::get('refund/excel', 'RefundOrder/Excel')->name('systemRefundOrderExcel')->option([ '_alias' => '导出', - ]); + ]); })->prefix('admin.order.')->option([ '_path' => '/order/refund', '_auth' => true, - '_append'=> [ + '_append' => [ [ - '_name' =>'systemStoreExcelLst', - '_path' =>'/order/refund', + '_name' => 'systemStoreExcelLst', + '_path' => '/order/refund', '_alias' => '导出列表', - '_auth' => true, + '_auth' => true, ], [ - '_name' =>'systemStoreExcelDownload', - '_path' =>'/order/refund', + '_name' => 'systemStoreExcelDownload', + '_path' => '/order/refund', '_alias' => '导出下载', - '_auth' => true, + '_auth' => true, ], ] ]);