java代码新增或修改时候的验证字段唯一
方式一
String PLOT_CODE_MSG = "地块编码已存在";
//验证plotCode是否唯一,获取id
String plotId = plotService.getIdByPlotCode(plot.getPlotCode());
//新增的时候判断是否存在
if (Func.isEmpty(plot.getId())) {
if (Func.isNotEmpty(plotId)) {
return fail(PLOT_CODE_MSG);
}
} else {
//修改的时候判断是不是自己的地块编码
if (Func.isNotEmpty(plotId) && !Func.toStr(plot.getId()).equals(plotId)) {
return fail(PLOT_CODE_MSG);
}
}
方式二
String PLOT_CODE_MSG = "地块编码已存在";
//根据地块编码判断是否存在
LambdaQueryWrapper<Plot> lambdaQueryWrapper=new LambdaQueryWrapper<>();
//根据id和编码查询id
lambdaQueryWrapper.select(Plot::getId).eq(Plot::getPlotCode,plot.getPlotCode());
//如果参数id不为空
if(!Func.isEmpty(plot.getId())){
//查询非自身的
lambdaQueryWrapper.ne(Plot::getId,plot.getId());
}
//获取数据
List<Plot> plotList=plotService.list(lambdaQueryWrapper);
//不为空抛异常
if(!Func.isEmpty(plotList)){
return fail(PLOT_CODE_MSG);
}