本文共 1518 字,大约阅读时间需要 5 分钟。
// 获取100条数据 $list = $redis->lrange($key, 0, 100); //myvar_dump($list); // 开始redis事务 $redis->multi(); Db::startTrans(); try { // 从list表头取出佣金订单,开始给用户增加佣金 foreach ($list as $k=>$v){ $data = json_decode($v, true); if (!$data) { continue; } $confirmTime = strtotime($data['confirm_time']); if (!$confirmTime) { continue; } // 如果不是待转账状态,或者确认收货后未满7天 $offsetDay = (time() - $confirmTime) / 3600 / 24; if ($data['status'] > 0 || $offsetDay < 6) { continue; } // 用到的字段 $oid = $data['id']; // 佣金订单ID $userid = $data['parent_user_id']; // 收款人ID $money = $data['real_yongjin']; // 收款金额 // 执行增加佣金 Db::execute('update user_user set yongjin_money=yongjin_money +? where user_id =?', [$money, $userid]); // 执行变更佣金订单的状态 Db::execute('update yongjin_order set status =1 where id=?', [$oid]); // 删除表头的数据 $redis->lPop($key); } // 提交redis事务 $redis->exec(); Db::commit(); } catch (\Exception $e) { // redis事务回滚 $redis->discard(); Db::rollback(); Log::error($e->getMessage()); }
转载地址:http://bgeai.baihongyu.com/