package com.td.boss.game.comequips.controller;

import com.td.boss.common.controller.*;
import com.td.boss.common.pojo.Result;
import com.td.boss.game.comequips.pojo.ComEquips;
import com.td.boss.game.comequips.vo.ComEquipsVo;
import com.td.boss.game.comequips.service.ComEquipsService;
import com.td.boss.game.comequiptype.pojo.ComEquipType;
import com.td.boss.game.comequiptype.service.ComEquipTypeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;

@RestController
@RequestMapping("/game/comEquips/")
public class ComEquipsController extends CommonController<ComEquipsVo, ComEquips, Integer> {
    @Autowired
    private ComEquipsService comEquipsService;

    @Autowired
    private ComEquipTypeService comEquipTypeService;

    @PostMapping("create")
    public Result<Map> createPlayer(@RequestParam(value = "playerId") Integer playerId,
                                    @RequestParam(value = "chestType",required = false) Integer chestType) {


        //todo 可根据宝箱类型获取装备，列如属性差别等
        List<ComEquipType> comEquipTypeList = comEquipTypeService.findAllComEquipType();
        //随机一个装备类型
        Integer random = new Random().nextInt(comEquipTypeList.size());
        ComEquipType comEquipType = comEquipTypeList.get(random);

        ComEquips comEquips = new ComEquips();
        comEquips.setPlayerId(playerId);
        comEquips.setName(comEquipType.getName());
        comEquips.setType(comEquipType.getType());

        //todo 主属性，按装备类型分

//        comEquips = comEquipsService.addComEquips(userId);
//        if(player == null){
//            //player 不存在
//            player = new ComPlayers();
//            player.setUserId(userId);
//            player.setAttributeType(0);
//        }
//        player.setAvatar(avatar);
//        player.setName(name);
//        ComPlayers addPlayer = comPlayersService.addComPlayers(player);

        Map map = new HashMap();
//        map.put("avatar",addPlayer.getAvatar());
//        map.put("name",addPlayer.getName());
//        map.put("attributeType",addPlayer.getAttributeType());
        return Result.of(map);
    }
}
