package com.iailab.module.model.mcs.sche.service.impl;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.iailab.framework.common.pojo.PageResult;
|
import com.iailab.framework.common.service.impl.BaseServiceImpl;
|
import com.iailab.module.model.mcs.sche.dao.StScheduleModelDao;
|
import com.iailab.module.model.mcs.sche.dto.StScheduleModelDto;
|
import com.iailab.module.model.mcs.sche.entity.StScheduleModelEntity;
|
import com.iailab.module.model.mcs.sche.entity.StScheduleModelUserParamEntity;
|
import com.iailab.module.model.mcs.sche.entity.StScheduleParamEntity;
|
import com.iailab.module.model.mcs.sche.entity.StScheduleParamSettingEntity;
|
import com.iailab.module.model.mcs.sche.service.StScheduleModelService;
|
import com.iailab.module.model.mcs.sche.vo.StScheduleModelRespVO;
|
import org.apache.commons.lang3.StringUtils;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import java.util.Arrays;
|
import java.util.List;
|
import java.util.Map;
|
import java.util.UUID;
|
|
/**
|
* @author PanZhibao
|
* @date 2021年07月20日 14:23
|
*/
|
@Service("stScheduleModelService")
|
public class StScheduleModelServiceImpl extends BaseServiceImpl<StScheduleModelDao, StScheduleModelEntity> implements StScheduleModelService {
|
@Autowired
|
private StScheduleParamSettingServiceImpl stScheduleParamSettingServiceImpl;
|
|
@Autowired
|
private StScheduleParamServiceImpl stScheduleParamServiceImpl;
|
|
@Autowired
|
private StScheduleModelUserParamServiceImpl stScheduleModelUserParamServiceImpl;
|
|
@Override
|
public PageResult<StScheduleModelRespVO> getPageList(Map<String, Object> params) {
|
PageResult<StScheduleModelRespVO> result = new PageResult();
|
IPage<StScheduleModelRespVO> page = baseDao.getPageList(
|
getPage(params, null, false),
|
params
|
);
|
result.setTotal(page.getTotal());
|
result.setList(page.getRecords());
|
return result;
|
}
|
|
private QueryWrapper<StScheduleModelEntity> getWrapper(Map<String, Object> params) {
|
QueryWrapper<StScheduleModelEntity> wrapper = new QueryWrapper<>();
|
return wrapper;
|
}
|
|
@Override
|
@Transactional(rollbackFor = Exception.class)
|
public void saveStScheduleModel(StScheduleModelDto scheduleModel) {
|
StScheduleModelEntity stScheduleModelEntity = new StScheduleModelEntity();
|
BeanUtils.copyProperties(scheduleModel, stScheduleModelEntity);
|
stScheduleModelEntity.setId(UUID.randomUUID().toString());
|
baseDao.insert(stScheduleModelEntity);
|
|
scheduleModel.getStScheduleParamSettingList().forEach(item -> {
|
item.setModelid(stScheduleModelEntity.getId());
|
});
|
stScheduleParamSettingServiceImpl.saveList(scheduleModel.getStScheduleParamSettingList());
|
|
scheduleModel.getStScheduleParamList().forEach(item -> {
|
item.setModelid(stScheduleModelEntity.getId());
|
});
|
stScheduleParamServiceImpl.saveList(scheduleModel.getStScheduleParamList());
|
|
scheduleModel.getStScheduleModelUserParamList().forEach(item -> {
|
item.setModelid(stScheduleModelEntity.getId());
|
});
|
stScheduleModelUserParamServiceImpl.saveList(scheduleModel.getStScheduleModelUserParamList());
|
}
|
|
@Override
|
public StScheduleModelDto getDetailById(String id) {
|
StScheduleModelDto scheduleMode = new StScheduleModelDto();
|
StScheduleModelEntity stScheduleModelEntity = baseDao.selectById(id);
|
BeanUtils.copyProperties(stScheduleModelEntity, scheduleMode);
|
List<StScheduleParamSettingEntity> stScheduleParamSettingList = stScheduleParamSettingServiceImpl.getByModelid(stScheduleModelEntity.getId());
|
scheduleMode.setStScheduleParamSettingList(stScheduleParamSettingList);
|
List<StScheduleParamEntity> stScheduleParamList = stScheduleParamServiceImpl.getByModelid(stScheduleModelEntity.getId());
|
scheduleMode.setStScheduleParamList(stScheduleParamList);
|
List<StScheduleModelUserParamEntity> stScheduleModelUserParamList = stScheduleModelUserParamServiceImpl.getByModelid(stScheduleModelEntity.getId());
|
scheduleMode.setStScheduleModelUserParamList(stScheduleModelUserParamList);
|
return scheduleMode;
|
}
|
|
@Override
|
@Transactional(rollbackFor = Exception.class)
|
public void update(StScheduleModelDto scheduleModel) {
|
StScheduleModelEntity stScheduleModelEntity = new StScheduleModelEntity();
|
BeanUtils.copyProperties(scheduleModel, stScheduleModelEntity);
|
baseDao.updateById(stScheduleModelEntity);
|
|
scheduleModel.getStScheduleParamSettingList().forEach(item -> {
|
item.setModelid(stScheduleModelEntity.getId());
|
});
|
stScheduleParamSettingServiceImpl.saveList(scheduleModel.getStScheduleParamSettingList());
|
|
scheduleModel.getStScheduleParamList().forEach(item -> {
|
item.setModelid(stScheduleModelEntity.getId());
|
});
|
stScheduleParamServiceImpl.saveList(scheduleModel.getStScheduleParamList());
|
|
scheduleModel.getStScheduleModelUserParamList().forEach(item -> {
|
item.setModelid(stScheduleModelEntity.getId());
|
});
|
stScheduleModelUserParamServiceImpl.saveList(scheduleModel.getStScheduleModelUserParamList());
|
}
|
|
@Override
|
@Transactional(rollbackFor = Exception.class)
|
public void deleteBatch(String[] scheduleModelIds) {
|
baseDao.deleteBatchIds(Arrays.asList(scheduleModelIds));
|
stScheduleParamSettingServiceImpl.deleteBatch(scheduleModelIds);
|
stScheduleParamServiceImpl.deleteBatch(scheduleModelIds);
|
stScheduleModelUserParamServiceImpl.deleteBatch(scheduleModelIds);
|
}
|
|
@Override
|
public int check(StScheduleModelEntity scheduleModel) {
|
String id = scheduleModel.getId();
|
String modelname = scheduleModel.getModelname();
|
QueryWrapper<StScheduleModelEntity> scheduleModelWrapper = new QueryWrapper<>();
|
scheduleModelWrapper.ne(StringUtils.isNotBlank(id), "id", id);
|
scheduleModelWrapper.and(wrapper -> wrapper.eq("modelname", modelname));
|
|
List<StScheduleModelEntity> list = baseDao.selectList(scheduleModelWrapper);
|
return list.size();
|
}
|
|
@Override
|
public Long count() {
|
QueryWrapper<StScheduleModelEntity> wrapper = new QueryWrapper<>();
|
return baseDao.selectCount(wrapper);
|
}
|
}
|