AlarmLevelStandardConfigController.java 8.9 KB
package com.skua.modules.controller;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.skua.modules.alarmtmp.entity.AlarmLevelStandardConfig;
import com.skua.modules.alarmtmp.service.AlarmLevelStandardConfigService;
import com.skua.core.api.vo.Result;
import com.skua.core.aspect.annotation.AutoLog;
import com.skua.core.query.QueryGenerator;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;

import javax.servlet.http.HttpServletRequest;
import java.util.Arrays;
import java.util.List;

/**
 * @program: skboot
 * @description:
 * @author: xie chao
 * @create: 2020-11-14 16:20
 */


@Slf4j
@RestController
@AllArgsConstructor
@RequestMapping("/alarm/levelStandard")
@Api(tags = "数据标准化/设计标准")
public class AlarmLevelStandardConfigController {


    private AlarmLevelStandardConfigService alarmLevelStandardConfigService;


    /**
     * 新增报警级别标准化配置
     * @param alarmLevelStandardConfig 需要添加的报警级别标准化配置
     * @return
     */
    @AutoLog(value = "报警级别标准化配置-添加")
    @ApiOperation(value="报警级别标准化配置-添加", notes="报警级别标准化配置-添加")
    @PostMapping(value = "/add")
    public Result<AlarmLevelStandardConfig> addAlarmParamStandardInfo(@RequestBody AlarmLevelStandardConfig alarmLevelStandardConfig){

        Result<AlarmLevelStandardConfig> result = new Result<>();

        try{
            //设置isDelete的字段1,表示为有效数据
            alarmLevelStandardConfig.setDelFlag(1);

            alarmLevelStandardConfigService.save(alarmLevelStandardConfig);
            result.success("新增成功");
        }catch (Exception e){
            log.error(e.getMessage(),e);
            result.error500("新增失败");
        }


        return result;
    }


    /**
     *   通过id删除报警级别标准化配置,不删除实际数据,做逻辑删除
     * @param id
     * @return
     */
    @AutoLog(value = "报警级别标准化配置-通过id删除")
    @ApiOperation(value="报警级别标准化配置-通过id删除", notes="报警级别标准化配置-通过id删除")
    @DeleteMapping(value = "/delete")
    public Result<?> deleteAlarmParamStandardInfo(@RequestParam(name="id",required=true) String id) {

        Result<AlarmLevelStandardConfig> result = new Result<>();

        try{
            //通过id查询数据
            AlarmLevelStandardConfig alarmParamStandardConfigEntity = alarmLevelStandardConfigService.getById(id);
            //判断对象是否存在
            if(alarmParamStandardConfigEntity == null){
                result.error500("数据已删除");
            }else{
            	//验证标准是否存在关联
            	
            	
                //将isDelete的字段设置为0,表示数据已删除
                alarmParamStandardConfigEntity.setDelFlag(0);
                alarmLevelStandardConfigService.updateById(alarmParamStandardConfigEntity);
            }
            result.success("删除成功");
        }catch (Exception e){
            log.error(e.getMessage(),e);
            result.error500("删除失败");
        }

        return result;
    }

    /**
     *  批量删除报警级别标准化配置,不删除实际数据,做逻辑删除
     * @param ids
     * @return
     */
    @AutoLog(value = "报警级别标准化配置-批量删除")
    @ApiOperation(value="报警级别标准化配置-批量删除", notes="报警级别标准化配置-批量删除")
    @DeleteMapping(value = "/deleteBatch")
    public Result<AlarmLevelStandardConfig> deleteBatchAlarmParamStandardInfo(@RequestParam(name="ids",required=true) String ids) {

        Result<AlarmLevelStandardConfig> result = new Result<>();
        //判断参数是否有效
        if(ids == null || "".equals(ids.trim())){
            result.error500("参数不识别");
        }

        try{
            //设置查询条件
            QueryWrapper<AlarmLevelStandardConfig> queryWrapper = new QueryWrapper<>();
            queryWrapper.in("id", Arrays.asList(ids.split(",")));
            //根据ID查询所有符合条件的数据
            List<AlarmLevelStandardConfig> alarmParamStandardConfigList = alarmLevelStandardConfigService.list(queryWrapper);

            //将所有的对象的isDelete字段设置为0,表示数据已删除
            alarmParamStandardConfigList.forEach(obj -> obj.setDelFlag(0));

            alarmLevelStandardConfigService.updateBatchById(alarmParamStandardConfigList);
            result.success("删除成功");
        }catch (Exception e){
            log.error(e.getMessage(),e);
            result.error500("删除失败");
        }

        return result;
    }


