提交 04f10eb5 编写于 作者: ibizdev's avatar ibizdev

ibizdev提交

上级 a60d5573
...@@ -83,6 +83,14 @@ public class IBZDict extends EntityBase implements Serializable { ...@@ -83,6 +83,14 @@ public class IBZDict extends EntityBase implements Serializable {
/**
* 字典项目
*/
@JsonIgnore
@JSONField(serialize = false)
@TableField(exist = false)
private List<cn.ibizlab.core.dict.domain.IBZDictItem> items;
/** /**
* 设置 [字典名称] * 设置 [字典名称]
......
...@@ -41,6 +41,8 @@ import org.springframework.util.ObjectUtils; ...@@ -41,6 +41,8 @@ import org.springframework.util.ObjectUtils;
@Service @Service
public class IBZDictServiceImpl extends ServiceImpl<IBZDictMapper, IBZDict> implements IIBZDictService { public class IBZDictServiceImpl extends ServiceImpl<IBZDictMapper, IBZDict> implements IIBZDictService {
@Autowired
private cn.ibizlab.core.dict.service.IIBZDictItemService ibzdictitemService;
@Override @Override
@Transactional @Transactional
...@@ -85,6 +87,9 @@ public class IBZDictServiceImpl extends ServiceImpl<IBZDictMapper, IBZDict> impl ...@@ -85,6 +87,9 @@ public class IBZDictServiceImpl extends ServiceImpl<IBZDictMapper, IBZDict> impl
public boolean update(IBZDict et) { public boolean update(IBZDict et) {
boolean bOk = false ; boolean bOk = false ;
bOk = update(et, (Wrapper)et.getUpdateWrapper(true).eq("ibzdictid",et.getDictId())); bOk = update(et, (Wrapper)et.getUpdateWrapper(true).eq("ibzdictid",et.getDictId()));
//嵌套[字典项目]
this._updateItems(ibzdict,get(ibzdict.getDictId()));
return bOk ; return bOk ;
} }
@Override @Override
...@@ -92,6 +97,10 @@ public class IBZDictServiceImpl extends ServiceImpl<IBZDictMapper, IBZDict> impl ...@@ -92,6 +97,10 @@ public class IBZDictServiceImpl extends ServiceImpl<IBZDictMapper, IBZDict> impl
public boolean remove(String dictid) { public boolean remove(String dictid) {
boolean bOk = false ; boolean bOk = false ;
IBZDict _iBZDict = this.get(dictid); IBZDict _iBZDict = this.get(dictid);
//嵌套[字典项目]
for (cn.ibizlab.core.dict.domain.IBZDictItem _iBZDictItem : _iBZDict.getItems()) {
iBZDictItemService.remove(_iBZDictItem.getItemId()) ;
}
bOk = removeById(dictid); bOk = removeById(dictid);
return bOk ; return bOk ;
} }
...@@ -107,6 +116,40 @@ public class IBZDictServiceImpl extends ServiceImpl<IBZDictMapper, IBZDict> impl ...@@ -107,6 +116,40 @@ public class IBZDictServiceImpl extends ServiceImpl<IBZDictMapper, IBZDict> impl
} }
//更新嵌套[字典项目]
private void _updateItems(IBZDict newIBZDict , IBZDict oldIBZDict){
Map<String,cn.ibizlab.core.dict.domain.IBZDictItem> oldMapItems = new HashMap<String,cn.ibizlab.core.dict.domain.IBZDictItem>() ;
List<cn.ibizlab.core.dict.domain.IBZDictItem> oldItems = oldIBZDict.getItems();
if(ObjectUtils.isEmpty(oldItems) || oldItems.size()==0){
return ;
}
for(cn.ibizlab.core.dict.domain.IBZDictItem iBZDictItem : oldItems){
oldMapItems.put(iBZDictItem.getItemId(),iBZDictItem);
}
Map<String,cn.ibizlab.core.dict.domain.IBZDictItem> newMapItems = new HashMap<String,cn.ibizlab.core.dict.domain.IBZDictItem>() ;
List<cn.ibizlab.core.dict.domain.IBZDictItem> newItems = newIBZDict.getItems() ;
for(cn.ibizlab.core.dict.domain.IBZDictItem iBZDictItem : newItems){
iBZDictItem.setDictId(newIBZDict.getDictId());
if(iBZDictItem.getItemId() == null ){
iBZDictItemService.create(iBZDictItem) ;
continue ;
}
newMapItems.put(iBZDictItem.getItemId(),iBZDictItem) ;
if(oldMapItems.containsKey(iBZDictItem.getItemId())) {
iBZDictItemService.update(iBZDictItem);
}else {
iBZDictItemService.create(iBZDictItem);
}
}
//删除多余数据
for(String key : oldMapItems.keySet()){
if(!newMapItems.containsKey(key))
iBZDictItemService.remove(key) ;
}
}
} }
...@@ -11,6 +11,8 @@ ...@@ -11,6 +11,8 @@
<!--通过mybatis将查询结果注入到entity中,通过配置autoMapping="true"由mybatis自动处理映射关系 --> <!--通过mybatis将查询结果注入到entity中,通过配置autoMapping="true"由mybatis自动处理映射关系 -->
<resultMap id="IBZDictResultMap" type="cn.ibizlab.core.dict.domain.IBZDict" autoMapping="true"> <resultMap id="IBZDictResultMap" type="cn.ibizlab.core.dict.domain.IBZDict" autoMapping="true">
<id property="dictid" column="ibzdictid" /><!--主键字段映射--> <id property="dictid" column="ibzdictid" /><!--主键字段映射-->
<!--通过mybatis自动注入关系属性[关系实体],fetchType="lazy"为懒加载配置 -->
<collection property="items" ofType="cn.ibizlab.core.dict.domain.IBZDictItem" column="ibzdictid" select="cn.ibizlab.core.dict.mapper.IBZDictItemMapper.selectBydictid" fetchType="lazy"></collection>
</resultMap> </resultMap>
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册