package com.iailab.module.model.mcs.sche.service.impl; import com.alibaba.fastjson.JSON; import com.baomidou.dynamic.datasource.annotation.DSTransactional; import com.iailab.framework.common.pojo.PageResult; import com.iailab.framework.common.service.impl.BaseServiceImpl; import com.iailab.framework.common.util.object.ConvertUtils; import com.iailab.module.model.mcs.sche.dao.StScheduleRecordDao; import com.iailab.module.model.mcs.sche.entity.StScheduleRecordDetailEntity; import com.iailab.module.model.mcs.sche.entity.StScheduleRecordEntity; import com.iailab.module.model.mcs.sche.service.StScheduleRecordDetailService; import com.iailab.module.model.mcs.sche.service.StScheduleRecordService; import com.iailab.module.model.mcs.sche.vo.StScheduleRecordDetailRespVO; import com.iailab.module.model.mcs.sche.vo.StScheduleRecordPageReqVO; import com.iailab.module.model.mcs.sche.vo.StScheduleRecordRespVO; import com.iailab.module.model.mdk.vo.ScheduleResultVO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; import java.util.List; import java.util.UUID; /** * @author PanZhibao * @Description * @createTime 2024年09月06日 */ @Service public class StScheduleRecordServiceImpl extends BaseServiceImpl implements StScheduleRecordService { @Autowired private StScheduleRecordDetailService stScheduleRecordDetailService; @Override public PageResult page(StScheduleRecordPageReqVO reqVO) { return baseDao.selectPage(reqVO); } @Override public StScheduleRecordRespVO getInfo(String id) { StScheduleRecordEntity entity = baseDao.selectById(id); StScheduleRecordRespVO respVO = ConvertUtils.sourceToTarget(entity, StScheduleRecordRespVO.class); List list = stScheduleRecordDetailService.getByRecordId(id); respVO.setDetailList(ConvertUtils.sourceToTarget(list, StScheduleRecordDetailRespVO.class)); return respVO; } @Override @DSTransactional(rollbackFor = Exception.class) public void create(ScheduleResultVO resultVO) { StScheduleRecordEntity entity = new StScheduleRecordEntity(); entity.setId(UUID.randomUUID().toString()); entity.setCreateTime(new Date()); entity.setSchemeId(resultVO.getSchemeId()); entity.setScheduleTime(resultVO.getScheduleTime()); entity.setModelId(resultVO.getModelId()); entity.setResultCode(resultVO.getResultCode()); entity.setResultData(JSON.toJSONString(resultVO.getResult())); baseDao.insert(entity); stScheduleRecordDetailService.create(entity.getId(), resultVO); } }