Przeglądaj źródła

Merge branch 'shizhongqi-avatar' of http://git.huaml.com/zhh/huahuibao into shizhongqi-avatar

shish 1 rok temu
rodzic
commit
f2230aa76b

+ 3 - 1
README.md

@@ -59,4 +59,6 @@ REDIS_HOST=127.0.0.1
 REDIS_PASSWORD=null # 密码为空,请写上 null
 REDIS_PORT=6379
 REDIS_DB=0
-```
+```
+
+#### 测试 gogs webhook -- 9

+ 0 - 1
app-ghs/controllers/MainController.php

@@ -224,7 +224,6 @@ class MainController extends BaseController
     //我的 ssh 2021.1.30
     public function actionMy()
     {
-
         $lookMoney = ShopAdminClass::lookMoneyPower($this->shopAdmin, $this->shop);
 
         $shop = $this->shop ?? null;

+ 7 - 0
app-ghs/controllers/OrderController.php

@@ -538,6 +538,9 @@ class OrderController extends BaseController
         if ($order->status == OrderClass::ORDER_STATUS_COMPLETE) {
             util::complete('订单已付款');
         }
+        if ($order->status == OrderClass::ORDER_STATUS_CANCEL) {
+            util::complete('订单已取消');
+        }
         if ($order->status != OrderClass::ORDER_STATUS_UN_PAY) {
             util::complete('订单不是待付款状态');
         }
@@ -661,6 +664,10 @@ class OrderController extends BaseController
             $msg = '没有找到订单';
             util::success(['returnStatus' => 'FAILURE'], $msg);
         }
+        if ($order->status == 5) {
+            $msg = '订单已取消';
+            util::success(['returnStatus' => 'FAILURE'], $msg);
+        }
         if ($order->status != 1) {
             $msg = '不是待付款订单';
             util::success(['returnStatus' => 'FAILURE'], $msg);

+ 30 - 0
app-ghs/controllers/ShopController.php

@@ -175,6 +175,36 @@ class ShopController extends BaseController
         util::complete();
     }
 
