package com.zoo.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.zoo.common.R; import com.zoo.dto.AdminDto; import com.zoo.dto.KeeperDto; import com.zoo.dto.VeterinaryDto; import com.zoo.entity.Account; import com.zoo.entity.Admin; import com.zoo.entity.Keeper; import com.zoo.entity.Veterinary; import com.zoo.service.IAccountService; import com.zoo.service.IAdminService; import com.zoo.service.IKeeperService; import com.zoo.service.IVeterinaryService; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/zoo/login") public class LoginController { @Autowired IAccountService iAccountService; @Autowired IAdminService iAdminService; @Autowired IKeeperService iKeeperService; @Autowired IVeterinaryService iVeterinaryService; @PostMapping("/login") public R login(String username,String password){ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("username",username); queryWrapper.eq("password",password); Account one = iAccountService.getOne(queryWrapper); if (one == null){ return R.error("账号密码错误"); } if (one.getPermissions()==0){ Admin admin = iAdminService.selectById(one.getRoleid()); AdminDto adminDto = new AdminDto(); BeanUtils.copyProperties(admin,adminDto); adminDto.setPermissions(0); return R.success(adminDto); }else if (one.getPermissions()==1){ Keeper keeper = iKeeperService.selectById(one.getRoleid()); KeeperDto keeperDto = new KeeperDto(); BeanUtils.copyProperties(keeper,keeperDto); keeperDto.setPermissions(1); return R.success(keeperDto); }else { Veterinary veterinary = iVeterinaryService.selectById(one.getRoleid()); VeterinaryDto veterinaryDto = new VeterinaryDto(); BeanUtils.copyProperties(veterinary,veterinaryDto); veterinaryDto.setPermissions(2); return R.success(veterinaryDto); } } }