package com.imed.costaccount.web; import com.imed.costaccount.common.util.Result; import com.imed.costaccount.model.User; import com.imed.costaccount.model.dto.LoginDTO; import com.imed.costaccount.model.vo.CommonVO; import com.imed.costaccount.model.vo.LoginVO; import com.imed.costaccount.service.HospitalService; import com.imed.costaccount.service.UserService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.shiro.SecurityUtils; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.util.List; @Api(tags = "登录相关模块") @RestController @RequestMapping("/costAccount") public class LoginController { private final UserService userService; private final HospitalService hospitalService; public LoginController(UserService userService, HospitalService hospitalService) { this.userService = userService; this.hospitalService = hospitalService; } /** * 登录接口 * @param loginDTO {@link LoginDTO} 登录相关参数 * @return */ @PostMapping("/login") @ApiOperation("登录操作") public Result login(@RequestBody @Valid LoginDTO loginDTO) { LoginVO loginVO = userService.login(loginDTO); return Result.ok(loginVO); } @ApiOperation("退出登录") @PostMapping("/logout") public Result logout() { User user = (User) SecurityUtils.getSubject().getPrincipal(); userService.logout(user); return Result.ok(); } /** * 通过医院标识获取院区列表 * @param sign 医院标识 * @return */ @ApiOperation("获取院区") @GetMapping("/getHospArea") public Result getHospArea(@RequestParam String sign) { List commonVOs = hospitalService.getHospArea(sign); return Result.ok(commonVOs); } }