-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmainSocketService.js
More file actions
112 lines (86 loc) · 3.95 KB
/
mainSocketService.js
File metadata and controls
112 lines (86 loc) · 3.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
const _ = require('lodash')
const {
socketSuccess,
exception,
socketError
} = require('./app/utils/response.utitlity');
const socketService = require('./app/service/socket.service');
const walletService = require('./app/service/wallet.service');
const lotteryService = require('./app/service/lottery.service');
const rouletteService = require('./app/service/roulette.service');
const prizeService = require('./app/service/prize.service');
const ticketService = require('./app/service/ticket.service');
const settingService = require('./app/service/setting.service');
const fieldWorkService = require('./app/service/fieldWork.service');
const rouletteThread = require('./app/service/roulette.thread.service');
const authService = require('./app/service/auth.service');
const goodForPrizeService = require('./app/service/goodForPrize.service');
const goodService = require('./app/service/good.service');
const sellGoodService = require('./app/service/sellGood.service');
const delay = require('delay');
const lotterySocket = require('./app/socket/lottery');
const prizeSocket = require('./app/socket/prize');
const rouletteSocket = require('./app/socket/roulette');
const ticketSocket = require('./app/socket/ticket');
const good = require('./app/socket/good');
const sellGood = require('./app/socket/sellGood');
const mainSocketService = function (io) {
io.on('connection', async (socket) => {
var socketId = socket.id;
// console.log('--------socket------', socket.id);
// const userObject = await authService.checkAuth(socket.handshake.query.tocken);
const userObject = {
uuid : 'test',
role : 'admin-club'
}
// console.log('--------userObject------', userObject);
//add socket to db
if (!_.isUndefined(userObject) && !_.isEmpty(userObject)) {
// console.log('--------if------');
//
await socketService.create(userObject.uuid, userObject.role, socket.handshake.query.lotteryId, socket.id)
const wallet = await walletService.showWithUserId(userObject.uuid);
if (_.isUndefined(wallet) || _.isEmpty(wallet))
await walletService.create({
userId: userObject.uuid,
coin: 0,
diamond: 0
})
setTimeout(async () => {
// get list lotterys
const lotterys = await lotteryService.index()
io.to(socketId).emit('getLoteries', socketSuccess(lotterys))
// get list roulettes
const roulettes = await rouletteService.index()
io.to(socketId).emit('getRoulettes', socketSuccess(roulettes));
// get list fieldWorks
const fieldWorks = await fieldWorkService.index()
io.to(socketId).emit('getFieldWorks', socketSuccess(fieldWorks));
// get list fieldWorks
const goods = await goodService.index()
const goodForUsers = await goodService.ListGoodsWithUserId(userObject.uuid)
io.sockets.emit('getGoods', socketSuccess(goods))
io.to(socketId).emit('goodForUsers', socketSuccess(goodForUsers))
//sell good
const getSellGood = await sellGoodService.index()
const getSellGoodForUser = await sellGoodService.listSellGoodWithUserid(userObject.uuid)
io.sockets.emit('getSellGood', socketSuccess(getSellGood))
io.to(socketId).emit('getSellGoodForUser', socketSuccess(getSellGoodForUser))
// get setting
const setting = await settingService.index()
io.to(socketId).emit('getSettings', socketSuccess(setting));
}, 1000);
}
lotterySocket(socket, io, socketId, userObject);
prizeSocket(socket, io, socketId, userObject);
rouletteSocket(socket, io, socketId, userObject);
ticketSocket(socket, io, socketId, userObject);
good(socket, io, socketId, userObject);
sellGood(socket, io, socketId, userObject);
// when the user disconnects.. perform this
socket.on('disconnect', async () => {
await socketService.destroy(userObject.uuid)
});
});
}
module.exports.mainSocketService = mainSocketService;