diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/NeighborHoodUrlEnum.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/CollectUrlEnum.java
similarity index 60%
rename from epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/NeighborHoodUrlEnum.java
rename to epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/CollectUrlEnum.java
index cbe03f784f..935064e933 100644
--- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/NeighborHoodUrlEnum.java
+++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/CollectUrlEnum.java
@@ -1,16 +1,17 @@
package com.epmet.commons.tools.enums;
-public enum NeighborHoodUrlEnum {
+public enum CollectUrlEnum {
- URL_PRE("https://www.baidu.com/", "小区码跳转地址");
+ URL_PRE("subpages/points/pages/fangyi/xinxi/create/index", "小程序码跳转地址"),
+ GET_CODE_URL("https://api.weixin.qq.com/wxa/getwxacode?access_token=", "获取二维码的url");
private String code;
private String name;
- NeighborHoodUrlEnum(String code, String name) {
+ CollectUrlEnum(String code, String name) {
this.code = code;
this.name = name;
}
diff --git a/epmet-module/gov-org/gov-org-server/pom.xml b/epmet-module/gov-org/gov-org-server/pom.xml
index 401f05c967..2da6b8b8ac 100644
--- a/epmet-module/gov-org/gov-org-server/pom.xml
+++ b/epmet-module/gov-org/gov-org-server/pom.xml
@@ -147,6 +147,12 @@
2.0.0
compile
+
+ com.epmet
+ epmet-third-client
+ 2.0.0
+ compile
+
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java
index ae07816fa2..489eb10876 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java
@@ -33,7 +33,6 @@ import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.constant.CustomerAgencyConstant;
import com.epmet.constant.OrgInfoConstant;
import com.epmet.dto.CustomerAgencyDTO;
-import com.epmet.dto.IcNeighborHoodDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.entity.CustomerAgencyEntity;
@@ -409,12 +408,8 @@ public class AgencyController {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "组织信息不存在");
}
name = customerAgencyDTO.getOrganizationName();
- } else if (type.equals(OrgInfoConstant.NEIGHBOR_HOOD)) {
- IcNeighborHoodDTO icNeighborHoodDTO = neighborHoodService.get(id);
- if (icNeighborHoodDTO == null) {
- throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "小区信息不存在");
- }
- name = icNeighborHoodDTO.getNeighborHoodName();
+ } else {
+ throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "小区信息不存在");
}
//url组成:数字社区地址?小区id&用户id
//String url = "https://demo.tduckapp.com/s/7314b64b3a26455ab793fb8c640856b6?id="+id;
@@ -454,6 +449,64 @@ public class AgencyController {
log.error("method exception", e);
}
}
+// @PostMapping("create-qrcode")
+// public void createQrCode(@LoginUser TokenDto tokenDto, @RequestBody CreateQrCodeFormDTO formDTO, HttpServletResponse response) {
+// ValidatorUtils.validateEntity(formDTO, CreateQrCodeFormDTO.CreateQrCodeForm.class);
+// String id = formDTO.getId();
+// String type = formDTO.getType();
+// String name = "";
+// try {
+// if (type.equals(OrgInfoConstant.COMMUNITY)) {
+// CustomerAgencyDTO customerAgencyDTO = customerAgencyService.get(id);
+// if (customerAgencyDTO == null) {
+// throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "组织信息不存在");
+// }
+// name = customerAgencyDTO.getOrganizationName();
+// } else if (type.equals(OrgInfoConstant.NEIGHBOR_HOOD)) {
+// IcNeighborHoodDTO icNeighborHoodDTO = neighborHoodService.get(id);
+// if (icNeighborHoodDTO == null) {
+// throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "小区信息不存在");
+// }
+// name = icNeighborHoodDTO.getNeighborHoodName();
+// }
+// //url组成:数字社区地址?小区id&用户id
+// //String url = "https://demo.tduckapp.com/s/7314b64b3a26455ab793fb8c640856b6?id="+id;
+// String url = EnvEnum.getCurrentEnv().getUrl()
+// .replace("cloud", "open")
+// .replace("api/", StrConstant.EPMETY_STR)
+// .concat("epmet-oper-gov/#/caiji/")
+// .concat(id).concat("?")
+// .concat("name=").concat(URLEncoder.encode(name, StrConstant.UTF_8)).concat(StrConstant.AND_MARK)
+// .concat("customerId=").concat(tokenDto.getCustomerId()).concat(StrConstant.AND_MARK)
+// .concat("type=").concat(type).concat(StrConstant.AND_MARK)
+// .concat("userId=").concat(tokenDto.getUserId())
+// .concat(StrConstant.AND_MARK).concat(String.valueOf(LocalDateTime.now().toInstant(ZoneOffset.of("+8")).toEpochMilli()));
+// BufferedImage image = BarcodeUtils.drawQRImage(name, url);
+// //BufferedImage 转 InputStream
+// ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
+// ImageOutputStream imageOutput = ImageIO.createImageOutputStream(byteArrayOutputStream);
+// ImageIO.write(image, "png", imageOutput);
+// InputStream inputStream = new ByteArrayInputStream(byteArrayOutputStream.toByteArray());
+// long length = imageOutput.length();
+// String fileName = name + ".png";
+// response.setContentType("application/octet-stream");
+// response.setContentLength((int) length);
+// response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, StrConstant.UTF_8));
+//
+// //输出流
+// byte[] bytes = new byte[1024];
+// OutputStream outputStream = response.getOutputStream();
+// long count = 0;
+// while (count < length) {
+// int len = inputStream.read(bytes, 0, 1024);
+// count += len;
+// outputStream.write(bytes, 0, len);
+// }
+// outputStream.flush();
+// } catch (Exception e) {
+// log.error("method exception", e);
+// }
+// }
/**
* Desc: 查询工作人员所属组织下的所有社区
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/NeighborHoodServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/NeighborHoodServiceImpl.java
index 139d978737..73dcd6f144 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/NeighborHoodServiceImpl.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/NeighborHoodServiceImpl.java
@@ -1,19 +1,19 @@
package com.epmet.service.impl;
import cn.afterturn.easypoi.excel.entity.TemplateExportParams;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.NumConstant;
-import com.epmet.commons.tools.enums.NeighborHoodUrlEnum;
+import com.epmet.commons.tools.enums.CollectUrlEnum;
import com.epmet.commons.tools.enums.OrgTypeEnum;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
-import com.epmet.commons.tools.exception.ExceptionUtils;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData;
-import com.epmet.commons.tools.utils.BarcodeUtils;
import com.epmet.commons.tools.utils.ConvertUtils;
-import com.epmet.commons.tools.utils.FileUtils;
+import com.epmet.commons.tools.utils.HttpClientManager;
import com.epmet.commons.tools.utils.Result;
import com.epmet.constant.NeighborhoodConstant;
import com.epmet.dao.CustomerGridDao;
@@ -39,28 +39,23 @@ import com.epmet.excel.IcNeighborHoodExcel;
import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.feign.GovOrgOpenFeignClient;
import com.epmet.feign.OssFeignClient;
+import com.epmet.resi.group.dto.QRCodeMultipartFileDTO;
import com.epmet.service.IcNeighborHoodPropertyService;
import com.epmet.service.IcNeighborHoodService;
import com.epmet.service.NeighborHoodService;
import com.epmet.util.ExcelPoiUtils;
+import com.epmet.utils.ThirdUtils;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.fileupload.FileItem;
-import org.apache.commons.fileupload.disk.DiskFileItemFactory;
-import org.apache.http.entity.ContentType;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils;
-import org.springframework.web.multipart.commons.CommonsMultipartFile;
import javax.annotation.Resource;
-import javax.imageio.ImageIO;
import javax.servlet.http.HttpServletResponse;
-import java.awt.image.BufferedImage;
-import java.io.IOException;
-import java.io.OutputStream;
+import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -134,7 +129,7 @@ public class NeighborHoodServiceImpl extends BaseServiceImpl uploadResult = null;
- try {
- ImageIO.write(image, "png", os);
- uploadResult = ossFeignClient.uploadImportTaskDescFile(new CommonsMultipartFile(fileItem));
- } catch (Exception e) {
- String errormsg = ExceptionUtils.getErrorStackTrace(e);
- log.error("上传小区二维码:{}", errormsg);
- } finally {
- try {
- os.close();
- } catch (IOException e) {
- String errormsg = ExceptionUtils.getErrorStackTrace(e);
- log.error("上传小区二维码关闭输出流:{}", errormsg);
- }
- try {
- fileItem.delete();
- } catch (Exception e) {
- String errormsg = ExceptionUtils.getErrorStackTrace(e);
- log.error("上传小区二维码删除临时文件:{}", errormsg);
+ //需要发送的Json
+ JSONObject data = new JSONObject();
+ data.put("path", path.toString());
+ data.put("width", 400);
+ //发送
+ byte[] buffer = HttpClientManager.getInstance().getMediaByteArray(CollectUrlEnum.GET_CODE_URL.getCode() + accessToken, JSON.toJSONString(data)).getData();
+ if (buffer != null && buffer.length < 500) {
+ String wxResult = "";
+ wxResult = new String(buffer, StandardCharsets.UTF_8);
+ if (-1 != wxResult.indexOf("errcode")) {
+ log.error("获取二维码接口返回错误:{}", wxResult);
+ throw new RenException("获取二维码失败");
}
}
- if (uploadResult == null || !uploadResult.success()) {
- throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "上传小区二维码失败", "上传小区二维码失败");
- } else {
- return uploadResult.getData().getUrl();
+ //上传
+ QRCodeMultipartFileDTO qrCodeMultipartFile = new QRCodeMultipartFileDTO();
+ qrCodeMultipartFile.setBytes(buffer);
+ String originalFilename = entity.getNeighborHoodName().concat(".jpg");
+ qrCodeMultipartFile.setOriginalFilename(originalFilename);
+ Result uploadResult = ossFeignClient.uploadQrCode(qrCodeMultipartFile);
+ if (!uploadResult.success()) {
+ throw new RenException("调用oss服务上传活动居民信息录入码失败");
}
+ return uploadResult.getData().getUrl();
}
/**
@@ -356,7 +350,7 @@ public class NeighborHoodServiceImpl extends BaseServiceImpl{
if(org.apache.commons.lang3.StringUtils.isBlank(nei.getQrcodeUrl())){
try {
- nei.setQrcodeUrl(createNeiQrcodeUrl(nei.getId(),nei.getNeighborHoodName()));
+ nei.setQrcodeUrl(createNeiQrcodeUrl(nei));
} catch (Exception e) {
e.printStackTrace();
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"二维码生成失败:"+nei.getId(),"二维码生成失败:"+nei.getId());
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiCollectController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiCollectController.java
index 20767e69d2..cca091439f 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiCollectController.java
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiCollectController.java
@@ -178,7 +178,7 @@ public class IcResiCollectController {
@PostMapping("saveCollectInfo")
public Result saveCollectInfo(@RequestBody SaveCollectFormDTO formDTO) {
//效验数据
- ValidatorUtils.validateEntity(formDTO, SaveCollectFormDTO.class);
+ ValidatorUtils.validateEntity(formDTO);
formDTO.setOrigin("internal");//固定为内部
return icResiCollectService.saveCollectInfo(formDTO);
}