| | |
| | | |
| | | @Override |
| | | public FwAreaDivideVO selectFwAreaDivideDetail(Long id) { |
| | | return baseMapper.selectFwAreaDivideDetail(id); |
| | | FwAreaDivideVO detail = baseMapper.selectFwAreaDivideDetail(id); |
| | | if (detail == null || detail.getId() == null) { |
| | | return detail; |
| | | } |
| | | List<FwAreaDivideExtVO> extList = fwAreaDivideExtService.getByAreaDivideId(detail.getId()); |
| | | detail.setFwAreaDivideExtList(extList); |
| | | return detail; |
| | | } |
| | | |
| | | @Override |
| | |
| | | // 主表与扩展面数据保持同一事务,扩展面列表为空时仅保存主表 |
| | | if (fwAreaDivide == null) { |
| | | return false; |
| | | } |
| | | if (fwAreaDivideExtList != null && !fwAreaDivideExtList.isEmpty()) { |
| | | String areaTypeKeys = buildAreaTypeKeys(fwAreaDivideExtList); |
| | | if (StringUtil.isNotBlank(areaTypeKeys)) { |
| | | fwAreaDivide.setAreaTypeKeys(areaTypeKeys); |
| | | } |
| | | } |
| | | boolean isCreate = fwAreaDivide.getId() == null; |
| | | boolean mainResult = saveOrUpdate(fwAreaDivide); |
| | |
| | | } |
| | | } |
| | | |
| | | private String buildAreaTypeKeys(List<FwAreaDivideExtEntity> fwAreaDivideExtList) { |
| | | if (fwAreaDivideExtList == null || fwAreaDivideExtList.isEmpty()) { |
| | | return null; |
| | | } |
| | | Set<String> keySet = new LinkedHashSet<>(); |
| | | for (FwAreaDivideExtEntity ext : fwAreaDivideExtList) { |
| | | if (ext == null) { |
| | | continue; |
| | | } |
| | | String key = ext.getAreaTypeKey(); |
| | | if (StringUtil.isNotBlank(key)) { |
| | | keySet.add(key); |
| | | } |
| | | } |
| | | if (keySet.isEmpty()) { |
| | | return null; |
| | | } |
| | | return String.join(",", keySet); |
| | | } |
| | | |
| | | private List<Long> parseIdList(String ids) { |
| | | if (StringUtil.isBlank(ids)) { |
| | | return new ArrayList<>(); |