1.上传人脸修复
parent
1366309b02
commit
00de04fd98
|
|
@ -1,6 +1,10 @@
|
||||||
package com.zcloud.primeport.command;
|
package com.zcloud.primeport.command;
|
||||||
|
|
||||||
import com.alibaba.cola.exception.BizException;
|
import com.alibaba.cola.exception.BizException;
|
||||||
|
import com.alibaba.cola.dto.MultiResponse;
|
||||||
|
import com.zcloud.gbscommon.zclouduser.facade.ZcloudUserFacade;
|
||||||
|
import com.zcloud.gbscommon.zclouduser.request.ZcloudUserImgQry;
|
||||||
|
import com.zcloud.gbscommon.zclouduser.response.ZcloudUserImgBase64Co;
|
||||||
import com.zcloud.primeport.domain.gateway.DaHuaGateway;
|
import com.zcloud.primeport.domain.gateway.DaHuaGateway;
|
||||||
import com.zcloud.primeport.domain.gateway.PersonApplyGateway;
|
import com.zcloud.primeport.domain.gateway.PersonApplyGateway;
|
||||||
import com.zcloud.primeport.domain.model.DaHuaPersonSyncCmd;
|
import com.zcloud.primeport.domain.model.DaHuaPersonSyncCmd;
|
||||||
|
|
@ -9,6 +13,7 @@ import com.zcloud.primeport.domain.model.XgfApplyPersonE;
|
||||||
import com.zcloud.primeport.dto.PersonApplyUpdateCmd;
|
import com.zcloud.primeport.dto.PersonApplyUpdateCmd;
|
||||||
import jodd.util.Base64;
|
import jodd.util.Base64;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
|
import org.apache.dubbo.config.annotation.DubboReference;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
@ -28,6 +33,9 @@ public class DaHuaPersonSyncExe {
|
||||||
private final DaHuaGateway daHuaGateway;
|
private final DaHuaGateway daHuaGateway;
|
||||||
private final PersonApplyGateway personApplyGateway;
|
private final PersonApplyGateway personApplyGateway;
|
||||||
|
|
||||||
|
@DubboReference
|
||||||
|
private ZcloudUserFacade zcloudUserFacade;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 相关方人员审核通过后,按证件号判断新增或更新大华人员。
|
* 相关方人员审核通过后,按证件号判断新增或更新大华人员。
|
||||||
*/
|
*/
|
||||||
|
|
@ -118,11 +126,41 @@ public class DaHuaPersonSyncExe {
|
||||||
DaHuaPersonSyncCmd.PersonBiosignature face = new DaHuaPersonSyncCmd.PersonBiosignature();
|
DaHuaPersonSyncCmd.PersonBiosignature face = new DaHuaPersonSyncCmd.PersonBiosignature();
|
||||||
face.setType(3);
|
face.setType(3);
|
||||||
face.setIndex(1);
|
face.setIndex(1);
|
||||||
face.setPath(faceUrl);
|
// userFaceUrl 是用户中心的文件路径,先通过 Dubbo 获取 Base64,交给网关上传到大华
|
||||||
|
face.setBase64Data(resolveFaceBase64(faceUrl));
|
||||||
cmd.setPersonBiosignatures(Collections.singletonList(face));
|
cmd.setPersonBiosignatures(Collections.singletonList(face));
|
||||||
return cmd;
|
return cmd;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过用户中心把本系统头像路径转换为图片 Base64。
|
||||||
|
* 大华人员接口的 path 必须是大华图片上传接口返回的 fileUrl,不能直接使用本系统路径。
|
||||||
|
*/
|
||||||
|
private String resolveFaceBase64(String faceUrl) {
|
||||||
|
if (faceUrl == null || faceUrl.trim().isEmpty()) {
|
||||||
|
throw new BizException("相关方人员头像不能为空");
|
||||||
|
}
|
||||||
|
ZcloudUserImgQry qry = new ZcloudUserImgQry();
|
||||||
|
qry.setUrlList(Collections.singletonList(faceUrl));
|
||||||
|
MultiResponse<ZcloudUserImgBase64Co> response;
|
||||||
|
try {
|
||||||
|
response = zcloudUserFacade.listBase64ByUrl(qry);
|
||||||
|
} catch (Exception e) {
|
||||||
|
throw new BizException("获取相关方人员头像失败");
|
||||||
|
}
|
||||||
|
if (response == null || response.getData() == null) {
|
||||||
|
throw new BizException("获取相关方人员头像失败");
|
||||||
|
}
|
||||||
|
for (ZcloudUserImgBase64Co image : response.getData()) {
|
||||||
|
if (image != null && faceUrl.equals(image.getUserAvatarUrl())
|
||||||
|
&& image.getUserAvatarBase64() != null
|
||||||
|
&& !image.getUserAvatarBase64().trim().isEmpty()) {
|
||||||
|
return image.getUserAvatarBase64();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
throw new BizException("相关方人员头像转换失败");
|
||||||
|
}
|
||||||
|
|
||||||
private String decodeUserCard(String userCard) {
|
private String decodeUserCard(String userCard) {
|
||||||
try {
|
try {
|
||||||
return Base64.decodeToString(userCard);
|
return Base64.decodeToString(userCard);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue