feat(property): 小程序添加访客管理功能
- 新增访客管理相关的接口和服务实现 - 添加访客信息同步到 E8 平台的功能 - 实现访客二维码生成和获取功能
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package org.dromara.sis.dubbo;
|
||||
|
||||
import cn.hutool.core.lang.Assert;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.dubbo.config.annotation.DubboReference;
|
||||
@@ -9,10 +10,15 @@ import org.dromara.resource.api.RemoteFileService;
|
||||
import org.dromara.sis.api.RemoteVisitorService;
|
||||
import org.dromara.sis.api.domain.RemoteVisitor;
|
||||
import org.dromara.sis.sdk.e8.E8PlatformApi;
|
||||
import org.dromara.sis.sdk.e8.domain.ApiResp;
|
||||
import org.dromara.sis.sdk.e8.domain.visitors.req.VisitorAddReq;
|
||||
import org.dromara.sis.sdk.e8.domain.visitors.res.VisitorAddRes;
|
||||
import org.dromara.sis.sdk.e8.utils.ImageUtil;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author lsm
|
||||
* @apiNote RemoteVisitorServiceImpl
|
||||
@@ -36,7 +42,7 @@ public class RemoteVisitorServiceImpl implements RemoteVisitorService {
|
||||
* @return 访客ID
|
||||
*/
|
||||
@Override
|
||||
public Long syncE8PlatVisitor(RemoteVisitor visitor) {
|
||||
public Map<String, Object> syncE8PlatVisitor(RemoteVisitor visitor) {
|
||||
try {
|
||||
byte[] imgByte = fileService.downloadToByteArray(Long.parseLong(visitor.getVisitorFaceImg()));
|
||||
Assert.notNull(imgByte, "下载访客照片失败");
|
||||
@@ -53,12 +59,38 @@ public class RemoteVisitorServiceImpl implements RemoteVisitorService {
|
||||
req.setVisitorStartTime(visitor.getVisitorStartTime());
|
||||
req.setVistorEndTime(visitor.getVistorEndTime());
|
||||
req.setVisitorFaceImg(imgUrl);
|
||||
VisitorAddRes res = e8PlatformApi.addVisitor(req);
|
||||
ApiResp res = e8PlatformApi.addVisitor(req);
|
||||
Assert.notNull(res, "e8平台新增访客登记失败");
|
||||
return res.getId();
|
||||
|
||||
return res.getCode() == 0
|
||||
? Map.of("code", 200, "data",
|
||||
JSONUtil.toBean(JSONUtil.toJsonStr(res.getResult()), VisitorAddRes.class).getId())
|
||||
: Map.of("code", 500, "data", res.getMessage());
|
||||
} catch (Exception e) {
|
||||
log.info(e.getMessage());
|
||||
return null;
|
||||
return Map.of("code", 500, "data", "e8平台新增访客登记出错");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取访客二维码
|
||||
*
|
||||
* @param id 访客id
|
||||
* @return String
|
||||
*/
|
||||
@Override
|
||||
public Map<String, Object> getQrCode(Long id) {
|
||||
try {
|
||||
ApiResp res = e8PlatformApi.getVisitorQrCode(List.of(id));
|
||||
Assert.notNull(res, "e8平台获取访客二维码失败");
|
||||
return res.getCode() == 0
|
||||
? Map.of("code", 200, "data",
|
||||
JSONUtil.toList(JSONUtil.toJsonStr(res.getResult()), VisitorAddRes.class).get(0).getQrCodeStr())
|
||||
: Map.of("code", 500, "data", res.getMessage());
|
||||
|
||||
} catch (Exception e) {
|
||||
log.info(e.getMessage());
|
||||
return Map.of("code", 500, "data", "e8平台获取访客二维码出错");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -1,6 +1,7 @@
|
||||
package org.dromara.sis.sdk.e8;
|
||||
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.sis.sdk.e8.domain.ApiResp;
|
||||
import org.dromara.sis.sdk.e8.domain.QueryDto;
|
||||
import org.dromara.sis.sdk.e8.domain.accessControl.req.CustomerAuthAddReq;
|
||||
import org.dromara.sis.sdk.e8.domain.accessControl.req.RemoteOpenDoorReq;
|
||||
@@ -20,7 +21,6 @@ import org.dromara.sis.sdk.e8.domain.lift.req.LiftAddReq;
|
||||
import org.dromara.sis.sdk.e8.domain.lift.req.LiftUpdateReq;
|
||||
import org.dromara.sis.sdk.e8.domain.lift.res.LiftFindRes;
|
||||
import org.dromara.sis.sdk.e8.domain.visitors.req.VisitorAddReq;
|
||||
import org.dromara.sis.sdk.e8.domain.visitors.res.VisitorAddRes;
|
||||
import org.dromara.sis.sdk.e8.domain.voucher.req.ChangeCardReq;
|
||||
import org.dromara.sis.sdk.e8.domain.voucher.req.IssueVoucherReq;
|
||||
import org.dromara.sis.sdk.e8.domain.voucher.req.OperateVoucherReq;
|
||||
@@ -240,15 +240,15 @@ public interface E8PlatformApi {
|
||||
* 新增访客登记
|
||||
*
|
||||
* @param req 入参
|
||||
* @return VisitorAddRes
|
||||
* @return ApiResp
|
||||
*/
|
||||
VisitorAddRes addVisitor(VisitorAddReq req);
|
||||
ApiResp addVisitor(VisitorAddReq req);
|
||||
|
||||
/**
|
||||
* 获取访客二维码
|
||||
*
|
||||
* @param ids 访客ids
|
||||
* @return VisitorAddRes
|
||||
* @return ApiResp
|
||||
*/
|
||||
VisitorAddRes getVisitorQrCode(List<Long> ids);
|
||||
ApiResp getVisitorQrCode(List<Long> ids);
|
||||
}
|
||||
|
@@ -31,7 +31,6 @@ import org.dromara.sis.sdk.e8.domain.lift.req.LiftFindReq;
|
||||
import org.dromara.sis.sdk.e8.domain.lift.req.LiftUpdateReq;
|
||||
import org.dromara.sis.sdk.e8.domain.lift.res.LiftFindRes;
|
||||
import org.dromara.sis.sdk.e8.domain.visitors.req.VisitorAddReq;
|
||||
import org.dromara.sis.sdk.e8.domain.visitors.res.VisitorAddRes;
|
||||
import org.dromara.sis.sdk.e8.domain.voucher.req.ChangeCardReq;
|
||||
import org.dromara.sis.sdk.e8.domain.voucher.req.IssueVoucherReq;
|
||||
import org.dromara.sis.sdk.e8.domain.voucher.req.OperateVoucherReq;
|
||||
@@ -724,7 +723,7 @@ public class E8PlatformApiService implements E8PlatformApi {
|
||||
* @return VisitorAddRes
|
||||
*/
|
||||
@Override
|
||||
public VisitorAddRes addVisitor(VisitorAddReq req) {
|
||||
public ApiResp addVisitor(VisitorAddReq req) {
|
||||
// 将添加请求对象转换为Map对象,以便后续API调用
|
||||
Map<String, Object> params = BeanUtil.beanToMap(req);
|
||||
|
||||
@@ -735,11 +734,11 @@ public class E8PlatformApiService implements E8PlatformApi {
|
||||
if (!apiResp.getSuccess()) {
|
||||
log.error("E8新增访客信息失败 errorMsg:{}", apiResp);
|
||||
// 如果API调用失败,返回null
|
||||
return null;
|
||||
return apiResp;
|
||||
}
|
||||
|
||||
// 返回API调用是否成功的标志
|
||||
return JSONUtil.toBean(JSONUtil.toJsonStr(apiResp.getResult()), VisitorAddRes.class);
|
||||
return apiResp;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -749,7 +748,7 @@ public class E8PlatformApiService implements E8PlatformApi {
|
||||
* @return String
|
||||
*/
|
||||
@Override
|
||||
public VisitorAddRes getVisitorQrCode(List<Long> ids) {
|
||||
public ApiResp getVisitorQrCode(List<Long> ids) {
|
||||
Map<String, Object> params = new HashMap<>();
|
||||
params.put("ids", ids);
|
||||
|
||||
@@ -760,11 +759,11 @@ public class E8PlatformApiService implements E8PlatformApi {
|
||||
if (!apiResp.getSuccess()) {
|
||||
log.error("E8获取访客二维码失败 errorMsg:{}", apiResp);
|
||||
// 如果API调用失败,返回null
|
||||
return null;
|
||||
return apiResp;
|
||||
}
|
||||
|
||||
// 返回API调用是否成功的标志
|
||||
return JSONUtil.toList(JSONUtil.toJsonStr(apiResp.getResult()), VisitorAddRes.class).get(0);
|
||||
|
||||
// return JSONUtil.toList(JSONUtil.toJsonStr(apiResp.getResult()), VisitorAddRes.class).get(0);
|
||||
return apiResp;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user