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

清理 TODO,并补全代码或修改

shizhongqi 7 месяцев назад
Родитель
Сommit
dd1938127a

+ 2 - 5
app-ghs/controllers/DeliveryController.php

@@ -1,6 +1,7 @@
 <?php
 namespace ghs\controllers;
 
+use Yii;
 use biz\shop\classes\ShopClass;
 use bizGhs\express\classes\GhsDeliveryOrderClass;
 use bizGhs\express\classes\DeliveryAuthTokenClass;
@@ -12,7 +13,6 @@ use common\components\delivery\services\DispatchService;
 use ghs\models\delivery\CancelOrderForm;
 use ghs\models\delivery\CreateOrderForm;
 use ghs\models\delivery\OrderDetailForm;
-use Yii;
 use yii\web\Response;
 use yii\helpers\ArrayHelper;
 
@@ -233,7 +233,7 @@ class DeliveryController extends BaseController
         $post = $form->getAttributes();
         $orderId = $post['orderId']; // xhGhsOrder.id
         $params = $post['allParams'];
-        $platform = $params['en_name'];// $post['platform'] 是中文
+        $platform = $params['en_name'];// 平台英文名,$post['platform'] 是中文
         $pickupTime = $post['pickupTime'];
 
         $params['mainId'] = $this->mainId;
@@ -244,9 +244,6 @@ class DeliveryController extends BaseController
         $shopId = $this->shopId;
 
         $ghsOrder = OrderClass::getById($orderId, true);
-        // if ($ghsOrder['status'] != 2) {
-        //     util::fail('订单状态不是待配送');
-        // // }
          if(!in_array($ghsOrder['sendStatus'], [-4, -1])) {
              Yii::error('订单已经发过跑腿');
              util::fail('订单已经发过跑腿');

+ 3 - 3
app-ghs/controllers/IntraCityController.php

@@ -659,7 +659,7 @@ class IntraCityController extends BaseController
 
             $orderId = $post['orderId'] ?? 0;
 
-            $order = OrderClass::getById($orderId, true);//todo 这时必须取全部字段,下面发货要用到,否则会出错,请勿修改
+            $order = OrderClass::getById($orderId, true);//这时必须取全部字段,下面发货要用到,否则会出错,请勿修改
             if (empty($order)) {
                 util::fail('没有找到订单');
             }
@@ -758,7 +758,7 @@ class IntraCityController extends BaseController
                 noticeUtil::push($errRemind, '15280215347');
                 return $this->asJson(['return_code' => 1, 'return_msg' => '系统错误2']);
             }
-            $order = OrderClass::getById($orderId, true);//todo 注意,这里必须取全部字段,否则下面发错会出错!!!!!!!!
+            $order = OrderClass::getById($orderId, true);//注意,这里必须取全部字段,否则下面发错会出错!!!!!!!!
             if (empty($order)) {
                 $errRemind = '没有找到订单,store_order_id: ' . $storeOrderId . ',wx_store_id: ' . $wxStoreId;
                 Yii::error($errRemind, 'intracity');
@@ -874,7 +874,7 @@ class IntraCityController extends BaseController
                     break;
                 // 配送员撤单
                 case IntraCityExpress::ORDER_STATUS_WITHDRAWN:
-                    //todo 配送员撤单,目前我们认为会重新派单,先不要有任何操作!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+                    //配送员撤单,目前我们认为会重新派单,先不要有任何操作!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                     $msg = '跑腿取消配送,订单编号 ';
                     break;
                 // 配送异常

+ 9 - 9
app-ghs/controllers/NoticeController.php

@@ -216,7 +216,7 @@ class NoticeController extends PublicController
 
                     break;
                 case DadaExpressServices::ORDER_WAIT_PICKUP:
-                    //待收货 todo
+                    //待收货
                     //修改骑手姓名,手机号
                     $dmName = $postData['dm_name'] ?? '';
                     $dmMobile = $postData['dm_mobile'] ?? '';
@@ -224,34 +224,34 @@ class NoticeController extends PublicController
                     OrderExpressClass::pickUp($model, $dmName, $dmMobile);
                     break;
                 case DadaExpressServices::ORDER_SENDING:
-                    //配送中 todo
+                    //配送中
                     OrderExpressClass::updateExpressStatus($orderSn, OrderExpressClass::STATUS_RECEIVE);
                     break;
                 case DadaExpressServices::ORDER_COMPLETE:
-                    //订单完成 todo
+                    //订单完成
                     OrderService::reach($orderInfo);
                     break;
                 case DadaExpressServices::ORDER_CANCEL:
-                    //取消 todo
+                    //取消
                     $cancel_reason = $postData['cancel_reason']; //取消理由
                     OrderExpressClass::updateExpressStatus($orderSn, OrderExpressClass::STATUS_CANCEL);
                     break;
                 case DadaExpressServices::ORDER_WAIT_DISPATCH:
-                    //指派单 todo
+                    //指派单
                     break;
                 case DadaExpressServices::ORDER_UNUSUAL_BACK:
-                    //妥投异常之物品返回中 todo
+                    //妥投异常之物品返回中
                     break;
                 case DadaExpressServices::ORDER_UNUSUAL_COMPLETE:
-                    //妥投异常之物品返回完成 todo
+                    //妥投异常之物品返回完成
 
                     break;
                 case DadaExpressServices::RIDER_TO_SHOP:
-                    //骑士到店 todo
+                    //骑士到店
 
                     break;
                 case DadaExpressServices::ORDER_FAIL:
-                    //失败 todo
+                    //失败
                     OrderExpressClass::updateExpressStatus($orderSn, OrderExpressClass::STATUS_CANCEL);
                     break;
                 default:

+ 1 - 4
app-ghs/models/BaseForm.php

@@ -23,7 +23,6 @@ class BaseForm extends Model
             $errors = $this->getFirstErrors();
             $message = reset($errors);
             util::fail($message);
-            return false;
         }
         return true;
     }
@@ -41,7 +40,7 @@ class BaseForm extends Model
      *
      * @param string $formName 表单名称,用于嵌套数据
      * @return bool 验证成功返回 true,失败自动输出错误响应
-     * @throws \yii\base\InvalidConfigException
+     * @throws \Exception
      */
     public function loadAndValidate($formName = '')
     {
@@ -55,12 +54,10 @@ class BaseForm extends Model
             $data = $request->post();
         } else {
             util::fail('不支持的请求方法');
-            return false;
         }
 
         if (!$this->load($data, '')) {
             util::fail('数据加载失败');
-            return false;
         }
 
         return $this->validateForm();

+ 2 - 2
app-hd/controllers/DeliveryController.php

@@ -1,6 +1,7 @@
 <?php
 namespace hd\controllers;
 
+use Yii;
 use biz\ghs\classes\GhsClass;
 use bizGhs\custom\classes\CustomClass;
 use bizGhs\express\classes\DeliveryAuthTokenClass;
@@ -8,7 +9,6 @@ use bizHd\order\classes\OrderClass;
 use bizHd\express\classes\HdDeliveryOrderClass;
 use hd\models\delivery\CancelOrderForm;
 use hd\models\delivery\CreateOrderForm;
-use Yii;
 use biz\shop\classes\ShopClass;
 use common\components\delivery\services\DispatchService;
 use common\components\util;
@@ -143,7 +143,7 @@ class DeliveryController extends BaseController
         $post = $form->getAttributes();
         $orderId = $post['orderId']; // xhOrder.id
         $params = $post['allParams'];
-        $platform = $params['en_name'];// $post['platform'] 是中文
+        $platform = $params['en_name'];// 平台英文名,$post['platform'] 是中文
         $pickupTime = $post['pickupTime'];
 
         $params['mainId'] = $this->mainId;

+ 1 - 1
app-hd/controllers/IntraCityController.php

@@ -738,7 +738,7 @@ class IntraCityController extends BaseController
                     break;
                 // 配送员撤单
                 case IntraCityExpress::ORDER_STATUS_WITHDRAWN:
-                    //todo 配送员撤单,目前我们认为会重新派单,先不要有任何操作!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+                    //配送员撤单,目前我们认为会重新派单,先不要有任何操作!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                     $msg = '跑腿取消配送,订单编号 ';
                     break;
                 // 配送方取消订单

+ 10 - 8
app-mall/controllers/DeliveryController.php

@@ -1,10 +1,10 @@
 <?php
 namespace mall\controllers;
 
+use Yii;
 use bizMall\shop\classes\ShopClass;
 use common\components\delivery\services\DispatchService;
 use common\components\util;
-use Yii;
 use yii\helpers\ArrayHelper;
 
 class DeliveryController extends BaseController
@@ -27,18 +27,20 @@ class DeliveryController extends BaseController
         if (empty($mainId)) {
             util::fail('商户不存在');
         }
