Authored by chenchao

fix change owner

... ... @@ -132,7 +132,7 @@
from storage_deposit
where owner_uid = #{uid} and new_skup =#{skup} and del_status=0 and out_type!=3
</select>
<select id="queryByOwnerDepositCode" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
<select id="queryByOwnerDepositCode" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from storage_deposit
... ...
... ... @@ -1059,6 +1059,7 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService {
if (!dscNode.isExistDepositGoods()){
return 0;
}
BuyerOrderGoods pbog = preparedData.getBuyerOrderGoods();
BuyerOrder buyerOrder = preparedData.getBuyerOrder();
Integer buyerUid = buyerOrder.getUid();
Long orderCode = buyerOrder.getOrderCode();
... ... @@ -1077,9 +1078,10 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService {
//上架的寄存商品 || 未上架的寄存商品
try {
logger.warn("processOrderDeliverByDepositGoods invoke depositService.changeOwner , sellerUid {}, orderCode {},skup {} depositCode {}",
sellerUid, orderCode, skup,depositCode);
rows = depositService.changeOwner(sellerUid, skup, orderCode, buyerUid, true, depositCode) ? 1 : 0;
int newSkup = isExistSkup ? skup : pbog.getSkup();
logger.warn("processOrderDeliverByDepositGoods invoke depositService.changeOwner , sellerUid {}, orderCode {},newSkup {} depositCode {}",
sellerUid, orderCode, newSkup,depositCode);
rows = depositService.changeOwner(sellerUid, newSkup, orderCode, buyerUid, true, depositCode) ? 1 : 0;
}catch (Exception ex){
logger.warn("processOrderDeliverByDepositGoods fail, depositService.changeOwner fail, sellerUid {}, orderCode {},skup {} depositCode {}",
sellerUid, orderCode, skup,depositCode, ex);
... ...
... ... @@ -258,10 +258,11 @@ public class ExpressInfoServiceImpl implements IExpressInfoService {
){
final BuyerOrder pbo = preparedData.getBuyerOrder();
Long orderCode = pbo.getOrderCode();
concurrentProcessOrderDeliverByDepositGoods(preparedData, dscNode);
OrderStatus targetOrderStatus = OrderStatus.DONE;
int updateOrderCnt = buyerOrderService.processBuyerOrderWhenSellerDeliver(preparedData, targetOrderStatus , req4Log);
if (updateOrderCnt>0){
concurrentProcessOrderDeliverByDepositGoods(preparedData, dscNode);
//鉴定通过异步事件
orderChangeListenerContainer.fireAsyncEvent(new BuyerOrderChangeEvent(pbo, BuyerOrderChangeEvent.BizCase.APPRAISE_SUCCESS, targetOrderStatus));
... ...