Atitit.在线充值功能的设计
Atitit.在线充值功能的设计
1. 流程
本地增加一份订单
2. Js sdk api 增加订单
var ds3=new dataServiceV3();
ds3.insert("$tb=orderv2&uid=$uid&money=0.01",function(ret_data){
alert("ret:"+ret_data);
});
3. Java api 返回servlet处理
直接使用alipay的url返回,和通知jsp页面。。
注意一般返回有url返回,和通知消息的处理。
堆订单完成的处理,如果已经处理过,返回0,
如果没处理过, db情况应该返回1,
如果没处理过,单是db返回0,实际则包装为异常抛出。。
作者:: ★(attilax)>>> 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 汉字名:艾龙, EMAIL:1466519819@qq.com
转载请注明来源: http://blog.csdn.net/attilax
/AtiPlatf_cms/src/com/attilax/order/RechargeOrderService.java}
/**
* for req
attilax 2016年4月20日 下午4:11:03
* @return
*/
public Object finish()
{
HttpServletRequest req=Global.req.get();
return finish(ReqX.toMap(req));
}
public Object finish(Map m) {
// if(StringUtils.isEmpty((String)m.get("$where")) )
// throw new RuntimeException("no $where contion..");
String order_id = (String) SqlSecuryCheckor.val(m.get("order_id"));
if (finished(order_id))
return 0;
m.put("stat", 1);
String where = " order_id='$order_id$'".replace("$order_id$",
SqlSecuryCheckor.val(m.get("order_id")));
m.put("$where", where);
m.remove("order_id");
// m.put("stat",1);
ormx.m = m;
ormx.setOp(ormx.update);
ormx.setTable("orderv2");
Object r = ormx.exe(m);
if ((Integer) r == 1)
return r;
throw new OrderFinishEx(" order finish ex");
}
3.1. 返回网址的本地host测试