SNController.java 2.65 KB
package com.example.demo.controller;

import com.example.demo.dto.AddSNsDTO;
import com.example.demo.dto.DeleteSNsDTO;
import com.example.demo.exception.SNRepetitiveException;
import com.example.demo.service.SNService;
import com.example.demo.util.HttpResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.IOException;

@Api(tags = "SN操作")
@RestController
@RequestMapping("/sn")
public class SNController {
    static Logger logger = LogManager.getLogger(SNController.class);

    @Autowired
    SNService snService;

//    @ApiOperation("首页")
//    @GetMapping("/index.html")
//    public String index() {
//        return "Index";
//    }

    @ApiOperation("添加SN")
    @PostMapping("/add_sn")
    @ResponseBody
    public HttpResult addSN(@RequestBody @Valid AddSNsDTO addSNsDTO) {

        try {
            snService.addSN(addSNsDTO);
            return HttpResult.success("添加成功");
        } catch (SNRepetitiveException e) {
            return HttpResult.fail(e.getMessage());
        } catch (Exception e) {
            logger.error(e.getMessage());
            return HttpResult.fail();
        }

    }


//    @ApiOperation("获取全部SN")
//    @GetMapping("/get_SNs")
//    @ResponseBody
//    public void getSNs(HttpServletRequest request, HttpServletResponse response) {
//        try {
//            snService.downloadSNFile(request, response);
//        } catch (Exception e) {
//            response.setStatus(500);
//        }
//
//    }

    @ApiOperation("获取全部base64加密后的SN")
    @GetMapping("/get_sn")
    @ResponseBody
    public HttpResult<String> getBase64SNs() {
        try {
            return HttpResult.success("",snService.getEncryptSNs());
        } catch (Exception e) {
            logger.error(e.getMessage());
            return HttpResult.fail("服务器异常");
        }

    }

    @ApiOperation("删除指定SN")
    @PostMapping("/delete_sn")
    @ResponseBody
    public HttpResult deleteSN(@RequestBody @Valid DeleteSNsDTO deleteSNsDTO) {
        try {
            snService.deleteSN(deleteSNsDTO);
            return HttpResult.success("删除成功!");
        }
        catch (Exception e) {
            logger.error(e.getMessage());
            return HttpResult.fail("服务器异常!");
        }
    }


}