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 { 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; } }