一些写法
一些基础的编码规范要遵循,具体如下:
getInfoByLevel的level设定
以往,我们的level设定没有语义,都是用0,1,2的模式来支持,这里不好,后续我们的level设置为有语义的,即例如UserPurse表中,如果带用户信息,那么level的具体值为user
//ems_company: 公司信息
if (in_array('ems_company', $level_arr)) {
//在Utils中有hidePhonenum等方法,可以进行数据脱敏
$ems_company = EmsCompanyManager::getByIdWithTrashed($info->ems_company_id);
if ($ems_company) {
$ems_company = EmsCompanyManager::getInfoByLevel($ems_company, "Y");
}
$info->ems_company = $ems_company;
}
计划任务统一调用command
每一个计划任务都要封装为artisan的命令,这样做的好处是可以通过手动执行artisan命令的方式重跑计划任务
// 每五分钟执行自动取消订单任务
$schedule->command('order:auto-cancel')->everyFiveMinutes();
// 每天凌晨02:00,执行计划任务,将全部的发货成功未确认并超时的订单,设置为确认状态
$schedule->command('order:auto-confirm')->dailyAt('02:00');
// 每天两点,执行计划任务,将全部确认的收货并超时的订单设置为关闭,,
$schedule->command('order:auto-close')->dailyAt('02:00');