|
|
@@ -7,6 +7,7 @@ use app\extra\dyLife\data\OrderData;
|
|
|
use app\middleware\AuthMiddleware;
|
|
|
use app\model\saas\SaasOrder;
|
|
|
use app\model\saas\SaasOrderAddress;
|
|
|
+use app\model\saas\SaasOrderItem;
|
|
|
use app\model\saas\SaasStore;
|
|
|
use app\service\saas\GoodsService;
|
|
|
use app\service\saas\OrderService;
|
|
|
@@ -50,8 +51,10 @@ class Order extends Base
|
|
|
}]);
|
|
|
},'user' => function($query){
|
|
|
$query->field("openid,nickname,avatar");
|
|
|
- }],true,['end_time'],["end_time" => function ($resp,$next) {
|
|
|
+ }],true,['end_time','refund_num'],["end_time" => function ($resp,$next) {
|
|
|
return timeDiff(strtotime("+30 minutes",strtotime($next['create_at'])),time());
|
|
|
+ },'refund_num' => function($resp,$next){
|
|
|
+ return (new SaasOrderItem)->where(['order_sn' => $next['order_sn'],'status' => 2])->count();
|
|
|
}]);
|
|
|
return successTrans("success.data",pageFormat($data),200);
|
|
|
} catch (\Throwable $throwable) {
|
|
|
@@ -77,6 +80,33 @@ class Order extends Base
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ #[PostMapping('save')]
|
|
|
+ public function setOrderData(Request $request): Response
|
|
|
+ {
|
|
|
+ try {
|
|
|
+ $param = $this->_valid([
|
|
|
+ "order.require" => trans("empty.require"),
|
|
|
+ "field.require" => trans("empty.require"),
|
|
|
+ "val.require" => trans("empty.require"),
|
|
|
+ ],$request->method());
|
|
|
+ if (!is_array($param)) return error($param);
|
|
|
+ $order = $this->model->where("out_order_no",$param['order'])->with(['product','poi','user','address'])->findOrEmpty();
|
|
|
+ if ($order->isEmpty()) return errorTrans("empty.data");
|
|
|
+ if ($order['poi_id'] <> $request->user['store_id'] && $request->user['is_super'] == 0) return errorTrans("empty.data");
|
|
|
+ if ($param['field'] == 'status' && $param['val'] == 1) {
|
|
|
+ (new SaasOrderAddress)->where(["openid" => $order['openid'],'order_sn' => $order['out_order_no']])->delete();
|
|
|
+ }
|
|
|
+ $state = $order->save([
|
|
|
+ $param['field'] => $param['val']
|
|
|
+ ]);
|
|
|
+ if (!$state) return errorTrans("error.data");
|
|
|
+ return successTrans("success.data");
|
|
|
+ } catch (\Throwable $throwable) {
|
|
|
+ return error($throwable->getMessage());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 手动核销
|
|
|
* @param Request $request
|