|
|
@@ -5,6 +5,7 @@ import com.ydtech.exception.SystemException;
|
|
|
import com.ydtech.modules.ins.model.CardUserInfo;
|
|
|
import com.ydtech.modules.ins.model.CustomerInfoVO;
|
|
|
import com.ydtech.modules.order.service.IdentifyService;
|
|
|
+import com.ydtech.modules.protocol.utils.AssertionUtils;
|
|
|
import com.ydtech.utils.ImageCompressionUtils;
|
|
|
import com.ydtech.utils.baidu.Idcard;
|
|
|
import com.ydtech.utils.baidu.MultiObjectDetect;
|
|
|
@@ -27,58 +28,33 @@ import java.util.Map;
|
|
|
public class IdentifyServiceImpl implements IdentifyService {
|
|
|
|
|
|
@Override
|
|
|
- public HttpResult idCard(MultipartFile image1, MultipartFile image2) {
|
|
|
+ public HttpResult<Map<String, Object>> idCard(MultipartFile image1, MultipartFile image2) {
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
|
CustomerInfoVO customerInfoVO = new CustomerInfoVO();
|
|
|
|
|
|
String s1 = byteToBase64(image1);
|
|
|
- CustomerInfoVO idCardFront = Idcard.getIdCardFront(s1);
|
|
|
- if (!ObjectUtils.isEmpty(idCardFront)) {
|
|
|
- customerInfoVO.setName(idCardFront.getName());
|
|
|
- customerInfoVO.setIdentifyNumber(idCardFront.getIdentifyNumber());
|
|
|
- customerInfoVO.setAddr(idCardFront.getAddr());
|
|
|
- customerInfoVO.setIdentifyType(idCardFront.getIdentifyType());
|
|
|
- customerInfoVO.setIdentifyIssuedCom(idCardFront.getIdentifyIssuedCom());
|
|
|
- }
|
|
|
+ Idcard.getIdCardFront(s1, customerInfoVO);
|
|
|
|
|
|
String s2 = byteToBase64(image2);
|
|
|
- CustomerInfoVO idCardBack = Idcard.getIdCardBack(s2);
|
|
|
- if (!ObjectUtils.isEmpty(idCardBack)) {
|
|
|
- customerInfoVO.setIdentifyValidDate(idCardBack.getIdentifyValidDate());
|
|
|
- customerInfoVO.setIdentifyValidEndDate(idCardBack.getIdentifyValidEndDate());
|
|
|
- }
|
|
|
+ Idcard.getIdCardBack(s2, customerInfoVO);
|
|
|
|
|
|
+ AssertionUtils.isEmpty(customerInfoVO, "身份证识别失败");
|
|
|
map.put("customerInfo", customerInfoVO);
|
|
|
return HttpResult.ok("success", map);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public HttpResult drivingPermit(MultipartFile image1, MultipartFile image2) {
|
|
|
+ public HttpResult<Map<String, Object>> drivingPermit(MultipartFile image1, MultipartFile image2) {
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
|
CardUserInfo cardUserInfo = new CardUserInfo();
|
|
|
|
|
|
String s1 = byteToBase64(image1);
|
|
|
- CardUserInfo drivingPermitFront = MultiObjectDetect.drivingPermitFront(s1);
|
|
|
- if (!ObjectUtils.isEmpty(drivingPermitFront)) {
|
|
|
- cardUserInfo.setvIN(drivingPermitFront.getvIN());
|
|
|
- cardUserInfo.setIssueDate(drivingPermitFront.getIssueDate());
|
|
|
- cardUserInfo.setPlateType(drivingPermitFront.getPlateType());
|
|
|
- cardUserInfo.setMotorUsageTypeCode(drivingPermitFront.getMotorUsageTypeCode());
|
|
|
- cardUserInfo.setMotorTypeCode(drivingPermitFront.getMotorTypeCode());
|
|
|
- cardUserInfo.setRegisterDate(drivingPermitFront.getRegisterDate());
|
|
|
- cardUserInfo.setEngine(drivingPermitFront.getEngine());
|
|
|
- cardUserInfo.setPlateNo(drivingPermitFront.getPlateNo());
|
|
|
- cardUserInfo.setBackOcrID(drivingPermitFront.getBackOcrID());
|
|
|
- }
|
|
|
+ MultiObjectDetect.drivingPermitFront(s1, cardUserInfo);
|
|
|
|
|
|
String s2 = byteToBase64(image2);
|
|
|
- CardUserInfo drivingPermitBack = MultiObjectDetect.drivingPermitBack(s2);
|
|
|
- if (!ObjectUtils.isEmpty(drivingPermitBack)) {
|
|
|
- cardUserInfo.setGrossMass(drivingPermitBack.getGrossMass());
|
|
|
- cardUserInfo.setApprovedPassengersCapacity(drivingPermitBack.getApprovedPassengersCapacity());
|
|
|
- cardUserInfo.setUnladenMass(drivingPermitBack.getUnladenMass());
|
|
|
- }
|
|
|
+ MultiObjectDetect.drivingPermitBack(s2, cardUserInfo);
|
|
|
|
|
|
+ AssertionUtils.isEmpty(cardUserInfo, "身份证识别失败");
|
|
|
map.put("carInfo", cardUserInfo);
|
|
|
return HttpResult.ok("success", map);
|
|
|
}
|