Authored by qinchao

手机质检:发货

package com.yohoufo.order.controller;
import com.yoho.core.rest.annotation.ServiceDesc;
import com.yoho.error.exception.ServiceException;
import com.yohobuy.ufo.model.order.bo.AppraiseExpressInfoBo;
import com.yohobuy.ufo.model.order.common.OrderStatus;
import com.yohoufo.common.ApiResponse;
import com.yohoufo.common.annotation.IgnoreSession;
import com.yohoufo.common.annotation.IgnoreSignature;
import com.yohoufo.order.service.impl.AppraiseService;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
... ... @@ -129,6 +131,9 @@ public class AppraiseController {
* 瑕疵确认通过 -->鉴定通过
* 平台鉴定中 -->鉴定通过
*/
@RequestMapping(value="/judgeCenterPass")
@IgnoreSession
@IgnoreSignature
public ApiResponse judgeCenterPass(Long orderCode){
logger.info("in judgeCenterPass, orderCode {}", orderCode);
return appraiseService.judgeCenterPass(orderCode);
... ... @@ -138,6 +143,9 @@ public class AppraiseController {
* TODO 手机质检: 发货
* 鉴定通过 -- 待收货
*/
@RequestMapping(value="/deliveryGoodsToBuyer")
@IgnoreSession
@IgnoreSignature
public ApiResponse deliveryGoodsToBuyer(AppraiseExpressInfoBo appraiseExpressInfoBo){
logger.info("in deliveryGoodsToBuyer, appraiseExpressInfoBo {}", appraiseExpressInfoBo);
appraiseService.deliveryGoodsToBuyer(appraiseExpressInfoBo);
... ...
... ... @@ -165,7 +165,7 @@ public class AppraiseService {
/**
* 鉴定不通过退回
* (1)记录物流
* (2)消息 :寄回有三种情形: 质检不通过的而商品、瑕疵不接受的 、瑕疵不接受(超时)的
* (2)消息 :寄回有4种情形: 鉴定不通过、质检不通过的商品、瑕疵不接受的 、瑕疵不接受(超时)的
*/
public void returnBackOrderCauseOfJudgeFailure(AppraiseExpressInfoBo appraiseExpressInfoBo){
Integer expressCompanyId = appraiseExpressInfoBo.getExpressCompanyId();
... ... @@ -181,12 +181,23 @@ public class AppraiseService {
throw new ServiceException(ServiceError.ORDER_NULL);
}
OrderStatus expectStatus = OrderStatus.CHECKING_FAKE;
if (buyerOrder.getStatus() != expectStatus.getCode()){
LOGGER.warn("returnBackOrderCauseOfJudgeFailure expectStatus {}, actual status {}, orderCode {}", expectStatus,
OrderStatus expectStatus;
if (buyerOrder.getStatus() != OrderStatus.CHECKING_FAKE.getCode()){
expectStatus = OrderStatus.CHECKING_FAKE;
}else if(buyerOrder.getStatus() != OrderStatus.QUALITY_CHECK_FAKE.getCode()){
expectStatus = OrderStatus.QUALITY_CHECK_FAKE;
}else if(buyerOrder.getStatus() != OrderStatus.MINI_FAULT_REJECT.getCode()){
expectStatus = OrderStatus.MINI_FAULT_REJECT;
}else if(buyerOrder.getStatus() != OrderStatus.MINI_FAULT_OUT_TIME_REJECT.getCode()){
expectStatus = OrderStatus.MINI_FAULT_OUT_TIME_REJECT;
}else{
//if (buyerOrder.getStatus() != expectStatus.getCode()){
LOGGER.warn("returnBackOrderCauseOfJudgeFailure expectStatus CHECKING_FAKE QUALITY_CHECK_FAKE MINI_FAULT_REJECT or MINI_FAULT_OUT_TIME_REJECT, actual status {}, orderCode {}",
buyerOrder.getStatus(), orderCode);
throw new ServiceException(ServiceError.ORDER_STATUS_INVALIDATE);
}
LOGGER.info("returnBackOrderCauseOfJudgeFailure check status ok expectStatus {}, actual status {}, orderCode {}",expectStatus,
buyerOrder.getStatus(), orderCode);
//更新物流信息
int sellerUid = buyerOrder.getSellerUid();
... ... @@ -197,15 +208,19 @@ public class AppraiseService {
//发消息给卖家
QualityCheck qualityCheck = qualityCheckMapper.selectByOrderCode(orderCode);
int type = 1 ;//鉴定不通过
if(qualityCheck!=null&&qualityCheck.getType()!=null&&qualityCheck.getStatus()!=null
&&EnumQualityCheckType.MINI_FAULT.getCode().intValue()==qualityCheck.getType().intValue()){
if(EnumQualityCheckStatus.REJECT_BY_BUYER.getCode().intValue()==qualityCheck.getStatus().intValue()){
type = 2;//用户不接受瑕疵
}else if(EnumQualityCheckStatus.REJECT_BY_OUTER_TIME.getCode().intValue()==qualityCheck.getStatus().intValue()){
type = 3;//用户不接受超时
int type = 0 ;//鉴定不通过
if(qualityCheck!=null&&qualityCheck.getType()!=null){
if(EnumQualityCheckType.CHECK_NOT_PASS.getCode().intValue()==qualityCheck.getType().intValue()){
type = 1;//质检不通过
}else if(EnumQualityCheckType.MINI_FAULT.getCode().intValue()==qualityCheck.getType().intValue()){
if(qualityCheck.getStatus()!=null){
if(EnumQualityCheckStatus.REJECT_BY_BUYER.getCode().intValue()==qualityCheck.getStatus().intValue()){
type = 2;//用户不接受瑕疵
}else if(EnumQualityCheckStatus.REJECT_BY_OUTER_TIME.getCode().intValue()==qualityCheck.getStatus().intValue()){
type = 3;//用户不接受超时
}
}
}
}
inBoxFacade.sellerQualityCheckNotPass_send_back(sellerOrderGoods,orderCode,wayBillCode, type);
}
... ...