全部
常见问题
产品动态
精选推荐

多商户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}}

作者 管理员 企业

{{item.floor}}# 同步到gitee 已同步到gitee {{item.is_suggest==1? '取消推荐': '推荐'}}
沙发 板凳 地板 {{item.floor}}#
{{item.user_info.title}}
附件

{{itemf.name}}

{{item.created_at}}  {{item.ip_address}}
{{item.like_count}}
{{item.showReply ? '取消回复' : '回复'}}
删除
回复
回复

{{itemc.user_info.nickname}}

{{itemc.user_name}}

作者 管理员 企业

回复 {{itemc.comment_user_info.nickname}}

附件

{{itemf.name}}

{{itemc.created_at}}   {{itemc.ip_address}}
{{itemc.like_count}}
{{itemc.showReply ? '取消回复' : '回复'}}
删除
回复
回复
查看更多
回复
回复
6943
{{like_count}}
{{collect_count}}
添加回复 ({{post_count}})

相关推荐

快速安全登录

使用微信扫码登录
{{item.label}} {{item.label}} {{item.label}} 板块推荐 常见问题 产品动态 精选推荐 首页头条 首页动态 首页推荐
加精
取 消 确 定
回复
回复
问题:
问题自动获取的帖子内容,不准确时需要手动修改. [获取答案]
答案:
提交
bug 需求 取 消 确 定

微信登录/注册

切换手机号登录

{{ bind_phone ? '绑定手机' : '手机登录'}}

{{codeText}}
切换微信登录/注册
暂不绑定
CRMEB客服

CRMEB咨询热线 咨询热线

400-8888-794

微信扫码咨询

CRMEB开源商城下载 源码下载 CRMEB帮助文档 帮助文档
返回顶部 返回顶部
CRMEB客服