Files
SVSimServer/SVSim.EmulatedEntrypoint/Models/Dtos
gamer147 1e2e18e828 fix(tk2): rewards array uses ReceivedReward shape (reward_detail_id/item_type/is_usable)
The /retire and /finish responses carry two reward arrays with DIFFERENT
key schemas:

  rewards[]      → ReceivedReward(JsonData) parser
                   {reward_type, reward_detail_id, item_type, reward_count?, is_usable}
  reward_list[]  → PlayerStaticData.UpdateHaveUserGoodsNumByJsonData
                   {reward_type, reward_id, reward_num}

We were emitting both with reward_list's schema, so the client threw
KeyNotFoundException on `data["reward_detail_id"]` while parsing each
delta entry — observed live as the retire-screen failure.

- New TwoPickRewardReceivedDto mirrors the existing Achievement/
  TotalReceiveCountDto shape.
- FinishResponseDto.Rewards switched from List<RewardEntryDto>
  to List<TwoPickRewardReceivedDto>.
- GrantRunRewardsAndDeleteAsync pre-loads ItemEntry.Type for any
  Item-typed reward so item_type ships correctly (0 for currencies).
- Existing tests renamed RewardNum→RewardCount on the deltas list.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-31 12:56:05 -04:00
..
2026-05-23 15:47:23 -04:00
2026-05-23 15:47:23 -04:00
2026-05-23 19:57:34 -04:00
2026-05-23 15:47:23 -04:00
2026-05-23 19:57:34 -04:00
2026-05-23 19:57:34 -04:00
2026-05-23 19:57:34 -04:00
2026-05-23 19:57:34 -04:00
2026-05-23 15:47:23 -04:00
2026-05-23 19:57:34 -04:00
2026-05-24 21:13:15 -04:00
2026-05-23 19:57:34 -04:00
2026-05-23 19:57:34 -04:00
2026-05-23 19:57:34 -04:00
2026-05-23 19:57:34 -04:00
2026-05-24 02:03:13 -04:00
2026-05-24 02:03:13 -04:00
2026-05-24 02:03:13 -04:00
2026-05-23 19:57:34 -04:00
2026-05-23 15:47:23 -04:00
2026-05-24 02:03:13 -04:00
2026-05-23 19:57:34 -04:00
2026-05-23 19:57:34 -04:00
2026-05-23 19:57:34 -04:00
2026-05-23 19:57:34 -04:00
2026-05-23 15:47:23 -04:00
2026-05-23 15:47:23 -04:00
2026-05-23 15:47:23 -04:00
2026-05-25 12:03:47 -04:00
2026-05-23 15:47:23 -04:00
2026-05-24 21:13:15 -04:00
2026-05-26 10:01:37 -04:00