XuqmGroup-Server/im-service/src/main/java/com/xuqm/im/service/OperationLogService.java

44 行
1.4 KiB
Java

package com.xuqm.im.service;
import com.xuqm.im.entity.ImOperationLogEntity;
import com.xuqm.im.repository.ImOperationLogRepository;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.UUID;
@Service
public class OperationLogService {
private final ImOperationLogRepository repository;
public OperationLogService(ImOperationLogRepository repository) {
this.repository = repository;
}
public ImOperationLogEntity record(
2026-05-07 19:39:42 +08:00
String appKey,
String operatorId,
String action,
String resourceType,
String resourceId,
String detail) {
ImOperationLogEntity entity = new ImOperationLogEntity();
entity.setId(UUID.randomUUID().toString());
2026-05-07 19:39:42 +08:00
entity.setAppId(appKey);
entity.setOperatorId(operatorId == null || operatorId.isBlank() ? "system" : operatorId);
entity.setAction(action);
entity.setResourceType(resourceType);
entity.setResourceId(resourceId);
entity.setDetail(detail);
entity.setCreatedAt(LocalDateTime.now());
return repository.save(entity);
}
2026-05-07 19:39:42 +08:00
public Page<ImOperationLogEntity> list(String appKey, Pageable pageable) {
return repository.findByAppIdOrderByCreatedAtDesc(appKey, pageable);
}
}