123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- <?php
- namespace app\models\many;
- use app\models\user\User;
- use app\models\user\UserBill;
- use crmeb\traits\ModelTrait;
- use crmeb\basic\BaseModel;
- class Many extends BaseModel
- {
-
- protected $pk = 'id';
-
- 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]);
- }
- }
- }
- }
|