|
@@ -291,8 +291,7 @@ const syncBaseEvents = ({ mk, games, outrights }) => {
|
|
|
|
|
|
|
|
const {
|
|
const {
|
|
|
expireTimeEvents, expireTimeSpecial,
|
|
expireTimeEvents, expireTimeSpecial,
|
|
|
- subsidyTime, subsidyAmount,
|
|
|
|
|
- subsidyRbWmAmount, subsidyRbOtAmount,
|
|
|
|
|
|
|
+ innerRouSubsidyValue, innerWmSubsidyRatio, innerOtSubsidyRatio,
|
|
|
innerOuMinValue,
|
|
innerOuMinValue,
|
|
|
} = getSetting();
|
|
} = getSetting();
|
|
|
const nowTime = Date.now();
|
|
const nowTime = Date.now();
|
|
@@ -309,32 +308,33 @@ const syncBaseEvents = ({ mk, games, outrights }) => {
|
|
|
const { eventId, originId, stage, retime, score, wm, evtime, events } = game;
|
|
const { eventId, originId, stage, retime, score, wm, evtime, events } = game;
|
|
|
const baseGame = baseMap.get(eventId);
|
|
const baseGame = baseMap.get(eventId);
|
|
|
if (baseGame) {
|
|
if (baseGame) {
|
|
|
- const { mk, timestamp } = baseGame;
|
|
|
|
|
- const isRb = (mk == 2);
|
|
|
|
|
- const isSubsidy = timestamp > nowTime && timestamp < nowTime + 1000*60*60*subsidyTime;
|
|
|
|
|
Object.keys(events).forEach(ior => {
|
|
Object.keys(events).forEach(ior => {
|
|
|
- // 滚球胜平负补水
|
|
|
|
|
- if (isRb && (ior.startsWith('ior_r') || ior.startsWith('ior_m') || ior.startsWith('ior_wm')) && subsidyRbWmAmount) {
|
|
|
|
|
|
|
+ const regRm = /^ior_(r|mh|mc)/;
|
|
|
|
|
+ const regWm = /^ior_(wm|mn)/;
|
|
|
|
|
+ const regOu = /^ior_ou/;
|
|
|
|
|
+ const regOt = /^ior_ot/;
|
|
|
|
|
+ // 胜负/让胜负/大小球调水(数值)
|
|
|
|
|
+ if ((regRm.test(ior) || regOu.test(ior)) && innerRouSubsidyValue) {
|
|
|
const sourceOdds = events[ior].v;
|
|
const sourceOdds = events[ior].v;
|
|
|
- events[ior].v = fixFloat(sourceOdds * (1 + subsidyRbWmAmount), 3);
|
|
|
|
|
|
|
+ events[ior].v = fixFloat(sourceOdds + innerRouSubsidyValue, 3);
|
|
|
events[ior].s = sourceOdds;
|
|
events[ior].s = sourceOdds;
|
|
|
}
|
|
}
|
|
|
- // 滚球进球数补水
|
|
|
|
|
- // API采集特殊盘口用
|
|
|
|
|
- else if (isRb && ior.startsWith('ior_ot') && subsidyRbOtAmount) {
|
|
|
|
|
|
|
+ // 平局/让平调水(%)
|
|
|
|
|
+ else if (regWm.test(ior) && innerWmSubsidyRatio) {
|
|
|
const sourceOdds = events[ior].v;
|
|
const sourceOdds = events[ior].v;
|
|
|
- events[ior].v = fixFloat(sourceOdds * (1 + subsidyRbOtAmount), 3);
|
|
|
|
|
|
|
+ events[ior].v = fixFloat(sourceOdds * (1 + innerWmSubsidyRatio / 100), 3);
|
|
|
events[ior].s = sourceOdds;
|
|
events[ior].s = sourceOdds;
|
|
|
}
|
|
}
|
|
|
- // 赛前进球数补水
|
|
|
|
|
- // API采集特殊盘口用
|
|
|
|
|
- else if (!isRb && isSubsidy && ior.startsWith('ior_ot') && subsidyAmount) {
|
|
|
|
|
|
|
+ // 进球数调水(%)
|
|
|
|
|
+ else if (regOt.test(ior) && innerOtSubsidyRatio) {
|
|
|
const sourceOdds = events[ior].v;
|
|
const sourceOdds = events[ior].v;
|
|
|
- events[ior].v = fixFloat(sourceOdds * (1 + subsidyAmount), 3);
|
|
|
|
|
|
|
+ events[ior].v = fixFloat(sourceOdds * (1 + innerOtSubsidyRatio / 100), 3);
|
|
|
events[ior].s = sourceOdds;
|
|
events[ior].s = sourceOdds;
|
|
|
}
|
|
}
|
|
|
- else if (ior.startsWith('ior_ou')) {
|
|
|
|
|
- events[ior].q = events[ior]?.v < innerOuMinValue ? 0 : 1;
|
|
|
|
|
|
|
+ // 大小球最低赔率
|
|
|
|
|
+ if (regOu.test(ior) && innerOuMinValue) {
|
|
|
|
|
+ const sourceOdds = events[ior].s ?? events[ior].v ?? 1;
|
|
|
|
|
+ events[ior].q = sourceOdds < innerOuMinValue ? 0 : 1;
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
|
baseGame.originId = originId;
|
|
baseGame.originId = originId;
|
|
@@ -1418,6 +1418,7 @@ const syncQbossConfig = () => {
|
|
|
qboss_jq_add_odds, qboss_jq_add_hours,
|
|
qboss_jq_add_odds, qboss_jq_add_hours,
|
|
|
qboss_gq_add_dy_odds, qboss_gq_add_jq_odds,
|
|
qboss_gq_add_dy_odds, qboss_gq_add_jq_odds,
|
|
|
bc_before_hours,
|
|
bc_before_hours,
|
|
|
|
|
+ qboss_ts_sfdx_odds_add, qboss_ts_pjrq_odds_add, qboss_ts_jqs_odds_add,
|
|
|
} = data.data;
|
|
} = data.data;
|
|
|
const qbossSetting = {
|
|
const qbossSetting = {
|
|
|
innerRebateRatio: qboss_return_ratio ? +qboss_return_ratio : 0,
|
|
innerRebateRatio: qboss_return_ratio ? +qboss_return_ratio : 0,
|
|
@@ -1436,6 +1437,9 @@ const syncQbossConfig = () => {
|
|
|
subsidyAmount: qboss_jq_add_odds ? +qboss_jq_add_odds : 0,
|
|
subsidyAmount: qboss_jq_add_odds ? +qboss_jq_add_odds : 0,
|
|
|
subsidyRbWmAmount: qboss_gq_add_dy_odds ? +qboss_gq_add_dy_odds : 0,
|
|
subsidyRbWmAmount: qboss_gq_add_dy_odds ? +qboss_gq_add_dy_odds : 0,
|
|
|
subsidyRbOtAmount: qboss_gq_add_jq_odds ? +qboss_gq_add_jq_odds : 0,
|
|
subsidyRbOtAmount: qboss_gq_add_jq_odds ? +qboss_gq_add_jq_odds : 0,
|
|
|
|
|
+ innerRouSubsidyValue: qboss_ts_sfdx_odds_add ? +qboss_ts_sfdx_odds_add : 0,
|
|
|
|
|
+ innerWmSubsidyRatio: qboss_ts_pjrq_odds_add ? +qboss_ts_pjrq_odds_add : 0,
|
|
|
|
|
+ innerOtSubsidyRatio: qboss_ts_jqs_odds_add ? +qboss_ts_jqs_odds_add : 0,
|
|
|
halfTimeActiveTime: bc_before_hours ? +bc_before_hours : 0,
|
|
halfTimeActiveTime: bc_before_hours ? +bc_before_hours : 0,
|
|
|
};
|
|
};
|
|
|
Logs.outDev('syncQbossConfig', qbossSetting);
|
|
Logs.outDev('syncQbossConfig', qbossSetting);
|