package com.moral.api.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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.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;
/**
*
* 组织显示单位以及报警等级表 服务实现类
*
*
* @author moral
* @since 2021-06-17
*/
@Service
public class OrganizationUnitAlarmServiceImpl extends ServiceImpl 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 wrapper = new QueryWrapper<>();
wrapper.eq("is_delete", Constants.NOT_DELETE);
wrapper.eq("organization_id",organizationId);
wrapper.eq("version_id",versionId);
Page wrapperPage = new Page<>(pageCount, size);
Page resultPage = organizationUnitAlarmMapper.selectPage(wrapperPage, wrapper);
List records = resultPage.getRecords();
//封装返回结果
List 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());
//更新
organizationUnitAlarmMapper.updateById(organizationUnitAlarm);
//获取更新后的记录用于插入日志
OrganizationUnitAlarm newRecord = organizationUnitAlarmMapper.selectById(organizationUnitAlarm.getId());
//封装返回对象
dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
return dto;
}
}