|
@@ -128,9 +128,13 @@ public class ApiOrderService {
|
|
|
stockNum = goodsInfo.getGoods_number();
|
|
|
stockNum = stockNum == null? 0 : stockNum;
|
|
|
goodsInfo.setGoods_number(stockNum + orderGoodsVo.getNumber());
|
|
|
- goodsInfo.minusSellVolume();
|
|
|
+// goodsInfo.setSell_volume(goodsInfo.getGoods_sell_volume() - orderGoodsVo.getNumber());
|
|
|
apiGoodsMapper.updateGoodsStock(goodsInfo);
|
|
|
|
|
|
+ productInfo.setSell_volume(productInfo.getSell_volume() - orderGoodsVo.getNumber());
|
|
|
+ productInfo.setGoods_id(goodsInfo.getId());
|
|
|
+ apiProductMapper.updateStockNum(productInfo);
|
|
|
+
|
|
|
MngChangeVo mngChangeVo = new MngChangeVo();
|
|
|
mngChangeVo.setGoodsId(Integer.parseInt(String.valueOf(goodsInfo.getId())));
|
|
|
mngChangeVo.setThirdPartyMerchCode(goodsInfo.getThirdPartyMerchCode());
|
|
@@ -152,7 +156,7 @@ public class ApiOrderService {
|
|
|
stockNum = productInfo.getStock_num();
|
|
|
stockNum = stockNum == null? 0 : stockNum;
|
|
|
productInfo.setStock_num(stockNum + orderGoodsVo.getNumber());
|
|
|
- productInfo.minusSellVolume();
|
|
|
+ productInfo.setSell_volume(productInfo.getSell_volume() - orderGoodsVo.getNumber());
|
|
|
productInfo.setGoods_id(goodsInfo.getId());
|
|
|
apiProductMapper.updateStockNum(productInfo);
|
|
|
|
|
@@ -178,7 +182,7 @@ public class ApiOrderService {
|
|
|
stockNum = stockNum == null? 0 : stockNum;
|
|
|
productInfo.setStock_num(stockNum + orderGoodsVo.getNumber());
|
|
|
productInfo.setGoods_id(goodsInfo.getId());
|
|
|
- productInfo.minusSellVolume();
|
|
|
+ productInfo.setSell_volume(productInfo.getSell_volume() - orderGoodsVo.getNumber());
|
|
|
apiProductMapper.updateStockNum(productInfo);
|
|
|
|
|
|
StoreMngChangeVo storeMngChangeVo = new StoreMngChangeVo();
|
|
@@ -257,8 +261,13 @@ public class ApiOrderService {
|
|
|
userVo.setId(loginUser.getId());
|
|
|
userVo.setIdNo(idNo);
|
|
|
userVo.setUsername(userName);
|
|
|
+ logger.info("param userId:"+ loginUser.getId());
|
|
|
+ logger.info("param idNo:"+ idNo);
|
|
|
+ logger.info("param userName:"+ userName);
|
|
|
if(user != null){
|
|
|
- if(loginUser.getId() != user.getId()){
|
|
|
+ logger.info("query userId:"+ user.getId());
|
|
|
+ if(loginUser.getId().compareTo(user.getId()) != 0){
|
|
|
+ logger.info("该身份证信息已被绑定,登陆用户:"+ user.getId()+",查询用户:"+ user.getId());
|
|
|
resultObj.put("errno", 400);
|
|
|
resultObj.put("errmsg", "该身份证信息已被绑定");
|
|
|
return resultObj;
|
|
@@ -270,6 +279,7 @@ public class ApiOrderService {
|
|
|
if(vo.getRespCode().equalsIgnoreCase("0000")){
|
|
|
apiUserMapper.update(userVo);
|
|
|
}else{
|
|
|
+ logger.info(vo.getRespMessage());
|
|
|
resultObj.put("errno", 400);
|
|
|
resultObj.put("errmsg", vo.getRespMessage());
|
|
|
return resultObj;
|
|
@@ -285,6 +295,7 @@ public class ApiOrderService {
|
|
|
if (null == checkedGoodsList) {
|
|
|
resultObj.put("errno", 400);
|
|
|
resultObj.put("errmsg", "请选择商品");
|
|
|
+ logger.error("请选择商品");
|
|
|
return resultObj;
|
|
|
}
|
|
|
// 检查库存和更新库存
|
|
@@ -294,12 +305,14 @@ public class ApiOrderService {
|
|
|
//取得规格的信息,判断规格库存
|
|
|
GoodsVo goodsInfo = apiGoodsMapper.queryObjectByStoreId(goodsItem.getGoods_id(), storeId);
|
|
|
if (null == goodsInfo || goodsInfo.getIs_delete() == 1 || goodsInfo.getIs_on_sale() == 0) {
|
|
|
+ logger.error("订单提交失败:商品不存在");
|
|
|
throw new RRException("订单提交失败:商品不存在");
|
|
|
}
|
|
|
ProductVo productInfo = apiProductMapper.queryByStoreId(goodsItem.getProduct_id(), storeId);
|
|
|
|
|
|
synchronized (productInfo){
|
|
|
if (null == productInfo) {
|
|
|
+ logger.error("订单提交失败:商品已下架");
|
|
|
throw new RRException("订单提交失败:商品已下架");
|
|
|
}
|
|
|
// TODO: 2019/3/5 普通商品不受共享库存影响,直接取门店配置库存
|
|
@@ -314,12 +327,14 @@ public class ApiOrderService {
|
|
|
stockNum = productInfo.getStock_num();
|
|
|
}
|
|
|
if (null == stockNum || stockNum < goodsItem.getNumber() || stockNum <= 0) {
|
|
|
+ logger.error("订单提交失败:库存不足,仅剩余" + stockNum);
|
|
|
throw new RRException("订单提交失败:库存不足,仅剩余" + stockNum);
|
|
|
}else{
|
|
|
if(goodsInfo.getGoodsBizType().equalsIgnoreCase(Dict.orderBizType.item_00.getItem())){
|
|
|
if (goodsInfo.getIsStockShare().equalsIgnoreCase(Dict.isStockShare.item_1.getItem())) {
|
|
|
//扣减商户商品库存
|
|
|
- updateGoodsStock(goodsInfo,stockNum,goodsItem,userName);
|
|
|
+ productInfo.setStore_id(storeId);
|
|
|
+ updateGoodsStock(goodsInfo,productInfo,stockNum,goodsItem,userName);
|
|
|
}
|
|
|
if (goodsInfo.getIsStockShare().equalsIgnoreCase(Dict.isStockShare.item_0.getItem())) {
|
|
|
//扣减门店库存
|
|
@@ -438,6 +453,7 @@ public class ApiOrderService {
|
|
|
List<OrderProcessRecordEntity> processRecordEntityList = new ArrayList<>();
|
|
|
for (OrderVo orderInfo : orderInfoList) {
|
|
|
if (null == orderInfo.getId()) {
|
|
|
+ logger.error("订单提交失败");
|
|
|
throw new RRException("订单提交失败");
|
|
|
}
|
|
|
//新增订单详情
|
|
@@ -446,6 +462,7 @@ public class ApiOrderService {
|
|
|
if (orderInfo.getOrderBizType().equalsIgnoreCase(goodsItem.getGoodsBizType())) {
|
|
|
GoodsVo goodsVo = apiGoodsMapper.queryObjectByStoreId(goodsItem.getGoods_id(), storeId);
|
|
|
if(goodsVo==null){
|
|
|
+ logger.error("订单提交失败:商品不存在");
|
|
|
throw new RRException("订单提交失败:商品不存在");
|
|
|
}
|
|
|
OrderGoodsVo orderGoodsVo = setOrderGoodsVo(orderInfo, goodsItem, goodsVo);
|
|
@@ -495,11 +512,14 @@ public class ApiOrderService {
|
|
|
|
|
|
return resultObj;
|
|
|
}
|
|
|
- private void updateGoodsStock(GoodsVo goodsVo,Integer stockNum,CartVo goodsItem,String userName){
|
|
|
+ private void updateGoodsStock(GoodsVo goodsVo,ProductVo productInfo,Integer stockNum,CartVo goodsItem,String userName){
|
|
|
goodsVo.setGoods_number(stockNum - goodsItem.getNumber());
|
|
|
- goodsVo.addSellVolume();
|
|
|
goodsVo.setId(goodsVo.getId());
|
|
|
apiGoodsMapper.updateGoodsStock(goodsVo);
|
|
|
+ //修改门店商品销量
|
|
|
+ productInfo.setSell_volume(productInfo.getSell_volume() + goodsItem.getNumber());
|
|
|
+ productInfo.setGoods_id(goodsVo.getId());
|
|
|
+ apiProductMapper.updateStockNum(productInfo);
|
|
|
|
|
|
MngChangeVo mngChangeVo = new MngChangeVo();
|
|
|
mngChangeVo.setGoodsId(Integer.parseInt(String.valueOf(goodsVo.getId())));
|
|
@@ -520,7 +540,7 @@ public class ApiOrderService {
|
|
|
private void updateStock(ProductVo productInfo,GoodsVo goodsVo,Integer stockNum,CartVo goodsItem,Long storeId,String userName){
|
|
|
productInfo.setStock_num(stockNum - goodsItem.getNumber());
|
|
|
productInfo.setStore_id(storeId);
|
|
|
- productInfo.addSellVolume();
|
|
|
+ productInfo.setSell_volume(productInfo.getSell_volume() + goodsItem.getNumber());
|
|
|
productInfo.setGoods_id(goodsVo.getId());
|
|
|
// productVos.add(productInfo);
|
|
|
apiProductMapper.updateStockNum(productInfo);
|