Skip to content

Commit 55a4581

Browse files
committed
Merge branch 'dev' of https://github.com/eeg1412/wikimoeCardByNodeJS into master
2 parents fca6016 + ba8cd0d commit 55a4581

File tree

109 files changed

+4123
-3152
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

109 files changed

+4123
-3152
lines changed

server/api/admin/cardPackage.js

Lines changed: 77 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
var chalk = require('chalk');
22
var utils = require('../../utils/utils');
33
var cardPackageData = require('../../utils/database/cardPackage');
4+
const cardPackageSortData = require('../../utils/database/cardPackageSort');
45
// var cardData = require('../../utils/database/cardData');
56
var adminUtils = require('../../utils/admin/adminUtils');
67
var fs = require('fs');
8+
const _ = require('lodash');
9+
const validator = require('validator');
710

811
module.exports = async function (req, res, next) {
912
let IP = utils.getUserIp(req);
@@ -35,7 +38,80 @@ module.exports = async function (req, res, next) {
3538
}
3639

3740
let adminAccount = resultAdmin.account;
38-
if (type === 'add') {
41+
if (type === 'sort') {
42+
const sortType = req.body.sortType || "";
43+
const sortList = req.body.sortList || [];
44+
const sortTypeList = ["default", "open", "starShopOpen", "guessOpen", "starCoinOpen", "submitOpen"];
45+
if (sortTypeList.indexOf(sortType) < 0) {
46+
res.send({
47+
code: 0,
48+
msg: '不存在该类型排序!'
49+
});
50+
console.info(
51+
chalk.yellow('给卡包排序,但是不存在该类型排序,IP为:' + IP)
52+
)
53+
return false;
54+
}
55+
// 检查列表数据
56+
if (!_.isArray(sortList)) {
57+
res.send({
58+
code: 0,
59+
msg: '排序列表不正确!'
60+
});
61+
console.info(
62+
chalk.yellow('给卡包排序,但是排序列表不正确,IP为:' + IP)
63+
)
64+
return false;
65+
}
66+
let idIsError = false;
67+
for (let i = 0; i < sortList.length; i++) {
68+
const isId = validator.isMongoId(sortList[i] + "");
69+
if (!isId) {
70+
idIsError = true;
71+
break;
72+
}
73+
}
74+
if (idIsError) {
75+
res.send({
76+
code: 0,
77+
msg: '排序列表数据不正确!'
78+
});
79+
console.info(
80+
chalk.yellow('给卡包排序,但是排序列表数据不正确,IP为:' + IP)
81+
)
82+
return false;
83+
}
84+
const conditions = {
85+
type: sortType
86+
}
87+
const update = {
88+
packageSortList: sortList
89+
}
90+
await cardPackageSortData.findOneAndUpdate(conditions, update).catch((err) => {
91+
res.send({
92+
code: 0,
93+
msg: '内部错误请联系管理员!'
94+
});
95+
console.error(
96+
chalk.red('数据库查询错误!')
97+
);
98+
throw err;
99+
});
100+
101+
res.send({
102+
code: 1,
103+
msg: '修改成功!'
104+
});
105+
let logObj = {
106+
text: '使用管理员账号' + adminAccount + '修改了卡包排序!类型为:' + sortType,
107+
ip: IP
108+
}
109+
adminUtils.adminWriteLog(logObj);
110+
console.info(
111+
chalk.green(adminAccount + '修改卡包排序成功,IP为:' + IP)
112+
)
113+
114+
} else if (type === 'add') {
39115
let name = req.body.name;
40116
if (!name) {
41117
res.send({

server/api/battle.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1188,9 +1188,9 @@ module.exports = async function (req, res, next) {
11881188
} else if (getScore > 90) {//最多获得90竞技点
11891189
getScore = 90;
11901190
}
1191-
if (advanced && getScore >= 90) {
1192-
getScore = 120;
1193-
}
1191+
// if (advanced && getScore >= 90) {
1192+
// getScore = 120;
1193+
// }
11941194
if (noDieWin) {//如果没打死对方按比例加成
11951195
getScore = Math.round(getScore * (1 - EmADSHP[3] / EmADSHP_[3]))
11961196
}
@@ -1253,9 +1253,9 @@ module.exports = async function (req, res, next) {
12531253
} else if (getScore < -90) {//最多扣90分
12541254
getScore = -90;
12551255
}
1256-
if (advanced && getScore <= -90) {
1257-
getScore = -120;
1258-
}
1256+
// if (advanced && getScore <= -90) {
1257+
// getScore = -120;
1258+
// }
12591259
if (noDieWin) {//如果没打死对方按比例加成
12601260
getScore = Math.round(getScore * (1 - MyADSHP[3] / MyADSHP_[3]))
12611261
}

server/api/dailyCard.js

Lines changed: 82 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -6,179 +6,184 @@ var cardUitls = require('../utils/card');
66
var md5 = require('md5-node');
77
var fs = require('fs');
88
var chalk = require('chalk');
9-
module.exports = async function(req, res, next){
9+
module.exports = async function (req, res, next) {
1010
let IP = utils.getUserIp(req);
1111
console.info(
12-
chalk.green(req.body.email+'开始日常抽卡。IP为:'+IP)
12+
chalk.green(req.body.email + '开始日常抽卡。IP为:' + IP)
1313
);
14-
if(req.body.email){
14+
if (req.body.email) {
1515
var userEmail = req.body.email;
1616
var sel = Math.floor(req.body.sel);
1717
//判断选择的卡牌编号是否有误
18-
if(isNaN(sel)||sel<0||sel>2){
18+
if (isNaN(sel) || sel < 0 || sel > 2) {
1919
res.send({
20-
code:0,
21-
msg:'参数有误!'
20+
code: 0,
21+
msg: '参数有误!'
2222
});
2323
console.info(
24-
chalk.yellow(req.body.email+'传参(sel)有误!IP为:'+IP)
24+
chalk.yellow(req.body.email + '传参(sel)有误!IP为:' + IP)
2525
);
2626
return false;
2727
}
2828
//验证邮箱格式
29-
if(utils.emailCheck(userEmail)){
29+
if (utils.emailCheck(userEmail)) {
3030
let params = { email: userEmail }
3131
// document查询
32-
let result = await userData.findUser(params).catch ((err)=>{
32+
let result = await userData.findUser(params).catch((err) => {
3333
res.send({
34-
code:0,
35-
msg:'内部错误请联系管理员!'
34+
code: 0,
35+
msg: '内部错误请联系管理员!'
3636
});
3737
console.error(
3838
chalk.red('数据库查询错误!')
3939
);
4040
throw err;
4141
})
4242
//判断是否有该用户
43-
if(result){
44-
if(result.ban >0){
43+
if (result) {
44+
if (result.ban > 0) {
4545
res.send({
46-
code:0,
47-
msg:'该账户已被封禁!'
46+
code: 0,
47+
msg: '该账户已被封禁!'
4848
});
4949
console.info(
50-
chalk.yellow(req.body.email+'已被封禁!IP为:'+IP)
50+
chalk.yellow(req.body.email + '已被封禁!IP为:' + IP)
5151
);
5252
return false;
5353
}
5454
let dailyCard = result.dailyCard;
5555
// 取消竞技点抽卡加成
5656
let scoreChance = 0;//Math.floor(result.score/1000);
57-
if(isNaN(scoreChance)){
57+
if (isNaN(scoreChance)) {
5858
res.send({
59-
code:0,
60-
msg:'内部错误请联系管理员!'
59+
code: 0,
60+
msg: '内部错误请联系管理员!'
6161
});
6262
return false;
6363
}
64-
let dailyCardTime = Math.round(Number(result.dailyCardTime)*1000);
65-
let timeNow = Math.round(new Date().getTime()/1000);
64+
let dailyCardTime = Math.round(Number(result.dailyCardTime) * 1000);
65+
let timeNow = Math.round(new Date().getTime() / 1000);
6666
let myDailyChance = global.myAppConfig.dailyChance + scoreChance;
67-
if(new Date(timeNow*1000).toDateString()===new Date(dailyCardTime).toDateString()){//如果是同天
68-
if(dailyCard>=myDailyChance){
67+
if (new Date(timeNow * 1000).toDateString() === new Date(dailyCardTime).toDateString()) {//如果是同天
68+
if (dailyCard >= myDailyChance) {
6969
res.send({
70-
code:3,
71-
msg:'已经超过今天的抽卡次数了!'
70+
code: 3,
71+
msg: '已经超过今天的抽卡次数了!'
7272
});
7373
console.info(
74-
chalk.blue(req.body.email+'超过每日抽卡限制。IP为:'+IP)
74+
chalk.blue(req.body.email + '超过每日抽卡限制。IP为:' + IP)
7575
);
7676
return false;
7777
}
78-
}else{
78+
} else {
7979
dailyCard = 0;
8080
}
8181
let packageId = req.body.packageId || 0;
8282
// 抽卡三次
83-
let cardIdArr = await cardUitls.chioseCard(packageId,3);
84-
if(!cardIdArr){
83+
let cardIdArr = await cardUitls.chioseCard(packageId, 3);
84+
if (!cardIdArr) {
8585
res.send({
86-
code:0,
87-
msg:'抽卡失败,请检查参数!'
86+
code: 0,
87+
msg: '抽卡失败,请检查参数!'
8888
});
8989
return false;
9090
}
9191
// 获取卡牌ID
9292
let cardId = cardIdArr[sel].cardId;
93-
if(cardId===undefined||cardId===null){
93+
if (cardId === undefined || cardId === null) {
9494
res.send({
95-
code:0,
96-
msg:'数据错误!'
95+
code: 0,
96+
msg: '数据错误!'
9797
});
9898
return false;
9999
}
100100

101101
let cardDataBase = {};
102-
cardDataBase['card.'+packageId+'.'+cardId] = 1;
102+
cardDataBase['card.' + packageId + '.' + cardId] = 1;
103103
let emailmd5 = result.md5;
104-
dailyCard = dailyCard +1;
104+
dailyCard = dailyCard + 1;
105105
let filters = {
106106
email: userEmail
107107
}
108108
let updataParams = {
109-
dailyCard:dailyCard,
110-
$inc:cardDataBase,
111-
ip:IP,
112-
dailyCardTime:timeNow
109+
dailyCard: dailyCard,
110+
$inc: cardDataBase,
111+
ip: IP,
112+
dailyCardTime: timeNow
113113
}
114-
await userData.updataUser(filters,updataParams,true).catch ((err)=>{
114+
await userData.updataUser(filters, updataParams, true).catch((err) => {
115115
res.send({
116-
code:0,
117-
msg:'内部错误请联系管理员!'
116+
code: 0,
117+
msg: '内部错误请联系管理员!'
118118
});
119119
console.error(
120120
chalk.red('数据库更新错误!')
121121
);
122122
throw err;
123123
})
124124
console.info(
125-
chalk.green('邮箱:'+userEmail+',抽到卡牌:【'+cardId+'】! IP为:'+IP)
125+
chalk.green('邮箱:' + userEmail + ',抽到卡牌:【' + cardId + '】! IP为:' + IP)
126126
);
127127
let logObject = {
128-
email:userEmail,
129-
md5:md5(userEmail),
130-
nickName:result.nickName,
131-
type:'dailyCard',
132-
time:timeNow,
133-
data:{
134-
cardId:cardId,
135-
title:cardIdArr[sel].title,
136-
name:cardIdArr[sel].name,
137-
star:cardIdArr[sel].star,
138-
packageId:packageId
128+
email: userEmail,
129+
md5: md5(userEmail),
130+
nickName: result.nickName,
131+
type: 'dailyCard',
132+
time: timeNow,
133+
data: {
134+
cardId: cardId,
135+
title: cardIdArr[sel].title,
136+
name: cardIdArr[sel].name,
137+
star: cardIdArr[sel].star,
138+
packageId: packageId
139139
},
140-
ip:IP
140+
ip: IP
141141
}
142142
utils.writeLog(logObject);
143143
let cardChoiseList = []
144-
for(let i=0;i<cardIdArr.length;i++){
144+
for (let i = 0; i < cardIdArr.length; i++) {
145145
cardChoiseList.push(cardIdArr[i].cardId)
146146
}
147+
const userCard = result.card || {};
148+
const userPackageCard = userCard[packageId] || {};
149+
const userCardIdList = Object.keys(userPackageCard);
150+
const userCardIdIndex = userCardIdList.indexOf(cardId);
147151
res.send({
148-
code:1,
149-
cardChoiseList:cardChoiseList,
150-
choiseIndex:sel,
151-
emailmd5:emailmd5,
152-
card:cardId,
153-
packageId:packageId,
154-
leftGetChance:myDailyChance-dailyCard,
155-
msg:'ok'
152+
code: 1,
153+
cardChoiseList: cardChoiseList,
154+
choiseIndex: sel,
155+
emailmd5: emailmd5,
156+
card: cardId,
157+
packageId: packageId,
158+
isNew: userCardIdIndex === -1,
159+
leftGetChance: myDailyChance - dailyCard,
160+
msg: 'ok'
156161
});
157-
}else{
162+
} else {
158163
res.send({
159-
code:2,
160-
msg:'该邮箱未注册!'
164+
code: 2,
165+
msg: '该邮箱未注册!'
161166
});
162167
console.info(
163-
chalk.blue(req.body.email+'并未注册。IP为:'+IP)
168+
chalk.blue(req.body.email + '并未注册。IP为:' + IP)
164169
);
165170
}
166-
}else{
171+
} else {
167172
res.send({
168-
code:0,
169-
msg:'邮箱地址格式有误!'
173+
code: 0,
174+
msg: '邮箱地址格式有误!'
170175
});
171176
console.info(
172-
chalk.yellow('邮箱格式有误,IP为:'+IP)
177+
chalk.yellow('邮箱格式有误,IP为:' + IP)
173178
);
174179
}
175-
}else{
180+
} else {
176181
res.send({
177-
code:0,
178-
msg:'邮箱地址不能为空!'
182+
code: 0,
183+
msg: '邮箱地址不能为空!'
179184
});
180185
console.info(
181-
chalk.yellow('邮箱为空,IP为:'+IP)
186+
chalk.yellow('邮箱为空,IP为:' + IP)
182187
);
183188
}
184189
}

0 commit comments

Comments
 (0)