作者 xieweiping
1 个管道 的构建 通过 耗费 0 秒

课表取消功能

@@ -232,51 +232,65 @@ class Course extends Api @@ -232,51 +232,65 @@ class Course extends Api
232 $store = []; 232 $store = [];
233 233
234 foreach($courseStore as $k){ 234 foreach($courseStore as $k){
235 - $store_id[$k['store_id']] = $k['store_id'];  
236 -  
237 - $store1 = new \app\admin\model\Store();  
238 - $store1 = $store1->where(['id'=>$k['store_id']])->find();  
239 - $store1 = $store1->toArray();  
240 - $store1['start'] = 2000000000;  
241 - $store1['end'] = 1;  
242 - $store1['course'] = [];  
243 - $store[$k['store_id']] = $store1;  
244 - } 235 + if(!isset($store_id[$k['store_id']])){
  236 + $store_id[$k['store_id']] = $k['store_id'];
245 237
246 - foreach ($courseStore as $k){  
247 - $k['enable'] = true;  
248 - if(!empty($user_id)){  
249 - $sign = new \app\admin\model\CourseSign();  
250 - $sign = $sign->where(['course_store_id'=>$k['id'],'user_id'=>$user_id])->find();  
251 - if(!empty($sign)){  
252 - $k['enable'] = false;  
253 - }  
254 - }  
255 -  
256 - if(!isset($store[$k['store_id']])){  
257 $store1 = new \app\admin\model\Store(); 238 $store1 = new \app\admin\model\Store();
258 $store1 = $store1->where(['id'=>$k['store_id']])->find(); 239 $store1 = $store1->where(['id'=>$k['store_id']])->find();
259 - if(empty($store1)){  
260 - continue;  
261 - }  
262 $store1 = $store1->toArray(); 240 $store1 = $store1->toArray();
263 - $store1['start'] = $k['start'];  
264 - $store1['end'] = $k['end']; 241 + $store1['start'] = 2000000000;
  242 + $store1['end'] = 1;
265 $store1['course'] = []; 243 $store1['course'] = [];
266 $store[$k['store_id']] = $store1; 244 $store[$k['store_id']] = $store1;
267 } 245 }
268 - if( $k['start'] < $store[$k['store_id']]['start']){  
269 - $store[$k['store_id']]['start'] = $k['start'];  
270 - }  
271 - if( $k['end'] > $store[$k['store_id']]['end']){  
272 - $store[$k['store_id']]['end'] = $k['end'];  
273 - } 246 + }
274 247
275 - $sign = new \app\admin\model\CourseSign();  
276 - $k['sign_count'] = $sign->where(['course_store_id'=>$k['id']])->count();  
277 - $store[$k['store_id']]['course'][] = $k; 248 + foreach ($store_id as $v){
  249 +
  250 + $courseStore = new \app\admin\model\CourseStore();
  251 + $where['course_id'] = $id;
  252 + $where['status'] = 'confirmed';
  253 + $where['store_id'] = $v;
  254 + $where['is_end'] = false;
  255 + $where['end'] = ['>',date('Y-m-d H:i:s')];
  256 + $courseStore = $courseStore->where($where)->order('date','asc')->select();
  257 +
  258 + foreach ($courseStore as $k){
  259 + $k['enable'] = true;
  260 + if(!empty($user_id)){
  261 + $sign = new \app\admin\model\CourseSign();
  262 + $sign = $sign->where(['course_store_id'=>$k['id'],'user_id'=>$user_id])->find();
  263 + if(!empty($sign)){
  264 + $k['enable'] = false;
  265 + }
  266 + }
  267 +
  268 + if(!isset($store[$k['store_id']])){
  269 + $store1 = new \app\admin\model\Store();
  270 + $store1 = $store1->where(['id'=>$k['store_id']])->find();
  271 + if(empty($store1)){
  272 + continue;
  273 + }
  274 + $store1 = $store1->toArray();
  275 + $store1['start'] = $k['start'];
  276 + $store1['end'] = $k['end'];
  277 + $store1['course'] = [];
  278 + $store[$k['store_id']] = $store1;
  279 + }
  280 + if( $k['start'] < $store[$k['store_id']]['start']){
  281 + $store[$k['store_id']]['start'] = $k['start'];
  282 + }
  283 + if( $k['end'] > $store[$k['store_id']]['end']){
  284 + $store[$k['store_id']]['end'] = $k['end'];
  285 + }
  286 +
  287 + $sign = new \app\admin\model\CourseSign();
  288 + $k['sign_count'] = $sign->where(['course_store_id'=>$k['id']])->count();
  289 + $store[$k['store_id']]['course'][] = $k;
  290 + }
278 } 291 }
279 292
  293 +
280 $course['store'] = array_values($store); 294 $course['store'] = array_values($store);
281 295
282 /* foreach ($course['store'] as &$k){ 296 /* foreach ($course['store'] as &$k){