post('quota_id', []); if (!$quotaIds) { return json_fail("参数异常"); } $quotas = MemberQuota::whereIn('member_quota_id', $quotaIds)->get()->toArray(); $memberIds = array_column($quotas, 'join_quota_member_id'); if (count(array_unique($memberIds)) > 1) { return json_fail("不可同时核销多个会员的权益"); } $status = array_column($quotas, 'member_quota_status'); if (in_array('USED', $status) || in_array('CANCEL',$status)) { return json_fail('存在已核销 / 无效的权益,请重新选择'); } try { $member = Member::find(current($memberIds)); $mobile = $member->member_mobile; $code = random_string(6, 'number'); $key = self::KEY_PREFIX . 'QUOTA:' . $mobile; Redis::set($key, $code); Redis::expire($key, 600); Sms::app()->send($mobile, [ 'template' => 'SMS_240865706', 'data' => [ 'code' => $code ], ]); } catch (\Exception $e) { return json_fail("短信发送失败,请稍后重试"); } return json_success('success'); } }