General 클래스를 General, GeneralLite로 분리 (#236)

내부 코드 사용례에서 General 테이블의 column을 일부만 가져오는 경우가 다수 있습니다.

다만 General 클래스에서 각종 iAction에 해당하는 트리거 함수 호출을 위해서는 모든 column을 다 가져와야 정상 동작이 가능한 만큼, iAction interface를 구현한 General 클래스와, 구현하지 않은 GeneralLite 클래스 둘로 나눕니다.

또한 General 클래스에서는 필요한 column을 다 가져오도록 변경합니다.

Reviewed-on: https://storage.hided.net/gitea/devsam/core/pulls/236
This commit was merged in pull request #236.
This commit is contained in:
2023-08-03 21:32:01 +09:00
parent 38416ccdf8
commit 3edfff146e
83 changed files with 702 additions and 401 deletions
+10 -2
View File
@@ -39,7 +39,11 @@ class ProcessIncome extends \sammo\Event\Action
$nationList = $db->query('SELECT name,nation,capital,gold,level,rate_tmp,bill,type from nation');
$cityListByNation = Util::arrayGroupBy($db->query('SELECT * FROM city'), 'nation');
$generalRawListByNation = Util::arrayGroupBy($db->query('SELECT no,name,nation,gold,officer_level,dedication,city FROM general WHERE npc != 5'), 'nation');
//FIXME: factory 형태로 바꿔야함
$generalRawListByNation = Util::arrayGroupBy($db->query(
'SELECT %l FROM general WHERE npc != 5',
Util::formatListOfBackticks(General::mergeQueryColumn()[0])
), 'nation');
//국가별 처리
foreach ($nationList as $nation) {
@@ -119,7 +123,11 @@ class ProcessIncome extends \sammo\Event\Action
$nationList = $db->query('SELECT name,level,nation,capital,rice,rate_tmp,bill,type from nation');
$cityListByNation = Util::arrayGroupBy($db->query('SELECT * FROM city'), 'nation');
$generalRawListByNation = Util::arrayGroupBy($db->query('SELECT no,name,nation,rice,officer_level,dedication,city FROM general WHERE npc != 5'), 'nation');
//FIXME: factory 형태로 바꿔야함
$generalRawListByNation = Util::arrayGroupBy($db->query(
'SELECT %l FROM general WHERE npc != 5',
Util::formatListOfBackticks(General::mergeQueryColumn()[0])
), 'nation');
//국가별 처리
foreach ($nationList as $nation) {