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
-
5storeroom/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