`

技术误区啊。。。。。。。。。。

 
阅读更多

@JSON(serialize=false)
    public String updateStatu() throws Exception {
        BigDecimal percent=new BigDecimal(0);
        String loginName = super.getLoginUsername();
        if(loginName == null || loginName.length()==0)
        {
            return "login";
        }else {
        User user=this.getUserService().select(loginName);
        BuyCart buyCart=(BuyCart)ActionContext.getContext().getSession().get("cart");
        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();
        if (buyCart.getTotalPrice()>Integer.valueOf(account.getRemainingMoney().toString())) {
            this.trademsg="fail";
            buyCart.getBuyCartDeal().setStatus(4);
            buyCart.getBuyCartDeal().setDeliveryTime(getcurrent());
            String res=buyCartDealService.insert(buyCart.getBuyCartDeal());
            if (res==null) {
                this.trademsg="not";
            }
        }else {
            buyCart.getBuyCartDeal().setDeliveryTime(getcurrent());
            String res=buyCartDealService.insert(buyCart.getBuyCartDeal());
            //如果可以操作,将购买图片的用户的余额扣除
            Account account22=this.getAccountService().select(user.getId(),"");
            BigDecimal bigdecimal=new BigDecimal(buyCart.getBuyCartDeal().getTotalMoney());
            account22.setRemainingMoney(account22.getRemainingMoney().subtract(bigdecimal));
            this.getAccountService().update(account22);
            account22.setTotalMoney(account22.getRemainingMoney());
            this.getAccountService().update(account22);
           
            BigDecimal bigDecimalTax=new BigDecimal(buyCart.getBuyCartDeal().getTotalMoney()*siteConfig.getTax());
            BigDecimal bigDecimalBroker=new BigDecimal(buyCart.getBuyCartDeal().getTotalMoney()*0.1);
            BigDecimal bigDecimalThird=new BigDecimal(buyCart.getBuyCartDeal().getTotalMoney()*siteConfig.getThirdPayRate());
            BigDecimal adminMoney=bigDecimalTax.add(bigDecimalBroker.add(bigDecimalThird));//需要给网站管理员的扣费
//           
//            BigDecimal bigDecimaltotal=new BigDecimal(buyCart.getBuyCartDeal().getTotalMoney());
//            BigDecimal totalRemain=bigDecimaltotal.subtract(adminMoney);//商品的总价格扣除管理员扣费后的价格
            Account account3=this.accountService.select(3,"");
            account3.setRemainingMoney(account3.getRemainingMoney().add(adminMoney));
            accountService.update(account3);
            account3.setTotalMoney(account3.getRemainingMoney());
            accountService.update(account3);//管理员应得
            Map<String, BigDecimal> percent1=new HashMap<String, BigDecimal>();
            BigDecimal sum=new BigDecimal(buyCart.getBuyCartDeal().getTotalMoney());
            //给发布图片的用户分钱
            for (BuyCommodities buyCommodities:buyCart.getBuyCartDeal().getBuyCommoditiesSet()) {
                buyCommodities.setBuyCartDeal(buyCart.getBuyCartDeal());
                        Publish publish=buyCommodities.getPublish();
                        if (buyCommodities.getCopyrightOrUsage()==0) {
                            BigDecimal usgeBigDecimal=new BigDecimal(buyCommodities.getUsgeTotalPrice());
                            BigDecimal usgePersent=usgeBigDecimal.divide(sum);
                            percent1.put(publish.getUser().getId()+"",usgePersent);
                        }else if (buyCommodities.getCopyrightOrUsage()==1) {
                            BigDecimal copy=new BigDecimal(buyCommodities.getCopyrighTotalPrice());
                            percent1.put(publish.getUser().getId()+"",copy.divide(sum));
                        }else if (buyCommodities.getCopyrightOrUsage()==2) {
                            BigDecimal total=new BigDecimal(buyCommodities.getCopyAndUsePrice());
                            percent1.put(publish.getUser().getId()+"",total.divide(sum));
                        }
                buyCommoditiesService.insert(buyCommodities);
//                User user2=buyCommodities.getPublish().getUser();
//                Account account2=this.getAccountService().select(user2.getId(),"");
//                if (buyCommodities.getCopyrightOrUsage()==0) {
//                    BigDecimal bigDecimal0=new BigDecimal(buyCommodities.getPublish().getUsagePrice());
//                    account2.setRemainingMoney(account2.getRemainingMoney().add(bigDecimal0));
//                }
//                if (buyCommodities.getCopyrightOrUsage()==1) {
//                    //BigDecimal bigDecimal1=new BigDecimal(buyCommodities.getPublish().getUsagePrice());
//                    BigDecimal bigDecimal4=new BigDecimal(buyCommodities.getPublish().getCopyrightPrice());
//                    account2.setRemainingMoney(account2.getRemainingMoney().add(bigDecimal4));
//                    }
//                if (buyCommodities.getCopyrightOrUsage()==2) {
//                    BigDecimal bigDecimal12=new BigDecimal(buyCommodities.getPublish().getCopyrightPrice()+buyCommodities.getPublish().getUsagePrice());
//                    account2.setRemainingMoney(account2.getRemainingMoney().add(bigDecimal12));
//                }
//                accountService.update(account2);
//                account2.setTotalMoney(account2.getRemainingMoney());
//                accountService.update(account2);
               
            }
           
            List<Account> list=new ArrayList<Account>();
            list.add(account22);
            list.add(account3);
            Set<String> Uid=percent1.keySet();
            Iterator iterator=Uid.iterator();
            BigDecimal tx=new BigDecimal(siteConfig.getTax());
            BigDecimal third=new BigDecimal(siteConfig.getThirdPayRate());
            BigDecimal tax=sum.multiply(tx);
            BigDecimal td=sum.multiply(third);
            BigDecimal broker=sum.multiply(new BigDecimal(0.15));
            sum=sum.subtract((tax.add(td.add(broker))));
            while (iterator.hasNext()) {
                String key=(String)iterator.next();
                BigDecimal per=percent1.get(key);
                sum=sum.multiply(per);
                Account account2=this.getAccountService().select(Integer.valueOf(key),"");
                account2.setRemainingMoney(sum.add(account2.getRemainingMoney()));
                accountService.update(account2);
                account2.setTotalMoney(account2.getTotalMoney().add(account2.getRemainingMoney()));
                accountService.update(account2);
                list.add(account2);
            }
            buyCart.getBuyCartDeal().setStatus(5);
            buyCart.getBuyCartDeal().setDeliveryTime(getcurrent());
            buyCartDealService.update(buyCart.getBuyCartDeal());
            buyCartDealService.dealCart(list);
            this.trademsg="suc";
           
        }
        }
        return "updateStatu";
    }

分享到:
评论

相关推荐

    加油站建设中对储罐埋地处理的技术误区.docx

    ### 加油站建设中对储罐埋地处理的技术误区 #### 标题解析 标题“加油站建设中对储罐埋地处理的技术误区”指出,在加油站的建设和管理过程中,对于储罐埋地处理方面存在一定的技术和认识上的误区。该标题旨在揭示...

    工程机械中内燃机维修中的技术误区.docx

    以下是一些常见的技术误区及其详细解释: 1. **机油添加误区**:很多人认为机油越多越好,以防止轴承磨损。然而,机油过多会导致曲轴和连杆转动阻力增大,缸壁上机油过多则会增加积碳,降低功率,增加磨损,甚至...

    51单片机软件抗干扰的技术误区

    ### 51单片机软件抗干扰的技术误区详解 #### 一、引言 在51单片机的开发过程中,软件抗干扰是一项重要的技术环节。由于51单片机在实际应用中可能会遇到各种外部干扰,导致系统运行不稳定甚至出现故障。因此,合理...

    虚拟化技术之十大误区

    #### 二、常见虚拟化技术误区详解 1. **误区1:虚拟化技术可以实现多台物理服务器资源整合,从而实现单个应用通过虚拟化技术而运行在多台物理硬件上** - **解析**:虚拟化技术的主要目标是提高资源利用率和灵活性...

    技术面试十大误区.rar技术面试十大误区.rar

    在准备技术面试时,许多求职者可能会陷入一些常见的误区,这些误区可能导致他们无法充分发挥自己的实力,甚至失去理想的职位。以下是对“技术面试十大误区”的详细分析: 1. **过于依赖理论,忽视实践**:很多面试...

    关注烟气脱硫两大误区.docx

    标题和描述中提到的“关注烟气脱硫两大误区”主要涉及的是在处理工业烟气中的二氧化硫污染时,常见的两种技术误区及其环境影响。这两个误区不仅没有彻底解决环境污染问题,反而可能导致新的环境问题。 首先,第一个...

    高手进阶,终极内存技术指南——完整.pdf

    因此,本文档在提供深入技术内容的同时,也着重纠正了那些流传甚广的内存技术误区。 从文档提供的信息来看,文章的主要内容和知识点包括但不限于: - 内存技术的重要性以及在电脑系统中的角色。 - 内存速度与系统...

    终极内存技术指南.pdf(完整版)

    - **深度技术介绍的必要性**: 本文旨在纠正现有的内存技术误区,为用户提供准确、深入的技术知识。 - **面向对象**: 适合已经具备一定技术基础的读者,能够满足他们对内存技术的深入了解需求。 - **期待与展望**: ...

    高手进阶_终极内存技术指南——完整

    通过以上知识点的学习,读者不仅能够更深入地了解内存技术,还能够识别并纠正常见的内存技术误区,从而在电脑硬件配置和性能优化方面做出更明智的选择。由于内存技术的复杂性,学习者需要具备一定的技术基础,才能够...

    探讨现场组装型连接器的几个误区-(二).pdf

    总结来说,文档主要讨论了FTTH实施过程中遇到的一些技术误区,特别是关于现场组装型连接器的一些错误观念。同时,也提到了标准化和质量控制对FTTH实施的影响,以及LabVIEW在相关领域的应用潜力。

    终极内存技术指南.pdf

    本书的重点在于技术的准确性和深度,适合有一定技术基础的读者,它不仅仅关注内存的使用,更深入探讨了内存的工作原理和技术误区。通过讲述“仓库的故事”,作者用生动的方式解释了内存如何管理和处理数据,帮助读者...

    SDRAM技术和高手终极内存技术指南

    SDRAM(Synchronous Dynamic Random-Access Memory)...随着技术的不断发展,内存技术也在不断进步,学习和掌握这些基础知识能够帮助用户更好地理解和利用内存资源,避免陷入技术误区,从而提升计算机系统的整体性能。

    SDRAM-高手进阶,终极内存技术指南——完整进阶版

    这篇指南旨在纠正这些误解,提供纯粹的技术介绍,特别是针对现存的内存技术误区进行澄清。文章指出,虽然篇幅有限,不适合初级读者,但对于有一定技术基础的读者来说,是深化内存知识的好机会。 文章将重新探讨...

    内存技术指南

    ### 内存技术指南 #### 重要性及发展历程 内存作为计算机硬件系统中不可或缺的...本文通过回顾内存技术的发展历程、基础概念以及技术误区等方面的内容,旨在为广大用户和DIY爱好者提供一份全面而深入的内存技术指南。

    终极内存技术指南

    #### 内存技术误区 尽管内存技术得到了广泛关注,但许多文章和技术介绍中存在不少错误甚至是基本常识性的误解。例如: - **内存交错控制**:早期关于VIA芯片组4路交错内存控制的技术解析存在一定的误解。 - **内存...

    SDRAM-高手进阶,终极内存技术指南

    正因为如此,有必要对现有的内存技术误区进行纠正和澄清。正确的技术认知不仅有助于用户正确使用内存,还能激发他们对内存技术深层次知识的探索欲望。 SDRAM内存模组的基本结构是了解内存技术的基础。SDRAM内存通常...

    信息技术革命的推动下[Power推动计算平台革命].pdf

    然而,企业在构建云计算基础架构时,必须避免陷入技术误区,如过分依赖某一种技术,而忽略了与业务系统的紧密结合。Power Systems作为其中的一个重要选项,提供了强大、可靠的计算能力,特别适合部署云计算、处理...

    羽毛球基本移动步伐教案.doc

    2. 学生可能存在技术误区:学生可能存在技术误区,需要教师的指导和纠正。 六、教学评价: 1. 学生掌握羽毛球基本移动步伐的技术。 2. 学生在羽毛球比赛和训练中的应用。 3. 学生的技术和能力的提高。 七、结语:...

    CAE技术认识的三大误区

    然而,在CAE技术的普及过程中,存在一些常见的认识误区,这些误区可能导致企业投资不当,资源浪费,甚至影响技术创新的效果。 首先,误区之一是认为应用CAE技术必须购买昂贵的CAE软件。虽然CAE软件确实是实施CAE...

Global site tag (gtag.js) - Google Analytics