2021与蓝度共同重构项目,服务端
chenjiantian
2021-12-15 d74dd3d6f754a7dd3660ef025276f9a055111b6b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
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;
    }
}