预约上门安装维修系统接单平台开发案例解析和源码


客户端:小程序,H5,APP
登入方式:手机号码登陆,微信。
系统三大端口包含:会员端,师傅端,系统总管理端。

 

会员端包含的功能:
注册登陆,会员中心,订单中心,VIP会员开卡,评价管理,售后维保,财务记录

 

师傅端包含功能:
师傅端功能:注册登陆,实名认证,技能认证,派单记录,工期管理,抢单管理,售后维保记录,财务记录

 

总系统端功能:
会员管理,师傅管理,安装维保管理,维保产品管理,师傅评价管理,VIP升级管理,师傅星级评定管理,订单管理,会员财务管理,师傅财务管理,文章管理,空中课堂管理,基本配置管理。

以下内容是预约上门安装维修系统会员模型部分功能介绍

会员通过手机号方式绑定注册,关于登录:如果是在微信小程序里,会员登录的时候直接调启手机里的手机号码选择登录。关于注册:用户第一次注册登录微信小程序的时候,默认用手机号注册的同时,头像和昵称信息和读取微信的信息。

 

用户的资料包含:头像,昵称,性别,生日(选填),签到信息,常用地址,会员标识。

优惠券信息,权益卡信息,保修卡数量,返修信息。
优惠券信息包含状态:未使用,已使用,已失效,待激活,兑换优惠券行为在兑换优惠券行为里,用户输入兑换码后,点击兑换即可完成。优惠券会显示各个状态的数量信息,以及列表显示优惠券使用信息。优惠券的使用信息包含使用事由,使用时间,消耗数量的信息。

权益卡信息包含未使用,已使用,已失效几种状态,每种状态会显示出具体的数量值,以及权益卡列表信息。同理权益卡的记录明细包含权益卡名称,发放时间,以及具体的数量。

保修卡信息包含保修卡数量,每张保修卡的详细信息,这些信息包含保修卡名称,报修有效时间,过期截止时间节点。每张保修卡对应的返修信息记录。在保修时间范围里相应的返修信息列表以及明细。为什么有保修卡对应返修明细呢?因为在保修期里有可能存在多次保修事件,以及报修完毕后产生的再次返修行为事件。

积分信息积分规则介绍,积分增加帮助,今日积分累计。还有包含积分总量,积分产生明细,积分消耗记录。在产生和消耗的记录里都有详细的描述,例如积分产出和消耗事件,产生时间,增减少数量,当时的所剩余的余额。

  在系统里我们设计了签到得积分活动,每日签到得多少积分,例如第一二三天签到得5积分,第四天得20积分,增加签到行为的阶段性奖励,所以发放的积分更多一点,第五天第六天得10积分日常登录奖励,同时比日常登录积分更多的梯度奖励,到第七天得50积分做连续的阶段性奖励。积分更多的梯度奖励模式目的是什么呢?驱动用户养成每天登录系统得奖励,增加系统用户行为数据的活跃度和粘性。同时在积分签到里设置了连续七天的积分周期奖励,如果用户中途中断,那么又从第一天开始连续签到得积分奖励环节。这同样也是促进用户使用维修报修系统。同时系统也做了快捷的连续签到提示。

 

积分积分奖励机制包含那些呢?

完善用户信息;订单成交;订单评价;成为VIP会员;提供建议反馈;设置日常地址;系统后台充值。这些行为活动可以获得很多积分。并且在系统里可以对这些行为活动设置不同的积分数量,根据日常的运营活动来设定积分的多少奖励。

 

以下代码是上门安装维修系统师傅派单接单部分源码:

$order = $event->order;

if(!$order->status)return;

$code = $event->order->city_code;

$master = Master::query()

->where('city_code',$code)

->orderBy('id','ASC')->pluck('id')->toArray();

if(!count($master)){//该区域没有师傅 ,直接派单失败

$order->status = -1;//派单失败

if($order->save()){

OrderLogo::query()->create([

'order_id' => $order->id,

'text' => '派单失败,该区域没有工人',

'tag' => '自动派单失败,等待手动派单',

'desc' => date('Y-m-d H:i:s')

]);

}

return;

}

if(Cache::get($code.'master') == null){

$mindex = 0;

}else{

$mm = Cache::get($code.'master');

$mindex = ($mm + 1) % count($master);

}

$mid = $master[$mindex];

if(!$mid){

return;

}else{

Cache::put($code.'master',$mindex);

}

$masterInfo = Master::query()->find($mid);

$order->master_id = $mid;

$order->time = bcadd(time(),3600);

if($order->save()){

OrderLogo::query()->create([

'order_id' => $order->id,

'text' => '派单中订单分配给师傅'.$masterInfo->name,

'tag' => '订单分配给师傅'.$masterInfo->name,

'desc' => date('Y-m-d H:i:s')

]);

}

 

 
posted on 2023-12-07 17:51  程序员李铁牛  阅读(150)  评论(0编辑  收藏  举报