package com.iamberry.wechat.face.agent;

import java.util.List;
import java.util.Map;

import com.iamberry.wechat.core.entity.agent.AgentOrderDto;

/**
 * 微代理订单 service
 * @author 穆再兴
 *
 */
public interface AgentOrderService {

	/**
	 * 根据当前用户<微代理>openid<AgentOrderDto.openid> 查询所有订单
	 * @author 穆再兴
	 * @return
	 */
	public List<AgentOrderDto> getAgentOrderListByOpenId(AgentOrderDto agentOrderDto); 
	
	/**
	 * 根据当前用户<微代理>userid<AgentOrderDesc.userid> 查询所有订单 总数
	 * @author 穆再兴
	 * @param agentOrderDesc
	 * @return
	 */
	public Integer getAgentOrderCountByUserId(AgentOrderDto agentOrderDto);
	
	/**
	 * 根据当前用户<微代理>openId 查询所有订单 商品总数
	 * @param userId
	 * @return
	 */
	public Integer getProductCountByOpenId(String openId);
	
	/**
	 * 根据openid查询 完成的订单总数
	 * 2016年5月11日
	 * @param openid
	 * @return
	 */
	public Integer selectCountOrderByOpenId(String openid);
	
	/**
	 * 根据openid 查询 状态是：已支付、已发货、换货完成 的 第一条订单
	 * 2016年6月3日
	 * @author 穆再兴
	 * @param openid
	 * @return
	 */
	public String getPayedOrderByOpenId(String openid);
	
	/**
	 * 根据openid 修改订单的锁定状态
	 * 2016年6月3日
	 * @author 穆再兴
	 * @param openid
	 * @return
	 */
	public Integer updateOrderLockTypeByOrderId(String orderid);
	
	/**
	 * 查代理订单和销售总数
	 * @param orderDto
	 * @return
	 */
	
	public Map<String, Object> getOrderListAndCountByOpenid(AgentOrderDto orderDto);
}
