|
@@ -3,6 +3,7 @@
|
|
|
namespace app\controller\merchant;
|
|
namespace app\controller\merchant;
|
|
|
|
|
|
|
|
use app\extra\basic\Base;
|
|
use app\extra\basic\Base;
|
|
|
|
|
+use app\extra\douyin\Order as DouyinOrder;
|
|
|
use app\extra\service\saas\OrderLogService;
|
|
use app\extra\service\saas\OrderLogService;
|
|
|
use app\extra\service\saas\OrderService;
|
|
use app\extra\service\saas\OrderService;
|
|
|
use app\middleware\AuthMiddleware;
|
|
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());
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
}
|
|
}
|