diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/mapper/ClosedAreaCarApplyMapper.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/mapper/ClosedAreaCarApplyMapper.java index 71a6bba..2c45d0e 100644 --- a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/mapper/ClosedAreaCarApplyMapper.java +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/mapper/ClosedAreaCarApplyMapper.java @@ -6,8 +6,10 @@ import com.jjb.saas.framework.datascope.annotation.DataScope; import com.jjb.saas.framework.datascope.annotation.DataScopes; import com.zcloud.primeport.persistence.dataobject.ClosedAreaCarApplyDO; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.zcloud.primeport.plan.mjDevice.dto.TwoLevelCar; import org.apache.ibatis.annotations.Mapper; +import java.util.List; import java.util.Map; import org.apache.ibatis.annotations.Param; @@ -24,5 +26,9 @@ import org.apache.ibatis.annotations.Param; public interface ClosedAreaCarApplyMapper extends BaseMapper { IPage listPage(Page> page, @Param("params") Map params, String menuPerms); + + List getFgsCarToDay(String licenceNo); + + List dockTmpCarLevelTwo(String licenceNo); } diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/ClosedAreaCarApplyRepository.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/ClosedAreaCarApplyRepository.java index 9b2a926..567a8af 100644 --- a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/ClosedAreaCarApplyRepository.java +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/ClosedAreaCarApplyRepository.java @@ -3,7 +3,9 @@ package com.zcloud.primeport.persistence.repository; import com.zcloud.primeport.persistence.dataobject.ClosedAreaCarApplyDO; import com.alibaba.cola.dto.PageResponse; import com.jjb.saas.framework.repository.repo.BaseRepository; +import com.zcloud.primeport.plan.mjDevice.dto.TwoLevelCar; +import java.util.List; import java.util.Map; /** @@ -14,5 +16,9 @@ import java.util.Map; */ public interface ClosedAreaCarApplyRepository extends BaseRepository { PageResponse listPage(Map params); + + List getFgsCarToDay(String licenceNo); + + List dockTmpCarLevelTwo(String licenceNo); } diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/ClosedAreaCarApplyRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/ClosedAreaCarApplyRepositoryImpl.java index 783551d..8636878 100644 --- a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/ClosedAreaCarApplyRepositoryImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/ClosedAreaCarApplyRepositoryImpl.java @@ -9,9 +9,12 @@ import com.alibaba.cola.dto.PageResponse; import com.jjb.saas.framework.repository.common.PageHelper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl; +import com.zcloud.primeport.plan.mjDevice.dto.TwoLevelCar; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.Collections; +import java.util.List; import java.util.Map; /** @@ -37,5 +40,15 @@ public class ClosedAreaCarApplyRepositoryImpl extends BaseRepositoryImpl result = closedAreaCarApplyMapper.listPage(page, params, menuPerms); return PageHelper.pageToResponse(result, result.getRecords()); } + + @Override + public List getFgsCarToDay(String licenceNo) { + return closedAreaCarApplyMapper.getFgsCarToDay(licenceNo); + } + + @Override + public List dockTmpCarLevelTwo(String licenceNo) { + return closedAreaCarApplyMapper.dockTmpCarLevelTwo(licenceNo); + } } diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/plan/mjDevice/OnePersonUtil.java b/web-infrastructure/src/main/java/com/zcloud/primeport/plan/mjDevice/OnePersonUtil.java index 80ca1ee..75478a8 100644 --- a/web-infrastructure/src/main/java/com/zcloud/primeport/plan/mjDevice/OnePersonUtil.java +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/plan/mjDevice/OnePersonUtil.java @@ -31,7 +31,7 @@ public class OnePersonUtil { // private Integer dockFlag; // @Value("${oneLevelPerson.prefix}") // private String prefix; - private static Integer dockFlag = 1; + private static Integer dockFlag = 0; private static String prefix = "https://skqhdg.porthebei.com:9008/yjkmRy/"; private static String username = "shuangkong"; private static String password = "qinan@202604"; diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/plan/mjDevice/TwoCarUtil.java b/web-infrastructure/src/main/java/com/zcloud/primeport/plan/mjDevice/TwoCarUtil.java new file mode 100644 index 0000000..ebfda0c --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/plan/mjDevice/TwoCarUtil.java @@ -0,0 +1,120 @@ +package com.zcloud.primeport.plan.mjDevice; + +import cn.hutool.http.HttpRequest; +import cn.hutool.json.JSONArray; +import cn.hutool.json.JSONObject; +import com.zcloud.gbscommon.dahuaDevice.DaHuaDeviceCommon; +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.ClosedAreaCarApplyDO; +import com.zcloud.primeport.persistence.dataobject.ClosedAreaPersonApplyDO; +import com.zcloud.primeport.persistence.repository.ClosedAreaCarApplyRepository; +import com.zcloud.primeport.persistence.repository.ClosedAreaPersonApplyRepository; +import com.zcloud.primeport.plan.mjDevice.dto.CarEnum; +import com.zcloud.primeport.plan.mjDevice.dto.OneLevelCarSaveDto; +import com.zcloud.primeport.plan.mjDevice.dto.TwoLevelCar; +import com.zcloud.primeport.plan.mjDevice.dto.TwoLevelUser; +import jodd.util.Base64; +import org.apache.dubbo.config.annotation.DubboReference; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.util.*; +import java.util.stream.Collectors; + +/** + * 一级人员门禁对接 前缀 + * + */ +@Component +public class TwoCarUtil { + @Resource + private ClosedAreaCarApplyRepository closedAreaCarApplyRepository; + + + private static Integer dockFlag = 0; + private static String prefix; + + public static void main(String[] args) throws Exception { + } + + /** + * 审批时候的主入口 传一个申请id来 + * + * + */ + public void levelTwoCarCompanyByApplyId(Long applyId) { + if (!dockFlag.equals(1)) return; + ClosedAreaCarApplyDO byId = closedAreaCarApplyRepository.getById(applyId); + if (byId.getCarBelongType().equals(4)) { + dockTmpCarLevelTwo(byId.getLicenceNo()); + }else { + dockFgsCarLevelTwo(byId.getLicenceNo()); + } + OneLevelCarSaveDto oneLevelCarSaveDto = new OneLevelCarSaveDto(); + oneLevelCarSaveDto.setTruckNo(byId.getLicenceNo()); + oneLevelCarSaveDto.setTruckCardColor(byId.getLicenceType()); + oneLevelCarSaveDto.setTruckTypCod(CarEnum.getMenuKeyByPath(byId.getVehicleType())); + // todo 待确定到底是东港还是西港 + oneLevelCarSaveDto.setPortId("0"); + oneLevelCarSaveDto.setDriverNam(byId.getDrivingUserName()); + oneLevelCarSaveDto.setLinkTel(byId.getUserPhone()); + oneLevelCarSaveDto.setValidDte(DateUtil.date2Str(new Date(),"yyyy-MM-dd")); + oneLevelCarSaveDto.setRecTim(DateUtil.date2Str(new Date())); + oneLevelCarSaveDto.setYqlCheckFlag("1"); + oneLevelCarSaveDto.setIsNeedCheck("0"); + tmpVehicleSave(oneLevelCarSaveDto); + } + + // 对接一级口门车辆 + public void tmpVehicleSave(OneLevelCarSaveDto oneLevelCarSaveDto) { + if (dockFlag.equals(1)) { + oneLevelCarSaveDto.setIsNeedCheck("0"); + String body = HttpRequest.post(prefix + "HD_QHD_IGATE_1.0/webresources/login/CTruck/qaSaveTemp").body(new JSONObject(oneLevelCarSaveDto).toString()).execute().body(); + } + } + + /** + * 对接分公司二级口门车 + */ + public void dockFgsCarLevelTwo(String licence_no) { + if (!dockFlag.equals(1)) return; + List carList = closedAreaCarApplyRepository.getFgsCarToDay(licence_no); + for (TwoLevelCar twoLevelCar : carList) { + // todo 车牌号转一下类型 + HKDeviceUtil.saveOrUpdCar(twoLevelCar.getLicenceNo(), 0); + HKDeviceUtil.vehicleTopUp(twoLevelCar.getLicenceNo(), 0, twoLevelCar.getHkIndexCode(), twoLevelCar.getKhParkSysCode(), DateUtil.date2Str(new Date(), "yyyy-MM-dd"), DateUtil.date2Str(new Date(), "yyyy-MM-dd")); + } + + } + + /** + * 对接临时访客二级口门车 + */ + public void dockTmpCarLevelTwo(String licence_no) { + if (!dockFlag.equals(1)) return; + List carList = closedAreaCarApplyRepository.dockTmpCarLevelTwo(licence_no); + for (TwoLevelCar twoLevelCar : carList) { + // todo 车牌号转一下类型 + HKDeviceUtil.saveOrUpdCar(twoLevelCar.getLicenceNo(), 0); + HKDeviceUtil.vehicleTopUp(twoLevelCar.getLicenceNo(), 0, twoLevelCar.getHkIndexCode(), twoLevelCar.getKhParkSysCode(), DateUtil.date2Str(new Date(), "yyyy-MM-dd"), DateUtil.date2Str(new Date(), "yyyy-MM-dd")); + } + } + + + private static List> partition(List list, int size) { + List> partitions = new ArrayList<>(); + for (int i = 0; i < list.size(); i += size) { + partitions.add(list.subList(i, Math.min(i + size, list.size()))); + } + return partitions; + } + + +} 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 58337b4..45e91c4 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 @@ -44,7 +44,7 @@ public class TwoPersonUtil { // private Integer dockFlag; // @Value("${oneLevelPerson.prefix}") // private String prefix; - private static Integer dockFlag = 1; + private static Integer dockFlag = 0; private static String prefix = "https://skqhdg.porthebei.com:9008/yjkmRy/"; private static String username = "shuangkong"; private static String password = "qinan@202604"; @@ -74,11 +74,14 @@ public class TwoPersonUtil { /* * 定时任务对接人 * */ - public void scheduledPeopleCompany() { + public void scheduledPeopleCompany() throws Exception { if (!dockFlag.equals(1)) return; List userList = closedAreaPersonApplyRepository.getDockAuthTmpInfoById(null); userList.addAll(closedAreaPersonApplyRepository.getDockAuthInfoById(null)); dockUserReal(userList); + for (TwoLevelUser item : userList) { + dockOneLevelPerson(item.getUserCard(), item.getUserFaceImages(), item.getUserUid(), item.getUserName()); + } } public static void main(String[] args) throws Exception { @@ -112,7 +115,8 @@ public class TwoPersonUtil { userInfo.set("personType", 0); daHuaDeviceCommon.saveUser(userInfo); } else { - // 一级门禁的长期人 一般都有权限,临时、相关方的不一定有。 + // 一级门禁的长期人 一般都有已经有权限了, + // 临时、相关方的不一定有。 他们每日刷新权限所以不影响 userByUserCard.getStr("validStartTime"); userByUserCard.getStr("validEndTime"); // true=在范围内,false=不在范围内 @@ -122,11 +126,6 @@ public class TwoPersonUtil { onePersonUtil.expirationDateRefreshedUserCard(userCard,DateUtil.date2Str(new Date(), "yyyy-MM-dd") + "00:00:00",DateUtil.date2Str(new Date(), "yyyy-MM-dd") + "23:59:59"); } } - - if (userByUserCard.isEmpty()) System.out.println(userByUserCard); - if (userByUserCard.isEmpty()) System.out.println(userByUserCard); - // 如果这个人存在 哪么 看一下今天有没有时间 - // 这个人不存在 新增这个人 } protected void dockUserReal(List userList) { diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/plan/mjDevice/dto/TwoLevelCar.java b/web-infrastructure/src/main/java/com/zcloud/primeport/plan/mjDevice/dto/TwoLevelCar.java new file mode 100644 index 0000000..65f95f5 --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/plan/mjDevice/dto/TwoLevelCar.java @@ -0,0 +1,11 @@ +package com.zcloud.primeport.plan.mjDevice.dto; + +import lombok.Data; + +@Data +public class TwoLevelCar { + private String licenceNo; + private String licenceType; + private String hkIndexCode; + private String khParkSysCode; +} diff --git a/web-infrastructure/src/main/resources/mapper/ClosedAreaCarApplyMapper.xml b/web-infrastructure/src/main/resources/mapper/ClosedAreaCarApplyMapper.xml index c292b6f..ec268a7 100644 --- a/web-infrastructure/src/main/resources/mapper/ClosedAreaCarApplyMapper.xml +++ b/web-infrastructure/src/main/resources/mapper/ClosedAreaCarApplyMapper.xml @@ -43,6 +43,94 @@ order by c.id desc + +