/**
*
*/
package jframe.pay.http.ord;
import java.util.Map;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import jframe.core.plugin.annotation.InjectService;
import jframe.core.plugin.annotation.Injector;
import jframe.pay.alipay.service.AlipayService;
import jframe.pay.domain.PayType;
import jframe.pay.domain.dao.OrderAlipay;
import jframe.pay.domain.dao.OrderWx;
import jframe.pay.domain.http.RspCode;
import jframe.pay.domain.util.HttpUtil;
import jframe.pay.domain.util.JsonUtil;
import jframe.pay.http.usr.service.CommonService;
import jframe.pay.upmp.service.UpmppayService;
import jframe.pay.wx.service.WxpayService;
/**
* @author dzh
* @date Sep 1, 2015 8:29:42 PM
* @since 1.0
*/
@Injector
public class OrderService extends CommonService {
static Logger LOG = LoggerFactory.getLogger(OrderService.class);
@InjectService(id = "jframe.pay.service.alipay")
static AlipayService Alipay;
@InjectService(id = "jframe.pay.service.wxpay")
static WxpayService Wxpay;
@InjectService(id = "jframe.pay.service.upmppay")
static UpmppayService Upmppay;
public void consume(Map<String, String> req, Map<String, Object> rsp) throws Exception {
// check req
if (HttpUtil.mustReq(req, F_payType, F_payNo, F_transType, F_payAmount, F_payDesc).size() > 0) {
RspCode.setRspCode(rsp, RspCode.FAIL_HTTP_MISS_PARA);
return;
}
int payType = Integer.parseInt(req.get(F_payType));
if (PayType.A.type == payType) {
Alipay.pay(req, rsp);
} else if (PayType.W.type == payType) {
Wxpay.pay(req, rsp);
} else if (PayType.Y.type == payType) {
Upmppay.pay(req, rsp);
} else {
RspCode.setRspCode(rsp, RspCode.FAIL_PAYTYPE_NOEXIST);
}
// insert
// if (TransType.isConsume(tt)) {
// alipay.pay(req, rsp);
// return;
// } else if (TransType.ClientPay.code.equals(tt)) {
// alipay.clientPayBack(req, rsp);
// return;
// }
}
public void qryod(Map<String, String> req, Map<String, Object> rsp) {
// check req
if (HttpUtil.mustReq(req, F_payType, F_payNo).size() > 0) {
RspCode.setRspCode(rsp, RspCode.FAIL_HTTP_MISS_PARA);
return;
}
int payType = Integer.parseInt(req.get(F_payType));
if (PayType.A.type == payType) {
OrderAlipay od = PayDao.selectOrderAlipay(req.get(F_payNo));
if (od == null) {
RspCode.setRspCode(rsp, RspCode.FAIL_ORDER_NOT_FOUND);
return;
}
rsp.put(F_od, JsonUtil.toJson(od));
} else if (PayType.W.type == payType) {
OrderWx od = PayDao.selectOrderWx(req.get(F_payNo));
if (od == null) {
RspCode.setRspCode(rsp, RspCode.FAIL_ORDER_NOT_FOUND);
return;
}
rsp.put(F_od, JsonUtil.toJson(od));
} else {
RspCode.setRspCode(rsp, RspCode.FAIL_PAYTYPE_NOEXIST);
}
}
public void aliback(Map<String, String> req, Map<String, Object> rsp) throws Exception {
Alipay.payBack(req, rsp);
}
public void wxback(Map<String, String> req, Map<String, Object> rsp) throws Exception {
Wxpay.payBack(req, rsp);
}
public void upmpback(Map<String, String> req, Map<String, Object> rsp) throws Exception {
Upmppay.payBack(req, rsp);
}
}