Atitit. atiOrder   Order 订单管理框架的设计

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Atitit. atiOrder   Order 订单管理框架的设计相关的知识,希望对你有一定的参考价值。

Atitit. atiOrder   Order 订单管理框架的设计

 

1Order 订单处理流程1

2code2

3Ref7

 

1. Order 订单处理流程

if(userSvr.isNotLogin())

{

throw new RuntimeException(" not login 没登录,请先登录..#not_login");

}

User u=userSvr.getLoginUser();

Acc a=accSvr.getAcc(u.id);

 

BigDecimal needMoney=amoutCalcSvr.calc(order);

 

if(new ADecimal(needMoney ).biggerEqualThan(a.amount))

throw new RuntimeException("  amount not enough 金额不足够 ..#amount_not_enough ");

///...insert

storeSvr.insert(order);

orderlogSvr.log(order);

return accSvr.reduceAmount(u.id.toString(), needMoney.doubleValue());

 

 

作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 汉字名:艾龙,  EMAIL:[email protected]

转载请注明来源: http://www.cnblogs.com/attilax/

 

 

2. code

 

package com.attilax.order;

 

import java.math.BigDecimal;

import java.util.Date;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

 

import aaaCfg.IocX4casher;

 

import com.attilax.acc.Acc;

import com.attilax.acc.AccService;

import com.attilax.bet.AmountCalcService;

import com.attilax.db.DBX;

 

import com.attilax.io.filex;

import com.attilax.json.AtiJson;

import com.attilax.math.ADecimal;

import com.attilax.orm.AOrm;

import com.attilax.store.StoreService;

import com.attilax.user.User;

import com.attilax.user.UserService;

import com.google.inject.Inject;

 

public class OrderServiceV2 extends absService {

 

public static void main(String[] args) {

//final long time_intFmt = new Date().getTime() / 1000;

//System.out.println(time_intFmt);

//OrderServiceV2 os = IocX4casher.getBean(OrderServiceV2.class);

//os.insert(new HashMap() {

//{

//this.put("good_amount", 12.50);

//this.put("add_time", time_intFmt);

//this.put("confirm_time", time_intFmt);

//this.put("order_sn",filex.getUUidName());

//}

//});

//System.out.println("--f");

}

 

@Inject

StoreService storeSvr;

@Inject 

UserService userSvr;

@Inject 

AccService accSvr;

@Inject

AmountCalcService amoutCalcSvr;

@Inject

OrderLogService orderlogSvr;

 

public int insert(Map order) {

if(userSvr.isNotLogin())

{

throw new RuntimeException(" not login 没登录,请先登录..#not_login");

}

User u=userSvr.getLoginUser();

Acc a=accSvr.getAcc(u.id);

 

BigDecimal needMoney=amoutCalcSvr.calc(order);

 

if(new ADecimal(needMoney ).biggerEqualThan(a.amount))

throw new RuntimeException("  amount not enough 金额不足够 ..#amount_not_enough ");

///...insert

storeSvr.insert(order);

orderlogSvr.log(order);

return accSvr.reduceAmount(u.id.toString(), needMoney.doubleValue());

 

}

public List<Map> query(Map order) {

if(userSvr.isNotLogin())

{

throw new RuntimeException(" not login 没登录,请先登录..#not_login");

}

User u=userSvr.getLoginUser();

 

return null;

///...insert

//return accSvr.reduceAmount(u.id.toString(), needMoney.doubleValue());

 

}

public String query2json(Map order) {

 

return AtiJson.toJson(query(order));

///...insert

//return accSvr.reduceAmount(u.id.toString(), needMoney.doubleValue());

 

}

 

}

3. Ref

Atitit. 订单管理 收银单持久化 功能设计  基于ecshop订单结构

 

以上是关于Atitit. atiOrder   Order 订单管理框架的设计的主要内容,如果未能解决你的问题,请参考以下文章

Atitit Atitit 图像处理之  Oilpaint油画滤镜 水彩画 源码实现

Atitit.atiDataStoreService   v2 新特性

Atitit  OOCSS vs bem

Atitit.软件硕士  博士课程 一览表 attilax 总结

Atitit  atiMail atiDns新特性 v2  q39

Atitit. Atiposter 发帖机版本历史 编年史