diff --git a/game-server/app/services/normalBattleService.ts b/game-server/app/services/normalBattleService.ts index aa1641f1b..7ec350b5a 100644 --- a/game-server/app/services/normalBattleService.ts +++ b/game-server/app/services/normalBattleService.ts @@ -4,7 +4,7 @@ import Role, { RoleModel, RoleType, WarCount } from '../db/Role' import { getLvByExp, getExpByLv, gameData, getDicApByLv } from '../pubUtils/data'; import { updateRoleOnlineInfo, updateUserInfo } from './redisService'; // import { switchOnFunc } from './funcSwitchService'; -import { FUNC_OPT_TYPE, TASK_TYPE, WAR_TYPE, STATUS, KING_EXP_RATIO_TYPE, ITEM_CHANGE_REASON, POP_UP_SHOP_CONDITION_TYPE, HERO_SYSTEM_TYPE, PUSH_ROUTE, REBATE_LV } from '../consts'; +import { FUNC_OPT_TYPE, TASK_TYPE, WAR_TYPE, STATUS, KING_EXP_RATIO_TYPE, ITEM_CHANGE_REASON, POP_UP_SHOP_CONDITION_TYPE, HERO_SYSTEM_TYPE, PUSH_ROUTE } from '../consts'; import { BackendSession, pinus } from 'pinus'; import { REDIS_KEY } from '../consts'; import { Rank } from './rankService'; @@ -19,7 +19,7 @@ import { checkPopUpCondition } from './activity/popUpShopService'; import { calculateCeWithRole } from './playerCeService'; import { sendMessageToUserWithSuc } from './pushService'; import { ActionPointModel } from '../db/ActionPoint'; -import { GK_MAIN, GK_MAINELITE } from '../pubUtils/dicParam'; +import { GK_MAIN, GK_MAINELITE, RECHARGE } from '../pubUtils/dicParam'; import { rebateHistoryOrder } from './orderService'; export async function roleLevelup(type: KING_EXP_RATIO_TYPE, roleId: string, kingExp: number = 0, session: BackendSession) { @@ -53,7 +53,7 @@ export async function roleLevelup(type: KING_EXP_RATIO_TYPE, roleId: string, kin await updateRoleOnlineInfo(roleId, { lv: newLv }); // 达到等级返利 - if(lv < REBATE_LV && newLv >= REBATE_LV) { + if(lv < RECHARGE.RECHARGE_RMB_RETURN_LEVEL_LIMITED && newLv >= RECHARGE.RECHARGE_RMB_RETURN_LEVEL_LIMITED) { rebateHistoryOrder(roleId, role.userInfo?.uid); } } diff --git a/game-server/app/services/orderService.ts b/game-server/app/services/orderService.ts index f860e0272..65e9cd4f0 100644 --- a/game-server/app/services/orderService.ts +++ b/game-server/app/services/orderService.ts @@ -1,5 +1,5 @@ import { UserOrderModel, UserOrderModelType } from '../db/UserOrder'; -import { ACTIVITY_TYPE, DEBUG_PRICE, MAIL_TYPE, ORDER_STATE, PAY_TYPE, PUSH_ROUTE, REBATE_RATIO, REFUND_PRICE_TO_GOLD, STATUS, TASK_TYPE, TA_EVENT, TA_USERSET_TYPE } from '../consts'; +import { ACTIVITY_TYPE, DEBUG_PRICE, MAIL_TYPE, ORDER_STATE, PAY_TYPE, PUSH_ROUTE, REFUND_PRICE_TO_GOLD, STATUS, TASK_TYPE, TA_EVENT, TA_USERSET_TYPE } from '../consts'; import { dicRMB } from '../pubUtils/dictionary/DicRMB'; import { makeYuanbaoShopReward } from './activity/yuanbaoService'; import { RoleModel } from '../db/Role'; @@ -17,7 +17,7 @@ import { makeSelfServerShop } from './activity/selfServiceShopActivityService'; import { makeRefreshShopReward } from './activity/refreshShopService'; import { ActivityMonopolyModel, ActivityMonopolyModelType } from '../db/ActivityMonopoly'; import { ActivityMonopolyLandModel, ActivityMonopolyLandModelType } from '../db/ActivityMonopolyLand'; -import { resResult } from '../pubUtils/util'; +import { parseGoodStr, resResult } from '../pubUtils/util'; import { checkOrderWX } from './pay/weixinPay'; import { addRechargeMoney } from './activity/rechargeMoneyService'; import { addVipRechargeMoney } from './activity/vipRechargeMoneyService'; @@ -38,6 +38,7 @@ import { UserModel } from '../db/User'; import { HistoryOrderModel } from '../db/HistoryOrder'; import { sendMailByContent } from './mailService'; import { getGoldObject } from './role/rewardService'; +import { RECHARGE } from '../pubUtils/dicParam'; export async function checkOrderCanBuy(roleId: string, serverId: number, activityData: ActivityModelType, productID: string, paramStr: string) { let activityId = activityData.activityId; @@ -362,7 +363,13 @@ export async function rebateHistoryOrder(roleId: string, uid: number) { if(historyOrder && !historyOrder.isReceived) { let totalPay = historyOrder.totalPay; if(totalPay > 0) { - await sendMailByContent(MAIL_TYPE.REBATE, roleId, { goods: [getGoldObject(totalPay * REBATE_RATIO)] }); + let gold = 0; + let goods = parseGoodStr(RECHARGE.RECHARGE_RMB_RETURN_RATIO).map(({ id, count }) => { + let result = Math.floor(count * totalPay) + gold += result; + return { id, count: result } + }); + await sendMailByContent(MAIL_TYPE.REBATE, roleId, { goods, params: [`${totalPay}`, `${gold}`] }); await HistoryOrderModel.receive(user.channelId, roleId); } } diff --git a/shared/consts/constModules/sysConst.ts b/shared/consts/constModules/sysConst.ts index 2f137f630..c450ac1f6 100644 --- a/shared/consts/constModules/sysConst.ts +++ b/shared/consts/constModules/sysConst.ts @@ -1145,8 +1145,4 @@ export enum SYSTEM_OPEN_ID { EXPEDITION = 36, // 远征 } -export const DEBUG_PRICE = 0.01; - -// 返利等级 -export const REBATE_LV = 10; -export const REBATE_RATIO = 10; \ No newline at end of file +export const DEBUG_PRICE = 0.01; \ No newline at end of file diff --git a/shared/db/HistoryOrder.ts b/shared/db/HistoryOrder.ts index cfa02842b..57d71f339 100644 --- a/shared/db/HistoryOrder.ts +++ b/shared/db/HistoryOrder.ts @@ -35,7 +35,7 @@ export default class HistoryOrder extends BaseModel { } public static async receive(channelId: string, roleId: string) { - let result: HistoryOrderModelType = await HistoryOrderModel.findOneAndUpdate({ channelId }, { $set: { isReceived: true, roleId } }, { new: true }).lean(); + let result: HistoryOrderModelType = await HistoryOrderModel.findOneAndUpdate({ channelId }, { $set: { isReceived: true, receiveRoleId: roleId } }, { new: true }).lean(); return result; } }