Description
チーム合併の際に、
対象チーム数が1つかつ、紅玉消費数の条件で除名されたユーザーがいる場合、
対象チームのメンバー数が更新されない。
チーム合併の際に、
対象チーム数が1つかつ、紅玉消費数の条件で除名されたユーザーがいる場合、
対象チームのメンバー数が更新されない。
テストレコード追加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);上記で設定した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のデータが残ってしまっていることが要因