订单等级判断

main
limu 1 year ago
parent 5e151a4689
commit d4c043742b
  1. 47
      app/common/model/store/order/StoreOrderLevel.php
  2. 42
      app/common/repositories/store/order/StoreOrderRepository.php
  3. 71
      app/controller/admin/order/Order.php
  4. 53
      route/admin/order.php

@ -0,0 +1,47 @@
<?php
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2022 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
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';
}
}

@ -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);
}
}

@ -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('编辑成功');
}
}

@ -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,
],
]
]);

Loading…
Cancel
Save