11 changed files with 195 additions and 3 deletions
-
32logging/src/main/java/com/storeroom/controller/LoginLogController.java
-
55logging/src/main/java/com/storeroom/domain/LoginLog.java
-
8logging/src/main/java/com/storeroom/repository/LoginLogRepository.java
-
23logging/src/main/java/com/storeroom/service/LoginLogService.java
-
21logging/src/main/java/com/storeroom/service/dto/LoginLogQueryCriteria.java
-
32logging/src/main/java/com/storeroom/service/impl/LoginLogServiceImpl.java
-
3storeroom/src/main/java/com/storeroom/modules/device/service/impl/DeviceImpl.java
-
2storeroom/src/main/java/com/storeroom/modules/storeroom3d/controller/AlarmInfoController.java
-
4storeroom/src/main/java/com/storeroom/modules/storeroom3d/domain/DisplayConfig.java
-
3storeroom/src/main/java/com/storeroom/modules/storeroom3d/repository/DisplayConfigRepository.java
-
13system/src/main/java/com/storeroom/modules/security/controller/AuthorizationController.java
@ -0,0 +1,32 @@ |
|||
package com.storeroom.controller; |
|||
|
|||
|
|||
import com.storeroom.annotaion.rest.AnonymousGetMapping; |
|||
import com.storeroom.service.LoginLogService; |
|||
import com.storeroom.service.dto.LoginLogQueryCriteria; |
|||
import com.storeroom.utils.ApiResponse; |
|||
import io.swagger.annotations.Api; |
|||
import io.swagger.annotations.ApiOperation; |
|||
import lombok.RequiredArgsConstructor; |
|||
import org.springframework.data.domain.Pageable; |
|||
import org.springframework.web.bind.annotation.RequestMapping; |
|||
import org.springframework.web.bind.annotation.RestController; |
|||
|
|||
@RestController |
|||
@RequiredArgsConstructor |
|||
@RequestMapping("/api/loginlogs/") |
|||
@Api(tags = "系统:登录日志") |
|||
public class LoginLogController { |
|||
|
|||
|
|||
private final LoginLogService loginLogService; |
|||
|
|||
@ApiOperation("获取登录日志列表") |
|||
@AnonymousGetMapping("list") |
|||
public ApiResponse<Object> list(LoginLogQueryCriteria criteria, Pageable pageable) { |
|||
|
|||
return ApiResponse.success(loginLogService.queryAll(criteria, pageable)); |
|||
} |
|||
|
|||
|
|||
} |
@ -0,0 +1,55 @@ |
|||
package com.storeroom.domain; |
|||
|
|||
|
|||
import com.storeroom.base.BaseEntity; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Getter; |
|||
import lombok.Setter; |
|||
|
|||
import javax.persistence.*; |
|||
import javax.validation.constraints.NotNull; |
|||
import java.io.Serializable; |
|||
import java.util.Objects; |
|||
|
|||
@Entity |
|||
@Getter |
|||
@Setter |
|||
@Table(name = "login_log") |
|||
public class LoginLog extends BaseEntity implements Serializable { |
|||
|
|||
|
|||
@Id |
|||
@Column(name = "id") |
|||
@NotNull(groups = Update.class) |
|||
@ApiModelProperty(value = "ID", hidden = true) |
|||
private String id; |
|||
|
|||
@Column(name = "account") |
|||
private String account; |
|||
|
|||
@Column(name = "username") |
|||
private String username; |
|||
|
|||
|
|||
@Column(name = "role") |
|||
private String role; |
|||
|
|||
@Column(name = "det") |
|||
private String det; |
|||
|
|||
@Column(name = "requestIp") |
|||
private String requestIp; |
|||
|
|||
@Override |
|||
public boolean equals(Object o) { |
|||
if (this == o) return true; |
|||
if (o == null || getClass() != o.getClass()) return false; |
|||
LoginLog loginLog = (LoginLog) o; |
|||
return Objects.equals(id, loginLog.id) && Objects.equals(account, loginLog.account) && Objects.equals(username, loginLog.username) && Objects.equals(role, loginLog.role) && Objects.equals(det, loginLog.det) && Objects.equals(requestIp, loginLog.requestIp); |
|||
} |
|||
|
|||
@Override |
|||
public int hashCode() { |
|||
return Objects.hash(id, account, username, role, det, requestIp); |
|||
} |
|||
} |
@ -0,0 +1,8 @@ |
|||
package com.storeroom.repository; |
|||
|
|||
import com.storeroom.domain.LoginLog; |
|||
import org.springframework.data.jpa.repository.JpaRepository; |
|||
import org.springframework.data.jpa.repository.JpaSpecificationExecutor; |
|||
|
|||
public interface LoginLogRepository extends JpaRepository<LoginLog, Integer>, JpaSpecificationExecutor<LoginLog> { |
|||
} |
@ -0,0 +1,23 @@ |
|||
package com.storeroom.service; |
|||
|
|||
import com.storeroom.domain.LoginLog; |
|||
import com.storeroom.service.dto.LoginLogQueryCriteria; |
|||
import org.springframework.data.domain.Pageable; |
|||
|
|||
public interface LoginLogService { |
|||
|
|||
/** |
|||
* 保存登录日志 |
|||
* @param log |
|||
*/ |
|||
void save(LoginLog log); |
|||
|
|||
|
|||
/** |
|||
* |
|||
* @param criteria / |
|||
* @param pageable / |
|||
* @return / |
|||
*/ |
|||
Object queryAll(LoginLogQueryCriteria criteria, Pageable pageable); |
|||
} |
@ -0,0 +1,21 @@ |
|||
package com.storeroom.service.dto; |
|||
|
|||
|
|||
import com.storeroom.annotaion.Query; |
|||
import lombok.Data; |
|||
|
|||
import java.sql.Timestamp; |
|||
import java.util.List; |
|||
|
|||
@Data |
|||
public class LoginLogQueryCriteria { |
|||
|
|||
@Query(blurry = "username,account,det") |
|||
private String blurry; |
|||
|
|||
@Query |
|||
private String logType; |
|||
|
|||
@Query(type = Query.Type.BETWEEN) |
|||
private List<Timestamp> createTime; |
|||
} |
@ -0,0 +1,32 @@ |
|||
package com.storeroom.service.impl; |
|||
|
|||
import com.storeroom.domain.LoginLog; |
|||
import com.storeroom.repository.LoginLogRepository; |
|||
import com.storeroom.service.LoginLogService; |
|||
import com.storeroom.service.dto.LoginLogQueryCriteria; |
|||
import com.storeroom.utils.PageUtil; |
|||
import com.storeroom.utils.QueryHelp; |
|||
import lombok.RequiredArgsConstructor; |
|||
import org.springframework.data.domain.Page; |
|||
import org.springframework.data.domain.Pageable; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
|
|||
@Service |
|||
@RequiredArgsConstructor |
|||
public class LoginLogServiceImpl implements LoginLogService { |
|||
|
|||
|
|||
private final LoginLogRepository loginLogRepository; |
|||
|
|||
@Override |
|||
public void save(LoginLog log) { |
|||
loginLogRepository.save(log); |
|||
} |
|||
|
|||
@Override |
|||
public Object queryAll(LoginLogQueryCriteria criteria, Pageable pageable) { |
|||
Page<LoginLog> page = loginLogRepository.findAll(((root, query, criteriaBuilder) -> QueryHelp.getPredicate(root, criteria, criteriaBuilder)), pageable); |
|||
return PageUtil.toPage(page); |
|||
} |
|||
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue