View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0006213 | OXID eShop (all versions) | 1.02. Price calculations (discounts, coupons, additional costs etc.) | public | 2015-08-07 09:25 | 2015-09-11 09:58 |
Reporter | fcos | Assigned To | |||
Priority | normal | Severity | minor | Reproducibility | unable to reproduce |
Status | closed | Resolution | unable to reproduce | ||
Product Version | 4.7.8 / 5.0.8 | ||||
Summary | 0006213: Wrong Voucher Calculation - session basket mixing | ||||
Description | Hi, one of our customers has a serious problem with the voucher calculation if the voucher calculation is set on percentual and categories or articles are assigned. I added some logging to "oxvoucher::_getSessionBasketItems" and it seems that sometimes the basket items that are used for calculation, are coming from another basket that was added prior or after the actual basket. Its hard to determine wich basket was first. There complete different baskets with different session ids. That can cause huge loss and customer problemens. The shop is higly customized and has a load balancer setup with memchache..., so yeah the chances are high that its because of that, but i also found a suspicious part in oxvouchers::_getSessionBasketItems. I also cant reproduce that problem on my local machine or in the stage enviroment it only happens live with high traffic/order rate. The items for calculation are coming from an basket that was set with "$this->getSession()->getBasket()", but that part of the voucher calculation is only called in "oxbaskte::_calcVoucherDiscount". Wouldn it be better/safer to directly pass the oxbasket object to "getDiscountValue()" instead of retrieving it over the session? I think that this part cause the problems (maby in combo with the high performance server setup). Would it be safe if i just fix it with an module and pass the basket directly to the methods or is there a special reason that the basket needs to be set with "$this->getSession()->getBasket()"? I hope you can help me. (and that its clear what i meant^^) Greatings, Oliver | ||||
Tags | No tags attached. | ||||
Theme | Not defined | ||||
Browser | Not defined | ||||
PHP Version | 5.3 | ||||
Database Version | Not defined | ||||
|
Reminder sent to: fcos Please supply a way to reproduce this issue. |
|
No feedback for 2 weeks -> closed as not reproducible. |