Compare commits
1 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
2f62eebfc1 |
@ -0,0 +1,23 @@
|
||||
package cn.iocoder.yudao.module.ticket.api.assetLoginLog;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.module.ticket.api.assetLoginLog.vo.LoginBody;
|
||||
import cn.iocoder.yudao.module.ticket.enums.ApiConstants;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
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;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@FeignClient(name = ApiConstants.NAME)
|
||||
@Tag(name = "登陆日志")
|
||||
public interface AssetLoginLogApi {
|
||||
String PREFIX = ApiConstants.PREFIX + "/assetLoginLog";
|
||||
@PostMapping(PREFIX + "/login")
|
||||
@Operation(summary = "设备登陆")
|
||||
public CommonResult login(@RequestBody LoginBody loginBody);
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
package cn.iocoder.yudao.module.ticket.api.assetLoginLog.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class LoginBody {
|
||||
//设备id
|
||||
private String deviceId;
|
||||
//识别码
|
||||
private String identificationCode;
|
||||
}
|
@ -0,0 +1,24 @@
|
||||
package cn.iocoder.yudao.module.ticket.api.heartbeat;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.module.ticket.api.heartbeat.vo.Heartbeat;
|
||||
import cn.iocoder.yudao.module.ticket.api.heartbeat.vo.PassengerInformation;
|
||||
import cn.iocoder.yudao.module.ticket.enums.ApiConstants;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
@FeignClient(name = ApiConstants.NAME)
|
||||
@Tag(name = "设备状态")
|
||||
public interface HeartBeatApi {
|
||||
String PREFIX = ApiConstants.PREFIX + "/heartbeat";
|
||||
@PostMapping(PREFIX)
|
||||
@Operation(summary = "设备状态上报")
|
||||
public CommonResult<String> receiveHeartbeat(@RequestBody Heartbeat heartbeat);
|
||||
|
||||
@PostMapping(PREFIX + "/doPassengerInformation")
|
||||
@Operation(summary = "旅客信息上报")
|
||||
public CommonResult<String> doPassengerInformation(@RequestBody PassengerInformation passengerInformation);
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
package cn.iocoder.yudao.module.ticket.api.heartbeat.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class Heartbeat {
|
||||
//设备ID
|
||||
private String deviceId;
|
||||
//事件类型(1.设备上线 -1.故障发生 0.设备离线)
|
||||
private String eventType;
|
||||
}
|
@ -0,0 +1,17 @@
|
||||
package cn.iocoder.yudao.module.ticket.api.heartbeat.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class PassengerInformation {
|
||||
//编号
|
||||
private String id;
|
||||
//设备id
|
||||
private String deviceId;
|
||||
//旅客姓名
|
||||
private String name;
|
||||
//旅客身份证
|
||||
private String idCard;
|
||||
//提交时间
|
||||
private String commitTime;
|
||||
}
|
@ -0,0 +1,27 @@
|
||||
package cn.iocoder.yudao.module.ticket.api.assetLoginLog;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.module.ticket.api.assetLoginLog.vo.LoginBody;
|
||||
import cn.iocoder.yudao.module.ticket.service.login.LoginService;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||
|
||||
@RestController // 提供 RESTful API 接口,给 Feign 调用
|
||||
@Validated
|
||||
public class AssetLoginLogApiImpl implements AssetLoginLogApi {
|
||||
@Resource
|
||||
private LoginService loginService;
|
||||
|
||||
@Override
|
||||
public CommonResult login(LoginBody loginBody) {
|
||||
System.out.println("loginBody======" + loginBody);
|
||||
cn.iocoder.yudao.module.ticket.controller.admin.login.domain.LoginBody loginBody1 = new cn.iocoder.yudao.module.ticket.controller.admin.login.domain.LoginBody();
|
||||
loginBody1.setDeviceId(loginBody.getDeviceId());
|
||||
loginBody1.setIdentificationCode(loginBody.getIdentificationCode());
|
||||
return loginService.login(loginBody1);
|
||||
}
|
||||
}
|
@ -0,0 +1,39 @@
|
||||
package cn.iocoder.yudao.module.ticket.api.assetLoginLog.vo;
|
||||
|
||||
import lombok.*;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||
import org.springframework.data.mongodb.core.mapping.Document;
|
||||
|
||||
/**
|
||||
* 设备登录日志 DO
|
||||
*
|
||||
* @author 管理员
|
||||
*/
|
||||
@Document("loginLog")
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class AssetLoginLogVO{
|
||||
//编号
|
||||
private String id;
|
||||
//登录时间
|
||||
private String loginTime;
|
||||
//设备id
|
||||
private String deviceId;
|
||||
//设备类型
|
||||
private String assetType;
|
||||
//设备名称
|
||||
private String assetName;
|
||||
//识别码
|
||||
private String identificationCode;
|
||||
//登录状态
|
||||
private String status;
|
||||
//登录状态备注
|
||||
private String loginRemark;
|
||||
//登录参数
|
||||
private String loginParameter;
|
||||
}
|
@ -0,0 +1,36 @@
|
||||
package cn.iocoder.yudao.module.ticket.api.heartbeat;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.module.ticket.api.heartbeat.vo.Heartbeat;
|
||||
import cn.iocoder.yudao.module.ticket.api.heartbeat.vo.PassengerInformation;
|
||||
import cn.iocoder.yudao.module.ticket.service.heartbeat.HeartbeatService;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
@RestController // 提供 RESTful API 接口,给 Feign 调用
|
||||
@Validated
|
||||
public class HeartBeatApiImpl implements HeartBeatApi{
|
||||
@Resource
|
||||
private HeartbeatService heartBeatService;
|
||||
|
||||
@Override
|
||||
public CommonResult<String> receiveHeartbeat(Heartbeat heartbeat) {
|
||||
cn.iocoder.yudao.module.ticket.controller.admin.heartbeat.domain.Heartbeat heartbeat1 = new cn.iocoder.yudao.module.ticket.controller.admin.heartbeat.domain.Heartbeat();
|
||||
heartbeat1.setDeviceId(heartbeat.getDeviceId());
|
||||
heartbeat1.setEventType(heartbeat.getEventType());
|
||||
return heartBeatService.receiveHeartbeat(heartbeat1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CommonResult<String> doPassengerInformation(PassengerInformation passengerInformation) {
|
||||
cn.iocoder.yudao.module.ticket.controller.admin.heartbeat.domain.PassengerInformation passengerInformation1 = new cn.iocoder.yudao.module.ticket.controller.admin.heartbeat.domain.PassengerInformation();
|
||||
passengerInformation1.setId(passengerInformation.getId());
|
||||
passengerInformation1.setName(passengerInformation.getName());
|
||||
passengerInformation1.setCommitTime(passengerInformation.getCommitTime());
|
||||
passengerInformation1.setIdCard(passengerInformation.getIdCard());
|
||||
passengerInformation1.setDeviceId(passengerInformation.getDeviceId());
|
||||
return heartBeatService.doPassengerInformation(passengerInformation1);
|
||||
}
|
||||
}
|
@ -0,0 +1,27 @@
|
||||
package cn.iocoder.yudao.module.ticket.api.heartbeat.vo;
|
||||
|
||||
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||
import com.baomidou.mybatisplus.annotation.KeySequence;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.*;
|
||||
import org.springframework.data.mongodb.core.mapping.Document;
|
||||
|
||||
/**
|
||||
* 设备 DO
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
@Document("asset")
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class AssetVO {
|
||||
private String id;
|
||||
private String dataId;
|
||||
private String assetname;
|
||||
private String assettype;
|
||||
private String assettypename;
|
||||
private String isOnline;
|
||||
private long lastFeedbackTime;
|
||||
}
|
@ -0,0 +1,28 @@
|
||||
package cn.iocoder.yudao.module.ticket.controller.admin.heartbeat;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.module.ticket.controller.admin.heartbeat.domain.Heartbeat;
|
||||
import cn.iocoder.yudao.module.ticket.controller.admin.heartbeat.domain.PassengerInformation;
|
||||
import cn.iocoder.yudao.module.ticket.service.heartbeat.HeartbeatService;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/heart")
|
||||
public class HeartbeatController {
|
||||
@Resource
|
||||
private HeartbeatService heartbeatService;
|
||||
@PostMapping
|
||||
public CommonResult<String> receiveHeartbeat(@RequestBody Heartbeat heartbeat) {
|
||||
return heartbeatService.receiveHeartbeat(heartbeat);
|
||||
}
|
||||
|
||||
@PostMapping("/doPassengerInformation")
|
||||
public CommonResult<String> doPassengerInformation(@RequestBody PassengerInformation passengerInformation){
|
||||
return heartbeatService.doPassengerInformation(passengerInformation);
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
package cn.iocoder.yudao.module.ticket.controller.admin.heartbeat.domain;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class Heartbeat {
|
||||
//设备ID
|
||||
private String deviceId;
|
||||
//事件类型(1.设备上线 -1.故障发生 0.设备离线)
|
||||
private String eventType;
|
||||
}
|
@ -0,0 +1,22 @@
|
||||
package cn.iocoder.yudao.module.ticket.controller.admin.heartbeat.domain;
|
||||
|
||||
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<Map<String, Object>> dataMapList;
|
||||
private String loginTime;
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
package cn.iocoder.yudao.module.ticket.controller.admin.heartbeat.domain;
|
||||
|
||||
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;
|
||||
}
|
@ -0,0 +1,42 @@
|
||||
package cn.iocoder.yudao.module.ticket.controller.admin.login;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.exception.ErrorCode;
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.module.ticket.controller.admin.login.domain.LoginBody;
|
||||
import cn.iocoder.yudao.module.ticket.controller.admin.login.domain.LoginResult;
|
||||
import cn.iocoder.yudao.module.ticket.dal.dataobject.asset.AssetDO;
|
||||
import cn.iocoder.yudao.module.ticket.dal.dataobject.assetLoginLog.AssetLoginLogDO;
|
||||
import cn.iocoder.yudao.module.ticket.dal.mongodb.login.LoginRepository;
|
||||
import cn.iocoder.yudao.module.ticket.dal.mongodb.login.SysuserRepository;
|
||||
import cn.iocoder.yudao.module.ticket.service.login.LoginService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.util.ObjectUtils;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
@RestController
|
||||
public class LoginController {
|
||||
// @Autowired
|
||||
// private SysuserRepository sysuserRepository;
|
||||
// @Autowired
|
||||
// private JwtUtils jwtUtils;
|
||||
// @Autowired
|
||||
// private LoginRepository loginRepository;
|
||||
|
||||
@Resource
|
||||
private LoginService loginService;
|
||||
|
||||
@PostMapping("/login")
|
||||
public CommonResult login(@RequestBody LoginBody loginBody) {
|
||||
return loginService.login(loginBody);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
package cn.iocoder.yudao.module.ticket.controller.admin.login.domain;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class LoginBody {
|
||||
//设备id
|
||||
private String deviceId;
|
||||
//识别码
|
||||
private String identificationCode;
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
package cn.iocoder.yudao.module.ticket.controller.admin.login.domain;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class LoginResult {
|
||||
// private String userId;
|
||||
// private String username;
|
||||
private String token;
|
||||
// private String userType;
|
||||
}
|
@ -0,0 +1,16 @@
|
||||
package cn.iocoder.yudao.module.ticket.dal.mongodb.heartbeat;
|
||||
|
||||
|
||||
import cn.iocoder.yudao.module.ticket.api.heartbeat.vo.AssetVO;
|
||||
import cn.iocoder.yudao.module.ticket.dal.dataobject.asset.AssetDO;
|
||||
import org.springframework.data.mongodb.repository.MongoRepository;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.util.List;
|
||||
@Repository
|
||||
public interface AssetRepository extends MongoRepository<AssetVO,String> {
|
||||
|
||||
List<AssetVO>findAllByAssettypename(String assettypename);
|
||||
AssetVO findByDataId(String dataId);
|
||||
List<AssetVO> findAllByIsOnline(String online);
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
package cn.iocoder.yudao.module.ticket.dal.mongodb.heartbeat;
|
||||
|
||||
|
||||
import cn.iocoder.yudao.module.ticket.controller.admin.heartbeat.domain.HeartbeatLog;
|
||||
import org.springframework.data.mongodb.repository.MongoRepository;
|
||||
|
||||
public interface HeartbeatLogRepository extends MongoRepository<HeartbeatLog,String> {
|
||||
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
package cn.iocoder.yudao.module.ticket.dal.mongodb.heartbeat;
|
||||
|
||||
import cn.iocoder.yudao.module.ticket.controller.admin.heartbeat.domain.PassengerInformation;
|
||||
import org.springframework.data.mongodb.repository.MongoRepository;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
@Repository
|
||||
public interface PassengerInformationRepository extends MongoRepository<PassengerInformation,String> {
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
package cn.iocoder.yudao.module.ticket.dal.mongodb.login;
|
||||
|
||||
import cn.iocoder.yudao.module.ticket.api.assetLoginLog.vo.AssetLoginLogVO;
|
||||
import org.springframework.data.mongodb.repository.MongoRepository;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
@Repository
|
||||
public interface LoginRepository extends MongoRepository<AssetLoginLogVO, String> {
|
||||
}
|
@ -0,0 +1,17 @@
|
||||
package cn.iocoder.yudao.module.ticket.dal.mongodb.login;
|
||||
|
||||
|
||||
//import com.example.loginModel.domain.Sysuser;
|
||||
import cn.iocoder.yudao.module.ticket.api.heartbeat.vo.AssetVO;
|
||||
import cn.iocoder.yudao.module.ticket.dal.dataobject.asset.AssetDO;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.PageRequest;
|
||||
import org.springframework.data.mongodb.repository.MongoRepository;
|
||||
import org.springframework.data.mongodb.repository.Query;
|
||||
|
||||
public interface SysuserRepository extends MongoRepository<AssetVO,String> {
|
||||
@Query("{'dataId': {'$regex': '?0', '$options': 'i'}}")
|
||||
Page<AssetVO> findByName(String q, PageRequest pageable);
|
||||
|
||||
AssetVO findSysuserByDataId(String dataId);
|
||||
}
|
@ -0,0 +1,10 @@
|
||||
package cn.iocoder.yudao.module.ticket.service.heartbeat;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.module.ticket.controller.admin.heartbeat.domain.Heartbeat;
|
||||
import cn.iocoder.yudao.module.ticket.controller.admin.heartbeat.domain.PassengerInformation;
|
||||
|
||||
public interface HeartbeatService {
|
||||
public CommonResult<String> receiveHeartbeat(Heartbeat heartbeat);
|
||||
public CommonResult<String> doPassengerInformation(PassengerInformation passengerInformation);
|
||||
}
|
@ -0,0 +1,95 @@
|
||||
package cn.iocoder.yudao.module.ticket.service.heartbeat;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.exception.ErrorCode;
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.module.ticket.api.heartbeat.vo.AssetVO;
|
||||
import cn.iocoder.yudao.module.ticket.controller.admin.heartbeat.domain.Heartbeat;
|
||||
import cn.iocoder.yudao.module.ticket.controller.admin.heartbeat.domain.HeartbeatLog;
|
||||
import cn.iocoder.yudao.module.ticket.controller.admin.heartbeat.domain.PassengerInformation;
|
||||
import cn.iocoder.yudao.module.ticket.dal.dataobject.asset.AssetDO;
|
||||
import cn.iocoder.yudao.module.ticket.dal.mongodb.heartbeat.AssetRepository;
|
||||
import cn.iocoder.yudao.module.ticket.dal.mongodb.heartbeat.HeartbeatLogRepository;
|
||||
import cn.iocoder.yudao.module.ticket.dal.mongodb.heartbeat.PassengerInformationRepository;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.mongodb.core.MongoTemplate;
|
||||
import org.springframework.data.mongodb.core.query.Criteria;
|
||||
import org.springframework.data.mongodb.core.query.Query;
|
||||
import org.springframework.data.mongodb.core.query.Update;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
|
||||
@Service
|
||||
@Validated
|
||||
public class HeartbeatServiceImpl implements HeartbeatService {
|
||||
@Autowired
|
||||
private MongoTemplate mongoTemplate;
|
||||
@Autowired
|
||||
private HeartbeatLogRepository heartbeatLogRepository;
|
||||
@Autowired
|
||||
private AssetRepository assetRepository;
|
||||
@Autowired
|
||||
private PassengerInformationRepository passengerInformationRepository;
|
||||
|
||||
public void update(String id, String isonline) {
|
||||
Query query = new Query(Criteria.where("dataId").is(id));
|
||||
Update update = new Update().set("isOnline", isonline);
|
||||
mongoTemplate.updateFirst(query, update, AssetDO.class);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public CommonResult<String> receiveHeartbeat(@RequestBody Heartbeat heartbeat) {
|
||||
AssetVO asset = assetRepository.findByDataId(heartbeat.getDeviceId());
|
||||
HeartbeatLog heartbeatLog=new HeartbeatLog();
|
||||
heartbeatLog.setDataId(asset.getDataId());
|
||||
heartbeatLog.setAssetname(asset.getAssetname());
|
||||
heartbeatLog.setAssettype(asset.getAssettype());
|
||||
heartbeatLog.setAssettypename(asset.getAssettypename());
|
||||
if(heartbeat.getEventType().equals("1")){
|
||||
long currentTimeMillis = System.currentTimeMillis();
|
||||
//
|
||||
heartbeatLog.setLastFeedbackTime(currentTimeMillis);
|
||||
heartbeatLog.setRequesttext(heartbeat.toString());
|
||||
heartbeatLog.setReturntext(CommonResult.success("收到").toString());
|
||||
//更新mongodb的数据
|
||||
heartbeatLogRepository.save(heartbeatLog);
|
||||
}
|
||||
else if(heartbeat.getEventType().equals("-1")){
|
||||
heartbeatLog.setLastFeedbackTime(System.currentTimeMillis());
|
||||
heartbeatLog.setRequesttext(heartbeat.toString());
|
||||
heartbeatLog.setReturntext(CommonResult.error(new ErrorCode(999910,"设备异常")).toString());
|
||||
heartbeatLogRepository.save(heartbeatLog);
|
||||
update(heartbeat.getDeviceId(),"0");
|
||||
return CommonResult.error(new ErrorCode(999910,"设备异常"));
|
||||
}else if(heartbeat.getEventType().equals("0")){
|
||||
heartbeatLog.setLastFeedbackTime(System.currentTimeMillis());
|
||||
heartbeatLog.setRequesttext(heartbeat.toString());
|
||||
heartbeatLog.setReturntext(CommonResult.error(new ErrorCode(999911,"设备下线")).toString());
|
||||
heartbeatLogRepository.save(heartbeatLog);
|
||||
update(heartbeat.getDeviceId(),"0");
|
||||
return CommonResult.error(new ErrorCode(999911,"设备下线"));
|
||||
}else {
|
||||
heartbeatLog.setLastFeedbackTime(System.currentTimeMillis());
|
||||
heartbeatLog.setRequesttext(heartbeat.toString());
|
||||
heartbeatLog.setReturntext(CommonResult.error(new ErrorCode(999912,"未知异常")).toString());
|
||||
heartbeatLogRepository.save(heartbeatLog);
|
||||
update(heartbeat.getDeviceId(),"0");
|
||||
return CommonResult.error(new ErrorCode(999912,"未知异常"));
|
||||
}
|
||||
update(heartbeat.getDeviceId(),"1");
|
||||
return CommonResult.success("收到");
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public CommonResult<String> doPassengerInformation(@RequestBody PassengerInformation passengerInformation){
|
||||
System.out.println(passengerInformation);
|
||||
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
passengerInformation.setCommitTime(simpleDateFormat.format(System.currentTimeMillis()));
|
||||
passengerInformationRepository.save(passengerInformation);
|
||||
return CommonResult.success("true");
|
||||
}
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
package cn.iocoder.yudao.module.ticket.service.login;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.module.ticket.controller.admin.login.domain.LoginBody;
|
||||
import cn.iocoder.yudao.module.ticket.controller.admin.login.domain.LoginResult;
|
||||
|
||||
public interface LoginService {
|
||||
CommonResult login(LoginBody loginBody);
|
||||
}
|
@ -0,0 +1,77 @@
|
||||
package cn.iocoder.yudao.module.ticket.service.login;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.exception.ErrorCode;
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.module.ticket.api.assetLoginLog.vo.AssetLoginLogVO;
|
||||
import cn.iocoder.yudao.module.ticket.api.heartbeat.vo.AssetVO;
|
||||
import cn.iocoder.yudao.module.ticket.controller.admin.login.domain.LoginBody;
|
||||
import cn.iocoder.yudao.module.ticket.controller.admin.login.domain.LoginResult;
|
||||
import cn.iocoder.yudao.module.ticket.dal.dataobject.asset.AssetDO;
|
||||
import cn.iocoder.yudao.module.ticket.dal.mongodb.login.LoginRepository;
|
||||
import cn.iocoder.yudao.module.ticket.dal.mongodb.login.SysuserRepository;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.ObjectUtils;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
@Service
|
||||
@Validated
|
||||
public class LoginServiceImpl implements LoginService {
|
||||
@Autowired
|
||||
private SysuserRepository sysuserRepository;
|
||||
// @Autowired
|
||||
// private JwtUtils jwtUtils;
|
||||
@Autowired
|
||||
private LoginRepository loginRepository;
|
||||
|
||||
@Override
|
||||
public CommonResult login(LoginBody loginBody) {
|
||||
System.out.println(loginBody);
|
||||
AssetLoginLogVO loginLog = new AssetLoginLogVO();
|
||||
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
loginLog.setLoginTime(dateFormat.format(System.currentTimeMillis()));
|
||||
loginLog.setDeviceId(loginBody.getDeviceId());
|
||||
loginLog.setIdentificationCode(loginBody.getIdentificationCode());
|
||||
loginLog.setLoginParameter(loginBody.toString());
|
||||
if (ObjectUtils.isEmpty(loginBody.getDeviceId()) || ObjectUtils.isEmpty(loginBody.getIdentificationCode())) {
|
||||
loginLog.setStatus("0");
|
||||
loginLog.setLoginRemark("登录失败,设备id、识别码为空");
|
||||
loginRepository.save(loginLog);
|
||||
return CommonResult.error(new ErrorCode(999900,"设备id、识别码不能为空"));
|
||||
}
|
||||
AssetVO sysuser = sysuserRepository.findSysuserByDataId(loginBody.getDeviceId());
|
||||
if (sysuser != null){
|
||||
loginLog.setAssetType(sysuser.getAssettype());
|
||||
loginLog.setAssetName(sysuser.getAssetname());
|
||||
}
|
||||
if(sysuser==null || !sysuser.getDataId().equals(loginBody.getDeviceId())){
|
||||
loginLog.setStatus("0");
|
||||
loginLog.setLoginRemark("登录失败,设备不存在");
|
||||
loginRepository.save(loginLog);
|
||||
return CommonResult.error(new ErrorCode(999901,"设备不存在!"));
|
||||
}
|
||||
if(!loginBody.getIdentificationCode().equals("zy_alike")){
|
||||
loginLog.setStatus("0");
|
||||
loginLog.setLoginRemark("登录失败,识别码错误");
|
||||
loginRepository.save(loginLog);
|
||||
return CommonResult.error(new ErrorCode(999902,"识别码错误!"));
|
||||
}
|
||||
Map<String, String> map = new HashMap<>();
|
||||
map.put("deviceId", sysuser.getDataId());
|
||||
map.put("identificationCode", loginBody.getIdentificationCode());
|
||||
//返回登录成功信息
|
||||
LoginResult result = new LoginResult();
|
||||
// result.setUserId(sysuser.getId());
|
||||
// result.setUsername(sysuser.getUsername());
|
||||
// result.setToken(JWTUtil.sign(map));
|
||||
loginLog.setStatus("1");
|
||||
loginLog.setLoginRemark("登录成功");
|
||||
loginRepository.save(loginLog);
|
||||
return CommonResult.success(result);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user