审计记录

sk-module-alarm/src/main/java/com/skua/modules/controller/AlarmParamStandardConfigController.java 8.2 KB
张雷 committed
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 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212
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.AlarmParamStandardConfig;
import com.skua.modules.alarmtmp.service.AlarmParamStandardConfigService;
import com.skua.core.api.vo.Result;
import com.skua.core.aspect.annotation.AutoLog;
import com.skua.core.query.QueryGenerator;
import com.skua.modules.system.datestandard.entity.SysMetricDict;
import com.skua.modules.system.datestandard.service.ISysMetricDictService;
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-03 15:55
 */

@Slf4j
@Api(tags = "报警标准配置")
@RestController
@RequestMapping("/alarm/paramStandard")
@AllArgsConstructor
public class AlarmParamStandardConfigController {


    private AlarmParamStandardConfigService alarmParamStandardConfigService;

    private ISysMetricDictService sysMetricDictService;

    /**
     * 新增警告信息
     * @param alarmParamStandardConfig 需要添加的警告信息
     * @return
     */
    @AutoLog(value = "报警标准配置-添加")
    @ApiOperation(value="报警标准配置-添加", notes="报警标准配置-添加")
    @PostMapping(value = "/add")
    public Result<AlarmParamStandardConfig> addAlarmParamStandardInfo(@RequestBody AlarmParamStandardConfig alarmParamStandardConfig){

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

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

            //根据传入的报警参数编码查询单位
            QueryWrapper<SysMetricDict> sysMetricDictQueryWrapper = new QueryWrapper<>();
            sysMetricDictQueryWrapper.select("metric_unit");
            sysMetricDictQueryWrapper.eq("id",alarmParamStandardConfig.getAlarmParamCode());
            SysMetricDict sysMetricDict = sysMetricDictService.getOne(sysMetricDictQueryWrapper);
            if(sysMetricDict != null) {
                alarmParamStandardConfig.setAlarmParamUnit(sysMetricDict.getMetricUnit());
            }

            alarmParamStandardConfigService.save(alarmParamStandardConfig);
            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<AlarmParamStandardConfig> result = new Result<>();

        try{
            //通过id查询数据
            AlarmParamStandardConfig alarmParamStandardConfigEntity = alarmParamStandardConfigService.getById(id);
            //判断对象是否存在
            if(alarmParamStandardConfigEntity == null){
                result.error500("数据已删除");
            }else{
                //将isDelete的字段设置为0,表示数据已删除
                alarmParamStandardConfigEntity.setDelFlag(0);
                alarmParamStandardConfigService.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<AlarmParamStandardConfig> deleteBatchAlarmParamStandardInfo(@RequestParam(name="ids",required=true) String ids) {

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

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

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

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

        return result;
    }


    /**
     *  编辑报警信息
     * @param alarmParamStandardConfig
     * @return
     */
    @AutoLog(value = "报警标准配置-编辑")
    @ApiOperation(value="报警标准配置-编辑", notes="报警标准配置-编辑")
    @PutMapping(value = "/edit")
    public Result<AlarmParamStandardConfig> editAlarmParamStandardInfo(@RequestBody AlarmParamStandardConfig alarmParamStandardConfig) {

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

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

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

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

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

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

    }

}