`

临时的

 
阅读更多

@Transactional
    public String dealBusiness(BuyCart buyCart,User user) {
        String res="fail";
        int compareResult=0;
        try {
            buyCart.getBuyCartDeal().setUser(user);
            buyCart.getBuyCartDeal().setTotalMoney(Double.valueOf(buyCart.getTotalPrice().toString()));
            Set<String> keySet = buyCart.getShopCartMap().keySet();
            for(String key : keySet){
                buyCart.getBuyCartDeal().getBuyCommoditiesSet().add(buyCart.getShopCartMap().get(key))    ;    
            }
            Account account=this.getAccountService().select(user.getId(),"");
            SiteConfig siteConfig=this.getSiteConfigService().getCurrentSiteConfig();
            BigDecimal bigDecimal=new BigDecimal(buyCart.getBuyCartDeal().getTotalMoney());//购物车中所有商品的总价格
            compareResult=account.getRemainingMoney().compareTo(bigDecimal);
            if (compareResult!=-1) {
                //持久化对象
                buyCart.getBuyCartDeal().setDeliveryTime(getcurrent());
                buyCart.getBuyCartDeal().setStatus(3);
                String result=this.getBuyCartDealDao().insert(buyCart.getBuyCartDeal());
                //从买家账户扣钱
                BuyAccountOperation buyAccountOpertation=new BuyAccountOperation();
                buyAccountOpertation.setBuyCartDeal(buyCart.getBuyCartDeal());
                buyAccountOpertation.setOperationType(4);
                buyAccountOpertation.setOperationTime(getcurrent());
                buyAccountOpertation.setMoneyUnit("元");
                buyAccountOpertation.setAccount(account);
                buyAccountOpertation.setMoney(bigDecimal);
                buyAccountOpertation.setSiteConfig(siteConfig);
                this.getBuyAccountOperationService().insert(buyAccountOpertation);
               
                account.setRemainingMoney(account.getRemainingMoney().subtract(bigDecimal));
                this.getAccountService().update(account);
                account.setTotalMoney(account.getRemainingMoney());
                this.getAccountService().update(account);
                //给管理员以及发布图片的用户分钱
                BigDecimal bigDecimal2=new BigDecimal(0);
                for (BuyCommodities buyCommodities:buyCart.getBuyCartDeal().getBuyCommoditiesSet()) {
                    buyCommodities.setBuyCartDeal(buyCart.getBuyCartDeal());
                    Publish publish=buyCommodities.getPublish();
                    this.getBuyCommoditiesService().insert(buyCommodities);
                    Account account2=this.getAccountService().select(3,"");
                    User user2=buyCommodities.getPublish().getUser();
                    Account account3=this.getAccountService().select(user2.getId(),"");
                    BigDecimal tax=new BigDecimal(siteConfig.getTax());
                    BigDecimal third=new BigDecimal(siteConfig.getThirdPayRate());
                    BigDecimal other=new BigDecimal(0.15);
                    BigDecimal remain=new BigDecimal(0);
                    BigDecimal adminTotal=new BigDecimal(0);
                    if (buyCommodities.getCopyrightOrUsage()==0) {
                        bigDecimal2=new BigDecimal(buyCommodities.getPublish().getUsagePrice());
                        adminTotal=bigDecimal2.multiply(tax).add(bigDecimal2.multiply(third)).add(bigDecimal2.multiply(other));
                        account2.setRemainingMoney(account2.getRemainingMoney().add(adminTotal));
                       
                    }else if (buyCommodities.getCopyrightOrUsage()==1) {
                        bigDecimal2=new BigDecimal(buyCommodities.getPublish().getCopyrightPrice());
                        adminTotal=bigDecimal2.multiply(tax).add(bigDecimal2.multiply(third)).add(bigDecimal2.multiply(other));
                        account2.setRemainingMoney(account2.getRemainingMoney().add(adminTotal));
                    }else if (buyCommodities.getCopyrightOrUsage()==2) {
                        BigDecimal bigDecimal3=new BigDecimal(buyCommodities.getPublish().getCopyrightPrice());
                        BigDecimal bigDecimal4=new BigDecimal(buyCommodities.getPublish().getUsagePrice());
                        bigDecimal2=bigDecimal3.add(bigDecimal4);
                        adminTotal=bigDecimal2.multiply(tax).add(bigDecimal2.multiply(third)).add(bigDecimal2.multiply(other));
                        account2.setRemainingMoney(account2.getRemainingMoney().add(adminTotal));
                    }
                    remain=bigDecimal.subtract(account2.getRemainingMoney());
                    account3.setRemainingMoney(account3.getRemainingMoney().add(remain));
                    BuyAccountOperation buyAccountOperation=new BuyAccountOperation();
                    buyAccountOperation.setBuyCartDeal(buyCart.getBuyCartDeal());
                    buyAccountOperation.setOperationTime(getcurrent());
                    buyAccountOperation.setOperationType(3);
                    buyAccountOperation.setMoney(adminTotal);
                    buyAccountOperation.setAccount(account2);
                    buyAccountOperation.setMoneyUnit("元");
                    buyAccountOperation.setSiteConfig(siteConfig);
                    this.getBuyAccountOperationService().insert(buyAccountOperation);
                    this.getAccountService().update(account2);
                    account2.setTotalMoney(account2.getRemainingMoney());
                    this.getAccountService().update(account2);
                    BuyAccountOperation buyAccountOperation2=new BuyAccountOperation();
                    buyAccountOperation2.setBuyCartDeal(buyCart.getBuyCartDeal());
                    buyAccountOperation2.setOperationTime(getcurrent());
                    buyAccountOperation2.setOperationType(3);
                    buyAccountOperation2.setMoney(remain);
                    buyAccountOperation2.setAccount(account3);
                    buyAccountOperation2.setMoneyUnit("元");
                    buyAccountOperation2.setSiteConfig(siteConfig);
                    this.getBuyAccountOperationService().insert(buyAccountOperation2);
                    this.getAccountService().update(account3);
                    account3.setTotalMoney(account3.getRemainingMoney());
                    this.getAccountService().update(account3);
                   
                }
                buyCart.getBuyCartDeal().setStatus(5);
                buyCart.getBuyCartDeal().setDeliveryTime(getcurrent());
                this.getBuyCartDealDao().update(buyCart.getBuyCartDeal());
                res="suc";
            }
        } catch (Exception e) {
            // TODO: handle exception
            res="fail";
            buyCart.getBuyCartDeal().setStatus(4);
            buyCart.getBuyCartDeal().setDeliveryTime(getcurrent());
            boolean b=this.getBuyCartDealDao().update(buyCart.getBuyCartDeal());
            if (b) {
                res="not";
            }else {
            b=false;   
            }
        }
        return res;
    }

分享到:
评论

相关推荐

    Oracle 临时表之临时表的应用问题

     临时表本质上是一种cache的表现形式,Oracle的临时表都是事先建好的,一旦用了临时表,存放的是和本会话相关的数据,没有人会傻乎乎地用临时表来保存本应该共享的数据。  with子查询实际上也是用了临时表,...

    建筑工程临时建筑、用电、用水设施验收记录表.pdf,这是一份不错的文件

    建筑工程临时建筑、用电、用水设施验收记录表.pdf 本文件是关于建筑工程临时建筑、用电、用水设施验收记录表的规范性文件。该文件涵盖了临时建筑设施、临时用电设施和临时用水设施的验收记录内容。 一、临时建筑...

    系统临时文件和IE临时文件清除

    清除系统临时文件夹中和IE临时文件夹一切可删除信息包括COOKIE的清除

    11.如何创建一个临时文件?(Visual C++编程 源代码)

    11.如何创建一个临时文件?(Visual C++编程 源代码)11.如何创建一个临时文件?(Visual C++编程 源代码)11.如何创建一个临时文件?(Visual C++编程 源代码)11.如何创建一个临时文件?(Visual C++编程 源代码)...

    系统临时文件清除

    在使用Windows XP的过程中,不同的应用程序都会或多或少地产生一些临时文件,Windows XP把这些临时文件存放在一个专门的文件夹中,时间一长,这个文件夹中的临时文件便会占用大量的硬盘空间。如果有一天你觉得硬盘...

    Oracle 临时表用法

    很好的,经典.创建Oracle 临时表,可以有两种类型的临时表:会话级的临时表,事务级的临时表 。

    sql server 临时表详解与示例

    1、局部临时表(#开头)只对当前连接有效,当前连接断开时自动删除。 2、全局临时表(##开头)对其它连接也有效,在当前连接和其他访问过它的连接都断开时自动删除。 3、不管局部临时表还是全局临时表,只要连接有...

    C# 取ipv6地址(有临时地址时取临时Ipv6地址)

    C# 取ipv4 ,ipv6地址(有临时地址时取临时Ipv6地址)

    oracle11g创建临时表空间组

    oracle11gR2创建临时表空间组. 使用临时表空间组而非普通的临时表空间,有如下好处: 由于SQL查询可以并发使用几个临时表空间进行排序操作,因此SQL查询很少会出现排序空间超出,避免当临时表空间不足时所引起的磁盘...

    oracle临时表(事务级、会话级).docx

    "Oracle 临时表(事务级、会话级)" Oracle 临时表是 Oracle 数据库中的一种特殊类型的表,它可以保存一个会话或事务中的数据。当会话或事务结束时,临时表中的数据自动清空,但是临时表的结构和元数据还存储在...

    javascript获取浏览器临时目录

    javascript获取浏览器临时目录javascript获取浏览器临时目录javascript获取浏览器临时目录javascript获取浏览器临时目录

    论文研究 - 临时住房模块化与可持续设计研究

    临时房屋是相对于永久性固定房屋的临时房屋。 由于临时住房的临时性和低效率因素,人们对此的关注较少。 临时住房存在单一空间模式,功能混乱,舒适度低,生态效率差等问题。 这项研究面临着人类社会的发展,自然...

    不要让临时表空间影响数据库性能

    在Oracle数据库中 进行排序、分组汇总、索引等到作时,会产生很多的临时数据。如有一张员工信息表,数据库中是安装记录建立的时间来保存的。如果用户查询时,使用Order BY排序语句指定按员工编号来排序,那么排序后...

    一个释放临时表空间实例

    Oracle临时表空间主要用来做查询和存放一些缓冲区数据。临时表空间消耗的主要原因是需要对查询的中间结果进行排序。 重启数据库可以释放临时表空间,如果不能重启实例,而一直保持问题sql语句的执行,temp表空间会...

    qq临时会话工具

    不加好友强制性临时会话 适合于网上宣传广告 宣传产品等宣传是一种网上营销手段

    Oracle存储过程中使用临时表

    Oracle存储过程中使用临时表 会话级临时表 事务级临时表

    2023最新临时文件上传存储分享系统 临时文件网盘系统源码

    2023最新临时文件上传存储分享系统 临时文件网盘源码 带简易后台 后台登录地址http://你的域名/admin 后台key秘钥为123456

    批量清除Delphi临时文件

    软件名称:批量清除Delphi临时文件 软件功能: 1.可选择某个目录,默认为本文件所在目录 2.[所有文件] 默认遍历该目录下所有文件 (含子目录) 3.[自定义] 支持自定义文件类型查找文件 (含子目录) 如:*.txt 多种类型...

    SQL Server中关于临时表概念及创建和插入数据等问题

    SQL Server中关于临时表概念及创建和插入数据等问题 本地临时表 全局临时表 在程序中向临时表插入数据时报错……

    ORACLE中临时表

    Oracle 临时表功能介绍: Oracle中的临时表是全局的,需要在数据库设计时创建完成,而不是程序使用时。每个登陆用户都使用这一个相同的临时表,但互相之间看不到彼此的数据,也就是说临时表是会话独立的。

Global site tag (gtag.js) - Google Analytics