Issue

チーム合併処理 修正 #439

iwamoto opened this at 2020-11-19T14:45:36; closed

Description

opened by iwamoto at 2020-11-19T14:45:36; updated 2023-08-28T15:22:23

チーム合併の際に、
対象チーム数が1つかつ、紅玉消費数の条件で除名されたユーザーがいる場合、
対象チームのメンバー数が更新されない。

Comment

#8355 by iwamoto at 2020-11-19T15:26:20; updated 2020-11-19T21:03:08

テストレコード追加SQL

# チームデータ
INSERT INTO `team_data` (`team_no`, `team_name`, `team_message`, `lv`, `total_exp`, `join_type`, `member`, `leader_no`, `leader_type`, `team_receive`, `team_move`, `reg_date` )
VALUES
    (4001, '自由往来','', 7, 89710, 0, 4 ,  40001, 0, 0, 0, 1598951500),
    (5011, '琉球海軍','', 4, 8293, 0, 10 ,  50001, 1, 0, 0, 1604706080),
    (6101, '蜜柑(*^^*)','', 2, 36536, 0, 2, 60001, 0, 0, 0, 1604898381);

# チーム合併予約情報
INSERT INTO `team_merge_reserve` (`team_no`, `reg_date`)
VALUES
(4001, 1605421510),
(5011, 1605680710),
(6101, 1605594310);

# ユーザデータ
INSERT INTO `user_info` (`user_no`, `nickname`, `team_no`, `reg_date`, `uuid`)
VALUES
    (40001, 'チーム4001_1', 4001, 1591065081, ''),
    (40002, 'チーム4001_2', 4001, 1591065081, ''),
    (40003, 'チーム4001_3', 4001, 1591065081, ''),
    (40004, 'チーム4001_4', 4001, 1591065081, ''),
    (50001, 'チーム5011_1', 5011, 1591065081, ''),
    (50002, 'チーム5011_2', 5011, 1591065081, ''),
    (50003, 'チーム5011_3', 5011, 1591065081, ''),
    (50004, 'チーム5011_4', 5011, 1591065081, ''),
    (50005, 'チーム5011_5', 5011, 1591065081, ''),
    (50006, 'チーム5011_6', 5011, 1591065081, ''),
    (50007, 'チーム5011_7', 5011, 1591065081, ''),
    (50008, 'チーム5011_8', 5011, 1591065081, ''),
    (50009, 'チーム5011_9', 5011, 1591065081, ''),
    (50010, 'チーム5011_10', 5011, 1591065081, ''),
    (60001, 'チーム6101_1', 6101, 1591065081, ''),
    (60002, 'チーム6101_2', 6101, 1591065081, '');

# チュートリアル終了時間参照用
INSERT INTO `user_setting` (`user_no`, `tutorial_fin_time`)
VALUES
    (40001, 1592281778),
    (40002, 1592281778),
    (40003, 1592281778),
    (40004, 1592281778),
    (50001, 1592281778),
    (50002, 1592281778),
    (50003, 1592281778),
    (50004, 1592281778),
    (50005, 1592281778),
    (50006, 1592281778),
    (50007, 1592281778),
    (50008, 1592281778),
    (50009, 1592281778),
    (50010, 1592281778),
    (60001, 1592281778),
    (60002, 1592281778);

# 紅玉消費数参照用
INSERT INTO `user_mission` (`user_no`, `total_stamina`)
VALUES
    (40001, 102),
    (40002, 22),
    (40003, 12),
    (40004, 102),
    (50001, 102),
    (50002, 102),
    (50003, 102),
    (50004, 102),
    (50005, 102),
    (50006, 102),
    (50007, 102),
    (50008, 102),
    (50009, 20),
    (50010, 32),
    (60001, 102),
    (60002, 2);
iwamoto commit at 2020-11-19T17:46:26: 除名時team_data.memberを更新#439 36914525538ee80e7a3de5a121f265f7fb64d4ce

Comment

#8361 by iwamoto at 2020-11-19T18:34:18; updated 2020-11-19T21:22:13

上記で設定した3チームを対象として行った、チーム合併においてteam_data.memberの数がおかしくなる

3チームを対象したチーム合併を行う場合、更新必要
UPDATE team_merge_reserve SET reg_date = 1605421510 WHERE team_no IN (5011,6101);

結果としてteam_no = 4001 の team_data.member がおかしくなる

変更前処理
①4001 <- 5011 へ移籍(2 + 8= 10)
②5011 <- 6101 へ移籍(8 + 1 = 9)
③4001 <- 5011 へ移籍(10 + 9 = 19)

①で移籍元5011のデータが残ってしまっていることが要因
iwamoto commit at 2020-11-19T20:48:05: 移籍元のデータをクリア#439 0a1a1a4a36e7354ac77b09c3b8f81a025cfb2c23
iwamoto refer at 2020-11-19T21:02:36: 440:チーム合併処理の修正
wada refer at 2020-11-26T12:16:09: 448:【11/26】リリース
wada change_milestone at 2020-11-26T15:17:39: No milestone:release_20201127
wada change_milestone at 2020-11-26T18:43:48: release_20201127:No milestone
wada close at 2020-11-27T16:36:59: Close