Просмотр исходного кода

Merge branch 'master' into redesign‌-260706

shish 12 часов назад
Родитель
Сommit
34f827dc98

+ 12 - 7
.env.example

@@ -1,11 +1,11 @@
 #环境 local dev test production
 YII_ENV=local
-YII_DEBUG=true
-
-# CLI PHP used by detached Yii console processes
-PHP_CLI_BINARY=/usr/local/bin/php
-
-DB_DSN='mysql:host=118.178.193.23;dbname=huahuibao'
+YII_DEBUG=true
+
+# CLI PHP used by detached Yii console processes
+PHP_CLI_BINARY=/usr/local/bin/php
+
+DB_DSN='mysql:host=118.178.193.23;dbname=huahuibao'
 DB_DSN_CONSOLE='mysql:host=118.178.193.23;dbname=huahuibao'
 DB_DSN_BAK='mysql:host=118.178.193.23;dbname=hhb'
 DB_USERNAME='root'
@@ -54,5 +54,10 @@ GHS_NEW_APK_VERSION_MUST_UPDATE=0
 HD_NEW_APK_VERSION=1.0.0
 HD_NEW_APK_VERSION_MUST_UPDATE=0
 
+#商城首页展示模式 1会员服务说明 0花店列表
+MALL_HOME_MODE=1
+#仍展示花店列表的 userId,逗号分隔
+MALL_HOME_MODE_ALLOW_USER_IDS=''
+
 #订单有效时长
-ORDER_VALID_TIME=30
+ORDER_VALID_TIME=30

+ 2 - 1
app-ghs/controllers/ExpendController.php

@@ -411,6 +411,7 @@ class ExpendController extends BaseController
         if (empty($date)) {
             util::fail('没有日期');
         }
+        util::fail('不能再修改账单日期');
         $expend = ExpendClass::getById($id, true);
         if (empty($expend)) {
             util::fail('没有找到报销');
@@ -424,4 +425,4 @@ class ExpendController extends BaseController
         util::complete('修改成功');
     }
 
-}
+}

+ 1 - 1
app-ghs/controllers/OrderController.php

@@ -2916,7 +2916,7 @@ class OrderController extends BaseController
         if (empty($date)) {
             util::fail('请选择日期');
         }
