调试订单创建
This commit is contained in:
parent
86dd75b3cf
commit
913f2d7700
@ -9,6 +9,8 @@ use app\common\model\DishesCategory;
|
||||
class DishesController extends BaseLikeAdminController
|
||||
{
|
||||
|
||||
public $optional = ['category', 'dishes', 'detail'];
|
||||
|
||||
public function category()
|
||||
{
|
||||
$category = DishesCategory::field('id,name,pid')->select()->toArray();
|
||||
|
@ -2,9 +2,32 @@
|
||||
|
||||
namespace app\api\controller;
|
||||
|
||||
use app\api\logic\OrderLogic;
|
||||
use app\api\validate\OrderValidate;
|
||||
use app\common\controller\BaseLikeAdminController;
|
||||
|
||||
class OrderController extends BaseLikeAdminController
|
||||
{
|
||||
|
||||
public function check(OrderLogic $logic)
|
||||
{
|
||||
$params['uid'] = $this->request->user->id;
|
||||
$data = $logic->check($params);
|
||||
return $this->data($data);
|
||||
}
|
||||
|
||||
public function create(OrderValidate $validate, OrderLogic $logic)
|
||||
{
|
||||
$params = $this->request->post();
|
||||
$params['uid'] = $this->request->user->id;
|
||||
$params = $validate->goCheck('add', $params);
|
||||
$logic->create($params);
|
||||
return $this->success('订单创建成功', [], 1, 1);
|
||||
}
|
||||
|
||||
public function list(OrderLogic $logic)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
16
app/api/controller/UserController.php
Normal file
16
app/api/controller/UserController.php
Normal file
@ -0,0 +1,16 @@
|
||||
<?php
|
||||
|
||||
namespace app\api\controller;
|
||||
|
||||
use app\api\logic\UserLogic;
|
||||
use app\common\controller\BaseLikeAdminController;
|
||||
|
||||
class UserController extends BaseLikeAdminController
|
||||
{
|
||||
|
||||
public function address(UserLogic $logic)
|
||||
{
|
||||
return $logic->address($this->request->user->id);
|
||||
}
|
||||
|
||||
}
|
56
app/api/logic/OrderLogic.php
Normal file
56
app/api/logic/OrderLogic.php
Normal file
@ -0,0 +1,56 @@
|
||||
<?php
|
||||
|
||||
namespace app\api\logic;
|
||||
|
||||
use app\common\logic\BaseLogic;
|
||||
use app\common\model\Cart;
|
||||
use app\common\model\CartProduct;
|
||||
use app\common\model\Order;
|
||||
use app\common\model\user\User;
|
||||
use app\common\model\user\UserAddress;
|
||||
use think\facade\Db;
|
||||
use Tinywan\Jwt\JwtToken;
|
||||
|
||||
class OrderLogic extends BaseLogic
|
||||
{
|
||||
|
||||
public function check($params)
|
||||
{
|
||||
$query = Cart::with(['cartDishes'])
|
||||
->where('uid', $params['uid'])
|
||||
->where('buy_now', 0)
|
||||
->where('.paid', 0);
|
||||
return $query->select()->toArray();
|
||||
}
|
||||
|
||||
public function create($params)
|
||||
{
|
||||
Db::startTrans();
|
||||
try {
|
||||
$carts = Cart::with(['cartDishes', 'cartProduct'])->where('uid', $params['uid'])->whereIn('id', $params['cart_ids'])->where('paid', 0)->where('buy_now', 0)->select()->toArray();
|
||||
$orderData = [
|
||||
'uid' => $params['uid'],
|
||||
'order_sn' => Order::generateOrderSn(),
|
||||
'order_type' => 0,
|
||||
];
|
||||
foreach ($carts as $cart) {
|
||||
$orderData[] = [];
|
||||
}
|
||||
$cartWhere = ['uid' => $params['uid'], 'paid' => 0, 'buy_now' => 0];
|
||||
Cart::update(['people_number' => $params['people_number']], $cartWhere);
|
||||
$cartIds = Cart::where($cartWhere)->column('id');
|
||||
CartProduct::whereIn('cart_id', $cartIds)->where('uid', $params['uid'])->update(['people_number' => $params['people_number']]);
|
||||
Db::commit();
|
||||
return true;
|
||||
} catch (\Exception $e) {
|
||||
Db::rollback();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public function list()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
}
|
@ -4,11 +4,17 @@ namespace app\api\logic;
|
||||
|
||||
use app\common\logic\BaseLogic;
|
||||
use app\common\model\user\User;
|
||||
use app\common\model\user\UserAddress;
|
||||
use Tinywan\Jwt\JwtToken;
|
||||
|
||||
class UserLogic extends BaseLogic
|
||||
{
|
||||
|
||||
public function address($uid)
|
||||
{
|
||||
return UserAddress::where('user_id', $uid)->order('is_default desc,id desc')->select()->toArray();
|
||||
}
|
||||
|
||||
public function login($code, $type)
|
||||
{
|
||||
if (env('environment') == 'local') {
|
||||
|
77
app/api/validate/OrderValidate.php
Normal file
77
app/api/validate/OrderValidate.php
Normal file
@ -0,0 +1,77 @@
|
||||
<?php
|
||||
|
||||
namespace app\api\validate;
|
||||
|
||||
use app\common\validate\BaseValidate;
|
||||
|
||||
class OrderValidate extends BaseValidate
|
||||
{
|
||||
|
||||
/**
|
||||
* 设置校验规则
|
||||
* @var string[]
|
||||
*/
|
||||
protected $rule = [
|
||||
'id' => 'require',
|
||||
'uid' => 'require',
|
||||
'address_id' => 'require',
|
||||
'delivery_date' => 'require',
|
||||
'delivery_time ' => 'require',
|
||||
'cart_ids' => 'require',
|
||||
];
|
||||
|
||||
|
||||
/**
|
||||
* 参数描述
|
||||
* @var string[]
|
||||
*/
|
||||
protected $field = [
|
||||
'id' => 'id',
|
||||
'uid' => '用户id',
|
||||
'address_id' => '地址id',
|
||||
'delivery_date' => '配送日期',
|
||||
'delivery_time' => '配送时间',
|
||||
'cart_ids' => '购物车id',
|
||||
];
|
||||
|
||||
|
||||
/**
|
||||
* @notes 添加场景
|
||||
* @return OrderValidate
|
||||
*/
|
||||
public function sceneAdd()
|
||||
{
|
||||
return $this->remove('id', true);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @notes 编辑场景
|
||||
* @return OrderValidate
|
||||
*/
|
||||
public function sceneEdit()
|
||||
{
|
||||
return $this->only(['id']);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @notes 删除场景
|
||||
* @return OrderValidate
|
||||
*/
|
||||
public function sceneDelete()
|
||||
{
|
||||
return $this->only(['id']);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @notes 详情场景
|
||||
* @return OrderValidate
|
||||
*/
|
||||
public function sceneDetail()
|
||||
{
|
||||
return $this->only(['id']);
|
||||
}
|
||||
|
||||
}
|
@ -68,4 +68,11 @@ class Order extends BaseModel
|
||||
return self::PayStatusMap[$this->paid];
|
||||
}
|
||||
|
||||
public static function generateOrderSn($type = 'wxo')
|
||||
{
|
||||
list($msec, $sec) = explode(' ', microtime());
|
||||
$msectime = number_format((floatval($msec) + floatval($sec)) * 1000, 0, '', '');
|
||||
return $type . $msectime . mt_rand(10000, max(intval($msec * 10000) + 10000, 98369));
|
||||
}
|
||||
|
||||
}
|
||||
|
10
app/common/model/user/UserAddress.php
Normal file
10
app/common/model/user/UserAddress.php
Normal file
@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
namespace app\common\model\user;
|
||||
|
||||
use app\common\model\BaseModel;
|
||||
|
||||
class UserAddress extends BaseModel
|
||||
{
|
||||
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user