--修改数据日志接口返回类型
This commit is contained in:
@ -19,8 +19,11 @@ import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.validation.Valid;
|
||||
@ -60,6 +63,7 @@ import com.xjrsoft.common.utils.SecureUtil;
|
||||
import com.xjrsoft.module.datalog.entity.DataChangeLog;
|
||||
import com.xjrsoft.module.datalog.entity.json.FieldChange;
|
||||
import com.xjrsoft.module.datalog.service.DatalogService;
|
||||
import com.xjrsoft.module.datalog.vo.DataChangeLogVo;
|
||||
import com.xjrsoft.module.datalog.vo.OperationType;
|
||||
import com.xjrsoft.module.organization.dto.UserDto;
|
||||
|
||||
@ -791,7 +795,7 @@ public class DataLogTools {
|
||||
* @param dataId
|
||||
* @return List<DataChangeLog> 返回类型
|
||||
*/
|
||||
public static <T>List<DataChangeLog> findLogsByEntityId(Class<?> clazz,@NonNull Long dataId) {
|
||||
public static <T>List<DataChangeLogVo> findLogsByEntityId(Class<?> clazz,@NonNull Long dataId) {
|
||||
LogTableInfo tabInfo = getAnnotation(clazz);
|
||||
String tableName = parseLogTableName(tabInfo);
|
||||
return findLogsByEntityId(tableName, dataId);
|
||||
@ -804,7 +808,7 @@ public class DataLogTools {
|
||||
* @param dataId 数据id
|
||||
* @return List<DataChangeLog> 返回类型
|
||||
*/
|
||||
public static <T>List<DataChangeLog> findLogsByEntityId(String tableName,@NonNull Long dataId) {
|
||||
public static <T>List<DataChangeLogVo> findLogsByEntityId(String tableName,@NonNull Long dataId) {
|
||||
if(initTable(tableName)) {
|
||||
return null;
|
||||
}
|
||||
@ -836,7 +840,7 @@ public class DataLogTools {
|
||||
}
|
||||
result.add(log);
|
||||
}
|
||||
return result;
|
||||
return toVo(result);
|
||||
} catch (SQLException e) {
|
||||
throw context.createException(e);
|
||||
} finally {
|
||||
@ -844,6 +848,32 @@ public class DataLogTools {
|
||||
}
|
||||
}
|
||||
|
||||
private static List<DataChangeLogVo> toVo(List<DataChangeLog> list){
|
||||
List<DataChangeLogVo> result = CollectionUtils.newArrayList();
|
||||
if(CollectionUtils.isNotEmpty(list)) {
|
||||
Map<String, List<DataChangeLog>> flowGroup = list.stream().collect(Collectors.groupingBy(DataChangeLog::getFlowId));
|
||||
for (Entry<String, List<DataChangeLog>> entry : flowGroup.entrySet()) {
|
||||
Map<String, List<DataChangeLog>> pidMap = entry.getValue().stream().collect(Collectors.groupingBy(DataChangeLog::getPid));
|
||||
DataChangeLog root = pidMap.get("#").get(0);
|
||||
DataChangeLogVo vo = new DataChangeLogVo();
|
||||
result.add(vo);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
private static DataChangeLogVo toVo(DataChangeLog obj){
|
||||
DataChangeLogVo vo = new DataChangeLogVo();
|
||||
vo.setId(obj.getId());
|
||||
vo.setPid(obj.getPid());
|
||||
vo.setTableName(obj.getBusName());
|
||||
vo.setOperationType(obj.getOperationType());
|
||||
|
||||
return vo;
|
||||
}
|
||||
|
||||
private static String parseLogTableName(LogTableInfo tableInfo) {
|
||||
String name = tableInfo.getTableName();
|
||||
return "datalog_"+name;
|
||||
|
||||
Reference in New Issue
Block a user