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

更新事项,异步更新关联

parent 037d814a
......@@ -15,6 +15,7 @@ import com.mortals.framework.model.Result;
import com.mortals.framework.service.impl.AbstractCRUDCacheServiceImpl;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.util.DataUtil;
import com.mortals.framework.util.ThreadPool;
import com.mortals.xhx.base.framework.config.InterceptorConfig;
import com.mortals.xhx.common.code.FiletypeEnum;
import com.mortals.xhx.common.code.SourceEnum;
......@@ -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.BaseAreaQuery;
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.service.DeptService;
import com.mortals.xhx.module.matter.dao.MatterDao;
......@@ -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.SiteThemeMatterService;
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.service.WindowMatterService;
import io.netty.handler.timeout.ReadTimeoutException;
......@@ -112,6 +117,8 @@ public class MatterServiceImpl extends AbstractCRUDServiceImpl<MatterDao, Matter
private WindowMatterService windowMatterService;
@Autowired
private BaseAreaService baseAreaService;
@Autowired
private BusinessMatterService businessMatterService;
@Override
......@@ -198,13 +205,49 @@ public class MatterServiceImpl extends AbstractCRUDServiceImpl<MatterDao, Matter
@Override
protected void updateAfter(MatterEntity entity, Context context) throws AppException {
//同步更新所有站点
List<SiteMatterEntity> collect = siteMatterService.find(new SiteMatterQuery().matterId(entity.getId())).stream()
.map(item -> {
Runnable runnable = new Runnable() {
/**
*
*/
@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());
return item;
}).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);
}
......@@ -1119,7 +1162,7 @@ public class MatterServiceImpl extends AbstractCRUDServiceImpl<MatterDao, Matter
}
} catch (Exception 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("更新事项失败!");
......@@ -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) {
......
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