|
|
|
|
@ -2,12 +2,15 @@ package cn.iocoder.yudao.module.crm.dal.mysql.clue;
|
|
|
|
|
|
|
|
|
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|
|
|
|
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
|
|
|
|
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
|
|
|
|
import cn.iocoder.yudao.module.crm.controller.admin.clue.vo.CrmClueExportReqVO;
|
|
|
|
|
import cn.iocoder.yudao.framework.mybatis.core.query.MPJLambdaWrapperX;
|
|
|
|
|
import cn.iocoder.yudao.module.crm.controller.admin.clue.vo.CrmCluePageReqVO;
|
|
|
|
|
import cn.iocoder.yudao.module.crm.dal.dataobject.clue.CrmClueDO;
|
|
|
|
|
import cn.iocoder.yudao.module.crm.enums.common.CrmBizTypeEnum;
|
|
|
|
|
import cn.iocoder.yudao.module.crm.util.CrmQueryWrapperUtils;
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
|
|
import org.apache.ibatis.annotations.Mapper;
|
|
|
|
|
|
|
|
|
|
import java.util.Collection;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
@ -18,27 +21,30 @@ import java.util.List;
|
|
|
|
|
@Mapper
|
|
|
|
|
public interface CrmClueMapper extends BaseMapperX<CrmClueDO> {
|
|
|
|
|
|
|
|
|
|
default PageResult<CrmClueDO> selectPage(CrmCluePageReqVO reqVO) {
|
|
|
|
|
return selectPage(reqVO, new LambdaQueryWrapperX<CrmClueDO>()
|
|
|
|
|
.likeIfPresent(CrmClueDO::getName, reqVO.getName())
|
|
|
|
|
.likeIfPresent(CrmClueDO::getTelephone, reqVO.getTelephone())
|
|
|
|
|
.likeIfPresent(CrmClueDO::getMobile, reqVO.getMobile())
|
|
|
|
|
.orderByDesc(CrmClueDO::getId));
|
|
|
|
|
default int updateOwnerUserIdById(Long id, Long ownerUserId) {
|
|
|
|
|
return update(new LambdaUpdateWrapper<CrmClueDO>()
|
|
|
|
|
.eq(CrmClueDO::getId, id)
|
|
|
|
|
.set(CrmClueDO::getOwnerUserId, ownerUserId));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
default List<CrmClueDO> selectList(CrmClueExportReqVO reqVO) {
|
|
|
|
|
return selectList(new LambdaQueryWrapperX<CrmClueDO>()
|
|
|
|
|
.eqIfPresent(CrmClueDO::getTransformStatus, reqVO.getTransformStatus())
|
|
|
|
|
.eqIfPresent(CrmClueDO::getFollowUpStatus, reqVO.getFollowUpStatus())
|
|
|
|
|
.likeIfPresent(CrmClueDO::getName, reqVO.getName())
|
|
|
|
|
.eqIfPresent(CrmClueDO::getCustomerId, reqVO.getCustomerId())
|
|
|
|
|
.betweenIfPresent(CrmClueDO::getContactNextTime, reqVO.getContactNextTime())
|
|
|
|
|
.likeIfPresent(CrmClueDO::getTelephone, reqVO.getTelephone())
|
|
|
|
|
.likeIfPresent(CrmClueDO::getMobile, reqVO.getMobile())
|
|
|
|
|
.likeIfPresent(CrmClueDO::getAddress, reqVO.getAddress())
|
|
|
|
|
.betweenIfPresent(CrmClueDO::getContactLastTime, reqVO.getContactLastTime())
|
|
|
|
|
.betweenIfPresent(CrmClueDO::getCreateTime, reqVO.getCreateTime())
|
|
|
|
|
.orderByDesc(CrmClueDO::getId));
|
|
|
|
|
default PageResult<CrmClueDO> selectPage(CrmCluePageReqVO pageReqVO, Long userId) {
|
|
|
|
|
MPJLambdaWrapperX<CrmClueDO> mpjLambdaWrapperX = new MPJLambdaWrapperX<>();
|
|
|
|
|
// 构建数据权限连表条件
|
|
|
|
|
CrmQueryWrapperUtils.builderPageQuery(mpjLambdaWrapperX, CrmBizTypeEnum.CRM_LEADS.getType(), CrmClueDO::getId,
|
|
|
|
|
userId, pageReqVO.getSceneType(), pageReqVO.getPool());
|
|
|
|
|
mpjLambdaWrapperX.selectAll(CrmClueDO.class)
|
|
|
|
|
.likeIfPresent(CrmClueDO::getName, pageReqVO.getName())
|
|
|
|
|
.likeIfPresent(CrmClueDO::getTelephone, pageReqVO.getTelephone())
|
|
|
|
|
.likeIfPresent(CrmClueDO::getMobile, pageReqVO.getMobile())
|
|
|
|
|
.orderByDesc(CrmClueDO::getId);
|
|
|
|
|
return selectJoinPage(pageReqVO, CrmClueDO.class, mpjLambdaWrapperX);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
default List<CrmClueDO> selectBatchIds(Collection<Long> ids, Long userId) {
|
|
|
|
|
MPJLambdaWrapperX<CrmClueDO> mpjLambdaWrapperX = new MPJLambdaWrapperX<>();
|
|
|
|
|
// 构建数据权限连表条件
|
|
|
|
|
CrmQueryWrapperUtils.builderListQueryBatch(mpjLambdaWrapperX, CrmBizTypeEnum.CRM_LEADS.getType(), ids, userId);
|
|
|
|
|
return selectJoinList(CrmClueDO.class, mpjLambdaWrapperX);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|