浏览代码

feat: 公司管理后端接口开发

chenjianhua 1 月之前
父节点
当前提交
efbc283298

+ 84 - 0
service-base/src/main/java/com/simuwang/base/pojo/dos/CompanyContactPageDO.java

@@ -0,0 +1,84 @@
+package com.simuwang.base.pojo.dos;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.simuwang.base.common.util.DateUtils;
+import com.simuwang.base.pojo.vo.CompanyContactInfoVO;
+import com.simuwang.base.pojo.vo.CompanyContactPageVO;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class CompanyContactPageDO {
+    private Integer id;
+
+    private String companyId;
+
+    private Integer contactId;
+
+    private Date contactDate;
+
+    private String contactor;
+
+    private String customerManager;
+
+    private String contactName;
+
+    private Integer contactStatus;
+
+    private Integer signMethod;
+
+    private String contactRemark;
+
+    private String contactPhone;
+
+    private String contactWechat;
+
+    private String contactEmail;
+
+    private String contactPosition;
+
+    private String contactFileName;
+
+    private String contactFilePath;
+
+    private Integer creatorId;
+
+    private Date createTime;
+
+    private Integer updaterId;
+
+    private Date updateTime;
+
+    private Integer isvalid;
+
+
+    public CompanyContactPageVO toVO() {
+        CompanyContactPageVO vo = new CompanyContactPageVO();
+        vo.setId(this.id);
+        vo.setCompanyId(this.companyId);
+        vo.setContactId(this.contactId);
+        vo.setContactDate(DateUtils.format(this.contactDate,DateUtils.YYYY_MM_DD));
+        vo.setContactRemark(this.contactRemark);
+        vo.setContactFilePath(this.contactFilePath);
+        vo.setContactPosition(this.contactPosition);
+        vo.setContactEmail(this.contactEmail);
+        vo.setContactWechat(this.contactWechat);
+        vo.setContactPhone(this.contactPhone);
+        vo.setContactFileName(this.contactFileName);
+        vo.setContactStatus(this.contactStatus);
+        vo.setContactName(this.contactName);
+        vo.setContactor(this.contactor);
+        vo.setCustomerManager(this.customerManager);
+        vo.setSignMethod(this.signMethod);
+        vo.setCreatorId(this.creatorId);
+        vo.setUpdaterId(this.updaterId);
+        vo.setUpdateTime(DateUtils.format(this.updateTime,DateUtils.YYYY_MM_DD_HH_MM_SS));
+        vo.setCreateTime(DateUtils.format(this.createTime,DateUtils.YYYY_MM_DD_HH_MM_SS));
+        return vo;
+    }
+
+}

+ 2 - 2
service-base/src/main/java/com/simuwang/base/pojo/dos/LastCompanyContactInfoDO.java

