diff --git a/game-server/app/servers/guild/handler/guildHandler.ts b/game-server/app/servers/guild/handler/guildHandler.ts index 4e93dbd32..ffe6dc57d 100644 --- a/game-server/app/servers/guild/handler/guildHandler.ts +++ b/game-server/app/servers/guild/handler/guildHandler.ts @@ -55,6 +55,11 @@ export class GuildHandler { return resResult(STATUS.DAILY_REFRESH_GOLD_LACK); } + // 检查是否充值过 + if(ARMY.ARMY_CREAT_CONDITION > role.totalPay) { + return resResult(STATUS.GUILD_PAY_CONDITION); + } + await handleCost(roleId, sid, [getGoldObject(ARMY.ARMY_CREAT_COST)]); // 创建公会 diff --git a/game-server/app/services/orderService.ts b/game-server/app/services/orderService.ts index fd5f45785..d3d2fcaa3 100644 --- a/game-server/app/services/orderService.ts +++ b/game-server/app/services/orderService.ts @@ -38,7 +38,7 @@ export async function makeOrder(localOrderID: string, sid: string, orderInfo: Us let payType = orderInfo.payType;//支付类型 let roleId = orderInfo.roleId;//角色 - const roleInfo = await RoleModel.findByRoleId(roleId); + const roleInfo = await RoleModel.increaseTotalPay(roleId, price); let rewardResult: any = { code: 0, data: null }; diff --git a/shared/consts/constModules/selectConst.ts b/shared/consts/constModules/selectConst.ts index bf9eb45f1..7228d1033 100644 --- a/shared/consts/constModules/selectConst.ts +++ b/shared/consts/constModules/selectConst.ts @@ -49,4 +49,4 @@ export enum FRIEND_SHIP_SELECT { GET_FRIEND_VALUE = 'friendValue friendLv' } -export const ENTERY_ROLE_PICK = ['roleId', 'roleName', 'serverId', 'ce', 'topLineupCe', 'coin', 'lv', 'exp', 'vLv', 'gold', 'heros', 'equips', 'consumeGoods', 'title', 'teraphs', 'showLineup', 'heads', 'head', 'frames', 'frame', 'spines', 'spine', 'hasGuild', 'guildCode', 'todayZeroPoint', 'apJson', 'skins']; \ No newline at end of file +export const ENTERY_ROLE_PICK = ['roleId', 'roleName', 'serverId', 'ce', 'topLineupCe', 'coin', 'lv', 'exp', 'vLv', 'gold', 'heros', 'equips', 'consumeGoods', 'title', 'teraphs', 'showLineup', 'heads', 'head', 'frames', 'frame', 'spines', 'spine', 'hasGuild', 'guildCode', 'todayZeroPoint', 'apJson', 'skins', 'totalPay']; \ No newline at end of file diff --git a/shared/consts/statusCode.ts b/shared/consts/statusCode.ts index 81869b34d..f82679f37 100644 --- a/shared/consts/statusCode.ts +++ b/shared/consts/statusCode.ts @@ -175,6 +175,7 @@ export const STATUS = { HAS_REACH_WISH_DONATE_COUNT_LIMIT: { code: 20929, simStr: '今日捐赠次数已用完,不能捐赠' }, HAS_RECEIVE_WISH_GOOD: { code: 20930, simStr: '玩家已经收到许愿物品' }, NOT_WISH_THE_QUALITY_GOODS: { code: 20931, simStr: '不能够许愿该品质的物品' }, + GUILD_PAY_CONDITION: { code: 20932, simStr: '充值金额不足' }, GUILD_SCRIPT_IS_OPENED_TODAY: { code: 20950, simStr: '今日演武场已开启' }, GUILD_SCRIPT_NOT_OPENED: { code: 20951, simStr: '演武场未开启' }, diff --git a/shared/db/Role.ts b/shared/db/Role.ts index 8882d8694..a5b23aff1 100644 --- a/shared/db/Role.ts +++ b/shared/db/Role.ts @@ -713,6 +713,13 @@ export default class Role extends BaseModel { const role: RoleType = await RoleModel.findOneAndUpdate({ roleId }, { $inc: { equipCount: count } }, { new: true }).lean(); return role; } + + + // 支付记录 + public static async increaseTotalPay(roleId: string, price: number) { + const role: RoleType = await RoleModel.findOneAndUpdate({ roleId }, { $inc: { totalPay: price } }, { new: true }).lean(); + return role; + } } export const RoleModel = getModelForClass(Role);