Bläddra i källkod

编辑入住公司信息

gongdecai 3 år sedan
förälder
incheckning
77d7cb348f

+ 10 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/SettledCompanyInfoController.java

@@ -38,5 +38,15 @@ public class SettledCompanyInfoController {
     public String addSettledCompanyInfo(@RequestBody SettledCompanyInfo settledCompanyInfo) throws ServiceException {
         return settledCompanyInfoService.addSettledCompanyInfo(settledCompanyInfo);
     }
+
+    /**
+     * 编辑入住公司信息
+     * @param settledCompanyInfo
+     * @return
+     */
+    @PostMapping("/api/editSettledCompanyInfo")
+    public String editSettledCompanyInfo(@RequestBody SettledCompanyInfo settledCompanyInfo) throws ServiceException {
+        return settledCompanyInfoService.editSettledCompanyInfo(settledCompanyInfo);
+    }
 }
 

+ 7 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/ISettledCompanyInfoService.java

@@ -21,4 +21,11 @@ public interface ISettledCompanyInfoService extends IService<SettledCompanyInfo>
      */
     String addSettledCompanyInfo(SettledCompanyInfo settledCompanyInfo) throws ServiceException;
 
+    /**
+     * 编辑入住公司信息
+     * @param settledCompanyInfo
+     * @return
+     */
+    String editSettledCompanyInfo(SettledCompanyInfo settledCompanyInfo) throws ServiceException;
+
 }

+ 60 - 1
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/SettledCompanyInfoServiceImpl.java

@@ -1,19 +1,25 @@
 package com.yh.saas.plugin.yiliangyiyun.service.impl;
 
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.yh.saas.common.support.util.IdGenerator;
+import com.yh.saas.common.support.util.StringUtils;
 import com.yh.saas.plugin.yiliangyiyun.constant.StatusEnum;
 import com.yh.saas.plugin.yiliangyiyun.entity.SettledCompanyContacts;
 import com.yh.saas.plugin.yiliangyiyun.entity.SettledCompanyInfo;
 import com.yh.saas.plugin.yiliangyiyun.entity.TranCarInfo;
 import com.yh.saas.plugin.yiliangyiyun.exception.ServiceException;
 import com.yh.saas.plugin.yiliangyiyun.mapper.SettledCompanyInfoMapper;
+import com.yh.saas.plugin.yiliangyiyun.service.ISettledCompanyContactsService;
 import com.yh.saas.plugin.yiliangyiyun.service.ISettledCompanyInfoService;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 
+import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -27,7 +33,8 @@ import java.util.List;
 public class SettledCompanyInfoServiceImpl extends ServiceImpl<SettledCompanyInfoMapper, SettledCompanyInfo> implements ISettledCompanyInfoService {
 
 
-
+    @Autowired
+    private ISettledCompanyContactsService settledCompanyContactsService;
 
     /**
      * 添加入住公司信息
@@ -47,6 +54,58 @@ public class SettledCompanyInfoServiceImpl extends ServiceImpl<SettledCompanyInf
                 settledCompanyContacts.setId(IdGenerator.generateUUID());
                 settledCompanyContacts.setInfoId(settledCompanyInfo.getId());
             });
+            settledCompanyContactsService.insertBatch(settledCompanyContactsList);
+        }
+        return settledCompanyInfo.getId();
+    }
+
+
+    /**
+     * 编辑入住公司信息
+     * @param settledCompanyInfo
+     * @return
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public String editSettledCompanyInfo(SettledCompanyInfo settledCompanyInfo) throws ServiceException {
+        // 更新公司信息
+        this.updateById(settledCompanyInfo);
+        // 联系人处理
+        List<SettledCompanyContacts> settledCompanyContactsList = settledCompanyContactsService.selectList(new EntityWrapper<SettledCompanyContacts>()
+        .eq("info_id",settledCompanyInfo.getId()));
+        List<String> idList = new ArrayList<>();
+        if(!CollectionUtils.isEmpty(settledCompanyContactsList)){
+             idList = settledCompanyContactsList.stream().map(SettledCompanyContacts::getId).collect(Collectors.toList());
+        }
+        List<SettledCompanyContacts> settledCompanyContactsListNew = settledCompanyInfo.getSettledCompanyContacts();
+        if(!CollectionUtils.isEmpty(settledCompanyContactsListNew)){
+           for(SettledCompanyContacts settledCompanyContacts:settledCompanyContactsListNew){
+               if(StringUtils.isEmpty(settledCompanyContacts.getId())){
+                   settledCompanyContacts.setId(IdGenerator.generateUUID());
+                   settledCompanyContacts.setInfoId(settledCompanyInfo.getId());
+                   settledCompanyContactsService.insert(settledCompanyContacts);
+               }
+               else{
+                   settledCompanyContactsService.updateById(settledCompanyContacts);
+               }
+           }
+            List<String> idListNew = settledCompanyContactsListNew.stream().map(SettledCompanyContacts::getId).collect(Collectors.toList());
+            if(!CollectionUtils.isEmpty(idList)){
+                idList.forEach(s ->{
+                    if(!idListNew.contains(s)) {
+                        settledCompanyContactsService.deleteById(s);
+                    }
+                } );
+
+            }
+        }
+        else{
+            if(!CollectionUtils.isEmpty(idList)){
+                idList.forEach(s ->{
+                    settledCompanyContactsService.deleteById(s);
+                } );
+
+            }
         }
         return settledCompanyInfo.getId();
     }