',date('Y-m-d H:i:s',time())]; // 有效使用时间 $params[] = ['valid_end_time','<',date('Y-m-d H:i:s',time())]; // 过期使用时间 $coupon_params = array(); $coupon_params[] = ['coupon_client','=',$coupon_client]; $coupon_params[] = ['coupon_status','=',1]; // 状态(1:正常 2:强制失效 3:结束 4:删除) $coupon_params[] = ['application_scope','in',[1,$inquiry_type]]; // 适用范围(1:全部 2:快速问诊 3:专家问诊 4:公益问诊 5:问诊购药) $user_coupon = UserCoupon::getWithCouponList($params,$coupon_params); if (empty($user_coupon)){ return array(); } return $user_coupon->toArray(); } /** * 发放用户优惠卷 * @param int $distribution_object 发放对象(1:新注册用户 2:会员 3:近期消费 4:近期购药) * @param string $user_id * @param string $patient_id * @param int $coupon_client 使用平台(1:小程序) * @return bool */ public function DistributeCoupon(int $distribution_object,string $user_id,string $patient_id,int $coupon_client = 1): bool { $params = array(); $params['coupon_client'] = $coupon_client; $params['coupon_status'] = 1; $params['distribution_object'] = $distribution_object; // 发放对象(1:新注册用户 2:会员 3:近期消费 4:近期购药) $coupon = Coupon::getList($params); if (empty($coupon)){ return true; } foreach ($coupon as $key => $value){ // 判断发放数量 if ($value['coupon_count'] == $value['coupon_take_count']){ continue; } // 进行发放 $data = array(); $data['user_id'] = $user_id; $data['patient_id'] = $patient_id; $data['coupon_id'] = $value['coupon_id']; if ($value['valid_type'] == 1){ // 有效类型(1:绝对时效,xxx-xxx时间段有效 2:相对时效 n天内有效) $data['valid_start_time'] = $value['valid_start_time']; // 有效使用时间 $data['valid_end_time'] = $value['valid_end_time']; // 过期使用时间 }elseif ($value['valid_type'] == 2){ // 有效类型(1:绝对时效,xxx-xxx时间段有效 2:相对时效 n天内有效) $data['valid_start_time'] = date('Y-m-d H:i:s',time()); // 有效使用时间 $data['valid_end_time'] = date("Y-m-d H:i:s",strtotime($value['valid_days'] . " day")); }else{ return false; } $res = UserCoupon::addUserCoupon($data); if (empty($res)){ return false; } } return true; } }