• 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://blog.csdn.net/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订单结构

     

  • 相关阅读:
    jQuery has been removed
    tomcat 跨域的配置
    javascript 自定义事件 发布-订阅 模式 Event
    PS调出春夏外景婚纱照
    PS对街拍女孩照片增加质感
    PS制作水火相溶特效文字图片
    PS制作简洁漂亮的立体抽丝文字
    PS制作科幻特效的金色立体文字
    PS制作黑暗墙面上的漂亮霓虹文字
    PS制作漂亮紫色霓虹灯光文字
  • 原文地址:https://www.cnblogs.com/attilax/p/15198699.html
Copyright © 2020-2023  润新知