订单等级判断

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. 49
      app/controller/admin/order/Order.php
  4. 15
      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);
}
}

@ -61,6 +61,7 @@ class Order extends BaseController
$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
@ -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,6 +42,21 @@ 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,

Loading…
Cancel
Save