|
@@ -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);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|