feat: 获取司机登录信息

This commit is contained in:
Bunny 2024-12-05 16:32:17 +08:00
parent d27746789e
commit 29f303b64d
7 changed files with 80 additions and 0 deletions

View File

@ -1,6 +1,7 @@
package com.atguigu.daijia.driver.client; package com.atguigu.daijia.driver.client;
import com.atguigu.daijia.common.result.Result; import com.atguigu.daijia.common.result.Result;
import com.atguigu.daijia.model.vo.driver.DriverLoginVo;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PathVariable;
@ -11,4 +12,8 @@ public interface DriverInfoFeignClient {
// 小程序司机登录 // 小程序司机登录
@GetMapping("/driver/info/login/{code}") @GetMapping("/driver/info/login/{code}")
Result<Long> login(@PathVariable("code") String code); Result<Long> login(@PathVariable("code") String code);
// 获取司机登录信息
@GetMapping("/driver/info/getDriverLoginInfo/{driverId}")
Result<DriverLoginVo> getDriverInfo(@PathVariable Long driverId);
} }

View File

@ -2,6 +2,7 @@ package com.atguigu.daijia.driver.controller;
import com.atguigu.daijia.common.result.Result; import com.atguigu.daijia.common.result.Result;
import com.atguigu.daijia.driver.service.DriverInfoService; import com.atguigu.daijia.driver.service.DriverInfoService;
import com.atguigu.daijia.model.vo.driver.DriverLoginVo;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -26,5 +27,12 @@ public class DriverInfoController {
Long vo = driverInfoService.login(code); Long vo = driverInfoService.login(code);
return Result.ok(vo); return Result.ok(vo);
} }
@Operation(summary = "获取司机登录信息")
@GetMapping("/getDriverLoginInfo/{driverId}")
public Result<DriverLoginVo> getDriverInfo(@PathVariable Long driverId) {
DriverLoginVo driverLoginVo = driverInfoService.getDriverInfo(driverId);
return Result.ok(driverLoginVo);
}
} }

View File

@ -1,6 +1,7 @@
package com.atguigu.daijia.driver.service; package com.atguigu.daijia.driver.service;
import com.atguigu.daijia.model.entity.driver.DriverInfo; import com.atguigu.daijia.model.entity.driver.DriverInfo;
import com.atguigu.daijia.model.vo.driver.DriverLoginVo;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
public interface DriverInfoService extends IService<DriverInfo> { public interface DriverInfoService extends IService<DriverInfo> {
@ -12,4 +13,12 @@ public interface DriverInfoService extends IService<DriverInfo> {
* @return openid * @return openid
*/ */
Long login(String code); Long login(String code);
/**
* 获取司机登录信息
*
* @param driverId 司机id
* @return 司机信息
*/
DriverLoginVo getDriverInfo(Long driverId);
} }

View File

@ -12,13 +12,16 @@ import com.atguigu.daijia.model.entity.driver.DriverAccount;
import com.atguigu.daijia.model.entity.driver.DriverInfo; import com.atguigu.daijia.model.entity.driver.DriverInfo;
import com.atguigu.daijia.model.entity.driver.DriverLoginLog; import com.atguigu.daijia.model.entity.driver.DriverLoginLog;
import com.atguigu.daijia.model.entity.driver.DriverSet; import com.atguigu.daijia.model.entity.driver.DriverSet;
import com.atguigu.daijia.model.vo.driver.DriverLoginVo;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import me.chanjar.weixin.common.error.WxErrorException; import me.chanjar.weixin.common.error.WxErrorException;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils;
import java.math.BigDecimal; import java.math.BigDecimal;
@ -87,4 +90,27 @@ public class DriverInfoServiceImpl extends ServiceImpl<DriverInfoMapper, DriverI
throw new RuntimeException(e); throw new RuntimeException(e);
} }
} }
/**
* 获取司机登录信息
*
* @param driverId 司机id
* @return 司机信息
*/
@Override
public DriverLoginVo getDriverInfo(Long driverId) {
// 根据司机id查询司机信息
DriverInfo driverInfo = getById(driverId);
// 构建vo信息
DriverLoginVo driverLoginVo = new DriverLoginVo();
BeanUtils.copyProperties(driverInfo, driverLoginVo);
// 是否需要建档人脸识别
String faceModelId = driverInfo.getFaceModelId();
boolean isArchiveFace = StringUtils.hasText(faceModelId);
driverLoginVo.setIsArchiveFace(isArchiveFace);
return driverLoginVo;
}
} }

View File

@ -1,7 +1,9 @@
package com.atguigu.daijia.driver.controller; package com.atguigu.daijia.driver.controller;
import com.atguigu.daijia.common.login.GuiguLogin;
import com.atguigu.daijia.common.result.Result; import com.atguigu.daijia.common.result.Result;
import com.atguigu.daijia.driver.service.DriverService; import com.atguigu.daijia.driver.service.DriverService;
import com.atguigu.daijia.model.vo.driver.DriverLoginVo;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -26,5 +28,13 @@ public class DriverController {
String vo = driverService.login(code); String vo = driverService.login(code);
return Result.ok(vo); return Result.ok(vo);
} }
@Operation(summary = "获取司机登录信息")
@GetMapping("/getDriverLoginInfo")
@GuiguLogin
public Result<DriverLoginVo> getDriverInfo() {
DriverLoginVo driverLoginVo = driverService.getDriverInfo();
return Result.ok(driverLoginVo);
}
} }

View File

@ -1,5 +1,7 @@
package com.atguigu.daijia.driver.service; package com.atguigu.daijia.driver.service;
import com.atguigu.daijia.model.vo.driver.DriverLoginVo;
public interface DriverService { public interface DriverService {
/** /**
@ -9,4 +11,11 @@ public interface DriverService {
* @return openid * @return openid
*/ */
String login(String code); String login(String code);
/**
* 获取司机登录信息
*
* @return 司机信息
*/
DriverLoginVo getDriverInfo();
} }

View File

@ -2,8 +2,10 @@ package com.atguigu.daijia.driver.service.impl;
import com.atguigu.daijia.common.constant.RedisConstant; import com.atguigu.daijia.common.constant.RedisConstant;
import com.atguigu.daijia.common.result.Result; import com.atguigu.daijia.common.result.Result;
import com.atguigu.daijia.common.util.AuthContextHolder;
import com.atguigu.daijia.driver.client.DriverInfoFeignClient; import com.atguigu.daijia.driver.client.DriverInfoFeignClient;
import com.atguigu.daijia.driver.service.DriverService; import com.atguigu.daijia.driver.service.DriverService;
import com.atguigu.daijia.model.vo.driver.DriverLoginVo;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.RedisTemplate;
@ -41,4 +43,15 @@ public class DriverServiceImpl implements DriverService {
return token; return token;
} }
/**
* 获取司机登录信息
*
* @return 司机信息
*/
@Override
public DriverLoginVo getDriverInfo() {
Long userId = AuthContextHolder.getUserId();
return driverInfoFeignClient.getDriverInfo(userId).getData();
}
} }