Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

MemberCoursePackageModel.php 1.7KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <?php
  2. namespace app\model\store\yoga;
  3. use app\common\model\CommonModel;
  4. use app\model\store\yoga\CoursePackageModel;
  5. class MemberCoursePackageModel extends CommonModel{
  6. protected $name = 'yoga_member_course_package';
  7. protected $pk = 'member_course_package_id';
  8. protected $type=[
  9. 'pay_info' => 'array',
  10. ];
  11. public function coursepackage(){
  12. return $this->hasOne(CoursePackageModel::class,'course_package_id','course_package_id');
  13. }
  14. public function member()
  15. {
  16. return $this->hasOne(MemberModel::class,'member_id','member_id');
  17. }
  18. public function items()
  19. {
  20. return $this->hasMany(MemberCoursePackageItemModel::class,'member_course_package_id','member_course_package_id');
  21. }
  22. public function getStatusMeansAttr($value,$data)
  23. {
  24. $today=date("Y-m-d");
  25. if($data['status']==8) return '已完成';
  26. if($data['status']==1 && $data['valid_end_time']>=$today) return '待消费';
  27. if($data['status']==1 && $data['valid_end_time']<$today) return '已过期';
  28. return '状态异常';
  29. }
  30. //前台需要
  31. public function getStatusAnotherAttr($value,$data){
  32. $today=date("Y-m-d");
  33. if($data['status'] == 8) return 8;
  34. if($data['status']==1 && $data['valid_end_time']>=$today) return 1;
  35. return -1;
  36. }
  37. public function getPayTimeFormatAttr($value,$data){
  38. return $data['pay_time'] ? date('Y-m-d H:i:s',$data['pay_time']) : '-';
  39. }
  40. public function getPayTypeMeanAttr($value,$data)
  41. {
  42. $type_means=[
  43. 'weixin'=>'微信支付',
  44. 'money'=>'余额支付',
  45. 'offline' => '代客下单',
  46. ];
  47. return $type_means[$data['pay_type']] ?? '-';
  48. }
  49. }