feat:临时访客一级口门申请

koumen
dearLin 2026-04-17 15:10:04 +08:00
parent a12523db72
commit a033bba12b
12 changed files with 217 additions and 10 deletions

View File

@ -63,6 +63,9 @@
<inspection_tool class="AlibabaUnsupportedExceptionWithModifyAsList" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="AlibabaUseQuietReferenceNotation" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="AlibabaUseRightCaseForDateFormat" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="AutoCloseableResource" enabled="true" level="WARNING" enabled_by_default="true">
<option name="METHOD_MATCHER_CONFIG" value="java.util.Formatter,format,java.io.Writer,append,com.google.common.base.Preconditions,checkNotNull,org.hibernate.Session,close,java.io.PrintWriter,printf,java.io.PrintStream,printf,java.lang.foreign.Arena,ofAuto,java.lang.foreign.Arena,global,cn.hutool.http.HttpRequest,execute" />
</inspection_tool>
<inspection_tool class="Eslint" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="MapOrSetKeyShouldOverrideHashCodeEquals" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SpringJavaInjectionPointsAutowiringInspection" enabled="false" level="ERROR" enabled_by_default="false" />

View File

@ -58,7 +58,7 @@ public class ClosedTmpApplyController {
stringObjectHashMap.put("value", cmd.getHgAuthAreaName());
hashMaps.add(stringObjectHashMap);
HashMap<String, Object> stringObjectHashMap2 = new HashMap<>();
stringObjectHashMap2.put("area", stringObjectHashMap);
stringObjectHashMap2.put("area", hashMaps);
xgf.setGateLevelAuthArea(JSON.toJSONString(stringObjectHashMap2));
xgf.setAuditCorpId(cmd.getAuditPersonCorpId());
xgf.setAuditCorpName(cmd.getAuditPersonCorpName());

View File

@ -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<XgfPersonApplyAddCmd.PersonApplyAddCmdExt>() {{
add(personApplyAddCmdExt);
}});

View File

@ -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<PersonApplyCO> xgfPersonPermissionsInfo(Long id) {
return SingleResponse.of(personApplyCoConvertor.converDOToCO(personApplyRepository.xgfPersonPermissionsInfo(id)));
}
public PersonApplyCO getInfoByUserId(Long userId) {
QueryWrapper<PersonApplyDO> objectQueryWrapper = new QueryWrapper<>();
objectQueryWrapper.eq("employee_person_user_id", userId);
return personApplyCoConvertor.converDOToCO(personApplyRepository.getOne(objectQueryWrapper));
}
}

View File

@ -90,13 +90,21 @@ 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 {
// 关闭门禁
if (co != null) {
personApplyUpdateExe.authorization(co.getId(), co.getXgfApplyPersonId(), cmd.getMkmjPermission(), cmd.getGateLevelAuthArea());
}
}
}
@Override

View File

@ -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;
}
}

View File

@ -19,5 +19,6 @@ public interface PersonApplyRepository extends BaseRepository<PersonApplyDO> {
PageResponse<PersonApplyDO> xgfPersonnelVehicleManagementList(Map<String, Object> parmas);
PersonApplyDO xgfPersonPermissionsInfo(Long id);
}

View File

@ -72,5 +72,7 @@ public class PersonApplyRepositoryImpl extends BaseRepositoryImpl<PersonApplyMap
public PersonApplyDO xgfPersonPermissionsInfo(Long id) {
return personApplyMapper.xgfPersonPermissionsInfo(id);
}
}

View File

@ -284,8 +284,8 @@ public class OauthUtil {
}
public static void main(String[] args) throws Exception {
System.out.println(RSAUtils.encrypt("3093164@qzs"
,"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCzId+G65rq/ZSSKjOtd8VwIPdgDsz08RZK5fG/d2ZeIhg2P44kWvtZSSp7RPR/3sJdx9w0PzdQg14Sn6jn+eGfJIQsbs8af9QIqDVlv7M7eeoEabzRgU+4SBxo8dvokLMnNw3PUiZFjhchyLctlERoeTZ5rH6qdz/DtvEi9ypzVQIDAQAB"));
System.out.println(RSAUtils.encrypt("qinan@202604"
,"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDM7pxra9uPw/0uFpEgnJXkWTYan9FTbWjNhDiOKogGageqGBjUnEcDpyCL9V8p6xl/gBTPHAJz4s29gWkqnvGiCFekKBCkEgfu4qgSQaMrDywK38C3ydHx/iCJ2u31HE2ULunO/LXQqVK4uUSGyX63Jy9Q/0rYwDUSsoov85FZMQIDAQAB"));
}

View File

@ -0,0 +1,144 @@
package com.zcloud.primeport.plan.mjDevice;
import cn.hutool.core.io.IoUtil;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
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.primeport.persistence.dataobject.VehicleDockLogDO;
import com.zcloud.primeport.persistence.repository.VehicleDockLogRepository;
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 org.springframework.beans.factory.annotation.Value;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.*;
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/";
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 {
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();
List<JSONObject> 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<JSONObject> userList) throws Exception {
DaHuaDeviceCommon daHuaDeviceCommon = getDaHuaDeviceCommon();
List<String> userCard = userList.stream().map(item -> item.getStr("userCard")).collect(Collectors.toList());
Map<String, JSONObject> 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<JSONObject> 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<JSONObject> 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");
}
}

View File

@ -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;
}
}

View File

@ -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,