diff --git a/psdc-business/src/main/java/com/psdc/mapper/PsdcDeviceMapper.java b/psdc-business/src/main/java/com/psdc/mapper/PsdcDeviceMapper.java index 5611191..9387b99 100644 --- a/psdc-business/src/main/java/com/psdc/mapper/PsdcDeviceMapper.java +++ b/psdc-business/src/main/java/com/psdc/mapper/PsdcDeviceMapper.java @@ -117,4 +117,7 @@ public interface PsdcDeviceMapper{ * @return */ List controlQueryByUserId(Long userId); + + Integer daoruDevTuPian(@Param(value = "deviceId") Integer deviceId, + @Param(value = "devPictureUrl") String devPictureUrl); } \ No newline at end of file diff --git a/psdc-business/src/main/java/com/psdc/service/IPsdcDeviceService.java b/psdc-business/src/main/java/com/psdc/service/IPsdcDeviceService.java index 7b5f33b..716adc7 100644 --- a/psdc-business/src/main/java/com/psdc/service/IPsdcDeviceService.java +++ b/psdc-business/src/main/java/com/psdc/service/IPsdcDeviceService.java @@ -120,4 +120,6 @@ public interface IPsdcDeviceService { * @return */ List queryControlDeviceList(); + + Boolean daoruDevTuPian(Integer deviceId, String devPictureUrl); } diff --git a/psdc-business/src/main/java/com/psdc/service/impl/PsdcDeviceServiceImpl.java b/psdc-business/src/main/java/com/psdc/service/impl/PsdcDeviceServiceImpl.java index d0092f5..62d92e3 100644 --- a/psdc-business/src/main/java/com/psdc/service/impl/PsdcDeviceServiceImpl.java +++ b/psdc-business/src/main/java/com/psdc/service/impl/PsdcDeviceServiceImpl.java @@ -439,6 +439,22 @@ public class PsdcDeviceServiceImpl implements IPsdcDeviceService { return deviceStatusVoList; } + /** + * 导入设备图片 + * @param deviceId 设备Id + * @param devPictureUrl 图片base64 + * @return + */ + @Override + public Boolean daoruDevTuPian(Integer deviceId, String devPictureUrl) { + int count = psdcDeviceMapper.daoruDevTuPian(deviceId, devPictureUrl); + if (count > 0){ + return true; + } else { + return false; + } + } + private String coverStr(String s, int i) { switch (s) { case "s": diff --git a/psdc-business/src/main/resources/mapper/business/PsdcDeviceMapper.xml b/psdc-business/src/main/resources/mapper/business/PsdcDeviceMapper.xml index ddd6582..0d046cd 100644 --- a/psdc-business/src/main/resources/mapper/business/PsdcDeviceMapper.xml +++ b/psdc-business/src/main/resources/mapper/business/PsdcDeviceMapper.xml @@ -265,6 +265,10 @@ + + Update psdc_device Set photo_url = #{devPictureUrl} Where device_id = #{deviceId} + + update psdc_device diff --git a/psdc-web/src/main/java/com/psdc/controller/manager/PsdcDeviceController.java b/psdc-web/src/main/java/com/psdc/controller/manager/PsdcDeviceController.java index 1a1e2b5..b550477 100644 --- a/psdc-web/src/main/java/com/psdc/controller/manager/PsdcDeviceController.java +++ b/psdc-web/src/main/java/com/psdc/controller/manager/PsdcDeviceController.java @@ -22,9 +22,11 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; +import sun.misc.BASE64Encoder; import javax.servlet.http.HttpServletResponse; import java.io.BufferedOutputStream; +import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.*; @@ -78,10 +80,10 @@ public class PsdcDeviceController extends BaseController { @PreAuthorize("@ss.hasPermi('system:device:list')") @RequestMapping(value = "/selusers", method = RequestMethod.GET) - public AjaxResult selAllUsers() { + public AjaxResult selAllUsers() { List maps = new ArrayList<>(); List list = sysUserService.selectUserList(null); - for (SysUser dd : list){ + for (SysUser dd : list) { Map map = new HashMap<>(); map.put("label", dd.getUserName()); map.put("value", dd.getUserId()); @@ -92,10 +94,10 @@ public class PsdcDeviceController extends BaseController { @PreAuthorize("@ss.hasPermi('system:device:list')") @RequestMapping(value = "/selmodels", method = RequestMethod.GET) - public AjaxResult selAllModels() { + public AjaxResult selAllModels() { List maps = new ArrayList<>(); List list = psdcDeviceService.selalldevModel(); - for (PsdcDevice dd : list){ + for (PsdcDevice dd : list) { Map map = new HashMap<>(); map.put("label", dd.getDeviceModel()); map.put("value", dd.getDeviceModel()); @@ -107,23 +109,23 @@ public class PsdcDeviceController extends BaseController { @PreAuthorize("@ss.hasPermi('system:device:list')") @RequestMapping(value = "/devicesList", method = RequestMethod.POST) public TableDataInfo controlLogList(@RequestBody JSONObject jsonObject) { - // PageMethod.startPage(jsonObject.getInteger("pageNum"),jsonObject.getInteger("pageSize")); - // PsdcDevice deviceVo = JSON.parseObject(String.valueOf(jsonObject), PsdcDevice.class); - // startPage(); + // PageMethod.startPage(jsonObject.getInteger("pageNum"),jsonObject.getInteger("pageSize")); + // PsdcDevice deviceVo = JSON.parseObject(String.valueOf(jsonObject), PsdcDevice.class); + // startPage(); PsdcDevice deviceVo = myPage(jsonObject, PsdcDevice.class); List list = psdcDeviceService.queryAllByLimit(deviceVo); return getDataTable(list); } /** - excel文件的下载 + * excel文件的下载 */ @PreAuthorize("@ss.hasPermi('system:device:list')") @Log(title = "设备管理", businessType = BusinessType.EXPORT) @RequestMapping(value = "/daochuDevs", method = RequestMethod.POST) public void daochuDevDta(HttpServletResponse response, @RequestBody PsdcDevice pd) { List list = psdcDeviceService.queryAllByLimit(pd); - for (PsdcDeviceInfoRes dev : list){ + for (PsdcDeviceInfoRes dev : list) { dev.setUserName(sysUserService.selectUserById(Long.valueOf(dev.getUserId())).getUserName()); } ExcelUtil util = new ExcelUtil<>(PsdcDeviceInfoRes.class); @@ -132,6 +134,7 @@ public class PsdcDeviceController extends BaseController { /** * 下载设备信息模板 + * * @param response */ @PreAuthorize("@ss.hasPermi('system:device:list')") @@ -170,7 +173,7 @@ public class PsdcDeviceController extends BaseController { } /** - excel文件的读取 + * excel文件的读取 */ @RequestMapping("/daoruDevData") @PreAuthorize("@ss.hasPermi('system:device:list')") @@ -184,8 +187,37 @@ public class PsdcDeviceController extends BaseController { @RequestMapping(value = "/upDevUser", method = RequestMethod.POST) @PreAuthorize("@ss.hasPermi('system:device:list')") - public AjaxResult upDevStaUser(@RequestBody UpDevUserRequest query){ + public AjaxResult upDevStaUser(@RequestBody UpDevUserRequest query) { return toAjax(psdcDeviceService.upDevUser(query.getUserId(), query.getDeviceIds())); } + @RequestMapping("/daoruDevTuPian") + @PreAuthorize("@ss.hasPermi('system:device:list')") + @Log(title = "设备管理", businessType = BusinessType.IMPORT) + @Transactional(rollbackFor = Exception.class) + public AjaxResult addDevicePicture(@RequestPart("file") MultipartFile multipartFile, + @RequestParam("deviceId") Integer deviceId) { + // 图片 + if (multipartFile == null) { + return AjaxResult.error("未检查到上传的文件!"); + } + + String imageBaseStr = null; + try { + String contentType = multipartFile.getContentType(); + if (!contentType.contains("image")) { + return AjaxResult.error("文件类型不正确!"); + } + byte[] imageBytes = multipartFile.getBytes(); + BASE64Encoder base64Encoder = new BASE64Encoder(); + imageBaseStr = "data:" + contentType + ";base64," + base64Encoder.encode(imageBytes); + imageBaseStr = imageBaseStr.replaceAll("[\\s*\t\n\r]", ""); + return toAjax(psdcDeviceService.daoruDevTuPian(deviceId, imageBaseStr)); + } catch (IOException e) { + logger.warn(e.getMessage()); + return AjaxResult.error("图片转换base64异常!"); + } + + } + }