diff --git a/kn-sys-manager/src/main/java/org/springblade/auth/system/controller/DictBizController.java b/kn-sys-manager/src/main/java/org/springblade/auth/system/controller/DictBizController.java index 2c40fbb..29d1e5d 100644 --- a/kn-sys-manager/src/main/java/org/springblade/auth/system/controller/DictBizController.java +++ b/kn-sys-manager/src/main/java/org/springblade/auth/system/controller/DictBizController.java @@ -1,6 +1,7 @@ package org.springblade.auth.system.controller; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; @@ -8,6 +9,7 @@ import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.AllArgsConstructor; +import org.springblade.auth.system.dto.DictBizDTO; import org.springblade.auth.system.entity.DictBiz; import org.springblade.auth.system.service.IDictBizService; import org.springblade.auth.system.vo.DictBizVO; @@ -166,6 +168,24 @@ public class DictBizController { List tree = dictService.getList(code); return R.data(DictBizWrapper.build().listNodeVO(tree)); } - + /** + * 新增或修改 + */ + @PostMapping("/submit2") + @ApiOperationSupport(order = 6) + @ApiOperation(value = "新增或修改", notes = "传入dict") + public R submit2(@Valid @RequestBody DictBizDTO dict) { + CacheUtil.clear(DICT_CACHE); + dictService.submit(dict); + List list = dict.getChildren(); + dictService.remove(Wrappers.update().lambda().eq(DictBiz::getParentId,dict.getId())); + for (DictBiz dictBiz : list) { + //清空id + dictBiz.setId(null); + //添加父子关系 + dictBiz.setParentId(dict.getId()); + } + return R.success(dictService.saveBatch(list)||list.size()==0?"操作成功":"操作失败"); + } } diff --git a/kn-sys-manager/src/main/java/org/springblade/auth/system/dto/DictBizDTO.java b/kn-sys-manager/src/main/java/org/springblade/auth/system/dto/DictBizDTO.java new file mode 100644 index 0000000..b9eee4a --- /dev/null +++ b/kn-sys-manager/src/main/java/org/springblade/auth/system/dto/DictBizDTO.java @@ -0,0 +1,15 @@ +package org.springblade.auth.system.dto; + +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.springblade.auth.system.entity.DictBiz; + +import java.util.List; + +@Data +@EqualsAndHashCode(callSuper = true) +@ApiModel(value = "DictBizDTO对象", description = "DictBizDTO对象") +public class DictBizDTO extends DictBiz { + private List children; +}