+    // 更新门店头像
+    public function actionUpdateAvatar()
+    {
+        $post = Yii::$app->request->post();
+        $shopId = $post['shopId'];
+        if ($post['shopId'] != $this->shopId or $this->mainId == 0) {
+            util::fail('不是您的门店');
+        }
+        $avatar = $post['avatar'];
+        if ($avatar == '') {
+            util::fail('头像地址不能为空');
+        }
+
+        $shop = ShopClass::getById($shopId, true);
+        $shop->avatar = $avatar;
+        $shop->save();
+
+        $ptStyle = $shop['ptStyle'] ?? dict::getDict('ptStyle', 'hd');
+        $update = ['avatar'=>$avatar];
+        $where = ['mainId' => $this->mainId];
+        if ($ptStyle == dict::getDict('ptStyle', 'ghs')) {
+            GhsClass::updateByCondition($where, $update);
+        } else {
+            util::fail('门店头像更新失败,平台类型错误');
+        }
+
+        $shopImg = Yii::$app->params['ghsImgHost'] . $shop->avatar . "?x-oss-process=image/resize,m_fill,h_700,w_700";
+        util::success(['shopImg' => $shopImg], '门店头像更新成功');
+    }
+
     //添加门店 ssh 2021.1.14
     public function actionAdd()
     {

+ 9 - 19
app-ghs/controllers/TestController.php

@@ -74,25 +74,15 @@ class TestController extends BaseController
 
     public function actionOn()
     {
-        echo "<pre>";
-        $cacheKey = 'test';
-        Yii::$app->redis->executeCommand('HSET', [$cacheKey, 'shish', 1]);
-        echo Yii::$app->redis->executeCommand('HGET', [$cacheKey, 'shish']);
-
-        $return = Yii::$app->redis->executeCommand('HEXISTS', [$cacheKey, 'shish']);
-        var_dump($return);
-
-        Yii::$app->redis->executeCommand('HSET', [$cacheKey, 'sofashi', 2]);
-
-        Yii::$app->redis->executeCommand('HSET', [$cacheKey, 'lgl', 3]);
-
-        $arr = Yii::$app->redis->executeCommand('HKEYS', [$cacheKey]);
-        print_r($arr);
-
-        Yii::$app->redis->executeCommand('HDEL', [$cacheKey, 'lgl']);
-
-        $arr = Yii::$app->redis->executeCommand('HKEYS', [$cacheKey]);
-        print_r($arr);
+        Yii::$app->params['errorReport'] = 1;
+        Yii::info('111111111111111222222222222');
+        try {
+            util::fail('oooooo');
+        } catch (\Exception $exception) {
+            $errMsg = $exception->getMessage();
+            noticeUtil::push('注意:' . $errMsg, '15280215347');
+            echo "异常内容:".$errMsg;
+        }
     }
 
     public function actionIn()

BIN
app-ghs/web/image/custom/cg_share.jpg


BIN
app-ghs/web/image/custom/cg_share_seat.jpg


BIN
app-ghs/web/image/custom/cg_share_seat_sn.jpg


BIN
app-ghs/web/image/custom/hit_me_clear.jpg


BIN
app-ghs/web/image/custom/hit_me_pay_clear.jpg


BIN
app-ghs/web/image/custom/order_share.jpg


+ 12 - 0
app-hd/controllers/OrderController.php

@@ -241,6 +241,9 @@ class OrderController extends BaseController
         if ($order->status == OrderClass::ORDER_STATUS_COMPLETE) {
             util::success(['returnStatus' => 'SUCCESS']);
         }
+        if ($order->status == OrderClass::ORDER_STATUS_CANCEL) {
+            util::complete('订单已取消');
+        }
         if ($order->status != OrderClass::ORDER_STATUS_UN_PAY) {
             util::complete('订单不是待付款状态');
         }
@@ -317,6 +320,15 @@ class OrderController extends BaseController
         $order = OrderClass::getById($id, true);
         OrderClass::valid($order, $this->mainId);
 
+        if ($order->status == OrderClass::ORDER_STATUS_CANCEL) {
+            $msg = '订单已取消';
+            util::success(['returnStatus' => 'FAILURE'], $msg);
+        }
+        if ($order->status != OrderClass::ORDER_STATUS_UN_PAY) {
+            $msg = '订单不是待付款状态';
+            util::success(['returnStatus' => 'FAILURE'], $msg);
+        }
+
         $shop = $this->shop;
         $sj = $shop->merchantName;
         $shopName = $shop->shopName;

+ 32 - 3
app-hd/controllers/TestController.php

@@ -2,11 +2,40 @@
 
 namespace hd\controllers;
 
-use bizHd\wx\services\WxOpenService;
-use common\components\miniUtil;
+use bizHd\order\classes\OrderClass;
+use common\components\util;
 use Yii;
 
 class TestController extends BaseController
 {
-
+    public function actionTestPayAfter()
+    {
+//        $get = Yii::$app->request->get();
+//        $id = $get['order_id'];
+//        $order = OrderClass::getById($id, true);
+//        if (empty($order)) {
+//            util::fail('没有找到订单');
+//        }
+//        if ($order->mainId != $this->mainId) {
+//            util::fail('不是你的订单');
+//        }
+//
+//        $payWay = 1; // balancePay
+//        $connection = Yii::$app->db;
+//        $transaction = $connection->beginTransaction();
+//        try {
+//            $actPrice = $order->actPrice;
+//            $order->debtPrice = $actPrice;
+//            $order->remainDebtPrice = $actPrice;
+//            $order->debt = 1;
+//            $order->save();
+//            OrderClass::payAfter($order, $payWay);
+//            $transaction->commit();
+//            util::complete('付款成功');
+//        } catch (\Exception $exception) {
+//            $transaction->rollBack();
+//            Yii::info("付款失败原因:" . $exception->getMessage());
+//            util::fail('操作失败');
+//        }
+    }
 }

BIN
app-hd/web/image/custom/cg_share.jpg


BIN
app-hd/web/image/custom/cg_share_seat.jpg


BIN
app-hd/web/image/custom/cg_share_seat_sn.jpg


BIN
app-hd/web/image/custom/hit_me_clear.jpg


BIN
app-hd/web/image/custom/hit_me_pay_clear.jpg


BIN
app-hd/web/image/custom/order_share.jpg


+ 65 - 6
biz-hd/order/classes/OrderClass.php

@@ -20,6 +20,7 @@ use bizGhs\stock\classes\StockRecordClass;
 use bizGhs\ws\services\WsService;
 use bizHd\custom\classes\CustomClass;
 use bizHd\merchant\classes\SjClass;
+use bizHd\order\classes\OrderItemClass;
 use bizHd\refund\classes\HdRefundClass;
 use bizHd\shop\classes\MainClass;
 use bizHd\shop\classes\ShopMoneyChangeClass;
@@ -247,7 +248,6 @@ class OrderClass extends BaseClass
         $order->save();
 
         self::payAfter($order, $payWay);
-
     }
 
     //订单完成 ssh 2021.4.20
@@ -261,16 +261,28 @@ class OrderClass extends BaseClass
         }
         $orderSn = $order->orderSn ?? '';
         if ($order->status == self::ORDER_STATUS_CANCEL) {
-            noticeUtil::push('注意,散客订单:' . $orderSn . ',付款成功但订单已取消,关键词 cancel_get_money', '15280215347');
             $shopId = $order->shopId;
             $shop = ShopClass::getById($shopId, true);
-            if (!empty($shop)) {
-                HdRefundClass::onlyRefundAmount($shop, $order);
+            if (empty($shop)) {
+                noticeUtil::push('注意,零售订单:' . $orderSn . ',付款成功但订单已取消,没有找到门店,关键词 cancel_get_money', '15280215347');
+                util::stop("SUCCESS");
+            }
+            Yii::$app->params['errorReport'] = 1;
+            try {
+                //恢复取消的订单
+                self::recoverOrderToPay($order);
+                noticeUtil::push('注意,零售订单:' . $orderSn . ',付款成功,取消的订单,已恢复 SUCCESS', '15280215347');
+            } catch (\Exception $exception) {
+                $ret = HdRefundClass::onlyRefundAmount($shop, $order);
+                if ($ret['status'] == 0) {
+                    $errMsg = $exception->getMessage();
+                    noticeUtil::push('注意,零售订单:' . $orderSn . ',付款成功但订单取消。订单没有恢复成功,原因' . $errMsg . ',也没有退款成功。请手动处理。关键词 cancel_get_money', '15280215347');
+                }
+                util::stop("SUCCESS");
             }
-            util::stop("SUCCESS");
         }
         if ($order->payStatus == 1) {
-            noticeUtil::push('注意散客订单:' . $orderSn . ',已经付过款了,无需重复请求和操作', '15280215347');
+            noticeUtil::push('注意,零售订单:' . $orderSn . ',已经付过款了,无需重复请求和操作', '15280215347');
             util::fail('订单已经付过款了');
         }
 
@@ -531,6 +543,53 @@ class OrderClass extends BaseClass
         }
     }
 
