diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/mapper/ClosedAreaPersonApplyMapper.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/mapper/ClosedAreaPersonApplyMapper.java index e4e4344..eb2e1b4 100644 --- a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/mapper/ClosedAreaPersonApplyMapper.java +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/mapper/ClosedAreaPersonApplyMapper.java @@ -31,5 +31,7 @@ public interface ClosedAreaPersonApplyMapper extends BaseMapper listPage(Page> page, @Param("params") Map params, String menuPerms); List getDockAuthInfoById(Long applyId); + + List getDockAuthTmpInfoById(Long applyId); } diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/ClosedAreaPersonApplyRepository.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/ClosedAreaPersonApplyRepository.java index 4778122..cd60ba9 100644 --- a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/ClosedAreaPersonApplyRepository.java +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/ClosedAreaPersonApplyRepository.java @@ -22,5 +22,7 @@ public interface ClosedAreaPersonApplyRepository extends BaseRepository getCorpUserList(Map params); List getDockAuthInfoById(Long applyId); + + List getDockAuthTmpInfoById(Long applyId); } diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/ClosedAreaPersonApplyRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/ClosedAreaPersonApplyRepositoryImpl.java index 291d570..6ddbfc6 100644 --- a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/ClosedAreaPersonApplyRepositoryImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/ClosedAreaPersonApplyRepositoryImpl.java @@ -59,5 +59,10 @@ public class ClosedAreaPersonApplyRepositoryImpl extends BaseRepositoryImpl getDockAuthInfoById(Long applyId) { return closedAreaPersonApplyMapper.getDockAuthInfoById(applyId); } + + @Override + public List getDockAuthTmpInfoById(Long applyId) { + return closedAreaPersonApplyMapper.getDockAuthTmpInfoById(applyId); + } } diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/plan/mjDevice/TwoPersonUtil.java b/web-infrastructure/src/main/java/com/zcloud/primeport/plan/mjDevice/TwoPersonUtil.java index 43c6569..ebf5204 100644 --- a/web-infrastructure/src/main/java/com/zcloud/primeport/plan/mjDevice/TwoPersonUtil.java +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/plan/mjDevice/TwoPersonUtil.java @@ -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 u = new ArrayList<>(); - List userList = closedAreaPersonApplyRepository.getDockAuthInfoById(applyId); + if (!dockFlag.equals(1)) return; + List 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 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 userList) { userList.forEach(item -> { + List u = new ArrayList<>(); + List 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 entourageList = getEntourageList(new JSONArray(item.getEntourage())); + List entourageList = getEntourageList(faceUrl, new JSONArray(item.getEntourage()), item.getHkIndexCode()); if (!entourageList.isEmpty()) { u.addAll(entourageList); } } + zcloudUserImgQry.setUrlList(faceUrl); + List data = zcloudUserFacade.listBase64ByUrl(zcloudUserImgQry).getData(); + Map 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 getEntourageList(JSONArray entries) { + protected List getEntourageList(List faceUrl, JSONArray entries, String hkindecodes) { if (entries.isEmpty()) return new ArrayList<>(); ArrayList 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; } diff --git a/web-infrastructure/src/main/resources/mapper/ClosedAreaPersonApplyMapper.xml b/web-infrastructure/src/main/resources/mapper/ClosedAreaPersonApplyMapper.xml index 1495528..56f722a 100644 --- a/web-infrastructure/src/main/resources/mapper/ClosedAreaPersonApplyMapper.xml +++ b/web-infrastructure/src/main/resources/mapper/ClosedAreaPersonApplyMapper.xml @@ -137,5 +137,32 @@ GROUP BY capa.id +