-        $weight = $post['weight'] ?? 1;
-        $buyType = $post['buyType'] ?? 'huaCai';
+        $buyType = $post['buyType'] ?? 'huaCai'; //订单类型
 
         $order = $this->generateOrderData($buyType, $user, $post);
         $ghsShop = ShopClass::getById($ghsShopId);
+        if (empty($ghsShop)) {
+            util::fail('店铺信息不存在');
+        }
+        
         $ds = new DispatchService($mainId);
         $platformQuotes = $ds->getAllPlatformPrice($order, $ghsShop, $orderTime);
         if(isset($platformQuotes['error'])){
             util::fail($platformQuotes['error']);
         }
 
-        $deliveryList = [];
         // 格式化各平台报价为前端展示格式
         $deliveryList = $ds->formatPlatformQuotesForDisplay($platformQuotes);
         // 按 price 从低到高排序
@@ -55,7 +57,7 @@ class DeliveryController extends BaseController
         $orderSn = $prefix . round(microtime(true) * 1000);
 
         //构建出 Order 数据
-        if($buyType == 'huaCai'){//花材
+        if($buyType == 'huaCai'){//订单类型是:花材
             $order = [
                 'orderSn' => $orderSn,
                 'customName' => $user['name'],
@@ -72,7 +74,7 @@ class DeliveryController extends BaseController
                 'prePrice' => floatval($post['totalPrice'] ?? 0),
                 'actPrice' => floatval($post['totalPrice'] ?? 0),
             ];
-        }elseif($buyType == 'huaShu'){//花束
+        }elseif($buyType == 'huaShu'){//订单类型是:花束
             $order = [
                 'orderSn' => $orderSn,
                 'customName' => $post['receiveUserName'],
@@ -80,8 +82,8 @@ class DeliveryController extends BaseController
                 'fullAddress' => $post['address'],
                 'floor' => $post['floor'] ?? '',
                 'dist' => $post['dist'] ?? '',
-                'lat' => $post['region']['latitude'],// TODO
-                'long' => $post['region']['longitude'],// TODO
+                'lat' => $post['region']['latitude'],
+                'long' => $post['region']['longitude'],
                 'address' => $post['address'], //'toAddress' => $order['address'],
                 'city' => $post['city'],
                 'weight' => $post['weight'] ?? 1,

+ 0 - 1
biz-ghs/express/services/MiniExpressService.php

@@ -411,7 +411,6 @@ class MiniExpressService
     }
 
     //重新下单(暂不支持。可以先取消,再下单)
-    //todo
 
     //运力签名 lqh 2021.2.3
     public static function getDeliverySign($shopId,$appSecret,$shopOrderId)

+ 1 - 1
biz-ghs/order/classes/StockOutOrderClass.php

@@ -140,7 +140,7 @@ class StockOutOrderClass extends BaseClass
 
     //2021.1.23 lqh  确认出库 :
     // 一、从状态 1 修改为 2
-    // 二、解除解冻的库存 todo
+    // 二、解除解冻的库存
     // 三、增加流水记录
     // 四、写入一条数据到入库门店的入库订单表(生成入库订单号)
     // 五、将入库订单号保存当前记录中

+ 1 - 1
biz-hd/cg/classes/CgRefundClass.php

@@ -152,7 +152,7 @@ class CgRefundClass extends BaseClass
                 if (isset($refundList[$cgItem->id])) {
                     $refund = $refundList[$cgItem->id];
                     $product = ProductClass::getById($cgItem->productId, true);
-                    $itemDatas[$cgItem->productId] = ['product' => $product, 'addNum' => $refund->itemNum]; // TODO 使用 itemNum 合适,还是 xhNum ?
+                    $itemDatas[$cgItem->productId] = ['product' => $product, 'addNum' => $refund->itemNum]; // 使用 itemNum 合适,还是 xhNum ?
                 }
             }
             $cgShop = $shop;//采购门店

+ 3 - 3
biz-hd/custom/classes/CustomClass.php

@@ -239,8 +239,8 @@ class CustomClass extends BaseClass
     }
 
     //客户采购欠款金额增加,如果有余额时,要进行欠款销账 ssh 20250715
-    //todo 这边开欠款单时,如果还有余额,会产生结账动作,结账动作也可以用赠送余额来结账,所以要分出赠送余额的占比
-    //todo 结账消余额,不是下单时消余额,不涉及售后时余额回滚问题,所以不需要设置 xhOrder 的 giveBalance payBalance balance等值
+    //这边开欠款单时,如果还有余额,会产生结账动作,结账动作也可以用赠送余额来结账,所以要分出赠送余额的占比
+    //结账消余额,不是下单时消余额,不涉及售后时余额回滚问题,所以不需要设置 xhOrder 的 giveBalance payBalance balance等值
     public static function skCgDebtAmountAdd($custom, $order)
     {
         $clearAmount = 0;
@@ -340,7 +340,7 @@ class CustomClass extends BaseClass
         if ($hd->balancePay >= $amount) {
             util::fail('请用余额支付哈');
         } else {
-            // todo 如果【充值金额】小于订单欠款金额,则用全部【充值金额】消单,同时必须用上【赠送金额】,够抵,则【充值金额】还是正数,不够抵,则是负数
+            // 如果【充值金额】小于订单欠款金额,则用全部【充值金额】消单,同时必须用上【赠送金额】,够抵,则【充值金额】还是正数,不够抵,则是负数
             if ($hd->balanceGive <= 0) {
                 //没有【赠送金额】,则用【充值金额】来消全部的欠款金额,不够则变成负数
                 $payAmount = $amount;

+ 1 - 1
biz-hd/goods/services/GoodsService.php

@@ -73,7 +73,7 @@ class GoodsService extends BaseService
         $transaction = $connection->beginTransaction();
         $now = date('Y-m-d H:i:s');
         try {
-            //新增goods  todo  还有很多字段待确定
+            //新增goods  还有很多字段待确定
             $goodsData = [
                 'name' => $name,
                 'shopImg' => '',//待确定

+ 0 - 1
biz-hd/item/services/ItemService.php

@@ -28,7 +28,6 @@ class ItemService extends BaseService
             util::fail("请选择花材18");
         }
         //判断花材是否存在 调用平台花材的方法
-        //todo
         $existItemClass = ItemClassClass::exists(['id'=>$classId,'sjId'=>$sjId]);
         if(!$existItemClass){
             util::fail("花材分类不存在");

+ 1 - 1
biz/stock/classes/StockClass.php

@@ -207,7 +207,7 @@ class StockClass extends BaseClass
     }
 
 
-    //商品相关---todo
+    //商品相关---???
 
 
     public static function commonItemFun($orderSn, $sjId, $shopId, $productId, $bigNum, $smallNum, $options, $action)

+ 2 - 3
common/components/delivery/platform/shansong/OrderStatusCallBack.php

@@ -124,7 +124,6 @@ class OrderStatusCallBack
             // 处理配送轨迹(如需要)
             if (isset($courier['deliveryProcessTrail']) && is_array($courier['deliveryProcessTrail'])) {
                 Yii::info('闪送配送轨迹: ' . json_encode($courier['deliveryProcessTrail'], JSON_UNESCAPED_UNICODE), 'shansong-callback');
-                // TODO: 如需要可以保存到单独的轨迹表或JSON字段
             }
         }
     }
@@ -151,7 +150,7 @@ class OrderStatusCallBack
                 'abortReason' => $abortReason,
             ], JSON_UNESCAPED_UNICODE), 'shansong-callback');
             
-            // TODO: 保存到数据库字段
+            // 保存到数据库字段
             // $deliveryOrder->abortType = $abortType;
             // $deliveryOrder->punishType = $punishType;
             // $deliveryOrder->abortReason = $abortReason;
@@ -200,7 +199,7 @@ class OrderStatusCallBack
                 'deliveryPassword' => $deliveryPassword,
             ], JSON_UNESCAPED_UNICODE), 'shansong-callback');
             
-            // TODO: 保存到数据库字段
+            // 保存到数据库字段
             // $deliveryOrder->pickupPassword = $pickupPassword;
             // $deliveryOrder->deliveryPassword = $deliveryPassword;
         }

+ 0 - 3
common/components/delivery/platform/shunfeng/CallBackHandler.php

@@ -202,7 +202,6 @@ class CallBackHandler
                 $order->status = $orderStatus;
                 $order->save();
             }
-            // TODO
         }
         
         return true;
@@ -262,7 +261,6 @@ class CallBackHandler
             $order->status = $orderStatus;
             $order->save();
             }
-            // TODO
         }
         
         return true;
@@ -376,7 +374,6 @@ class CallBackHandler
                 $order->status = $orderStatus;
                 $order->save();
             }
-            // TODO
         }
         
         return true;

+ 2 - 2
common/components/delivery/services/DispatchService.php

@@ -448,8 +448,8 @@ class DispatchService
             'is_appoint' => 0,                                       // 是否预约单(0:非预约单)
             'appoint_type' => 0,                                     // TODO 预约单类型(0:立即单)
             'expect_time' => 0,                                      // TODO 用户期望送达时间
-            //'expect_pickup_time' => 0,                               // TODO 用户期望上门时间 -- appoint_type=2时需必传,秒级时间戳
-            'shop_expect_time' => 0,                                // TODO 商家期望送达时间 -- 格式为:{timestamp},
+            //'expect_pickup_time' => 0,                             // TODO 用户期望上门时间 -- appoint_type=2时需必传,秒级时间戳
+            'shop_expect_time' => 0,                                 // TODO 商家期望送达时间 -- 格式为:{timestamp},
             'lbs_type' => 2,                                         // 坐标类型(2:高德坐标)
             'is_insured' => 0,                                       // 是否保价(0:非保价)
             'is_person_direct' => 0,                                 // 是否专人直送(0:否)

+ 5 - 2
common/components/delivery/services/adapter/FengniaoAdapter.php

@@ -5,6 +5,7 @@ use bizGhs\order\classes\OrderItemClass;
 use bizHd\order\classes\OrderGoodsClass;
 use common\components\delivery\helpers\HttpClient;
 use common\components\delivery\platform\fengniao\Fengniao;
+use common\components\util;
 use Yii;
 
 /**
@@ -95,9 +96,11 @@ class FengniaoAdapter extends Fengniao implements Adapter
                 ];
             }
             $goodsCount = count($goodsItemList);
+        }else{
+            Yii::error('订单编号出错: '.$sn);
+            util::fail('订单编号出错');
         }
 
-        // TODO: 需要实现 goods_item_list 的商品信息补充
         $orderData = [
             //'out_shop_code' => $params['mainId'], // 当使用门店发单 out_shop_code 和 chain_store_id 必填1个
             'partner_order_code' => $order['orderSn'],
@@ -113,7 +116,7 @@ class FengniaoAdapter extends Fengniao implements Adapter
             'goods_actual_amount_cent' => (int)($order['actPrice'] * 100), //订单货物实付金额
             'goods_item_list' => $goodsItemList,
             'order_type' => $orderType,
-            'chain_store_id' => 467788524, // TODO: 后续修改为动态的门店号 -- (点对点不传)
+            'chain_store_id' => $this->getShopId(), // 动态修改为门店号 -- (点对点不传)
             'order_remark' => $order['remark'],
         ];
         if($orderType == 3) {

+ 1 - 1
common/components/delivery/services/adapter/ShansongAdapter.php

@@ -132,7 +132,7 @@ class ShansongAdapter extends Shansong implements Adapter
                 'toLongitude' => $receiver['toLongitude'] ?? '',
                 'goodType' => $receiver['goodType'],  // 物品类型,默认10-其他
                 'weight' => (int) ($receiver['weight'] ?? 1),         // 物品重量(必须是整数kg)
-                //'remarks' => $receiver['remarks'] ?? '', // TODO: 需要添加备注
+                'remarks' => $receiver['remarks'] ?? '', // 备注
                 'expectStartTime' => isset($receiver['expectStartTime']) ? (int) $receiver['expectStartTime'] : null,
                 'expectEndTime' => isset($receiver['expectEndTime']) ? (int) $receiver['expectEndTime'] : null,
             ];

+ 1 - 1
common/components/delivery/services/adapter/ShunfengAdapter.php

@@ -355,7 +355,7 @@ class ShunfengAdapter extends Shunfeng implements Adapter
                 'distance' => $result['delivery_distance_meter'], //配送距离
                 'total_pay_money' => $result['total_pay_money'], //总支付费用(优惠前),当return_flag中包含32时返回,单位分
                 'real_pay_money' => $result['real_pay_money'], //实际支付金额,当return_flag中包含64时返回,单位分(实际支付金额=总支付费用-优惠券总金额)
-                // 还有其它返回值没加进来,TODO
+                // 还有其它返回值没加进来
             ];
         } else {
             Yii::error('shunfeng 报价失败:'.json_encode($resp));

+ 0 - 1
common/components/miniUtil.php

@@ -680,7 +680,6 @@ class miniUtil
         $component_app_id = $open['appId'];
         $componentAccessToken = wxUtil::getComponentAccessToken($open);
         $appId = $merchant['miniAppId'];
-        //$appId = $open['appId']; // TODO 要换回来
         if ($ptStyle == 1) {
             $miniAccessToken = $merchant['miniAccessToken'];
             $miniAccessTokenTime = $merchant['miniAccessTokenTime'];