/**
*@退款专用
*@ author renhui
*@ WARN_REFUND_BALANCE 退款金额
*@ desc:账号余额不足短信提醒分金额段进行提醒 YPWJ-5757
* 查金额 s 每10分钟执行一次
*/
public function refundSelect()
{
try{
//查金额
$finance = new finance_inc();
$info = $finance->core_balance('a0009ac8027723dd9c5*****00' );
if($info['error']){
throw new Exception($info['error'].$info['error_description']);
}
if($info['success']) {
//金额分转为元
$balance = isset($info[ 'balance' ]) ? bcdiv($info[ 'balance' ], 100, 2) : 0;
//查规则警报金额段
$rules = bru_config(Configure::WARN_REFUND_BALANCE) ? bru_config(Configure::WARN_REFUND_BALANCE) : array();
//去除重复的值并排序,从大到小
$rules = array_unique($rules);
sort($rules);
//入队
if ($rules) {
foreach ($rules as $value) {
if ($balance <= $value) {
//入队
$redis = new BruRedis();
$redis->hSetNx('warn:warn_refund_balance', $value, 0);
echo 'done';
return;
}
}
} else {
throw new Exception('not found warn:warn_refund_balance ');
}
}
}catch(Exception $e){
return $e->getMessage();
}
}
/**
*@退款专用
*@ author renhui
*@ WARN_REFUND_BALANCE 退款金额
*@ desc:账号余额不足短信提醒分金额段进行提醒 YPWJ-5757
* 发送消息s 每10分钟执行一次
*/
public function wap_task_refundPhone()
{
try{
$redis = new BruRedis();
//频率次数
$wf_count = bru_config(Configure::WARN_FREQUENCY) ? bru_config(Configure::WARN_FREQUENCY) : '1';
$reds_key = 'warn:warn_refund_balance';
$send_arr = $redis->hGetAll($reds_key);
if($send_arr)
{
foreach ($send_arr as $k => $v)
{
//获取发放的值
$val = $redis->hGet($reds_key, $k);
if ($val < $wf_count) {
//查金额
$finance = new finance_inc();
$info = $finance->core_balance('a0009ac8027723dd9c5*****00' );//正式的
if($info['success']) {
//金额分转为元
$balance = isset($info[ 'balance' ]) ? bcdiv($info[ 'balance' ], 100, 2) : 0;
}
// 去发放短信或者短消息 todo
$client = new Client(getenv('BEARYCHAT_WEBHOOK'));
$res = $client->send('_退款专用,余额剩余 '.$balance.' 元,金额小于'.$k.'元!');
if($res){
echo 'send ok';
}else{
echo 'send error';
}
//设置为1,表示已经发放,每次+1
$redis->hIncrBy($reds_key, $k, 1);
}
//清空上一条
$last_send_arr = $redis->hGetAll($reds_key);
foreach ($last_send_arr as $key=>$last_v)
{
if($k !=$key){
$redis->hDel($reds_key,$key);
}
}
//清空end
}
}else{
throw new Exception('not found warn:warn_refund_balance ');
}
}catch(Exception $e){
return $e->getMessage();
}
}