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,