jinpengyong
2021-10-13 0197c2fcac5fdb701ff91dcea0d98ec226bc008d
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
package com.moral.api.service.impl;
 
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.moral.api.entity.OrganizationUnitAlarm;
import com.moral.api.mapper.OrganizationUnitAlarmMapper;
import com.moral.api.pojo.dto.organizationUnitAlarm.OrganizationUnitAlarmDTO;
import com.moral.api.pojo.dto.organizationUnitAlarm.OrganizationUnitAlarmQueryDTO;
import com.moral.api.pojo.form.organizationUnitAlarm.OrganizationUnitAlarmQueryForm;
import com.moral.api.pojo.form.organizationUnitAlarm.OrganizationUnitAlarmUpdateForm;
import com.moral.api.service.OrganizationUnitAlarmService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.moral.api.util.CacheUtils;
import com.moral.constant.Constants;
import com.moral.constant.ResponseCodeEnum;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
 
import java.util.ArrayList;
import java.util.List;
 
/**
 * <p>
 * 组织显示单位以及报警等级表 服务实现类
 * </p>
 *
 * @author moral
 * @since 2021-06-17
 */
@Service
public class OrganizationUnitAlarmServiceImpl extends ServiceImpl<OrganizationUnitAlarmMapper, OrganizationUnitAlarm> implements OrganizationUnitAlarmService {
 
    @Autowired
    OrganizationUnitAlarmMapper organizationUnitAlarmMapper;
 
    @Override
    public OrganizationUnitAlarmQueryDTO query(OrganizationUnitAlarmQueryForm form) {
        //创建返回对象
        OrganizationUnitAlarmQueryDTO dto = new OrganizationUnitAlarmQueryDTO();
        //取参
        Integer pageCount = form.getPage();
        Integer size = form.getSize();
        Integer organizationId = form.getOrganizationId();
        Integer versionId = form.getVersionId();
        //构造查询条件
        QueryWrapper<OrganizationUnitAlarm> wrapper = new QueryWrapper<>();
        wrapper.eq("is_delete", Constants.NOT_DELETE);
        wrapper.eq("organization_id",organizationId);
        wrapper.eq("version_id",versionId);
        Page<OrganizationUnitAlarm> wrapperPage = new Page<>(pageCount, size);
        Page<OrganizationUnitAlarm> resultPage = organizationUnitAlarmMapper.selectPage(wrapperPage, wrapper);
        List<OrganizationUnitAlarm> records = resultPage.getRecords();
        //封装返回结果
        List<OrganizationUnitAlarmDTO> dtos = new ArrayList<>();
        records.forEach(value->dtos.add(new OrganizationUnitAlarmDTO(value)));
        dto.setOrganizationUnitAlarmDTOS(dtos);
        dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
        dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
        dto.setCurrent(resultPage.getCurrent());
        dto.setPages(resultPage.getPages());
        dto.setSize(resultPage.getSize());
        dto.setTotal(resultPage.getTotal());
        return dto;
    }
 
    @Override
    @Transactional
    public OrganizationUnitAlarmDTO update(OrganizationUnitAlarmUpdateForm form) {
        //创建返回对象
        OrganizationUnitAlarmDTO dto = new OrganizationUnitAlarmDTO();
        //取参
        OrganizationUnitAlarm organizationUnitAlarm = form.formConvertEntity();
        //查询更新前的记录用于插入日志
        OrganizationUnitAlarm oldRecord = organizationUnitAlarmMapper.selectById(organizationUnitAlarm.getId());
        //更新
        UpdateWrapper updateWrapper = new UpdateWrapper();
 
        if(organizationUnitAlarm.getAlarmLevel().equals("[]"))
            updateWrapper.set("alarm_level",null);
        else
            updateWrapper.set("alarm_level",organizationUnitAlarm.getAlarmLevel());
 
        if(organizationUnitAlarm.getShowUnitKey()!=null)
            updateWrapper.set("show_unit_key",organizationUnitAlarm.getShowUnitKey());
 
        updateWrapper.eq("id",organizationUnitAlarm.getId());
 
        organizationUnitAlarmMapper.update(null,updateWrapper);
        //获取更新后的记录用于插入日志
        OrganizationUnitAlarm newRecord = organizationUnitAlarmMapper.selectById(organizationUnitAlarm.getId());
        //刷新deviceInfo缓存
        CacheUtils.refreshDeviceAlarmInfo();
        CacheUtils.refreshSpecialDeviceAlarmInfo();
        //封装返回对象
        dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
        dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
        return dto;
    }
}