判斷三個屬性值不能在資料庫中出現重復的相同三個屬性之和的屬性,如何判斷或者其他寫法,請教大佬們實際開發中一般怎么寫?
//新增修改走同一個介面
@RequestMapping("/medic")
public Object save(@Valid Medicine medicine) {
// Medicine medicine = getFromJson(medicine.class);
if (medicine.getId() == null) {
/* if(medicineService.findByFactoryid(medicine.getFactoryid())==null){
return Rets.failure("該廠家不存在");
}*/
if(medicine.getFactoryid()==null || factoryService.get(medicine.getFactoryid())==null){
return Rets.failure("該廠家不存在");
}
List<Medicine> duplicate = medicineService.findDuplicate(medicine.getFactoryid(), medicine.getName(), medicine.getSpecs(), medicine.getMedicine_no(), medicine.getShort_name());
//使用java8新特性filter方式進行攔截,比較回傳boolean 并計數
if(duplicate.stream().filter(Medicine -> (Medicine.getFactoryid()+Medicine.getName()+Medicine.getSpecs()).equals(medicine.getFactoryid()+medicine.getName()+medicine.getSpecs())).count()>0){
return Rets.failure("該藥品已經在醫院存在");
}else if(duplicate.stream().filter(Medicine -> Medicine.getMedicine_no().equals(medicine.getMedicine_no())).count()>0){
return Rets.failure("該編號已經存在");
}else if(duplicate.stream().filter(Medicine -> Medicine.getShort_name().equals(medicine.getShort_name())).count()>0){
return Rets.failure("該簡稱已經存在");
}
Medicine medicineinsert = medicineService.insert(medicine);
priceService.updatePriceMedicine(medicineinsert.getCreateBy(),medicineinsert.getId());
} else {
List<Medicine> duplicate = medicineService.findDuplicate(medicine.getFactoryid(), medicine.getName(), medicine.getSpecs(), medicine.getMedicine_no(), medicine.getShort_name(), medicine.getId());
if(medicineService.get(medicine.getId())==null){
return Rets.failure("該藥品不存在");
}
if(factoryService.get(medicine.getFactoryid())==null){
return Rets.failure("該廠家不存在");
}
if(duplicate.stream().filter(Medicine -> (Medicine.getFactoryid()+Medicine.getName()+Medicine.getSpecs()).equals(medicine.getFactoryid()+medicine.getName()+medicine.getSpecs())).count()>0){
return Rets.failure("該藥品已經在醫院存在");
}else if(duplicate.stream().filter(Medicine -> Medicine.getMedicine_no().equals(medicine.getMedicine_no())).count()>0){
return Rets.failure("該編號已經存在");
}else if(duplicate.stream().filter(Medicine -> Medicine.getShort_name().equals(medicine.getShort_name())).count()>0){
return Rets.failure("該簡稱已經存在");
}
medicineService.update(medicine);
}
return Rets.success();
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/254198.html
標籤:Web 開發
下一篇:[opencv]吊詭的攝像頭黑屏
