package com.iamberry.wechat.service.agent.dao.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;

import com.iamberry.wechat.core.entity.agent.AgentOrderDto;
import com.iamberry.wechat.service.agent.dao.AgentOrderDAO;
import com.iamberry.wechat.service.mapper.AgentOrderMapper;

/**
 * 微代理订单 DAO实现
 * @author 穆再兴
 *	2016年4月19日10:43:50
 */
@Repository
public class AgentOrderDAOImpl implements AgentOrderDAO{

	@Autowired
	private AgentOrderMapper agentOrderMapper;
	/**
	 * 根据当前用户<微代理>openid<AgentOrderDto.openid> 查询所有订单
	 * @author 穆再兴
	 * @return
	 */
	public List<AgentOrderDto> getAgentOrderListByOpenId(AgentOrderDto agentOrderDto){ 
		return agentOrderMapper.getAgentOrderListByOpenId(agentOrderDto);
	}
	
	/**
	 * 根据当前用户<微代理>userid<AgentOrderDesc.userid> 查询所有订单 总数
	 * @author 穆再兴
	 * @param agentOrderDesc
	 * @return
	 */
	public Integer getAgentOrderCountByUserId(AgentOrderDto agentOrderDto){
		return agentOrderMapper.getAgentOrderCountByUserId(agentOrderDto);
	}

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