zory 4 nedēļas atpakaļ
vecāks
revīzija
487807c79b

+ 2 - 1
app/controller/api/Solution.php

@@ -140,7 +140,8 @@ class Solution extends Base
                             ],
                             "out_order_no"  => $orderSn,
                             "pay_expire_seconds"    => 1800,
-                            "pay_notify_url"        => "https://tran.jsshuita.cn/notify/douyin"
+                            "pay_notify_url"        => "https://tran.jsshuita.cn/notify/douyin",
+                            "cp_delivery_type"  => 1
                         ]]);
                         break;
                     default:

+ 2 - 3
app/controller/v2/Home.php

@@ -36,8 +36,7 @@ class Home extends Base
             if (!$store->isEmpty()) {
                 $store['poi_logo'] = empty($store['poi_logo']) ? sConf("service.logo") : $store['poi_logo'];
             }
-            $goods = (new SaasGoods)->where("poi_id",$param['store'])->where("status",1)->field("product_id,product_name,image_list,category,price,line_price,sale_stock,id")->limit(10)->order('id','desc')->select()->toArray();
-            return success("ok",compact('store','goods'));
+            return success("ok",compact('store'));
         } catch (\Throwable $th) {
             return error($th->getMessage());
         }
@@ -53,7 +52,7 @@ class Home extends Base
                 "size.default" => 10
             ],$request->method());
             if (!is_array($param)) return error($param);
-            $goods = (new SaasGoods)->where("poi_id",$param['store'])->where("status",1)->field("product_id,product_name,image_list,category,price,line_price,sale_stock,id,goods_id")->limit(10)->order('id','desc')->paginate([
+            $goods = (new SaasGoods)->where("poi_id",$param['store'])->where("status",1)->field("product_id,product_name,image_list,category,price,line_price,sale_stock,id,goods_id,is_new")->limit(10)->order('id','desc')->paginate([
                 "list_rows" => $param['size'],
                 "page"      => $param['page']
             ]);

+ 43 - 2
app/controller/v2/Order.php

@@ -4,6 +4,7 @@ namespace app\controller\v2;
 
 use app\extra\basic\Base;
 use app\middleware\AuthMiddleware;
+use app\model\saas\SaasComplaint;
 use app\model\saas\SaasOrder;
 use app\model\saas\SaasOrderItem;
 use app\model\saas\SaasUserOpen;
@@ -12,6 +13,7 @@ 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;
 
@@ -39,7 +41,7 @@ class Order extends Base
             }
             $param['openid'] = $request->user['openid'];
             $data = $this->service->setModel()->getList($param,['product' => function($query){
-                $query->field("product_id,product_name,price");
+                $query->field("product_id,product_name,price,is_new,line_price");
             },'poi' => function($query){
                 $query->field("poi_id,poi_name");
             }]);
@@ -82,7 +84,11 @@ class Order extends Base
                 "option.default"    => ""
             ],$request->method());
             if (!is_array($param)) return error($param);
-            $order = $this->model->where("out_order_no",$param['order'])->with(['product','poi'])->append(['refund_num'])->withAttr(['refund_num' => function($data,$next){
+            $order = $this->model->where("out_order_no",$param['order'])->with(['product' => function($query){
+                $query->field("product_id,product_name,price,is_new,line_price");
+            },'poi' => function($query){
+                $query->field("poi_id,poi_name,poi_address,poi_logo,longitude,latitude,poi_city,service_mobile,start_at,end_at");
+            }])->append(['refund_num'])->withAttr(['refund_num' => function($data,$next){
                 return (new SaasOrderItem)->where(['order_sn' => $next['order_sn'],'status' => 2])->count();
             }])->findOrEmpty();
             if ($order->isEmpty()) return errorTrans("empty.data");
@@ -101,4 +107,39 @@ class Order extends Base
         }
     }
 
+
+    /**
+     * 订单投诉
+     * @param Request $request
+     * @return Response
+     */
+    #[PostMapping("complaint")]
+    public function setOrderComplaint(Request $request): Response
+    {
+        try {
+            $param = $this->_valid([
+                "content.require"   => trans("empty.require"),
+                "mobile.default"    => "",
+                "order.require"     => trans("empty.require"),
+                "text.require"      => trans("empty.require"),
+            ],$request->method());
+            if (!is_array($param)) return error($param);
+            $order = (new SaasOrder)->where("out_order_no",$param['order'])->findOrEmpty();
+            if ($order->isEmpty()) return error("该笔交易不存在");
+            if ($order['openid'] <> $request->user['openid']) return error("非法操作");
+            $state = (new SaasComplaint)->insertGetId([
+                "openid"    => $request->user['openid'],
+                "poi_id"    => $order['poi_id'],
+                "content"   => $param['content'],
+                "question"  => $param['text'],
+                "order_sn"  => $param['order'],
+                "mobile"    => $param['mobile']??$order['mobile'],
+            ]);
+            if (!$state) return error("提交失败");
+            return success("提交成功,请耐心等待");
+        } catch (\Throwable $throwable) {
+            return error($throwable->getMessage());
+        }
+    }
+
 }

+ 0 - 3
app/extra/dyLife/BasicLife.php

@@ -87,9 +87,7 @@ class BasicLife
      */
     public function curlPostApi(string $url = "", array $data = [], string $field = "data"): array
     {
-        print_r($this->header);
         $result = Http::asJson()->withHeaders($this->header)->post($this->gateway.$url,$data)->array();
-        print_r($result);
         if (isset($result['err_no']) && $result['err_no'] <> 0) return ['msg' => $result['err_msg']];
         if(!empty($result[$field]))
         {
@@ -106,7 +104,6 @@ class BasicLife
      */
     public function curlGetApi(string $url = "", array $data = [], string $field = "data"): array
     {
-        print_r($this->header);
         $result = Http::asJson()->withProxy("")->withHeaders($this->header)->get($this->gateway.$url,$data)->array();
         if(!empty($result[$field]))
         {