Skip to content
This repository was archived by the owner on Mar 16, 2019. It is now read-only.

Commit c8b7de9

Browse files
authored
Merge pull request #21 from VectorNetworkProject/develop
Develop
2 parents 011a83c + 7e2e441 commit c8b7de9

File tree

7 files changed

+294
-57
lines changed

7 files changed

+294
-57
lines changed

.poggit.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
--- # Poggit-CI Manifest. Open the CI at https://poggit.pmmp.io/ci/VectorNetworkProject/UserdataProvider
22
branches:
33
- master
4+
- develop
45
projects:
56
UserdataProvider:
67
path: ""
8+
libs:
9+
- src: poggit/libasynql/libasynql
10+
version: ^3.0
711
...

README.md

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
# DataProvider
22
[![Build Status](https://scrutinizer-ci.com/g/VectorNetworkProject/DataProvider/badges/build.png?b=master)](https://scrutinizer-ci.com/g/VectorNetworkProject/DataProvider/build-status/master)
3-
4-
データを格納するためのプラグイン
3+
[![](https://poggit.pmmp.io/ci.shield/Pluginproject/VectorNetworkProject/UserdataProvider)](https://poggit.pmmp.io/ci/VectorNetworkProject/UserdataProvider)
4+
 データを格納するためのプラグイン。テーブルの粒度は小さめに!
55
## テーブル
66

7-
### **accounts**
7+
### accounts
88

99
| Column | Type | Description |
1010
| :----: | :---: | :---------: |
@@ -14,7 +14,7 @@
1414
 UserdataProviderで基本となる情報を扱うテーブルです。ここに記載されたIDをもとに各テーブルの管理を行います。
1515
 sqlite.sql上ではidをメインにやり取りしていますが、デベロッパーが扱う際はラップしたクラス群の関数を使ってください。
1616

17-
### **ffapvp**
17+
### ffapvp
1818

1919
| Column | Type | Description |
2020
| :----: | :---: | :---------: |
@@ -23,7 +23,17 @@
2323
| death | int | デス数 |
2424
| exp | int | EXP |
2525

26-
### **dual**
26+
### dual
27+
28+
| Column | Type | Description |
29+
| :----: | :---: | :---------: |
30+
| id | int | プレイヤーと対応するaccountsテーブルのid |
31+
| kill | int | キル数 |
32+
| death | int | デス数 |
33+
| win | int | 勝利数 |
34+
| lose | int| 敗北数 |
35+
36+
### corepvp
2737

2838
| Column | Type | Description |
2939
| :----: | :---: | :---------: |
@@ -32,6 +42,7 @@
3242
| death | int | デス数 |
3343
| win | int | 勝利数 |
3444
| lose | int| 敗北数 |
45+
| exp | int | exp |
3546

3647
## 使い方
3748
```PHP

plugin.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: DataProvider
2-
version: 0.1.0
3-
api: 3.2.3
2+
version: 0.2.0
3+
api: 3.2
44
main: VectorNetworkProject\DataProvider\Main
55
prefix: DataProvider

resources/sqlite.sql

Lines changed: 136 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,10 @@ WHERE name = :name;
3030
-- # { ffapvp
3131
-- # { init
3232
CREATE TABLE IF NOT EXISTS ffapvp(
33-
id INTEGER NOT NULL,
34-
kill INTEGER NOT NULL DEFAULT 0,
33+
id INTEGER NOT NULL,
34+
kill INTEGER NOT NULL DEFAULT 0,
3535
death INTEGER NOT NULL DEFAULT 0,
36-
exp INTEGER NOT NULL DEFAULT 0
36+
exp INTEGER NOT NULL DEFAULT 0
3737
);
3838
-- # }
3939
-- # { register
@@ -42,41 +42,41 @@ INSERT INTO ffapvp(
4242
id
4343
)
4444
SELECT id
45-
FROM accounts
45+
FROM accounts
4646
WHERE name = :name;
4747
-- # }
4848
-- # { unregister
4949
-- # :name string
5050
DELETE FROM ffapvp
5151
WHERE id
5252
IN (
53-
SELECT accounts.id
54-
FROM dual
53+
SELECT accounts.id
54+
FROM ffapvp
5555
INNER JOIN accounts
56-
ON dual.id = accounts.id
57-
WHERE accounts.name = :name
56+
ON ffapvp.id = accounts.id
57+
WHERE accounts.name = :name
5858
);
5959
-- # }
6060
-- # { get
6161
-- # :name string
6262
SELECT accounts.id, accounts.name, ffapvp.kill, ffapvp.death, ffapvp.exp
63-
FROM ffapvp
63+
FROM ffapvp
6464
INNER JOIN accounts
65-
ON ffapvp.id = accounts.id
66-
WHERE accounts.name = :name;
65+
ON ffapvp.id = accounts.id
66+
WHERE accounts.name = :name;
6767
-- # }
68-
-- # { addcount
68+
-- # { add
6969
-- # :name string
7070
-- # :kill int
7171
-- # :death int
7272
-- # :exp int
7373
UPDATE ffapvp
74-
SET kill = kill + :kill,
74+
SET kill = kill + :kill,
7575
death = death + :death,
76-
exp = exp + :exp
76+
exp = exp + :exp
7777
WHERE id IN (
78-
SELECT ffapvp.id
79-
FROM ffapvp
78+
SELECT ffapvp.id
79+
FROM ffapvp
8080
INNER JOIN accounts
8181
ON(
8282
accounts.id = ffapvp.id
@@ -87,35 +87,35 @@ WHERE id IN (
8787
-- # { getrankingbyExp
8888
-- # :limit int
8989
SELECT accounts.id, accounts.name, ffapvp.kill, ffapvp.death, ffapvp.exp
90-
FROM ffapvp
90+
FROM ffapvp
9191
INNER JOIN accounts
92-
ON ffapvp.id = accounts.id
93-
LIMIT :limit
92+
ON ffapvp.id = accounts.id
93+
LIMIT :limit
9494
ORDER BY exp DESC;
9595
-- # }
9696
-- # { getrankingbykill
9797
-- # :limit int
9898
SELECT accounts.id, accounts.name, ffapvp.kill, ffapvp.death, ffapvp.exp
99-
FROM ffapvp
99+
FROM ffapvp
100100
INNER JOIN accounts
101-
ON ffapvp.id = accounts.id
102-
limit :limit
101+
ON ffapvp.id = accounts.id
102+
limit :limit
103103
ORDER BY kill DESC;
104104
-- # }
105105
-- # }
106106
-- # { duel
107107
-- # { init
108-
CREATE TABLE IF NOT EXISTS dual(
109-
id INTEGER NOT NULL,
110-
kill INTEGER NOT NULL DEFAULT 0,
108+
CREATE TABLE IF NOT EXISTS duel(
109+
id INTEGER NOT NULL,
110+
kill INTEGER NOT NULL DEFAULT 0,
111111
death INTEGER NOT NULL DEFAULT 0,
112-
win INTEGER NOT NULL DEFAULT 0,
113-
lose INTEGER NOT NULL DEFAULT 0
112+
win INTEGER NOT NULL DEFAULT 0,
113+
lose INTEGER NOT NULL DEFAULT 0
114114
);
115115
-- # }
116116
-- # { register
117117
-- # :name string
118-
INSERT INTO dual(
118+
INSERT INTO duel(
119119
id
120120
)
121121
SELECT id
@@ -124,50 +124,137 @@ WHERE name = :name;
124124
-- # }
125125
-- # { unregister
126126
-- # :name string
127-
DELETE FROM dual
127+
DELETE FROM duel
128128
WHERE id IN (
129-
SELECT accounts.id
130-
FROM dual
129+
SELECT accounts.id
130+
FROM duel
131131
INNER JOIN accounts
132-
ON dual.id = accounts.id
133-
WHERE accounts.name = :name
132+
ON duel.id = accounts.id
133+
WHERE accounts.name = :name
134134
);
135135
-- # }
136136
-- # { get
137-
SELECT accounts.id, accounts.name, dual.kill, dual.death, dual.win, dual.lose
138-
FROM dual
137+
SELECT accounts.id, accounts.name, duel.kill, duel.death, duel.win, duel.lose
138+
FROM duel
139139
INNER JOIN accounts
140-
ON dual.id = accounts.id
141-
WHERE accounts.name = :name;
140+
ON duel.id = accounts.id
141+
WHERE accounts.name = :name;
142142
-- # }
143-
-- # { addCount
143+
-- # { add
144144
-- # :name string
145145
-- # :kill int
146146
-- # :death int
147147
-- # :win int
148148
-- # :lose int
149-
UPDATE dual
149+
UPDATE duel
150150
SET kill = kill + :kill,
151151
death = death + :death,
152152
win = win + :win,
153153
lose = lose + :lose
154154
WHERE id IN (
155-
SELECT ffapvp.id
156-
FROM ffapvp
157-
INNER JOIN accounts ON (
158-
accounts.id = ffapvp.id
159-
)
155+
SELECT duel.id
156+
FROM duel
157+
INNER JOIN accounts
158+
ON accounts.id = duel.id
159+
WHERE accounts.name = :name
160+
);
161+
-- # }
162+
-- # { getrankingbywin
163+
-- # :limit int
164+
SELECT accounts.id, accounts.name, duel.kill, duel.death, duel.win, duel.lose
165+
FROM duel
166+
INNER JOIN accounts
167+
ON duel.id = accounts.id
168+
limit :limit
169+
ORDER BY win DESC;
170+
-- # }
171+
-- # }
172+
-- # { corepvp
173+
-- # { init
174+
CREATE TABLE IF NOT EXISTS corepvp (
175+
id INTEGER NOT NULL,
176+
kill INTEGER NOT NULL DEFAULT 0,
177+
death INTEGER NOT NULL DEFAULT 0,
178+
win INTEGER NOT NULL DEFAULT 0,
179+
lose INTEGER NOT NULL DEFAULT 0,
180+
exp INTEGER NOT NULL DEFAULT 0
181+
);
182+
-- # }
183+
-- # { register
184+
-- # :name string
185+
INSERT INTO corepvp(
186+
id
187+
)
188+
SELECT id
189+
FROM accounts
190+
WHERE name = :name;
191+
-- # }
192+
-- # { unregister
193+
-- # :name string
194+
DELETE FROM corepvp
195+
WHERE id IN (
196+
SELECT accounts.id
197+
FROM corepvp
198+
INNER JOIN accounts
199+
ON corepvp.id = accounts.id
200+
WHERE accounts.name = :name
201+
);
202+
-- # }
203+
-- # { get
204+
-- # :name string
205+
SELECT accounts.id, accounts.name, corepvp.kill, corepvp.death, corepvp.win, corepvp.lose
206+
FROM corepvp
207+
INNER JOIN accounts
208+
ON corepvp.id = accounts.id
209+
WHERE accounts.name = :name;
210+
-- # }
211+
-- # { add
212+
-- # :name string
213+
-- # :kill int
214+
-- # :death int
215+
-- # :win int
216+
-- # :lose int
217+
-- # :exp int
218+
UPDATE corepvp
219+
SET kill = kill + :kill,
220+
death = death + :death,
221+
win = win + :win,
222+
lose = lose + :lose,
223+
exp = exp + :exp
224+
WHERE id
225+
IN (
226+
SELECT corepvp.id FROM corepvp
227+
INNER JOIN accounts
228+
ON accounts.id = corepvp.id
160229
WHERE accounts.name = :name
161230
);
162231
-- # }
232+
-- # { getrankingbykill
233+
-- # :limit int
234+
SELECT accounts.id, accounts.name, corepvp.kill, corepvp.death, corepvp.win, corepvp.lose,corepvp.exp
235+
FROM corepvp
236+
INNER JOIN accounts
237+
ON corepvp.id = accounts.id
238+
limit :limit
239+
ORDER BY kill DESC;
240+
-- # }
163241
-- # { getrankingbywin
164242
-- # :limit int
165-
SELECT accounts.id, accounts.name, dual.kill, dual.death, dual.win, dual.lose
166-
FROM dual
243+
SELECT accounts.id, accounts.name, corepvp.kill, corepvp.death, corepvp.win, corepvp.lose,corepvp.exp
244+
FROM corepvp
167245
INNER JOIN accounts
168-
ON dual.id = accounts.id
169-
limit :limit
246+
ON corepvp.id = accounts.id
247+
limit :limit
170248
ORDER BY win DESC;
171249
-- # }
250+
-- # { getrankingbyexp
251+
-- # :limit int
252+
SELECT accounts.id, accounts.name, corepvp.kill, corepvp.death, corepvp.win, corepvp.lose,corepvp.exp
253+
FROM corepvp
254+
INNER JOIN accounts
255+
ON corepvp.id = accounts.id
256+
limit :limit
257+
ORDER BY exp DESC;
258+
-- # }
172259
-- # }
173-
-- #}
260+
-- #}

src/VectorNetworkProject/DataProvider/Main.php

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,9 @@ class Main extends PluginBase
2121
private $manager;
2222
/** @var DataConnector */
2323
private $connector;
24-
public function onEnable() {
24+
25+
public function onEnable()
26+
{
2527
$this->saveDefaultConfig();
2628
$this->connector = $connector = libasynql::create(
2729
$this,
@@ -40,4 +42,12 @@ public function onDisable()
4042
$this->connector->close();
4143
}
4244
}
45+
46+
/**
47+
* @return TableManager
48+
*/
49+
public function getManager(): TableManager
50+
{
51+
return $this->manager;
52+
}
4353
}

0 commit comments

Comments
 (0)