-
+        util::fail('不能再修改');
         $connection = Yii::$app->db;
         $transaction = $connection->beginTransaction();//开启事务
         try {

+ 15 - 1
app-mall/controllers/HdController.php

@@ -1,5 +1,9 @@
 <?php
 
+/**
+ * 商城端花店接口:列表、详情、删除/恢复,以及首页展示模式。
+ * mallApp 首页 recent 调用;home-mode 用于分阶段开放花店列表。
+ */
 namespace mall\controllers;
 
 use bizHd\recharge\classes\RechargeShbClass;
@@ -13,7 +17,17 @@ use Yii;
 class HdController extends BaseController
 {
 
-    public $guestAccess = ['list', 'info'];
+    public $guestAccess = ['list', 'info', 'home-mode'];
+
+    /**
+     * 首页展示模式:1 会员服务说明,0 花店列表。
+     * 改 .env 的 MALL_HOME_MODE 即可切换,不必重发前端。
+     */
+    public function actionHomeMode()
+    {
+        $homeMode = HdClass::getHomeMode($this->userId);
+        util::success(['homeMode' => $homeMode]);
+    }
 
     public function actionRecover()
     {

+ 26 - 19
app-mall/controllers/ShopController.php

@@ -29,49 +29,56 @@ class ShopController extends BaseController
         $rows = $isProd
             ? [
                 [
-                    'shopId' => 4458,
-                    'name' => '花语鲜花店',
-                    'address' => '北京市朝阳区望京街道广顺北大街33号',
+                    'shopId' => 2,
+                    'name' => '龙岩花掌柜',
+                    'address' => '龙岩市交易城新杰路138号',
                     'businessHours' => '09:00-22:00',
                     'cover' => 'hhb/images/guest/shop1.jpg',
                 ],
                 [
-                    'shopId' => 4458,
-                    'name' => '初见花艺',
-                    'address' => '北京市朝阳区望京SOHO塔1-B座底商',
+                    'shopId' => 501,
+                    'name' => '楼兰花艺',
+                    'address' => '深圳市龙岗区坂田街道岗头社区中围路33号',
+                    'businessHours' => '09:00-22:00',
+                    'cover' => 'shop/wsf_ll.png',
+                ],
+                [
+                    'shopId' => 106502,
+                    'name' => '吉星鲜花',
+                    'address' => '福州市仓山区浦上大道339-30号',
                     'businessHours' => '09:00-22:00',
                     'cover' => 'hhb/images/guest/shop2.jpg',
                 ],
                 [
-                    'shopId' => 4458,
-                    'name' => '拾光花坊',
-                    'address' => '北京市朝阳区利泽西街6号院底商',
+                    'shopId' => 106473,
+                    'name' => '大自然鲜花',
+                    'address' => '漳州市龙海区鸿江路15号',
                     'businessHours' => '09:00-22:00',
                     'cover' => 'hhb/images/guest/shop3.jpg',
                 ],
             ]
             : [
                 [
-                    'shopId' => 36524,
-                    'name' => '花语鲜花店',
-                    'address' => '北京市朝阳区望京街道广顺北大街33号',
+                    'shopId' => 36523,
+                    'name' => '好运鲜花批发',
+                    'address' => '厦门市集美区凤林前山路147号',
                     'businessHours' => '09:00-22:00',
                     'cover' => 'hhb/images/guest/shop1.jpg',
                 ],
                 [
-                    'shopId' => 36524,
-                    'name' => '初见花艺',
-                    'address' => '北京市朝阳区望京SOHO塔1-B座底商',
+                    'shopId' => 37064,
+                    'name' => '楼兰鲜花',
+                    'address' => '福州市仓山区浦上大道339-30号',
                     'businessHours' => '09:00-22:00',
                     'cover' => 'hhb/images/guest/shop2.jpg',
                 ],
                 [
-                    'shopId' => 36524,
-                    'name' => '拾光花坊',
-                    'address' => '北京市朝阳区利泽西街6号院底商',
+                    'shopId' => 36548,
+                    'name' => '花夕花艺',
+                    'address' => '漳州市龙海区鸿江路15号',
                     'businessHours' => '09:00-22:00',
                     'cover' => 'hhb/images/guest/shop3.jpg',
-                ],
+                ]
             ];
 
         $list = [];

+ 8 - 4
biz-ghs/order/classes/PurchaseOrderClass.php

@@ -968,6 +968,10 @@ class PurchaseOrderClass extends BaseClass
         }
     }
 
