diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml index 35abe52..efc839e 100644 --- a/.idea/inspectionProfiles/Project_Default.xml +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -63,6 +63,9 @@ + + diff --git a/web-adapter/src/main/java/com/zcloud/primeport/web/close/ClosedTmpApplyController.java b/web-adapter/src/main/java/com/zcloud/primeport/web/close/ClosedTmpApplyController.java index 9d14c00..ce4bb4d 100644 --- a/web-adapter/src/main/java/com/zcloud/primeport/web/close/ClosedTmpApplyController.java +++ b/web-adapter/src/main/java/com/zcloud/primeport/web/close/ClosedTmpApplyController.java @@ -58,7 +58,7 @@ public class ClosedTmpApplyController { stringObjectHashMap.put("value", cmd.getHgAuthAreaName()); hashMaps.add(stringObjectHashMap); HashMap stringObjectHashMap2 = new HashMap<>(); - stringObjectHashMap2.put("area", stringObjectHashMap); + stringObjectHashMap2.put("area", hashMaps); xgf.setGateLevelAuthArea(JSON.toJSONString(stringObjectHashMap2)); xgf.setAuditCorpId(cmd.getAuditPersonCorpId()); xgf.setAuditCorpName(cmd.getAuditPersonCorpName()); diff --git a/web-app/src/main/java/com/zcloud/primeport/command/PersonApplyAddExe.java b/web-app/src/main/java/com/zcloud/primeport/command/PersonApplyAddExe.java index eedc9e8..84dbdba 100644 --- a/web-app/src/main/java/com/zcloud/primeport/command/PersonApplyAddExe.java +++ b/web-app/src/main/java/com/zcloud/primeport/command/PersonApplyAddExe.java @@ -113,6 +113,10 @@ public class PersonApplyAddExe { personApplyAddCmdExt.setUserFaceUrl(cmd.getUserFaceUrl()); personApplyAddCmdExt.setUserCard(cmd.getUserCard()); personApplyAddCmdExt.setUserPhone(cmd.getUserPhone()); + personApplyAddCmdExt.setVisitStartTime(DateUtil.date2Str(new Date())); + personApplyAddCmdExt.setVisitEndTime("2099-12-31 23:59:59"); + personApplyAddCmdExt.setExpiredExpiration("2"); + personApplyAddCmdExt.setUserPhone(cmd.getUserPhone()); xgfPersonApplyAddCmd.setPersonApplyList(new ArrayList() {{ add(personApplyAddCmdExt); }}); diff --git a/web-app/src/main/java/com/zcloud/primeport/command/query/PersonApplyQueryExe.java b/web-app/src/main/java/com/zcloud/primeport/command/query/PersonApplyQueryExe.java index be4d29a..db225af 100644 --- a/web-app/src/main/java/com/zcloud/primeport/command/query/PersonApplyQueryExe.java +++ b/web-app/src/main/java/com/zcloud/primeport/command/query/PersonApplyQueryExe.java @@ -2,6 +2,7 @@ package com.zcloud.primeport.command.query; import com.alibaba.cola.dto.PageResponse; import com.alibaba.cola.dto.SingleResponse; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.jjb.saas.framework.auth.utils.AuthContext; import com.zcloud.gbscommon.utils.PageQueryHelper; import com.zcloud.primeport.command.convertor.PersonApplyCoConvertor; @@ -125,5 +126,11 @@ public class PersonApplyQueryExe { public SingleResponse xgfPersonPermissionsInfo(Long id) { return SingleResponse.of(personApplyCoConvertor.converDOToCO(personApplyRepository.xgfPersonPermissionsInfo(id))); } + + public PersonApplyCO getInfoByUserId(Long userId) { + QueryWrapper objectQueryWrapper = new QueryWrapper<>(); + objectQueryWrapper.eq("employee_person_user_id", userId); + return personApplyCoConvertor.converDOToCO(personApplyRepository.getOne(objectQueryWrapper)); + } } 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 6f81e98..43ce25b 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 @@ -60,7 +60,7 @@ public class PersonApplyServiceImpl implements PersonApplyServiceI { @Override public Long xgfPersonSave(XgfPersonApplyAddCmd cmd) { - return personApplyAddExe.xgfPersonSave(cmd); + return personApplyAddExe.xgfPersonSave(cmd); } @Override @@ -90,12 +90,20 @@ public class PersonApplyServiceImpl implements PersonApplyServiceI { @Override public void authorization(PersonAuthCmd cmd) { - if (cmd.getXgfApplyPersonId() != null) { - // 修改 - personApplyUpdateExe.authorization(cmd.getApplyPersonId(), cmd.getXgfApplyPersonId(), cmd.getMkmjPermission(), cmd.getGateLevelAuthArea()); + // 查一下这个人 有没有 授权, + PersonApplyCO co = personApplyQueryExe.getInfoByUserId(cmd.getUserId()); + if (cmd.getMkmjPermission().equals(1)) { + // 开启门禁 + if (co != null) { + personApplyUpdateExe.authorization(co.getId(), co.getXgfApplyPersonId(), cmd.getMkmjPermission(), cmd.getGateLevelAuthArea()); + } else { + personApplyAddExe.authorization(cmd); + } } else { - // 新增 就是股份,企业的。 - personApplyAddExe.authorization(cmd); + // 关闭门禁 + if (co != null) { + personApplyUpdateExe.authorization(co.getId(), co.getXgfApplyPersonId(), cmd.getMkmjPermission(), cmd.getGateLevelAuthArea()); + } } } diff --git a/web-client/src/main/java/com/zcloud/primeport/dto/XgfPersonApplyAddCmd.java b/web-client/src/main/java/com/zcloud/primeport/dto/XgfPersonApplyAddCmd.java index 49386c0..60a1f61 100644 --- a/web-client/src/main/java/com/zcloud/primeport/dto/XgfPersonApplyAddCmd.java +++ b/web-client/src/main/java/com/zcloud/primeport/dto/XgfPersonApplyAddCmd.java @@ -96,6 +96,12 @@ public class XgfPersonApplyAddCmd extends Command { @ApiModelProperty(value = "身份证号码", name = "userCard") @NotEmpty(message = "身份证号码不能为空") private String userCard; + + @ApiModelProperty(value = "访问起始时间", name = "visitStartTime") + private String visitStartTime; + @ApiModelProperty(value = "访问结束时间", name = "visitEndTime") + private String visitEndTime; + private String expiredExpiration; } } diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/PersonApplyRepository.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/PersonApplyRepository.java index 1a959f6..6313068 100644 --- a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/PersonApplyRepository.java +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/PersonApplyRepository.java @@ -19,5 +19,6 @@ public interface PersonApplyRepository extends BaseRepository { PageResponse xgfPersonnelVehicleManagementList(Map parmas); PersonApplyDO xgfPersonPermissionsInfo(Long id); + } diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/PersonApplyRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/PersonApplyRepositoryImpl.java index 33dafbf..b66b36e 100644 --- a/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/PersonApplyRepositoryImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/persistence/repository/impl/PersonApplyRepositoryImpl.java @@ -72,5 +72,7 @@ public class PersonApplyRepositoryImpl extends BaseRepositoryImpl dataList = new ArrayList(); + fileInfo.set("type", 3); + fileInfo.set("index", 1); + fileInfo.set("path", userFaceImages); + dataList.add(fileInfo); + userInfo.set("id", generateId); + userInfo.set("personBiosignatures", generateId); + userInfo.set("validStartTime", visitStartTime); + userInfo.set("validEndTime", visitEndTime); + userInfo.set("code", userUid); + userInfo.set("name", username); + userInfo.set("paperType", 111); + userInfo.set("paperNumber", userCard); + userInfo.set("departmentId", 1L); + userInfo.set("personType", 0); + daHuaDeviceCommon.saveUser(userInfo); + } + } + + /** + * 跟据身份证号码进行用户门禁有效期刷新 + */ + public void expirationDateRefreshedUserCard(String userCard, String visitStartTime, String visitEndTime) throws Exception { + JSONObject entries = new JSONObject(); + entries.set("userCard", userCard); + entries.set("visitStartTime", visitStartTime); + entries.set("visitEndTime", visitEndTime); + expirationDateRefreshedUserCard(Arrays.asList(entries)); + } + + /** + * 批量跟据身份证号码进行用户门禁有效期刷新 + * + */ + public void expirationDateRefreshedUserCard(List userList) throws Exception { + 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)); + JSONArray userListByUserCardList = daHuaDeviceCommon.getUserListByUserCard(userCard).getJSONObject("data").getJSONArray("pageData"); + List userDataList = new ArrayList<>(); + for (int i = 0; i < userListByUserCardList.size(); i++) { + JSONObject item = userListByUserCardList.getJSONObject(i); + JSONObject entries = new JSONObject(); + entries.set("id", item.get("id", Long.class)); + JSONObject userCardJsonObj = userCardMap.get(item.getStr("paperNumber")); + entries.set("visitStartTime", userCardJsonObj.getStr("visitStartTime")); + entries.set("visitEndTime", userCardJsonObj.getStr("visitEndTime")); + userDataList.add(entries); + } + if (!userDataList.isEmpty()) { + expirationDateBatchRefreshedUserCardList(userDataList); + } + } + + /** + * 跟据身份证号码进行用户门禁有效期刷新 + */ + private void expirationDateBatchRefreshedUserCardList(List dataList) throws Exception { + DaHuaDeviceCommon daHuaDeviceCommon = getDaHuaDeviceCommon(); + daHuaDeviceCommon.updatePersonValidity(dataList); + } + + /** + * 跟据身份证号码进行用户门禁开启与关闭 + * 1:解冻 2:冻结 + * (1:有 2:无) + */ + public void freezeByUserCard(String userCard, String mkmjPermission) throws Exception { + DaHuaDeviceCommon daHuaDeviceCommon = getDaHuaDeviceCommon(); + JSONObject userByUserCard = daHuaDeviceCommon.getUserByUserCard(userCard).getJSONObject("data"); + daHuaDeviceCommon.updatePersonStatus(userByUserCard.getLong("id"), Integer.valueOf(mkmjPermission)); + } + + + 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); + } + + public static void main(String[] args) throws Exception { + OnePersonUtil onePersonUtil = new OnePersonUtil(); + onePersonUtil.freezeByUserCard("360425198208131948", "1"); + } +} diff --git a/web-infrastructure/src/main/java/com/zcloud/primeport/plan/mjDevice/dto/PersonTypeEnum.java b/web-infrastructure/src/main/java/com/zcloud/primeport/plan/mjDevice/dto/PersonTypeEnum.java new file mode 100644 index 0000000..bc876ab --- /dev/null +++ b/web-infrastructure/src/main/java/com/zcloud/primeport/plan/mjDevice/dto/PersonTypeEnum.java @@ -0,0 +1,32 @@ +package com.zcloud.primeport.plan.mjDevice.dto; + +import lombok.Getter; + +@Getter +public enum PersonTypeEnum { + PERSON_TYPE1(0,"普通用户"), + PERSON_TYPE2(1, "黑名单用户"), + PERSON_TYPE3(2, "来宾用户"), + PERSON_TYPE4(3, "巡逻用户"), + PERSON_TYPE5(4, "VIP用户"), + PERSON_TYPE6(5, "其他用户"), + PERSON_TYPE7(6, "自定义用户1"), + PERSON_TYPE8(7, "自定义用户2"); + private Integer code; + private String typeName; + + PersonTypeEnum(Integer code, String typeName) { + this.code = code; + this.typeName = typeName; + } + + public PersonTypeEnum setCode(Integer code) { + this.code = code; + return this; + } + + public PersonTypeEnum setTypeName(String typeName) { + this.typeName = typeName; + return this; + } +} diff --git a/web-infrastructure/src/main/resources/mapper/XgfApplyPersonDO.xml b/web-infrastructure/src/main/resources/mapper/XgfApplyPersonDO.xml index a849b92..f58217a 100644 --- a/web-infrastructure/src/main/resources/mapper/XgfApplyPersonDO.xml +++ b/web-infrastructure/src/main/resources/mapper/XgfApplyPersonDO.xml @@ -117,7 +117,7 @@ u.id user_id, u.phone user_phone, u.name user_name, - u.user_id_card , + u.user_id_card user_card, d.id department_id, d.`name` department_name, p.post_name,