package com.example.demo.controller; 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 java.io.IOException; @Api(tags = "SN操作") @Controller 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 String SNDto) { try { snService.addSN(SNDto); return HttpResult.success("添加成功"); } catch (SNRepetitiveException e) { return HttpResult.fail("SN已存在,请勿重复添加!"); } 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_SNs") @ResponseBody public HttpResult getBase64SNs() throws IOException { 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 String SN) { try { snService.deleteSN(SN); return HttpResult.success("SN已删除或不存在!"); } catch (Exception e) { logger.error(e.getMessage()); return HttpResult.fail("服务器异常!"); } } }