diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/asset/AssetLoginApi.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/asset/AssetLoginApi.java new file mode 100644 index 000000000..ad44fc11d --- /dev/null +++ b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/asset/AssetLoginApi.java @@ -0,0 +1,29 @@ +package cn.iocoder.yudao.module.datacenter.controller.app.asset; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.module.datacenter.controller.app.asset.vo.LoginBody; +import cn.iocoder.yudao.module.datacenter.service.asset.AssetLoginService; +import cn.iocoder.yudao.module.datacenter.service.asset.AssetService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; +import java.util.Map; + +@Tag(name = "设备机") +@RestController +@RequestMapping("/assetLogin") +@Validated +public class AssetLoginApi { + @Resource + private AssetLoginService assetLoginService; + @PostMapping("/login") + @Operation(summary = "获得所有设备名称和数量") + public CommonResult login(@RequestBody LoginBody loginBody) { + System.out.println("datacenter loginBody:::::::::::::::::::" + loginBody); + return assetLoginService.login(loginBody); + } +} diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/asset/AssetLoginClientApi.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/asset/AssetLoginClientApi.java new file mode 100644 index 000000000..4e608bcdd --- /dev/null +++ b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/asset/AssetLoginClientApi.java @@ -0,0 +1,16 @@ +package cn.iocoder.yudao.module.datacenter.controller.app.asset; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.module.datacenter.controller.app.asset.vo.LoginBody; +import io.swagger.v3.oas.annotations.Operation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +@FeignClient("ticket-server") +public interface AssetLoginClientApi { + @PostMapping("/rpc-api/ticket/assetLoginLog/login") + @Operation(summary = "设备登陆") + CommonResult login(@RequestBody LoginBody loginBody); +} diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/asset/HeartBeatApi.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/asset/HeartBeatApi.java new file mode 100644 index 000000000..4dc36cd11 --- /dev/null +++ b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/asset/HeartBeatApi.java @@ -0,0 +1,33 @@ +package cn.iocoder.yudao.module.datacenter.controller.app.asset; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.module.datacenter.controller.app.asset.vo.Heartbeat; +import cn.iocoder.yudao.module.datacenter.controller.app.asset.vo.LoginBody; +import cn.iocoder.yudao.module.datacenter.controller.app.asset.vo.PassengerInformation; +import cn.iocoder.yudao.module.datacenter.service.asset.AssetLoginService; +import cn.iocoder.yudao.module.datacenter.service.asset.HeartBeatService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +@Tag(name = "设备机") +@RestController +@RequestMapping("/asset/heartbeat") +@Validated +public class HeartBeatApi { + @Resource + private HeartBeatService heartBeatService; + @PostMapping + @Operation(summary = "设备状态上报") + public CommonResult receiveHeartbeat(@RequestBody Heartbeat heartbeat) { + return heartBeatService.receiveHeartbeat(heartbeat); + } + + @PostMapping("/doPassengerInformation") + public CommonResult doPassengerInformation(@RequestBody PassengerInformation passengerInformation){ + return heartBeatService.doPassengerInformation(passengerInformation); + } +} diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/asset/HeartBeatClientApi.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/asset/HeartBeatClientApi.java new file mode 100644 index 000000000..ed7271e37 --- /dev/null +++ b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/asset/HeartBeatClientApi.java @@ -0,0 +1,22 @@ +package cn.iocoder.yudao.module.datacenter.controller.app.asset; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.module.datacenter.controller.app.asset.vo.Heartbeat; +import cn.iocoder.yudao.module.datacenter.controller.app.asset.vo.LoginBody; +import cn.iocoder.yudao.module.datacenter.controller.app.asset.vo.PassengerInformation; +import io.swagger.v3.oas.annotations.Operation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +@FeignClient("ticket-server") +public interface HeartBeatClientApi { + @PostMapping("/rpc-api/ticket/heartbeat") + @Operation(summary = "设备状态上报") + CommonResult receiveHeartbeat(@RequestBody Heartbeat heartbeat); + + @PostMapping("/rpc-api/ticket/heartbeat/doPassengerInformation") + @Operation(summary = "旅客信息上报") + CommonResult doPassengerInformation(@RequestBody PassengerInformation passengerInformation); +} diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/asset/vo/Heartbeat.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/asset/vo/Heartbeat.java new file mode 100644 index 000000000..2a7270b3f --- /dev/null +++ b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/asset/vo/Heartbeat.java @@ -0,0 +1,11 @@ +package cn.iocoder.yudao.module.datacenter.controller.app.asset.vo; + +import lombok.Data; + +@Data +public class Heartbeat { + //设备ID + private String deviceId; + //事件类型(1.设备上线 -1.故障发生 0.设备离线) + private String eventType; +} diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/asset/vo/HeartbeatLog.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/asset/vo/HeartbeatLog.java new file mode 100644 index 000000000..a6609957d --- /dev/null +++ b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/asset/vo/HeartbeatLog.java @@ -0,0 +1,22 @@ +package cn.iocoder.yudao.module.datacenter.controller.app.asset.vo; + +import lombok.Data; +import org.springframework.data.mongodb.core.mapping.Document; + +import java.util.List; +import java.util.Map; + +@Document("heartbeatlog") +@Data +public class HeartbeatLog { + private String id; + private String dataId; + private String assetname; + private String assettype; + private String assettypename; + private long lastFeedbackTime; + private String requesttext; + private String returntext; + private List> dataMapList; + private String loginTime; +} diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/asset/vo/LoginBody.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/asset/vo/LoginBody.java new file mode 100644 index 000000000..03f19b312 --- /dev/null +++ b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/asset/vo/LoginBody.java @@ -0,0 +1,11 @@ +package cn.iocoder.yudao.module.datacenter.controller.app.asset.vo; + +import lombok.Data; + +@Data +public class LoginBody { + //设备id + private String deviceId; + //识别码 + private String identificationCode; +} diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/asset/vo/LoginResult.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/asset/vo/LoginResult.java new file mode 100644 index 000000000..2b3f7a442 --- /dev/null +++ b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/asset/vo/LoginResult.java @@ -0,0 +1,11 @@ +package cn.iocoder.yudao.module.datacenter.controller.app.asset.vo; + +import lombok.Data; + +@Data +public class LoginResult { +// private String userId; +// private String username; + private String token; +// private String userType; +} \ No newline at end of file diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/asset/vo/PassengerInformation.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/asset/vo/PassengerInformation.java new file mode 100644 index 000000000..e57d60cd8 --- /dev/null +++ b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/controller/app/asset/vo/PassengerInformation.java @@ -0,0 +1,19 @@ +package cn.iocoder.yudao.module.datacenter.controller.app.asset.vo; + +import lombok.Data; +import org.springframework.data.mongodb.core.mapping.Document; + +@Document("passengerInformation") +@Data +public class PassengerInformation { + //编号 + private String id; + //设备id + private String deviceId; + //旅客姓名 + private String name; + //旅客身份证 + private String idCard; + //提交时间 + private String commitTime; +} diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/asset/AssetLoginService.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/asset/AssetLoginService.java new file mode 100644 index 000000000..c3eddfc36 --- /dev/null +++ b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/asset/AssetLoginService.java @@ -0,0 +1,9 @@ +package cn.iocoder.yudao.module.datacenter.service.asset; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.module.datacenter.controller.app.asset.vo.LoginBody; + +public interface AssetLoginService { + CommonResult login(LoginBody loginBody); + +} diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/asset/AssetLoginServiceImpl.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/asset/AssetLoginServiceImpl.java new file mode 100644 index 000000000..4fad7364a --- /dev/null +++ b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/asset/AssetLoginServiceImpl.java @@ -0,0 +1,21 @@ +package cn.iocoder.yudao.module.datacenter.service.asset; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.module.datacenter.controller.app.asset.AssetLoginClientApi; +import cn.iocoder.yudao.module.datacenter.controller.app.asset.vo.LoginBody; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import javax.annotation.Resource; + +@Service +@Validated +public class AssetLoginServiceImpl implements AssetLoginService { + @Resource + private AssetLoginClientApi assetLoginClientApi; + + @Override + public CommonResult login(LoginBody loginBody) { + return assetLoginClientApi.login(loginBody); + } +} diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/asset/HeartBeatService.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/asset/HeartBeatService.java new file mode 100644 index 000000000..6ccb154d7 --- /dev/null +++ b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/asset/HeartBeatService.java @@ -0,0 +1,10 @@ +package cn.iocoder.yudao.module.datacenter.service.asset; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.module.datacenter.controller.app.asset.vo.Heartbeat; +import cn.iocoder.yudao.module.datacenter.controller.app.asset.vo.PassengerInformation; + +public interface HeartBeatService { + public CommonResult receiveHeartbeat(Heartbeat heartbeat); + public CommonResult doPassengerInformation(PassengerInformation passengerInformation); +} diff --git a/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/asset/HeartBeatServiceImpl.java b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/asset/HeartBeatServiceImpl.java new file mode 100644 index 000000000..b168df8fa --- /dev/null +++ b/ludu-module-datacenter/ludu-module-datacenter-biz/src/main/java/cn/iocoder/yudao/module/datacenter/service/asset/HeartBeatServiceImpl.java @@ -0,0 +1,27 @@ +package cn.iocoder.yudao.module.datacenter.service.asset; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.module.datacenter.controller.app.asset.HeartBeatClientApi; +import cn.iocoder.yudao.module.datacenter.controller.app.asset.vo.Heartbeat; +import cn.iocoder.yudao.module.datacenter.controller.app.asset.vo.PassengerInformation; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import javax.annotation.Resource; + +@Service +@Validated +public class HeartBeatServiceImpl implements HeartBeatService { + @Resource + private HeartBeatClientApi heartBeatClientApi; + + @Override + public CommonResult receiveHeartbeat(Heartbeat heartbeat) { + return heartBeatClientApi.receiveHeartbeat(heartbeat); + } + + @Override + public CommonResult doPassengerInformation(PassengerInformation passengerInformation) { + return heartBeatClientApi.doPassengerInformation(passengerInformation); + } +}