فهرست منبع

支付参数改JSON

gorden 8 ماه پیش
والد
کامیت
59defda5c8

+ 65 - 8
app/admin/controller/finance/WriteOffController.php

@@ -32,13 +32,6 @@ class WriteOffController
             return json_fail('暂无数据');
         }
 
-//        $rows = Db::table("data_used_{$month} as du")
-//            ->leftJoin('goods as g','g.goods_id','=',"JSON_EXTRACT(du.join_data_used_object_json,'$.goods_id')")
-//            ->leftJoin('goods_sku as gs','gs.goods_sku_id','=',"JSON_EXTRACT(du.join_data_used_object_json,'$.goods_sku_id')")
-//            ->leftJoin('sys_user as wu','wu.user_id','=','du.join_data_used_user_id')
-//            ->leftJoin('sys_user as su','su.user_id' ,'=', "JSON_EXTRACT(du.join_data_used_object_json,'$.salesman_id')")
-//            ->orderBy('data_used_addtimes','DESC')
-//            ->get();
         $totalSql = "
             select count(*) as total from app_data_used_{$month}";
         $total = Db::select($totalSql);
@@ -76,9 +69,12 @@ class WriteOffController
 
                 $row->sku_title = rtrim($skuTitle,',');
             }
+            $categoryClassify = 'SERVICE';
             $row->category = '';
             if(!empty($row->join_goods_category_id)){
-                $row->category = SysCategory::where('category_id',$row->join_goods_category_id)->value('category_name') ?? '';
+                $category = SysCategory::where('category_id',$row->join_goods_category_id)->select('category_name','category_classify')->first();
+                $row->category = $category->category_name ?? '';
+                $categoryClassify = $category->category_classify ?? 'SERVICE';
             }
             $row->write_off_premises = trim($row->write_off_premises,"\"");
         }
@@ -89,7 +85,68 @@ class WriteOffController
             'total' => $total[0]->total,
             'rows' => $rows
         ]);
+    }
+
+    public function statistics(Request $request)
+    {
+        $days = $request->get('days', ['2024-06-01','2024-06-30']);
+        if (!empty($days)) {
+            $days[0] = strtotime($days[0]);
+            $days[1] = strtotime($days[1]);
+            if (date('m', $days[0]) != date('m', $days[1])) {
+                return json_fail('暂不支持跨月查询');
+            }
 
+            $month = date('Ym', $days[0]);
+            $days[1] = strtotime(date('Y-m-d', $days[1]) . " 23:59:59");
+        } else {
+            $month = date('Ym');
+        }
+
+        if(!Util::schema()->hasTable("data_used_{$month}")){
+            return json_fail('暂无数据');
+        }
+
+        $totalSql = "
+            select count(*) as total from app_data_used_{$month}";
+        $total = Db::select($totalSql);
+        $sql = "select 
+                COUNT(*) as count,g.join_goods_category_id 
+            from app_data_used_{$month} as du 
+                left join app_goods as g on JSON_EXTRACT(du.join_data_used_object_json,'$.goods_id') = g.goods_id 
+            ";
+        $rows = Db::select($sql);
+        dump($rows);
+
+        foreach ($rows as &$row){
+            $row->salesman_premises = '';
+            if (!empty($row->premises_id) && $row->premises_id != 0){
+                $premises = SysDept::where('dept_id',$row->premises_id)
+                    ->select('dept_id','dept_name')
+                    ->first();
+                $row->salesman_premises = !empty($premises) ? $premises->dept_name : '';
+            }
+            if(!empty($row->goods_sku_specs_json)){
+                $specsJson = json_decode($row->goods_sku_specs_json,true);
+                $skuTitle = '';
+                foreach($specsJson as $key => $item){
+                    if(is_array($item)){
+                        $item = implode('',$item);
+                    }
+                    $skuTitle .= $key.':'.$item.',';
+                }
+
+                $row->sku_title = rtrim($skuTitle,',');
+            }
+            $categoryClassify = 'SERVICE';
+            $row->category = '';
+            if(!empty($row->join_goods_category_id)){
+                $category = SysCategory::where('category_id',$row->join_goods_category_id)->select('category_name','category_classify')->first();
+                $row->category = $category->category_name ?? '';
+                $categoryClassify = $category->category_classify ?? 'SERVICE';
+            }
+            $row->write_off_premises = trim($row->write_off_premises,"\"");
+        }
     }
 
     public function records()

+ 3 - 2
app/api/controller/pay/AlipayController.php

@@ -11,10 +11,11 @@ class AlipayController
 {
     public function index(Request $request)
     {
-        $orderId = $request->post('order_id','');
-        if (!$orderId){
+        $params = $request->all();
+        if (!isset($params['order_id'])){
             return json_fail('参数异常');
         }
+        $orderId = $params['order_id'];
         $order = Order::where('order_id',$orderId)->where('order_status_payment','PENDING')->first();
         if (!$order){
             return json_fail('订单异常');

+ 3 - 8
app/api/controller/pay/WxpayController.php

@@ -11,10 +11,11 @@ class WxpayController
 
     public function index(Request $request)
     {
-        $orderId = $request->post('order_id', '');
-        if (!$orderId) {
+        $params = $request->all();
+        if (!isset($params['order_id'])){
             return json_fail('参数异常');
         }
+        $orderId = $params['order_id'];
         $order = Order::where('order_id', $orderId)->where('order_status_payment', 'PENDING')->first();
         if (!$order) {
             return json_fail('订单异常');
@@ -28,12 +29,6 @@ class WxpayController
         $alipay = Pay::wechat($this->getConfig())->app($payData)->getContent();
 
         return json_success('',json_decode($alipay,true));
-
-        // $pay->appId
-        // $pay->timeStamp
-        // $pay->nonceStr
-        // $pay->package
-        // $pay->signType
     }
 
     public function notify()