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;
import com.atguigu.daijia.common.result.Result;
import com.atguigu.daijia.model.vo.driver.DriverLoginVo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
@ -11,4 +12,8 @@ public interface DriverInfoFeignClient {
// 小程序司机登录
@GetMapping("/driver/info/login/{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.driver.service.DriverInfoService;
import com.atguigu.daijia.model.vo.driver.DriverLoginVo;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.slf4j.Slf4j;
@ -26,5 +27,12 @@ public class DriverInfoController {
Long vo = driverInfoService.login(code);
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;
import com.atguigu.daijia.model.entity.driver.DriverInfo;
import com.atguigu.daijia.model.vo.driver.DriverLoginVo;
import com.baomidou.mybatisplus.extension.service.IService;
public interface DriverInfoService extends IService<DriverInfo> {
@ -12,4 +13,12 @@ public interface DriverInfoService extends IService<DriverInfo> {
* @return openid
*/
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.DriverLoginLog;
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.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j;
import me.chanjar.weixin.common.error.WxErrorException;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils;
import java.math.BigDecimal;
@ -87,4 +90,27 @@ public class DriverInfoServiceImpl extends ServiceImpl<DriverInfoMapper, DriverI
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;
import com.atguigu.daijia.common.login.GuiguLogin;
import com.atguigu.daijia.common.result.Result;
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.tags.Tag;
import lombok.extern.slf4j.Slf4j;
@ -26,5 +28,13 @@ public class DriverController {
String vo = driverService.login(code);
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;
import com.atguigu.daijia.model.vo.driver.DriverLoginVo;
public interface DriverService {
/**
@ -9,4 +11,11 @@ public interface DriverService {
* @return openid
*/
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.result.Result;
import com.atguigu.daijia.common.util.AuthContextHolder;
import com.atguigu.daijia.driver.client.DriverInfoFeignClient;
import com.atguigu.daijia.driver.service.DriverService;
import com.atguigu.daijia.model.vo.driver.DriverLoginVo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
@ -41,4 +43,15 @@ public class DriverServiceImpl implements DriverService {
return token;
}
/**
* 获取司机登录信息
*
* @return 司机信息
*/
@Override
public DriverLoginVo getDriverInfo() {
Long userId = AuthContextHolder.getUserId();
return driverInfoFeignClient.getDriverInfo(userId).getData();
}
}