Commit 7c7c20f6 authored by 赵啸非's avatar 赵啸非

添加终端修改密码日志记录

parent 4ea992de
......@@ -1614,158 +1614,6 @@ public class MatterServiceImpl extends AbstractCRUDServiceImpl<MatterDao, Matter
}
@Override
public Rest<Void> genMatterCsv(MatterQuery matterQuery, Context context) {
List<String> strList = new ArrayList<>();
List<MatterEntity> mattersList = this.find(matterQuery);
for (MatterEntity matterEntity : mattersList) {
if (ObjectUtils.isEmpty(matterEntity.getUrl())) {
continue;
}
StringBuilder sb = new StringBuilder();
int reCount = 0;
while (reCount < MAX_RETRY_COUNT) {
try {
Document dom = Jsoup.connect(matterEntity.getUrl())
.ignoreContentType(true)
.ignoreHttpErrors(true)
.timeout(60 * 1000).get();
// sb.append(matterEntity.getMatterName()).append("\n");
//基本属性
sb.append(matterEntity.getMatterName()).append("-基本信息,");
sb.append("事项名称:").append(matterEntity.getMatterName());
Map<String, String> baseInfoMap = MatterDetailHtmlParseUtil.getbaseInfoMapByHtml(dom);
StringBuilder sb1 = new StringBuilder();
for (Map.Entry<String, String> entry : baseInfoMap.entrySet()) {
if (sb1.length() > 280) {
sb.append(sb1);
sb.append("\n");
sb1 = new StringBuilder();
sb.append(matterEntity.getMatterName()).append("-基本信息,");
sb.append("事项名称:").append(matterEntity.getMatterName());
}
sb1.append(entry.getKey()).append(":").append(StrUtil.replaceChars(entry.getValue(), ",", ",")).append(";");
}
sb.append(sb1);
sb.append("\n");
//更新材料属性
sb.append(matterEntity.getMatterName()).append("-申请材料,");
sb.append("事项名称:").append(matterEntity.getMatterName()).append(" ");
List<Map<String, Object>> sqclList = MatterDetailHtmlParseUtil.getsqclInfoMapByHtml(dom);
for (Map<String, Object> sqclMap : sqclList) {
Map<String, String> baseinfoMap = (HashMap<String, String>) sqclMap.get("baseinfo");
for (Map.Entry<String, String> entry : baseinfoMap.entrySet()) {
if (!"材料名称".equals(entry.getKey())) {
continue;
}
sb.append(entry.getKey()).append(":").append(StrUtil.replaceChars(entry.getValue(), ",", ",")).append(";");
}
/* List<MatterDatumFileEntity> datumFileEntities = (List<MatterDatumFileEntity>) sqclMap.get("blankList");
for (MatterDatumFileEntity datumFileEntity : datumFileEntities) {
sb.append("材料名称").append(" ").append(datumFileEntity.getFileName());
sb.append("材料地址").append(" ").append(datumFileEntity.getFileUrl());
}*/
}
//更新受理条件
sb.append("\n");
sb.append(matterEntity.getMatterName()).append("-受理条件,");
sb.append("事项名称:").append(matterEntity.getMatterName());
Map<String, String> sltjMap = MatterDetailHtmlParseUtil.getSltjMapByHtml(dom);
String sltjStr = sltjMap.getOrDefault("sltj", " ");
sb.append(sltjStr);
//更新办理流程
sb.append("\n");
sb.append(matterEntity.getMatterName()).append("-办理流程,");
sb.append("事项名称:").append(matterEntity.getMatterName());
List<Map<String, Object>> bllcMapList = MatterDetailHtmlParseUtil.getbllcMapByHtml(dom);
for (Map<String, Object> bllcMap : bllcMapList) {
for (Map.Entry<String, Object> entry : bllcMap.entrySet()) {
sb.append(entry.getKey()).append(":").append(StrUtil.replaceChars(entry.getValue().toString(), ",", ",")).append(";");
}
}
//更新收费标准
sb.append("\n");
sb.append(matterEntity.getMatterName()).append("-收费标准,");
sb.append("事项名称:").append(matterEntity.getMatterName());
Map<String, String> sfbzMap = MatterDetailHtmlParseUtil.getSfbzMapByHtml(dom);
String sfbzStr = sfbzMap.getOrDefault("sfbz", " ");
sb.append(StrUtil.replaceChars(sfbzStr, ",", ","));
sb.append("\n");
//设定依据
/* sb.append(matterEntity.getMatterName()).append("-设定依据,");
List<Map<String, Object>> sdyjMapList = MatterDetailHtmlParseUtil.getSdyjMapByHtml(dom);
StringBuilder sb2 = new StringBuilder();
for (Map<String, Object> bllcMap : sdyjMapList) {
for (Map.Entry<String, Object> entry : bllcMap.entrySet()) {
if(sb2.length()>360){
sb.append(sb2);
sb.append("\n");
sb2 = new StringBuilder();
sb.append(matterEntity.getMatterName()).append("-设定依据,");
}
sb2.append(entry.getKey()).append(" ").append(entry.getValue());
}
}
sb.append(sb2);*/
//中介服务
sb.append("\n");
sb.append(matterEntity.getMatterName()).append("-中介服务,");
sb.append("事项名称:").append(matterEntity.getMatterName());
Map<String, String> zjfwMap = MatterDetailHtmlParseUtil.getZjfwMapByHtml(dom);
for (Map.Entry<String, String> entry : zjfwMap.entrySet()) {
sb.append(entry.getKey()).append(":").append(StrUtil.replaceChars(entry.getValue(), ",", ",")).append(";");
}
//常见问题
sb.append("\n");
sb.append(matterEntity.getMatterName()).append("-常见问题,");
sb.append("事项名称:").append(matterEntity.getMatterName());
StringBuilder sb3 = new StringBuilder();
List<Map<String, Object>> cjwtMapList = MatterDetailHtmlParseUtil.getCjwtMapByHtml(dom);
for (Map<String, Object> bllcMap : cjwtMapList) {
for (Map.Entry<String, Object> entry : bllcMap.entrySet()) {
if (sb3.length() > 280) {
sb.append(sb3);
sb.append("\n");
sb3 = new StringBuilder();
sb.append(matterEntity.getMatterName()).append("-常见问题,");
sb.append("事项名称:").append(matterEntity.getMatterName());
}
sb3.append(entry.getKey()).append(":").append(StrUtil.replaceChars(entry.getValue().toString(), ",", ",")).append(";");
}
}
sb.append(sb3);
strList.add(sb.toString());
log.info("事项名称:{}", matterEntity.getMatterName());
break;
} catch (Exception e) {
log.error("异常", e);
reCount++;
try {
Thread.sleep(2000);
} catch (InterruptedException ie) {
}
}
}
}
//todo 实时爬取后组合
String path = "E:\\temp.csv";
FileUtil.writeUtf8Lines(strList, path);
return Rest.ok();
}
@Override
......@@ -1974,6 +1822,162 @@ public class MatterServiceImpl extends AbstractCRUDServiceImpl<MatterDao, Matter
}
@Override
public Rest<Void> genMatterCsv(MatterQuery matterQuery, Context context) {
BaseAreaQuery baseAreaQuery = new BaseAreaQuery();
baseAreaQuery.setAreaCode(matterQuery.getAreaCode());
BaseAreaEntity baseAreaEntity = baseAreaService.selectOne(baseAreaQuery);
List<String> strList = new ArrayList<>();
String path = matterQuery.getGenFilePath() + baseAreaEntity.getName() + ".csv";
List<MatterEntity> mattersList = this.find(matterQuery);
for (MatterEntity matterEntity : mattersList) {
if (ObjectUtils.isEmpty(matterEntity.getUrl())) {
continue;
}
StringBuilder sb = new StringBuilder();
int reCount = 0;
while (reCount < MAX_RETRY_COUNT) {
try {
Document dom = Jsoup.connect(matterEntity.getUrl())
.ignoreContentType(true)
.ignoreHttpErrors(true)
.timeout(60 * 1000).get();
// sb.append(matterEntity.getMatterName()).append("\n");
//基本属性
sb.append(matterEntity.getMatterName()).append("-基本信息,");
sb.append("事项名称:").append(matterEntity.getMatterName());
Map<String, String> baseInfoMap = MatterDetailHtmlParseUtil.getbaseInfoMapByHtml(dom);
StringBuilder sb1 = new StringBuilder();
for (Map.Entry<String, String> entry : baseInfoMap.entrySet()) {
if (sb1.length() > 280) {
sb.append(sb1);
sb.append("\n");
sb1 = new StringBuilder();
sb.append(matterEntity.getMatterName()).append("-基本信息,");
sb.append("事项名称:").append(matterEntity.getMatterName());
}
sb1.append(entry.getKey()).append(":").append(StrUtil.replaceChars(entry.getValue(), ",", ",")).append(";");
}
sb.append(sb1);
sb.append("\n");
//更新材料属性
sb.append(matterEntity.getMatterName()).append("-申请材料,");
sb.append("事项名称:").append(matterEntity.getMatterName()).append(" ");
List<Map<String, Object>> sqclList = MatterDetailHtmlParseUtil.getsqclInfoMapByHtml(dom);
for (Map<String, Object> sqclMap : sqclList) {
Map<String, String> baseinfoMap = (HashMap<String, String>) sqclMap.get("baseinfo");
for (Map.Entry<String, String> entry : baseinfoMap.entrySet()) {
if (!"材料名称".equals(entry.getKey())) {
continue;
}
sb.append(entry.getKey()).append(":").append(StrUtil.replaceChars(entry.getValue(), ",", ",")).append(";");
}
/* List<MatterDatumFileEntity> datumFileEntities = (List<MatterDatumFileEntity>) sqclMap.get("blankList");
for (MatterDatumFileEntity datumFileEntity : datumFileEntities) {
sb.append("材料名称").append(" ").append(datumFileEntity.getFileName());
sb.append("材料地址").append(" ").append(datumFileEntity.getFileUrl());
}*/
}
//更新受理条件
sb.append("\n");
sb.append(matterEntity.getMatterName()).append("-受理条件,");
sb.append("事项名称:").append(matterEntity.getMatterName());
Map<String, String> sltjMap = MatterDetailHtmlParseUtil.getSltjMapByHtml(dom);
String sltjStr = sltjMap.getOrDefault("sltj", " ");
sb.append(sltjStr);
//更新办理流程
sb.append("\n");
sb.append(matterEntity.getMatterName()).append("-办理流程,");
sb.append("事项名称:").append(matterEntity.getMatterName());
List<Map<String, Object>> bllcMapList = MatterDetailHtmlParseUtil.getbllcMapByHtml(dom);
for (Map<String, Object> bllcMap : bllcMapList) {
for (Map.Entry<String, Object> entry : bllcMap.entrySet()) {
sb.append(entry.getKey()).append(":").append(StrUtil.replaceChars(entry.getValue().toString(), ",", ",")).append(";");
}
}
//更新收费标准
sb.append("\n");
sb.append(matterEntity.getMatterName()).append("-收费标准,");
sb.append("事项名称:").append(matterEntity.getMatterName());
Map<String, String> sfbzMap = MatterDetailHtmlParseUtil.getSfbzMapByHtml(dom);
String sfbzStr = sfbzMap.getOrDefault("sfbz", " ");
sb.append(StrUtil.replaceChars(sfbzStr, ",", ","));
sb.append("\n");
//设定依据
/* sb.append(matterEntity.getMatterName()).append("-设定依据,");
List<Map<String, Object>> sdyjMapList = MatterDetailHtmlParseUtil.getSdyjMapByHtml(dom);
StringBuilder sb2 = new StringBuilder();
for (Map<String, Object> bllcMap : sdyjMapList) {
for (Map.Entry<String, Object> entry : bllcMap.entrySet()) {
if(sb2.length()>360){
sb.append(sb2);
sb.append("\n");
sb2 = new StringBuilder();
sb.append(matterEntity.getMatterName()).append("-设定依据,");
}
sb2.append(entry.getKey()).append(" ").append(entry.getValue());
}
}
sb.append(sb2);*/
//中介服务
sb.append("\n");
sb.append(matterEntity.getMatterName()).append("-中介服务,");
sb.append("事项名称:").append(matterEntity.getMatterName());
Map<String, String> zjfwMap = MatterDetailHtmlParseUtil.getZjfwMapByHtml(dom);
for (Map.Entry<String, String> entry : zjfwMap.entrySet()) {
sb.append(entry.getKey()).append(":").append(StrUtil.replaceChars(entry.getValue(), ",", ",")).append(";");
}
//常见问题
sb.append("\n");
sb.append(matterEntity.getMatterName()).append("-常见问题,");
sb.append("事项名称:").append(matterEntity.getMatterName());
StringBuilder sb3 = new StringBuilder();
List<Map<String, Object>> cjwtMapList = MatterDetailHtmlParseUtil.getCjwtMapByHtml(dom);
for (Map<String, Object> bllcMap : cjwtMapList) {
for (Map.Entry<String, Object> entry : bllcMap.entrySet()) {
if (sb3.length() > 280) {
sb.append(sb3);
sb.append("\n");
sb3 = new StringBuilder();
sb.append(matterEntity.getMatterName()).append("-常见问题,");
sb.append("事项名称:").append(matterEntity.getMatterName());
}
sb3.append(entry.getKey()).append(":").append(StrUtil.replaceChars(entry.getValue().toString(), ",", ",")).append(";");
}
}
sb.append(sb3);
strList.add(sb.toString());
log.info("事项名称:{}", matterEntity.getMatterName());
break;
} catch (Exception e) {
log.error("异常", e);
reCount++;
try {
Thread.sleep(2000);
} catch (InterruptedException ie) {
}
}
}
}
//todo 实时爬取后组合
FileUtil.writeUtf8Lines(strList, path);
/*
String path = "E:\\temp.csv";
FileUtil.writeUtf8Lines(strList, path);
*/
return Rest.ok();
}
@Override
public Rest<Void> genMatterTXT(MatterQuery matterQuery, Context context) {
......@@ -2048,7 +2052,7 @@ public class MatterServiceImpl extends AbstractCRUDServiceImpl<MatterDao, Matter
sb.append("\n***\n");
FileUtil.appendUtf8String(sb.toString(), path);
// strList.add(sb.toString());
log.info("事项名称:{}", matterEntity.getMatterName());
//log.info("事项名称:{}", matterEntity.getMatterName());
break;
} catch (Exception e) {
log.error("异常", e);
......
......@@ -285,27 +285,7 @@ public class MatterController extends BaseCRUDJsonBodyMappingController<MatterSe
}
@PostMapping(value = "genMatterCsv")
@UnAuth
public Rest<Object> genMatterCsv(@RequestBody MatterQuery query) {
Rest<Object> ret = new Rest<>();
Map<String, Object> model = new HashMap<>();
Context context = this.getContext();
String busiDesc = "生成文本" + this.getModuleDesc();
int code = VALUE_RESULT_SUCCESS;
try {
this.service.genMatterCsv(query, getContext());
model.put(MESSAGE_INFO, busiDesc + "成功");
} catch (Exception e) {
code = VALUE_RESULT_FAILURE;
this.doException(request, busiDesc, model, e);
}
ret.setCode(code);
ret.setData(model);
ret.setMsg(model.get(MESSAGE_INFO) == null ? "" : model.remove(MESSAGE_INFO).toString());
return ret;
}
@PostMapping(value = "genMatterMarkdown")
......@@ -345,12 +325,13 @@ public class MatterController extends BaseCRUDJsonBodyMappingController<MatterSe
}
@GetMapping(value = "genMatterTxt")
@GetMapping(value = "genMatterCsv")
@UnAuth
public String genMatterTxt(@RequestParam(value = "areaCode", defaultValue = "") String areaCode
public String genMatterCsv(@RequestParam(value = "areaCode", defaultValue = "") String areaCode
, @RequestParam(value = "genFilePath", defaultValue = "/home/txt/") String genFilePath) {
Rest<Object> ret = new Rest<>();
Map<String, Object> model = new HashMap<>();
Context context = this.getContext();
String busiDesc = "生成文本" + this.getModuleDesc();
int code = VALUE_RESULT_SUCCESS;
try {
......@@ -367,21 +348,61 @@ public class MatterController extends BaseCRUDJsonBodyMappingController<MatterSe
if (ObjectUtils.isEmpty(baseAreaEntity)) {
throw new AppException("区域编码不存在!" + areaCode);
}
boolean setnx = cacheService.setnx("genMatterCsv:" + areaCode, "1", 60 * 20);
if (!setnx) {
return baseAreaEntity.getName() + ".csv 正在生成中,请稍后查看文件!";
}
new Thread(() -> {
this.service.genMatterCsv(query, getContext());
cacheService.del("genMatterCsv:" + areaCode);
}).start();
return "异步生成文件中,请稍后查看文件!,文件访问地址: http://192.168.0.98:11071" + genFilePath;
// String path = genFilePath + baseAreaEntity.getName() + ".txt";
/*
this.service.genMatterCsv(query, getContext());
model.put(MESSAGE_INFO, busiDesc + "成功");*/
} catch (Exception e) {
code = VALUE_RESULT_FAILURE;
this.doException(request, busiDesc, model, e);
}
ret.setCode(code);
ret.setData(model);
ret.setMsg(model.get(MESSAGE_INFO) == null ? "" : model.remove(MESSAGE_INFO).toString());
return ret.toString();
}
@GetMapping(value = "genMatterTxt")
@UnAuth
public String genMatterTxt(@RequestParam(value = "areaCode", defaultValue = "") String areaCode
, @RequestParam(value = "genFilePath", defaultValue = "/home/txt/") String genFilePath) {
Rest<Object> ret = new Rest<>();
Map<String, Object> model = new HashMap<>();
String busiDesc = "生成文本" + this.getModuleDesc();
int code = VALUE_RESULT_SUCCESS;
try {
if (ObjectUtils.isEmpty(areaCode)) {
throw new AppException("区域编码不能为空!");
}
MatterQuery query = new MatterQuery();
query.setAreaCode(areaCode);
query.setGenFilePath(genFilePath);
BaseAreaQuery baseAreaQuery = new BaseAreaQuery();
baseAreaQuery.setAreaCode(areaCode);
BaseAreaEntity baseAreaEntity = baseAreaService.selectOne(baseAreaQuery);
if (ObjectUtils.isEmpty(baseAreaEntity)) {
throw new AppException("区域编码不存在!" + areaCode);
}
boolean setnx = cacheService.setnx("genMatterTxt:" + areaCode, "1", 60 * 20);
if (!setnx) {
return baseAreaEntity.getName() + ".txt 正在生成中,请稍后查看文件!";
}
new Thread(() -> {
Rest<Void> voidRest = this.service.genMatterTXT(query, getContext());
this.service.genMatterTXT(query, getContext());
cacheService.del("genMatterTxt:" + areaCode);
}).start();
//http://192.168.0.98:11071/home/txt/
// model.put(MESSAGE_INFO, "异步生成文件中,请稍后查看文件!,文件访问地址:http://192.168.0.98:11071" + genFilePath+"/");
return "异步生成文件中,请稍后查看文件!,文件访问地址: http://192.168.0.98:11071" + genFilePath;
} catch (Exception e) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment