zory hace 1 semana
padre
commit
c83db0a011
Se han modificado 1 ficheros con 66 adiciones y 1 borrados
  1. 66 1
      app/controller/merchant/Order.php

+ 66 - 1
app/controller/merchant/Order.php

@@ -3,6 +3,7 @@
 namespace app\controller\merchant;
 
 use app\extra\basic\Base;
+use app\extra\douyin\Order as DouyinOrder;
 use app\extra\service\saas\OrderLogService;
 use app\extra\service\saas\OrderService;
 use app\middleware\AuthMiddleware;
@@ -87,9 +88,73 @@ class Order extends Base
     }
 
 
-    public function setOrderAgree()
+    /**
+     * 同意解锁申请
+     * @param Request $request
+     * @return Response
+     */
+    #[Route(path: "agree",methods: "post")]
+    public function setOrderAgree(Request $request): Response
     {
+        try {
+            $param = $this->_valid([
+                "order.require" => trans("empty.require")
+            ],"post");
+            if (!is_array($param)) return error($param);
+            $order = $this->mode->where("order_sn",$param['order'])->with(['goods' => function($query){
+                $query->field("out_id,product_name,product_img,product_price");
+            },'poi' => function ($query) {
+                $query->field("poi_id,poi_name,poi_address");
+            }])->findOrEmpty();
+            if ($order->isEmpty()) return error("订单数据异常");
+            $resp = (new DouyinOrder)->config($this->getDyConfig())->token()->orderLock(1,$order['order_id'],$order['certificate_id'],$order['lock_key']);
+            if ($resp['err_no'] <> 0) return error($resp['err_msg']);
+            $order->status = 3;
+            $order->express_status = 3;
+            $order->refund_at = getDateFull();
+            $state = $order->save();
+            (new SaasOrderLog)->insertGetId([
+                'order_id'  => $param['order'],
+                "title"     => "同意解锁申请",
+                "remark"    => "管理员手动同意解锁申请,用户可以申请退款"
+            ]);
+            if (!$state) return errorTrans("error.data");
+            return successTrans("success.data");
+        } catch (\Throwable $throwable) {
+            return error($throwable->getMessage());
+        }
+    }
+
 
+    /**
+     * 拒绝解锁申请
+     * @param Request $request
+     * @return Response
+     */
+    #[Route(path: "refuse",methods: "post")]
+    public function setOrderRefuse(Request $request): Response
+    {
+        try {
+            $param = $this->_valid([
+                "order.require" => trans("empty.require")
+            ],"post");
+            if (!is_array($param)) return error($param);
+            $order = $this->mode->where("order_sn",$param['order'])->findOrEmpty();
+            if ($order->isEmpty()) return error("订单数据异常");
+            $order->status = 3;
+            $order->express_status = 1;
+            $order->refund_at = getDateFull();
+            $state = $order->save();
+            (new SaasOrderLog)->insertGetId([
+                'order_id'  => $param['order'],
+                "title"     => "拒绝解锁申请",
+                "remark"    => "管理员手动拒绝解锁申请,用户还不能申请退款"
+            ]);
+            if (!$state) return errorTrans("error.data");
+            return successTrans("success.data");
+        } catch (\Throwable $throwable) {
+            return error($throwable->getMessage());
+        }
     }
 
 }