zoukankan      html  css  js  c++  java
  • 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:1466519819@qq.com

    转载请注明来源: 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订单结构

     

  • 相关阅读:
    ASP.NET Web API 2.0 统一响应格式
    [翻译]ASP.NET Web API 2 中的全局错误处理
    【WPF】UserControl 的 Load事件
    解决MS SQL Server 使用HashBytes函数乱码问题
    实例化MD5CryptoServiceProvider报错:此实现不是 Windows 平台 FIPS 验证的加密算法的一部分
    添加扩展方法,提示编译错误 “缺少编译器要求的成员”
    [调试]VS2013调试时提示“运行时当前拒绝计算表达式的值”
    jquery chosen 插件多选初始化
    Asp.net WebForm 中无法引用App_Code文件夹下的类
    文本非法字符过滤 简体转换繁体
  • 原文地址:https://www.cnblogs.com/attilax/p/5223391.html
Copyright © 2011-2022 走看看