| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- <?php
- namespace addons\WangDianTong\common\traits;
- use addons\WangDianTong\common\expand\sdk\wangdian\model\OrderCreate;
- use addons\WangDianTong\common\expand\sdk\wangdian\src\CreateOrder;
- use addons\WangDianTong\common\service\CreateOrderService;
- use common\enums\StatusEnum;
- use yii\helpers\Json;
- trait CreateOrderSendTrait
- {
- /**
- * @param array $config
- * @param array $trade_list
- * @return mixed|string|true
- */
- protected function send(array $config, array $trade_list)
- {
- $req = new CreateOrder($config);
- $orderCreate = new OrderCreate();
- $orderCreate->switch = StatusEnum::ENABLED;
- $orderCreate->shop_no = $config['shop_no'];
- $orderCreate->trade_list = Json::encode($trade_list);
- $resp = $req->send($orderCreate);
- if ($resp->getError()) return $resp->getError();
- // 执行其他操作
- try {
- $res = $resp->toArray();
- if (!isset($res['code']) || $res['code'] != StatusEnum::DISABLED) return $res['message'] ?? var_export($res, true);
- } catch (\Exception $e) {
- return $e->getMessage();
- }
- return true;
- }
- /**
- * @param array $config
- * @param array $order
- * @return void
- * @throws \Exception
- */
- protected function enterprise(array $config, array $order)
- {
- $trade_list[] = (new CreateOrderService())->assembleData($order);
- if (!empty($trade_list)) {
- $flag = $this->retry(function () use ($config, $trade_list) {
- return $this->send($config, $trade_list);
- });
- if (is_string($flag)) throw new \Exception($flag);
- }
- }
- }
|