飞滴出行网约车2022-乘客服务调用乘客用户服务获取对应手机号的用户信息,以及数据库信息补全

master
yh 3 years ago
parent 81f3804527
commit 929caaf234

@ -0,0 +1,27 @@
package com.mashibing.apipassenger.controller;
import com.mashibing.apipassenger.service.UserService;
import com.mashibing.internalcommon.dto.ResponseResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
@RestController
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/users")
public ResponseResult getUsers(HttpServletRequest request){
// 从http请求中获取 accessToken
String accessToken = request.getHeader("Authorization");
return userService.getUserByAccessToken(accessToken);
}
}

@ -0,0 +1,35 @@
package com.mashibing.apipassenger.service;
import com.mashibing.internalcommon.constant.CommonStatusEnum;
import com.mashibing.internalcommon.dto.PassengerUser;
import com.mashibing.internalcommon.dto.ResponseResult;
import com.mashibing.internalcommon.dto.TokenResult;
import com.mashibing.internalcommon.util.JwtUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@Service
@Slf4j
public class UserService {
public ResponseResult getUserByAccessToken(String accessToken){
log.info("accessToken = "+accessToken);
// 根据传入 accessToken 解析出用户手机号
TokenResult tokenResult = JwtUtils.checkToken(accessToken);
if(tokenResult == null){
return ResponseResult.fail(CommonStatusEnum.FAIL.getCode(),CommonStatusEnum.FAIL.getValue());
}
String phone = tokenResult.getPhone();
// 根据手机号 查询用户信息
PassengerUser passengerUser = new PassengerUser();
return ResponseResult.success(passengerUser);
}
}

@ -21,6 +21,10 @@ public enum CommonStatusEnum {
*/ */
,TOKEN_ERROR(1199,"token错误") ,TOKEN_ERROR(1199,"token错误")
/**
*1200-1299
*/
,USER_NOT_EXISTS(1200,"当前用户不存在")
; ;

@ -0,0 +1,23 @@
package com.mashibing.internalcommon.dto;
import lombok.Data;
import java.time.LocalDateTime;
@Data
public class PassengerUser {
private Long id;
private String passengerName;
private String passengerPhone;
// 0:女 1:男
private Byte passengerGender;
// 0:有效1:失效
private Byte state;
private LocalDateTime gmtCreate;
private LocalDateTime gmtModified;
private String profilePhoto;
}

@ -1,9 +1,11 @@
package com.mashibing.servicepassengeruser.controller; package com.mashibing.servicepassengeruser.controller;
import com.mashibing.internalcommon.dto.PassengerUser;
import com.mashibing.internalcommon.dto.ResponseResult; import com.mashibing.internalcommon.dto.ResponseResult;
import com.mashibing.internalcommon.request.VerificationCodeDTO; import com.mashibing.internalcommon.request.VerificationCodeDTO;
import com.mashibing.servicepassengeruser.service.UserService; import com.mashibing.servicepassengeruser.service.UserService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
@ -16,14 +18,15 @@ public class UserController {
@PostMapping("/user") @PostMapping("/user")
public ResponseResult loginOrReg(@RequestBody VerificationCodeDTO verificationCodeDTO){ public ResponseResult loginOrReg(@RequestBody VerificationCodeDTO verificationCodeDTO){
String passengerPhone = verificationCodeDTO.getPassengerPhone(); String passengerPhone = verificationCodeDTO.getPassengerPhone();
System.out.println("手机号:"+passengerPhone); return service.loginOrRegister(passengerPhone);
}
// 调用接口实现
service.loginOrRegister(passengerPhone);
return ResponseResult.success(""); @GetMapping("/user")
public ResponseResult getUser(@RequestBody VerificationCodeDTO verificationCodeDTO) {
String passengerPhone = verificationCodeDTO.getPassengerPhone();
return service.getUsers(passengerPhone);
} }
} }

