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);
|
IPage<ClosedAreaPersonApplyDO> listPage(Page<Map<String, Object>> page, @Param("params") Map<String, Object> params, String menuPerms);
|
||||||
|
|
||||||
List<TwoLevelUser> getDockAuthInfoById(Long applyId);
|
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);
|
PageResponse<UserDto> getCorpUserList(Map<String, Object> params);
|
||||||
|
|
||||||
List<TwoLevelUser> getDockAuthInfoById(Long applyId);
|
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) {
|
public List<TwoLevelUser> getDockAuthInfoById(Long applyId) {
|
||||||
return closedAreaPersonApplyMapper.getDockAuthInfoById(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.hkDevice.HKDeviceUtil;
|
||||||
import com.zcloud.gbscommon.utils.DateUtil;
|
import com.zcloud.gbscommon.utils.DateUtil;
|
||||||
import com.zcloud.gbscommon.utils.Tools;
|
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.dataobject.XgfApplyPersonDO;
|
||||||
import com.zcloud.primeport.persistence.repository.ClosedAreaPersonApplyRepository;
|
import com.zcloud.primeport.persistence.repository.ClosedAreaPersonApplyRepository;
|
||||||
import com.zcloud.primeport.persistence.repository.XgfApplyPersonRepository;
|
import com.zcloud.primeport.persistence.repository.XgfApplyPersonRepository;
|
||||||
import com.zcloud.primeport.plan.mjDevice.dto.TwoLevelUser;
|
import com.zcloud.primeport.plan.mjDevice.dto.TwoLevelUser;
|
||||||
import jodd.util.Base64;
|
import jodd.util.Base64;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import org.apache.dubbo.config.annotation.DubboReference;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
|
@ -30,6 +35,9 @@ import java.util.stream.Collectors;
|
||||||
public class TwoPersonUtil {
|
public class TwoPersonUtil {
|
||||||
@Resource
|
@Resource
|
||||||
private ClosedAreaPersonApplyRepository closedAreaPersonApplyRepository;
|
private ClosedAreaPersonApplyRepository closedAreaPersonApplyRepository;
|
||||||
|
@DubboReference
|
||||||
|
private ZcloudUserFacade zcloudUserFacade;
|
||||||
|
|
||||||
// @Value("${kmmj.dockflag}")
|
// @Value("${kmmj.dockflag}")
|
||||||
// private Integer dockFlag;
|
// private Integer dockFlag;
|
||||||
// @Value("${oneLevelPerson.prefix}")
|
// @Value("${oneLevelPerson.prefix}")
|
||||||
|
|
@ -41,23 +49,69 @@ public class TwoPersonUtil {
|
||||||
private static String clientId = "mkmj_management";
|
private static String clientId = "mkmj_management";
|
||||||
private static String clientSecret = "5ef82f7c-9926-46a3-8d07-136fd054849c";
|
private static String clientSecret = "5ef82f7c-9926-46a3-8d07-136fd054849c";
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 分公司对接人
|
||||||
|
* */
|
||||||
public void levelTwoPeopleCompanyByApplyId(Long applyId) {
|
public void levelTwoPeopleCompanyByApplyId(Long applyId) {
|
||||||
List<TwoLevelUser> u = new ArrayList<>();
|
if (!dockFlag.equals(1)) return;
|
||||||
List<TwoLevelUser> userList = closedAreaPersonApplyRepository.getDockAuthInfoById(applyId);
|
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 -> {
|
userList.forEach(item -> {
|
||||||
|
List<TwoLevelUser> u = new ArrayList<>();
|
||||||
|
List<String> faceUrl = new ArrayList<>();
|
||||||
|
ZcloudUserImgQry zcloudUserImgQry = new ZcloudUserImgQry();
|
||||||
item.setUserCard(Base64.decodeToString(item.getUserCard()));
|
item.setUserCard(Base64.decodeToString(item.getUserCard()));
|
||||||
u.add(item);
|
faceUrl.add(item.getUserFaceImages());
|
||||||
if (Tools.notEmpty(item.getEntourage())) {
|
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()) {
|
if (!entourageList.isEmpty()) {
|
||||||
u.addAll(entourageList);
|
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<>();
|
if (entries.isEmpty()) return new ArrayList<>();
|
||||||
ArrayList<TwoLevelUser> objects = new ArrayList<>();
|
ArrayList<TwoLevelUser> objects = new ArrayList<>();
|
||||||
for (int i = 0; i < entries.size(); i++) {
|
for (int i = 0; i < entries.size(); i++) {
|
||||||
|
|
@ -81,7 +135,9 @@ public class TwoPersonUtil {
|
||||||
u.setUserCard(Base64.decodeToString(jsonObject.getStr("userCard")));
|
u.setUserCard(Base64.decodeToString(jsonObject.getStr("userCard")));
|
||||||
u.setUserFaceImages(jsonObject.getStr("userFaceUrl"));
|
u.setUserFaceImages(jsonObject.getStr("userFaceUrl"));
|
||||||
u.setUserName(jsonObject.getStr("userName"));
|
u.setUserName(jsonObject.getStr("userName"));
|
||||||
|
u.setHkIndexCode(hkindecodes);
|
||||||
objects.add(u);
|
objects.add(u);
|
||||||
|
faceUrl.add(jsonObject.getStr("userFaceUrl"));
|
||||||
}
|
}
|
||||||
return objects;
|
return objects;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -137,5 +137,32 @@
|
||||||
GROUP BY
|
GROUP BY
|
||||||
capa.id
|
capa.id
|
||||||
</select>
|
</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>
|
</mapper>
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue