diff --git a/fastbee-open-api/src/main/java/com/fastbee/data/controller/printer/yilianyun/GenerateQRCodeImage.java b/fastbee-open-api/src/main/java/com/fastbee/data/controller/printer/yilianyun/GenerateQRCodeImage.java index 85aec7d..7af45b6 100644 --- a/fastbee-open-api/src/main/java/com/fastbee/data/controller/printer/yilianyun/GenerateQRCodeImage.java +++ b/fastbee-open-api/src/main/java/com/fastbee/data/controller/printer/yilianyun/GenerateQRCodeImage.java @@ -31,7 +31,7 @@ public class GenerateQRCodeImage { public static String generateQRCodeUrl(String deviceName, String deviceCode, String companyName){ try { // 二维码内容 - String qrCodeContent = ACTIVATE_URL+"?deviceName="+deviceName+"&deviceCode="+deviceCode; + String qrCodeContent =deviceCode; // 生成二维码 BitMatrix bitMatrix = generateQRCode(qrCodeContent, 220, 220); diff --git a/fastbee-open-api/src/main/java/com/fastbee/data/controller/printer/yilianyun/MainPrint.java b/fastbee-open-api/src/main/java/com/fastbee/data/controller/printer/yilianyun/MainPrint.java new file mode 100644 index 0000000..9685529 --- /dev/null +++ b/fastbee-open-api/src/main/java/com/fastbee/data/controller/printer/yilianyun/MainPrint.java @@ -0,0 +1,88 @@ +package com.fastbee.data.controller.printer.yilianyun; + +import com.google.zxing.BarcodeFormat; +import com.google.zxing.EncodeHintType; +import com.google.zxing.MultiFormatWriter; +import com.google.zxing.WriterException; +import com.google.zxing.client.j2se.MatrixToImageWriter; +import com.google.zxing.common.BitMatrix; + +import java.awt.*; +import java.awt.image.BufferedImage; +import java.awt.print.Printable; +import java.awt.print.PrinterJob; +import java.io.File; +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; + +import javax.imageio.ImageIO; +import javax.print.PrintService; +import javax.print.PrintServiceLookup; + +public class MainPrint { + + public static void main(String[] args) { + try { + // 二维码内容 + String qrCodeContent = "https://www.example.com"; + + // 生成二维码 + BitMatrix bitMatrix = generateQRCode(qrCodeContent, 180, 180); + + // 将二维码转换为BufferedImage + BufferedImage qrCodeImage = MatrixToImageWriter.toBufferedImage(bitMatrix); + + // 创建一个新的BufferedImage,包含二维码和文字 + int qrCodeWidth = qrCodeImage.getWidth(); + int qrCodeHeight = qrCodeImage.getHeight(); + int textWidth = 200; // 文字区域宽度 + int textHeight = qrCodeHeight; // 文字区域高度,与二维码相同 + int imageWidth = qrCodeWidth + textWidth + 20; // 间距20像素 + int imageHeight = qrCodeHeight; + + BufferedImage finalImage = new BufferedImage(imageWidth, imageHeight, BufferedImage.TYPE_INT_ARGB); + Graphics2D g2d = finalImage.createGraphics(); + + // 绘制背景颜色 + g2d.setColor(Color.WHITE); + g2d.fillRect(0, 0, imageWidth, imageHeight); + + // 绘制二维码 + g2d.drawImage(qrCodeImage, 0, 0, qrCodeWidth, qrCodeHeight, null); + + // 绘制文字 + g2d.setColor(Color.BLACK); + g2d.setFont(new Font("黑体", Font.BOLD, 15)); + String text1 = "设备名称"; + FontMetrics fontMetrics = g2d.getFontMetrics(); + int textX = qrCodeWidth ; // 间距20像素 + int textY1 = (imageHeight - fontMetrics.getHeight()) / 2 + fontMetrics.getAscent()-40; + g2d.drawString(text1, textX, textY1); + + // 绘制第二段文字 + String text2 = "设备编码"; + int textY2 = textY1 + fontMetrics.getHeight() + 20; // 在第一段文字下方添加一些间距 + g2d.drawString(text2, textX, textY2); + // 绘制第三段文字 + String text3 = "XXXX公司"; + int textY3 = textY2 + fontMetrics.getHeight() + 20; // 在第一段文字下方添加一些间距 + g2d.drawString(text3, textX, textY3); + // 释放Graphics2D资源 + g2d.dispose(); + + // 保存图片到文件 + File outputfile = new File("C:\\Users\\admin\\Desktop\\sa.png"); + ImageIO.write(finalImage, "png", outputfile); + + System.out.println("二维码和文字图片已生成:" + outputfile.getAbsolutePath()); + } catch (WriterException | IOException e) { + e.printStackTrace(); + } + } + private static BitMatrix generateQRCode(String text, int width, int height) throws WriterException { + Map hints = new HashMap<>(); + hints.put(EncodeHintType.CHARACTER_SET, "UTF-8"); + return new MultiFormatWriter().encode(text, BarcodeFormat.QR_CODE, width, height, hints); + } +} \ No newline at end of file diff --git a/fastbee-open-api/src/main/java/com/fastbee/data/controller/printer/yilianyun/YiLianYunAuthorizationService.java b/fastbee-open-api/src/main/java/com/fastbee/data/controller/printer/yilianyun/YiLianYunAuthorizationService.java index e43e3b6..63c3473 100644 --- a/fastbee-open-api/src/main/java/com/fastbee/data/controller/printer/yilianyun/YiLianYunAuthorizationService.java +++ b/fastbee-open-api/src/main/java/com/fastbee/data/controller/printer/yilianyun/YiLianYunAuthorizationService.java @@ -39,7 +39,7 @@ public class YiLianYunAuthorizationService { // System.err.println("从服务器获取token:"+token); // return token; stringRedisTemplate.opsForValue().set("yilianyun:user:token",token,3600*24*20, TimeUnit.MILLISECONDS); - return stringRedisTemplate.opsForValue().get("yilianyun:access_token"); + return stringRedisTemplate.opsForValue().get("yilianyun:user:token"); } public String getAuth() { diff --git a/fastbee-service/fastbee-device-service/src/main/java/com/fastbee/deviceData/service/impl/DeviceRealtimedataMeteorologyServiceImpl.java b/fastbee-service/fastbee-device-service/src/main/java/com/fastbee/deviceData/service/impl/DeviceRealtimedataMeteorologyServiceImpl.java index be1f0a4..54bff9a 100644 --- a/fastbee-service/fastbee-device-service/src/main/java/com/fastbee/deviceData/service/impl/DeviceRealtimedataMeteorologyServiceImpl.java +++ b/fastbee-service/fastbee-device-service/src/main/java/com/fastbee/deviceData/service/impl/DeviceRealtimedataMeteorologyServiceImpl.java @@ -1,5 +1,6 @@ package com.fastbee.deviceData.service.impl; +import java.math.BigDecimal; import java.util.*; import com.baomidou.mybatisplus.core.conditions.Wrapper; @@ -121,7 +122,7 @@ public class DeviceRealtimedataMeteorologyServiceImpl extends ServiceImpl= 0 && windDir.compareTo(new BigDecimal("22.5")) < 0) { + return "北"; + } else if (windDir.compareTo(new BigDecimal("22.5")) >= 0 && windDir.compareTo(new BigDecimal("67.5")) < 0) { + return "东北"; + } else if (windDir.compareTo(new BigDecimal("67.5")) >= 0 && windDir.compareTo(new BigDecimal("112.5")) < 0) { + return "东"; + } else if (windDir.compareTo(new BigDecimal("112.5")) >= 0 && windDir.compareTo(new BigDecimal("157.5")) < 0) { + return "东南"; + } else if (windDir.compareTo(new BigDecimal("157.5")) >= 0 && windDir.compareTo(new BigDecimal("202.5")) < 0) { + return "南"; + } else if (windDir.compareTo(new BigDecimal("202.5")) >= 0 && windDir.compareTo(new BigDecimal("247.5")) < 0) { + return "西南"; + } else if (windDir.compareTo(new BigDecimal("247.5")) >= 0 && windDir.compareTo(new BigDecimal("292.5")) < 0) { + return "西"; + } else if (windDir.compareTo(new BigDecimal("292.5")) >= 0 && windDir.compareTo(new BigDecimal("337.5")) < 0) { + return "西北"; + } else if (windDir.compareTo(new BigDecimal("337.5")) >= 0 && windDir.compareTo(new BigDecimal("360")) < 0) { + return "北"; + } else { + return "无数据"; + } + } } diff --git a/fastbee-service/fastbee-project-service/src/main/java/com/fastbee/project/service/impl/ProjectServiceImpl.java b/fastbee-service/fastbee-project-service/src/main/java/com/fastbee/project/service/impl/ProjectServiceImpl.java index 684a33c..d205d6f 100644 --- a/fastbee-service/fastbee-project-service/src/main/java/com/fastbee/project/service/impl/ProjectServiceImpl.java +++ b/fastbee-service/fastbee-project-service/src/main/java/com/fastbee/project/service/impl/ProjectServiceImpl.java @@ -647,16 +647,21 @@ public class ProjectServiceImpl implements IProjectService //过滤后项目列表 List projectFilterList =new ArrayList<>(); for (Project project : projectAllList) { +// System.err.println("-----------"+project.getProjectName()+"------------"); String administrativeAreaCode = project.getAdministrativeAreaCode(); if(StringUtils.isNotBlank(administrativeAreaCode)){ JSONArray areaCodeArrays = JSONUtil.parseArray(administrativeAreaCode); if(!areaCodeArrays.isEmpty()){ - JSONArray areaCodeArray = JSONUtil.parseArray(areaCodeArrays.get(0)); - for (Object o : areaCodeArray) { - if(o.equals(areaCode)){ - projectFilterList.add(project); + for(Object areaCodeArrayObj:areaCodeArrays){ + JSONArray areaCodeArray = JSONUtil.parseArray(areaCodeArrayObj.toString()); + for (Object o : areaCodeArray) { +// System.err.println("项目行政区划代码:"+o); + if(o.equals(areaCode)){ + projectFilterList.add(project); + } } } + } } } diff --git a/fastbee-service/fastbee-system-service/src/main/java/com/fastbee/system/service/impl/SysDistrictServiceImpl.java b/fastbee-service/fastbee-system-service/src/main/java/com/fastbee/system/service/impl/SysDistrictServiceImpl.java index 8da60aa..dc79d1a 100644 --- a/fastbee-service/fastbee-system-service/src/main/java/com/fastbee/system/service/impl/SysDistrictServiceImpl.java +++ b/fastbee-service/fastbee-system-service/src/main/java/com/fastbee/system/service/impl/SysDistrictServiceImpl.java @@ -239,15 +239,15 @@ public class SysDistrictServiceImpl implements ISysDistrictService } List sysDistrictList = getDistricts(SysDistricts, map, roots); //处理直辖市情况 - for (SysDistrict sysDistrict : sysDistrictList) { - if(isMunicipality(sysDistrict.getName())&&sysDistrict.getLevel()==1){ - List children = sysDistrict.getChildren(); - SysDistrict district = children.get(0); - children.remove(0); - sysDistrict.setChildren(Collections.singletonList(district)); - sysDistrict.getChildren().get(0).setChildren(children); - } - } +// for (SysDistrict sysDistrict : sysDistrictList) { +// if(isMunicipality(sysDistrict.getName())&&sysDistrict.getLevel()==1){ +// List children = sysDistrict.getChildren(); +// SysDistrict district = children.get(0); +// children.remove(0); +// sysDistrict.setChildren(Collections.singletonList(district)); +// sysDistrict.getChildren().get(0).setChildren(children); +// } +// } return sysDistrictList; }