Commit b853a39f authored by 廖鑫's avatar 廖鑫

提交办件处理中心模块

parent 95790d9d
{"remainingRequest":"D:\\data-center\\dataCenter-manager\\src\\main\\dataWebapp\\admin\\node_modules\\vue-loader\\lib\\loaders\\templateLoader.js??vue-loader-options!D:\\data-center\\dataCenter-manager\\src\\main\\dataWebapp\\admin\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\data-center\\dataCenter-manager\\src\\main\\dataWebapp\\admin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\data-center\\dataCenter-manager\\src\\main\\dataWebapp\\admin\\src\\views\\information\\list.vue?vue&type=template&id=26aecb3b&","dependencies":[{"path":"D:\\data-center\\dataCenter-manager\\src\\main\\dataWebapp\\admin\\src\\views\\information\\list.vue","mtime":1631007885564},{"path":"D:\\data-center\\dataCenter-manager\\src\\main\\dataWebapp\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1627970926817},{"path":"D:\\data-center\\dataCenter-manager\\src\\main\\dataWebapp\\admin\\node_modules\\vue-loader\\lib\\loaders\\templateLoader.js","mtime":1627969188743},{"path":"D:\\data-center\\dataCenter-manager\\src\\main\\dataWebapp\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1627970926817},{"path":"D:\\data-center\\dataCenter-manager\\src\\main\\dataWebapp\\admin\\node_modules\\vue-loader\\lib\\index.js","mtime":1627969188743}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:dmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkgewogIHZhciBfdm0gPSB0aGlzCiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50CiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oCiAgcmV0dXJuIF9jKAogICAgImRpdiIsCiAgICB7IHN0YXRpY0NsYXNzOiAicGFnZSIgfSwKICAgIFsKICAgICAgX2MoIkxheW91dFRhYmxlIiwgewogICAgICAgIGF0dHJzOiB7IGRhdGE6IF92bS50YWJsZURhdGEsIGNvbmZpZzogX3ZtLnRhYmxlQ29uZmlnIH0KICAgICAgfSkKICAgIF0sCiAgICAxCiAgKQp9CnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXQpyZW5kZXIuX3dpdGhTdHJpcHBlZCA9IHRydWUKCmV4cG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0="}]} {"remainingRequest":"D:\\data-center\\dataCenter-manager\\src\\main\\dataWebapp\\admin\\node_modules\\vue-loader\\lib\\loaders\\templateLoader.js??vue-loader-options!D:\\data-center\\dataCenter-manager\\src\\main\\dataWebapp\\admin\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\data-center\\dataCenter-manager\\src\\main\\dataWebapp\\admin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\data-center\\dataCenter-manager\\src\\main\\dataWebapp\\admin\\src\\views\\information\\list.vue?vue&type=template&id=26aecb3b&","dependencies":[{"path":"D:\\data-center\\dataCenter-manager\\src\\main\\dataWebapp\\admin\\src\\views\\information\\list.vue","mtime":1631007925049},{"path":"D:\\data-center\\dataCenter-manager\\src\\main\\dataWebapp\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1627970926817},{"path":"D:\\data-center\\dataCenter-manager\\src\\main\\dataWebapp\\admin\\node_modules\\vue-loader\\lib\\loaders\\templateLoader.js","mtime":1627969188743},{"path":"D:\\data-center\\dataCenter-manager\\src\\main\\dataWebapp\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1627970926817},{"path":"D:\\data-center\\dataCenter-manager\\src\\main\\dataWebapp\\admin\\node_modules\\vue-loader\\lib\\index.js","mtime":1627969188743}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:dmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkgewogIHZhciBfdm0gPSB0aGlzCiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50CiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oCiAgcmV0dXJuIF9jKAogICAgImRpdiIsCiAgICB7IHN0YXRpY0NsYXNzOiAicGFnZSIgfSwKICAgIFsKICAgICAgX2MoIkxheW91dFRhYmxlIiwgewogICAgICAgIGF0dHJzOiB7IGRhdGE6IF92bS50YWJsZURhdGEsIGNvbmZpZzogX3ZtLnRhYmxlQ29uZmlnIH0KICAgICAgfSkKICAgIF0sCiAgICAxCiAgKQp9CnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXQpyZW5kZXIuX3dpdGhTdHJpcHBlZCA9IHRydWUKCmV4cG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0="}]}
\ No newline at end of file \ No newline at end of file
{"remainingRequest":"D:\\data-center\\dataCenter-manager\\src\\main\\dataWebapp\\admin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\data-center\\dataCenter-manager\\src\\main\\dataWebapp\\admin\\src\\views\\information\\list.vue","dependencies":[{"path":"D:\\data-center\\dataCenter-manager\\src\\main\\dataWebapp\\admin\\src\\views\\information\\list.vue","mtime":1631007885564},{"path":"D:\\data-center\\dataCenter-manager\\src\\main\\dataWebapp\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1627970926817},{"path":"D:\\data-center\\dataCenter-manager\\src\\main\\dataWebapp\\admin\\node_modules\\vue-loader\\lib\\index.js","mtime":1627969188743}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tICIuL2xpc3QudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTI2YWVjYjNiJiIKaW1wb3J0IHNjcmlwdCBmcm9tICIuL2xpc3QudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJiIKZXhwb3J0ICogZnJvbSAiLi9saXN0LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyYiCgoKLyogbm9ybWFsaXplIGNvbXBvbmVudCAqLwppbXBvcnQgbm9ybWFsaXplciBmcm9tICIhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qcyIKdmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoCiAgc2NyaXB0LAogIHJlbmRlciwKICBzdGF0aWNSZW5kZXJGbnMsCiAgZmFsc2UsCiAgbnVsbCwKICBudWxsLAogIG51bGwKICAKKQoKLyogaG90IHJlbG9hZCAqLwppZiAobW9kdWxlLmhvdCkgewogIHZhciBhcGkgPSByZXF1aXJlKCJEOlxcZGF0YS1jZW50ZXJcXGRhdGFDZW50ZXItbWFuYWdlclxcc3JjXFxtYWluXFxkYXRhV2ViYXBwXFxhZG1pblxcbm9kZV9tb2R1bGVzXFx2dWUtaG90LXJlbG9hZC1hcGlcXGRpc3RcXGluZGV4LmpzIikKICBhcGkuaW5zdGFsbChyZXF1aXJlKCd2dWUnKSkKICBpZiAoYXBpLmNvbXBhdGlibGUpIHsKICAgIG1vZHVsZS5ob3QuYWNjZXB0KCkKICAgIGlmICghYXBpLmlzUmVjb3JkZWQoJzI2YWVjYjNiJykpIHsKICAgICAgYXBpLmNyZWF0ZVJlY29yZCgnMjZhZWNiM2InLCBjb21wb25lbnQub3B0aW9ucykKICAgIH0gZWxzZSB7CiAgICAgIGFwaS5yZWxvYWQoJzI2YWVjYjNiJywgY29tcG9uZW50Lm9wdGlvbnMpCiAgICB9CiAgICBtb2R1bGUuaG90LmFjY2VwdCgiLi9saXN0LnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD0yNmFlY2IzYiYiLCBmdW5jdGlvbiAoKSB7CiAgICAgIGFwaS5yZXJlbmRlcignMjZhZWNiM2InLCB7CiAgICAgICAgcmVuZGVyOiByZW5kZXIsCiAgICAgICAgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnMKICAgICAgfSkKICAgIH0pCiAgfQp9CmNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9ICJzcmMvdmlld3MvaW5mb3JtYXRpb24vbGlzdC52dWUiCmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRz"}]} {"remainingRequest":"D:\\data-center\\dataCenter-manager\\src\\main\\dataWebapp\\admin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\data-center\\dataCenter-manager\\src\\main\\dataWebapp\\admin\\src\\views\\information\\list.vue","dependencies":[{"path":"D:\\data-center\\dataCenter-manager\\src\\main\\dataWebapp\\admin\\src\\views\\information\\list.vue","mtime":1631007925049},{"path":"D:\\data-center\\dataCenter-manager\\src\\main\\dataWebapp\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1627970926817},{"path":"D:\\data-center\\dataCenter-manager\\src\\main\\dataWebapp\\admin\\node_modules\\vue-loader\\lib\\index.js","mtime":1627969188743}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tICIuL2xpc3QudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTI2YWVjYjNiJiIKaW1wb3J0IHNjcmlwdCBmcm9tICIuL2xpc3QudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJiIKZXhwb3J0ICogZnJvbSAiLi9saXN0LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyYiCgoKLyogbm9ybWFsaXplIGNvbXBvbmVudCAqLwppbXBvcnQgbm9ybWFsaXplciBmcm9tICIhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qcyIKdmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoCiAgc2NyaXB0LAogIHJlbmRlciwKICBzdGF0aWNSZW5kZXJGbnMsCiAgZmFsc2UsCiAgbnVsbCwKICBudWxsLAogIG51bGwKICAKKQoKLyogaG90IHJlbG9hZCAqLwppZiAobW9kdWxlLmhvdCkgewogIHZhciBhcGkgPSByZXF1aXJlKCJEOlxcZGF0YS1jZW50ZXJcXGRhdGFDZW50ZXItbWFuYWdlclxcc3JjXFxtYWluXFxkYXRhV2ViYXBwXFxhZG1pblxcbm9kZV9tb2R1bGVzXFx2dWUtaG90LXJlbG9hZC1hcGlcXGRpc3RcXGluZGV4LmpzIikKICBhcGkuaW5zdGFsbChyZXF1aXJlKCd2dWUnKSkKICBpZiAoYXBpLmNvbXBhdGlibGUpIHsKICAgIG1vZHVsZS5ob3QuYWNjZXB0KCkKICAgIGlmICghYXBpLmlzUmVjb3JkZWQoJzI2YWVjYjNiJykpIHsKICAgICAgYXBpLmNyZWF0ZVJlY29yZCgnMjZhZWNiM2InLCBjb21wb25lbnQub3B0aW9ucykKICAgIH0gZWxzZSB7CiAgICAgIGFwaS5yZWxvYWQoJzI2YWVjYjNiJywgY29tcG9uZW50Lm9wdGlvbnMpCiAgICB9CiAgICBtb2R1bGUuaG90LmFjY2VwdCgiLi9saXN0LnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD0yNmFlY2IzYiYiLCBmdW5jdGlvbiAoKSB7CiAgICAgIGFwaS5yZXJlbmRlcignMjZhZWNiM2InLCB7CiAgICAgICAgcmVuZGVyOiByZW5kZXIsCiAgICAgICAgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnMKICAgICAgfSkKICAgIH0pCiAgfQp9CmNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9ICJzcmMvdmlld3MvaW5mb3JtYXRpb24vbGlzdC52dWUiCmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRz"}]}
\ No newline at end of file \ No newline at end of file
{"remainingRequest":"D:\\data-center\\dataCenter-manager\\src\\main\\dataWebapp\\admin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\data-center\\dataCenter-manager\\src\\main\\dataWebapp\\admin\\src\\views\\information\\list.vue?vue&type=template&id=26aecb3b&","dependencies":[{"path":"D:\\data-center\\dataCenter-manager\\src\\main\\dataWebapp\\admin\\src\\views\\information\\list.vue","mtime":1631007885564},{"path":"D:\\data-center\\dataCenter-manager\\src\\main\\dataWebapp\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1627970926817},{"path":"D:\\data-center\\dataCenter-manager\\src\\main\\dataWebapp\\admin\\node_modules\\vue-loader\\lib\\loaders\\templateLoader.js","mtime":1627969188743},{"path":"D:\\data-center\\dataCenter-manager\\src\\main\\dataWebapp\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1627970926817},{"path":"D:\\data-center\\dataCenter-manager\\src\\main\\dataWebapp\\admin\\node_modules\\vue-loader\\lib\\index.js","mtime":1627969188743}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:CjxkaXYgY2xhc3M9InBhZ2UiPgogIDxMYXlvdXRUYWJsZSA6ZGF0YT0idGFibGVEYXRhIiA6Y29uZmlnPSJ0YWJsZUNvbmZpZyIgLz4KPC9kaXY+Cg=="},null]} {"remainingRequest":"D:\\data-center\\dataCenter-manager\\src\\main\\dataWebapp\\admin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\data-center\\dataCenter-manager\\src\\main\\dataWebapp\\admin\\src\\views\\information\\list.vue?vue&type=template&id=26aecb3b&","dependencies":[{"path":"D:\\data-center\\dataCenter-manager\\src\\main\\dataWebapp\\admin\\src\\views\\information\\list.vue","mtime":1631007925049},{"path":"D:\\data-center\\dataCenter-manager\\src\\main\\dataWebapp\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1627970926817},{"path":"D:\\data-center\\dataCenter-manager\\src\\main\\dataWebapp\\admin\\node_modules\\vue-loader\\lib\\loaders\\templateLoader.js","mtime":1627969188743},{"path":"D:\\data-center\\dataCenter-manager\\src\\main\\dataWebapp\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1627970926817},{"path":"D:\\data-center\\dataCenter-manager\\src\\main\\dataWebapp\\admin\\node_modules\\vue-loader\\lib\\index.js","mtime":1627969188743}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:CjxkaXYgY2xhc3M9InBhZ2UiPgogIDxMYXlvdXRUYWJsZSA6ZGF0YT0idGFibGVEYXRhIiA6Y29uZmlnPSJ0YWJsZUNvbmZpZyIgLz4KPC9kaXY+Cg=="},null]}
\ No newline at end of file \ No newline at end of file
...@@ -12,4 +12,7 @@ import com.mortals.xhx.modules.information.model.InformationEntity; ...@@ -12,4 +12,7 @@ import com.mortals.xhx.modules.information.model.InformationEntity;
public interface InformationService extends ICRUDService<InformationEntity,Long>{ public interface InformationService extends ICRUDService<InformationEntity,Long>{
void applyAndAccept();
void submitLinkData();
} }
\ No newline at end of file
package com.mortals.xhx.modules.information.service.impl; package com.mortals.xhx.modules.information.service.impl;
import cn.hutool.core.date.DateTime;
import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.mortals.framework.model.PageInfo;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl; import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.util.DateUtils;
import com.mortals.framework.util.StringUtils;
import com.mortals.xhx.common.code.NodeTypeEnum;
import com.mortals.xhx.common.utils.DateByAffairUtils;
import com.mortals.xhx.modules.implementlist.model.ImplementlistEntity;
import com.mortals.xhx.modules.implementlist.model.ImplementlistQuery;
import com.mortals.xhx.modules.implementlist.service.ImplementlistService;
import com.mortals.xhx.modules.information.dao.InformationDao; import com.mortals.xhx.modules.information.dao.InformationDao;
import com.mortals.xhx.modules.information.model.InformationEntity; import com.mortals.xhx.modules.information.model.InformationEntity;
import com.mortals.xhx.modules.information.model.InformationQuery;
import com.mortals.xhx.modules.information.service.InformationService; import com.mortals.xhx.modules.information.service.InformationService;
import lombok.extern.slf4j.Slf4j;
import org.checkerframework.checker.formatter.qual.ReturnsFormat;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Random;
import java.util.stream.Collectors;
/** /**
* <p>Title: 办件信息</p> * <p>Title: 办件信息</p>
* <p>Description: InformationService service接口 </p> * <p>Description: InformationService service接口 </p>
* <p>Copyright: Copyright &reg; </p> * <p>Copyright: Copyright &reg; </p>
* @version 1.0.0 *
*/ * @version 1.0.0
*/
@Service("informationService") @Service("informationService")
@Slf4j
public class InformationServiceImpl extends AbstractCRUDServiceImpl<InformationDao, InformationEntity, Long> implements InformationService { public class InformationServiceImpl extends AbstractCRUDServiceImpl<InformationDao, InformationEntity, Long> implements InformationService {
@Resource
private InformationService informationService;
@Autowired
private ImplementlistService implementlistService;
@Override
public void applyAndAccept() {
PageInfo pageInfo = new PageInfo();
pageInfo.setPrePageResult(100);
InformationQuery informationQuery = new InformationQuery();
informationQuery.setNodeType("BusiType_1");
List<InformationEntity> informationEntities = informationService.find(informationQuery, pageInfo, null).getList();
List<HashMap<String, Object>> objects = new ArrayList<>();
List<InformationEntity> entities = informationEntities.parallelStream().map(e -> {
//组装参数
HashMap<String, Object> stringObjectHashMap = assemblyParameters(e);
objects.add(stringObjectHashMap);
String appKey = HttpUtil
.createGet("https://171.221.172.95:4433/gateway/api/1/wllz/bjsqtjbsl/cs")
.body(JSONObject.toJSONString(stringObjectHashMap))
.header("AppKey", "743109085582327808")
.execute()
.charset("utf-8")
.body();
JSONObject jsonObject = JSONObject.parseObject(appKey);
if ("200".equals(jsonObject.getString("code"))) {
e.setIsReport("1");
e.setIsSuccess("1");
e.setBizStatus(NodeTypeEnum.办结.getDesc());
e.setNodeType(NodeTypeEnum.办结.getCode());
//默认区间3~20分钟
e.setCreateTime(DateByAffairUtils.getTimeByAddRandomDouble(DateTime.now(), null, null));
e.setOfficeCode(jsonObject.getJSONObject("data").getJSONObject("custom").getJSONObject("content").getString("flowsn"));
} else {
log.info("推送失败");
}
return e;
}).collect(Collectors.toList());
System.out.println(JSONArray.toJSONString(objects));
informationService.update(entities, null);
}
private HashMap<String, Object> assemblyParameters(InformationEntity e) {
HashMap<String, Object> dataMap = new HashMap<>(16);
dataMap.put("token", "Epoint_WebSerivce_**##0601");
HashMap<String, Object> baseInfoMap = new HashMap<>(16);
baseInfoMap.put("projectname", e.getEventName());
baseInfoMap.put("applyway", "20");
if ("2".equals(e.getApplicantAttributes())) {
baseInfoMap.put("applyertype", "20");
} else {
baseInfoMap.put("applyertype", "10");
}
baseInfoMap.put("applyername", e.getApplicantName());
baseInfoMap.put("applyersex", e.getApplicantSex());
baseInfoMap.put("certtype", "22");
baseInfoMap.put("certnum", e.getApplicantCardNumbe());
baseInfoMap.put("address", "地址暂无");
baseInfoMap.put("contactmobile", e.getContactPhone());
baseInfoMap.put("contactperson", e.getContactName());
HashMap<String, String> map = randomlyExtractPersonnelInformation();
if (null != map) {
baseInfoMap.put("receiveusername", map.get("receiveusername"));
baseInfoMap.put("receiveuserphone", map.get("receiveuserphone"));
baseInfoMap.put("receiveuseridcard", map.get("receiveuseridcard"));
}
baseInfoMap.put("receivedate", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(e.getCreateTime()));
ImplementlistQuery implementlistQuery = new ImplementlistQuery();
implementlistQuery.setEventCode(e.getEventCode());
ImplementlistEntity implementlistEntity = implementlistService.find(implementlistQuery, null).get(0);
if (null != implementlistEntity) {
baseInfoMap.put("tasktype", implementlistEntity.getEventType());
baseInfoMap.put("task_id", implementlistEntity.getId());
} else {
baseInfoMap.put("tasktype", "1A");
baseInfoMap.put("task_id", "123");
}
baseInfoMap.put("eventcode", implementlistEntity.getEventCode());
baseInfoMap.put("areacode", implementlistEntity.getAreaCode());
baseInfoMap.put("source", implementlistEntity.getAreaCode());
baseInfoMap.put("contactIdCard", e.getContactIdCard());
dataMap.put("params", baseInfoMap);
return dataMap;
}
private HashMap<String, String> randomlyExtractPersonnelInformation() {
HashMap<String, String> dataMap = new HashMap<>(16);
Random random = new Random();
int i = random.nextInt(5);
if (0 == i) {
dataMap.put("receiveusername","0");
dataMap.put("receiveuserphone","0");
dataMap.put("receiveuseridcard","0");
} else if (1 == i) {
dataMap.put("receiveusername","1");
dataMap.put("receiveuserphone","1");
dataMap.put("receiveuseridcard","1");
} else if (2 == i) {
dataMap.put("receiveusername","2");
dataMap.put("receiveuserphone","2");
dataMap.put("receiveuseridcard","2");
} else if (3 == i) {
dataMap.put("receiveusername","3");
dataMap.put("receiveuserphone","3");
dataMap.put("receiveuseridcard","3");
} else if (4 == i) {
dataMap.put("receiveusername","4");
dataMap.put("receiveuserphone","4");
dataMap.put("receiveuseridcard","4");
}
return dataMap;
}
@Override
public void submitLinkData() {
PageInfo pageInfo = new PageInfo();
pageInfo.setPrePageResult(100);
InformationQuery informationQuery = new InformationQuery();
informationQuery.setNodeType("BusiType_1");
List<InformationEntity> informationEntities = informationService.find(informationQuery, pageInfo, null).getList();
List<InformationEntity> entities = informationEntities.parallelStream().map(e -> {
//组装参数
HashMap<String, Object> stringObjectHashMap = assemblyParametersLink(e);
HttpUtil
.createGet("https://171.221.172.95:4433/gateway/api/1/wllz/bjsqtjbsl/cs")
.body(JSONObject.toJSONString(stringObjectHashMap))
.header("AppKey", "743109085582327808")
.execute()
.charset("utf-8")
.body();
return e;
}).collect(Collectors.toList());
}
private HashMap<String, Object> assemblyParametersLink(InformationEntity e) {
HashMap<String, Object> dataMap = new HashMap<>(16);
dataMap.put("token", "Epoint_WebSerivce_**##0601");
HashMap<String, Object> baseInfoMap = new HashMap<>(16);
baseInfoMap.put("flowsn", e.getOfficeCode());
baseInfoMap.put("operatetype", "80");
baseInfoMap.put("startdate", e.getGenTime());
baseInfoMap.put("enddate", e.getCompleteTime());
baseInfoMap.put("operateusername", "");
baseInfoMap.put("operateuserphone", "");
baseInfoMap.put("operateuseridcard", "");
baseInfoMap.put("areacode", e.getAreaCode());
baseInfoMap.put("handleTime", e.getCreateTime());
baseInfoMap.put("nodeStatus", "1");
dataMap.put("params", baseInfoMap);
return dataMap;
}
} }
\ No newline at end of file
...@@ -6,14 +6,11 @@ import com.mortals.framework.exception.AppException; ...@@ -6,14 +6,11 @@ import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.TableParam; import com.mortals.framework.model.TableParam;
import com.mortals.framework.service.ITask; import com.mortals.framework.service.ITask;
import com.mortals.framework.service.ITaskExcuteService; import com.mortals.framework.service.ITaskExcuteService;
import com.mortals.framework.util.DateUtils;
import com.mortals.xhx.base.system.table.service.TableIndexService; import com.mortals.xhx.base.system.table.service.TableIndexService;
import com.mortals.xhx.common.utils.DateByAffairUtils;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
/** /**
...@@ -24,7 +21,6 @@ import java.util.*; ...@@ -24,7 +21,6 @@ import java.util.*;
@Component("createTableTaskImpl") @Component("createTableTaskImpl")
@Slf4j @Slf4j
public class CreateTableTaskImpl implements ITaskExcuteService { public class CreateTableTaskImpl implements ITaskExcuteService {
private static Object Double;
@Autowired @Autowired
private TableIndexService tableIndexService; private TableIndexService tableIndexService;
......
...@@ -7,7 +7,6 @@ import com.mortals.framework.common.IBaseEnum; ...@@ -7,7 +7,6 @@ import com.mortals.framework.common.IBaseEnum;
import com.mortals.framework.model.Context; import com.mortals.framework.model.Context;
import com.mortals.framework.web.BaseCRUDJsonController; import com.mortals.framework.web.BaseCRUDJsonController;
import com.mortals.xhx.common.code.YesNoEnum; import com.mortals.xhx.common.code.YesNoEnum;
import com.mortals.xhx.feign.ElasticsearchClient;
import com.mortals.xhx.modules.information.model.InformationEntity; import com.mortals.xhx.modules.information.model.InformationEntity;
import com.mortals.xhx.modules.information.service.InformationService; import com.mortals.xhx.modules.information.service.InformationService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -29,8 +28,12 @@ import java.util.Map; ...@@ -29,8 +28,12 @@ import java.util.Map;
@RequestMapping("/information") @RequestMapping("/information")
public class InformationController extends BaseCRUDJsonController<InformationService, InformationForm, InformationEntity,Long> { public class InformationController extends BaseCRUDJsonController<InformationService, InformationForm, InformationEntity,Long> {
// @Autowired
// private ElasticsearchClient elasticsearchClient;
@Autowired @Autowired
private ElasticsearchClient elasticsearchClient; private InformationService informationService;
public InformationController(){ public InformationController(){
...@@ -46,24 +49,24 @@ public class InformationController extends BaseCRUDJsonController<InformationSer ...@@ -46,24 +49,24 @@ public class InformationController extends BaseCRUDJsonController<InformationSer
super.init(request, response, form, model, context); super.init(request, response, form, model, context);
} }
/** // /**
* 查询办件信息 // * 查询办件信息
*/ // */
@PostMapping(value="list") // @PostMapping(value="list")
public String list(HttpServletRequest request, HttpServletResponse response, InformationForm form) { // public String list(HttpServletRequest request, HttpServletResponse response, InformationForm form) {
try{ // try{
//数据量过大时,查询效率低下 // //数据量过大时,查询效率低下
// return super.list(request, response, form); //// return super.list(request, response, form);
//调用es查询接口(目前分页方式为浅分页,分页量超过1W条时,建议使用深分页,但深分页不支持跳页查询) // //调用es查询接口(目前分页方式为浅分页,分页量超过1W条时,建议使用深分页,但深分页不支持跳页查询)
return elasticsearchClient.queryEla(form.getPageInfo().getCurrPage(),form.getPageInfo().getPrePageResult()).toString(); // return elasticsearchClient.queryEla(form.getPageInfo().getCurrPage(),form.getPageInfo().getPrePageResult()).toString();
}catch(Exception e){ // }catch(Exception e){
log.error("查询办件信息列表错误",e); // log.error("查询办件信息列表错误",e);
JSONObject ret = new JSONObject(); // JSONObject ret = new JSONObject();
ret.put(KEY_RESULT_CODE, VALUE_RESULT_FAILURE); // ret.put(KEY_RESULT_CODE, VALUE_RESULT_FAILURE);
ret.put(KEY_RESULT_MSG, super.convertException(e)); // ret.put(KEY_RESULT_MSG, super.convertException(e));
return ret.toJSONString(); // return ret.toJSONString();
} // }
} // }
/** /**
* 添加办件信息 * 添加办件信息
*/ */
...@@ -141,7 +144,20 @@ public class InformationController extends BaseCRUDJsonController<InformationSer ...@@ -141,7 +144,20 @@ public class InformationController extends BaseCRUDJsonController<InformationSer
} }
/**
* 推送蓉易办
*/
@GetMapping(value="pushRongyiOffice")
public void pushRongyiOffice(@RequestParam("isNumber")String isNumber){
if ("1".equals(isNumber)){
//蓉易办提交申请并受理
informationService.applyAndAccept();
}else if ("2".equals(isNumber)){
//蓉易办提交环节数据
informationService.submitLinkData();
}
}
......
package com.mortals.xhx.modules.supplement.listener;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.mortals.xhx.common.code.SystemConstant;
import com.mortals.xhx.common.utils.DateByAffairUtils;
import com.mortals.xhx.common.utils.SnowFlakeUtil;
import com.mortals.xhx.modules.implementlist.service.ImplementlistService;
import com.mortals.xhx.modules.supplement.dao.SupplementDao;
import com.mortals.xhx.modules.supplement.model.SupplementEntity;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;
/**
* @author liaozimu
* @Date: 2021-11-2021/11/2-17:23
* @Description:
*/
@Slf4j
public class TemporaryDockingListener extends AnalysisEventListener<SupplementEntity> {
private SupplementDao supplementDao;
private ImplementlistService implementlistService;
/**
* 每隔5条存储数据库,实际使用中可以3000条,然后清理list ,方便内存回收
*/
private static final int BATCH_COUNT = 3000;
/**
* 这个集合用于接收 读取Excel文件得到的数据
*/
List<SupplementEntity> entityList = new ArrayList<SupplementEntity>();
public TemporaryDockingListener(SupplementDao supplementDao, ImplementlistService implementlistService) {
this.supplementDao = supplementDao;
this.implementlistService = implementlistService;
}
public TemporaryDockingListener(ImplementlistService implementlistService) {
}
@SneakyThrows
@Override
public void invoke(SupplementEntity supplementEntity, AnalysisContext analysisContext) {
supplementEntity.setId(SnowFlakeUtil.get().nextId());
//if(StringUtils.isEmpty(supplement.getApplyTime())){
String dateTime = "";
if (SystemConstant.BEOR) {
dateTime = DateByAffairUtils.randomDate(SystemConstant.DAYS);
} else {
dateTime = DateByAffairUtils.randomBetweenDate(SystemConstant.DAYS);
}
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
supplementEntity.setApplyTime(
new SimpleDateFormat("yyyy-MM-dd").format(DateByAffairUtils.getDayRadomWorkingTime(simpleDateFormat.parse(dateTime), null, null)));
supplementEntity.setIsExecute("0");
supplementEntity.setIsSuccess("0");
entityList.add(supplementEntity);
//达到BATCH_COUNT了,需要去存储一次数据库,防止数据几万条数据在内存,容易OOM
if (entityList.size() >= BATCH_COUNT) {
saveData();
//存储完成清理list
entityList.clear();
}
log.info("=======Excel文件<<>>导入成功===========");
}
@Override
public void doAfterAllAnalysed(AnalysisContext analysisContext) {
// 这里也要保存数据,确保最后遗留的数据也存储到数据库
supplementDao.insertBatch(entityList);
log.info("=======Excel文件<<>>导入成功===========");
}
/**
* 加上存储数据库
*/
private void saveData() {
supplementDao.insertBatch(entityList);
}
}
...@@ -12,16 +12,11 @@ import com.mortals.xhx.modules.supplement.listener.InformationDataConversionList ...@@ -12,16 +12,11 @@ import com.mortals.xhx.modules.supplement.listener.InformationDataConversionList
import com.mortals.xhx.modules.supplement.model.SupplementEntity; import com.mortals.xhx.modules.supplement.model.SupplementEntity;
import com.mortals.xhx.modules.supplement.service.SupplementService; import com.mortals.xhx.modules.supplement.service.SupplementService;
import lombok.SneakyThrows; import lombok.SneakyThrows;
import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl; import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.BufferedInputStream; import java.io.BufferedInputStream;
import java.io.IOException;
import java.net.URLEncoder;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
......
...@@ -48,10 +48,66 @@ public class SupplementTaskImpl implements ITaskExcuteService { ...@@ -48,10 +48,66 @@ public class SupplementTaskImpl implements ITaskExcuteService {
@Override @Override
public void excuteTask(ITask task) throws AppException { public void excuteTask(ITask task) throws AppException {
//1.查询上月的表是否存在未清洗的数据 //TODO:因临时对接蓉易办暂时屏蔽,等后期蓉易办对接完成后放开
List<SupplementEntity> supplementEntities = queryDataThatHasNotBeenPushed(task.getExcuteParam()); // //1.查询上月的表是否存在未清洗的数据
//开始进行数据清洗 // List<SupplementEntity> supplementEntities = queryDataThatHasNotBeenPushed(task.getExcuteParam());
this.dataCleaning(supplementEntities); // //开始进行数据清洗
// this.dataCleaning(supplementEntities);
this.temporaryDocking();
}
//TODO:因临时对接蓉易办,后期可删除
private void temporaryDocking() {
SupplementQuery supplementQuery = new SupplementQuery();
supplementQuery.setIsExecute("0");
supplementQuery.setIsSuccess("0");
List<InformationEntity> informationQueries = new ArrayList<>();
List<SupplementEntity> supplementEntities = supplementService.find(supplementQuery, null);
if (!supplementEntities.isEmpty()){
List<SupplementEntity> collect = supplementEntities.parallelStream().map(e -> {
//TODO:查询实施清单信息,通过事项编码查询有问题(但因数据库存储的事项数据是条件过滤后的,故暂时不改动查询),后期改动
ImplementlistEntity thImplement = implementlistService.getThImplement(e.getImplCode());
try {
InformationEntity informationQuery = new InformationEntity();
//组装第一次业务数据(清洗后的)
informationQuery = assemblyOfficeData(informationQuery, e);
if (null != thImplement) {
informationQuery.setDeptCode(thImplement.getDeptCode());
informationQuery.setAreaCode(thImplement.getAreaCode());
informationQuery.setEventCode(thImplement.getEventCode());
informationQuery.setEventName(thImplement.getEventName());
informationQuery.setIsCharge(thImplement.getIsCharges());
//是否转化成功:0默认 1成功
informationQuery.setIsSuccess("1");
//是否推送(0 否 1是)
informationQuery.setIsReport("0");
//设置 失败次数 默认为0
informationQuery.setFailTimes(0);
// 是否执行转化(0.未执行 1.已执行)
e.setIsExecute("1");
//是否转化成功(0默认 1成功)
e.setIsSuccess("1");
} else {
e.setFailReason(" Err:实施清单不存在");
informationQuery.setFailReason(" Err:实施清单不存在");
informationQuery.setIsSuccess("0");
// 是否执行转化(0.未执行 1.已执行)
e.setIsExecute("1");
//是否转化成功(0默认 1成功)
e.setIsSuccess("1");
}
e.setUpdateDate(DateTime.now());
informationQueries.add(informationQuery);
return e;
} catch (Exception ex) {
log.error("转换失败:SupplementID:" + e.getId());
log.error("转换失败:失败原因" + ex.getMessage());
return e;
}
}).collect(Collectors.toList());
supplementService.update(collect,null);
informationDao.insertBatch(informationQueries);
}
} }
......
package com.mortals.xhx.modules.supplement.web; package com.mortals.xhx.modules.supplement.web;
import com.alibaba.excel.EasyExcel;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.mortals.framework.service.ICacheService; import com.mortals.framework.service.ICacheService;
import com.mortals.framework.util.StringUtils; import com.mortals.framework.util.StringUtils;
import com.mortals.xhx.base.system.upload.service.UploadService; import com.mortals.xhx.base.system.upload.service.UploadService;
import com.mortals.xhx.common.code.ExcelUploadEnum; import com.mortals.xhx.common.code.ExcelUploadEnum;
import com.mortals.xhx.common.pdu.ApiRespPdu; import com.mortals.xhx.common.pdu.ApiRespPdu;
import com.mortals.xhx.modules.implementlist.service.ImplementlistService;
import com.mortals.xhx.modules.supplement.dao.SupplementDao;
import com.mortals.xhx.modules.supplement.listener.TemporaryDockingListener;
import com.mortals.xhx.modules.supplement.model.SupplementEntity; import com.mortals.xhx.modules.supplement.model.SupplementEntity;
import com.mortals.xhx.modules.supplement.service.SupplementService; import com.mortals.xhx.modules.supplement.service.SupplementService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -15,6 +19,7 @@ import org.springframework.web.bind.annotation.*; ...@@ -15,6 +19,7 @@ import org.springframework.web.bind.annotation.*;
import com.mortals.framework.web.BaseCRUDJsonMappingController; import com.mortals.framework.web.BaseCRUDJsonMappingController;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
...@@ -38,6 +43,12 @@ public class SupplementController extends BaseCRUDJsonMappingController<Suppleme ...@@ -38,6 +43,12 @@ public class SupplementController extends BaseCRUDJsonMappingController<Suppleme
@Autowired @Autowired
private ICacheService iCacheService; private ICacheService iCacheService;
@Autowired
private ImplementlistService implementlistService;
@Autowired
private SupplementDao supplementDao;
/** /**
* 导入办件信息,一阶段通过excel表格导入,放入磁盘中,在通过文件地址去获取文件内容进行数据清洗 * 导入办件信息,一阶段通过excel表格导入,放入磁盘中,在通过文件地址去获取文件内容进行数据清洗
...@@ -60,6 +71,27 @@ public class SupplementController extends BaseCRUDJsonMappingController<Suppleme ...@@ -60,6 +71,27 @@ public class SupplementController extends BaseCRUDJsonMappingController<Suppleme
return respPdu; return respPdu;
} }
/*
*
* 蓉易办对接入口,excel上传,临时接口,后期可删除,
* */
@RequestMapping("createTemporaryInterface")
public ApiRespPdu<Object> create(@RequestPart("file") MultipartFile file) throws Exception {
ApiRespPdu respPdu=new ApiRespPdu();
try {
System.out.println(file.getSize());
EasyExcel.read(file.getInputStream(), SupplementEntity.class, new TemporaryDockingListener(supplementDao,implementlistService))
.sheet(0)
.headRowNumber(3)
.doRead();
respPdu.setCode(200);
respPdu.setMsg("上传文件成功");
} catch (IOException e) {
e.printStackTrace();
}
return respPdu;
}
public SupplementController(){ public SupplementController(){
......
...@@ -20,7 +20,10 @@ spring: ...@@ -20,7 +20,10 @@ spring:
discovery: discovery:
server-addr: 127.0.0.1:8848 # Nacos 服务器地址 server-addr: 127.0.0.1:8848 # Nacos 服务器地址
group: DEFAULT_GROUP group: DEFAULT_GROUP
#公司本机
namespace: 00d2fea1-874c-42cf-bf70-df75db75800a namespace: 00d2fea1-874c-42cf-bf70-df75db75800a
#金堂服务器
# namespace: 718d1c5b-0e1f-42b7-936a-619e28bfa4c4
config: config:
server-addr: ${spring.cloud.nacos.discovery.server-addr} # Nacos 服务器地址 server-addr: ${spring.cloud.nacos.discovery.server-addr} # Nacos 服务器地址
group: ${spring.cloud.nacos.discovery.group} group: ${spring.cloud.nacos.discovery.group}
......
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