Browse Source

Merge remote-tracking branch 'origin/dev_qr_code' into develop

master
yinzuomei 4 years ago
parent
commit
61c5d7c962
  1. 10
      epmet-gateway/src/main/resources/bootstrap.yml
  2. 13
      epmet-module/gov-org/gov-org-server/pom.xml
  3. 54
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java
  4. 11
      epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcResiImportDynamicExcelListener.java
  5. 21
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java

10
epmet-gateway/src/main/resources/bootstrap.yml

@ -526,12 +526,18 @@ epmet:
- /data/stats/plugins/ofs/**
- /data/stats/plugins/workrecord/**
- /epmetuser/staffrole/getGridStaffList #py获取网格员 网格长
#查询楼栋,单元,房屋
- /gov/org/icbuilding/buildingoption
- /gov/org/icbuildingunit/unitoption
- /gov/org/ichouse/houseoption
# 对外开放接口认证白名单
externalAuthUrlsWhiteList:
- /epmet/ext/open-api/get-access-token
#查询楼栋,单元,房屋
- /gov/org/icbuilding/buildingoption
- /gov/org/icbuildingunit/unitoption
- /gov/org/ichouse/houseoption
swaggerUrls:
jwt:

13
epmet-module/gov-org/gov-org-server/pom.xml

@ -13,6 +13,19 @@
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>core</artifactId>
<version>3.3.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.google.zxing/javase -->
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>javase</artifactId>
<version>3.3.2</version>
</dependency>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>gov-org-client</artifactId>

54
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java

@ -17,6 +17,7 @@
package com.epmet.controller;
import com.alibaba.fastjson.JSONObject;
import com.epmet.commons.rocketmq.messages.OrgOrStaffMQMsg;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.annotation.RequirePermission;
@ -34,11 +35,20 @@ import com.epmet.feign.EpmetMessageOpenFeignClient;
import com.epmet.send.SendMqMsgUtil;
import com.epmet.service.AgencyService;
import com.epmet.service.CustomerAgencyService;
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 org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
import java.nio.file.FileSystems;
import java.nio.file.Path;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -360,4 +370,48 @@ public class AgencyController {
return new Result<List<SonOrgResultDTO>>().ok(agencyService.getSonAgencyId(orgId,type));
}
@PostMapping("qr")
public void qr(){
try {
write();
} catch (IOException e) {
e.printStackTrace();
} catch (WriterException e) {
e.printStackTrace();
}
}
public static void write() throws IOException, WriterException {
String filePath = "/Volumes/self";
String fileName = "qr.png";
//二维码内容场景一:json数据
JSONObject json = new JSONObject();
json.put("baidu","http://www.baidu.com");//二维码一般就是存储链接
// json.put("author", "lzz");//还可存储值(员工工号,员工姓名,年会二维码门票)
String content = json.toJSONString();//json 内容
//二维码内容场景二:直接某个超链接
// content="http://www.baidu.com";//直接某个超链接
int width = 200; // 图像宽度
int height = 200; // 图像高度
String format = "png";// 图像类型
Map<EncodeHintType, Object> hints = new HashMap<EncodeHintType, Object>();
hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");
BitMatrix bitMatrix = new MultiFormatWriter().encode(content,
BarcodeFormat.QR_CODE, width, height, hints);// 生成矩阵
Path path = FileSystems.getDefault().getPath(filePath, fileName);
MatrixToImageWriter.writeToPath(bitMatrix, format, path);// 输出图像
System.out.println("输出成功.");
}
public static void main(String[] args) {
try {
write();
} catch (IOException e) {
e.printStackTrace();
} catch (WriterException e) {
e.printStackTrace();
}
}
}

11
epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcResiImportDynamicExcelListener.java

@ -122,18 +122,12 @@ public class IcResiImportDynamicExcelListener extends AnalysisEventListener<Map<
// 合并多级表头到一个list中,key为列序号
Map<Integer, List<String>> headers = icResiUserImportService.mergeMultiLevelHeadLabels(headList);
icResiUserImportService.printLog("invokeHeadMap_1_" + isPrimary);
// 清洗表头数据,通过items剔除,并且得到options
abandonedHeaders = icResiUserImportService.removeAndGetOptionsFromHeaders(headers, formItemList);
icResiUserImportService.printLog("invokeHeadMap_2_" + isPrimary);
// 交换表头信息,以label连起来的string作为key,列号的列表作为value
HashMap<String, List<Integer>> combinedHeaders = icResiUserImportService.exchangeKeyAndValueOfHeaders(headers);
icResiUserImportService.printLog("invokeHeadMap_3_" + isPrimary);
// 得到客户配置item数据。<"兴趣爱好:兴趣特长", item对象>
Map<String, FormItemResult> customizedLabelCompbinedItemsMap = formItemList.stream().collect(
Collectors.toMap(formItem -> {
@ -147,11 +141,7 @@ public class IcResiImportDynamicExcelListener extends AnalysisEventListener<Map<
}, formItem -> formItem)
);
icResiUserImportService.printLog("invokeHeadMap_4_" + isPrimary);
itemIdAndColumnWrapper = icResiUserImportService.convertExcelHeaders2DBColumnWrappers(customizedLabelCompbinedItemsMap, combinedHeaders);
icResiUserImportService.printLog("invokeHeadMap_5_" + isPrimary);
}
/**
@ -182,7 +172,6 @@ public class IcResiImportDynamicExcelListener extends AnalysisEventListener<Map<
if (dataList.size() != 0) {
execPersistant();
}
icResiUserImportService.printLog("invokeHeadMap_doAfterAllAnalysed_" + isPrimary);
}
/**

21
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java

@ -363,8 +363,6 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res
String loginUserId = EpmetRequestHolder.getHeader(AppClientConstant.USER_ID.toLowerCase());
String loginUserCustomerId = EpmetRequestHolder.getHeader(AppClientConstant.CUSTOMER_ID.toLowerCase());
log.info("importIcResiBaseInfoFromExcel:: userId:{}, app:{}, client:{}, customerId:{}", loginUserId, loginUserApp, loginUserClient, loginUserCustomerId);
IcResiImportDynamicExcelListener readListener = new IcResiImportDynamicExcelListener(this, customerId, currentUserId, currUserAgencyId, currUserAgencyPids,
true, tableName, formItemList, headRowNumber);
EasyExcel.read(new File(excelPathName)).registerReadListener(readListener).headRowNumber(headRowNumber).sheet(sheetNo).doRead();
@ -417,8 +415,6 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res
String currUserAgencyId, Map<Integer, String> checkBoxOptionColumnIdxAndLabel,
String currUserAgencyPids, String currentUserId, String tableName) {
//this.printLog("persistIcResiBaseInfo");
// 遍历每一行,将行内容转化为
for (Map<Integer, String> row : dataRows) {
@ -549,8 +545,6 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res
String loginUserId = EpmetRequestHolder.getHeader(AppClientConstant.USER_ID.toLowerCase());
String loginUserCustomerId = EpmetRequestHolder.getHeader(AppClientConstant.CUSTOMER_ID.toLowerCase());
log.info("persistIcResiExtraInfo:: userId:{}, app:{}, client:{}, customerId:{}", loginUserId, loginUserApp, loginUserClient, loginUserCustomerId);
// 遍历每一行,将行内容转化为
for (Map<Integer, String> row : dataRows) {
@ -1000,9 +994,6 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res
}
List<OptionResultDTO> options = null;
log.info("optionsUrl:{}, currUserAgencyId:{}", pureUri, currUserAgencyId);
//this.printLog("listRemoteOptions");
switch (pureUri) {
case "/epmetuser/icresidemanddict/demandoption":
options = getResultDataOrThrowsException(epmetUserOpenFeignClient.getDemandOptions(), ServiceConstant.EPMET_USER_SERVER,
@ -1043,9 +1034,6 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res
}
nform.setGridId(gridId);
//this.printLog("listRemoteOptions#neighborhoodoption");
log.info("neighborhoodoption:{},{}", currUserAgencyId, gridId);
options = getResultDataOrThrowsException(govOrgOpenFeignClient.getNeighborHoodOptions(nform), ServiceConstant.GOV_ORG_SERVER, EpmetErrorCode.SERVER_ERROR.getCode(), null, null);
break;
case "/sys/dict/data/education":
@ -1834,15 +1822,6 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res
}
}
public void printLog(String positionPrefix) {
String app = EpmetRequestHolder.getHeader(AppClientConstant.APP);
String client = EpmetRequestHolder.getHeader(AppClientConstant.CLIENT);
String loginUserId = EpmetRequestHolder.getHeader(AppClientConstant.USER_ID.toLowerCase());
String loginUserCustomerId = EpmetRequestHolder.getHeader(AppClientConstant.CUSTOMER_ID.toLowerCase());
log.info("{}:: userId:{}, app:{}, client:{}, customerId:{}", positionPrefix, loginUserId, app, client, loginUserCustomerId);
}
@Override
public Object testAsync() {
IcNeighborHoodDTO nform = new IcNeighborHoodDTO();

Loading…
Cancel
Save