package com.yeshi.fanli.dao.mybatis.order;
|
|
import java.math.BigDecimal;
|
import java.util.Date;
|
import java.util.List;
|
import java.util.Map;
|
|
import com.ks.lijin.query.BaseDaoQuery;
|
import com.yeshi.fanli.entity.SystemEnum;
|
import org.apache.ibatis.annotations.Param;
|
|
import com.yeshi.fanli.dao.BaseMapper;
|
import com.yeshi.fanli.entity.order.CommonOrder;
|
import com.yeshi.fanli.entity.order.ESOrder;
|
import com.yeshi.fanli.vo.order.CommonOrderVO;
|
import com.yeshi.fanli.vo.order.OrderCountVO;
|
|
public interface CommonOrderMapper extends BaseMapper<CommonOrder> {
|
|
|
/**
|
* 查询用户订单 并订单号分组
|
*
|
* @param start
|
* @param count
|
* @param uid
|
* @return
|
*/
|
|
List<CommonOrderVO> listUserOrder(@Param("start") long start, @Param("count") int count, @Param("uid") Long uid,
|
@Param("state") Integer state, @Param("type") Integer type, @Param("orderState") Integer orderState,
|
@Param("orderNo") String orderNo, @Param("startTime") String startTime, @Param("endTime") String endTime,
|
@Param("day") Integer day, @Param("listSource") List<Integer> listSource);
|
|
/**
|
* 统计用户订单 并订单号分组
|
*
|
* @param start
|
* @param count
|
* @param uid
|
* @return
|
*/
|
long countUserOrder(@Param("uid") Long uid, @Param("state") Integer state, @Param("type") Integer type,
|
@Param("orderState") Integer orderState, @Param("orderNo") String orderNo,
|
@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("day") Integer day,
|
@Param("listSource") List<Integer> listSource);
|
|
/**
|
* 判断部分失效状态
|
*
|
* @param uid
|
* @param orderNo
|
* @return
|
*/
|
CommonOrderVO getBuFenOrderState(@Param("uid") Long uid, @Param("orderNo") String orderNo);
|
|
/**
|
* 根据用户ID,订单状态和订单结算时间统计订单的数量
|
*
|
* @param uid
|
* @param state
|
* @param minDate
|
* @param maxDate
|
* @return
|
*/
|
long countByUidAndOrderStateWithOrderBalanceTime(@Param("uid") Long uid, @Param("state") int state,
|
@Param("minDate") Date minDate, @Param("maxDate") Date maxDate);
|
|
/**
|
* 根据订单号、订单类型查询商品
|
*
|
* @param list 订单对象
|
* @return
|
*/
|
List<CommonOrderVO> listOrderGoodsInfo(List<CommonOrderVO> list);
|
|
/**
|
* 统计历史订单数量
|
*
|
* @param uid
|
* @return
|
*/
|
Map<String, BigDecimal> countHistoryOrder(@Param("uid") Long uid, @Param("day") Integer day,
|
@Param("source") Integer source);
|
|
|
/**
|
* 统计有效订单数量
|
*
|
* @param uid
|
* @return
|
*/
|
OrderCountVO getOrderCount(@Param("uid") Long uid, @Param("day") Integer day, @Param("listSource") List<Integer> listSource);
|
|
/**
|
* 昨日总订单-根据红包类型 自购 邀请 分享
|
*
|
* @param uid
|
* @return
|
*/
|
long countUserOrderToApp(@Param("uid") Long uid, @Param("type") Integer type,
|
@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("day") Integer day,
|
@Param("source") Integer source, @Param("state") Integer state, @Param("stateOrder") Integer stateOrder);
|
|
/**
|
* 奖金订单数量
|
*
|
* @param uid
|
* @return
|
*/
|
long countBonusOrderNumber(@Param("uid") Long uid, @Param("type") Integer type, @Param("day") Integer day,
|
@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("source") Integer source);
|
|
/**
|
* 奖金统计
|
*
|
* @param uid
|
* @return
|
*/
|
BigDecimal countBonusOrderMoney(@Param("uid") Long uid, @Param("type") Integer type, @Param("day") Integer day,
|
@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("source") Integer source);
|
|
/**
|
* 奖金统计
|
*
|
* @param uid
|
* @return
|
*/
|
Map<String, Object> countBonusOrderMoneyAndNumber(@Param("uid") Long uid, @Param("type") Integer type,
|
@Param("day") Integer day, @Param("startTime") String startTime, @Param("endTime") String endTime,
|
@Param("source") Integer source);
|
|
int countByOrderNOAndOrderType(@Param("orderNO") String orderNO, @Param("orderType") int orderType);
|
|
/**
|
* 根据订单号与订单排序值获取详情
|
*
|
* @param orderNo -订单号
|
* @param orderBy -订单排序值
|
* @param orderType -订单类型
|
* @return
|
*/
|
CommonOrder selectByOrderNoAndOrderTypeAndOrderBy(@Param("orderNo") String orderNo,
|
@Param("orderType") int orderType, @Param("orderBy") int orderBy);
|
|
/**
|
* 订单列表查询
|
*
|
* @param start
|
* @param count
|
* @param uid
|
* @param state
|
* @param type
|
* @param orderState
|
* @param startTime
|
* @param endTime
|
* @return
|
*/
|
List<CommonOrderVO> listQueryByUid(@Param("start") long start, @Param("count") int count, @Param("uid") Long uid,
|
@Param("state") Integer state, @Param("type") Integer type, @Param("orderState") Integer orderState,
|
@Param("orderNo") String orderNo, @Param("startTime") String startTime, @Param("endTime") String endTime,
|
@Param("day") Integer day);
|
|
/**
|
* 统计
|
*/
|
long countQueryByUid(@Param("uid") Long uid, @Param("state") Integer state, @Param("type") Integer type,
|
@Param("orderState") Integer orderState, @Param("orderNo") String orderNo,
|
@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("day") Integer day);
|
|
/**
|
* 订单列表查询
|
*
|
* @param start
|
* @param count
|
* @param uid
|
* @param state
|
* @param typeList
|
* @param orderState
|
* @param startTime
|
* @param endTime
|
* @return
|
*/
|
List<CommonOrderVO> listQuery(@Param("start") long start, @Param("count") int count,
|
@Param("keyType") Integer keyType, @Param("key") String key, @Param("state") Integer state,
|
@Param("typeList") List<Integer> typeList, @Param("orderState") Integer orderState, @Param("startTime") String startTime,
|
@Param("endTime") String endTime, @Param("source") Integer source,
|
@Param("listShopId") List<Long> listShopId, @Param("listGoodsId") List<Long> listGoodsId,
|
@Param("minTime") Date minTime, @Param("money") BigDecimal money, @Param("payment") BigDecimal payment, @Param("system") SystemEnum system);
|
|
/**
|
* 订单列表查询(不包含子订单)
|
*
|
* @param start
|
* @param count
|
* @param keyType
|
* @param key
|
* @param state
|
* @param type
|
* @param orderState
|
* @param startTime
|
* @param endTime
|
* @param source
|
* @return
|
*/
|
List<CommonOrderVO> listQueryWithNoChild(@Param("start") long start, @Param("count") int count,
|
@Param("keyType") Integer keyType, @Param("key") String key, @Param("state") Integer state,
|
@Param("typeList") List<Integer> typeList, @Param("orderState") Integer orderState, @Param("startTime") String startTime,
|
@Param("endTime") String endTime, @Param("source") Integer source, @Param("payment") BigDecimal payment, @Param("system") SystemEnum system);
|
|
/**
|
* 统计
|
*/
|
long countQuery(@Param("keyType") Integer keyType, @Param("key") String key, @Param("state") Integer state,
|
@Param("typeList") List<Integer> typeList, @Param("orderState") Integer orderState, @Param("startTime") String startTime,
|
@Param("endTime") String endTime, @Param("source") Integer source,
|
@Param("listShopId") List<Long> listShopId, @Param("listGoodsId") List<Long> listGoodsId,
|
@Param("minTime") Date minTime, @Param("money") BigDecimal money, @Param("payment") BigDecimal payment, @Param("system") SystemEnum system);
|
|
long countQueryWithNoChild(@Param("keyType") Integer keyType, @Param("key") String key,
|
@Param("state") Integer state, @Param("typeList") List<Integer> typeList, @Param("orderState") Integer orderState,
|
@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("source") Integer source, @Param("payment") BigDecimal payment, @Param("system") SystemEnum system);
|
|
/**
|
* 根据来源类型与订单号查询列表
|
*
|
* @param sourceType
|
* @param orderNo
|
* @return
|
*/
|
List<CommonOrder> listBySourceTypeAndOrderNo(@Param("sourceType") int sourceType, @Param("orderNo") String orderNo);
|
|
/**
|
* 查询券奖励金额以及订单信息
|
*
|
* @param uid
|
* @param state
|
* @param orderNo
|
* @return
|
*/
|
List<CommonOrderVO> getCouponHongbaoByOrderNo(@Param("uid") Long uid, @Param("hongBaoState") Integer hongBaoState,
|
@Param("orderNo") String orderNo);
|
|
/**
|
* 查询券奖励金额以及订单信息
|
*
|
* @param uid
|
* @param state
|
* @param orderNo
|
* @return
|
*/
|
CommonOrderVO getCommonOrderByOrderNo(@Param("uid") Long uid, @Param("orderNo") String orderNo,
|
@Param("orderState") Integer orderState, @Param("sourceType") Integer sourceType);
|
|
/**
|
* 根据来源和交易ID获取订单详情
|
*
|
* @param sourceType
|
* @param tradeId
|
* @return
|
*/
|
|
CommonOrder selectBySourceTypeAndTradeId(@Param("sourceType") int sourceType, @Param("tradeId") String tradeId);
|
|
/**
|
* 根据来源和交易ID获取订单列表
|
*
|
* @param sourceType
|
* @param tradeId
|
* @return
|
*/
|
List<CommonOrder> listBySourceTypeAndTradeId(@Param("sourceType") int sourceType, @Param("tradeId") String tradeId);
|
|
/**
|
* 根据来源和交易ID获取订单列表
|
*
|
* @param sourceType
|
* @param tradeIdList
|
* @return
|
*/
|
List<CommonOrder> listBySourceTypeAndTradeIdList(@Param("sourceType") int sourceType,
|
@Param("tradeIdList") List<String> tradeIdList);
|
|
/**
|
* @param sourceType
|
* @param state
|
* @param minTime -最大创建时间
|
* @param maxTime -最小创建时间
|
* @return
|
*/
|
List<CommonOrder> listBySourceTypeAndStateAndThirdCrateTime(@Param("sourceType") int sourceType,
|
@Param("state") Integer state, @Param("minTime") Long minTime, @Param("maxTime") Long maxTime,
|
@Param("start") long start, @Param("count") int count);
|
|
/**
|
* 根据订单号查询
|
*
|
* @param orderNO
|
* @return
|
*/
|
List<CommonOrder> getByOrderNo(@Param("uid") Long uid, @Param("orderNo") String orderNo);
|
|
/**
|
* 根据订单号查询
|
*
|
* @param orderNO
|
* @return
|
*/
|
List<CommonOrder> getByOrderNoAndSourceType(@Param("uid") Long uid, @Param("orderNo") String orderNo,
|
@Param("sourceType") int sourceType);
|
|
|
/**
|
* 根据用户ID查询
|
*
|
* @param uid
|
* @param stateList
|
* @param start
|
* @param count
|
* @return
|
*/
|
List<CommonOrder> listByUid(@Param("uid") Long uid, @Param("stateList") List<Integer> stateList, @Param("start") long start, @Param("count") int count);
|
|
|
/**
|
* 查询首笔有效到账订单
|
*
|
* @param uid
|
* @param typeHB 类型: 1自购 2分享 3邀请
|
* @param typeDate 日期类型: 3本月 4上月
|
* @return
|
*/
|
CommonOrderVO firstValidOrderByUid(@Param("uid") Long uid, @Param("typeHB") Integer typeHB,
|
@Param("typeDate") Integer typeDate);
|
|
|
/**
|
* 获取首笔分享订单;
|
*
|
* @param uid
|
* @return
|
*/
|
CommonOrder getFirstShareOrderByUid(@Param("uid") Long uid);
|
|
/**
|
* 统计订单号到账金额
|
*
|
* @param uid
|
* @return
|
*/
|
BigDecimal getTotalRewardMoneyByOrderNoAndSourceType(@Param("orderNo") String orderNo, @Param("sourceType") Integer sourceType);
|
|
/**
|
* 统计24小时有效自购订单
|
*
|
* @param uid
|
* @return
|
*/
|
long count24HValidOrderByUid(@Param("uid") Long uid, @Param("minTime") Date minTime);
|
|
|
/**
|
* 搜索订单
|
*
|
* @param start
|
* @param count
|
* @param uid
|
* @param list
|
* @return
|
*/
|
List<CommonOrderVO> searchOrderByUid(@Param("start") long start, @Param("count") int count, @Param("uid") Long uid,
|
@Param("list") List<ESOrder> list);
|
|
|
/**
|
* 搜索订单
|
*
|
* @param start
|
* @param count
|
* @param uid
|
* @param list
|
* @return
|
*/
|
long countSearchOrderByUid(@Param("uid") Long uid, @Param("list") List<ESOrder> list);
|
|
|
/**
|
* 查询最小结算时间
|
*
|
* @return
|
*/
|
List<CommonOrder> getMinSettleTimeAndUid();
|
|
|
/**
|
* 查询用户订单 并订单号分组
|
*
|
* @param start
|
* @param count
|
* @param uid
|
* @return
|
*/
|
|
List<CommonOrderVO> getOrderList(@Param("start") long start, @Param("count") int count, @Param("uid") Long uid,
|
@Param("state") Integer state, @Param("type") Integer type, @Param("orderState") Integer orderState,
|
@Param("orderNo") String orderNo, @Param("startTime") String startTime, @Param("endTime") String endTime,
|
@Param("day") Integer day, @Param("listSource") List<Integer> listSource);
|
|
/**
|
* 统计用户订单 并订单号分组
|
*
|
* @param start
|
* @param count
|
* @param uid
|
* @return
|
*/
|
long countOrderList(@Param("uid") Long uid, @Param("state") Integer state, @Param("type") Integer type,
|
@Param("orderState") Integer orderState, @Param("orderNo") String orderNo,
|
@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("day") Integer day,
|
@Param("listSource") List<Integer> listSource);
|
|
|
/**
|
* 统计已结算且付款金额大于1的订单(不区分订单状态)
|
*
|
* @param uid
|
* @param payment
|
* @return
|
*/
|
Long countOrderByUidAndSettled(@Param("uid") Long uid, @Param("payment") BigDecimal payment);
|
|
/**
|
* 获取最新的淘宝订单号
|
*
|
* @return
|
*/
|
String getNewestOrderNoByTaoBao();
|
|
/**
|
* 根据订单号进行sous
|
*
|
* @param orderNo
|
* @return
|
*/
|
List<CommonOrder> listByOrderNo(@Param("orderNo") String orderNo);
|
|
|
/**
|
* 获取首个订单
|
*
|
* @param orderNo
|
* @return
|
*/
|
CommonOrder getFirstOrder(@Param("uid") Long uid);
|
|
|
List<CommonOrder> listByGoodsIdAndUidAndMinThirdCreateTime(@Param("goodsId") Long goodsId, @Param("uid") Long uid, @Param("minThirdCreateTime") Date minThirdCreateTime, @Param("start") long start, @Param("count") int count);
|
|
|
List<CommonOrder> test();
|
|
List<CommonOrder> list(@Param("query") DaoQuery query,@Param("start")long start,@Param("count")int count);
|
|
|
public static class DaoQuery {
|
public Integer state;
|
public Integer sourceType;
|
public Date minThirdCreateTime;
|
public Date maxThirdCreateTime;
|
public List<String> sortList;
|
}
|
|
}
|