package com.ruoyi.system.service.impl; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.system.dto.TCrmSalespersonDTO; import com.ruoyi.system.export.TCrmSalespersonExport; import com.ruoyi.system.mapper.TCrmSalespersonMapper; import com.ruoyi.system.model.TCrmBranch; import com.ruoyi.system.model.TCrmBranchArea; import com.ruoyi.system.model.TCrmBranchSalary; import com.ruoyi.system.model.TCrmSalesperson; import com.ruoyi.system.query.TCrmSalespersonQuery; import com.ruoyi.system.service.ISysUserService; import com.ruoyi.system.service.TCrmSalespersonService; import com.ruoyi.system.vo.TCrmBranchVO; import com.ruoyi.system.vo.TCrmSalespersonVO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; /** *

* crm业务员管理 服务实现类 *

* * @author xiaochen * @since 2025-08-20 */ @Service public class TCrmSalespersonServiceImpl extends ServiceImpl implements TCrmSalespersonService { @Autowired private ISysUserService sysUserService; @Override public PageInfo pageList(TCrmSalespersonQuery query) { PageInfo pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); List list = this.baseMapper.pageList(query,pageInfo); pageInfo.setRecords(list); return pageInfo; } @Override public R addSalesperson(TCrmSalespersonDTO dto) { // 判断账号是否已存在 SysUser sysUser = sysUserService.selectUserByUserName(dto.getPhone()); if(Objects.nonNull(sysUser)){ return R.fail(dto.getPhone()+"-账号已存在"); } this.save(dto); // 添加账号 SysUser user = new SysUser(); user.setUserName(dto.getPhone()); user.setPhonenumber(dto.getPhone()); user.setNickName(dto.getSalespersonName()); user.setPassword(SecurityUtils.encryptPassword(dto.getPassword())); user.setStatus("0"); user.setDelFlag("0"); user.setRoleType(3); user.setRoleId(3L); sysUserService.insertUser(user); dto.setUserId(user.getUserId()); this.updateById(dto); return R.ok(); } @Override public R updateSalesperson(TCrmSalespersonDTO dto) { // 判断账号是否已存在 SysUser sysUser1 = sysUserService.selectUserByUserName(dto.getPhone()); if(Objects.nonNull(sysUser1) && !sysUser1.getUserId().equals(dto.getUserId())){ return R.fail(dto.getPhone()+"-账号已存在"); } SysUser user = sysUserService.selectUserById(dto.getUserId()); this.updateById(dto); if(Objects.nonNull(user)){ // 修改账号 user.setPhonenumber(dto.getPhone()); user.setUserName(dto.getPhone()); user.setNickName(dto.getSalespersonName()); if(StringUtils.isNotEmpty(dto.getPassword())){ user.setPassword(SecurityUtils.encryptPassword(dto.getPassword())); } sysUserService.updateUser(user); } return R.ok(); } @Override public boolean isExit(TCrmSalespersonDTO dto) { if(StringUtils.isNotEmpty(dto.getId())){ // 修改 return this.count(Wrappers.lambdaQuery(TCrmSalesperson.class).ne(TCrmSalesperson::getId, dto.getId()).eq(TCrmSalesperson::getSalespersonName, dto.getSalespersonName())) > 0; }else { // 新增 return this.count(Wrappers.lambdaQuery(TCrmSalesperson.class).eq(TCrmSalesperson::getSalespersonName, dto.getSalespersonName())) > 0; } } @Override public List listExport(TCrmSalespersonQuery query) { List list = this.baseMapper.listExport(query); return list; } }