feat:接入海康二级口门进出记录
parent
84d835abc8
commit
0126a0587f
|
|
@ -31,5 +31,7 @@ public interface ClosedAreaPersonApplyMapper extends BaseMapper<ClosedAreaPerson
|
|||
IPage<ClosedAreaPersonApplyDO> listPage(Page<Map<String, Object>> page, @Param("params") Map<String, Object> params, String menuPerms);
|
||||
|
||||
List<TwoLevelUser> getDockAuthInfoById(Long applyId);
|
||||
|
||||
List<TwoLevelUser> getDockAuthTmpInfoById(Long applyId);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -22,5 +22,7 @@ public interface ClosedAreaPersonApplyRepository extends BaseRepository<ClosedAr
|
|||
PageResponse<UserDto> getCorpUserList(Map<String, Object> params);
|
||||
|
||||
List<TwoLevelUser> getDockAuthInfoById(Long applyId);
|
||||
|
||||
List<TwoLevelUser> getDockAuthTmpInfoById(Long applyId);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -59,5 +59,10 @@ public class ClosedAreaPersonApplyRepositoryImpl extends BaseRepositoryImpl<Clos
|
|||
public List<TwoLevelUser> getDockAuthInfoById(Long applyId) {
|
||||
return closedAreaPersonApplyMapper.getDockAuthInfoById(applyId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<TwoLevelUser> getDockAuthTmpInfoById(Long applyId) {
|
||||
return closedAreaPersonApplyMapper.getDockAuthTmpInfoById(applyId);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -7,12 +7,17 @@ import com.zcloud.gbscommon.dahuaDevice.DhuaConfig;
|
|||
import com.zcloud.gbscommon.hkDevice.HKDeviceUtil;
|
||||
import com.zcloud.gbscommon.utils.DateUtil;
|
||||
import com.zcloud.gbscommon.utils.Tools;
|
||||
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.persistence.dataobject.ClosedAreaPersonApplyDO;
|
||||
import com.zcloud.primeport.persistence.dataobject.XgfApplyPersonDO;
|
||||
import com.zcloud.primeport.persistence.repository.ClosedAreaPersonApplyRepository;
|
||||
import com.zcloud.primeport.persistence.repository.XgfApplyPersonRepository;
|
||||
import com.zcloud.primeport.plan.mjDevice.dto.TwoLevelUser;
|
||||
import jodd.util.Base64;
|
||||
import lombok.Data;
|
||||
import org.apache.dubbo.config.annotation.DubboReference;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
|
@ -30,6 +35,9 @@ import java.util.stream.Collectors;
|
|||
public class TwoPersonUtil {
|
||||
@Resource
|
||||
private ClosedAreaPersonApplyRepository closedAreaPersonApplyRepository;
|
||||
@DubboReference
|
||||
private ZcloudUserFacade zcloudUserFacade;
|
||||
|
||||
// @Value("${kmmj.dockflag}")
|
||||
// private Integer dockFlag;
|
||||
// @Value("${oneLevelPerson.prefix}")
|
||||
|
|
@ -41,23 +49,69 @@ public class TwoPersonUtil {
|
|||
private static String clientId = "mkmj_management";
|
||||
private static String clientSecret = "5ef82f7c-9926-46a3-8d07-136fd054849c";
|
||||
|
||||
|
||||
/*
|
||||
* 分公司对接人
|
||||
* */
|
||||
public void levelTwoPeopleCompanyByApplyId(Long applyId) {
|
||||
List<TwoLevelUser> u = new ArrayList<>();
|
||||
List<TwoLevelUser> userList = closedAreaPersonApplyRepository.getDockAuthInfoById(applyId);
|
||||
if (!dockFlag.equals(1)) return;
|
||||
List<TwoLevelUser> userList = new ArrayList<>();
|
||||
ClosedAreaPersonApplyDO byId = closedAreaPersonApplyRepository.getById(applyId);
|
||||
// 查询出来要对接的人
|
||||
if (byId.getPersonBelongType().equals(4)) {
|
||||
// 临时人员
|
||||
userList = closedAreaPersonApplyRepository.getDockAuthTmpInfoById(applyId);
|
||||
|
||||
} else {
|
||||
// 非临时人员
|
||||
userList = closedAreaPersonApplyRepository.getDockAuthInfoById(applyId);
|
||||
}
|
||||
dockUserReal(userList);
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* 定时任务对接人
|
||||
* */
|
||||
public void scheduledPeopleCompany() {
|
||||
if (!dockFlag.equals(1)) return;
|
||||
List<TwoLevelUser> userList = closedAreaPersonApplyRepository.getDockAuthTmpInfoById(null);
|
||||
userList.addAll(closedAreaPersonApplyRepository.getDockAuthInfoById(null));
|
||||
dockUserReal(userList);
|
||||
}
|
||||
|
||||
protected void dockOneLevelPerson(String userCard) throws Exception {
|
||||
DaHuaDeviceCommon daHuaDeviceCommon = getDaHuaDeviceCommon();
|
||||
JSONObject userByUserCard = daHuaDeviceCommon.getUserByUserCard(userCard);
|
||||
// 如果这个人存在 哪么 看一下今天有没有时间
|
||||
// 这个人不存在 新增这个人
|
||||
}
|
||||
protected void dockUserReal(List<TwoLevelUser> userList) {
|
||||
userList.forEach(item -> {
|
||||
List<TwoLevelUser> u = new ArrayList<>();
|
||||
List<String> faceUrl = new ArrayList<>();
|
||||
ZcloudUserImgQry zcloudUserImgQry = new ZcloudUserImgQry();
|
||||
item.setUserCard(Base64.decodeToString(item.getUserCard()));
|
||||
u.add(item);
|
||||
faceUrl.add(item.getUserFaceImages());
|
||||
if (Tools.notEmpty(item.getEntourage())) {
|
||||
List<TwoLevelUser> entourageList = getEntourageList(new JSONArray(item.getEntourage()));
|
||||
List<TwoLevelUser> entourageList = getEntourageList(faceUrl, new JSONArray(item.getEntourage()), item.getHkIndexCode());
|
||||
if (!entourageList.isEmpty()) {
|
||||
u.addAll(entourageList);
|
||||
}
|
||||
}
|
||||
zcloudUserImgQry.setUrlList(faceUrl);
|
||||
List<ZcloudUserImgBase64Co> data = zcloudUserFacade.listBase64ByUrl(zcloudUserImgQry).getData();
|
||||
Map<String, String> collect = data.stream().collect(Collectors.toMap(ZcloudUserImgBase64Co::getUserAvatarUrl, ZcloudUserImgBase64Co::getUserAvatarBase64, (existing, replacement) -> replacement));
|
||||
u.add(item);
|
||||
u.forEach(itemUser -> {
|
||||
item.setUserFaceImagesBase64(collect.get(itemUser.getUserFaceImages()));
|
||||
// 把人同步过去,如存在不做任何操作。
|
||||
dockLongTermUserAuthLevelTwo(itemUser);
|
||||
});
|
||||
dockLongAuthTwo(u, Arrays.asList(item.getHkIndexCode().split(",")), DateUtil.date2Str(new Date(), "yyyy-MM-dd"));
|
||||
});
|
||||
}
|
||||
|
||||
protected List<TwoLevelUser> getEntourageList(JSONArray entries) {
|
||||
protected List<TwoLevelUser> getEntourageList(List<String> faceUrl, JSONArray entries, String hkindecodes) {
|
||||
if (entries.isEmpty()) return new ArrayList<>();
|
||||
ArrayList<TwoLevelUser> objects = new ArrayList<>();
|
||||
for (int i = 0; i < entries.size(); i++) {
|
||||
|
|
@ -81,7 +135,9 @@ public class TwoPersonUtil {
|
|||
u.setUserCard(Base64.decodeToString(jsonObject.getStr("userCard")));
|
||||
u.setUserFaceImages(jsonObject.getStr("userFaceUrl"));
|
||||
u.setUserName(jsonObject.getStr("userName"));
|
||||
u.setHkIndexCode(hkindecodes);
|
||||
objects.add(u);
|
||||
faceUrl.add(jsonObject.getStr("userFaceUrl"));
|
||||
}
|
||||
return objects;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -137,5 +137,32 @@
|
|||
GROUP BY
|
||||
capa.id
|
||||
</select>
|
||||
<select id="getDockAuthTmpInfoById" resultType="com.zcloud.primeport.plan.mjDevice.dto.TwoLevelUser">
|
||||
SELECT
|
||||
capa.id,
|
||||
GROUP_CONCAT( DISTINCT mg.hk_index_code ) hk_index_code,
|
||||
capa.visit_start_time,
|
||||
capa.visit_end_time,
|
||||
capa.user_face_url,
|
||||
capa.user_phone,
|
||||
capa.user_card
|
||||
FROM
|
||||
closed_area_person_apply capa
|
||||
LEFT JOIN mkmj_gate mg ON capa.level_two_mkmj_id = mg.mkmj_id
|
||||
AND mg.delete_enum = 'FALSE'
|
||||
AND mg.gate_type = 'HGKM_MKMJ_GATE_TYPE_PERSON'
|
||||
AND mg.gate_status = 2
|
||||
WHERE
|
||||
capa.delete_enum = 'FALSE'
|
||||
AND capa.person_belong_type = 4
|
||||
AND capa.audit_flag = 2
|
||||
AND capa.visit_end_time >= DATE_FORMAT( now(), '%Y-%m-%d' )
|
||||
AND capa.visit_start_time <= DATE_FORMAT( now(), '%Y-%m-%d' )
|
||||
<if test="applyId != null">
|
||||
and capa.id = #{applyId}
|
||||
</if>
|
||||
GROUP BY
|
||||
capa.id
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue