tj
2025-06-05 2d549a04870d1315868a7cf19952b64e8071e711
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
package com.cloudroam.service.impl;
 
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.cloudroam.bo.ContactInfoBO;
import com.cloudroam.common.LocalUser;
import com.cloudroam.dto.contact.CreateOrUpdateContactDTO;
import com.cloudroam.dto.contact.QueryContactDTO;
import com.cloudroam.common.enumeration.DeletedEnum;
import com.cloudroam.mapper.ContactInfoMapperCustom;
import com.cloudroam.model.*;
import com.cloudroam.mapper.ContactInfoMapper;
import com.cloudroam.service.ContactInfoService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
 
import java.util.Date;
import java.util.List;
 
/**
 * <p>
 *  服务实现类
 * </p>
 *
 * @author generator@TaoJie
 * @since 2023-08-08
 */
@Service
public class ContactInfoServiceImpl extends ServiceImpl<ContactInfoMapper, ContactInfoDO> implements ContactInfoService {
 
    @Autowired
    private ContactInfoMapperCustom contactInfoMapperCustom;
    @Override
    @Transactional
    public List<ContactInfoDO> getContactList(QueryContactDTO dto) {
 
        QueryWrapper<ContactInfoDO> wrapper = new QueryWrapper<>();
        wrapper.eq("is_deleted", DeletedEnum.DELETED_NO.getCode());
 
        if(StrUtil.isNotBlank(dto.getCompanyId())){
            wrapper.eq("company_id",dto.getCompanyId());
        }
 
        if(StrUtil.isNotBlank(dto.getName())){
            wrapper.like("name",dto.getName());
        }
 
        if(StrUtil.isNotBlank(dto.getPhone())){
            wrapper.like("phone",dto.getPhone());
        }
 
        if(StrUtil.isNotBlank(dto.getTitle())){
            wrapper.like("title",dto.getTitle());
        }
 
        return this.baseMapper.selectList(wrapper);
    }
 
    @Override
    public IPage<ContactInfoBO> getContactInfoPage(QueryContactDTO dto) {
        Page<ContactInfoBO> page=new Page<ContactInfoBO>(dto.getPage(),dto.getCount());
        return contactInfoMapperCustom.getContactInfoPage(page,dto.getKeyword());
    }
 
    @Override
    @Transactional
    public boolean removeByIdLogic(String id) {
        UserDO user = LocalUser.getLocalUser();
 
        ContactInfoDO contactInfoDO=new ContactInfoDO();
        contactInfoDO.setId(id);
        contactInfoDO.setIsDeleted(DeletedEnum.DELETED_YES.getCode());
        contactInfoDO.setDeleteTime(new Date());
        contactInfoDO.setDeleteUserId(String.valueOf(user.getId()));
        contactInfoDO.setDeleteUserName(user.getNickname());
 
 
        return baseMapper.updateById(contactInfoDO)>0;
 
    }
 
    @Override
    @Transactional
    public boolean updateContactInfo(CreateOrUpdateContactDTO validator) {
        UserDO user = LocalUser.getLocalUser();
 
        ContactInfoDO contactInfoDO=new ContactInfoDO();
        BeanUtils.copyProperties(validator,contactInfoDO);
 
        contactInfoDO.setCreateTime(new Date());
        contactInfoDO.setCreateUserId(String.valueOf(user.getId()));
        contactInfoDO.setCreateUserName(user.getNickname());
 
        contactInfoDO.setUpdateTime(new Date());
        contactInfoDO.setUpdateUserId(String.valueOf(user.getId()));
        contactInfoDO.setUpdateUserName(user.getNickname());
        contactInfoDO.setIsDeleted(DeletedEnum.DELETED_NO.getCode());
        return baseMapper.updateById(contactInfoDO)>0;
    }
 
    @Override
    @Transactional
    public boolean CreateContactInfo(CreateOrUpdateContactDTO validator) {
        UserDO user = LocalUser.getLocalUser();
 
        ContactInfoDO contactInfoDO=new ContactInfoDO();
 
        BeanUtils.copyProperties(validator,contactInfoDO);
 
        contactInfoDO.setId(IdUtil.simpleUUID());
 
        contactInfoDO.setCreateTime(new Date());
        contactInfoDO.setCreateUserId(String.valueOf(user.getId()));
        contactInfoDO.setCreateUserName(user.getNickname());
 
        contactInfoDO.setUpdateTime(new Date());
        contactInfoDO.setUpdateUserId(String.valueOf(user.getId()));
        contactInfoDO.setUpdateUserName(user.getNickname());
        contactInfoDO.setIsDeleted(DeletedEnum.DELETED_NO.getCode());
 
        return baseMapper.insert(contactInfoDO)>0;
    }
}