diff --git a/game-server/app/services/orderService.ts b/game-server/app/services/orderService.ts index 4eff1c735..2a3dec6e8 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, ORDER_STATE, PAY_TYPE, STATUS, TASK_TYPE, TA_EVENT, TA_USERSET_TYPE } from '../consts'; +import { ACTIVITY_TYPE, ORDER_STATE, PAY_TYPE, 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'; @@ -303,6 +303,14 @@ export async function refundOrderFromRedisPub(message: string) { return false; } + let price = order.price; + let refundGold = price * REFUND_PRICE_TO_GOLD; + let role = await RoleModel.incRoleInfo(order.roleId, { gold: -refundGold }, {}); + let onlineUser = await getRoleOnlineInfo(order.roleId); + let sid = onlineUser.sid; + pinus.app.get('channelService').pushMessageByUids('onPlayerDataChange', resResult(STATUS.SUCCESS, { + gold: role.gold + }), [{uid: order.roleId, sid}]); await UserOrderModel.refund(order.roleId, order.localOrderID, message); return true diff --git a/shared/consts/constModules/sysConst.ts b/shared/consts/constModules/sysConst.ts index a68d6a3f4..6ba6723cc 100644 --- a/shared/consts/constModules/sysConst.ts +++ b/shared/consts/constModules/sysConst.ts @@ -1101,4 +1101,6 @@ export enum TALENT_RELATION_TYPE { NORMAL = 1, // 正常 CONFLICT = 2, // 冲突 REPLACE = 3, // 替换 -} \ No newline at end of file +} + +export const REFUND_PRICE_TO_GOLD = 10; // 退款以价格*10扣除元宝 \ No newline at end of file