package com.fgkj.controller; import com.fgkj.util.*; import com.fgkj.dto.ServiceModel; import com.fgkj.dto.User_Chart; import com.fgkj.dto.User_inf; import com.fgkj.dto.User_log; import com.fgkj.mapper.UinfDaoFactory; import com.fgkj.services.User_ChartService; import com.fgkj.services.User_logService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.io.File; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.sql.Blob; import java.sql.SQLException; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.annotation.Resource; @RequestMapping("userChart") @RestController @Api(tags = "userChart接口TODO") public class User_ChartController{ @Resource private User_ChartService service; @Resource private User_logService uservice; // private List file; // private List fileFileName; // private List filetype; // private User_Chart uc; private static Map fileUtil = new HashMap(){ { put("logo","logo.png"); put("normal","home_normal.gif"); put("behind","home_behind.gif"); put("timeout","home_timeout.gif"); put("warn","home_warn.gif"); //添加61850设备对应的kk --》文件名称 put("nuclear","home_warn.gif"); put("devalarm","home_warn.gif"); put("precharge","home_warn.gif"); put("onlinecharge","home_warn.gif"); } }; //添加图标 @PostMapping("/") @ApiOperation(notes = "",value="添加图标") public ServiceModel add(@RequestBody User_Chart uchart,@RequestBody List file,List filetype){ suitFiles(file,filetype,uchart); ServiceModel model =service.add(uchart); { String msg="添加"+uchart.getChart_name()+"班组图表"; User_log ulog=UinfDaoFactory.CreateULog(UinfDaoFactory.Increase, msg); uservice.add(ulog);//将用户的操作记录下来 } return model; } //修改图标信息 @PutMapping("/") @ApiOperation(notes = "",value="修改图标信息") public ServiceModel update(@RequestBody User_Chart uchart,@RequestBody Listfile,@RequestBody Listfiletype){ suitFiles(file,filetype,uchart); //设置对象的属性值 ServiceModel model =service.update(uchart); { String msg="修改"+uchart.getChart_name()+"班组图表"; User_log ulog=UinfDaoFactory.CreateULog(UinfDaoFactory.Alter, msg); uservice.add(ulog);//将用户的操作记录下来 } return model; } //删除图标 @DeleteMapping("/") @ApiOperation(notes = "",value="删除图标") public ServiceModel del(@RequestBody User_Chart uchart){ ServiceModel model =service.del(uchart); { String msg="删除"+uchart.getChart_name()+"班组图表"; User_log ulog=UinfDaoFactory.CreateULog(UinfDaoFactory.Delete, msg); uservice.add(ulog);//将用户的操作记录下来 } return model; } //查询所有图标 @GetMapping("all") @ApiOperation(notes = "",value="查询所有图标") public ServiceModel searchAll(){ ServiceModel model =service.searchAll(); return model; } //根据用户id查图表 @GetMapping("byCondition") @ApiOperation(notes = "",value="用户id查图表") public ServiceModel serchByCondition(@RequestBody User_inf uinf){ ServiceModel model =service.serchByCondition(uinf); return model; } //根据chartfile和列名查具体的图片 @GetMapping("byInfo") @ApiOperation(notes = "",value="chartfile和列名查具体的图片") public void serchByInfo(@RequestBody User_Chart uc){ //System.out.println(json); InputStream is = null; OutputStream os =null; ServiceModel model = service.serchByInfo(uc); if(model.code == 1){ List list = (List) model.getData(); Blob blob = (Blob) list.get(0); try { is = blob.getBinaryStream(); os = ActionUtil.getResponse().getOutputStream(); byte[] image = ActionUtil.IStoByteArr(is); os.write(image); os.flush(); } catch (SQLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally{ if(os != null){ try { os.close(); } catch (IOException e) { e.printStackTrace(); } } } } } /** * 将文件设置到指定的对象中去 * @param files * @param ftype * @param uc */ private void suitFiles(List files,List ftype,User_Chart uc){ for(int i=0;i