2023-06-05 16:11:37 完成设备图片导入接口!

master
魔神煜修罗皇 2 years ago
parent e359d77a01
commit 688a1ea5a5
  1. 3
      psdc-business/src/main/java/com/psdc/mapper/PsdcDeviceMapper.java
  2. 2
      psdc-business/src/main/java/com/psdc/service/IPsdcDeviceService.java
  3. 16
      psdc-business/src/main/java/com/psdc/service/impl/PsdcDeviceServiceImpl.java
  4. 4
      psdc-business/src/main/resources/mapper/business/PsdcDeviceMapper.xml
  5. 54
      psdc-web/src/main/java/com/psdc/controller/manager/PsdcDeviceController.java

@ -117,4 +117,7 @@ public interface PsdcDeviceMapper{
* @return * @return
*/ */
List<PsdcDevice> controlQueryByUserId(Long userId); List<PsdcDevice> controlQueryByUserId(Long userId);
Integer daoruDevTuPian(@Param(value = "deviceId") Integer deviceId,
@Param(value = "devPictureUrl") String devPictureUrl);
} }

@ -120,4 +120,6 @@ public interface IPsdcDeviceService {
* @return * @return
*/ */
List<DeviceStatusVo> queryControlDeviceList(); List<DeviceStatusVo> queryControlDeviceList();
Boolean daoruDevTuPian(Integer deviceId, String devPictureUrl);
} }

