* @day: 2017/11/11 */ namespace app\models\many; use app\models\user\User; use app\models\user\UserBill; use crmeb\traits\ModelTrait; use crmeb\basic\BaseModel; /** * Class StoreCategory * @package app\admin\model\store */ class Many extends BaseModel { /** * 数据表主键 * @var string */ protected $pk = 'id'; /** * 模型名称 * @var string */ protected $name = 'many'; use ModelTrait; protected $autoWriteTimestamp = true; public static function list($where) { $model = self::field('*')->order('sort DESC,id DESC'); if ($where['name'])$model->where('name' , 'like', '%'.$where['name'],'%'); $data['count'] = $model->count(); if ($where['page'] && $where['limit']){ $model->page($where['page'], $where['limit']); }else{ $model->page(20, 1); } $list = $model->select()->toArray(); foreach ($list as &$item){ $item['add_time'] = date('Y-m-d H:i:s',$item['add_time']); $item['end_time'] = date('Y-m-d H:i:s',$item['end_time']); } $data['data'] = $list; return $data; } public static function fail() { $many = self::where('end_time', '<', time())->where('status', '=', 1)->select();//找到结束为完成的场次 if ($many) { foreach ($many as $item) { $stage = [$item['stage'] - 3, $item['stage']];//指定期数 $stages = [$item['stage'] - 2,$item['stage'] - 1];//指定期数 $many_order = ManyOrder::where('many_id', $item['id'])->where('stage', 'in',$stage)->select();// 找到这期和三期前订单 $order = ManyOrder::where('many_id', '=',$item['id'])->where('stage', 'in',$stages)->select()->toArray();// 找到这期和三期前中间两期订单 if ($many_order){ foreach ($many_order as $value){ $user = User::where('uid', $value['uid'])->find(); $user['purple_integral'] += $value['price'] * 1.01;// 返还 $user->save(); UserBill::income('众筹失败返还紫积分', $value['uid'], 'purple_integral', 'sbfh', $value['price'] * 1.01, 0,$user['purple_integral'], '众筹失败返还紫积分'); } } if ($order){ foreach ($order as $value){ $user = User::where('uid', $value['uid'])->find(); $user['purple_integral'] += $value['price'] * 0.7;// 返还紫积分 $user['green_integral'] += $value['price'] * 0.3;// 返还绿积分 $user['paper_ticket'] += $value['price'] * 0.3;// 返还百分之三十的文票 $user['integral'] += $value['price'] * 0.3;// 返还百分之三十的商城积分 $user->save(); UserBill::income('众筹失败返还紫积分', $value['uid'], 'purple_integral', 'sbfh', $value['price'] * 0.7, 0,$user['purple_integral'], '众筹失败返还紫积分'); UserBill::income('众筹失败返还绿积分', $value['uid'], 'green', 'sbfh', $value['price'] * 0.3, 0,$user['green_integral'], '众筹失败返还绿积分'); UserBill::income('众筹失败返还文票', $value['uid'], 'paper_ticket', 'sbfh', $value['price'] * 0.3, 0,$user['paper_ticket'], '众筹失败返还文票'); UserBill::income('众筹失败返还积分', $value['uid'], 'integral', 'sbfh', $value['price'] * 0.3, 0,$user['integral'], '众筹失败返还积分'); } } ManyOrder::where('many_id', '=',$item['id'])->where('stage', 'in',[$item['stage'] - 3, $item['stage'], $item['stage'] - 2,$item['stage'] - 1])->update(['status' => 2]); ManyDiscipline::create(['many_id' => $item['id'], 'stage' => $item['stage']]); Many::where('id', $item['id'])->update(['status' => 0, 'suc' => 2]); } } } }