shish %!s(int64=4) %!d(string=hai) anos
pai
achega
8adb3419da

+ 5 - 2
app-hd/controllers/WorkController.php

@@ -2,6 +2,7 @@
 
 namespace hd\controllers;
 
+use biz\stat\classes\StatWorkCountClass;
 use bizHd\goods\classes\CategoryClass;
 use bizHd\goods\classes\GoodsClass;
 use bizHd\work\classes\WorkClass;
@@ -73,7 +74,8 @@ class WorkController extends BaseController
                 util::fail('请选择你自己的分类');
             }
             $post['catName'] = $cat->categoryName ?? '';
-            $work = WorkService::createFinish($post);
+            $main = $this->main;
+            $work = WorkClass::createFinish($post, $main);
             $transaction->commit();
             util::success($work);
         } catch (\Exception $e) {
@@ -99,7 +101,8 @@ class WorkController extends BaseController
                 util::fail('没有找到商品');
             }
             $post['goods'] = $goods;
-            $work = WorkClass::goodsCreateFinish($post);
+            $main = $this->main;
+            $work = WorkClass::goodsCreateFinish($post, $main);
             $transaction->commit();
             util::success(['work' => $work]);
         } catch (\Exception $e) {

+ 5 - 1
biz-hd/goods/classes/GoodsClass.php

@@ -503,7 +503,11 @@ class GoodsClass extends BaseClass
                 'orderSn' => $orderSn,
                 'orderId' => $orderId,
             ];
-            WorkClass::goodsCreateFinish($params);
+            $main = MainClass::getById($mainId, true);
+            if (empty($main)) {
+                util::fail('没有main信息');
+            }
+            WorkClass::goodsCreateFinish($params, $main);
         }
         $data['stock'] = $newStock;
         self::updateById($goodsId, $data);

+ 5 - 3
biz-hd/work/classes/WorkClass.php

@@ -2,6 +2,7 @@
 
 namespace bizHd\work\classes;
 
+use biz\stat\classes\StatWorkCountClass;
 use bizHd\goods\classes\CategoryClass;
 use bizHd\goods\classes\GoodsCategoryClass;
 use bizHd\goods\classes\GoodsClass;
@@ -21,7 +22,7 @@ class WorkClass extends BaseClass
     const STATUS_COMPLETE = 1;
     const STATUS_CANCEL = 2;
 
-    public static function goodsCreateFinish($data)
+    public static function goodsCreateFinish($data, $main)
     {
         $goods = $data['goods'] ?? '';
         $remark = $data['remark'] ?? '';
@@ -79,13 +80,14 @@ class WorkClass extends BaseClass
                 'orderSn' => $orderSn,
                 'orderId' => $orderId,
             ];
-            return self::createFinish($current);
+            return self::createFinish($current, $main);
         }
     }
 
-    public static function createFinish($data)
+    public static function createFinish($data, $main)
     {
         $data['flowerNum'] = isset($data['flowerNum']) && is_numeric($data['flowerNum']) ? $data['flowerNum'] : 0;
+        $data['sn'] = date("j") . StatWorkCountClass::addOrder($main);
         $work = WorkClass::add($data, true);
         $product = $data['product'] ?? [];
         if (!empty($product)) {

+ 36 - 0
biz/stat/classes/StatWorkCountClass.php

@@ -0,0 +1,36 @@
+<?php
+
+namespace biz\stat\classes;
+
+use biz\stat\models\StatWorkCount;
+use bizHd\base\classes\BaseClass;
+
+class StatWorkCountClass extends BaseClass
+{
+
+    public static $baseFile = '\biz\stat\models\StatWorkCount';
+
+    //每天订单
+    public static function addOrder($main)
+    {
+        $time = date('Ymd');
+        $mainId = $main->id ?? 0;
+        $where = [
+            'mainId' => $mainId,
+            'time' => $time,
+        ];
+        $model = self::getByCondition($where, true);
+        if (empty($model)) {
+            $model = self::add(['mainId' => $mainId, 'time' => $time, 'riseNum' => 0, 'totalNum' => $main->totalOrder], true);
+        }
+        $id = $model->id;
+
+        //查id行级锁
+        $stat = StatWorkCount::findBySql('select * from ' . StatWorkCount::tableName() . ' where id = :id for update', ['id' => $id])->one();
+        $stat->riseNum += 1;
+        $stat->totalNum += 1;
+        $stat->save();
+        return $stat->riseNum;
+    }
+
+}

+ 13 - 0
biz/stat/models/StatWorkCount.php

@@ -0,0 +1,13 @@
+<?php
+
+namespace biz\stat\models;
+
+use biz\base\models\Base;
+
+class StatWorkCount extends Base
+{
+    public static function tableName()
+    {
+        return 'xhStatWorkCount';
+    }
+}