OrderRPC.java 2.8 KB
package com.diligrp.mobsite.getway.rpc;

import com.b2c.orders.domain.client.dto.request.OrderListRequestDto;
import com.diligrp.mobsite.getway.domain.protocol.order.GetOrderResp;
import com.diligrp.mobsite.getway.domain.protocol.order.SubmitOrderReq;
import com.diligrp.mobsite.getway.domain.protocol.order.SubmitOrderResp;
import com.diligrp.mobsite.getway.domain.protocol.saler.order.SearchOrderListResp;

/**
 * <B>Description</B> 订单 <br />
 * <B>Copyright</B> Copyright (c) 2014 www.diligrp.com All rights reserved.
 * <br />
 * 本软件源代码版权归地利集团,未经许可不得任意复制与传播.<br />
 * <B>Company</B> 地利集团
 * 
 * @createTime 2014年9月1日 下午6:30:54
 * @author zhangshirui
 */
public interface OrderRPC {

	/**
	 * 获取订单列表
	 * 
	 * @param input
	 * @return
	 * @createTime 2014年9月2日 下午2:36:47
	 * @author zhangshirui
	 */
	SearchOrderListResp getOrders(OrderListRequestDto input);

	/**
	 * 根据id查询订单详情
	 * 
	 * @param orderId
	 * @param userId
	 * @createTime 2014年9月3日 上午11:08:03
	 * @author zhangshirui
	 * @return
	 */
	GetOrderResp getOrderById(Long orderId, Long userId);

	/**
	 * 取消订单
	 * 
	 * @param orderId
	 * @param userId
	 * @return
	 * @createTime 2014年9月3日 上午11:27:08
	 * @author zhangshirui
	 */
	Integer cancelOrder(Long orderId, Long userId);

	/**
	 * 确认提货
	 * 
	 * @param orderId
	 * @param userId
	 * @return
	 * @createTime 2014年9月3日 下午4:46:26
	 * @author zhangshirui
	 */
	Integer confirmPickUp(Long orderId, Long userId);

	/**
	 * 确认收款
	 * 
	 * @param orderId
	 *            订单id
	 * @param sellerId
	 *            卖家id
	 * @return
	 */
	Integer confirmReceipt(Long orderId, Long sellerId);

	/**
	 * 支付
	 * 
	 * @param orderId
	 *            订单id
	 * @param shopBuyerId
	 *            买家id
	 * @param payType
	 *            TODO
	 * @return
	 */
	Integer pay(Long orderId, Long shopBuyerId, Integer payType);

	/**
	 * 拒绝接单
	 * 
	 * @param orderId
	 *            订单id
	 * @param sellerId
	 *            卖家id
	 * @param refuseReason
	 *            拒绝原因
	 * @return
	 */
	Integer refuse(Long orderId, Long sellerId, String refuseReason);

	/**
	 * 删除订单
	 * 
	 * @param orderId
	 *            订单id
	 * @param userId
	 *            用户id
	 * @param userType
	 *            用户类型:10买家,20卖家
	 * @return
	 */
	Integer remove(Long orderId, Long userId, Integer userType);

	/**
	 * 提交订单
	 * 
	 * @param req
	 * @return
	 */
	SubmitOrderResp submit(SubmitOrderReq req);

	/**
	 * 接单
	 * 
	 * @param orderId
	 *            订单id
	 * @param userId
	 *            卖家id
	 * @param pricePrivilege
	 *            修改后的价格
	 * @return
	 */
	Integer take(Long orderId, Long userId, Long pricePrivilege);
}