Commit 9a8170dd authored by 赵啸非's avatar 赵啸非

更新事项,异步更新关联

parent 037d814a
...@@ -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 {
//同步更新所有站点
List<SiteMatterEntity> collect = siteMatterService.find(new SiteMatterQuery().matterId(entity.getId())).stream() Runnable runnable = new Runnable() {
.map(item -> { /**
*
*/
@Override
public void run() {
//同步更新所有站点
List<SiteMatterEntity> siteMatterEntityList = siteMatterService.find(new SiteMatterQuery().matterId(entity.getId())).stream()
.map(item -> {
item.setMatterName(entity.getMatterName());
return item;
}).collect(Collectors.toList());
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()); item.setMatterName(entity.getMatterName());
return item; return item;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
siteMatterService.update(collect, context); 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);
} }
...@@ -1119,7 +1162,7 @@ public class MatterServiceImpl extends AbstractCRUDServiceImpl<MatterDao, Matter ...@@ -1119,7 +1162,7 @@ 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);
return Rest.fail("更新事项失败!" + e.getMessage()); return Rest.fail("更新事项失败!" + e.getMessage());
} }
} }
return Rest.fail("更新事项失败!"); return Rest.fail("更新事项失败!");
...@@ -1235,30 +1278,7 @@ public class MatterServiceImpl extends AbstractCRUDServiceImpl<MatterDao, Matter ...@@ -1235,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) {
......
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