diff --git a/config/express_choose.php b/config/express_choose.php index 605b450..933f3e3 100644 --- a/config/express_choose.php +++ b/config/express_choose.php @@ -6,12 +6,21 @@ return [ 'other_express_weight' => 45, 'logistics' => [ 'toB' => [ - 'code' => 'CN7000001003751', - 'name' => '跨越', + [ + 'code' => 'CN7000001003751', + 'name' => '跨越', + ], + [ + 'code' => 'CN7000001000869', + 'name' => '安能快运', + ], + ], 'toC' => [ - 'code' => 'STO', - 'name' => '申通', + [ + 'code' => 'STO', + 'name' => '申通', + ], ] ], ]; \ No newline at end of file diff --git a/src/WmsStrategy.php b/src/WmsStrategy.php index bcb2811..a770890 100644 --- a/src/WmsStrategy.php +++ b/src/WmsStrategy.php @@ -115,23 +115,32 @@ class WmsStrategy public function chooseLogisticsCompany($province, $weight) { $expressChooseConf = require(dirname(dirname(__FILE__)) . '/config/express_choose.php'); - if (in_array($province, $expressChooseConf['address_list'])) { - if ($weight >= $expressChooseConf['jzh_express_weight']) { - $type = 'toB'; - } else { - $type = 'toC'; - } - } else { - if ($weight >= $expressChooseConf['other_express_weight']) { - $type = 'toB'; - } else { - $type = 'toC'; - } - } + $type = self::getOrderType($province, $weight, $expressChooseConf); return [ 'type' => $type, - 'code' => $expressChooseConf['logistics'][$type]['code'], - 'name' => $expressChooseConf['logistics'][$type]['name'], + 'code' => $expressChooseConf['logistics'][$type][0]['code'], + 'name' => $expressChooseConf['logistics'][$type][0]['name'], ]; } + + /** + * 判断订单BC类型 + * @param $province + * @param $weight + * @return string + */ + static public function getOrderType($province, $weight, $expressChooseConf) + { + if (in_array($province, $expressChooseConf['address_list'])) { + if ($weight >= $expressChooseConf['jzh_express_weight']) { + return 'toB'; + } + return 'toC'; + } else { + if ($weight >= $expressChooseConf['other_express_weight']) { + return 'toB'; + } + return 'toC'; + } + } }