package com.cyksj.mapper; import cn.hutool.core.date.DateTime; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.cyksj.model.entity.GroupsRelation; import com.cyksj.model.entity.PhoneCode; import com.cyksj.model.manage.views.GroupsRelationBackView; import com.cyksj.model.manage.views.GroupsRelationView; import com.cyksj.model.views.GroupsRelationUserView; import com.cyksj.model.views.RenewalView; import com.cyksj.model.views.UserRecommendGoodsFrontView; import com.cyksj.model.views.UserTicketView; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Update; import java.util.Date; import java.util.List; /** * @author chan * @date 2022/9/27 11:10 AM */ public interface GroupsRelationMapper extends BaseMapper { List getAccountIdsByUserIdOrNickNameOrSubmitAccount(@Param("userId") Long userId, @Param("nickName") String nickName, @Param("submitAccount") String submitAccount); Integer updateExpiryTime(@Param("entity") GroupsRelation relation, @Param("expireTime") Date expireTime); Long getGroupTripsSkuIdByRelationId(Long relationId); @Update("update groups_relation set customer_service = null where id = #{id}") void updateCustomerService(Long id); Long selectSimilarExpiredRelation(@Param("skuId") Long skuId, @Param("minExpiryTime") DateTime minExpiryTime, @Param("maxNum") Integer maxNum, @Param("ip") String ip); List selectRelationByGoodsId(@Param("goodsId") Long goodsId, @Param("userIds") List userIds, @Param("yhsId") Long yhsId); GroupsRelationView getGroupRelationViewByUserIdAndRelationId(@Param("userId") Long userId, @Param("relationId") Long relationId); String getBindPhoneByUserId(Long userId); Integer selectViewPwdCount(Long groupsId); GroupsRelation selectRandomOneRelationByGroupsId(Long groupsId); List selectExpiredRelationByCondition(@Param("now") DateTime now, @Param("list") List filterSkuIds); GroupsRelation selectOutsideRelationByGroupsId(@Param("groupsId") Long groupsId, @Param("relationNum") Integer relationNum); List selectExpiredChatGPTRelation(@Param("nextBeginDay") DateTime nextBeginDay, @Param("list") List gptSkuIds); List getUserRelationUserViews(@Param("groupsId") Long groupsId, @Param("relationId") Long relationId, @Param("userId") Long userId, @Param("status") List status); List getTicketGoodsId(@Param("list") List userIds, @Param("status") List status); Page getRecommendGoodsViews(@Param("page") Page page, @Param("list") List filter_goods_id, @Param("isPayNf") Boolean isPayNf, @Param("filterCourseGoods") Boolean filterCourseGoods); Long getOutSideGroupsTripsRelationByGoodsId(@Param("skuId") Long skuId, @Param("beginOfDay") DateTime beginOfDay, @Param("extraNum") Integer extraNum, @Param("userId") Long userId, @Param("skuNum") Integer skuNum, @Param("maxNum") Integer maxNum); Integer selectAvailableRelation(@Param("skuId") Long skuId, @Param("skuNum") Integer skuNum); Integer selectSpecialGroupsRelationAvailable(@Param("skuId") Long skuId, @Param("maxNum") Integer maxNum, @Param("skuNum") Integer skuNum, @Param("extractNum") Integer extractNum, @Param("tenExpiry") DateTime tenExpiry); Integer selectNumWaitingGroups(Long skuId); Integer selectLimitAvailableNum(@Param("skuId") Long skuId, @Param("maxNum") Integer maxNum); GroupsRelationBackView getGroupRelationAccountView(Long relationId); PhoneCode getAreaPhoneByUserId(Long userId); List getUserHasPayGoods(@Param("list") List userIds, @Param("now") DateTime now); Long getExperienceTicket(@Param("userId") Long userId, @Param("skuId") Long skuId); Long selectGoodsDonQaByGoodsId(Long goodsId); GroupsRelation selectRelationByAccountAndNum(@Param("account") String account, @Param("password") String password, @Param("goodsId") Long goodsId, @Param("num") Integer num); List selectExtraRelation(@Param("userId") Long userId, @Param("skuId") Long skuId, @Param("relationId") Long relationId); void incrExpiryTime(@Param("relationId") Long relationId, @Param("userId") Long userId); List selectUserTickets(@Param("userIds") List userIds, @Param("goodsId") Long goodsId, @Param("skuId") Long skuId); Integer selectCountByGoodsId(@Param("userIds") List userIdList, @Param("goodsId") Long goodsId, @Param("now") DateTime now); }