73 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			PHP
		
	
	
		
		
			
		
	
	
			73 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			PHP
		
	
	
| 
								 | 
							
								<?php
							 | 
						||
| 
								 | 
							
								namespace app\admin\logic\seckill;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								use app\common\basics\Logic;
							 | 
						||
| 
								 | 
							
								use app\common\model\seckill\SeckillTime;
							 | 
						||
| 
								 | 
							
								use app\common\model\seckill\SeckillGoods;
							 | 
						||
| 
								 | 
							
								use think\facade\Db;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								class SeckillTimeLogic extends Logic
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    public static function addTime($post){
							 | 
						||
| 
								 | 
							
								        try{
							 | 
						||
| 
								 | 
							
								            $post['create_time'] = time();
							 | 
						||
| 
								 | 
							
								            $post['update_time'] = time();
							 | 
						||
| 
								 | 
							
								            SeckillTime::create($post);
							 | 
						||
| 
								 | 
							
								            return true;
							 | 
						||
| 
								 | 
							
								        }catch(\Exception $e) {
							 | 
						||
| 
								 | 
							
								            self::$error = $e->getMessage();
							 | 
						||
| 
								 | 
							
								            return false;
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public static function timeList($get){
							 | 
						||
| 
								 | 
							
								        $where[] = ['del','=',0];
							 | 
						||
| 
								 | 
							
								        $count = SeckillTime::where($where)->count();
							 | 
						||
| 
								 | 
							
								        $list = SeckillTime::where($where)
							 | 
						||
| 
								 | 
							
								            ->order('start_time asc')
							 | 
						||
| 
								 | 
							
								            ->page($get['page'], $get['limit'])
							 | 
						||
| 
								 | 
							
								            ->select()
							 | 
						||
| 
								 | 
							
								            ->toArray();
							 | 
						||
| 
								 | 
							
								        foreach ($list as &$item){
							 | 
						||
| 
								 | 
							
								            $item['time'] = $item['start_time'].' ~ '.$item['end_time'];
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								        return ['count' => $count, 'list' => $list];
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public static function getTime($id){
							 | 
						||
| 
								 | 
							
								        $seckillTime = SeckillTime::where(['del'=>0, 'id'=>$id])->findOrEmpty();
							 | 
						||
| 
								 | 
							
								        if($seckillTime->isEmpty()) {
							 | 
						||
| 
								 | 
							
								            return [];
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								        return $seckillTime->toArray();
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public static function editTime($post){
							 | 
						||
| 
								 | 
							
								        try{
							 | 
						||
| 
								 | 
							
								            $post['update_time'] = time();
							 | 
						||
| 
								 | 
							
								            SeckillTime::where(['id'=>$post['id']])->update($post);
							 | 
						||
| 
								 | 
							
								            return true;
							 | 
						||
| 
								 | 
							
								        }catch(\Exception $e) {
							 | 
						||
| 
								 | 
							
								            self::$error = $e->getMessage();
							 | 
						||
| 
								 | 
							
								            return false;
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public static function delTime($id){
							 | 
						||
| 
								 | 
							
								        Db::startTrans();
							 | 
						||
| 
								 | 
							
								        try{
							 | 
						||
| 
								 | 
							
								            $update_data = [
							 | 
						||
| 
								 | 
							
								                'update_time'   => time(),
							 | 
						||
| 
								 | 
							
								                'del'           => 1,
							 | 
						||
| 
								 | 
							
								            ];
							 | 
						||
| 
								 | 
							
								            SeckillTime::where(['id'=>$id])->update($update_data);
							 | 
						||
| 
								 | 
							
								            SeckillGoods::where(['del'=>0, 'seckill_id'=>$id])->update($update_data);
							 | 
						||
| 
								 | 
							
								            Db::commit();
							 | 
						||
| 
								 | 
							
								            return true;
							 | 
						||
| 
								 | 
							
								        }catch(\Exception $e) {
							 | 
						||
| 
								 | 
							
								            self::$error = $e->getMessage();
							 | 
						||
| 
								 | 
							
								            Db::rollback();
							 | 
						||
| 
								 | 
							
								            return false;
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 |