HouseworkTaskConverter.java
package com.hwhub.backend.infrastructure.mybatis.converter;
import com.hwhub.backend.domain.model.HouseworkTask4AssignModel;
import com.hwhub.backend.domain.model.HouseworkTaskAssignmentHistModel;
import com.hwhub.backend.domain.model.HouseworkTaskModel;
import com.hwhub.backend.infrastructure.mybatis.generated.entity.THouseworkTask;
import com.hwhub.backend.infrastructure.mybatis.generated.entity.THouseworkTaskAssignmentHistory;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
public final class HouseworkTaskConverter {
private HouseworkTaskConverter() {}
public static HouseworkTaskModel toModel(
THouseworkTask entity, List<THouseworkTaskAssignmentHistory> entities) {
if (entity == null) return null;
List<HouseworkTaskAssignmentHistModel> models = new ArrayList<>();
if (!entities.isEmpty()) {
models =
entities.stream()
.map(HouseworkTaskAssignmentHistConverter::toModel)
.collect(Collectors.toList());
}
return HouseworkTask4AssignModel.reconstruct(
entity.getHouseworkTaskId(),
entity.getHouseholdId(),
entity.getHouseworkId(),
entity.getName(),
entity.getDescription(),
entity.getCategory(),
DateConverter.toLocalDate(entity.getTargetDate()),
entity.getAssigneeUserId(),
entity.getStatus(),
entity.getAssignReasonType(),
DateConverter.toLocalDate(entity.getDoneAt()),
entity.getSkippedReason(),
models);
}
public static THouseworkTask toEntity(HouseworkTaskModel model) {
if (model == null) return null;
THouseworkTask entity = new THouseworkTask();
entity.setHouseworkTaskId(model.getHouseworkTaskId());
entity.setHouseholdId(model.getHouseholdId());
entity.setHouseworkId(model.getHouseworkId());
entity.setTargetDate(DateConverter.toDate(model.getTargetDate()));
entity.setAssigneeUserId(model.getAssigneeUserId());
entity.setStatus(model.getStatus());
entity.setAssignReasonType(model.getAssignReasonType());
entity.setDoneAt(DateConverter.toDate(model.getDoneAt()));
entity.setSkippedReason(model.getSkippedReason());
return entity;
}
}