@ -439,6 +439,22 @@ public class PsdcDeviceServiceImpl implements IPsdcDeviceService {
return deviceStatusVoList; 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) { private String coverStr(String s, int i) {
switch (s) { switch (s) {
case "s": case "s":

@ -265,6 +265,10 @@
</foreach> </foreach>
</insert> </insert>
<insert id="daoruDevTuPian">
Update psdc_device Set photo_url = #{devPictureUrl} Where device_id = #{deviceId}
</insert>
<!-- 更新数据 --> <!-- 更新数据 -->
<update id="update"> <update id="update">
update psdc_device update psdc_device

@ -22,9 +22,11 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import sun.misc.BASE64Encoder;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.BufferedOutputStream; import java.io.BufferedOutputStream;
import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.io.OutputStream; import java.io.OutputStream;
import java.util.*; import java.util.*;
@ -78,10 +80,10 @@ public class PsdcDeviceController extends BaseController {
@PreAuthorize("@ss.hasPermi('system:device:list')") @PreAuthorize("@ss.hasPermi('system:device:list')")
@RequestMapping(value = "/selusers", method = RequestMethod.GET) @RequestMapping(value = "/selusers", method = RequestMethod.GET)
public AjaxResult selAllUsers() { public AjaxResult selAllUsers() {
List<Map> maps = new ArrayList<>(); List<Map> maps = new ArrayList<>();
List<SysUser> list = sysUserService.selectUserList(null); List<SysUser> list = sysUserService.selectUserList(null);
for (SysUser dd : list){ for (SysUser dd : list) {
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
map.put("label", dd.getUserName()); map.put("label", dd.getUserName());
map.put("value", dd.getUserId()); map.put("value", dd.getUserId());
@ -92,10 +94,10 @@ public class PsdcDeviceController extends BaseController {
@PreAuthorize("@ss.hasPermi('system:device:list')") @PreAuthorize("@ss.hasPermi('system:device:list')")
@RequestMapping(value = "/selmodels", method = RequestMethod.GET) @RequestMapping(value = "/selmodels", method = RequestMethod.GET)
public AjaxResult selAllModels() { public AjaxResult selAllModels() {
List<Map> maps = new ArrayList<>(); List<Map> maps = new ArrayList<>();
List<PsdcDevice> list = psdcDeviceService.selalldevModel(); List<PsdcDevice> list = psdcDeviceService.selalldevModel();
for (PsdcDevice dd : list){ for (PsdcDevice dd : list) {
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
map.put("label", dd.getDeviceModel()); map.put("label", dd.getDeviceModel());
map.put("value", dd.getDeviceModel()); map.put("value", dd.getDeviceModel());
@ -107,23 +109,23 @@ public class PsdcDeviceController extends BaseController {
@PreAuthorize("@ss.hasPermi('system:device:list')") @PreAuthorize("@ss.hasPermi('system:device:list')")
@RequestMapping(value = "/devicesList", method = RequestMethod.POST) @RequestMapping(value = "/devicesList", method = RequestMethod.POST)
public TableDataInfo controlLogList(@RequestBody JSONObject jsonObject) { public TableDataInfo controlLogList(@RequestBody JSONObject jsonObject) {
// PageMethod.startPage(jsonObject.getInteger("pageNum"),jsonObject.getInteger("pageSize")); // PageMethod.startPage(jsonObject.getInteger("pageNum"),jsonObject.getInteger("pageSize"));
// PsdcDevice deviceVo = JSON.parseObject(String.valueOf(jsonObject), PsdcDevice.class); // PsdcDevice deviceVo = JSON.parseObject(String.valueOf(jsonObject), PsdcDevice.class);
// startPage(); // startPage();
PsdcDevice deviceVo = myPage(jsonObject, PsdcDevice.class); PsdcDevice deviceVo = myPage(jsonObject, PsdcDevice.class);
List<PsdcDeviceInfoRes> list = psdcDeviceService.queryAllByLimit(deviceVo); List<PsdcDeviceInfoRes> list = psdcDeviceService.queryAllByLimit(deviceVo);
return getDataTable(list); return getDataTable(list);
} }
/** /**
excel文件的下载 * excel文件的下载
*/ */
@PreAuthorize("@ss.hasPermi('system:device:list')") @PreAuthorize("@ss.hasPermi('system:device:list')")
@Log(title = "设备管理", businessType = BusinessType.EXPORT) @Log(title = "设备管理", businessType = BusinessType.EXPORT)
@RequestMapping(value = "/daochuDevs", method = RequestMethod.POST) @RequestMapping(value = "/daochuDevs", method = RequestMethod.POST)
public void daochuDevDta(HttpServletResponse response, @RequestBody PsdcDevice pd) { public void daochuDevDta(HttpServletResponse response, @RequestBody PsdcDevice pd) {
List<PsdcDeviceInfoRes> list = psdcDeviceService.queryAllByLimit(pd); List<PsdcDeviceInfoRes> list = psdcDeviceService.queryAllByLimit(pd);
for (PsdcDeviceInfoRes dev : list){ for (PsdcDeviceInfoRes dev : list) {
dev.setUserName(sysUserService.selectUserById(Long.valueOf(dev.getUserId())).getUserName()); dev.setUserName(sysUserService.selectUserById(Long.valueOf(dev.getUserId())).getUserName());
} }
ExcelUtil<PsdcDeviceInfoRes> util = new ExcelUtil<>(PsdcDeviceInfoRes.class); ExcelUtil<PsdcDeviceInfoRes> util = new ExcelUtil<>(PsdcDeviceInfoRes.class);
@ -132,6 +134,7 @@ public class PsdcDeviceController extends BaseController {
/** /**
* 下载设备信息模板 * 下载设备信息模板
*
* @param response * @param response
*/ */
@PreAuthorize("@ss.hasPermi('system:device:list')") @PreAuthorize("@ss.hasPermi('system:device:list')")
@ -170,7 +173,7 @@ public class PsdcDeviceController extends BaseController {
} }
/** /**
excel文件的读取 * excel文件的读取
*/ */
@RequestMapping("/daoruDevData") @RequestMapping("/daoruDevData")
@PreAuthorize("@ss.hasPermi('system:device:list')") @PreAuthorize("@ss.hasPermi('system:device:list')")
@ -184,8 +187,37 @@ public class PsdcDeviceController extends BaseController {
@RequestMapping(value = "/upDevUser", method = RequestMethod.POST) @RequestMapping(value = "/upDevUser", method = RequestMethod.POST)
@PreAuthorize("@ss.hasPermi('system:device:list')") @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())); 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异常!");
}
}
} }

Loading…
Cancel
Save