package com.sandu.ximon.admin.service;
|
|
import cn.hutool.core.util.StrUtil;
|
import com.sandu.common.execption.BusinessException;
|
import com.sandu.common.service.impl.BaseServiceImpl;
|
import com.sandu.ximon.admin.param.LightTaskParam;
|
import com.sandu.ximon.admin.security.SecurityUtils;
|
import com.sandu.ximon.dao.domain.LightTask;
|
import com.sandu.ximon.dao.mapper.LightTaskMapper;
|
import lombok.AllArgsConstructor;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
|
/**
|
* @author chenjiantian
|
* @date 2021/12/15 16:33
|
* 路灯任务操作
|
*/
|
@Service
|
@AllArgsConstructor
|
public class LightTaskService extends BaseServiceImpl<LightTaskMapper, LightTask> {
|
|
private final static int ORDER_LENGTH = 6;
|
|
private final LightTaskQuartzService lightTaskQuartzService;
|
|
/**
|
* 新增路灯任务
|
*/
|
@Transactional(rollbackFor = Exception.class)
|
public boolean addLightTask(LightTaskParam param) {
|
if(StrUtil.length(param.getControlOrder()) % ORDER_LENGTH != 0){
|
throw new BusinessException("灯控命令格式不正确");
|
}
|
LightTask lightTask = new LightTask();
|
lightTask.setClientId(SecurityUtils.getClientId());
|
lightTask.setTaskName(param.getTaskName());
|
lightTask.setWeek(param.getWeek());
|
lightTask.setCloseOrder(param.getCloseOrder());
|
lightTask.setOpenOrder(param.getOpenOrder());
|
lightTask.setControlOrder(param.getControlOrder());
|
lightTask.setCreateUser(SecurityUtils.getUsername());
|
if(!save(lightTask)) {
|
throw new BusinessException("保存路灯任务失败");
|
}
|
boolean result = lightTaskQuartzService.addLightTaskQuartz(lightTask);
|
return false;
|
}
|
}
|