MemberWelfare.php 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <?php
  2. namespace app\api\model\member;
  3. use app\api\model\Coupon;
  4. use app\api\model\UserCoupon;
  5. use app\common\model\member\MemberWelfare as MemberWelfareModel;
  6. /**
  7. * 会员卡行为操作模型
  8. * @package app\common\model
  9. */
  10. class MemberWelfare extends MemberWelfareModel
  11. {
  12. protected $append = [];
  13. public static function currMonthWelfare($userId){
  14. $nextM = mktime(0,0,0,date('m') +1,1,date('Y'));
  15. $this_month = date('Y-m-d',$nextM - 1 );
  16. $from_this_month = date('Y-m-01');
  17. $list = self::with(['file'])
  18. ->where('is_delete',0)
  19. ->where('audit_status','=',1)
  20. ->where('start_time','<=',$this_month)
  21. ->where('end_time','>=',$from_this_month)
  22. ->field('id,img,use_up,target_type,coupon_id,order_at')
  23. ->order('order_at asc,id desc')
  24. ->limit(0,5)
  25. ->select()->toArray()/*->each(function (&$item) use ($userId){
  26. $userWelfare = MemberWelfareDraw::where(['user_id'=>$userId,'target_id'=>$item['id']])
  27. ->whereMonth('create_time','this month')
  28. ->field('id,use_status,check_status,user_coupon_id')->find();
  29. $item['has_draw'] = $userWelfare?1:0;
  30. $item['draw_record'] = $userWelfare;
  31. })*/;
  32. $now = Date("Y-m-d H:i:s",time());
  33. foreach ($list as $key=>&$item){
  34. //检查券是否过期
  35. if ($item['target_type'] == 1){
  36. $cp = Coupon::where('coupon_id',$item['coupon_id'])->where('status',1)
  37. ->where('audit_status',10)->where('end_time','>',$now)->find();
  38. if (empty($cp)){
  39. unset($list[$key]);continue;
  40. }
  41. }
  42. $userWelfare = MemberWelfareDraw::where(['user_id'=>$userId,'target_id'=>$item['id']])
  43. ->whereMonth('create_time','this month')
  44. ->field('id,use_status,check_status,user_coupon_id')->find();
  45. $item['has_draw'] = $userWelfare?1:0;
  46. $item['draw_record'] = $userWelfare;
  47. }
  48. return array_values($list);
  49. }
  50. }