package com.iailab.module.model.mcs.sche.service.impl; import com.baomidou.dynamic.datasource.annotation.DSTransactional; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.fhs.core.trans.anno.Trans; import com.iailab.framework.common.pojo.PageResult; import com.iailab.framework.common.service.impl.BaseServiceImpl; import com.iailab.framework.common.util.object.BeanUtils; import com.iailab.framework.common.util.object.ConvertUtils; import com.iailab.module.model.api.mcs.dto.StAdjustConfigDTO; import com.iailab.module.model.common.enums.AdjustConfigStatusEnum; import com.iailab.module.model.mcs.pre.entity.MmItemOutputEntity; import com.iailab.module.model.mcs.sche.dao.StAdjustConfigDao; import com.iailab.module.model.mcs.sche.entity.StAdjustConfigDetEntity; import com.iailab.module.model.mcs.sche.entity.StAdjustConfigEntity; import com.iailab.module.model.mcs.sche.service.StAdjustConfigDetService; import com.iailab.module.model.mcs.sche.service.StAdjustConfigService; import com.iailab.module.model.mcs.sche.vo.StAdjustConfigPageReqVO; import com.iailab.module.model.mcs.sche.vo.StAdjustConfigRespVO; import com.iailab.module.model.mcs.sche.vo.StAdjustConfigSaveReqVO; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.util.*; /** * @author PanZhibao * @Description * @createTime 2025年02月23日 */ @Slf4j @Service public class StAdjustConfigServiceImpl extends BaseServiceImpl implements StAdjustConfigService { @Autowired private StAdjustConfigDetService stAdjustConfigDetService; @Override public PageResult page(StAdjustConfigPageReqVO reqVO) { IPage page = baseDao.selectPage(reqVO); return new PageResult<>(page.getRecords(), page.getTotal()); } @Override @DSTransactional(rollbackFor = Exception.class) public void create(StAdjustConfigSaveReqVO createReqVO) { StAdjustConfigEntity entity = BeanUtils.toBean(createReqVO, StAdjustConfigEntity.class); entity.setId(UUID.randomUUID().toString()); baseDao.insert(entity); List detList = createReqVO.getAdjustConfigDetList(); stAdjustConfigDetService.insertList(detList, entity.getId()); } @Override @DSTransactional(rollbackFor = Exception.class) public void update(StAdjustConfigSaveReqVO updateReqVO) { StAdjustConfigEntity entity = BeanUtils.toBean(updateReqVO, StAdjustConfigEntity.class); baseDao.updateById(entity); stAdjustConfigDetService.deleteByConfigId(entity.getId()); List detList = updateReqVO.getAdjustConfigDetList(); stAdjustConfigDetService.insertList(detList, entity.getId()); } @Override @DSTransactional(rollbackFor = Exception.class) public void delete(String id) { baseDao.deleteById(id); stAdjustConfigDetService.deleteByConfigId(id); } @Override public StAdjustConfigEntity getInfo(String id) { return baseDao.selectById(id); } @Override public List list(Map params) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("trigger_method", params.get("triggerMethod")); queryWrapper.eq("trigger_condition", params.get("triggerCondition")); List list = baseDao.selectList(queryWrapper); return ConvertUtils.sourceToTarget(list, StAdjustConfigDTO.class); } @Override public Map> getAdjustConfigMap(String modelId) { Map> result = new HashMap<>(); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("schedule_model_id", modelId) .eq("status", AdjustConfigStatusEnum.ENABLE.getCode()); List configList = baseDao.selectList(queryWrapper); if (CollectionUtils.isEmpty(configList)) { return result; } for (StAdjustConfigEntity entity : configList) { List detList = stAdjustConfigDetService.getListByConfigId(entity.getId()); result.put(entity, detList); } return result; } }