From 94dffef375e576ea52d3cdd49acf6da34c47bc5a Mon Sep 17 00:00:00 2001 From: dearLin <1261008090@qq.com> Date: Mon, 20 Apr 2026 14:34:37 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E4=B8=B4=E6=97=B6=E8=AE=BF?= =?UTF-8?q?=E5=AE=A2=E4=B8=80=E7=BA=A7=E5=8F=A3=E9=97=A8=E7=94=B3=E8=AF=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../command/PersonApplyUpdateExe.java | 1 - .../service/PersonApplyServiceImpl.java | 7 +- .../domain/gateway/PersonApplyGateway.java | 2 +- .../gatewayimpl/PersonApplyGatewayImpl.java | 81 ++++++++++++- .../dataobject/XgfApplyPersonDO.java | 1 + .../mapper/XgfApplyPersonMapper.java | 2 + .../repository/XgfApplyPersonRepository.java | 3 + .../impl/XgfApplyPersonRepositoryImpl.java | 6 + .../primeport/plan/OneLevelUserXxlJon.java | 27 +++++ .../plan/mjDevice/OnePersonUtil.java | 108 +++++++++++++++--- .../resources/mapper/XgfApplyPersonDO.xml | 22 ++++ 11 files changed, 234 insertions(+), 26 deletions(-) create mode 100644 web-infrastructure/src/main/java/com/zcloud/primeport/plan/OneLevelUserXxlJon.java diff --git a/web-app/src/main/java/com/zcloud/primeport/command/PersonApplyUpdateExe.java b/web-app/src/main/java/com/zcloud/primeport/command/PersonApplyUpdateExe.java index 6069416..3c9f027 100644 --- a/web-app/src/main/java/com/zcloud/primeport/command/PersonApplyUpdateExe.java +++ b/web-app/src/main/java/com/zcloud/primeport/command/PersonApplyUpdateExe.java @@ -31,7 +31,6 @@ import java.util.Date; public class PersonApplyUpdateExe { private final PersonApplyGateway personApplyGateway; private final XgfApplyPersonGateway xgfApplyPersonGateway; - private final MkmjGateGateway mkmjGateGateway; @Transactional(rollbackFor = Exception.class) public void execute(PersonApplyUpdateCmd personApplyUpdateCmd) { diff --git a/web-app/src/main/java/com/zcloud/primeport/service/PersonApplyServiceImpl.java b/web-app/src/main/java/com/zcloud/primeport/service/PersonApplyServiceImpl.java index 79ef12f..c2c92cc 100644 --- a/web-app/src/main/java/com/zcloud/primeport/service/PersonApplyServiceImpl.java +++ b/web-app/src/main/java/com/zcloud/primeport/service/PersonApplyServiceImpl.java @@ -15,6 +15,7 @@ import com.zcloud.primeport.dto.clientobject.PersonCountCO; import com.zcloud.primeport.dto.clientobject.XgfPersonApplyCO; import com.zcloud.primeport.dto.clientobject.XgfPersonCountCO; import com.zcloud.primeport.plan.mjDevice.OnePersonUtil; +import jodd.util.Base64; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; @@ -101,16 +102,16 @@ public class PersonApplyServiceImpl implements PersonApplyServiceI { // 开启门禁 if (co != null) { personApplyUpdateExe.authorization(co.getId(), co.getXgfApplyPersonId(), cmd.getMkmjPermission(), cmd.getGateLevelAuthArea()); - onePersonUtil.expirationDateRefreshedUserCard(co.getUserCard(), DateUtil.date2Str(new Date()), "2030-12-31 23:59:59"); + onePersonUtil.expirationDateRefreshedUserCard(Base64.decodeToString(co.getUserCard()), DateUtil.date2Str(new Date()), "2030-12-31 23:59:59"); } else { personApplyAddExe.authorization(cmd); - onePersonUtil.dockLongTermUserByUserCardAndFaceImg(co.getUserCard(), co.getUserUid(), co.getEmployeePersonUserName(), co.getUserFaceUrl(), DateUtil.date2Str(new Date()), "2030-12-31 23:59:59"); + onePersonUtil.dockLongTermUserByUserCardAndFaceImg(Base64.decodeToString(co.getUserCard()), "hbqa"+Base64.decodeToString(co.getUserCard()), co.getEmployeePersonUserName(), co.getUserFaceUrl(), DateUtil.date2Str(new Date()), "2030-12-31 23:59:59"); } } else { // 关闭门禁,这个人都没有授权过的话,什么都不管。 if (co != null) { personApplyUpdateExe.authorization(co.getId(), co.getXgfApplyPersonId(), cmd.getMkmjPermission(), cmd.getGateLevelAuthArea()); - onePersonUtil.freezeByUserCard(co.getUserCard(), cmd.getMkmjPermission()); + onePersonUtil.freezeByUserCard(Base64.decodeToString(co.getUserCard()), cmd.getMkmjPermission()); } } } diff --git a/web-domain/src/main/java/com/zcloud/primeport/domain/gateway/PersonApplyGateway.java b/web-domain/src/main/java/com/zcloud/primeport/domain/gateway/PersonApplyGateway.java index 6ed9e8c..a433600 100644 --- a/web-domain/src/main/java/com/zcloud/primeport/domain/gateway/PersonApplyGateway.java +++ b/web-domain/src/main/java/com/zcloud/primeport/domain/gateway/PersonApplyGateway.java @@ -33,7 +33,7 @@ public interface PersonApplyGateway { void saveBatch(ArrayList personApplyES); - void xgfPersonAudit(XgfApplyPersonE build); + void xgfPersonAudit(XgfApplyPersonE build) throws Exception; List personListByxgfApplyPersonId(Long id); } diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/gatewayimpl/PersonApplyGatewayImpl.java b/web-infrastructure/src/main/java/com/zcloud/primeport/gatewayimpl/PersonApplyGatewayImpl.java index 91bea0d..56f2209 100644 --- a/web-infrastructure/src/main/java/com/zcloud/primeport/gatewayimpl/PersonApplyGatewayImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/gatewayimpl/PersonApplyGatewayImpl.java @@ -1,10 +1,13 @@ package com.zcloud.primeport.gatewayimpl; +import cn.hutool.json.JSONArray; +import cn.hutool.json.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.zcloud.gbscommon.todolistmq.TodoListEventPusherUtil; import com.zcloud.gbscommon.todolistmq.event.TodoListAddEvent; import com.zcloud.gbscommon.todolistmq.event.TodoListCompleteEvent; +import com.zcloud.gbscommon.utils.DateUtil; import com.zcloud.primeport.domain.gateway.PersonApplyGateway; import com.zcloud.primeport.domain.model.PersonApplyE; import com.zcloud.primeport.domain.model.XgfApplyPersonE; @@ -14,13 +17,14 @@ import com.zcloud.primeport.persistence.dataobject.XgfApplyPersonDO; import com.zcloud.primeport.persistence.repository.PersonApplyRepository; import com.zcloud.primeport.persistence.repository.PersonMessageRepository; import com.zcloud.primeport.persistence.repository.XgfApplyPersonRepository; +import com.zcloud.primeport.plan.mjDevice.OnePersonUtil; +import jodd.util.Base64; import lombok.AllArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; +import java.util.*; +import java.util.stream.Collectors; /** * web-infrastructure @@ -35,6 +39,7 @@ public class PersonApplyGatewayImpl implements PersonApplyGateway { private final XgfApplyPersonRepository xgfApplyPersonRepository; private final PersonMessageRepository personMessageRepository; private final TodoListEventPusherUtil todoListEventPusherUtil; + private final OnePersonUtil onePersonUtil; @Override public Boolean add(PersonApplyE personApplyE) { @@ -74,7 +79,7 @@ public class PersonApplyGatewayImpl implements PersonApplyGateway { } @Override - public void xgfPersonAudit(XgfApplyPersonE build) { + public void xgfPersonAudit(XgfApplyPersonE build) throws Exception { XgfApplyPersonDO d = new XgfApplyPersonDO(); BeanUtils.copyProperties(build, d); xgfApplyPersonRepository.updateById(d); @@ -92,6 +97,8 @@ public class PersonApplyGatewayImpl implements PersonApplyGateway { personApplyDOUpdateWrapper.set("mkmj_permission", 1); personApplyDOUpdateWrapper.eq("xgf_apply_person_id", d.getId()); ArrayList personMessageDOS = new ArrayList<>(); + HashSet userCardHashSet = new HashSet<>(); + HashMap stringJSONObjectHashMap = new HashMap<>(); list.forEach(item -> { PersonMessageDO messageDO = new PersonMessageDO(); messageDO.setPersonBelongType(byId.getPersonBelongType()); @@ -103,14 +110,72 @@ public class PersonApplyGatewayImpl implements PersonApplyGateway { messageDO.setVisitStartTime(byId.getVisitStartTime()); messageDO.setVisitEndTime(byId.getVisitEndTime()); personMessageDOS.add(messageDO); + userCardHashSet.add(Base64.decodeToString(item.getUserCard())); + JSONObject entries = new JSONObject(); + entries.set("name", item.getEmployeePersonUserName()); + entries.set("code", "hbqa"+Base64.decodeToString(item.getUserCard())); + entries.set("validStartTime", byId.getVisitStartTime() + " 00:00:00"); + entries.set("validEndTime", byId.getVisitEndTime() + " 23:59:59"); + entries.set("paperType", 111); + entries.set("paperNumber", Base64.decodeToString(item.getUserCard())); + entries.set("departmentId", 1); + JSONObject fileInfo = new JSONObject(); + List dataList = new ArrayList(); + fileInfo.set("type", 3); + fileInfo.set("index", 1); + fileInfo.set("path", item.getUserFaceUrl()); + dataList.add(fileInfo); + entries.set("personBiosignatures", dataList); + stringJSONObjectHashMap.put(Base64.decodeToString(item.getUserCard()), entries); + // byId.getPersonBelongType() + // onePersonUtil.dockLongTermUserByUserCardAndFaceImg() }); personMessageRepository.saveBatch(personMessageDOS); + dcokDoorEquipment(userCardHashSet, stringJSONObjectHashMap); } TodoListCompleteEvent todoListCompleteEvent = new TodoListCompleteEvent(); todoListCompleteEvent.setForeignSubsidiaryKey(build.getId()); todoListEventPusherUtil.sendMessageCompleteEvent(todoListCompleteEvent); } + // 对接口门设备 + public void dcokDoorEquipment(HashSet userCardHashSet, HashMap userHashMap) throws Exception { + // 对接过的用户信息 + ArrayList waitSaveUser = new ArrayList<>(); + ArrayList waitEditUser = new ArrayList<>(); + ArrayList dockEdUserCards = new ArrayList<>(); + JSONArray mkmjUserInfoByUserCard = onePersonUtil.getMkmjUserInfoByUserCard(new ArrayList<>(userCardHashSet)); + for (int i = 0; i < mkmjUserInfoByUserCard.size(); i++) { + JSONObject o = mkmjUserInfoByUserCard.getJSONObject(i); + String str = o.getStr("paperNumber"); + JSONObject entries = userHashMap.get(str); + if (userCardHashSet.add(str)) { + // 要新增的 + waitSaveUser.add(entries); + } else { + // 已存在 看下今天是不是在 申请的时间里 + long validStartTime = DateUtil.fomatDate(entries.getStr("validStartTime")+ "00:00:00","yyyy-MM-dd HH:mm:ss").getTime(); + long validEndTime = DateUtil.fomatDate(entries.getStr("validEndTime")+ "23:59:59","yyyy-MM-dd HH:mm:ss").getTime(); + long time = new Date().getTime(); + if (time >= validStartTime && time <= validEndTime) { + // 今天在申请的时间里 需要修改 + JSONObject entries1 = new JSONObject(); + entries1.set("personId", o.getLong("id")); + entries1.set("validStartTime", DateUtil.date2Str(new Date(),"yyyy-MM-dd")+ "00:00:00"); + entries1.set("validEndTime", DateUtil.date2Str(new Date(),"yyyy-MM-dd")+ "23:59:59"); + waitEditUser.add(entries1); + } + } + dockEdUserCards.add(str); + } + if (!waitSaveUser.isEmpty()) { + onePersonUtil.batchSaveUser(waitSaveUser); + } + if (!waitEditUser.isEmpty()) { + onePersonUtil.expirationDateRefreshedUserCard(waitEditUser); + } + } + @Override public List personListByxgfApplyPersonId(Long id) { QueryWrapper xgfApplyPersonDOQueryWrapper = new QueryWrapper<>(); @@ -124,5 +189,13 @@ public class PersonApplyGatewayImpl implements PersonApplyGateway { }); return xgfApplyPersonES; } + + public static void main(String[] args) { + HashSet strings = new HashSet<>(); + System.out.println(strings.add("1")); + System.out.println(strings.add("2")); + System.out.println(strings.add("3")); + System.out.println(strings.add("1")); + } } diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/dataobject/XgfApplyPersonDO.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/dataobject/XgfApplyPersonDO.java index 93950f4..e61af82 100644 --- a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/dataobject/XgfApplyPersonDO.java +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/dataobject/XgfApplyPersonDO.java @@ -17,6 +17,7 @@ import lombok.EqualsAndHashCode; @TableName("xgf_apply_person") @EqualsAndHashCode(callSuper = true) public class XgfApplyPersonDO extends BaseDO { + // 申请归属1股份2分公司3相关方4临时人员 private Integer personBelongType; //授权范围港区与区域 @ApiModelProperty(value = "授权范围港区与区域") diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/mapper/XgfApplyPersonMapper.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/mapper/XgfApplyPersonMapper.java index 9cad3d6..c9ea733 100644 --- a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/mapper/XgfApplyPersonMapper.java +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/mapper/XgfApplyPersonMapper.java @@ -10,6 +10,7 @@ import com.zcloud.primeport.persistence.dataobject.VehicleApplyDO; import com.zcloud.primeport.persistence.dataobject.XgfApplyPersonDO; import org.apache.ibatis.annotations.Mapper; +import java.util.List; import java.util.Map; import org.apache.ibatis.annotations.Param; @@ -33,5 +34,6 @@ public interface XgfApplyPersonMapper extends BaseMapper { IPage personnelVehicleManagementList(Page> page, @Param("params") Map params, String menuPerms); + List listTodayHasPort(); } diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/XgfApplyPersonRepository.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/XgfApplyPersonRepository.java index 6d5a0e7..1f84f12 100644 --- a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/XgfApplyPersonRepository.java +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/XgfApplyPersonRepository.java @@ -6,6 +6,7 @@ import com.zcloud.primeport.persistence.dataobject.PersonApplyDO; import com.zcloud.primeport.persistence.dataobject.PersonCountDto; import com.zcloud.primeport.persistence.dataobject.XgfApplyPersonDO; +import java.util.List; import java.util.Map; /** @@ -20,5 +21,7 @@ public interface XgfApplyPersonRepository extends BaseRepository personnelVehicleManagementList(Map params); PageResponse listPage(Map params); + + List listTodayHasPort(); } diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/XgfApplyPersonRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/XgfApplyPersonRepositoryImpl.java index 6ddbc12..d83a67d 100644 --- a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/XgfApplyPersonRepositoryImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/XgfApplyPersonRepositoryImpl.java @@ -22,6 +22,7 @@ import com.zcloud.primeport.persistence.repository.XgfApplyPersonRepository; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.Collections; import java.util.List; import java.util.Map; @@ -72,6 +73,11 @@ public class XgfApplyPersonRepositoryImpl extends BaseRepositoryImpl listTodayHasPort() { + return xgfApplyPersonMapper.listTodayHasPort(); + } + } diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/plan/OneLevelUserXxlJon.java b/web-infrastructure/src/main/java/com/zcloud/primeport/plan/OneLevelUserXxlJon.java new file mode 100644 index 0000000..ff9051c --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/plan/OneLevelUserXxlJon.java @@ -0,0 +1,27 @@ +package com.zcloud.primeport.plan; + +import com.jjb.saas.framework.job.Job; +import com.jjb.saas.framework.job.annotation.JobRegister; +import com.xxl.job.core.biz.model.ReturnT; +import com.xxl.job.core.handler.annotation.XxlJob; +import com.zcloud.primeport.persistence.repository.XgfApplyPersonRepository; +import com.zcloud.primeport.plan.mjDevice.OnePersonUtil; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; + +@Component +public class OneLevelUserXxlJon implements Job { + + @Resource + private OnePersonUtil onePersonUtil; + + @Override + @JobRegister(cron = "0 14 0 * * ?", jobDesc = "口门定时任务,每日12点14进行当日可进门人员推送", triggerStatus = 1) + @XxlJob("com.zcloud.plan.VehicleExpiredExpirationXxlJob") + public ReturnT execute(String param) { + // 相关方、临时访客 每日授权 门禁 + onePersonUtil.execute(); + return ReturnT.SUCCESS; + } +} 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 1a7cf05..1d23489 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 @@ -9,11 +9,16 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.TypeReference; import com.zcloud.gbscommon.dahuaDevice.DaHuaDeviceCommon; import com.zcloud.gbscommon.dahuaDevice.DhuaConfig; +import com.zcloud.gbscommon.utils.DateUtil; import com.zcloud.primeport.persistence.dataobject.VehicleDockLogDO; +import com.zcloud.primeport.persistence.dataobject.XgfApplyPersonDO; +import com.zcloud.primeport.persistence.repository.VehicleApplyRepository; import com.zcloud.primeport.persistence.repository.VehicleDockLogRepository; +import com.zcloud.primeport.persistence.repository.XgfApplyPersonRepository; import com.zcloud.primeport.plan.mjDevice.dto.OneLevelCarBlackDto; import com.zcloud.primeport.plan.mjDevice.dto.OneLevelCarRemoveDto; import com.zcloud.primeport.plan.mjDevice.dto.OneLevelCarSaveDto; +import jodd.util.Base64; import org.springframework.beans.factory.annotation.Value; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Component; @@ -32,24 +37,33 @@ import java.util.stream.Collectors; */ @Component public class OnePersonUtil { - @Value("${kmmj.dockflag}") - private Integer dockFlag; - @Value("${oneLevelPerson.prefix}") - private String prefix; - private static String prefix2 = "https://skqhdg.porthebei.com:9008/yjkmRy/"; + @Resource + private XgfApplyPersonRepository xgfApplyPersonRepository; + // @Value("${kmmj.dockflag}") +// private Integer dockFlag; +// @Value("${oneLevelPerson.prefix}") +// private String prefix; + private static Integer dockFlag = 1; + private static String prefix = "https://skqhdg.porthebei.com:9008/yjkmRy/"; private static String username = "shuangkong"; private static String password = "qinan@202604"; private static String clientId = "mkmj_management"; private static String clientSecret = "5ef82f7c-9926-46a3-8d07-136fd054849c"; + /* + * 刷入当日门禁权限有效期 + * */ + + /** - * 跟据身份证号码进行用户对接 + * 跟据身份证号码进行长期用户对接 */ public void dockLongTermUserByUserCardAndFaceImg(String userCard, String userUid, String username, String userFaceImages, String visitStartTime, String visitEndTime) throws Exception { + if (!dockFlag.equals(1)) return ; DaHuaDeviceCommon daHuaDeviceCommon = getDaHuaDeviceCommon(); JSONObject userByUserCard = daHuaDeviceCommon.getUserByUserCard(userCard).getJSONObject("data"); if (userByUserCard.isEmpty()) { - // 这个人不存在进行保存用户 + // 这个人不存在 保存用户 Long generateId = daHuaDeviceCommon.getGenerateId(); JSONObject userInfo = new JSONObject(); JSONObject fileInfo = new JSONObject(); @@ -59,7 +73,7 @@ public class OnePersonUtil { fileInfo.set("path", userFaceImages); dataList.add(fileInfo); userInfo.set("id", generateId); - userInfo.set("personBiosignatures", generateId); + userInfo.set("personBiosignatures", dataList); userInfo.set("validStartTime", visitStartTime); userInfo.set("validEndTime", visitEndTime); userInfo.set("code", userUid); @@ -69,13 +83,31 @@ public class OnePersonUtil { userInfo.set("departmentId", 1L); userInfo.set("personType", 0); daHuaDeviceCommon.saveUser(userInfo); + }else { + // 这个人存在 更新用户 + expirationDateRefreshedUserCard(userCard, visitStartTime, visitEndTime); } } + /** + * 批量新增用户 + */ + public void batchSaveUser(List userList) throws Exception { + if (!dockFlag.equals(1)) return ; + DaHuaDeviceCommon daHuaDeviceCommon = getDaHuaDeviceCommon(); + JSONArray batchGenerateId = daHuaDeviceCommon.getBatchGenerateId(userList.size()); + for (int i = 0; i < batchGenerateId.size(); i++) { + JSONObject entries = userList.get(i); + entries.set("id", batchGenerateId.getInt(i)); + } + daHuaDeviceCommon.batchSaveUser(userList); + } + /** * 跟据身份证号码进行用户门禁有效期刷新 */ public void expirationDateRefreshedUserCard(String userCard, String visitStartTime, String visitEndTime) throws Exception { + if (!dockFlag.equals(1)) return ; JSONObject entries = new JSONObject(); entries.set("userCard", userCard); entries.set("visitStartTime", visitStartTime); @@ -88,6 +120,7 @@ public class OnePersonUtil { * */ public void expirationDateRefreshedUserCard(List userList) throws Exception { + if (!dockFlag.equals(1)) return ; DaHuaDeviceCommon daHuaDeviceCommon = getDaHuaDeviceCommon(); List userCard = userList.stream().map(item -> item.getStr("userCard")).collect(Collectors.toList()); Map userCardMap = userList.stream().collect(Collectors.toMap(item -> item.getStr("userCard"), item -> item, (existing, replacement) -> replacement)); @@ -111,6 +144,7 @@ public class OnePersonUtil { * 跟据身份证号码进行用户门禁有效期刷新 */ private void expirationDateBatchRefreshedUserCardList(List dataList) throws Exception { + if (!dockFlag.equals(1)) return ; DaHuaDeviceCommon daHuaDeviceCommon = getDaHuaDeviceCommon(); daHuaDeviceCommon.updatePersonValidity(dataList); } @@ -121,24 +155,64 @@ public class OnePersonUtil { * (1:有 2:无) */ public void freezeByUserCard(String userCard, Integer mkmjPermission) throws Exception { + if (!dockFlag.equals(1)) return ; DaHuaDeviceCommon daHuaDeviceCommon = getDaHuaDeviceCommon(); JSONObject userByUserCard = daHuaDeviceCommon.getUserByUserCard(userCard).getJSONObject("data"); daHuaDeviceCommon.updatePersonStatus(userByUserCard.getLong("id"), mkmjPermission); } + /** + * 跟据身份证号码查询用户信息 + */ + public JSONArray getMkmjUserInfoByUserCard(List userCards) throws Exception { + if (!dockFlag.equals(1)) return new JSONArray(); + DaHuaDeviceCommon daHuaDeviceCommon = getDaHuaDeviceCommon(); + return daHuaDeviceCommon.getUserListByUserCard(userCards).getJSONObject("data").getJSONArray("pageData"); + } - public DaHuaDeviceCommon getDaHuaDeviceCommon() { - DhuaConfig dhuaConfig = new DhuaConfig(); - dhuaConfig.setPrefix(prefix2); - dhuaConfig.setClientId(clientId); - dhuaConfig.setClientSecret(clientSecret); - dhuaConfig.setUsername(username); - dhuaConfig.setPassword(password); - return new DaHuaDeviceCommon(dhuaConfig); + protected DaHuaDeviceCommon getDaHuaDeviceCommon() { + return new DaHuaDeviceCommon(new DhuaConfig(dockFlag, prefix, username, password, clientId, clientSecret)); } public static void main(String[] args) throws Exception { OnePersonUtil onePersonUtil = new OnePersonUtil(); - onePersonUtil.freezeByUserCard("360425198208131948", "1"); +// JSONArray mkmjUserInfoByUserCard = onePersonUtil.getMkmjUserInfoByUserCard(Arrays.asList("360425198208131948")); +// JSONArray mkmjUserInfoByUserCard2 = onePersonUtil.getMkmjUserInfoByUserCard(Arrays.asList("160425198208131948")); +//// onePersonUtil.freezeByUserCard("360425198208131948", "1"); +// System.out.println(mkmjUserInfoByUserCard); +// System.out.println(mkmjUserInfoByUserCard2); +// +// JSONArray batchGenerateId = onePersonUtil.getDaHuaDeviceCommon().getBatchGenerateId(10); + + } + + public void execute() { + if (!dockFlag.equals(1)) return; + List dataList = xgfApplyPersonRepository.listTodayHasPort(); + if (!dataList.isEmpty()) { + HashMap userCardHashSet = new HashMap<>(); + ArrayList jsonObjects = new ArrayList<>(); + dataList.forEach(item -> { + JSONObject entries = new JSONObject(); + entries.set("userCard", Base64.decodeToString(item.getUserCard())); + entries.set("validStartTime", DateUtil.date2Str(new Date(),"yyyy-MM-dd") + " 00:00:00"); + entries.set("validEndTime", DateUtil.date2Str(new Date(),"yyyy-MM-dd") + " 23:59:59"); + userCardHashSet.put(Base64.decodeToString(item.getUserCard()), entries); + jsonObjects.add(entries); + }); + JSONArray mkmjUserInfoByUserCard = null; + try { + mkmjUserInfoByUserCard = getMkmjUserInfoByUserCard(new ArrayList<>(userCardHashSet.keySet())); + for (int i = 0; i < mkmjUserInfoByUserCard.size(); i++) { + JSONObject jsonObject = mkmjUserInfoByUserCard.getJSONObject(i); + userCardHashSet.get(jsonObject.getStr("paperNumber")).set("id", jsonObject.getLong("id")); + } + expirationDateBatchRefreshedUserCardList(new ArrayList<>(userCardHashSet.values())); + } catch (Exception e) { + throw new RuntimeException(e); + } + + } + } } diff --git a/web-infrastructure/src/main/resources/mapper/XgfApplyPersonDO.xml b/web-infrastructure/src/main/resources/mapper/XgfApplyPersonDO.xml index f58217a..95187e6 100644 --- a/web-infrastructure/src/main/resources/mapper/XgfApplyPersonDO.xml +++ b/web-infrastructure/src/main/resources/mapper/XgfApplyPersonDO.xml @@ -163,5 +163,27 @@ ORDER BY u.department_id +