...
|
...
|
@@ -2,12 +2,14 @@ package com.yohoufo.order.service.impl; |
|
|
|
|
|
import com.yoho.core.dal.datasource.annotation.Database;
|
|
|
import com.yohobuy.ufo.model.order.common.OrderStatus;
|
|
|
import com.yohobuy.ufo.model.order.vo.AddressInfo;
|
|
|
import com.yohobuy.ufo.model.user.resp.AuthorizeResultRespVO;
|
|
|
import com.yohoufo.common.alarm.EventBusPublisher;
|
|
|
import com.yohoufo.common.alarm.SmsAlarmEvent;
|
|
|
import com.yohoufo.common.exception.UfoServiceException;
|
|
|
import com.yohoufo.dal.order.AlipayBlackUserMapper;
|
|
|
import com.yohoufo.dal.order.BuyerOrderMapper;
|
|
|
import com.yohoufo.dal.user.model.ZhiMaCert;
|
|
|
import com.yohoufo.order.constants.ClientSpecialSemanticCode;
|
|
|
import com.yohoufo.order.convert.builder.AlarmEventBuilder;
|
|
|
import com.yohoufo.order.service.handler.transfer.AlipayTransferChancelSelector;
|
...
|
...
|
@@ -58,12 +60,29 @@ public class ShoppingRiskWatchDog { |
|
|
}
|
|
|
}
|
|
|
|
|
|
public void checkRealName4OverseasOrder(int uid, int skupTypeCode){
|
|
|
if (SellerGoodsHelper.isOverseas(skupTypeCode)){
|
|
|
if (!userProxyService.checkRealNameCert(uid)){
|
|
|
logger.warn("in checkRealName4OverseasOrder result false, uid {}", uid);
|
|
|
throw new UfoServiceException(ClientSpecialSemanticCode.needRealName, "请完成实名认证后操作");
|
|
|
}
|
|
|
public void checkOverseasOrderUserInfo(int uid, int skupTypeCode, AddressInfo addressInfo){
|
|
|
//(1) 非香港仓商品,直接返回
|
|
|
if(!SellerGoodsHelper.isOverseas(skupTypeCode)){
|
|
|
return;
|
|
|
}
|
|
|
//(2) 校验是否实名认证
|
|
|
ZhiMaCert zhimaCert = userProxyService.getRealNameInfo(uid);
|
|
|
if (zhimaCert == null){
|
|
|
logger.warn("checkOverseaOrderUserInfo: need realName cert, uid is {}", uid);
|
|
|
throw new UfoServiceException(ClientSpecialSemanticCode.needRealName, "请完成实名认证后操作");
|
|
|
}
|
|
|
//(3) 校验和收件人的姓名,手机号是否一致
|
|
|
String buyerName = zhimaCert.getCertName();
|
|
|
String receiverName = addressInfo.getConsignee();
|
|
|
if(!buyerName.equals(receiverName)){
|
|
|
logger.warn("checkOverseaOrderUserInfo: name not match, receiverName is {}, buyerMobile is {}", receiverName, buyerName);
|
|
|
throw new UfoServiceException(ClientSpecialSemanticCode.realNameMisMatch, "收件人姓名必须与实名认证信息一致");
|
|
|
}
|
|
|
String buyerMobile = userProxyService.getMobile(uid);
|
|
|
String receiverMobile = addressInfo.getMobile();
|
|
|
if(!buyerMobile.equals(receiverMobile)){
|
|
|
logger.warn("checkOverseaOrderUserInfo: mobile not match, receiverMobile is {}, buyerMobile is {}", receiverMobile, buyerMobile);
|
|
|
throw new UfoServiceException(ClientSpecialSemanticCode.mobileMisMatch, "收件人手机号必须与账号对应手机号一致");
|
|
|
}
|
|
|
}
|
|
|
|
...
|
...
|
|