|
|
@@ -3,12 +3,16 @@
|
|
|
namespace app\controller\api;
|
|
|
|
|
|
use app\extra\basic\Base;
|
|
|
+use app\extra\tools\CodeExtend;
|
|
|
use app\middleware\AuthMiddleware;
|
|
|
use app\model\saas\SaasGoods;
|
|
|
+use app\model\saas\SaasGoodsSku;
|
|
|
+use app\model\saas\SaasOrder;
|
|
|
use DI\Attribute\Inject;
|
|
|
use LinFly\Annotation\Attributes\Route\Controller;
|
|
|
use LinFly\Annotation\Attributes\Route\GetMapping;
|
|
|
use LinFly\Annotation\Attributes\Route\Middleware;
|
|
|
+use LinFly\Annotation\Attributes\Route\PostMapping;
|
|
|
use support\Request;
|
|
|
use support\Response;
|
|
|
|
|
|
@@ -40,4 +44,28 @@ class Goods extends Base
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ #[PostMapping("add_order")]
|
|
|
+ public function addOrder(Request $request): Response
|
|
|
+ {
|
|
|
+ try {
|
|
|
+ $param = $request->all();
|
|
|
+ if (!empty($param['spm'])) $param['goods_id'] = $param['spm'];
|
|
|
+ $goods = (new SaasGoods)->where([ "product_id" => $param['product_id'], "id" => $param['goods_id'] ])->findOrEmpty();
|
|
|
+ $sku = (new SaasGoodsSku)->where([ "product_id" => $param['product_id'], "sku_id" => $param['sku_id'] ])->findOrEmpty();
|
|
|
+ $priceData = empty($sku['price']) ? $goods['price'] * 100 : $sku['price'] * 100;
|
|
|
+ $param['line_price'] = empty($sku['line_price']) ? $goods['price'] * 100 : $sku['line_price'] * 100;
|
|
|
+ $param['price'] = $priceData * $param['number'];
|
|
|
+ $param['order_sn'] = CodeExtend::uniqidDate(18);
|
|
|
+ $param['openid'] = $request->user['openid'];
|
|
|
+ $param['sku_name'] = $param['name'];
|
|
|
+ $param['poi_id'] = $goods['poi_id'];
|
|
|
+ $state = (new SaasOrder)->setAutoData($param);
|
|
|
+ if (!$state) return error("提交订单失败");
|
|
|
+ return success("提交成功",['order' => $param['order_sn']]);
|
|
|
+ } catch (\Throwable $throwable) {
|
|
|
+ return error($throwable->getMessage());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
}
|