diff --git a/shared/consts/constModules/sysConst.ts b/shared/consts/constModules/sysConst.ts index ca8ce103f..f1eefd137 100644 --- a/shared/consts/constModules/sysConst.ts +++ b/shared/consts/constModules/sysConst.ts @@ -395,4 +395,8 @@ export enum BLOCK_OPEATE { REMOVE_BLACK = 2, REMOVE_AND_APPLY = 3, REMOVE_FRIEND = 4 +} + +export enum TIME_FORMAT { + TYPE_SLASH = 1 } \ No newline at end of file diff --git a/shared/db/Notice.ts b/shared/db/Notice.ts index 8fa88e18e..e76c150d7 100644 --- a/shared/db/Notice.ts +++ b/shared/db/Notice.ts @@ -1,6 +1,7 @@ import BaseModel from './BaseModel'; import { index, getModelForClass, prop, DocumentType, modelOptions } from '@typegoose/typegoose'; -import { getSeconds } from '../pubUtils/timeUtil'; +import { formatTime } from '../pubUtils/timeUtil'; +import { TIME_FORMAT } from '../consts' /** * 游戏字段接口 @@ -19,22 +20,40 @@ export default class Notice extends BaseModel { type: number; // 类型 1-公告 2-活动 @prop({ required: true }) content: number; // 公告内容 - @prop({ required: true }) - time: string; // 活动时间 - - @prop({ required: true, set: (val: Date) => {return val}, get: (val: Date) => { return getSeconds(val) }}) - startTime: Date; // 公告 - @prop({ required: true, set: (val: Date) => {return val}, get: (val: Date) => { return getSeconds(val) }}) - endTime: Date; @prop({ required: true }) + timeStr: string; // 时间显示 + @prop({ required: true }) + startTime: Date; // 活动开始时间 + @prop({ required: true }) + endTime: Date; // 活动结束时间 + public get time() { + let startTime = formatTime(this.startTime, TIME_FORMAT.TYPE_SLASH); + let endTime = formatTime(this.endTime, TIME_FORMAT.TYPE_SLASH); + + return this.timeStr.replace(/%startTime/g, startTime).replace(/%endTime/g, endTime); + } + + @prop({ required: true, select: false }) sort: number; - @prop({ required: true }) + @prop({ required: true, select: false }) showStartTime: Date; - @prop({ required: true }) + @prop({ required: true, select: false }) showEndTime: Date; + @prop({ required: true, select: false }) + serverType: string; // 服务器类型 + @prop({ required: true, select: false }) + isEnable: boolean; + + public static async getAllNotice(serverType: string) { + let curTime = new Date(); + let notices: NoticeType[] = await NoticeModel.find({ showStartTime: { $lte: curTime }, showEndTime: { $gte: curTime }, isEnable: true, serverType }) + .sort({ sort: -1, createTime: -1 }) + .lean({ virtuals: true }); + return notices; + } } export const NoticeModel = getModelForClass(Notice); diff --git a/shared/pubUtils/timeUtil.ts b/shared/pubUtils/timeUtil.ts index 035124519..9723bcc01 100644 --- a/shared/pubUtils/timeUtil.ts +++ b/shared/pubUtils/timeUtil.ts @@ -1,3 +1,4 @@ +import { TIME_FORMAT } from '@consts'; const PER_SECOND = 1 * 1000; const PER_DAY = 24 * 60 * 60; @@ -113,4 +114,19 @@ export function getAge(birthday: string) { age = year - _year - 1; } return age +} + +export function formatTime(d: Date, type: number) { + let year = d.getFullYear(); + let month = d.getMonth() + 1; + let day = d.getDate(); + let yearStr = year.toString(); + let monthStr = month.toString(); + let dayStr = day.toString(); + + if(type == TIME_FORMAT.TYPE_SLASH) { + if(day < 10) dayStr = '0' + dayStr; + if(month < 10) monthStr = '0' + monthStr; + return `${yearStr}/${monthStr}/${dayStr}`; + } } \ No newline at end of file diff --git a/shared/resource/jsons/dic_zyz_gk_main.json b/shared/resource/jsons/dic_zyz_gk_main.json index e68e4ebfa..6bb0c73a5 100644 --- a/shared/resource/jsons/dic_zyz_gk_main.json +++ b/shared/resource/jsons/dic_zyz_gk_main.json @@ -751,7 +751,7 @@ "heroInUI": "1&1001|1&1004", "detailUIBg": "2_1", "recommendedPower": 10031, - "previousGk": 129, + "previousGk": 201, "relatedEliteGk": 0, "movePoint": 95 }, @@ -779,7 +779,7 @@ "heroInUI": "1&1001|1&1004", "detailUIBg": "2_1", "recommendedPower": 10032, - "previousGk": 130, + "previousGk": 202, "relatedEliteGk": 0, "movePoint": 97 }, @@ -807,7 +807,7 @@ "heroInUI": "1&1001|1&1004|2&312", "detailUIBg": "2_1", "recommendedPower": 10033, - "previousGk": 0, + "previousGk": 203, "relatedEliteGk": 9204, "movePoint": 100 }, @@ -835,7 +835,7 @@ "heroInUI": "1&1001|1&1004", "detailUIBg": "2_2", "recommendedPower": 10034, - "previousGk": 0, + "previousGk": 204, "relatedEliteGk": 0, "movePoint": 103 }, @@ -863,7 +863,7 @@ "heroInUI": "1&1001|1&1004", "detailUIBg": "2_2", "recommendedPower": 10035, - "previousGk": 0, + "previousGk": 205, "relatedEliteGk": 0, "movePoint": 109 }, @@ -891,7 +891,7 @@ "heroInUI": "1&1001|1&1004", "detailUIBg": "2_2", "recommendedPower": 10036, - "previousGk": 0, + "previousGk": 206, "relatedEliteGk": 0, "movePoint": 112 }, @@ -919,7 +919,7 @@ "heroInUI": "1&1001|1&1004|2&312", "detailUIBg": "2_2", "recommendedPower": 10037, - "previousGk": 0, + "previousGk": 207, "relatedEliteGk": 9208, "movePoint": 116 }, @@ -947,7 +947,7 @@ "heroInUI": "1&1001", "detailUIBg": "2_3", "recommendedPower": 10038, - "previousGk": 0, + "previousGk": 208, "relatedEliteGk": 0, "movePoint": 118 }, @@ -975,7 +975,7 @@ "heroInUI": "1&1001|1&1004", "detailUIBg": "2_3", "recommendedPower": 10039, - "previousGk": 0, + "previousGk": 209, "relatedEliteGk": 0, "movePoint": 120 }, @@ -1003,7 +1003,7 @@ "heroInUI": "1&1001|1&1004", "detailUIBg": "2_3", "recommendedPower": 10040, - "previousGk": 0, + "previousGk": 210, "relatedEliteGk": 0, "movePoint": 122 }, @@ -1031,7 +1031,7 @@ "heroInUI": "1&1001|1&1004|2&312", "detailUIBg": "2_3", "recommendedPower": 10041, - "previousGk": 0, + "previousGk": 211, "relatedEliteGk": 9212, "movePoint": 124 }, @@ -1059,7 +1059,7 @@ "heroInUI": "1&1001|1&1004", "detailUIBg": "2_4", "recommendedPower": 10042, - "previousGk": 0, + "previousGk": 212, "relatedEliteGk": 0, "movePoint": 126 }, @@ -1087,7 +1087,7 @@ "heroInUI": "1&1001|1&1004", "detailUIBg": "2_4", "recommendedPower": 10043, - "previousGk": 0, + "previousGk": 213, "relatedEliteGk": 0, "movePoint": 128 }, @@ -1115,7 +1115,7 @@ "heroInUI": "1&1001|1&1004", "detailUIBg": "2_4", "recommendedPower": 10044, - "previousGk": 0, + "previousGk": 214, "relatedEliteGk": 0, "movePoint": 130 }, @@ -1143,7 +1143,7 @@ "heroInUI": "1&1001|1&1004|2&312", "detailUIBg": "2_4", "recommendedPower": 10045, - "previousGk": 0, + "previousGk": 215, "relatedEliteGk": 9216, "movePoint": 133 }, @@ -1171,7 +1171,7 @@ "heroInUI": "1&1001", "detailUIBg": "2_5", "recommendedPower": 10046, - "previousGk": 0, + "previousGk": 216, "relatedEliteGk": 0, "movePoint": 135 }, @@ -1199,7 +1199,7 @@ "heroInUI": "1&1001|1&1004", "detailUIBg": "2_5", "recommendedPower": 10047, - "previousGk": 0, + "previousGk": 217, "relatedEliteGk": 0, "movePoint": 137 }, @@ -1227,7 +1227,7 @@ "heroInUI": "1&1001|1&1004", "detailUIBg": "2_5", "recommendedPower": 10048, - "previousGk": 0, + "previousGk": 218, "relatedEliteGk": 0, "movePoint": 139 }, @@ -1255,7 +1255,7 @@ "heroInUI": "1&1001|1&1004|2&312", "detailUIBg": "2_5", "recommendedPower": 10049, - "previousGk": 0, + "previousGk": 219, "relatedEliteGk": 9220, "movePoint": 141 }, @@ -1283,7 +1283,7 @@ "heroInUI": "1&1001|1&1004", "detailUIBg": "2_6", "recommendedPower": 10050, - "previousGk": 0, + "previousGk": 220, "relatedEliteGk": 0, "movePoint": 143 }, @@ -1311,7 +1311,7 @@ "heroInUI": "1&1001|1&1004", "detailUIBg": "2_6", "recommendedPower": 10051, - "previousGk": 0, + "previousGk": 221, "relatedEliteGk": 0, "movePoint": 146 }, @@ -1339,7 +1339,7 @@ "heroInUI": "1&1001|1&1004", "detailUIBg": "2_6", "recommendedPower": 10052, - "previousGk": 0, + "previousGk": 222, "relatedEliteGk": 0, "movePoint": 148 }, @@ -1367,7 +1367,7 @@ "heroInUI": "1&1001|1&1004|2&312", "detailUIBg": "2_6", "recommendedPower": 10053, - "previousGk": 0, + "previousGk": 223, "relatedEliteGk": 9224, "movePoint": 150 }, @@ -1395,7 +1395,7 @@ "heroInUI": "1&1001", "detailUIBg": "3_1", "recommendedPower": 10054, - "previousGk": 0, + "previousGk": 224, "relatedEliteGk": 0, "movePoint": 155 }, @@ -1423,7 +1423,7 @@ "heroInUI": "1&1001|1&1004", "detailUIBg": "3_1", "recommendedPower": 10055, - "previousGk": 0, + "previousGk": 301, "relatedEliteGk": 0, "movePoint": 159 }, @@ -1451,7 +1451,7 @@ "heroInUI": "1&1001|1&1004", "detailUIBg": "3_1", "recommendedPower": 10056, - "previousGk": 0, + "previousGk": 302, "relatedEliteGk": 0, "movePoint": 162 }, @@ -1479,7 +1479,7 @@ "heroInUI": "1&1001|1&1004|2&312", "detailUIBg": "3_1", "recommendedPower": 10057, - "previousGk": 0, + "previousGk": 303, "relatedEliteGk": 9304, "movePoint": 166 }, @@ -1507,7 +1507,7 @@ "heroInUI": "1&1001|1&1004", "detailUIBg": "3_2", "recommendedPower": 10058, - "previousGk": 0, + "previousGk": 304, "relatedEliteGk": 0, "movePoint": 169 }, @@ -1535,7 +1535,7 @@ "heroInUI": "1&1001|1&1004", "detailUIBg": "3_2", "recommendedPower": 10059, - "previousGk": 0, + "previousGk": 305, "relatedEliteGk": 0, "movePoint": 173 }, @@ -1563,7 +1563,7 @@ "heroInUI": "1&1001|1&1004", "detailUIBg": "3_2", "recommendedPower": 10060, - "previousGk": 0, + "previousGk": 306, "relatedEliteGk": 0, "movePoint": 176 }, @@ -1591,7 +1591,7 @@ "heroInUI": "1&1001|1&1004|2&312", "detailUIBg": "3_2", "recommendedPower": 10061, - "previousGk": 0, + "previousGk": 307, "relatedEliteGk": 9308, "movePoint": 180 }, @@ -1619,7 +1619,7 @@ "heroInUI": "1&1001", "detailUIBg": "3_3", "recommendedPower": 10062, - "previousGk": 0, + "previousGk": 308, "relatedEliteGk": 0, "movePoint": 184 }, @@ -1647,7 +1647,7 @@ "heroInUI": "1&1001|1&1004", "detailUIBg": "3_3", "recommendedPower": 10063, - "previousGk": 0, + "previousGk": 309, "relatedEliteGk": 0, "movePoint": 186 }, @@ -1675,7 +1675,7 @@ "heroInUI": "1&1001|1&1004", "detailUIBg": "3_3", "recommendedPower": 10064, - "previousGk": 0, + "previousGk": 310, "relatedEliteGk": 0, "movePoint": 188 }, @@ -1703,7 +1703,7 @@ "heroInUI": "1&1001|1&1004|2&312", "detailUIBg": "3_3", "recommendedPower": 10065, - "previousGk": 0, + "previousGk": 311, "relatedEliteGk": 9312, "movePoint": 190 }, @@ -1731,7 +1731,7 @@ "heroInUI": "1&1001|1&1004", "detailUIBg": "3_4", "recommendedPower": 10066, - "previousGk": 0, + "previousGk": 312, "relatedEliteGk": 0, "movePoint": 195 }, @@ -1759,7 +1759,7 @@ "heroInUI": "1&1001|1&1004", "detailUIBg": "3_4", "recommendedPower": 10067, - "previousGk": 0, + "previousGk": 313, "relatedEliteGk": 0, "movePoint": 197 }, @@ -1787,7 +1787,7 @@ "heroInUI": "1&1001|1&1004", "detailUIBg": "3_4", "recommendedPower": 10068, - "previousGk": 0, + "previousGk": 314, "relatedEliteGk": 0, "movePoint": 201 }, @@ -1815,7 +1815,7 @@ "heroInUI": "1&1001|1&1004|2&312", "detailUIBg": "3_4", "recommendedPower": 10069, - "previousGk": 0, + "previousGk": 315, "relatedEliteGk": 9316, "movePoint": 204 }, @@ -1843,7 +1843,7 @@ "heroInUI": "1&1001", "detailUIBg": "3_5", "recommendedPower": 10070, - "previousGk": 0, + "previousGk": 316, "relatedEliteGk": 0, "movePoint": 209 }, @@ -1871,7 +1871,7 @@ "heroInUI": "1&1001|1&1004", "detailUIBg": "3_5", "recommendedPower": 10071, - "previousGk": 0, + "previousGk": 317, "relatedEliteGk": 0, "movePoint": 212 }, @@ -1899,7 +1899,7 @@ "heroInUI": "1&1001|1&1004", "detailUIBg": "3_5", "recommendedPower": 10072, - "previousGk": 0, + "previousGk": 318, "relatedEliteGk": 0, "movePoint": 215 }, @@ -1927,7 +1927,7 @@ "heroInUI": "1&1001|1&1004|2&312", "detailUIBg": "3_5", "recommendedPower": 10073, - "previousGk": 0, + "previousGk": 319, "relatedEliteGk": 9320, "movePoint": 218 }, @@ -1955,7 +1955,7 @@ "heroInUI": "1&1001|1&1004", "detailUIBg": "3_6", "recommendedPower": 10074, - "previousGk": 0, + "previousGk": 320, "relatedEliteGk": 0, "movePoint": 221 }, @@ -1983,7 +1983,7 @@ "heroInUI": "1&1001|1&1004", "detailUIBg": "3_6", "recommendedPower": 10075, - "previousGk": 0, + "previousGk": 321, "relatedEliteGk": 0, "movePoint": 223 }, @@ -2011,7 +2011,7 @@ "heroInUI": "1&1001|1&1004", "detailUIBg": "3_6", "recommendedPower": 10076, - "previousGk": 0, + "previousGk": 322, "relatedEliteGk": 0, "movePoint": 225 }, @@ -2039,7 +2039,7 @@ "heroInUI": "1&1001|1&1004|2&312", "detailUIBg": "3_6", "recommendedPower": 10077, - "previousGk": 0, + "previousGk": 323, "relatedEliteGk": 9324, "movePoint": 227 } diff --git a/web-server/app/controller/game.ts b/web-server/app/controller/game.ts index fd9dcb231..317b4f02d 100644 --- a/web-server/app/controller/game.ts +++ b/web-server/app/controller/game.ts @@ -2,6 +2,7 @@ import { STATUS } from '@consts'; import { GameModel } from '@db/Game'; import { Controller } from 'egg'; import { RoleModel } from '@db/Role'; +import { NoticeModel } from '@db/Notice'; import { ServerParamWithRole, GroupParam } from '../domain/gameField/serverlist'; export default class GameController extends Controller { @@ -67,16 +68,15 @@ export default class GameController extends Controller { let { serverType } = ctx; console.log(serverType); - let notice = [{ - id: 1, - title: '粮草先行', - tag: 1, - type: 1, - content: '欢迎来到三国志赵云传', - startTime: 1584921600, - endTime: 1585353600 - }] - ctx.body = ctx.service.utils.resResult(STATUS.SUCCESS, { notice }); + let notice = await NoticeModel.getAllNotice(serverType); + let result = notice.map(cur => { + let {id, title, tag, type, content, time} = cur; + return { + id, title, tag, type, content, time + } + }) + + ctx.body = ctx.service.utils.resResult(STATUS.SUCCESS, { notice: result }); return }