@@ -75,8 +75,8 @@ public class LastCompanyContactInfoDO {
      * This field was generated by MyBatis Generator.
      * This field corresponds to the database column company_cantact_info.cantact_file_name
      */
-    @TableField("cantact_file_name")
-    private String cantactFileName;
+    @TableField("contact_file_name")
+    private String contactFileName;
 
     /**
      * This field was generated by MyBatis Generator.

+ 5 - 5
service-base/src/main/java/com/simuwang/base/pojo/dto/query/CompanyContactQuery.java

@@ -33,7 +33,7 @@ public class CompanyContactQuery extends PageQuery {
      * 公司资产规模:1- 0-5亿,2- 5-10亿,3- 10-20亿,4- 20-50亿,
      * 5- 50-100亿,6 -100亿以上
      */
-    private Integer companyAssetSizeType;
+    private Integer companyAssetSize;
     /**
      * 对接开始日期
      */
@@ -84,12 +84,12 @@ public class CompanyContactQuery extends PageQuery {
         this.signMethod = signMethod;
     }
 
-    public Integer getCompanyAssetSizeType() {
-        return companyAssetSizeType;
+    public Integer getCompanyAssetSize() {
+        return companyAssetSize;
     }
 
-    public void setCompanyAssetSizeType(Integer companyAssetSizeType) {
-        this.companyAssetSizeType = companyAssetSizeType;
+    public void setCompanyAssetSize(Integer companyAssetSize) {
+        this.companyAssetSize = companyAssetSize;
     }
 
     public String getContactStartDate() {

+ 26 - 0
service-base/src/main/java/com/simuwang/base/pojo/dto/query/CompanyIdQuery.java

@@ -0,0 +1,26 @@
+package com.simuwang.base.pojo.dto.query;
+
+import com.simuwang.base.common.support.query.PageQuery;
+import lombok.Data;
+
+/**
+ * FileName: CompanyIdVO
+ * Author:   chenjianhua
+ * Date:     2024/9/15 16:12
+ * Description: ${DESCRIPTION}
+ */
+public class CompanyIdQuery  extends PageQuery {
+
+    /**
+     * 公司ID
+     */
+    private String companyId;
+
+    public String getCompanyId() {
+        return companyId;
+    }
+
+    public void setCompanyId(String companyId) {
+        this.companyId = companyId;
+    }
+}

+ 11 - 1
service-base/src/main/java/com/simuwang/base/pojo/vo/CompanyContactInfoVO.java

@@ -48,7 +48,7 @@ public class CompanyContactInfoVO {
     /**
      * 附件名称
      */
-    private String cantactFileName;
+    private String contactFileName;
     /**
      * 附件路径
      */
@@ -74,4 +74,14 @@ public class CompanyContactInfoVO {
      */
     private Integer isvalid;
 
+    /**
+     * 职位
+     */
+    private String contactPosition;
+
+    private String contactPhone;
+
+    private String contactWechat;
+
+    private String contactEmail;
 }

+ 86 - 0
service-base/src/main/java/com/simuwang/base/pojo/vo/CompanyContactPageVO.java

@@ -0,0 +1,86 @@
+package com.simuwang.base.pojo.vo;
+
+import lombok.Data;
+
+@Data
+public class CompanyContactPageVO {
+    /**
+     * 主键ID
+     */
+    private Integer id;
+    /**
+     * 公司ID
+     */
+    private String companyId;
+    /**
+     * 对接日期
+     */
+    private String contactDate;
+    /**
+     * 对接人
+     */
+    private String contactor;
+    /**
+     * 客户经理
+     */
+    private String customerManager;
+
+    private String contactName;
+    /**
+     * 联系人ID
+     */
+    private Integer contactId;
+    /**
+     * 对接状态,1-已通知,2-有意向,3-暂无意向,4-考虑中,5-无联系方式
+     */
+    private Integer contactStatus;
+    /**
+     * 签约方式,1-托管平台授权,2-单方签约,3-双方签约
+     */
+    private Integer signMethod;
+    /**
+     * 对接备注
+     */
+    private String contactRemark;
+    /**
+     * 附件名称
+     */
+    private String contactFileName;
+    /**
+     * 附件路径
+     */
+    private String contactFilePath;
+
+    /**
+     * 职位
+     */
+    private String contactPosition;
+
+    private String contactPhone;
+
+    private String contactWechat;
+
+    private String contactEmail;
+
+    /**
+     * 创建人
+     */
+    private Integer creatorId;
+    /**
+     * 创建时间
+     */
+    private String createTime;
+    /**
+     * 修改人
+     */
+    private Integer updaterId;
+    /**
+     * 修改时间
+     */
+    private String updateTime;
+    /**
+     * 有效标识
+     */
+    private Integer isvalid;
+
+}

+ 5 - 2
service-base/src/main/java/com/simuwang/base/pojo/vo/ContactInformationVO.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
+import org.springframework.web.multipart.MultipartFile;
 
 import java.util.Date;
 @Data
@@ -43,7 +44,9 @@ public class ContactInformationVO {
     /**
      * 附件名称
      */
-    private String cantactFileName;
+    private String contactFileName;
+
+    private MultipartFile file;
     /**
      * 附件路径
      */
@@ -59,5 +62,5 @@ public class ContactInformationVO {
 
     private Integer isvalid;
 
-
+    private Integer openStatus;
 }

+ 1 - 1
service-deploy/src/main/resources/application.yml

@@ -1,5 +1,5 @@
 server:
-  port: 8899
+  port: 9019
   undertow:
     threads:
       # io线程数,主要执行费阻塞的任务

+ 64 - 5
service-manage/src/main/java/com/simuwang/manage/api/contact/CompanyContactController.java

@@ -2,10 +2,9 @@ package com.simuwang.manage.api.contact;
 
 import com.simuwang.base.common.support.MybatisPage;
 import com.simuwang.base.pojo.dto.query.CompanyContactQuery;
+import com.simuwang.base.pojo.dto.query.CompanyIdQuery;
 import com.simuwang.base.pojo.dto.query.ContactQuery;
-import com.simuwang.base.pojo.vo.CompanyContactInfoPageVO;
-import com.simuwang.base.pojo.vo.CompanyContactInfoVO;
-import com.simuwang.base.pojo.vo.ContactInformationVO;
+import com.simuwang.base.pojo.vo.*;
 import com.simuwang.logging.SystemLog;
 import com.simuwang.manage.service.CompanyContactService;
 import com.simuwang.manage.service.ContactInformationService;
@@ -14,10 +13,13 @@ import com.smppw.common.pojo.enums.status.ResultCode;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.List;
+
 
 @SystemLog("公司管理")
 @RestController
@@ -43,6 +45,7 @@ public class CompanyContactController {
             vo = companyContactService.saveCompanyContactInfo(companyContactInfoVO);
         }catch (Exception e){
             logger.error(e.getMessage(),e);
+            vo.setMsg("保存失败");
             vo.setData(false);
             vo.setCode(ResultCode.SAVE_FAILED.getCode());
         }
@@ -56,7 +59,7 @@ public class CompanyContactController {
      */
     @SystemLog(value = "保存联系人信息", type = SystemLog.Type.INSERT)
     @RequestMapping("save-contact-info")
-    public ResultVo saveContactInformation(@RequestBody ContactInformationVO contactInformationVO){
+    public ResultVo saveContactInformation(@RequestBody List<ContactInformationVO> contactInformationVO){
         ResultVo vo = new ResultVo(ResultCode.SAVE_SUCCESS.getCode());
         try{
             vo = contactInformationService.saveContactInformation(contactInformationVO);
@@ -81,15 +84,71 @@ public class CompanyContactController {
     }
 
     /**
+     * 根据ID删除对接人信息
+     * @param idVO
+     * @return
+     */
+    @SystemLog(value = "删除公司联系人信息", type = SystemLog.Type.DELETE)
+    @PostMapping("delete-contact-information")
+    public ResultVo deleteById(@RequestBody IdVO idVO){
+        ResultVo vo = contactInformationService.deleteById(idVO.getId());
+        return vo;
+    }
+
+
+/**
+ * 根据ID删除对接人信息
+ * @param idVO
+ * @return
+ */
+    @SystemLog(value = "删除公司对接人信息", type = SystemLog.Type.DELETE)
+    @PostMapping("delete-company-contact")
+    public boolean deleteCompanyContactById(@RequestBody IdVO idVO){
+        companyContactService.deleteById(idVO.getId());
+        return true;
+    }
+
+    /**
      * 查询公司对接信息
      * @param companyContactQuery
      * @return
      */
     @SystemLog(value = "查询公司对接信息", type = SystemLog.Type.INSERT)
-    @RequestMapping("select-company-contact")
+        @RequestMapping("select-company-contact")
     public MybatisPage<CompanyContactInfoPageVO> selectCompanyContactInfoList(CompanyContactQuery companyContactQuery){
         MybatisPage<CompanyContactInfoPageVO> result = companyContactService.selectCompanyContactInfoList(companyContactQuery);
         return result;
     }
 
+    /**
+     * 查询对接备注信息
+     * @param companyIdQuery
+     * @return
+     */
+    @SystemLog(value = "查询对接备注信息", type = SystemLog.Type.INSERT)
+    @RequestMapping("select-contact-remark")
+    public MybatisPage<CompanyContactPageVO> selectCompanyContactInfoList(CompanyIdQuery companyIdQuery){
+        MybatisPage<CompanyContactPageVO> result = companyContactService.selectCompanyContactList(companyIdQuery);
+        return result;
+    }
+
+    /**
+     * 查询对接人明细
+     * @param idVO
+     * @return
+     */
+    @SystemLog(value = "查询对接人明细", type = SystemLog.Type.QUERY)
+    @RequestMapping("select-company-contact-detail")
+    public ResultVo saveCompanyContactDetail(@RequestBody IdVO idVO){
+        ResultVo vo = new ResultVo(ResultCode.SAVE_SUCCESS.getCode());
+        try{
+            vo = companyContactService.saveCompanyContactDetail(idVO);
+        }catch (Exception e){
+            logger.error(e.getMessage(),e);
+            vo.setData(false);
+            vo.setCode(ResultCode.SAVE_FAILED.getCode());
+        }
+        return vo;
+    }
+
 }

+ 9 - 0
service-manage/src/main/java/com/simuwang/manage/service/CompanyContactService.java

@@ -2,12 +2,21 @@ package com.simuwang.manage.service;
 
 import com.simuwang.base.common.support.MybatisPage;
 import com.simuwang.base.pojo.dto.query.CompanyContactQuery;
+import com.simuwang.base.pojo.dto.query.CompanyIdQuery;
 import com.simuwang.base.pojo.vo.CompanyContactInfoPageVO;
 import com.simuwang.base.pojo.vo.CompanyContactInfoVO;
+import com.simuwang.base.pojo.vo.CompanyContactPageVO;
+import com.simuwang.base.pojo.vo.IdVO;
 import com.smppw.common.pojo.ResultVo;
 
 public interface CompanyContactService {
     ResultVo saveCompanyContactInfo(CompanyContactInfoVO companyContactInfoVO);
 
     MybatisPage<CompanyContactInfoPageVO> selectCompanyContactInfoList(CompanyContactQuery companyContactQuery);
+
+    MybatisPage<CompanyContactPageVO> selectCompanyContactList(CompanyIdQuery companyIdQuery);
+
+    ResultVo saveCompanyContactDetail(IdVO idVO);
+
+    void deleteById(Integer id);
 }

+ 5 - 1
service-manage/src/main/java/com/simuwang/manage/service/ContactInformationService.java

@@ -5,9 +5,13 @@ import com.simuwang.base.pojo.dto.query.ContactQuery;
 import com.simuwang.base.pojo.vo.ContactInformationVO;
 import com.smppw.common.pojo.ResultVo;
 
+import java.util.List;
+
 public interface ContactInformationService {
 
-    ResultVo saveContactInformation(ContactInformationVO contactInformationVO);
+    ResultVo saveContactInformation(List<ContactInformationVO> contactInformationVO);
 
     MybatisPage<ContactInformationVO> selectContactInformationList(ContactQuery contactQuery);
+
+    ResultVo deleteById(Integer id);
 }

+ 63 - 4
service-manage/src/main/java/com/simuwang/manage/service/impl/CompanyContactServiceImpl.java

@@ -4,13 +4,15 @@ import cn.hutool.core.bean.BeanUtil;
 import com.simuwang.base.common.support.MybatisPage;
 import com.simuwang.base.common.util.DateUtils;
 import com.simuwang.base.mapper.daq.CompanyContactInfoMapper;
+import com.simuwang.base.mapper.daq.ContactInformationMapper;
 import com.simuwang.base.mapper.daq.LastCompanyContactInfoMapper;
-import com.simuwang.base.pojo.dos.CompanyContactInfoDO;
-import com.simuwang.base.pojo.dos.CompanyContactInfoPageDO;
-import com.simuwang.base.pojo.dos.LastCompanyContactInfoDO;
+import com.simuwang.base.pojo.dos.*;
 import com.simuwang.base.pojo.dto.query.CompanyContactQuery;
+import com.simuwang.base.pojo.dto.query.CompanyIdQuery;
 import com.simuwang.base.pojo.vo.CompanyContactInfoPageVO;
 import com.simuwang.base.pojo.vo.CompanyContactInfoVO;
+import com.simuwang.base.pojo.vo.CompanyContactPageVO;
+import com.simuwang.base.pojo.vo.IdVO;
 import com.simuwang.manage.service.CompanyContactService;
 import com.simuwang.shiro.utils.UserUtils;
 import com.smppw.common.pojo.ResultVo;
@@ -18,6 +20,7 @@ import com.smppw.common.pojo.enums.status.ResultCode;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.Date;
 import java.util.List;
 import java.util.Objects;
 import java.util.stream.Collectors;
@@ -31,12 +34,14 @@ public class CompanyContactServiceImpl implements CompanyContactService {
     @Autowired
     private CompanyContactInfoMapper companyContactInfoMapper;
 
+    @Autowired
+    private ContactInformationMapper contactInformationMapper;
+
     @Override
     public ResultVo saveCompanyContactInfo(CompanyContactInfoVO companyContactInfoVO) {
         ResultVo vo = new ResultVo(ResultCode.SAVE_SUCCESS.getCode());
         companyContactInfoVO.setUpdateTime(DateUtils.getTime());
         companyContactInfoVO.setIsvalid(1);
-        companyContactInfoVO.setCreatorId(UserUtils.getLoginUser().getUserId());
         companyContactInfoVO.setUpdaterId(UserUtils.getLoginUser().getUserId());
         CompanyContactInfoDO companyContactInfoDO = BeanUtil.copyProperties(companyContactInfoVO,CompanyContactInfoDO.class);
         CompanyContactInfoDO oldCompanyContactInfoDO = companyContactInfoMapper.getCompanyContactInfo(companyContactInfoDO.getCompanyId(),DateUtils.format(companyContactInfoDO.getContactDate(), DateUtils.YYYY_MM_DD));
@@ -47,6 +52,7 @@ public class CompanyContactServiceImpl implements CompanyContactService {
         }
         if(oldCompanyContactInfoDO == null){
             companyContactInfoVO.setCreateTime(DateUtils.getTime());
+            companyContactInfoVO.setCreatorId(UserUtils.getLoginUser().getUserId());
             companyContactInfoMapper.insert(companyContactInfoDO);
         }else{
             companyContactInfoDO.setId(oldCompanyContactInfoDO.getId());
@@ -63,6 +69,19 @@ public class CompanyContactServiceImpl implements CompanyContactService {
                 lastCompanyContactInfoMapper.updateById(lastCompanyContactInfoDO);
             }
         }
+        //保存联系人修改
+        Integer contactId = companyContactInfoDO.getContactId();
+        ContactInformationDO contactInformationDO = new ContactInformationDO();
+        contactInformationDO.setId(contactId);
+        contactInformationDO.setUpdaterId(UserUtils.getLoginUser().getUserId());
+        contactInformationDO.setUpdateTime(new Date());
+        contactInformationDO.setContactEmail(companyContactInfoVO.getContactEmail());
+        contactInformationDO.setContactPhone(companyContactInfoVO.getContactPhone());
+        contactInformationDO.setContactPosition(companyContactInfoVO.getContactPosition());
+        contactInformationDO.setContactWechat(companyContactInfoVO.getContactWechat());
+        contactInformationDO.setContactFilePath(companyContactInfoVO.getContactFilePath());
+        contactInformationDO.setContactFileName(companyContactInfoVO.getContactFileName());
+        contactInformationMapper.updateById(contactInformationDO);
         vo.setData(true);
         return vo;
     }
@@ -74,4 +93,44 @@ public class CompanyContactServiceImpl implements CompanyContactService {
         List<CompanyContactInfoPageVO> dataList = contactInformationDOList.stream().map(CompanyContactInfoPageDO::toVO).collect(Collectors.toList());
         return MybatisPage.of(total,dataList);
     }
+
+    @Override
+    public MybatisPage<CompanyContactPageVO> selectCompanyContactList(CompanyIdQuery companyIdQuery) {
+        List<CompanyContactPageDO> contactInformationDOList = companyContactInfoMapper.selectCompanyContactListByCompanyId(companyIdQuery);
+        long total = companyContactInfoMapper.countCompanyContactByCompanyId(companyIdQuery);
+        List<CompanyContactPageVO> dataList = contactInformationDOList.stream().map(CompanyContactPageDO::toVO).collect(Collectors.toList());
+        return MybatisPage.of(total,dataList);
+    }
+
+    @Override
+    public ResultVo saveCompanyContactDetail(IdVO idVO) {
+        CompanyContactPageDO pageDO = companyContactInfoMapper.saveCompanyContactDetail(idVO.getId());
+        return new ResultVo(pageDO);
+    }
+
+    @Override
+    public void deleteById(Integer id) {
+        CompanyContactInfoDO companyContactInfoDO = companyContactInfoMapper.selectById(id);
+        Integer userId = UserUtils.getLoginUser().getUserId();
+        LastCompanyContactInfoDO lastCompanyContactInfoDO = lastCompanyContactInfoMapper.getLastCompanyContactInfoDOByCompanyId(companyContactInfoDO.getCompanyId());
+        companyContactInfoMapper.deleteCompanyContactInfoById(id,userId);
+        if(lastCompanyContactInfoDO.getContactDate().equals(companyContactInfoDO.getContactDate())){
+            //说明删除的是最新的对接信息,此时需要重新信息最新的对接信息
+            CompanyContactInfoDO nextCompanyContactInfoDO = companyContactInfoMapper.getLastCompanyContactInfoDO(companyContactInfoDO.getCompanyId());
+            if(nextCompanyContactInfoDO == null){
+                //说明没有对接人信息了,直接删除最新数据表的记录
+                lastCompanyContactInfoMapper.deleteLastById(lastCompanyContactInfoDO.getId(),userId);
+            }else{
+                //更新最新数据
+                lastCompanyContactInfoDO = BeanUtil.copyProperties(nextCompanyContactInfoDO,LastCompanyContactInfoDO.class);
+                lastCompanyContactInfoDO.setId(null);
+                lastCompanyContactInfoDO.setUpdateTime(new Date());
+                lastCompanyContactInfoDO.setCreateTime(new Date());
+                lastCompanyContactInfoDO.setIsvalid(1);
+                lastCompanyContactInfoDO.setUpdaterId(userId);
+                lastCompanyContactInfoDO.setCreatorId(userId);
+                lastCompanyContactInfoMapper.insert(lastCompanyContactInfoDO);
+            }
+        }
+    }
 }

+ 41 - 18
service-manage/src/main/java/com/simuwang/manage/service/impl/ContactInformationServiceImpl.java

@@ -3,6 +3,7 @@ package com.simuwang.manage.service.impl;
 import cn.hutool.core.bean.BeanUtil;
 import com.simuwang.base.common.support.MybatisPage;
 import com.simuwang.base.common.util.DateUtils;
+import com.simuwang.base.mapper.daq.CompanyContactInfoMapper;
 import com.simuwang.base.mapper.daq.ContactInformationMapper;
 import com.simuwang.base.pojo.dos.ContactInformationDO;
 import com.simuwang.base.pojo.dto.query.ContactQuery;
@@ -23,26 +24,31 @@ public class ContactInformationServiceImpl implements ContactInformationService
     @Autowired
     private ContactInformationMapper contactInformationMapper;
 
+    @Autowired
+    private CompanyContactInfoMapper companyContactInfoMapper;
+
     @Override
-    public ResultVo saveContactInformation(ContactInformationVO contactInformationVO) {
-        contactInformationVO.setUpdateTime(DateUtils.getTime());
-        contactInformationVO.setIsvalid(1);
-        contactInformationVO.setCreatorId(UserUtils.getLoginUser().getUserId());
-        contactInformationVO.setUpdaterId(UserUtils.getLoginUser().getUserId());
+    public ResultVo saveContactInformation(List<ContactInformationVO> contactInformationVOList) {
         ResultVo vo = new ResultVo(ResultCode.SAVE_SUCCESS.getCode());
-        ContactInformationDO contactInformationDO = BeanUtil.copyProperties(contactInformationVO, ContactInformationDO.class);
-        ContactInformationDO oldContactInformationDO = contactInformationMapper.getContactInformation(contactInformationDO);
-        if (oldContactInformationDO != null && contactInformationVO.getId() == null) {
-            vo.setData(false);
-            vo.setMsg("联系人信息已经存在,无需新增");
-            return vo;
-        }
-        if(oldContactInformationDO == null){
-            contactInformationDO.setCreateTime(new Date());
-            contactInformationMapper.insert(contactInformationDO);
-        }else{
-            contactInformationDO.setId(oldContactInformationDO.getId());
-            contactInformationMapper.updateById(contactInformationDO);
+        for (ContactInformationVO contactInformationVO : contactInformationVOList) {
+            contactInformationVO.setUpdateTime(DateUtils.getTime());
+            contactInformationVO.setIsvalid(1);
+            contactInformationVO.setCreatorId(UserUtils.getLoginUser().getUserId());
+            contactInformationVO.setUpdaterId(UserUtils.getLoginUser().getUserId());
+            ContactInformationDO contactInformationDO = BeanUtil.copyProperties(contactInformationVO, ContactInformationDO.class);
+            ContactInformationDO oldContactInformationDO = contactInformationMapper.getContactInformation(contactInformationDO);
+            if (oldContactInformationDO != null && contactInformationVO.getId() == null) {
+                vo.setData(false);
+                vo.setMsg("联系人信息已经存在,无需新增");
+                return vo;
+            }
+            if (oldContactInformationDO == null) {
+                contactInformationDO.setCreateTime(new Date());
+                contactInformationMapper.insert(contactInformationDO);
+            } else {
+                contactInformationDO.setId(oldContactInformationDO.getId());
+                contactInformationMapper.updateById(contactInformationDO);
+            }
         }
         return vo;
     }
@@ -54,4 +60,21 @@ public class ContactInformationServiceImpl implements ContactInformationService
         List<ContactInformationVO> dataList = contactInformationDOList.stream().map(ContactInformationDO::toVO).collect(Collectors.toList());
         return MybatisPage.of(total,dataList);
     }
+
+    @Override
+    public ResultVo deleteById(Integer id) {
+        ResultVo vo = new ResultVo(ResultCode.DELETE_SUCCESS.getCode());
+        Integer userId = UserUtils.getLoginUser().getUserId();
+        //判断联系人是否绑定对接信息,如果有不能删除
+        int contactCount = companyContactInfoMapper.selectCountByContactId(id);
+        if(contactCount > 0) {
+            vo.setCode(ResultCode.DELETE_FAILED.getCode());
+            vo.setData(false);
+            vo.setMsg("联系人有绑定对接信息,不能删除");
+            return vo;
+        }
+        contactInformationMapper.deleteContactInformationById(id,userId);
+        vo.setData(true);
+        return vo;
+    }
 }