123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- <?php
- namespace app\common\validate;
- use think\Db;
- use think\Validate;
- class DinnerOrders extends Validate{
- protected $rule = [
- // 'company_id' => 'require|gt:0',
- // 'name|姓名' => 'require',
- 'goods' => 'require|checkGoods',
- ];
- protected $message = [
- 'company_id.require' => '未选择单位',
- 'company_id.gt' => '未选择单位',
- 'name.require' => '请输入姓名',
- 'goods.require' => '请选择商品',
- ];
- protected $scene = [
- ];
- protected function checkGoods($value,$rule,$data=[])
- {
- $goods = json_decode($data['goods'],true);
- if(!$goods){
- return '未选择商品';
- }
- $days = [];
- foreach ($goods as $k=>$v){
- $dinner = Db::name('dinner')
- ->alias('a')
- ->join('dinner_cate b','b.id = a.cate_id')
- ->where('a.id',$v['dinner_id'])
- ->where('a.enable',1)
- ->where('a.del',0)
- ->where('b.enable',1)
- ->where('b.del',0)
- ->field('b.title,a.day,b.start,b.end')
- ->find();
- if(!$dinner){
- return '选择的商品已下架';
- }
- $curTime = date('H:i:s');
- if($curTime < $dinner['start']||$curTime > $dinner['end']){
- return '['.$dinner['title'].']不再售卖时间内';
- }
- if(in_array($dinner['day'],$days)){
- $days[] = $dinner['day'];
- }
- }
- if(count($days) > 1){
- return '选择商品错误';
- }
- return true;
- }
- }
|