+    /**
+     * 确认入库:加库存、挂账、改状态为已完成。
+     * 入库时间以本次确认时刻为准(可被 $data['entryTime'] 显式覆盖),避免「稍后入库」仍沿用开单时间。
+     */
     public static function putIn($cg, $data)
     {
         if ($cg->status == self::PURCHASE_ORDER_STATUS_COMPLETE) {
@@ -1218,10 +1222,10 @@ class PurchaseOrderClass extends BaseClass
         self::initDebtPrices($cg, $currentPrice);
         $cg->status = $status;
         $update = ['status' => $status];
-        if (isset($data['entryTime']) && !empty($data['entryTime'])) {
-            $cg->entryTime = $data['entryTime'];
-            $update['entryTime'] = $data['entryTime'];
-        }
+        // 确认入库:默认写入当前时间;仅当调用方显式传入 entryTime 时才按传入值落库
+        $entryTime = (!empty($data['entryTime'])) ? $data['entryTime'] : date('Y-m-d H:i:s');
+        $cg->entryTime = $entryTime;
+        $update['entryTime'] = $entryTime;
         PurchaseOrderItemClass::updateByCondition(['orderSn' => $orderSn], $update);
         $cg->save();
         return $cg;

+ 18 - 3
biz-hd/birthday/classes/BirthdayGiftClass.php

@@ -11,6 +11,7 @@ use bizHd\member\classes\MemberLevelClass;
 use bizHd\message\classes\SmsClass;
 use bizHd\shop\classes\ShopClass;
 use bizHd\shop\classes\ShopExtClass;
+use common\components\dateUtil;
 use common\components\noticeUtil;
 use common\components\printUtil;
 use common\components\ChuanglanSmsApi;
@@ -187,6 +188,15 @@ class BirthdayGiftClass extends BaseClass
         return false;
     }
 
+    /**
+     * 判断客户生日是否落在所选时间范围内。
+     * 兼容看板原 period(today/tomorrow/week/all/custom),以及订单页 DateSelect 的 searchTime。
+     *
+     * @param object $custom 客户
+     * @param string $period 时间类型
+     * @param array $params custom/byMonth 时带 startDate、endDate 或 startTime、endTime
+     * @return bool
+     */
     public static function matchesPeriod($custom, $period, $params = [])
     {
         $period = $period ?: 'week';
@@ -202,10 +212,15 @@ class BirthdayGiftClass extends BaseClass
         if ($period == 'all') {
             return true;
         }
-        if ($period == 'custom') {
-            return self::matchesCustomPeriod($custom, $params['startDate'] ?? '', $params['endDate'] ?? '');
+        $startDate = $params['startDate'] ?? $params['startTime'] ?? '';
+        $endDate = $params['endDate'] ?? $params['endTime'] ?? '';
+        // 昨天/本月/近30天等快捷项先转成日期区间,再按生日月日匹配
+        if ($period != 'custom') {
+            $range = dateUtil::formatTime($period, $startDate, $endDate);
+            $startDate = $range['startTime'];
+            $endDate = $range['endTime'];
         }
-        return false;
+        return self::matchesCustomPeriod($custom, $startDate, $endDate);
     }
 
     public static function matchesCustomPeriod($custom, $startDate, $endDate)

+ 2 - 2
biz-hd/merchant/services/SjService.php

@@ -188,8 +188,8 @@ class SjService extends BaseService
         $isProduction = getenv('YII_ENV') == 'production';
         if ($isProduction) {
             // 生产环境下的模板店,此 mainId/shopId 写死,不考虑配置化
-            $tplMainId = 1;
-            $tplShopId = 1;
+            $tplMainId = 691;
+            $tplShopId = 501;
         } else {
             // 测试环境下的模板店,此 mainId/shopId 写死,不考虑配置化
             $tplMainId = 1107;

+ 29 - 0
biz-mall/hd/classes/HdClass.php

@@ -1,5 +1,9 @@
 <?php
 
+/**
+ * 商城端花店(xhHd)业务:列表组装与首页展示模式。
+ * app-mall HdController 调用;home-mode 给 mallApp 首页决定展示会员服务页还是花店列表。
+ */
 namespace bizMall\hd\classes;
 
 use bizHd\shop\classes\ShopClass;
@@ -11,6 +15,31 @@ class HdClass extends BaseClass
 {
     public static $baseFile = '\bizMall\hd\models\Hd';
 
+    /**
+     * 首页展示模式:1 会员服务说明,0 花店列表。
+     * 读 .env 的 MALL_HOME_MODE;改回 0 即恢复列表,不必重发前端。
+     * 白名单 MALL_HOME_MODE_ALLOW_USER_IDS 内的用户仍看花店列表,方便自测。
+     *
+     * @param int $userId 当前登录用户,0 表示未登录
+     * @return int 1 会员服务页,0 花店列表或白名单
+     */
+    public static function getHomeMode($userId = 0)
+    {
+        $flag = getenv('MALL_HOME_MODE');
+        $on = $flag === false ? 0 : intval($flag);
+        if ($on != 1) {
+            return 0;
+        }
+        if ($userId > 0) {
+            $allowStr = getenv('MALL_HOME_MODE_ALLOW_USER_IDS') ?: '';
+            $allowIds = !empty($allowStr) ? explode(',', $allowStr) : [];
+            if (in_array($userId, $allowIds)) {
+                return 0;
+            }
+        }
+        return 1;
+    }
+
     public static function getHdList($where)
     {
         $data = self::getList('*', $where, 'inTurn DESC,addTime ASC');