package com.ruoyi.order.mapper.order;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.order.domain.dto.*;
import com.ruoyi.order.domain.pojo.order.Order;
import com.ruoyi.order.domain.vo.MerMemberNoClearOrderVo;
import com.ruoyi.order.domain.vo.MerOrderPageVo;
import com.ruoyi.order.domain.vo.MerOrderTotalVo;
import com.ruoyi.order.domain.vo.MerTotalOrderVo;
import com.ruoyi.order.domain.vo.*;
import com.ruoyi.system.api.domain.dto.*;
import com.ruoyi.system.api.domain.vo.*;
import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal;
import java.util.List;
/**
*
* 订单 Mapper 接口
*
*
* @author jqs
* @since 2023-04-25
*/
public interface OrderMapper extends BaseMapper {
/**
* 分页获取用户订单
* @param page
* @param appUserOrderPageDto
* @return
*/
List pageUserOrder(Page page, @Param("param") AppUserOrderPageDto appUserOrderPageDto);
/**
* 收银未结清订单列表
* @param page
* @param pageMerMemberNoClearOrder
* @return
*/
List pageMerMemberNoClearOrder(Page page, @Param("param") MerMemberNoClearOrderDto pageMerMemberNoClearOrder);
/**
* 分页获取商户订单
* @param merOrderPageDto
* @return
*/
List pageMerOrder(Page page, @Param("param") MerOrderPageDto merOrderPageDto);
/**
* 收银未结清订单列表
* @param page
* @param userId
* @return
*/
List pageMerMemberOrder(Page page, @Param("userId") Long userId,@Param("shopId") Long shopId);
/**
* 获取用户订单统计
* @param mgtMemberOrderTotalDto
* @return
*/
MgtMemberOrderTotalVo getMgtMemberOrderTotal(@Param("param") MgtMemberOrderTotalDto mgtMemberOrderTotalDto);
/**
* 分页获取用户订单列表
* @param page
* @param mgtMemberOrderPageDto
* @return
*/
List pageMgtMemberOrder(Page page, @Param("param") MgtMemberOrderPageDto mgtMemberOrderPageDto);
/**
* @description 分页获取活动订单列表
* @author jqs
* @date 2023/6/16 10:43
* @param page
* @param mgtShopOrderPageDto
* @return List
*/
List pageMgtActivityOrder(Page page, @Param("param")MgtShopOrderPageDto mgtShopOrderPageDto);
/**
* @description 统计订单总数
* @author jqs
* @date 2023/6/16 13:39
* @param
* @return MgtOrderTotal
*/
MgtOrderTotal totalOrderFirst(@Param("param")MgtShopOrderPageDto mgtShopOrderPageDto);
/**
* @description 统计门店订单总数
* @author jqs
* @date 2023/6/16 13:53
* @param mgtShopOrderPageDto
* @return MgtOrderTotal
*/
MgtOrderTotal totalOrderSecond(@Param("param")MgtShopOrderPageDto mgtShopOrderPageDto);
/**
* @description 统计活动订单总数
* @author jqs
* @date 2023/6/16 13:53
* @param mgtShopOrderPageDto
* @return MgtOrderTotal
*/
MgtOrderTotal totalOrderThird(@Param("param")MgtShopOrderPageDto mgtShopOrderPageDto);
/**
* @description 统计订单总数
* @author jqs
* @date 2023/6/16 13:53
* @param mgtShopOrderPageDto
* @return MgtOrderTotal
*/
MgtOrderTotal totalOrder(@Param("param")MgtShopOrderPageDto mgtShopOrderPageDto);
/**
* @description 分页获取门店订单列表
* @author jqs
* @date 2023/6/16 14:57
* @param page
* @param mgtShopOrderPageDto
* @return List
*/
List pageMgtShopOrder(Page page, @Param("param")MgtShopOrderPageDto mgtShopOrderPageDto);
/**
* @description boardOrderTotal
* @param
* @return MgtBulletinBoardVo
* @author jqs34
* @date 2023/6/18 17:20
*/
MgtBulletinBoardVo boardOrderTotal(@Param("shopIds") List shopIds);
/**
* @description 活动人数统计
* @author jqs
* @date 2023/8/3 21:12
* @param
* @return Integer
*/
Integer activityUserTotal(@Param("shopIds") List shopIds);
/**
* @description getTotalOrderTotalOrderFrom
* @param mgtBaseShopDto
* @return MgtTotalOrderTotalVo
* @author jqs34
* @date 2023/6/19 22:24
*/
MgtTotalOrderTotalVo getTotalOrderTotalOrderFrom(@Param("param") MgtBaseShopDto mgtBaseShopDto);
/**
* @description getTotalOrderTotalGoodsType
* @param merTotalDto
* @return MgtTotalOrderTotalVo
* @author jqs34
* @date 2023/6/19 22:24
*/
MerOrderTotalVo getMerTotalOrderTotalGoodsType(@Param("param") MerTotalDto merTotalDto);
/**
* @description getTotalOrderTotalGoodsType
* @param mgtBaseShopDto
* @return MgtTotalOrderTotalVo
* @author jqs34
* @date 2023/6/19 22:24
*/
MgtTotalOrderTotalVo getTotalOrderTotalGoodsType(@Param("param") MgtBaseShopDto mgtBaseShopDto);
/**
* @description listTotalOrderTotal
* @param mgtBaseShopDto
* @return List
* @author jqs34
* @date 2023/6/19 22:48
*/
List listTotalOrderTotal(@Param("param") MgtBaseShopDto mgtBaseShopDto);
/**
* @description listTotalOrderTotalGoodsType
* @param mgtBaseShopDto
* @return List
* @author jqs34
* @date 2023/6/19 22:48
*/
List listTotalOrderTotalGoodsType(@Param("param") MgtBaseShopDto mgtBaseShopDto);
/**
* @description listTotalOrderTotalGoodsRank
* @param mgtBaseShopDto
* @return List
* @author jqs34
* @date 2023/6/19 22:48
*/
List listTotalOrderTotalGoodsRank(@Param("param") MgtBaseShopDto mgtBaseShopDto);
/**
* @description listTotalOrderTotalOrderFrom
* @param mgtBaseShopDto
* @return List
* @author jqs34
* @date 2023/6/19 22:48
*/
List listTotalOrderTotalOrderFrom(@Param("param") MgtBaseShopDto mgtBaseShopDto);
/**
* @description getTotalActivityTotal
* @author jqs
* @date 2023/6/20 9:28
* @param mgtBaseShopDto
* @return MgtTotalActivityTotalVo
*/
MgtTotalActivityTotalVo getTotalActivityTotal(@Param("param")MgtBaseShopDto mgtBaseShopDto);
/**
* @description listTotalActivityTotalGoodsType
* @param mgtBaseShopDto
* @return List
* @author jqs34
* @date 2023/6/19 22:48
*/
List listTotalActivityTotalGoodsType(@Param("param") MgtBaseShopDto mgtBaseShopDto);
/**
* @description listTotalActivityTotal
* @param mgtBaseShopDto
* @return List
* @author jqs34
* @date 2023/6/19 22:48
*/
List listTotalActivityTotal(@Param("param") MgtBaseShopDto mgtBaseShopDto);
/**
* @description
* @author jqs
* @date 2023/6/20 11:37
* @param mgtActivityAgeDto
* @return List
*/
List getUserIdAgeRank(@Param("param") MgtActivityAgeDto mgtActivityAgeDto);
/**
* @description
* @author jqs
* @date 2023/6/20 9:57
* @param mgtActivityAgeDto
* @return MgtTotalActivityTotalVo
*/
List getTotalActivityAgeRank(@Param("param")MgtActivityAgeDto mgtActivityAgeDto);
/**
* @description
* @author jqs
* @date 2023/6/20 15:50
* @param mgtBaseShopDto
* @return MgtTotalDataTotalVo
*/
MgtTotalDataTotalVo getTotalDataTotal(@Param("param")MgtBaseShopDto mgtBaseShopDto);
/**
* @description
* @author jqs
* @date 2023/6/20 15:50
* @param mgtBaseShopDto
* @return MgtTotalDataTotalVo
*/
MgtTotalDataTotalVo getTotalDataMemberTotal(@Param("param")MgtBaseShopDto mgtBaseShopDto);
/**
* @description
* @author jqs
* @date 2023/6/20 18:16
* @param
* @return Integer
*/
Integer getReorderPerson(@Param("param")MgtBaseShopDto mgtBaseShopDto);
/**
* @description
* @author jqs
* @date 2023/6/20 18:16
* @param
* @return Integer
*/
Integer getReturnedPerson(@Param("param")MgtBaseShopDto mgtBaseShopDto);
/**
* @description
* @author jqs
* @date 2023/6/21 15:27
* @param mgtBasePlatformDto
* @return List
*/
List listMemberGoodsRank(@Param("param")MgtBasePlatformDto mgtBasePlatformDto);
/**
* @description getTotalOrderTotalOrderFrom
* @param mgtBasePlatformDto
* @return MgtTotalOrderTotalVo
* @author jqs34
* @date 2023/6/19 22:24
*/
MgtTotalOrderTotalVo getPlTotalOrderTotalOrderFrom(@Param("param") MgtBasePlatformDto mgtBasePlatformDto);
/**
* @description getTotalOrderTotalGoodsType
* @param mgtBasePlatformDto
* @return MgtTotalOrderTotalVo
* @author jqs34
* @date 2023/6/19 22:24
*/
MgtTotalOrderTotalVo getPlTotalOrderTotalGoodsType(@Param("param")MgtBasePlatformDto mgtBasePlatformDto);
/**
* @description listTotalOrderTotal
* @param mgtBasePlatformDto
* @return List
* @author jqs34
* @date 2023/6/19 22:48
*/
List listPlTotalOrderTotal(@Param("param") MgtBasePlatformDto mgtBasePlatformDto);
/**
* @description listTotalOrderTotalGoodsType
* @param mgtBasePlatformDto
* @return List
* @author jqs34
* @date 2023/6/19 22:48
*/
List listPlTotalOrderTotalGoodsType(@Param("param") MgtBasePlatformDto mgtBasePlatformDto);
/**
* @description listTotalOrderTotalGoodsRank
* @param mgtBasePlatformDto
* @return List
* @author jqs34
* @date 2023/6/19 22:48
*/
List listPlTotalOrderTotalGoodsRank(@Param("param") MgtBasePlatformDto mgtBasePlatformDto);
/**
* @description listTotalOrderTotalOrderFrom
* @param mgtBasePlatformDto
* @return List
* @author jqs34
* @date 2023/6/19 22:48
*/
List listPlTotalOrderTotalOrderFrom(@Param("param") MgtBasePlatformDto mgtBasePlatformDto);
/**
* @description getTotalActivityTotal
* @author jqs
* @date 2023/6/20 9:28
* @param mgtBasePlatformDto
* @return MgtTotalActivityTotalVo
*/
MgtPlTotalActivityTotalVo getPlTotalActivityTotal(@Param("param") MgtBasePlatformDto mgtBasePlatformDto);
/**
* @description 活动获客人数
* @author jqs
* @date 2023/8/26 16:07
* @param mgtBasePlatformDto
* @return MgtPlTotalActivityTotalVo
*/
MgtPlTotalActivityTotalVo getPlTotalActivityMemberTotal(@Param("param") MgtBasePlatformDto mgtBasePlatformDto);
/**
* @description 活动获客人数
* @author jqs
* @date 2023/8/26 16:07
* @param mgtBaseShopDto
* @return getTotalActivityMemberTotal
*/
MgtTotalActivityTotalVo getTotalActivityMemberTotal(@Param("param") MgtBaseShopDto mgtBaseShopDto);
/**
* @description listTotalActivityTotalGoodsType
* @param mgtBasePlatformDto
* @return List
* @author jqs34
* @date 2023/6/19 22:48
*/
List listPlTotalActivityTotalGoodsType(@Param("param") MgtBasePlatformDto mgtBasePlatformDto);
/**
* @description listTotalActivityTotal
* @param mgtBasePlatformDto
* @return List
* @author jqs34
* @date 2023/6/19 22:48
*/
List listPlTotalActivityTotal(@Param("param") MgtBasePlatformDto mgtBasePlatformDto);
/**
* @description
* @author jqs
* @date 2023/6/20 11:37
* @param mgtActivityAgeDto
* @return List
*/
List getPlUserIdAgeRank(@Param("param") MgtPlActivityAgeDto mgtActivityAgeDto);
/**
* @description
* @author jqs
* @date 2023/6/20 9:57
* @param mgtActivityAgeDto
* @return MgtTotalActivityTotalVo
*/
List getPlTotalActivityAgeRank(@Param("param")MgtPlActivityAgeDto mgtActivityAgeDto);
/**
* @description listPlTotalShopActivityRank
* @param mgtBasePlatformDto
* @return List
* @author jqs34
* @date 2023/6/19 22:48
*/
List listPlTotalShopActivityRank(@Param("param") MgtBasePlatformDto mgtBasePlatformDto);
/**
* @description listTotalActivityTotal
* @param mgtBasePlatformDto
* @return List
* @author jqs34
* @date 2023/6/19 22:48
*/
List listPlTotalShopActivitySalesRank(@Param("param") MgtBasePlatformDto mgtBasePlatformDto);
/**
* @description listTotalActivityTotal
* @param mgtBasePlatformDto
* @return List
* @author jqs34
* @date 2023/6/19 22:48
*/
List listPlTotalActivitySalesRank(@Param("param") MgtBasePlatformDto mgtBasePlatformDto);
/**
* @description
* @author jqs
* @date 2023/6/25 17:28
* @param shopId
* @return MerHomeShopTotalVo
*/
MerHomeShopTotalVo getMerHomeShopTotalVo(Long shopId);
/**
* @description
* @author jqs
* @date 2023/6/25 17:28
* @param shopId
* @return MerHomeShopTotalVo
*/
MerHomeShopTotalVo getMerHomeShopServiceTotalVo(@Param("shopId") Long shopId, @Param("userIds") List userIds);
/**
* @description
* @author cheny
* @param shopIds
* @return MerHomeShopTotalVo
*/
MerHomeShopTotalVo getMerHomeShopsTotalVo(List shopIds);
/**
* @description 统计商户营业额
* @author jqs
* @date 2023/6/27 19:13
* @param mgtBaseShopDto
* @return BigDecimal
*/
BigDecimal shopSalesTotal(@Param("param")MgtBaseShopDto mgtBaseShopDto);
/**
* @description 获取用户未支付金额
* @author jqs
* @date 2023/6/29 18:00
* @param merBaseDto
* @return BigDecimal
*/
BigDecimal getMemberUnpaidOrder(@Param("param")MerBaseDto merBaseDto);
/**
* @description getTotalOrderTotalOrderFrom
* @param merTotalDto
* @return MgtTotalOrderTotalVo
* @author jqs34
* @date 2023/6/19 22:24
*/
MerOrderTotalVo getMerOrderTotalOrderFrom(@Param("param")MerTotalDto merTotalDto);
/**
* @description 获取各年龄层统计
* @author jqs
* @date 2023/7/4 10:27
* @param merTotalDto
* @return MgtMapTotalPlusVo
*/
List listMerOrderDistributionTotal(@Param("param")MerTotalDto merTotalDto);
/**
* @description 商户获取销售占比统计
* @param merTotalDto
* @return List
* @author jqs34
* @date 2023/6/19 22:48
*/
List listMerOrderTotalGoodsType(@Param("param")MerTotalDto merTotalDto);
/**
* @description 商户获取销售排名
* @param merTotalDto
* @return List
* @author jqs34
* @date 2023/6/19 22:48
*/
List listMerOrderTotalGoodsRank(@Param("param")MerTotalDto merTotalDto);
/**
* @description listTotalOrderTotalOrderFrom
* @param merTotalDto
* @return List
* @author jqs34
* @date 2023/6/19 22:48
*/
List listMerOrderTotalOrderFrom(@Param("param")MerTotalDto merTotalDto);
/**
* @description 商户端订单管理统计
* @author jqs
* @date 2023/7/4 16:27
* @param merOrderPageDto
* @return MerTotalOrderVo
*/
MerTotalOrderVo totalMerOrder(@Param("param")MerOrderPageDto merOrderPageDto);
/**
* @description 平台获取商户订单记录
* @author jqs
* @date 2023/7/5 20:17
* @param page
* @param mgtShopAllOrderPageDto
* @return List
*/
List pageMgtShopAllOrder(Page page, @Param("param")MgtShopAllOrderPageDto mgtShopAllOrderPageDto);
/**
* @description 统计用户活动参与次数
* @author jqs
* @date 2023/7/13 18:27
* @param userId
* @param activityId
* @return Integer
*/
Integer countUserActivityByActivity(@Param("userId")Long userId, @Param("activityId")String activityId);
/**
* @description 员工端活动订单统计
* @author jqs
* @date 2023/7/17 15:25
* @param staffTotalDto
* @return StaffActivityOrderTotalVo
*/
StaffActivityOrderTotalVo getStaffActivityOrderTotal(@Param("param")StaffTotalDto staffTotalDto);
/**
* @description 员工端活动订单统计
* @author jqs
* @date 2023/7/17 15:25
* @param staffTotalDto
* @return StaffActivityOrderTotalVo
*/
StaffActivityOrderTotalVo getStaffActivityOrderGoodsTotal(@Param("param")StaffTotalDto staffTotalDto);
/**
* @description 员工端活动统计
* @author jqs
* @date 2023/7/17 15:51
* @param staffTotalDto
* @return StaffActivityTotalVo
*/
StaffActivityTotalVo getStaffActivityTotal(@Param("param")StaffTotalDto staffTotalDto);
/**
* @description 获取各年龄层统计
* @author jqs
* @date 2023/7/4 10:27
* @param staffTotalDto
* @return MgtMapTotalPlusVo
*/
List listStaffActivityOrderDistributionTotal(@Param("param")StaffTotalDto staffTotalDto);
/**
* @description 员工端活动统计销售占比
* @author jqs
* @date 2023/7/17 17:05
* @param staffTotalDto
* @return List
*/
List listStaffOrderTotalGoodsType(@Param("param")StaffTotalDto staffTotalDto);
/**
* @description 员工端获取活动获客人数
* @author jqs
* @date 2023/7/17 18:44
* @param staffTotalDto
* @return List
*/
List getStaffActivityGetMemberTotal(@Param("param")StaffTotalDto staffTotalDto);
List getMgtActivityGetMemberTotal(@Param("param")MgtBasePlatformDto mgtBasePlatformDto);
/**
* @description 员工端获取活动获客人数
* @author jqs
* @date 2023/7/17 18:44
* @param staffTotalDto
* @return List
*/
List getStaffActivityMemberTotal(@Param("param")StaffTotalDto staffTotalDto);
List getMgtActivityMemberTotal(@Param("param")MgtBasePlatformDto mgtBasePlatformDto);
List getActivityMemberTotal(@Param("param")MgtBaseShopDto mgtBaseShopDto);
/**
* @description 获取用户商品购买数量
* @author jqs
* @date 2023/7/23 18:17
* @param goodsId
* @return Integer
*/
Integer countUserBuyGoodsNum(@Param("goodsId")String goodsId);
/**
* @description 获取商户订单统计
* @author jqs
* @date 2023/8/4 10:25
* @param mgtShopAllOrderPageDto
* @return MgtShopAllOrderTotal
*/
MgtShopAllOrderTotal getMgtShopAllOrderTotal(@Param("param")MgtShopAllOrderPageDto mgtShopAllOrderPageDto);
/**
* 分页获取消费记录
* @param merOrderPageDto
* @return
*/
List pageMerMemberPayOrder(Page page,@Param("param") MerMemberNoClearOrderDto merOrderPageDto);
/**
* @description 获取销售排行
* @author jqs
* @date 2023/8/24 18:00
* @param shopIdList
* @return List
*/
List shopSalesRank(@Param("shopIdList")List shopIdList);
/**
* @description 获取区域统计
* @author jqs
* @date 2023/8/25 11:49
* @param shopIdList
* @return AgencyTotalVo
*/
AgencyTotalVo getAgencyTotalVo(@Param("shopIdList")List shopIdList);
/**
* @description 商户端会员订单统计
* @author jqs
* @date 2023/8/29 17:39
* @param merBaseDto
* @return MerMemberSimpleTotalVo
*/
MerMemberSimpleTotalVo getMerMemberSimpleTotalVo(@Param("param") MerBaseDto merBaseDto);
/**
* 查询第三方订单
* @param page
* @param dto
* @return
*/
List pageMgtThirdOrder(Page page,@Param("param") MgtThirdOrderPageDto dto);
/**
* 统计三方订单
* @param mgtBasePlatformDto
* @return
*/
MgtPlTotalThirdOrderStaticsVO getPlTotalThirdOrderStatics(@Param("param")MgtBasePlatformDto mgtBasePlatformDto);
/**
* @description 统计第三方订单总数
* @author jqs
* @date 2023/6/16 13:53
* @param mgtShopOrderPageDto
* @return MgtOrderTotal
*/
MgtOrderTotal totalOrderFour(@Param("param")MgtShopOrderPageDto mgtShopOrderPageDto);
}