package cn.iocoder.yudao.module.wxcp.dal.mysql.activity;
|
|
import cn.hutool.core.collection.CollUtil;
|
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.wxcp.controller.admin.activity.vo.WxCpSignupPageReqVO;
|
import cn.iocoder.yudao.module.wxcp.dal.dataobject.activity.WxCpActivitySignupDO;
|
import org.apache.ibatis.annotations.Mapper;
|
|
import java.util.List;
|
|
/**
|
* 企业微信活动报名 Mapper
|
*
|
* @author 超级管理员
|
*/
|
@Mapper
|
public interface WxCpActivitySignupMapper extends BaseMapperX<WxCpActivitySignupDO> {
|
|
default WxCpActivitySignupDO selectByActivityIdAndWxUserId(Long activityId, String wxUserId) {
|
return CollUtil.getFirst(selectList(new LambdaQueryWrapperX<WxCpActivitySignupDO>()
|
.eq(WxCpActivitySignupDO::getActivityId, activityId)
|
.eq(WxCpActivitySignupDO::getWxUserId, wxUserId)
|
.orderByAsc(WxCpActivitySignupDO::getId)));
|
}
|
|
/**
|
* 按手机号查报名记录
|
*
|
* 普通浏览器扫码报名时拿不到企业微信成员账号,改用手机号做去重依据
|
*/
|
default WxCpActivitySignupDO selectByActivityIdAndMobile(Long activityId, String mobile) {
|
return CollUtil.getFirst(selectList(new LambdaQueryWrapperX<WxCpActivitySignupDO>()
|
.eq(WxCpActivitySignupDO::getActivityId, activityId)
|
.eq(WxCpActivitySignupDO::getMobile, mobile)
|
.orderByAsc(WxCpActivitySignupDO::getId)));
|
}
|
|
default List<WxCpActivitySignupDO> selectListByActivityId(Long activityId) {
|
return selectList(new LambdaQueryWrapperX<WxCpActivitySignupDO>()
|
.eq(WxCpActivitySignupDO::getActivityId, activityId)
|
.orderByAsc(WxCpActivitySignupDO::getId));
|
}
|
|
default PageResult<WxCpActivitySignupDO> selectPage(WxCpSignupPageReqVO reqVO) {
|
return selectPage(reqVO, new LambdaQueryWrapperX<WxCpActivitySignupDO>()
|
.eqIfPresent(WxCpActivitySignupDO::getActivityId, reqVO.getActivityId())
|
.likeIfPresent(WxCpActivitySignupDO::getName, reqVO.getName())
|
.likeIfPresent(WxCpActivitySignupDO::getMobile, reqVO.getMobile())
|
.eqIfPresent(WxCpActivitySignupDO::getStatus, reqVO.getStatus())
|
.orderByDesc(WxCpActivitySignupDO::getId));
|
}
|
|
}
|