64 lines
2.3 KiB
Java
64 lines
2.3 KiB
Java
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<Account> 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);
|
|
}
|
|
}
|
|
}
|