Authored by chenchao

optimized

... ... @@ -2,6 +2,7 @@ package com.yohoufo.order.model.dto;
import com.yohobuy.ufo.model.order.vo.AddressInfo;
import com.yohoufo.dal.order.model.SellerOrderGoods;
import com.yohoufo.order.model.bo.CouponBo;
import lombok.Data;
import lombok.ToString;
... ... @@ -46,4 +47,6 @@ public class OrderBuilder {
CouponBo couponBo;
Integer attributes;
SellerOrderGoods sellerOrderGoods;
}
... ...
... ... @@ -381,7 +381,7 @@ public class SellerOrderCancelService {
sogCondition.setId(skup);
sogCondition.setStatus(targetSOStatus.getSkupStatus().getCode());
sogCondition.setExceptStatus(exceptStatus.getSkupStatus().getCode());
result += sellerOrderGoodsMapper.updateByPrimaryKeySelective(sogCondition);
result += sellerOrderGoodsMapper.updateStatusBySkpu(sogCondition);
if (result > 0) {
... ... @@ -752,7 +752,6 @@ public class SellerOrderCancelService {
}
final SellerOrderStatus targetSellerOrderStatus = SellerOrderStatus.YOHO_CANCEL_SELL;
//TODO check skup is buy away
SellerOrderGoods targetGoods = new SellerOrderGoods();
targetGoods.setId(skup);
targetGoods.setStatus(targetSellerOrderStatus.getSkupStatus().getCode());
... ...
... ... @@ -243,10 +243,10 @@ public class ShoppingServiceImpl implements IShoppingService {
Pair<AddressInfo, AddressInfo> userAddressPair = getAndCheckAddressInfo(shoppingRequest);
// 检查skup是否可售
SellerOrderGoods skup = checkSkupSellOrNot(shoppingRequest.getSkup());
SellerOrderGoods psog = checkSkupSellOrNot(shoppingRequest.getSkup());
//算费
ChargeContext chargeContext = buildChargeContext(shoppingRequest,skup);
ChargeContext chargeContext = buildChargeContext(shoppingRequest,psog);
chargeService.charge(chargeContext);
//算费结果
ChargeResult chargeResult = chargeContext.getChargeResult();
... ... @@ -263,7 +263,7 @@ public class ShoppingServiceImpl implements IShoppingService {
.uid(uid=shoppingRequest.getUid())
.skup(shoppingRequest.getSkup())
.orderCode(orderCode)
.productId(skup.getProductId())
.productId(psog.getProductId())
.paymentType(OrderConstant.PAYMENT_ONLINE)
.deliverWay(buildDeliveryWay())
.channelNo(shoppingRequest.getChannelNo())
... ... @@ -276,7 +276,8 @@ public class ShoppingServiceImpl implements IShoppingService {
.hiddenAddressInfo(userAddressPair.getRight())
.addressInfo(userAddressPair.getLeft())
.clientType(shoppingRequest.getClientType())
.attributes(buildOrderAttribute(skup).getCode())
.attributes(buildOrderAttribute(psog).getCode())
.sellerOrderGoods(psog)
.build();
BuyerOrderSubmitResult submitResult = ordeCreationService.doSumbitOrder(orderBuilder);
... ... @@ -291,7 +292,6 @@ public class ShoppingServiceImpl implements IShoppingService {
//clean cache
// merge clean key
cacheCleaner.cleanList(uid, TabType.BUY.getValue());
SellerOrderGoods psog = submitResult.getSellerOrderGoods();
Integer sellerUid = submitResult.getSellerOrder().getUid();
Long sellerOrderCode = submitResult.getSellerOrder().getOrderCode();
//clean seller cache
... ... @@ -308,12 +308,12 @@ public class ShoppingServiceImpl implements IShoppingService {
.uid(shoppingRequest.getUid()).orderCode(orderCode).build();
EventBusPublisher.publishEvent(notPaidNoticeEvent);
//
inBoxFacade.sellerSkupCreateOrderByBuyer(sellerUid, skup);
inBoxFacade.sellerSkupCreateOrderByBuyer(sellerUid, psog);
}else{
logger.warn("buyer submit order ");
}
// 返回结果
return OrderSubmitResponse.builder().orderCode(orderCode).productId(skup.getProductId())
return OrderSubmitResponse.builder().orderCode(orderCode).productId(psog.getProductId())
.paymentStatus(OrderConstant.N_STR).build();
}
... ...
... ... @@ -145,7 +145,8 @@ public class SubmitOrderServiceImpl implements ISubmitOrderService {
*/
// 1.表seller_order_goods ==> 不可售
SellerOrderGoods sellerOrderGoods = updSellerOrderGoods(orderBuilder);
updSellerOrderGoods(orderBuilder);
// 查询卖家订单
SellerOrder sellerOrder = selectSellerOrder(orderBuilder);
... ... @@ -154,7 +155,7 @@ public class SubmitOrderServiceImpl implements ISubmitOrderService {
insertOrder(orderBuilder, sellerOrder.getUid());
// 4.插入订单商品 buyer_order_goods
insertOrderGoods(orderBuilder, sellerOrderGoods);
insertOrderGoods(orderBuilder);
// 5.插入收货地址 buyer_order_meta 买家收货地址
insertOrderMeta(orderBuilder);
... ... @@ -168,7 +169,8 @@ public class SubmitOrderServiceImpl implements ISubmitOrderService {
BuyerOrderSubmitResult result = BuyerOrderSubmitResult.builder()
.orderCode(orderBuilder.getOrderCode())
.sellerOrder(sellerOrder).sellerOrderGoods(sellerOrderGoods).build();
.sellerOrder(sellerOrder)
.sellerOrderGoods(orderBuilder.getSellerOrderGoods()).build();
return result;
}
... ... @@ -191,7 +193,8 @@ public class SubmitOrderServiceImpl implements ISubmitOrderService {
buyerOrderMetaMapper.insert(hiddenBOM);
}
private void insertOrderGoods(OrderBuilder orderBuilder, SellerOrderGoods sellerOrderGoods) {
private void insertOrderGoods(OrderBuilder orderBuilder) {
SellerOrderGoods sellerOrderGoods = orderBuilder.getSellerOrderGoods();
BuyerOrderGoods buyerOrderGoods = new BuyerOrderGoods();
buyerOrderGoods.setSkup(orderBuilder.getSkup());
buyerOrderGoods.setOrderCode(orderBuilder.getOrderCode());
... ... @@ -239,14 +242,19 @@ public class SubmitOrderServiceImpl implements ISubmitOrderService {
return sellerOrder;
}
private SellerOrderGoods updSellerOrderGoods(OrderBuilder orderBuilder) {
SellerOrderGoods sellerOrderGoods = sellerOrderGoodsMapper.selectByPrimaryKey(orderBuilder.getSkup());
sellerOrderGoods.setId(orderBuilder.getSkup());
sellerOrderGoods.setStatus(SkupStatus.SELL_OUT.getCode());
sellerOrderGoodsMapper.updateByPrimaryKeySelective(sellerOrderGoods);
return sellerOrderGoods;
private int updSellerOrderGoods(OrderBuilder orderBuilder) {
int skup;
int uid = orderBuilder.getUid();
SellerOrderGoods condition = new SellerOrderGoods();
condition.setId(skup = orderBuilder.getSkup());
condition.setExceptStatus(SkupStatus.CAN_SELL.getCode());
condition.setStatus(SkupStatus.SELL_OUT.getCode());
int num = sellerOrderGoodsMapper.updateStatusBySkpu(condition);
if (num == 0 ){
logger.warn("in buyer create order fail on update skup status , uid {} skup {}", uid, skup);
throw new ServiceException(ServiceError.ORDER_SKUP_CANNOT_SELL);
}
return num;
}
}
... ...
package com.yohoufo.order.service.seller.changePrice;
import com.google.common.collect.Lists;
import com.yoho.error.ServiceError;
import com.yoho.error.exception.ServiceException;
import com.yohobuy.ufo.model.order.bo.OrderInfo;
import com.yohobuy.ufo.model.order.bo.SoldPrdComputeBo;
import com.yohobuy.ufo.model.order.common.TabType;
import com.yohobuy.ufo.model.order.constants.ChangePriceStatus;
import com.yohobuy.ufo.model.order.req.NESChangePriceReq;
import com.yohobuy.ufo.model.order.req.SellerOrderCancelReq;
... ... @@ -18,12 +15,10 @@ import com.yohoufo.dal.order.model.SellerChangePriceRecord;
import com.yohoufo.dal.order.model.SellerOrder;
import com.yohoufo.dal.order.model.SellerOrderGoods;
import com.yohoufo.order.convert.SellerOrderConvertor;
import com.yohoufo.order.event.OrderCancelEvent;
import com.yohoufo.order.model.NESCPOrderContext;
import com.yohoufo.order.model.dto.ChangePricePrepareDTO;
import com.yohoufo.order.model.response.OrderSubmitResp;
import com.yohoufo.order.service.impl.SellerOrderCancelService;
import com.yohoufo.order.service.impl.visitor.UserCancelCase;
import com.yohoufo.order.service.proxy.ProductProxyService;
import com.yohoufo.order.service.seller.SellerChangePriceRecordService;
import com.yohoufo.order.service.seller.processor.NESChangePricePrepareProcessor;
... ... @@ -59,7 +54,7 @@ import java.util.stream.Collectors;
* Created by chao.chen on 2019/3/21.
*/
@Service
public class NotEntrySellerChangePriceService {
public class NotEntrySellerChangePriceService{
private final Logger logger = LoggerUtils.getSellerOrderLogger();
@Autowired
... ... @@ -238,6 +233,7 @@ public class NotEntrySellerChangePriceService {
}
private void rollBackWherPaidCallBackFail(int uid, long orderCode){
recordFail(orderCode,ChangePriceStatus.SUCCESS, ChangePriceStatus.OFF_SHELVE_PRE);
sellerOrderCancelService.cancelSellerOrder(uid, orderCode);
}
... ...