<noframes id="bhrfl"><address id="bhrfl"></address>

    <address id="bhrfl"></address>

    <noframes id="bhrfl"><address id="bhrfl"><th id="bhrfl"></th></address>

    <form id="bhrfl"><th id="bhrfl"><progress id="bhrfl"></progress></th></form>

    <em id="bhrfl"><span id="bhrfl"></span></em>

    全部
    常見問題
    產品動態
    精選推薦

    多商戶2.2.1 對接小程序發貨管理

    管理 管理 編輯 刪除
    • 功能說明
      • 根據微信小程序規定,特定類型的小程序需要在平臺完成發貨信息錄入及確認收貨流程后方可進行資金結算。這次對接側重點在于資金解凍,只對接了小程序發貨管理 發貨信息錄入接口。如果需要確定收貨和事件功能,請自行對接小程序確認收貨組件和相關消息推送事件。
    • 適用范圍
      • 小程序后臺左側菜單欄有發貨信息管理的

    4761c202310261618167228.png

    • 對接說明
      • 下載附加文件,在程序根目錄解壓文件
      • 按自己需求對接以下功能
    • 附加文件說明
      • MiniOrderShippingListen  小程序發貨管理事件,處理小程序發貨管理接口所需參數
      • MiniOrderShippingJob  接受事件整合好的參數,通過隊列異步調用微信小程序發貨管理接口
      • \services\easywechat\orderShipping  對接小程序發貨管理接口


    1. 在MiniProgramService中添加發貨信息錄入接口

      • 添加引用
    use crmeb\services\easywechat\orderShipping\OrderClient;
      • 在構造方法中注冊orderShipping服務,如下圖
    $this->service->register(new \crmeb\services\easywechat\orderShipping\ServiceProvider);

    376f4202310261552385712.png

      • 添加order方法獲取OrderClient對象,如下圖
    /** 
    * @return OrderClient * 
    */
    public function order(){    
        return $this->service->order_ship;
    }

    02051202310261556312526.png

      • 添加發貨信息錄入接口
    /** 
    * 上傳訂單 
    * @param array $order_key 訂單號(商城訂單好) 
    * @param int $logistics_type 物流模式,發貨方式枚舉值:1、實體物流配送采用快遞公司進行實體物流配送形式 2、同城配送 3、虛擬商品,虛擬商品,例如話費充值,點卡等,無實體配送形式 4、用戶自提 
    * @param array $shipping_list 物流信息列表,發貨物流單列表,支持統一發貨(單個物流單)和分拆發貨(多個物流單)兩種模式,多重性: [1, 10] 
    * @param string $payer_openid 支付者,支付者信息 
    * @param int $delivery_mode 發貨模式,發貨模式枚舉值:1、UNIFIED_DELIVERY(統一發貨)2、SPLIT_DELIVERY(分拆發貨) 示例值: UNIFIED_DELIVERY 
    * @param bool $is_all_delivered 分拆發貨模式時必填,用于標識分拆發貨模式下是否已全部發貨完成,只有全部發貨完成的情況下才會向用戶推送發貨完成通知。示例值: true/false 
    * @return array * 
    * @throws HttpException 
    */
    public function uploadShippingInfo(array $order_key, int $logistics_type, array $shipping_list, string $payer_openid, string $path, int $delivery_mode = 1, bool $is_all_delivered = true, $type = '')
    {    
        return $this->order()->uploadShippingInfo($order_key, $logistics_type, $shipping_list, $payer_openid, $path, $delivery_mode, $is_all_delivered);
     }

    d64ac202310261559261942.png

    2. 配置小程序發貨管理開關

      • 在MiniOrderShippingListen事件中,通過 order_shipping_open 字段判斷是否推送小程序發貨信息接口,當字段判斷為true時推送,否則不推送。下面sql是將此開關放到小程序配置里面,也可以在總后臺 維護->配置管理 中自行配置??傊?,當配置于代碼邏輯相對應即可。
      • 注意,配置完后要在后臺保存一下配置數據,更新緩存。否則讀取不到數據
    INSERT INTO `eb_system_config` (`config_classify_id`, `config_name`, `config_key`, `config_type`, `config_rule`, `config_props`, `required`, `info`, `sort`, `user_type`, `status`, `create_time`) VALUES (48, '小程序發貨管理', 'order_shipping_open', 'switches', '0:關閉\n1:開啟', '0', 0, '如果小程序后臺出現發貨管理菜單欄,請打開此開關', 0, 0, 1, '2023-10-20 09:25:00');
    

    5ce59202310261607221008.png

    4c9f9202310261604229482.png

    3. 添加event事件,如下圖

    路徑:app/event.php

    'mini_order_shipping' => [\crmeb\listens\MiniOrderShippingListen::class],  // 小程序發貨管理事件

    d7467202310261615426049.png

    4. 對接普通物流發貨

    路徑: app/common/repositories/store/order/StoreOrderRepository.php

    在發貨方法添加 delivery() 中添加發貨事件,如下圖

    // 小程序發貨管理
    event('mini_order_shipping', ['product', $order, $data['delivery_type'], $data['delivery_id'], $data['delivery_name']]);

    5e847202310261521415381.png

    5. 對接核銷訂單

    路徑:app/common/repositories/store/order/StoreOrderRepository.php

    在訂單核銷方法 verifyOrder() 中添加,如下圖

    //小程序發貨管理
    event('mini_order_shipping', ['product', $order, 7, '', '']);

    e7668202310261526227738.png

    6. 對接購買會員訂單

    路徑:app/common/repositories/user/UserOrderRepository.php

    在訂單回調 payAfter() 中調用 如下圖

    //小程序發貨管理
    event('mini_order_shipping', ['member', $ret, 3, '', '']);

    2c7c720231026152951705.png

    7. 對接充值訂單

    路徑:app/common/repositories/user/UserRechargeRepository.php

    同會員訂單,再支付回調中調用,如下圖

    //小程序發貨管理
    event('mini_order_shipping', ['recharge', $recharge, 3, '', '']);

    d790020231026153142585.png


    注意:如果小程序沒有發貨信息管理,調用發貨信息錄入接口時會報錯,更新完代碼后請重啟swoole

    附件

    crmeb.zip

    請登錄后查看

    Always Prosperous Yang 最后編輯于2023-10-26 16:40:21

    快捷回復
    回復
    回復
    回復({{post_count}}) {{!is_user ? '我的回復' :'全部回復'}}
    排序 默認正序 回復倒序 點贊倒序

    {{item.user_info.nickname ? item.user_info.nickname : item.user_name}} LV.{{ item.user_info.bbs_level }}

    作者 管理員 企業

    {{item.floor}}# 同步到gitee 已同步到gitee {{item.is_suggest == 1? '取消推薦': '推薦'}}
    {{item.is_suggest == 1? '取消推薦': '推薦'}}
    沙發 板凳 地板 {{item.floor}}#
    {{item.user_info.title || '暫無簡介'}}
    附件

    {{itemf.name}}

    {{item.created_at}}  {{item.ip_address}}
    打賞
    已打賞¥{{item.reward_price}}
    {{item.like_count}}
    {{item.showReply ? '取消回復' : '回復'}}
    刪除
    回復
    回復

    {{itemc.user_info.nickname}}

    {{itemc.user_name}}

    回復 {{itemc.comment_user_info.nickname}}

    附件

    {{itemf.name}}

    {{itemc.created_at}}
    打賞
    已打賞¥{{itemc.reward_price}}
    {{itemc.like_count}}
    {{itemc.showReply ? '取消回復' : '回復'}}
    刪除
    回復
    回復
    查看更多
    打賞
    已打賞¥{{reward_price}}
    9132
    {{like_count}}
    {{collect_count}}
    添加回復 ({{post_count}})

    相關推薦

    快速安全登錄

    使用微信掃碼登錄
    {{item.label}} 加精
    {{item.label}} {{item.label}} 板塊推薦 常見問題 產品動態 精選推薦 首頁頭條 首頁動態 首頁推薦
    取 消 確 定
    回復
    回復
    問題:
    問題自動獲取的帖子內容,不準確時需要手動修改. [獲取答案]
    答案:
    提交
    bug 需求 取 消 確 定
    打賞金額
    當前余額:¥{{rewardUserInfo.reward_price}}
    {{item.price}}元
    請輸入 0.1-{{reward_max_price}} 范圍內的數值
    打賞成功
    ¥{{price}}
    完成 確認打賞

    微信登錄/注冊

    切換手機號登錄

    {{ bind_phone ? '綁定手機' : '手機登錄'}}

    {{codeText}}
    切換微信登錄/注冊
    暫不綁定
    亚洲欧美字幕
    CRMEB客服

    CRMEB咨詢熱線 咨詢熱線

    400-8888-794

    微信掃碼咨詢

    CRMEB開源商城下載 源碼下載 CRMEB幫助文檔 幫助文檔
    返回頂部 返回頂部
    CRMEB客服