记得比较的时候要用double类型比较,不要用Double,Double是引用类型用==比较不对

 
记得比较的时候要用double类型比较,不要用Double,Double是引用类型用==比较不对 :

//查询未更新的返利额度  Map<返利大区-额度> preRebateMap
        List<RebateMonthRegionEntity> list = rebateRegionService.selectByRebateDiscountKey(rebateAmountBO.getId());
        Map<String, Double> preRebateMap = new HashMap<String, Double>();
        for (RebateMonthRegionEntity rebateMonthRegionEntity : list) {
            preRebateMap.put(rebateMonthRegionEntity.getRegionName(), rebateMonthRegionEntity.getDiscountAmount());
        }

        //只更新返利额度变化的数据
        List<RebateMonthRegionEntity> rebateMonthRegionEntityList = rebateAmountBO.getDenomBOList();
        int count2 = 0;
        for (RebateMonthRegionEntity rebateMonthRegionEntity : rebateMonthRegionEntityList) {
            rebateMonthRegionEntity.setUpdateUser(securityUser.getUsername());
            rebateMonthRegionEntity.setUpdateTime(new Date());
            //前台传来的返利额度值和数据库中额度进行对比的不一致,进行更新。
            //注意:Double是引用类型用==比较不对 所以:Double.parseDouble(map.get(key).toString) 转成 double 比较
            if (Double.parseDouble(preRebateMap.get(rebateMonthRegionEntity.getRegionName()).toString()) !=
                    Double.parseDouble(rebateMonthRegionEntity.getDiscountAmount().toString())) {
                logger.info("更新人:" + securityUser.getUsername() + "  更新前返利大区:【" + rebateMonthRegionEntity.getRegionName() + "】  " +
                        "更新前返利额度:【" + preRebateMap.get(rebateMonthRegionEntity.getRegionName()) + "】"+
                        "更新后返利额度:【" + rebateMonthRegionEntity.getDiscountAmount() + "】");

                count2 = rebateRegionService.updateByPrimaryKeySelective(rebateMonthRegionEntity);
            }
        }







猜你喜欢

转载自blog.csdn.net/sinat_33693619/article/details/79819231