    /**
     *  编辑报警级别标准化配置
     * @param alarmLevelStandardConfig
     * @return
     */
    @AutoLog(value = "报警级别标准化配置-编辑")
    @ApiOperation(value="报警级别标准化配置-编辑", notes="报警级别标准化配置-编辑")
    @PutMapping(value = "/edit")
    public Result<AlarmLevelStandardConfig> editAlarmParamStandardInfo(@RequestBody AlarmLevelStandardConfig alarmLevelStandardConfig) {

        Result<AlarmLevelStandardConfig> result = new Result<>();

        try {
            //通过id查询该数据在数据库中是否存在
            AlarmLevelStandardConfig alarmParamStandardConfigEntity = alarmLevelStandardConfigService.getById(alarmLevelStandardConfig.getId());

            if (alarmParamStandardConfigEntity == null || alarmParamStandardConfigEntity.getDelFlag() == 0) {
                result.error500("未找到需要修改的数据");
            } else {
                alarmLevelStandardConfigService.updateById(alarmLevelStandardConfig);
                result.success("修改成功");
            }
        }catch (Exception e){
            log.error("报警标准配置修改失败",e.getMessage());
            result.error500("修改失败");
        }
        return result;
    }

    /**
     * 分页列表查询
     * @param alarmLevelStandardConfig
     * @param pageNo
     * @param pageSize
     * @param req
     * @return
     */
    @AutoLog(value = "报警级别标准化配置-分页列表查询")
    @ApiOperation(value="报警级别标准化配置-分页列表查询", notes="报警级别标准化配置-分页列表查询")
    @GetMapping(value = "/list")
    public Result<IPage<AlarmLevelStandardConfig>> queryPageList(AlarmLevelStandardConfig alarmLevelStandardConfig,
                                                                 @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
                                                                 @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
                                                                 HttpServletRequest req) {

        Result<IPage<AlarmLevelStandardConfig>> result = new Result<>();

        try {
            //查询未删除的数据
            alarmLevelStandardConfig.setDelFlag(1);
            QueryWrapper<AlarmLevelStandardConfig> queryWrapper = QueryGenerator.initQueryWrapper(alarmLevelStandardConfig, req.getParameterMap());
            Page<AlarmLevelStandardConfig> page = new Page<>(pageNo, pageSize);
            IPage<AlarmLevelStandardConfig> pageList = alarmLevelStandardConfigService.page(page, queryWrapper);
            result.setSuccess(true);
            result.setResult(pageList);
        }catch (Exception e){
            log.error("报警级别标准化配置查询失败",e.getMessage());
            result.setSuccess(false);
            result.setResult(null);
        }
        return result;

    }


    /**
     * 返回级别标准化的集合
     * @return
     */
    @AutoLog(value = "报警级别标准化配置-查询全部数据")
    @ApiOperation(value="报警级别标准化配置-查询全部数据", notes="报警级别标准化配置-查询全部数据")
    @GetMapping(value = "/queryList")
    public Result<List<AlarmLevelStandardConfig>> queryList() {

        Result<List<AlarmLevelStandardConfig>> result = new Result<>();

        try {
            //查询未删除的数据
            QueryWrapper<AlarmLevelStandardConfig> alarmLevelStandardConfigQueryWrapper = new QueryWrapper<>();
            alarmLevelStandardConfigQueryWrapper.eq("del_flag","1");
            List<AlarmLevelStandardConfig> alarmLevelStandardConfigList = alarmLevelStandardConfigService.list(alarmLevelStandardConfigQueryWrapper);
            result.setSuccess(true);
            result.setResult(alarmLevelStandardConfigList);
        }catch (Exception e){
            log.error("报警级别标准化配置全部数据查询失败",e.getMessage());
            result.setSuccess(false);
            result.setResult(null);
        }
        return result;

    }


}