@ -1,23 +0,0 @@
package com.mashibing.servicepassengeruser.dto;
import lombok.Data;
import org.springframework.stereotype.Component;
import java.time.LocalDateTime;
@Data
@Component
public class PassengerUser {
private Long id;
private String passenger_name;
private String passenger_phone;
// 0:女 1:男
private Byte passenger_gender;
// 0:有效1:失效
private Byte state;
private LocalDateTime gmt_create;
private LocalDateTime gmt_modified;
}

@ -1,9 +1,8 @@
package com.mashibing.servicepassengeruser.mapper; package com.mashibing.servicepassengeruser.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mashibing.servicepassengeruser.dto.PassengerUser; import com.mashibing.internalcommon.dto.PassengerUser;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import org.springframework.stereotype.Service;
@Repository @Repository
public interface PassengerUserMapper extends BaseMapper<PassengerUser> { public interface PassengerUserMapper extends BaseMapper<PassengerUser> {

@ -1,7 +1,8 @@
package com.mashibing.servicepassengeruser.service; package com.mashibing.servicepassengeruser.service;
import com.mashibing.internalcommon.constant.CommonStatusEnum;
import com.mashibing.internalcommon.dto.ResponseResult; import com.mashibing.internalcommon.dto.ResponseResult;
import com.mashibing.servicepassengeruser.dto.PassengerUser; import com.mashibing.internalcommon.dto.PassengerUser;
import com.mashibing.servicepassengeruser.mapper.PassengerUserMapper; import com.mashibing.servicepassengeruser.mapper.PassengerUserMapper;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -19,27 +20,45 @@ public class UserService {
public ResponseResult loginOrRegister(String passengerPhone){ public ResponseResult loginOrRegister(String passengerPhone){
System.out.println("user service 被调用,手机号码为:"+passengerPhone);
//根据手机号 校验 用户信息 是否存在 //根据手机号 校验 用户信息 是否存在
Map<String,Object> map =new HashMap<>(); Map<String,Object> map =new HashMap<>();
map.put("passenger_phone",passengerPhone); map.put("passenger_phone",passengerPhone);
List<PassengerUser> passengerUserList = mapper.selectByMap(map); List<PassengerUser> passengerUserList = mapper.selectByMap(map);
// System.out.println(passengerUserList);
//如果不存在,插入用户信息 //如果不存在,插入用户信息
if(passengerUserList.size() == 0){ if(passengerUserList.size() == 0){
PassengerUser passengerUser = new PassengerUser(); PassengerUser passengerUser = new PassengerUser();
passengerUser.setPassenger_name("张三"); passengerUser.setPassengerName("张三");
passengerUser.setPassenger_phone(passengerPhone); passengerUser.setPassengerPhone(passengerPhone);
passengerUser.setPassenger_gender((byte)0); passengerUser.setPassengerGender((byte)0);
passengerUser.setState((byte)0); passengerUser.setState((byte)0);
passengerUser.setGmt_create(LocalDateTime.now()); passengerUser.setGmtCreate(LocalDateTime.now());
passengerUser.setGmt_modified(LocalDateTime.now()); passengerUser.setGmtModified(LocalDateTime.now());
int insertStatus = mapper.insert(passengerUser); int insertStatus = mapper.insert(passengerUser);
} }
return ResponseResult.success(); return ResponseResult.success();
} }
public ResponseResult getUsers(String passengerPhone) {
PassengerUser user = new PassengerUser();
//根据手机号 校验 用户信息 是否存在
Map<String,Object> map =new HashMap<>();
map.put("passenger_phone",passengerPhone);
List<PassengerUser> passengerUserList = mapper.selectByMap(map);
//如果不存在,插入用户信息
if(passengerUserList.size() == 0){
ResponseResult.fail(CommonStatusEnum.USER_NOT_EXISTS.getCode(),CommonStatusEnum.USER_NOT_EXISTS.getValue());
}else{
user = passengerUserList.get(0);
}
return ResponseResult.success(user);
}
} }

Loading…
Cancel
Save