ximon-admin/src/main/java/com/sandu/ximon/admin/controller/AdminController.java
@@ -14,7 +14,6 @@ import com.sandu.common.object.BaseConditionVO; import com.sandu.common.redis.RedisService; import com.sandu.common.security.LoginUserInfo; import com.sandu.common.security.annotation.AnonymousAccess; import com.sandu.common.security.config.SecurityProperties; import com.sandu.common.security.token.TokenProvider; import com.sandu.common.util.IpUtil; @@ -70,10 +69,7 @@ private PermissionConfig permissionConfig; private final RedisService redisService; @Log("åå°ç¨æ·ç»å½") @AnonymousAccess @PostMapping(value = "/login") public ResponseVO<Object> login(HttpServletRequest request, @RequestBody AdminLoginParam loginParam) { public ResponseVO<Object> login(HttpServletRequest request, AdminLoginParam loginParam) { Admin admin = adminService.getOne(Wrappers.lambdaQuery(Admin.class).eq(Admin::getUsername, loginParam.getUsername()).last("limit 1")); if (admin == null) { return ResponseUtil.error(ResponseStatusEnums.BAD_CREDENTIALS.getCode(), ResponseStatusEnums.BAD_CREDENTIALS.getMessage()); @@ -123,7 +119,8 @@ // è¿å token ä¸ ç¨æ·ä¿¡æ¯ Map<String, Object> authInfo = new HashMap<String, Object>(2) {{ put("token", properties.getTokenStartWith() + token); put("user", admin); put("admin", admin); put("client", null); }}; ximon-admin/src/main/java/com/sandu/ximon/admin/controller/ClientController.java
@@ -144,9 +144,7 @@ return ResponseUtil.successPage(clientDtoNodes); } @AnonymousAccess @PostMapping(value = "/login") public ResponseVO<Object> longin(HttpServletRequest request, @RequestBody @Validated AdminLoginParam loginParam) { public ResponseVO<Object> login(HttpServletRequest request, AdminLoginParam loginParam) { Client client = clientService.getOne(Wrappers.lambdaQuery(Client.class).eq(Client::getClientName, loginParam.getUsername()).last("limit 1")); if (client == null) { return ResponseUtil.error(ResponseStatusEnums.BAD_CREDENTIALS.getCode(), ResponseStatusEnums.BAD_CREDENTIALS.getMessage()); @@ -182,7 +180,8 @@ // è¿å token ä¸ ç¨æ·ä¿¡æ¯ Map<String, Object> authInfo = new HashMap<String, Object>(2) {{ put("token", properties.getTokenStartWith() + token); put("user", client); put("admin", null); put("client", client); }}; /** ximon-admin/src/main/java/com/sandu/ximon/admin/controller/UserLoginController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,49 @@ package com.sandu.ximon.admin.controller; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.sandu.common.domain.ResponseVO; import com.sandu.common.security.annotation.AnonymousAccess; import com.sandu.common.util.ResponseUtil; import com.sandu.ximon.admin.param.AdminLoginParam; import com.sandu.ximon.admin.service.AdminService; import com.sandu.ximon.admin.service.ClientService; import com.sandu.ximon.dao.domain.Admin; import com.sandu.ximon.dao.domain.Client; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; /** * @author LiuHaoNan * @date 2022/10/21 */ @Slf4j @RestController @AllArgsConstructor @RequestMapping("/v1/userLogin") public class UserLoginController { private final AdminController adminController; private final AdminService adminService; private final ClientController clientController; private final ClientService clientService; @AnonymousAccess @PostMapping(value = "/login") public ResponseVO<Object> login(HttpServletRequest request, @RequestBody AdminLoginParam loginParam) { Admin admin = adminService.getOne(Wrappers.lambdaQuery(Admin.class).eq(Admin::getUsername, loginParam.getUsername())); Client client = clientService.getOne(Wrappers.lambdaQuery(Client.class).eq(Client::getClientName, loginParam.getUsername())); if (admin != null) { return ResponseUtil.success(adminController.login(request, loginParam)); } else if (client != null) { return ResponseUtil.success(clientController.login(request, loginParam)); } else { return ResponseUtil.fail("ç¨æ·ä¿¡æ¯ä¸åå¨"); } } } ximon-admin/src/main/java/com/sandu/ximon/admin/service/AdminService.java
@@ -53,7 +53,11 @@ public boolean register(AdminParam param) { Admin admin = findByUserName(param.getUsername()); if (admin != null) { throw new BusinessException("å½åè´¦å·" + param.getUsername() + "å·²ç»åå¨"); throw new BusinessException("å½åè´¦å·" + param.getUsername() + "å·²ç»å¨ç®¡çåä¸åå¨"); } Client one = SpringContextHolder.getBean(ClientService.class).getOne(Wrappers.lambdaQuery(Client.class).eq(Client::getClientName, param.getUsername())); if (one != null) { throw new BusinessException("å½åè´¦å·" + param.getUsername() + "å·²ç»å¨å®¢æ·ä¸åå¨"); } Admin save = new Admin(); save.setId(snowflake.nextId()); ximon-admin/src/main/java/com/sandu/ximon/admin/service/ClientService.java
@@ -49,7 +49,11 @@ public boolean addClient(AddClientPrarm addClientPrarm) { if (getOne(Wrappers.lambdaQuery(Client.class).eq(Client::getClientName, addClientPrarm.getClientName().trim())) != null) { throw new BusinessException("è¯¥ç¨æ·åå·²åå¨ï¼"); throw new BusinessException("è¯¥ç¨æ·åå·²å¨å®¢æ·ä¸åå¨ï¼"); } Admin admin = SpringContextHolder.getBean(AdminService.class).findByUserName(addClientPrarm.getClientName()); if (admin != null) { throw new BusinessException("å½åè´¦å·" + addClientPrarm.getClientName() + "å·²ç»å¨ç®¡çåä¸åå¨"); } Long userId = SecurityUtils.getUserId(); boolean clientId = findClientId();