Merge branch 'master' of https://gitlab.trgame.cn/zyztech/zyz_server
# Conflicts: # shared/resource/jsons/dic_goods.json
This commit is contained in:
@@ -205,7 +205,7 @@ export class ExpeditionBattleHandler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
let role = await RoleModel.findByRoleId(roleId, 'lv');
|
let role = await RoleModel.findByRoleId(roleId, 'lv');
|
||||||
let apJson = await setAp(roleId, role.lv, -1 * warInfo.cost, sid, funcs); // 扣除体力
|
let apJson = await setAp(roleId, role.lv, isSuccess?-1 * warInfo.cost: 0, sid, funcs); // 扣除体力
|
||||||
if (!apJson) {
|
if (!apJson) {
|
||||||
return resResult(STATUS.BATTLE_ACTION_POINT_LACK);
|
return resResult(STATUS.BATTLE_ACTION_POINT_LACK);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -156,7 +156,7 @@ export class NormalBattleHandler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
let role = await RoleModel.findByRoleId(roleId, 'lv');
|
let role = await RoleModel.findByRoleId(roleId, 'lv');
|
||||||
let apJson = await setAp(roleId, role.lv, -1 * warInfo.cost, sid, funcs); // 扣除体力
|
let apJson = await setAp(roleId, role.lv, isSuccess? -1 * warInfo.cost: 0, sid, funcs); // 扣除体力
|
||||||
if (!apJson) {
|
if (!apJson) {
|
||||||
return resResult(STATUS.BATTLE_ACTION_POINT_LACK);
|
return resResult(STATUS.BATTLE_ACTION_POINT_LACK);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -203,7 +203,7 @@ export class GmHandler {
|
|||||||
const uid = session.get('uid');
|
const uid = session.get('uid');
|
||||||
const maintenance = await MaintenanceModel.updateStatusByCode(code, false, uid);
|
const maintenance = await MaintenanceModel.updateStatusByCode(code, false, uid);
|
||||||
if(!maintenance) return resResult(STATUS.WRONG_PARMS);
|
if(!maintenance) return resResult(STATUS.WRONG_PARMS);
|
||||||
await stopMaintenance(maintenance);
|
await stopMaintenance(maintenance, uid);
|
||||||
|
|
||||||
return resResult(STATUS.SUCCESS,);
|
return resResult(STATUS.SUCCESS,);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,6 +9,8 @@ import { pinus } from "pinus";
|
|||||||
import { getWorldChannelSid } from "./chatChannelService";
|
import { getWorldChannelSid } from "./chatChannelService";
|
||||||
import { ServerlistModel } from "../db/Serverlist";
|
import { ServerlistModel } from "../db/Serverlist";
|
||||||
import { NoticeModel, NoticeType } from "../db/Notice";
|
import { NoticeModel, NoticeType } from "../db/Notice";
|
||||||
|
import { SendMailFun } from "./mailService";
|
||||||
|
import { GMMailType } from '../db/GMMail';
|
||||||
|
|
||||||
// —————————————— 跑马灯 —————————————— //
|
// —————————————— 跑马灯 —————————————— //
|
||||||
// 初始
|
// 初始
|
||||||
@@ -146,8 +148,8 @@ async function startMaintenance(maintenance: MaintenanceType, startJob?: Job) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 停止维护
|
// 停止维护
|
||||||
export async function stopMaintenance(maintenance: MaintenanceType) {
|
export async function stopMaintenance(maintenance: MaintenanceType, uid: number) {
|
||||||
let { serverIds, notice, marquee } = maintenance;
|
let { serverIds, notice, marquee, mail } = maintenance;
|
||||||
// 更新serverlist上的status
|
// 更新serverlist上的status
|
||||||
await ServerlistModel.updateByServerIds(serverIds, { serverStatus: SERVER_STATUS.HOT });
|
await ServerlistModel.updateByServerIds(serverIds, { serverStatus: SERVER_STATUS.HOT });
|
||||||
// 更新notice的isEnable
|
// 更新notice的isEnable
|
||||||
@@ -164,4 +166,11 @@ export async function stopMaintenance(maintenance: MaintenanceType) {
|
|||||||
if(marquee) {
|
if(marquee) {
|
||||||
await cancelMarquee((<MarqueeType>marquee).code);
|
await cancelMarquee((<MarqueeType>marquee).code);
|
||||||
}
|
}
|
||||||
|
console.log('*****', JSON.stringify(mail));
|
||||||
|
if(mail) {
|
||||||
|
let f = new SendMailFun();
|
||||||
|
await f.setWithGmMail((<GMMailType>mail)._id);
|
||||||
|
await f.sendToServer(serverIds);
|
||||||
|
await f.saveRecord(uid);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -156,10 +156,10 @@ describe('活动测试', function () {
|
|||||||
|
|
||||||
it('大富翁-移动', function (done) {
|
it('大富翁-移动', function (done) {
|
||||||
if (activityId) {
|
if (activityId) {
|
||||||
requestActivity(pinusClient, 'role.heroHandler.addItem', { id: CURRENCY_BY_TYPE.get(CURRENCY_TYPE.SPECIAL_DICE), count: 1 })
|
requestActivity(pinusClient, 'role.heroHandler.addItem', { id: CURRENCY_BY_TYPE.get(CURRENCY_TYPE.NORMAL_DICE), count: 1 })
|
||||||
.then((data: any) => {
|
.then((data: any) => {
|
||||||
checkSuccessResponse(data);
|
checkSuccessResponse(data);
|
||||||
return requestActivity(pinusClient, 'activity.activityMonopolyHandler.move', { activityId: activityId, step: 1 })
|
return requestActivity(pinusClient, 'activity.activityMonopolyHandler.move', { activityId: activityId, step: 0 })
|
||||||
})
|
})
|
||||||
.then((data: any) => {
|
.then((data: any) => {
|
||||||
checkSuccessResponse(data);
|
checkSuccessResponse(data);
|
||||||
|
|||||||
@@ -255,8 +255,6 @@ describe('聊天测试', function () {
|
|||||||
pinusClient.request('role.heroHandler.starUp', { hid: XIAHOUQINGYI_HID, star: i, starStage: j }, (starUpRes) => {
|
pinusClient.request('role.heroHandler.starUp', { hid: XIAHOUQINGYI_HID, star: i, starStage: j }, (starUpRes) => {
|
||||||
if (starUpRes.code === STATUS.ROLE_STAR_REACH_MAX.code) {
|
if (starUpRes.code === STATUS.ROLE_STAR_REACH_MAX.code) {
|
||||||
expect(msgReceiveCnt).to.be.equal(2);
|
expect(msgReceiveCnt).to.be.equal(2);
|
||||||
pinusClientT.off(ON_GROUP_MSG_ROUTE);
|
|
||||||
pinusClient.off(ON_GROUP_MSG_ROUTE);
|
|
||||||
done();
|
done();
|
||||||
} else {
|
} else {
|
||||||
checkSuccessResponse(starUpRes);
|
checkSuccessResponse(starUpRes);
|
||||||
@@ -299,8 +297,6 @@ describe('聊天测试', function () {
|
|||||||
checkSuccessResponse(qualityUpRes);
|
checkSuccessResponse(qualityUpRes);
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
expect(msgReceiveCnt).to.be.equal(2);
|
expect(msgReceiveCnt).to.be.equal(2);
|
||||||
pinusClientT.off(ON_GROUP_MSG_ROUTE);
|
|
||||||
pinusClient.off(ON_GROUP_MSG_ROUTE);
|
|
||||||
done();
|
done();
|
||||||
}, 1000);
|
}, 1000);
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -42,7 +42,6 @@ export default class GameController extends Controller {
|
|||||||
ctx.body = ctx.service.utils.resResult(STATUS.GM_JSON_FORMAT_ERR);
|
ctx.body = ctx.service.utils.resResult(STATUS.GM_JSON_FORMAT_ERR);
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
console.log(goods)
|
|
||||||
|
|
||||||
ctx.body = await ctx.service.game.updateMaintenance(
|
ctx.body = await ctx.service.game.updateMaintenance(
|
||||||
{...values, startTime: new Date(values.startTime)},
|
{...values, startTime: new Date(values.startTime)},
|
||||||
|
|||||||
@@ -86,6 +86,18 @@ export default class UserController extends Controller {
|
|||||||
ctx.body = await ctx.service.users.setHeroLv(roleIdAndHids, lv);
|
ctx.body = await ctx.service.users.setHeroLv(roleIdAndHids, lv);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async setHeroParam() {
|
||||||
|
const { ctx } = this;
|
||||||
|
const { selectedRowKeys: roleIdAndHids, star, colorStar, quality } = ctx.request.body;
|
||||||
|
ctx.body = await ctx.service.users.setHeroParam(roleIdAndHids, star, colorStar, quality);
|
||||||
|
}
|
||||||
|
|
||||||
|
public async setHeroJob() {
|
||||||
|
const { ctx } = this;
|
||||||
|
const { selectedRowKeys: roleIdAndHids, job } = ctx.request.body;
|
||||||
|
ctx.body = await ctx.service.users.setHeroJob(roleIdAndHids, job);
|
||||||
|
}
|
||||||
|
|
||||||
public async saveHeroToDefense() {
|
public async saveHeroToDefense() {
|
||||||
const { ctx } = this;
|
const { ctx } = this;
|
||||||
const { roleId, roleName, hid } = ctx.request.body;
|
const { roleId, roleName, hid } = ctx.request.body;
|
||||||
|
|||||||
@@ -35,6 +35,8 @@ export default (app: Application) => {
|
|||||||
router.post('/api/users/getherolist',tokenParser, controller.users.getHeroList);
|
router.post('/api/users/getherolist',tokenParser, controller.users.getHeroList);
|
||||||
router.post('/api/users/deletehero', tokenParser, controller.users.deleteHero);
|
router.post('/api/users/deletehero', tokenParser, controller.users.deleteHero);
|
||||||
router.post('/api/users/setherolv', tokenParser, controller.users.setHeroLv);
|
router.post('/api/users/setherolv', tokenParser, controller.users.setHeroLv);
|
||||||
|
router.post('/api/users/setheroparam', controller.users.setHeroParam);
|
||||||
|
router.post('/api/users/setherojob', controller.users.setHeroJob);
|
||||||
router.post('/api/users/saveherotodefense',tokenParser, controller.users.saveHeroToDefense);
|
router.post('/api/users/saveherotodefense',tokenParser, controller.users.saveHeroToDefense);
|
||||||
router.post('/api/users/removeherofromdefense',tokenParser, controller.users.removeHeroFromDefense);
|
router.post('/api/users/removeherofromdefense',tokenParser, controller.users.removeHeroFromDefense);
|
||||||
router.post('/api/users/getequiplist', tokenParser, controller.users.getEquipList);
|
router.post('/api/users/getequiplist', tokenParser, controller.users.getEquipList);
|
||||||
|
|||||||
@@ -81,7 +81,7 @@ export default class Game extends Service {
|
|||||||
let curEnv = serverEnv.find(cur => cur.env == this.app.config.env);
|
let curEnv = serverEnv.find(cur => cur.env == this.app.config.env);
|
||||||
|
|
||||||
let marqueeResult = await MarqueeModel.createData({ ...marquee, serverIds: values.serverIds, type: MARQUEE_TYPE.SCHEDULE, isRunning: false }, ctx.user?.uid);
|
let marqueeResult = await MarqueeModel.createData({ ...marquee, serverIds: values.serverIds, type: MARQUEE_TYPE.SCHEDULE, isRunning: false }, ctx.user?.uid);
|
||||||
let noticeResult = await NoticeModel.updateNotice('new', { ...notice, type: 1, sort: 1000, serverType: curEnv?.serverType, isEnable: true }, ctx.user?.uid);
|
let noticeResult = await NoticeModel.updateNotice('new', { ...notice, type: 1, sort: 1000, serverType: curEnv?.serverType, isEnable: false }, ctx.user?.uid);
|
||||||
let mailResult = await GMMailModel.addMail({ ...mail, useTempTime: true }, ctx.user?.uid);
|
let mailResult = await GMMailModel.addMail({ ...mail, useTempTime: true }, ctx.user?.uid);
|
||||||
await MaintenanceModel.createData(values, marqueeResult, noticeResult, mailResult);
|
await MaintenanceModel.createData(values, marqueeResult, noticeResult, mailResult);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ import { FriendRelationModel } from '@db/FriendRelation';
|
|||||||
import { createHero as pubCreateHero, addSkin } from '@pubUtils/itemUtils';
|
import { createHero as pubCreateHero, addSkin } from '@pubUtils/itemUtils';
|
||||||
import { GiftCodeModel } from '@db/GiftCode';
|
import { GiftCodeModel } from '@db/GiftCode';
|
||||||
import { GiftCodeDetailModel } from '@db/GiftCodeDetail';
|
import { GiftCodeDetailModel } from '@db/GiftCodeDetail';
|
||||||
|
// import { resResult } from '@pubUtils/util';
|
||||||
|
|
||||||
// import * as fs from 'fs';
|
// import * as fs from 'fs';
|
||||||
|
|
||||||
@@ -627,6 +628,53 @@ export default class GMUsers extends Service {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async setHeroParam(roleIdAndHids: string[], star: number, colorStar: number, quality: number) {
|
||||||
|
try {
|
||||||
|
const ctx = this.ctx;
|
||||||
|
if (typeof star != 'number'||typeof colorStar != 'number'||typeof quality != 'number') return ctx.service.utils.resResult(STATUS.WRONG_PARMS);
|
||||||
|
|
||||||
|
for (let roleIdAndHid of roleIdAndHids) {
|
||||||
|
let [roleId, hidStr] = roleIdAndHid.split('|');
|
||||||
|
if (isNaN(parseInt(hidStr))) return ctx.service.utils.resResult(STATUS.WRONG_PARMS);
|
||||||
|
|
||||||
|
let hid = parseInt(hidStr);
|
||||||
|
|
||||||
|
let hero = await HeroModel.findByHidAndRole(hid, roleId);
|
||||||
|
console.log(hid, roleId, !!hero);
|
||||||
|
if (!hero) continue;
|
||||||
|
await calPlayerCeAndSave(HERO_SYSTEM_TYPE.LVUP, roleId, hero, { star, colorStar, quality });
|
||||||
|
}
|
||||||
|
|
||||||
|
return ctx.service.utils.resResult(STATUS.SUCCESS);
|
||||||
|
} catch (e) {
|
||||||
|
console.error(e.stack)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public async setHeroJob(roleIdAndHids: string[], job: number) {
|
||||||
|
try {
|
||||||
|
const ctx = this.ctx;
|
||||||
|
if(!gameData.job.has(job)) return ctx.service.utils.resResult(STATUS.WRONG_PARMS);
|
||||||
|
|
||||||
|
for (let roleIdAndHid of roleIdAndHids) {
|
||||||
|
let [roleId, hidStr] = roleIdAndHid.split('|');
|
||||||
|
if (isNaN(parseInt(hidStr))) return ctx.service.utils.resResult(STATUS.WRONG_PARMS);
|
||||||
|
|
||||||
|
let hid = parseInt(hidStr);
|
||||||
|
|
||||||
|
let hero = await HeroModel.findByHidAndRole(hid, roleId);
|
||||||
|
console.log(hid, roleId, !!hero);
|
||||||
|
if (!hero) continue;
|
||||||
|
await calPlayerCeAndSave(HERO_SYSTEM_TYPE.STAGEUP, roleId, hero, { job });
|
||||||
|
}
|
||||||
|
|
||||||
|
return ctx.service.utils.resResult(STATUS.SUCCESS);
|
||||||
|
} catch (e) {
|
||||||
|
console.error(e.stack)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据类型等搜索装备
|
* 根据类型等搜索装备
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -12,11 +12,12 @@ export default class GameController extends Controller {
|
|||||||
public async checkVersion() {
|
public async checkVersion() {
|
||||||
const { ctx } = this;
|
const { ctx } = this;
|
||||||
const { version } = ctx.request.body;
|
const { version } = ctx.request.body;
|
||||||
if (version < CLIENT_VERSION) {//版本号太低
|
if (version >= CLIENT_VERSION) {
|
||||||
ctx.body = ctx.service.utils.resResult(STATUS.VERSION_ERR, { version: CLIENT_VERSION });
|
ctx.body = ctx.service.utils.resResult(STATUS.SUCCESS);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
ctx.body = ctx.service.utils.resResult(STATUS.SUCCESS);
|
//版本号太低
|
||||||
|
ctx.body = ctx.service.utils.resResult(STATUS.VERSION_ERR, { version: CLIENT_VERSION });
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user