大华口门对接

(cherry picked from commit 604d96b3fa)
dahua_koumen
zhangxiongfeng 2026-07-29 17:15:00 +08:00
parent f5d06a08c7
commit bd29d0063d
5 changed files with 25 additions and 17 deletions

View File

@ -63,6 +63,8 @@ dahua:
password: qinan@202604
clientId: mkmj_management
clientSecret: 5ef82f7c-9926-46a3-8d07-136fd054849c
primeportUrl: https://gbs-gateway.qhdsafety.com
primeportGateway: primeport
nine:
config:
companyId: 2008712261453131776,2046785341004177408
companyId: 2008712261453131776,2046785341004177408

View File

@ -266,26 +266,23 @@ public class UserUpdateExe {
String newNation = userUpdateCmd.getNation() != null ? userUpdateCmd.getNation() : userDO.getNation();
String newNationName = userUpdateCmd.getNationName() != null ? userUpdateCmd.getNationName() : userDO.getNationName();
Object newFaceFile = userUpdateCmd.getUserImg() != null ? userUpdateCmd.getUserImg() : userUpdateCmd.getFaceFile();
Long newCorpId = userUpdateCmd.getCorpinfoId() != null ? userUpdateCmd.getCorpinfoId() : userDO.getCorpinfoId();
log.info("【本次请求入参】name是否传={}, phone是否传={}, userIdCard是否传={}, nation是否传={}, nationName是否传={}, userImg是否传={}, faceFile是否传={}, corpinfoId是否传={}",
log.info("【本次请求入参】name是否传={}, phone是否传={}, userIdCard是否传={}, nation是否传={}, nationName是否传={}, userImg是否传={}, faceFile是否传={}",
userUpdateCmd.getName() != null, userUpdateCmd.getPhone() != null, userUpdateCmd.getUserIdCard() != null,
userUpdateCmd.getNation() != null, userUpdateCmd.getNationName() != null,
userUpdateCmd.getUserImg() != null, userUpdateCmd.getFaceFile() != null,
userUpdateCmd.getCorpinfoId() != null);
userUpdateCmd.getUserImg() != null, userUpdateCmd.getFaceFile() != null);
boolean nameChanged = !Objects.equals(newName, userDO.getName());
boolean idCardChanged = !Objects.equals(newIdCard, userDO.getUserIdCard());
boolean phoneChanged = !Objects.equals(newPhone, userDO.getPhone());
boolean nationChanged = !Objects.equals(newNation, userDO.getNation()) || !Objects.equals(newNationName, userDO.getNationName());
boolean faceChanged = newFaceFile != null;
boolean corpChanged = !Objects.equals(newCorpId, userDO.getCorpinfoId());
log.info("【变化检测】nameChanged={}({}→{}), idCardChanged={}, phoneChanged={}, nationChanged={}({}/{}→{}/{}), faceChanged={}, corpChanged={}({}→{})",
log.info("【变化检测】nameChanged={}({}→{}), idCardChanged={}, phoneChanged={}, nationChanged={}({}/{}→{}/{}), faceChanged={}",
nameChanged, userDO.getName(), newName,
idCardChanged, phoneChanged,
nationChanged, userDO.getNation(), userDO.getNationName(), newNation, newNationName,
faceChanged, corpChanged, userDO.getCorpinfoId(), newCorpId);
if (!nameChanged && !idCardChanged && !phoneChanged && !nationChanged && !faceChanged && !corpChanged) {
log.info("【跳过同步大华】姓名/身份证/手机号/民族/人脸图/企业 6项都没变化,按优化逻辑不调更新接口");
faceChanged);
if (!nameChanged && !idCardChanged && !phoneChanged && !nationChanged && !faceChanged) {
log.info("【跳过同步大华】姓名/身份证/手机号/民族/人脸图 5项都没变化,按优化逻辑不调更新接口");
return;
}
@ -311,8 +308,7 @@ public class UserUpdateExe {
personMap.put("paperType", 111);
personMap.put("paperNumber", plainIdCard);
personMap.put("phone", newPhone);
Long realCorpId = newCorpId != null ? newCorpId : 1L;
personMap.put("departmentId", realCorpId);
personMap.put("departmentId", 1);
personMap.put("nationName", newNationName != null && !newNationName.trim().isEmpty() ? newNationName : "汉族");
try {
if (newNation != null && !newNation.trim().isEmpty()) {

View File

@ -35,12 +35,14 @@ public class UserUpdateCmd extends Command {
private String name;
@ApiModelProperty(value = "企业id", name = "corpinfoId")
private Long corpinfoId;
private String corpinfoName;
@ApiModelProperty(value = "是否主账号1是0否", name = "mainCorpFlag")
private Integer mainCorpFlag;
@ApiModelProperty(value = "用户类型,1监管2企业3相关方", name = "userType")
private Integer userType;
@ApiModelProperty(value = "部门id", name = "departmentId")
private Long departmentId;
private String departmentName;
@ApiModelProperty(value = "岗位id", name = "postId")
private Long postId;
@ApiModelProperty(value = "岗位名称", name = "postName")
@ -61,6 +63,10 @@ public class UserUpdateCmd extends Command {
private String userIdCard;
@ApiModelProperty(value = "人脸头像url", name = "userAvatarUrl")
private String userAvatarUrl;
@ApiModelProperty(value = "人脸图片文件(取thumbUrl字段作为base64传大华)")
private Object faceFile;
@ApiModelProperty(value = "用户头像数组(相关方人员头像取第一个元素的thumbUrl字段作为base64传大华优先级高于faceFile)")
private Object userImg;
@ApiModelProperty(value = "现住址", name = "currentAddress")
private String currentAddress;
@ApiModelProperty(value = "户口所在地", name = "locationAddress")
@ -94,9 +100,12 @@ public class UserUpdateCmd extends Command {
// 入职状态
@ApiModelProperty(value = "是否流动人员1-流动0-固定人员")
private Integer flowFlag;
private Integer rzFlag;
// 微信openid
@ApiModelProperty(value = "微信openid")
private String openId;
@ApiModelProperty(value = "入职状态0-离职, 1-在职, 2-信息变更中, 3-未入职, 4-实习生, 5-实习结束, 6-退休, 7-劳务派遣, 8-劳务派遣结束, 11-入职待审核, 10-离职待审核")
private Integer employmentFlag;
@ApiModelProperty(value = "是否特殊工种")
private Integer isSpecialJob;
@ -121,5 +130,4 @@ public class UserUpdateCmd extends Command {
private String payNumber;
@ApiModelProperty(value = "是否缴纳其他人身伤害保险")
private Integer isBf;
}
}

View File

@ -81,6 +81,9 @@ public class UserXgfAddCmd extends Command {
@ApiModelProperty(value = "人脸头像url", name = "userAvatarUrl", required = true)
private String userAvatarUrl;
@ApiModelProperty(value = "用户头像数组(取第一个元素的thumbUrl字段作为base64传大华优先级高于userAvatarUrl)")
private Object userImg;
@ApiModelProperty(value = "现住址", name = "currentAddress", required = true)
private String currentAddress;
@ -159,5 +162,4 @@ public class UserXgfAddCmd extends Command {
private String payNumber;
@ApiModelProperty(value = "是否缴纳其他人身伤害保险")
private Integer isBf;
}
}

View File

@ -588,7 +588,7 @@
<where>
and ui.delete_enum = 'FALSE'
<if test="params.urlList != null and params.urlList.size() > 0">
ui.user_avatar_url IN
and ui.user_avatar_url IN
<foreach collection="params.urlList" item="url" open="(" close=")" separator=",">
#{url}
</foreach>