67,512
社区成员
发帖
与我相关
我的任务
分享
/**
* 根据订单修改商品数量信息:即发货
* @param orderDetails 订单详情
*/
public void updateGoodsByOrder(List<OrderDetail> orderDetails) {
if(orderDetails.size()>0&&orderDetails!=null){
for(int i = 0;i < orderDetails.size();i++){
OrderDetail orderDetail = orderDetails.get(i);
//商品现存量--,销售量+
GoodsListing goods = goodsListingDao.get(orderDetail.getGoodsListing().getGoodsId());
int exitNumber = goods.getGoodsExitNumber()-orderDetail.getGoodsNumber();
int marketNumber = goods.getGoodsMarketNumber()+orderDetail.getGoodsNumber();
goods.setGoodsExitNumber(exitNumber);
goods.setGoodsMarketNumber(marketNumber);
//保存商品实例
goodsListingDao.update(goods);
//修改商品指定尺码、颜色的数量
//获取该商品的指定颜色
GoodsColor goodsColor = goodsColorDao.getGoodsColorByIdAndColor(goods.getGoodsId(),orderDetail.getGoodsColor());
//获取指定颜色、指定尺码
//GoodsSize goodsSize = goodsSizeDao.getGoodsSizeByColorAndSize(goodsColor.getGoodsColorId(), orderDetail.getGoodsSize());
//获取所有该颜色的所有尺码
List<GoodsSize> goodsSizes = goodsSizeDao.getGoodsSizeByColor(goodsColor.getGoodsColorId());
for(int j = 0;j < goodsSizes.size();j++){
GoodsSize goodsSize = goodsSizes.get(i);
if(goodsSize.getGoodsSize()==orderDetail.getGoodsSize()){
int sizeNumber = goodsSize.getGoodsNumber()-orderDetail.getGoodsNumber();
goodsSize.setGoodsNumber(sizeNumber);
goodsSizeDao.update(goodsSize);
break;
}
}
}
}
}