Quellcode durchsuchen

Merge branch 'master' of http://git.huxiukeji.com/lizhen/xiaoshan

Panda vor 2 Monaten
Ursprung
Commit
392e785870

+ 18 - 5
addons/shopro/controller/goods/Liveroom.php

@@ -10,7 +10,7 @@ use app\utils\Service\Tencent\TencentIm;
 class Liveroom extends Common
 {
 
-    protected $noNeedLogin = [];
+    protected $noNeedLogin = ['get_room_attr'];
     protected $noNeedRight = ['*'];
 
 
@@ -70,10 +70,19 @@ class Liveroom extends Common
     //直播间商品列表顶部三个统计
     public function liveroom_index_tongji()
     {
+        //鉴权
+        $room_no = input('room_no','','trim');
+        $user = auth_user();
+        $this->check_auth($room_no,$user['id']);
+
+        $session = input('session','','trim');
+
+        $room_log = Db::name('live_room_log')->where('session',$session)->where('room_no',$room_no)->find();
+
         $rs = [
-            'sales_total_price' => 1,
-            'paid_ordernum'     => 2,
-            'uv'                => 3,
+            'sales_total_price' => $room_log['order_total_amount'], //销售额
+            'paid_ordernum'     => $room_log['order_paidnum'],      //支付订单量
+            'uv'                => $room_log['uv'],                 //访客数
         ];
         $this->success('获取成功', $rs);
 
@@ -87,7 +96,7 @@ class Liveroom extends Common
         $this->check_auth($room_no,$user['id']);
 
         //直播间上架商品
-        $goods_list = Db::name('live_room_goods')->field('goods_id,goods_no,is_top')->where('room_no',$room_no)->where('status','up')->order('goods_no asc,id desc')->select();
+        $goods_list = Db::name('live_room_goods')->field('goods_id,goods_no,is_top')->where('room_no',$room_no)->where('status','up')->order('is_top desc,goods_no asc,id desc')->select();
         if(empty($goods_list))
         {
             $this->success(1,null);
@@ -236,7 +245,11 @@ class Liveroom extends Common
             'image' => localpath_to_netpath($goods['image']),
             'price' => $goods['price'],
             'is_sku'=> $goods['is_sku'],
+            'goods_sku_price_id' => 0,
         ];
+        if($goods['is_sku'] != 1){
+            $goods['goods_sku_price_id'] = Db::name('shopro_goods_sku_price')->where('goods_id',$goods['id'])->value('id');
+        }
 
         //其他取消讲解,讲解这个
         $goods_id = input('goods_id',0,'intval');

+ 13 - 2
addons/shopro/job/OrderPaid.php

@@ -35,7 +35,7 @@ class OrderPaid extends BaseJob
                 Db::transaction(function () use ($order, $user, $data) {
                     // 订单减库存
                     $stockSale = new StockSale();
-                    $stockSale->forwardStockSale($order);
+                    $stock_rs = $stockSale->forwardStockSale($order);
 
                     // 处理发票审核改为等待开具
                     if ($order->invoice_status == 1) {
@@ -52,7 +52,18 @@ class OrderPaid extends BaseJob
                     // 将订单参与活动信息改为已支付
                     $orderOper = new OrderOper();
                     $orderOper->activityOrderPaid($order);
-                    
+
+                    //直播间增加销量等数据
+                    if($order['room_log_id'])
+                    {
+                        $room_data = [
+                            'order_paidnum'      => ['inc',1],
+                            'order_total_amount' => ['inc',$order->pay_fee],
+                            'goods_sales'        => ['inc',$stock_rs['goods_num_sum']],
+                        ];
+                        Db::name('live_room_log')->where('id',$order['room_log_id'])->update($room_data);
+                    }
+
                     // 触发订单支付完成事件
                     $data = ['order' => $order, 'user' => $user];
                     \think\Hook::listen('order_paid_after', $data);//orderPaidAfter

+ 6 - 0
addons/shopro/service/StockSale.php

@@ -148,9 +148,13 @@ class StockSale
     public function forwardStockSale($order) {
         $items = OrderItem::where('order_id', $order['id'])->select();
 
+        $result = [
+            'goods_num_sum' => 0,
+        ];
         foreach ($items as $key => $item) {
             // 增加商品销量
             Goods::where('id', $item->goods_id)->setInc('sales', $item->goods_num);
+            $result['goods_num_sum'] += $item->goods_num;
 
             $skuPrice = SkuPrice::where('id', $item->goods_sku_price_id)->find();
             if ($skuPrice) {
@@ -177,6 +181,8 @@ class StockSale
                 $this->stockUnLockItem($order, $item);
             }
         }
+
+        return $result;
     }
 
 

+ 16 - 0
addons/shopro/service/order/OrderCreate.php

@@ -1107,6 +1107,19 @@ class OrderCreate
             $orderData['status'] = Order::STATUS_UNPAID;
             $orderData['platform'] = request()->header('platform');
 
+            //直播间id
+            $orderData['room_id']     = 0;
+            $orderData['room_log_id'] = 0;
+            $room_log_id = request()->param('room_log_id',0);
+            if($room_log_id){
+                $room_id = Db::name('live_room_log')->where('id',$room_log_id)->value('room_id');
+                if($room_id){
+                    $orderData['room_id']     = $room_id;
+                    $orderData['room_log_id'] = $room_log_id;
+                }
+            }
+
+
             $ext = $result['promo_infos'] ? ['promo_infos' => $result['promo_infos']] : [];       // 促销活动信息
             if ($this->activity['activity']) {
                 $rules = $this->activity['activity']['rules'];
@@ -1198,6 +1211,9 @@ class OrderCreate
                 $orderItem->comment_status = 0;
                 $orderItem->refund_status = 0;
 
+                $orderItem->room_id     = $orderData['room_id'];
+                $orderItem->room_log_id = $orderData['room_log_id'];
+
                 $ext = [
                     'original_dispatch_amount' => $buyInfo['original_dispatch_amount'],         // 原始运费总金额(未判断活动的,并且也未合并相同运费模板商品的原始运费)
                     'promo_discount_fee' => bcadd($buyInfo['promo_discount_fee'], $buyInfo['dispatch_discount_fee'], 2),     // 促销优惠,包含满包邮

+ 14 - 0
application/api/controller/Baseconfig.php

@@ -97,7 +97,21 @@ class Baseconfig extends Api
         $this->success('success',$config);
     }
 
+    //给小程序端用的usersig
+    public function tenim_usersig(){
 
+        $chat_id = im_prefix($this->auth->id);
+
+        $im = new TencentIm();
+
+        $rs = [
+            'usersig' => $im->get_usersig($chat_id),
+            'sdkappid' => config('tencent_im.sdkappid'),
+        ];
+
+        $this->success(1,$rs);
+
+    }
 
 
 }

+ 9 - 3
application/api/controller/Demo.php

@@ -3,7 +3,7 @@
 namespace app\api\controller;
 
 use app\common\controller\Api;
-
+use think\Db;
 /**
  * 示例接口
  */
@@ -15,7 +15,7 @@ class Demo extends Api
     //如果接口已经设置无需登录,那也就无需鉴权了
     //
     // 无需登录的接口,*表示全部
-    protected $noNeedLogin = ['test', 'test1'];
+    protected $noNeedLogin = ['*'];
     // 无需鉴权的接口,*表示全部
     protected $noNeedRight = ['test2'];
 
@@ -96,7 +96,13 @@ class Demo extends Api
      */
     public function test3()
     {
-        $this->success('返回成功', ['action' => 'test3']);
+        //$this->success('返回成功', ['action' => 'test3']);
+        $data = [
+            'order_paidnum'      => ['inc',1],
+            'order_total_amount' => ['inc',11.25],
+            'goods_sales'        => ['inc',5],
+        ];
+        Db::name('live_room_log')->where('id',23)->update($data);
     }
 
 }

+ 4 - 0
application/utils/Service/Tencent/TencentIm.php

@@ -682,6 +682,10 @@ class TencentIm extends Module
         return $newMsgList;
     }
 
+    public function get_usersig($user_id){
+        return $this->usersig($user_id);
+    }
+
     private function postJson(string $uri, array $params = [], array $header = [])
     {
         $random  = rand(10000000, 99999999);