巡检.md 1.5 KB

if (ad.is_new) {
    // 新广告规则
    const rules = config.patrol.rules_new;

    // 规则1: 消耗>100元 & ROI<rules.roi_min_100 -> 暂停
    if (costYuan > 100 && roi < rules.roi_min_100) {
      return `新广告消耗${costYuan}元>100元 且 ROI=${roi.toFixed(3)}<${rules.roi_min_100}`;
    }

    // 规则2: 消耗>50元 & ROI<rules.roi_min_50 -> 暂停
    if (costYuan > 50 && roi < rules.roi_min_50) {
      return `新广告消耗${costYuan}元>50元 且 ROI=${roi.toFixed(3)}<${rules.roi_min_50}`;
    }

    // 规则3: 消耗>30元 & 粉价>rules.scan_cost_max -> 暂停
    if (costYuan > 30 && scanCostFen > rules.scan_cost_max) {
      return `新广告消耗${costYuan}元>30元 且 粉价=${fenToYuan(scanCostFen)}元>${fenToYuan(rules.scan_cost_max)}元`;
    }
  } else {
    // 老广告规则
    const rules = config.patrol.rules_old;

    // 规则1: 消耗>50元 & ROI<rules.roi_min_50 -> 暂停
    if (costYuan > 50 && roi < rules.roi_min_50) {
      return `老广告消耗${costYuan}元>50元 且 ROI=${roi.toFixed(3)}<${rules.roi_min_50}`;
    }

    // 规则2: 消耗>30元 & ROI<rules.roi_min_30 -> 暂停
    if (costYuan > 30 && roi < rules.roi_min_30) {
      return `老广告消耗${costYuan}元>30元 且 ROI=${roi.toFixed(3)}<${rules.roi_min_30}`;
    }

    // 规则3: 粉价>rules.scan_cost_max -> 暂停(不限消耗门槛)
    if (scanCostFen > rules.scan_cost_max) {
      return `老广告粉价=${fenToYuan(scanCostFen)}元>${fenToYuan(rules.scan_cost_max)}元`;
    }
  }