Просмотр исходного кода

feat: 客户分配方法更新,采用批量操作方法

hejq 7 лет назад
Родитель
Сommit
07dd15d732
1 измененных файлов с 11 добавлено и 4 удалено
  1. 11 4
      src/main/java/com/uas/platform/b2b/service/impl/UserServiceImpl.java

+ 11 - 4
src/main/java/com/uas/platform/b2b/service/impl/UserServiceImpl.java

@@ -742,6 +742,8 @@ public class UserServiceImpl implements UserService {
 	@Override
 	public boolean addCustomerToUser(Long userUU, List<Vendor> vendors) {
 		if (!CollectionUtils.isEmpty(vendors)) {
+		    List<Distribute> needToSave = new ArrayList<>();
+		    List<Distribute> needToRemove = new ArrayList<>();
 			for (Vendor vendor : vendors) {
 				Distribute disbute = new Distribute();
 				if (vendor.getDistribute()) {
@@ -749,15 +751,21 @@ public class UserServiceImpl implements UserService {
 					if (CollectionUtils.isEmpty(disbutes)) {
 						disbute.setUserUU(userUU);
 						disbute.setVendorId(vendor.getId());
-						distributeDao.save(disbute);
+                        needToSave.add(disbute);
 					}
 				} else {
 					List<Distribute> disbutes = distributeDao.findByUserUUAndVendorId(userUU, vendor.getId());
 					if (!CollectionUtils.isEmpty(disbutes)) {
-						distributeDao.delete(disbutes.get(0));
+                        needToRemove.add(disbutes.get(0));
 					}
 				}
 			}
+			if (!CollectionUtils.isEmpty(needToSave)) {
+                distributeDao.save(needToSave);
+            }
+            if (!CollectionUtils.isEmpty(needToRemove)) {
+                distributeDao.delete(needToRemove);
+            }
 			return true;
 		}
 		return false;
@@ -766,8 +774,7 @@ public class UserServiceImpl implements UserService {
 	@Override
 	public List<Vendor> findChooseVendor(Long userUU) {
         List<Distribute> distributes = distributeDao.findByUserUUAndVendorUU(userUU, SystemSession.getUser().getEnterprise().getUu());
-        List<Vendor> vendors = distributes.stream().map(Distribute::getVendor).collect(Collectors.toList());
-        return vendors;
+        return distributes.stream().map(Distribute::getVendor).collect(Collectors.toList());
 	}
 
 	@Override