Commit e1a44ce5 authored by “yiyousong”'s avatar “yiyousong”
parents be9a19ca 7bd47354
...@@ -38,7 +38,7 @@ INSERT INTO `mortals_xhx_param` VALUES (null, '应用主题 ', 'App', 'appThemeN ...@@ -38,7 +38,7 @@ INSERT INTO `mortals_xhx_param` VALUES (null, '应用主题 ', 'App', 'appThemeN
-- ---------------------------- -- ----------------------------
2023-4-12 -- 2023-4-12
-- ---------------------------- -- ----------------------------
ALTER TABLE mortals_sys_site_matter ADD COLUMN `hot` tinyint(2) DEFAULT '0' COMMENT '热门(0.否,1.是)' AFTER eventTypeShow; ALTER TABLE mortals_sys_site_matter ADD COLUMN `hot` tinyint(2) DEFAULT '0' COMMENT '热门(0.否,1.是)' AFTER eventTypeShow;
ALTER TABLE mortals_sys_site_matter ADD COLUMN `display` tinyint(2) DEFAULT '1' COMMENT '显示(0.否,1.是)' AFTER hot; ALTER TABLE mortals_sys_site_matter ADD COLUMN `display` tinyint(2) DEFAULT '1' COMMENT '显示(0.否,1.是)' AFTER hot;
...@@ -250,6 +250,6 @@ ALTER TABLE mortals_sys_dept ADD COLUMN `inNum` int(9) DEFAULT '0' COMMENT ' ...@@ -250,6 +250,6 @@ ALTER TABLE mortals_sys_dept ADD COLUMN `inNum` int(9) DEFAULT '0' COMMENT '
INSERT INTO mortals_xhx_task VALUES (null, '同步全部站点事项材料附件', 'SyncMatterDaumFileTask', 0, 'SyncMatterDaumFileTask', '', '', 1, 3600, '16:05', '', '192.168.1.107', '2024-05-18 16:05:00', 0, '2024-03-01 10:59:53', 1, '系统管理员'); INSERT INTO mortals_xhx_task VALUES (null, '同步全部站点事项材料附件', 'SyncMatterDaumFileTask', 0, 'SyncMatterDaumFileTask', '', '', 1, 3600, '16:05', '', '192.168.1.107', '2024-05-18 16:05:00', 0, '2024-03-01 10:59:53', 1, '系统管理员');
-- ---------------------------- -- ----------------------------
2024-07-20 -- 2024-07-20
-- ---------------------------- -- ----------------------------
INSERT INTO `mortals_sys_base_area`(`id`, `ancestors`, `name`, `iid`, `pid`, `haveSonArea`, `haveSonDept`, `haveGetDept`, `haveGetMatterList`, `areaCode`, `areaLevel`, `shortName`, `domain`, `status`, `createTime`, `createUserId`, `updateTime`) VALUES (null, '', '巴中经济开发区', 'f190133f82dd46f0ae2e2116a8b9b13b', '60a505e9dfa643e9826902e0810de55f', 'false', 'True', 'false', 'false', '511971000000', 3, '巴中经济开发区', 'bzsbzq.sczwfw.gov.cn', 1, '2021-07-19 11:59:30', NULL, NULL); INSERT INTO `mortals_sys_base_area`(`id`, `ancestors`, `name`, `iid`, `pid`, `haveSonArea`, `haveSonDept`, `haveGetDept`, `haveGetMatterList`, `areaCode`, `areaLevel`, `shortName`, `domain`, `status`, `createTime`, `createUserId`, `updateTime`) VALUES (null, '', '巴中经济开发区', 'f190133f82dd46f0ae2e2116a8b9b13b', '60a505e9dfa643e9826902e0810de55f', 'false', 'True', 'false', 'false', '511971000000', 3, '巴中经济开发区', 'bzsbzq.sczwfw.gov.cn', 1, '2021-07-19 11:59:30', NULL, NULL);
...@@ -497,6 +497,7 @@ public class UserServiceImpl extends AbstractCRUDCacheServiceImpl<UserDao, UserE ...@@ -497,6 +497,7 @@ public class UserServiceImpl extends AbstractCRUDCacheServiceImpl<UserDao, UserE
System.out.println(SecurityUtil.md5DoubleEncoding("xhxADMIN8@a")); System.out.println(SecurityUtil.md5DoubleEncoding("xhxADMIN8@a"));
System.out.println(SecurityUtil.md5DoubleEncoding("123"));
// System.out.println(SecurityUtil.md5DoubleEncoding("Qt123456@")); // System.out.println(SecurityUtil.md5DoubleEncoding("Qt123456@"));
/* /*
......
package com.mortals.xhx.common.key; package com.mortals.xhx.common.key;
import com.mortals.framework.ap.GlobalSysInfo;
public final class Constant { public final class Constant {
/** /**
......
...@@ -226,7 +226,6 @@ public class MatterDetailHtmlParseUtil { ...@@ -226,7 +226,6 @@ public class MatterDetailHtmlParseUtil {
List<Map<String, Object>> resultListMap = new ArrayList<>(); List<Map<String, Object>> resultListMap = new ArrayList<>();
String baseInfoExp = "//div[@class='section7']//table[1]//tr[1]//td"; String baseInfoExp = "//div[@class='section7']//table[1]//tr[1]//td";
String baseInfoExp1 = "//div[@class='section7']//table[1]//tr"; String baseInfoExp1 = "//div[@class='section7']//table[1]//tr";
XPath xPath = XPathFactory.newInstance().newXPath();
Object result; Object result;
int rowNum = 0; int rowNum = 0;
try { try {
...@@ -237,36 +236,13 @@ public class MatterDetailHtmlParseUtil { ...@@ -237,36 +236,13 @@ public class MatterDetailHtmlParseUtil {
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
String baseInfoTempExp = String.format("//div[@class='section7']//table[1]//tr[%d]//td", j + 1); String baseInfoTempExp = String.format("//div[@class='section7']//table[1]//tr[%d]//td", j + 1);
Elements evaluateList = dom.selectXpath(baseInfoTempExp); Elements evaluateList = dom.selectXpath(baseInfoTempExp);
if (ObjectUtils.isEmpty(evaluateList)) continue;
for (int k = 0; k < evaluateList.size(); k++) { for (int k = 0; k < evaluateList.size(); k++) {
map.put(nodeList.get(k).text(), evaluateList.get(k).text().trim()); map.put(nodeList.get(k).text(), evaluateList.get(k).text().trim());
map.put("sort", j); map.put("sort", j);
} }
resultListMap.add(map); resultListMap.add(map);
} }
/*
result = xPath.evaluate(baseInfoExp1, dom, XPathConstants.NODESET);
if (result instanceof NodeList) {
NodeList nodeList = (NodeList) result;
rowNum = nodeList.getLength();
}
result = xPath.evaluate(baseInfoExp, dom, XPathConstants.NODESET);
if (result instanceof NodeList) {
NodeList nodeList = (NodeList) result;
// int num = nodeList.getLength();
for (int j = 1; j <= rowNum; j++) {
Map<String, Object> map = new HashMap<>();
String baseInfoTempExp = String.format("//div[@class='section7']//table[1]//tr[%d]//td", j + 1);
Object evaluate = xPath.evaluate(baseInfoTempExp, dom, XPathConstants.NODESET);
if (evaluate instanceof NodeList) {
NodeList evaluateList = (NodeList) evaluate;
for (int k = 0; k < evaluateList.getLength(); k++) {
map.put(nodeList.item(k).getTextContent(), evaluateList.item(k).getTextContent().trim());
map.put("sort", j);
}
}
resultListMap.add(map);
}
}*/
} catch (Exception e) { } catch (Exception e) {
log.error("办理流程xpath解析异常:", e); log.error("办理流程xpath解析异常:", e);
} }
......
...@@ -7,6 +7,7 @@ import com.mortals.framework.model.Context; ...@@ -7,6 +7,7 @@ import com.mortals.framework.model.Context;
import com.mortals.framework.model.PageInfo; import com.mortals.framework.model.PageInfo;
import com.mortals.framework.model.Result; import com.mortals.framework.model.Result;
import com.mortals.framework.service.impl.AbstractCRUDCacheServiceImpl; import com.mortals.framework.service.impl.AbstractCRUDCacheServiceImpl;
import com.mortals.framework.util.ThreadPool;
import com.mortals.xhx.base.system.message.MessageService; import com.mortals.xhx.base.system.message.MessageService;
import com.mortals.xhx.busiz.req.ApiThirdPartyReq; import com.mortals.xhx.busiz.req.ApiThirdPartyReq;
import com.mortals.xhx.busiz.req.BussinessThirdPartyReq; import com.mortals.xhx.busiz.req.BussinessThirdPartyReq;
...@@ -84,23 +85,34 @@ public class BusinessServiceImpl extends AbstractCRUDCacheServiceImpl<BusinessDa ...@@ -84,23 +85,34 @@ public class BusinessServiceImpl extends AbstractCRUDCacheServiceImpl<BusinessDa
@Override @Override
protected void updateAfter(BusinessEntity entity, Context context) throws AppException { protected void updateAfter(BusinessEntity entity, Context context) throws AppException {
Runnable runnable = new Runnable() {
/**
*
*/
@Override
public void run() {
//同步更新所有站点 //同步更新所有站点
List<SiteBusinessEntity> collect = siteBusinessService.find(new SiteBusinessQuery().businessId(entity.getId())).stream() List<SiteBusinessEntity> siteBusinessEntityList = siteBusinessService.find(new SiteBusinessQuery().businessId(entity.getId())).stream()
.map(item -> { .map(item -> {
BeanUtils.copyProperties(entity, item, new String[]{"id"});
item.setBusinessName(entity.getName()); item.setBusinessName(entity.getName());
return item; return item;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
siteBusinessService.update(collect, context);
if (!ObjectUtils.isEmpty(siteBusinessEntityList)) {
//更新事项业务表中字段 siteBusinessService.update(siteBusinessEntityList, context);
List<SiteBusinessEntity> siteBusinessEntities = siteBusinessService.find(new SiteBusinessQuery().businessId(entity.getId())) }
.stream()
.filter(item -> !item.getBusinessName().equals(entity.getName())) for (SiteBusinessEntity siteBusinessEntity : siteBusinessEntityList) {
.peek(item -> item.setBusinessName(entity.getName())) List<WindowBusinessEntity> windowBusinessEntityList = windowBusinessService.find(new WindowBusinessQuery().siteBusinessId(siteBusinessEntity.getId())).stream().map(item -> {
.collect(Collectors.toList()); item.setBusinessName(entity.getName());
if (!ObjectUtils.isEmpty(siteBusinessEntities)) { return item;
siteBusinessService.update(siteBusinessEntities, context); }).collect(Collectors.toList());
if( !ObjectUtils.isEmpty(windowBusinessEntityList)) {
windowBusinessService.update(windowBusinessEntityList, context);
}
} }
//通知第三方平台 //通知第三方平台
...@@ -114,6 +126,11 @@ public class BusinessServiceImpl extends AbstractCRUDCacheServiceImpl<BusinessDa ...@@ -114,6 +126,11 @@ public class BusinessServiceImpl extends AbstractCRUDCacheServiceImpl<BusinessDa
apiThirdPartyReq.setStatus(ThirdPartyStatusEnum.修改.getValue()); apiThirdPartyReq.setStatus(ThirdPartyStatusEnum.修改.getValue());
apiThirdPartyReq.setData(bussinessThirdPartyReq); apiThirdPartyReq.setData(bussinessThirdPartyReq);
messageService.sendThirdParty(phpUrl, JSON.toJSONString(apiThirdPartyReq)); messageService.sendThirdParty(phpUrl, JSON.toJSONString(apiThirdPartyReq));
}
};
ThreadPool.getInstance().execute(runnable);
super.updateAfter(entity, context); super.updateAfter(entity, context);
} }
......
...@@ -6,6 +6,7 @@ import com.mortals.framework.exception.AppException; ...@@ -6,6 +6,7 @@ import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context; import com.mortals.framework.model.Context;
import com.mortals.framework.model.PageInfo; import com.mortals.framework.model.PageInfo;
import com.mortals.framework.service.impl.AbstractCRUDCacheServiceImpl; import com.mortals.framework.service.impl.AbstractCRUDCacheServiceImpl;
import com.mortals.framework.util.ThreadPool;
import com.mortals.xhx.common.code.SourceEnum; import com.mortals.xhx.common.code.SourceEnum;
import com.mortals.xhx.common.code.YesNoEnum; import com.mortals.xhx.common.code.YesNoEnum;
import com.mortals.xhx.common.key.Constant; import com.mortals.xhx.common.key.Constant;
...@@ -21,17 +22,17 @@ import com.mortals.xhx.module.dept.service.DeptService; ...@@ -21,17 +22,17 @@ import com.mortals.xhx.module.dept.service.DeptService;
import com.mortals.xhx.module.matters.model.MattersDeptEntity; import com.mortals.xhx.module.matters.model.MattersDeptEntity;
import com.mortals.xhx.module.matters.model.MattersDeptQuery; import com.mortals.xhx.module.matters.model.MattersDeptQuery;
import com.mortals.xhx.module.matters.service.MattersDeptService; import com.mortals.xhx.module.matters.service.MattersDeptService;
import com.mortals.xhx.module.site.model.SiteBusinessEntity; import com.mortals.xhx.module.site.model.*;
import com.mortals.xhx.module.site.model.SiteBusinessQuery;
import com.mortals.xhx.module.site.model.SiteEntity;
import com.mortals.xhx.module.site.service.SiteBusinessService; import com.mortals.xhx.module.site.service.SiteBusinessService;
import com.mortals.xhx.module.site.service.SiteMatterService;
import com.mortals.xhx.module.site.service.SiteService; import com.mortals.xhx.module.site.service.SiteService;
import com.mortals.xhx.module.window.model.WindowBusinessEntity; import com.mortals.xhx.module.window.model.*;
import com.mortals.xhx.module.window.model.WindowBusinessQuery;
import com.mortals.xhx.module.window.model.WindowEntity;
import com.mortals.xhx.module.window.model.WindowQuery;
import com.mortals.xhx.module.window.service.WindowBusinessService; import com.mortals.xhx.module.window.service.WindowBusinessService;
import com.mortals.xhx.module.window.service.WindowMatterService;
import com.mortals.xhx.module.window.service.WindowService; import com.mortals.xhx.module.window.service.WindowService;
import com.mortals.xhx.module.workman.model.WorkmanEntity;
import com.mortals.xhx.module.workman.model.WorkmanQuery;
import com.mortals.xhx.module.workman.service.WorkmanService;
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 org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
...@@ -57,6 +58,12 @@ public class DeptServiceImpl extends AbstractCRUDCacheServiceImpl<DeptDao, DeptE ...@@ -57,6 +58,12 @@ public class DeptServiceImpl extends AbstractCRUDCacheServiceImpl<DeptDao, DeptE
private MattersDeptService mattersDeptService; private MattersDeptService mattersDeptService;
@Autowired @Autowired
private WindowService windowService; private WindowService windowService;
@Autowired
private WorkmanService workmanService;
@Autowired
private WindowMatterService windowMatterService;
@Autowired
private SiteMatterService siteMatterService;
@Override @Override
...@@ -191,39 +198,9 @@ public class DeptServiceImpl extends AbstractCRUDCacheServiceImpl<DeptDao, DeptE ...@@ -191,39 +198,9 @@ public class DeptServiceImpl extends AbstractCRUDCacheServiceImpl<DeptDao, DeptE
@Override @Override
public Rest<Map<String, List<DeptVo>>> getBusinessByDept(DeptQuery deptQuery, Context context) { public Rest<Map<String, List<DeptVo>>> getBusinessByDept(DeptQuery deptQuery, Context context) {
List<DeptVo> businessDeptList = this.dao.getBusinessByDept(deptQuery); List<DeptVo> businessDeptList = this.dao.getBusinessByDept(deptQuery);
Map<String, List<DeptVo>> collect = businessDeptList.parallelStream().collect(Collectors.groupingBy(x -> x.getId().toString())); Map<String, List<DeptVo>> collect = businessDeptList.parallelStream().collect(Collectors.groupingBy(x -> x.getId().toString()));
return Rest.ok(collect); return Rest.ok(collect);
/* //查询部门窗口
List<WindowEntity> windowEntities = windowService.find(new WindowQuery().deptId(deptQuery.getId()));
//查询窗口业务
WindowBusinessQuery windowBusinessQuery = new WindowBusinessQuery();
List<Long> windowList = windowEntities.stream().map(WindowEntity::getId).collect(Collectors.toList());
if (ObjectUtils.isEmpty(windowList)) {
return Rest.ok("窗口查询结果为空", Collections.EMPTY_LIST);
}
windowBusinessQuery.setWindowIdList(windowList);
List<WindowBusinessEntity> windowBusinessEntities = windowBusinessService.find(windowBusinessQuery);
SiteBusinessQuery siteBusinessQuery = new SiteBusinessQuery();
List<Long> siteBusinessList = windowBusinessEntities.stream().map(WindowBusinessEntity::getSiteBusinessId).collect(Collectors.toList());
if (ObjectUtils.isEmpty(siteBusinessList)) {
return Rest.ok("站点业务查询结果为空", Collections.EMPTY_LIST);
}
siteBusinessQuery.setBusinessIdList(siteBusinessList);
List<SiteBusinessEntity> siteBusinessEntities = siteBusinessService.find(siteBusinessQuery);
BusinessQuery businessQuery = new BusinessQuery();
List<Long> businessList = siteBusinessEntities.stream().map(SiteBusinessEntity::getBusinessId).collect(Collectors.toList());
if (ObjectUtils.isEmpty(businessList)) {
return Rest.ok("业务查询结果为空", Collections.EMPTY_LIST);
}
businessQuery.setIdList(businessList);
List<BusinessEntity> businessEntities = businessService.find(businessQuery);*/
//return Rest.ok(businessEntities);
} }
@Override @Override
...@@ -262,11 +239,56 @@ public class DeptServiceImpl extends AbstractCRUDCacheServiceImpl<DeptDao, DeptE ...@@ -262,11 +239,56 @@ public class DeptServiceImpl extends AbstractCRUDCacheServiceImpl<DeptDao, DeptE
*/ */
@Override @Override
protected void updateAfter(DeptEntity entity, Context context) throws AppException { protected void updateAfter(DeptEntity entity, Context context) throws AppException {
List<WindowEntity> windowEntityList = windowService.find(new WindowQuery().deptId(entity.getId()));
windowEntityList.forEach(item -> { //异步更新
Runnable runnable = new Runnable() {
/**
*
*/
@Override
public void run() {
List<WindowEntity> windowEntityList = windowService.find(new WindowQuery().deptId(entity.getId())).stream().map(item -> {
item.setDeptName(entity.getName()); item.setDeptName(entity.getName());
}); return item;
}).collect(Collectors.toList());
if (!ObjectUtils.isEmpty(windowEntityList)) {
windowService.update(windowEntityList, context); windowService.update(windowEntityList, context);
}
List<WorkmanEntity> workmanEntityList = workmanService.find(new WorkmanQuery().deptId(entity.getId())).stream().map(item -> {
item.setDeptName(entity.getName());
return item;
}).collect(Collectors.toList());
if (!ObjectUtils.isEmpty(workmanEntityList)) {
workmanService.update(workmanEntityList, context);
}
List<WindowMatterEntity> windowMatterEntityList = windowMatterService.find(new WindowMatterQuery().deptId(entity.getId())).stream().map(item -> {
item.setDeptName(entity.getName());
return item;
}).collect(Collectors.toList());
if (!ObjectUtils.isEmpty(windowMatterEntityList)) {
windowMatterService.update(windowMatterEntityList, context);
}
List<SiteMatterEntity> siteMatterEntityList = siteMatterService.find(new SiteMatterQuery().deptId(entity.getId())).stream().map(item -> {
item.setDeptName(entity.getName());
return item;
}).collect(Collectors.toList());
if (!ObjectUtils.isEmpty(siteMatterEntityList)) {
siteMatterService.update(siteMatterEntityList, context);
}
}
};
ThreadPool.getInstance().execute(runnable);
super.updateAfter(entity, context); super.updateAfter(entity, context);
} }
} }
\ No newline at end of file
package com.mortals.xhx.module.matter.service.impl; package com.mortals.xhx.module.matter.service.impl;
import cn.hutool.core.collection.ListUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.mortals.framework.ap.GlobalSysInfo; import com.mortals.framework.ap.GlobalSysInfo;
import com.mortals.framework.common.Rest; import com.mortals.framework.common.Rest;
import com.mortals.framework.model.Context;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.util.ThreadPool; import com.mortals.framework.util.ThreadPool;
import com.mortals.xhx.common.code.DxTypeEnum; import com.mortals.xhx.common.code.DxTypeEnum;
import com.mortals.xhx.common.code.SourceEnum; import com.mortals.xhx.common.code.SourceEnum;
...@@ -16,23 +17,20 @@ import com.mortals.xhx.module.area.service.AreaService; ...@@ -16,23 +17,20 @@ import com.mortals.xhx.module.area.service.AreaService;
import com.mortals.xhx.module.dept.model.DeptEntity; import com.mortals.xhx.module.dept.model.DeptEntity;
import com.mortals.xhx.module.dept.model.DeptQuery; import com.mortals.xhx.module.dept.model.DeptQuery;
import com.mortals.xhx.module.dept.service.DeptService; import com.mortals.xhx.module.dept.service.DeptService;
import com.mortals.xhx.module.matter.dao.MatterExtDao;
import com.mortals.xhx.module.matter.model.MatterEntity; import com.mortals.xhx.module.matter.model.MatterEntity;
import com.mortals.xhx.module.matter.model.MatterExtEntity;
import com.mortals.xhx.module.matter.model.MatterQuery; import com.mortals.xhx.module.matter.model.MatterQuery;
import com.mortals.xhx.module.matter.service.MatterExtService;
import com.mortals.xhx.module.matter.service.MatterService; import com.mortals.xhx.module.matter.service.MatterService;
import com.mortals.xhx.module.site.model.*; import com.mortals.xhx.module.site.model.*;
import com.mortals.xhx.module.site.service.SiteMatterService; import com.mortals.xhx.module.site.service.SiteMatterService;
import com.mortals.xhx.module.site.service.SiteService;
import com.mortals.xhx.module.site.service.SiteThemeMatterService; import com.mortals.xhx.module.site.service.SiteThemeMatterService;
import com.mortals.xhx.module.site.service.SiteThemeService; import com.mortals.xhx.module.site.service.SiteThemeService;
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.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.xhx.module.matter.dao.MatterExtDao;
import com.mortals.xhx.module.matter.model.MatterExtEntity;
import com.mortals.xhx.module.matter.service.MatterExtService;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import java.util.*; import java.util.*;
...@@ -61,6 +59,8 @@ public class MatterExtServiceImpl extends AbstractCRUDServiceImpl<MatterExtDao, ...@@ -61,6 +59,8 @@ public class MatterExtServiceImpl extends AbstractCRUDServiceImpl<MatterExtDao,
private SiteThemeService siteThemeService; private SiteThemeService siteThemeService;
@Autowired @Autowired
private SiteMatterService siteMatterService; private SiteMatterService siteMatterService;
@Value("${sync.matter.deleted:false}")
private Boolean deleted;
/** /**
...@@ -119,7 +119,7 @@ public class MatterExtServiceImpl extends AbstractCRUDServiceImpl<MatterExtDao, ...@@ -119,7 +119,7 @@ public class MatterExtServiceImpl extends AbstractCRUDServiceImpl<MatterExtDao,
private List<MatterEntity> getMatterEntities(SiteEntity siteEntity, Context context) { private List<MatterEntity> getMatterEntities(SiteEntity siteEntity, Context context) {
AreaEntity areaEntity = areaService.getCache(siteEntity.getAreaCode()); AreaEntity areaEntity = areaService.getCache(siteEntity.getAreaCode());
List<DeptEntity> deptEntities = deptService.find(new DeptQuery().siteId(siteEntity.getId()).source(SourceEnum.政务网.getValue())); List<DeptEntity> deptEntities = deptService.find(new DeptQuery().siteId(siteEntity.getId()).source(SourceEnum.政务网.getValue()));
List<MatterEntity> govMatterList = deptEntities.parallelStream().flatMap(deptEntity -> { List<MatterEntity> govMatterList = deptEntities.stream().flatMap(deptEntity -> {
HashMap<String, String> params = new HashMap<>(); HashMap<String, String> params = new HashMap<>();
params.put("areaCode", areaEntity.getAreaCode()); params.put("areaCode", areaEntity.getAreaCode());
params.put("dxType", "6"); params.put("dxType", "6");
...@@ -233,8 +233,9 @@ public class MatterExtServiceImpl extends AbstractCRUDServiceImpl<MatterExtDao, ...@@ -233,8 +233,9 @@ public class MatterExtServiceImpl extends AbstractCRUDServiceImpl<MatterExtDao,
*/ */
@Override @Override
public Rest<String> syncDelMatterBySiteId(SiteEntity siteEntity, Context context) { public Rest<String> syncDelMatterBySiteId(SiteEntity siteEntity, Context context) {
//
List<MatterEntity> govMatterList = getMatterEntities(siteEntity, context); List<MatterEntity> govMatterList = getMatterEntities(siteEntity, context);
if (ObjectUtils.isEmpty(govMatterList)) return Rest.ok("爬取事项列表为空!");
if (!deleted) return Rest.ok("配置不允许删除!");
log.info("计算差集"); log.info("计算差集");
MatterQuery matterQuery = new MatterQuery(); MatterQuery matterQuery = new MatterQuery();
...@@ -247,7 +248,7 @@ public class MatterExtServiceImpl extends AbstractCRUDServiceImpl<MatterExtDao, ...@@ -247,7 +248,7 @@ public class MatterExtServiceImpl extends AbstractCRUDServiceImpl<MatterExtDao,
Set<String> matterExistSet = govMatterList.parallelStream().map(i -> i.getMatterNo()).collect(Collectors.toSet()); Set<String> matterExistSet = govMatterList.parallelStream().map(i -> i.getMatterNo()).collect(Collectors.toSet());
List<MatterEntity> delList = this.subListSet(matterList, matterExistSet); List<MatterEntity> delList = this.subListSet(matterList, matterExistSet);
log.info("抓取事项总数:{} ,需要删除事项数量:{}", govMatterList.size(), delList.size()); log.info("抓取事项总数:{} ,需要删除事项数量:{}", govMatterList.size(), delList.size());
//删除matter 和siteMatter //删除matter 和siteMatter 开启了自动删除才启用
if (!ObjectUtils.isEmpty(delList)) { if (!ObjectUtils.isEmpty(delList)) {
Long[] delMatterIds = delList.parallelStream().map(i -> i.getId()).toArray(Long[]::new); Long[] delMatterIds = delList.parallelStream().map(i -> i.getId()).toArray(Long[]::new);
matterService.remove(delMatterIds, context); matterService.remove(delMatterIds, context);
...@@ -260,21 +261,16 @@ public class MatterExtServiceImpl extends AbstractCRUDServiceImpl<MatterExtDao, ...@@ -260,21 +261,16 @@ public class MatterExtServiceImpl extends AbstractCRUDServiceImpl<MatterExtDao,
} }
SiteThemeMatterQuery siteThemeMatterQuery = new SiteThemeMatterQuery(); SiteThemeMatterQuery siteThemeMatterQuery = new SiteThemeMatterQuery();
siteThemeMatterQuery.setMatterIdList(Arrays.asList(delMatterIds)); siteThemeMatterQuery.setMatterIdList(Arrays.asList(delMatterIds));
List<SiteThemeMatterEntity> delSiteThemeMatterList = siteThemeMatterService.find(siteThemeMatterQuery); List<SiteThemeMatterEntity> delSiteThemeMatterList = siteThemeMatterService.find(siteThemeMatterQuery);
if (!ObjectUtils.isEmpty(delSiteThemeMatterList)) { if (!ObjectUtils.isEmpty(delSiteThemeMatterList)) {
log.info("删除站点主题事项数量:{}", delSiteThemeMatterList.size()); log.info("删除站点主题事项数量:{}", delSiteThemeMatterList.size());
siteThemeMatterService.removeList(delSiteThemeMatterList, context); siteThemeMatterService.removeList(delSiteThemeMatterList, context);
} }
} }
return Rest.ok("同步删除成功!"); return Rest.ok("同步删除成功!");
} }
/** /**
* @param Code
* @param context * @param context
* @return * @return
*/ */
...@@ -284,7 +280,7 @@ public class MatterExtServiceImpl extends AbstractCRUDServiceImpl<MatterExtDao, ...@@ -284,7 +280,7 @@ public class MatterExtServiceImpl extends AbstractCRUDServiceImpl<MatterExtDao,
List<DeptEntity> deptEntities = deptService.getDeptByWeb(areaCode, context).getData(); List<DeptEntity> deptEntities = deptService.getDeptByWeb(areaCode, context).getData();
List<MatterEntity> govMatterList = deptEntities.parallelStream().flatMap(deptEntity -> { List<MatterEntity> govMatterList = deptEntities.parallelStream().flatMap(deptEntity -> {
HashMap<String, String> params = new HashMap<>(); HashMap<String, String> params = new HashMap<>();
params.put("areaCode",areaCode); params.put("areaCode", areaCode);
params.put("dxType", "6"); params.put("dxType", "6");
params.put("deptCode", deptEntity.getDeptNumber()); params.put("deptCode", deptEntity.getDeptNumber());
params.put("searchtext", ""); params.put("searchtext", "");
......
...@@ -15,6 +15,7 @@ import com.mortals.framework.model.Result; ...@@ -15,6 +15,7 @@ import com.mortals.framework.model.Result;
import com.mortals.framework.service.impl.AbstractCRUDCacheServiceImpl; import com.mortals.framework.service.impl.AbstractCRUDCacheServiceImpl;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl; import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.util.DataUtil; import com.mortals.framework.util.DataUtil;
import com.mortals.framework.util.ThreadPool;
import com.mortals.xhx.base.framework.config.InterceptorConfig; import com.mortals.xhx.base.framework.config.InterceptorConfig;
import com.mortals.xhx.common.code.FiletypeEnum; import com.mortals.xhx.common.code.FiletypeEnum;
import com.mortals.xhx.common.code.SourceEnum; import com.mortals.xhx.common.code.SourceEnum;
...@@ -24,6 +25,9 @@ import com.mortals.xhx.common.utils.MatterDetailHtmlParseUtil; ...@@ -24,6 +25,9 @@ import com.mortals.xhx.common.utils.MatterDetailHtmlParseUtil;
import com.mortals.xhx.module.base.model.BaseAreaEntity; import com.mortals.xhx.module.base.model.BaseAreaEntity;
import com.mortals.xhx.module.base.model.BaseAreaQuery; import com.mortals.xhx.module.base.model.BaseAreaQuery;
import com.mortals.xhx.module.base.service.BaseAreaService; import com.mortals.xhx.module.base.service.BaseAreaService;
import com.mortals.xhx.module.business.model.BusinessMatterEntity;
import com.mortals.xhx.module.business.model.BusinessMatterQuery;
import com.mortals.xhx.module.business.service.BusinessMatterService;
import com.mortals.xhx.module.dept.model.DeptEntity; import com.mortals.xhx.module.dept.model.DeptEntity;
import com.mortals.xhx.module.dept.service.DeptService; import com.mortals.xhx.module.dept.service.DeptService;
import com.mortals.xhx.module.matter.dao.MatterDao; import com.mortals.xhx.module.matter.dao.MatterDao;
...@@ -41,6 +45,7 @@ import com.mortals.xhx.module.site.service.SiteMatterService; ...@@ -41,6 +45,7 @@ import com.mortals.xhx.module.site.service.SiteMatterService;
import com.mortals.xhx.module.site.service.SiteService; import com.mortals.xhx.module.site.service.SiteService;
import com.mortals.xhx.module.site.service.SiteThemeMatterService; import com.mortals.xhx.module.site.service.SiteThemeMatterService;
import com.mortals.xhx.module.site.service.SiteThemeService; import com.mortals.xhx.module.site.service.SiteThemeService;
import com.mortals.xhx.module.window.model.WindowMatterEntity;
import com.mortals.xhx.module.window.model.WindowMatterQuery; import com.mortals.xhx.module.window.model.WindowMatterQuery;
import com.mortals.xhx.module.window.service.WindowMatterService; import com.mortals.xhx.module.window.service.WindowMatterService;
import io.netty.handler.timeout.ReadTimeoutException; import io.netty.handler.timeout.ReadTimeoutException;
...@@ -112,6 +117,8 @@ public class MatterServiceImpl extends AbstractCRUDServiceImpl<MatterDao, Matter ...@@ -112,6 +117,8 @@ public class MatterServiceImpl extends AbstractCRUDServiceImpl<MatterDao, Matter
private WindowMatterService windowMatterService; private WindowMatterService windowMatterService;
@Autowired @Autowired
private BaseAreaService baseAreaService; private BaseAreaService baseAreaService;
@Autowired
private BusinessMatterService businessMatterService;
@Override @Override
...@@ -198,13 +205,49 @@ public class MatterServiceImpl extends AbstractCRUDServiceImpl<MatterDao, Matter ...@@ -198,13 +205,49 @@ public class MatterServiceImpl extends AbstractCRUDServiceImpl<MatterDao, Matter
@Override @Override
protected void updateAfter(MatterEntity entity, Context context) throws AppException { protected void updateAfter(MatterEntity entity, Context context) throws AppException {
Runnable runnable = new Runnable() {
/**
*
*/
@Override
public void run() {
//同步更新所有站点 //同步更新所有站点
List<SiteMatterEntity> collect = siteMatterService.find(new SiteMatterQuery().matterId(entity.getId())).stream() List<SiteMatterEntity> siteMatterEntityList = siteMatterService.find(new SiteMatterQuery().matterId(entity.getId())).stream()
.map(item -> { .map(item -> {
item.setMatterName(entity.getMatterName()); item.setMatterName(entity.getMatterName());
return item; return item;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
siteMatterService.update(collect, context); if (!ObjectUtils.isEmpty(siteMatterEntityList)) {
siteMatterService.update(siteMatterEntityList, context);
}
List<BusinessMatterEntity> businessMatterEntityList = businessMatterService.find(new BusinessMatterQuery().matterId(entity.getId())).stream().map(item -> {
item.setMatterName(entity.getMatterName());
return item;
}).collect(Collectors.toList());
if (!ObjectUtils.isEmpty(businessMatterEntityList)) {
businessMatterService.update(businessMatterEntityList, context);
}
for (SiteMatterEntity siteMatterEntity : siteMatterEntityList) {
List<WindowMatterEntity> windowMatterEntities = windowMatterService.find(new WindowMatterQuery()
.siteMatterId(siteMatterEntity.getId())).stream().map(item -> {
item.setMatterName(entity.getMatterName());
return item;
}).collect(Collectors.toList());
if (!ObjectUtils.isEmpty(windowMatterEntities)) {
windowMatterService.update(windowMatterEntities, context);
}
}
}
};
ThreadPool.getInstance().execute(runnable);
super.updateAfter(entity, context); super.updateAfter(entity, context);
} }
...@@ -1041,15 +1084,11 @@ public class MatterServiceImpl extends AbstractCRUDServiceImpl<MatterDao, Matter ...@@ -1041,15 +1084,11 @@ public class MatterServiceImpl extends AbstractCRUDServiceImpl<MatterDao, Matter
//根据事项url 获取事项详细信息,构建相关详细信息 //根据事项url 获取事项详细信息,构建相关详细信息
// String html = null; // String html = null;
//Boolean bool = false; //Boolean bool = false;
String msg = "";
int reCount = 0; int reCount = 0;
while (reCount < MAX_RETRY_COUNT) { while (reCount < MAX_RETRY_COUNT) {
try { try {
if (ObjectUtils.isEmpty(matterEntity.getUrl())) { if (ObjectUtils.isEmpty(matterEntity.getUrl())) {
// bool = true; return Rest.fail("事项url不能为空!");
msg = "事项url不能为空!";
break;
//return Rest.fail("事项url不能为空!");
} }
Document dom = Jsoup.connect(matterEntity.getUrl()) Document dom = Jsoup.connect(matterEntity.getUrl())
.ignoreContentType(true) .ignoreContentType(true)
...@@ -1063,10 +1102,6 @@ public class MatterServiceImpl extends AbstractCRUDServiceImpl<MatterDao, Matter ...@@ -1063,10 +1102,6 @@ public class MatterServiceImpl extends AbstractCRUDServiceImpl<MatterDao, Matter
Setting baseInfoSetting = interceptorConfig.getBaseInfoSetting(); Setting baseInfoSetting = interceptorConfig.getBaseInfoSetting();
Setting sqclInfoSetting = interceptorConfig.getSqclInfoSetting(); Setting sqclInfoSetting = interceptorConfig.getSqclInfoSetting();
/* if(!ObjectUtils.isEmpty(matterEntity.getDeptCode())&&ObjectUtils.isEmpty(matterEntity.getDeptName())){
DeptEntity extCache = deptService.getExtCache(matterEntity.getDeptCode());
matterEntity.setDeptName(extCache==null?"":extCache.getName());
}*/
//根据本地与远端事项版本觉得是否更新或者新增 //根据本地与远端事项版本觉得是否更新或者新增
Integer matterEditionLocal = DataUtil.converStr2Int(matterEntity.getMatterEdition(), 0); Integer matterEditionLocal = DataUtil.converStr2Int(matterEntity.getMatterEdition(), 0);
...@@ -1074,41 +1109,29 @@ public class MatterServiceImpl extends AbstractCRUDServiceImpl<MatterDao, Matter ...@@ -1074,41 +1109,29 @@ public class MatterServiceImpl extends AbstractCRUDServiceImpl<MatterDao, Matter
Integer matterEditionRemote = DataUtil.converStr2Int(baseInfoMap.getOrDefault("事项版本", "0"), 0); Integer matterEditionRemote = DataUtil.converStr2Int(baseInfoMap.getOrDefault("事项版本", "0"), 0);
if (matterEditionLocal >= matterEditionRemote) { if (matterEditionLocal >= matterEditionRemote) {
//bool = true; return Rest.fail("本地事项版本大于等于远端,不需要更新!");
msg = "本地事项版本大于等于远端,不需要更新!!";
// break;
// return Rest.fail("本地事项版本大于等于远端,不需要更新!");
} }
// log.info("更新详细事项==>{},id===>{},localVersion===>{},newVersion==>{}", matterEntity.getMatterName(),matterEntity.getId(),matterEntity.getMatterEdition(), matterEditionRemote); // log.info("更新详细事项==>{},id===>{},localVersion===>{},newVersion==>{}", matterEntity.getMatterName(),matterEntity.getId(),matterEntity.getMatterEdition(), matterEditionRemote);
//更新部门信息 //更新部门信息
DeptEntity extCache = deptService.getExtCache(matterEntity.getDeptCode()); DeptEntity extCache = deptService.getExtCache(matterEntity.getDeptCode());
matterEntity.setDeptName(extCache == null ? "" : extCache.getName()); matterEntity.setDeptName(extCache == null ? "" : extCache.getName());
//构建基础信息参数 //构建基础信息参数
savebaseInfo(matterEntity, baseInfoMap, baseInfoSetting); savebaseInfo(matterEntity, baseInfoMap, baseInfoSetting);
//更新材料属性 //更新材料属性
saveDatumInfo(matterEntity, context, dom, sqclInfoSetting); saveDatumInfo(matterEntity, context, dom, sqclInfoSetting);
//更新受理条件 //更新受理条件
saveSltjInfo(matterEntity, context, dom); saveSltjInfo(matterEntity, context, dom);
//更新办理流程 //更新办理流程
saveBllcInfo(matterEntity, context, dom); saveBllcInfo(matterEntity, context, dom);
//更新收费标准 //更新收费标准
saveSfbzInfo(matterEntity, context, dom); saveSfbzInfo(matterEntity, context, dom);
//设定依据 //设定依据
saveSdyjInfo(matterEntity, context, dom); saveSdyjInfo(matterEntity, context, dom);
//中介服务 //中介服务
saveZjfwInfo(matterEntity, context, dom); saveZjfwInfo(matterEntity, context, dom);
//常见问题 //常见问题
saveCjwtInfo(matterEntity, context, dom); saveCjwtInfo(matterEntity, context, dom);
//更新事项更新标志 //更新事项更新标志
matterEntity.setHaveGetMatterInfo("true"); matterEntity.setHaveGetMatterInfo("true");
...@@ -1139,19 +1162,10 @@ public class MatterServiceImpl extends AbstractCRUDServiceImpl<MatterDao, Matter ...@@ -1139,19 +1162,10 @@ public class MatterServiceImpl extends AbstractCRUDServiceImpl<MatterDao, Matter
} }
} catch (Exception e) { } catch (Exception e) {
log.error(String.format("获取详细异常! id:%s,matterCode:%s,url:%s", matterEntity.getId(), matterEntity.getMatterNo(), matterEntity.getUrl()), e); log.error(String.format("获取详细异常! id:%s,matterCode:%s,url:%s", matterEntity.getId(), matterEntity.getMatterNo(), matterEntity.getUrl()), e);
//bool = true; return Rest.fail("更新事项失败!" + e.getMessage());
msg = e.getMessage();
break;
// return Rest.fail("更新事项失败!" + e.getMessage());
} }
} }
return Rest.fail("更新事项失败!");
return Rest.fail(msg);
/* if (bool) {
return Rest.fail(msg);
} else {
return Rest.ok("更新详细成功!");
}*/
} }
...@@ -1264,30 +1278,7 @@ public class MatterServiceImpl extends AbstractCRUDServiceImpl<MatterDao, Matter ...@@ -1264,30 +1278,7 @@ public class MatterServiceImpl extends AbstractCRUDServiceImpl<MatterDao, Matter
} }
} }
} }
/*else {
//未配置的属性映射添加到扩展表中
//属性保存到扩展表中
MatterExtEntity matterExtEntity = new MatterExtEntity();
matterExtEntity.initAttrValue();
matterExtEntity.setMatterId(matterEntity.getId());
matterExtEntity.setMatterCode(matterEntity.getMatterNo());
matterExtEntity.setFieldName(m.getKey());
matterExtEntity.setFieldValue(m.getValue());
matterExtEntity.setFieldOrderNo(sortN);
matterExtEntity.setSource(SourceEnum.政务网.getValue());
matterExtEntity.setCreateTime(new Date());
matterExtEntity.setCreateUserId(1L);
matterExtEntities.add(matterExtEntity);
sortN++;
}*/
} }
/* if (!ObjectUtils.isEmpty(matterExtEntities)) {
//先删除后添加
matterExtService.deleteByMatterId(matterEntity.getId(), null);
matterExtService.save(matterExtEntities, null);
}*/
} }
private void saveBllcInfo(MatterEntity matterEntity, Context context, Document dom) { private void saveBllcInfo(MatterEntity matterEntity, Context context, Document dom) {
......
...@@ -532,7 +532,12 @@ public class SiteServiceImpl extends AbstractCRUDCacheServiceImpl<SiteDao, SiteE ...@@ -532,7 +532,12 @@ public class SiteServiceImpl extends AbstractCRUDCacheServiceImpl<SiteDao, SiteE
} }
siteAreaVo.setAreaCode(areaEntity.getAreaCode()); siteAreaVo.setAreaCode(areaEntity.getAreaCode());
siteAreaVo.setAreaName(AreaLevelEnum.getByValue(areaEntity.getAreaLevel()).getValue() == AreaLevelEnum.地市州.getValue() ? "市本级" : areaEntity.getName()); siteAreaVo.setAreaName(AreaLevelEnum.getByValue(areaEntity.getAreaLevel()).getValue() == AreaLevelEnum.地市州.getValue() ? "市本级" : areaEntity.getName());
List<SiteEntity> siteEntityList = this.find(new SiteQuery().areaCode(areaEntity.getAreaCode())); SiteQuery siteQuery = new SiteQuery();
siteQuery.setAreaCode(areaEntity.getAreaCode());
if (!ObjectUtils.isEmpty(query.getSiteName())) {
siteQuery.setSiteName(query.getSiteName());
}
List<SiteEntity> siteEntityList = this.find(siteQuery);
siteAreaVo.setSiteList(siteEntityList); siteAreaVo.setSiteList(siteEntityList);
list.add(siteAreaVo); list.add(siteAreaVo);
//两层结构{xxx:[{sitename:xxx},{}...],bbb:[{sitename:xxx},{}...]} //两层结构{xxx:[{sitename:xxx},{}...],bbb:[{sitename:xxx},{}...]}
...@@ -547,7 +552,7 @@ public class SiteServiceImpl extends AbstractCRUDCacheServiceImpl<SiteDao, SiteE ...@@ -547,7 +552,7 @@ public class SiteServiceImpl extends AbstractCRUDCacheServiceImpl<SiteDao, SiteE
//不足位数,补零 5115 020 120 01 市 区 街道 社区 //不足位数,补零 5115 020 120 01 市 区 街道 社区
matchCode = AreaMatchCodeUtil.getMatchCode(matchCode, child.getAreaLevel()); matchCode = AreaMatchCodeUtil.getMatchCode(matchCode, child.getAreaLevel());
SiteQuery siteQuery = new SiteQuery(); siteQuery = new SiteQuery();
siteQuery.setAreaCode(matchCode + "%"); siteQuery.setAreaCode(matchCode + "%");
if (!ObjectUtils.isEmpty(query.getSiteName())) { if (!ObjectUtils.isEmpty(query.getSiteName())) {
siteQuery.setSiteName(query.getSiteName()); siteQuery.setSiteName(query.getSiteName());
...@@ -560,8 +565,10 @@ public class SiteServiceImpl extends AbstractCRUDCacheServiceImpl<SiteDao, SiteE ...@@ -560,8 +565,10 @@ public class SiteServiceImpl extends AbstractCRUDCacheServiceImpl<SiteDao, SiteE
//没有站点 //没有站点
siteAreaVo.setSiteList(Collections.EMPTY_LIST); siteAreaVo.setSiteList(Collections.EMPTY_LIST);
} }
if(!ObjectUtils.isEmpty(siteAreaVo.getSiteList())){
list.add(siteAreaVo); list.add(siteAreaVo);
} }
}
return Rest.ok(list); return Rest.ok(list);
} }
......
...@@ -41,7 +41,7 @@ client.global.set("SiteBusiness_id", JSON.parse(response.body).data.id); ...@@ -41,7 +41,7 @@ client.global.set("SiteBusiness_id", JSON.parse(response.body).data.id);
%} %}
###站点业务查看 ###站点业务查看
GET {{baseUrl}}/site/business/info?id={{SiteBusiness_id}} GET {{baseUrl}}/site/business/interinfo?id=24
Accept: application/json Accept: application/json
###站点业务编辑 ###站点业务编辑
......
...@@ -106,8 +106,17 @@ POST {{baseUrl}}/site/getAreaSitesBySite ...@@ -106,8 +106,17 @@ POST {{baseUrl}}/site/getAreaSitesBySite
Content-Type: application/json Content-Type: application/json
{ {
"areaName":"宜宾市" "areaName":"盐源县"
} }
###站点列表
POST {{baseUrl}}/site/getAreaSitesBySite
Content-Type: application/json
{
"areaName":"盐源县"
}
###同步事项数据 ###同步事项数据
......
...@@ -5,6 +5,12 @@ Content-Type: application/json ...@@ -5,6 +5,12 @@ Content-Type: application/json
{"windowIdList":["77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99"],"size":-1} {"windowIdList":["77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99"],"size":-1}
###窗口业务列表
POST {{baseUrl}}/window/business/interlist
Content-Type: application/json
{"windowIdList":["16"],"size":-1}
###窗口业务列表缓存 ###窗口业务列表缓存
......
...@@ -26,4 +26,9 @@ public class SystemServiceApiServiceImpl extends AbstractCRUDServiceImpl<SystemS ...@@ -26,4 +26,9 @@ public class SystemServiceApiServiceImpl extends AbstractCRUDServiceImpl<SystemS
pageInfo.setPrePageResult(-1); pageInfo.setPrePageResult(-1);
return entity; return entity;
} }
public static void main(String[] args) {
System.out.println(" 宜宾市政务服务和非公经济发展局".equals("宜宾市政务服务和非公经济发展局"));
}
} }
\ No newline at end of file
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