+    // 恢复订单 -- 即:把订单的状态从取消状态变成待付款状态
+    public static function recoverOrderToPay($order)
+    {
+        $now = time();
+        $order->status = 1;
+        $order->deadline = $now + 86400;
+        $order->save();
+
+        // 重新占用库存(与取消订单时的库存回滚相反)
+        $itemList = OrderItemClass::getAllByCondition(['orderSn' => $order->orderSn], null, '*', null, true);
+
+        if (!empty($itemList)) {
+            foreach ($itemList as $item) {
+                $ptItemId = $item->ptItemId ?? 0;
+                $sjId = $item->sjId ?? 0;
+                $shopId = $item->shopId ?? 0;
+                $mainId = $item->mainId ?? 0;
+                $ratio = $item->ratio ?? 20;
+                $unitType = $item->unitType ?? 0;
+                if ($unitType == 0) {
+                    $bigNum = $item->num;
+                    $smallNum = 0;
+                } else {
+                    $bigNum = 0;
+                    $smallNum = $item->num;
+                }
+                $itemId = $item->itemId ?? 0;
+
+                // 重新扣减库存(占用库存)
+                $stockInfo = ProductClass::decreaseStock($itemId, $bigNum, $smallNum, true);
+                $recordData = [];
+                $recordData['sjId'] = $sjId;
+                $recordData['shopId'] = $shopId;
+                $recordData['mainId'] = $mainId;
+                $recordData['itemId'] = $ptItemId;
+                $recordData['itemNum'] = ProductClass::mergeItemNum($bigNum, $smallNum, $ratio);
+                $recordData['oldStock'] = $stockInfo['oldStock'];
+                $recordData['newStock'] = $stockInfo['newStock'];
+                $recordData['productId'] = $itemId;
+                $recordData['orderSn'] = $order->orderSn;
+                $recordData['relateName'] = $order->customName ?? '';
+                StockRecordClass::hdKdAddRecord($recordData);
+            }
+        }
+        return true;
+    }
+
     // 扣库存
     protected static function decGoodsStock($orderGoods)
     {

+ 1 - 1
common/components/book.php

@@ -91,7 +91,7 @@ class book
         'chargeStandard' => [
             ['style' => 'info', 'value' => '软件年费1580元/每年(注意是每年),客户通过小程序下单,会扣千分之3.3手续费(即1千元扣3.3元)。',],
             ['style' => 'info', 'value' => '根据你自身门店情况,选择以下套餐。下面列出的套餐,已经过全国100多家鲜花批发店磨合使用,非常成熟好用,请放心购买使用,以下套餐已含第一年年费。',],
-            ['style' => 'smallTitle', 'value' => '注意,不管是年费、费率和套餐,都已经给到大家最低价,没有谈的空间。如果还要再谈,不需要再找我们浪费时间,请理解。',],
+            ['style' => 'smallTitle', 'value' => '注意,软件的研发成本巨大,不管是年费、费率和套餐,都已经给到大家最低价,没有谈的空间。如果还要再谈,不需要再找我们浪费时间,请理解。',],
             ['style' => 'info', 'value' => '首次开通系统,另外赠送30天有效期,保证有足够时间试运营。',],
             ['style' => 'info', 'value' => '-------------------------------------------',],
             ['style' => 'smallTitle', 'value' => '仓库版',],

+ 1 - 3
common/components/util.php

@@ -277,11 +277,10 @@ class util
         Yii::info($msg);
 
         $report = isset(Yii::$app->params['errorReport']) ? Yii::$app->params['errorReport'] : 0;
+
         if ($report == 1) {
             throw new \Exception($msg);
-            return fale;
         }
-
         self::encode(['code' => 0, 'msg' => $msg, 'data' => []]);
     }
 
@@ -290,7 +289,6 @@ class util
         $report = isset(Yii::$app->params['errorReport']) ? Yii::$app->params['errorReport'] : 0;
         if ($report == 1) {
             throw new \Exception($msg);
-            return fale;
         }
         self::encode(['code' => 0, 'msg' => $msg, 'data' => [], 'mask' => $mask, 'icon' => $icon, 'duration' => $duration]);
     }