getInfo([ ['order_id','=', $data['order_id']], ['legumes_integral_use','>', 0] ],'order_id,site_id,member_id,legumes_integral_use,legumes_integral_money'); if(!$orderInfo) throw new \Exception('信息不存在!'); $useLegumesIntegral = (float)$orderInfo['legumes_integral_use']; // 查询需要使用的分配记录 $useLegumesLogList = (new Legumes())->getUseList((int)$orderInfo['member_id'],(float)$orderInfo['legumes_integral_use']); // 循环处理 $updateData = []; foreach($useLegumesLogList as $logInfo){ $useIntegral = $useLegumesIntegral >= $logInfo['surplus_integral'] ? (float)$logInfo['surplus_integral'] : (float)$useLegumesIntegral; $useLegumesIntegral = (float)sprintf("%.2f",$useLegumesIntegral - $useIntegral); $updateData[] = [ 'id' => $logInfo['id'], 'use_integral' => (float)sprintf("%.2f",$logInfo['use_integral'] + $useIntegral) ]; if($useLegumesIntegral <= 0) break; } // 修改成功信息 if($updateData){ // 修改豆豆积分使用信息 $goodsSkuModel = (new NewBaseModel(['table_name' => 'commission_legumes_log', 'pk' => 'id'])); $goodsSkuModel->saveAll($updateData); // 添加用户账单信息变更记录 $mark = '购买商品使用'.$orderInfo['legumes_integral_use'].'积分抵扣'.floatval($orderInfo['legumes_integral_money']).'元'; model('commission_account')->add([ 'site_id' => $orderInfo['site_id'], 'member_id' => $orderInfo['member_id'], 'join_id' => $orderInfo['order_id'], 'account_type' => 'use_legumes_integral', 'account_type_name' => '积分使用', 'account_data' => '-'.$orderInfo['legumes_integral_use'], 'status' => 1, 'remark' => $mark, ]); } // Db::commit(); } catch(\Exception $e){ // Db::rollback(); $data['error_msg'] = $e->getMessage(); trace($data, '平台抽成 - 豆豆积分抵扣处理 - 失败'); } $job->delete(); } public function failed($data){ trace($data, '平台抽成 - 豆豆积分抵扣处理 - 失败(failed)'); } }