1.list 找出数据库没有重复的数据
2.循环遍历传入的数据集合CuxFoodList
3.判断数据库中list集合里面是否包含当前循环CuxFoodList的第j条数据
如果没有的话就做新增或更新,有的话则增加count次数,以便前端提示重复了几条数据。
(这边之前尝试了remove方法移除掉遍历的CuxFoodList,后面发现在导入三条数据后,假设第一条重复,移除后,索引会直接跳到第三条数据,这样即使系统就过滤掉第二条数据了,所以后面索性不去掉了。)
//新增数据
@ApiOperation(value = "新增食材明细信息")
@PostMapping("/addFoodList")
public Object addFoodList(@RequestBody List<CuxFoodList> cuxFoodList){
int count=0;
try{
//去除重复数据
List<CuxFoodList> list=iCuxFoodListService.getFoodList();
System.out.println(list);
for (int j=0;j<cuxFoodList.size();j++)
{
/**
* 数据库的所有数据(去除sysid)与 cuxfoodlist 进行对比
* 如果所有字段都相同 则去除CuxFoodList里面的一条记录
*/
CuxFoodList clist=cuxFoodList.get(j);
if(!list.contains(clist))
{
iCuxFoodListService.saveOrUpdate(clist);
}
else
{
// cuxFoodList.remove(j);
count++;
}
}
}catch (Exception e){
e.printStackTrace();
return Result.failed("新增失败");
}
return Result.succeed("新增成功,其中"+count+"条数据重复,不做新增!");
}