| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- package anyi.space.memberConsumer.service.impl;
- import anyi.sapce.common.entity.Member;
- import anyi.sapce.common.entity.ResponseResult;
- import anyi.space.memberConsumer.service.MemberService;
- import com.fasterxml.jackson.core.JsonProcessingException;
- import com.fasterxml.jackson.databind.ObjectMapper;
- import lombok.RequiredArgsConstructor;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.http.ResponseEntity;
- import org.springframework.stereotype.Service;
- import org.springframework.web.client.RestTemplate;
- import java.util.Map;
- /**
- * @ProjectName: distributedSystemLearn
- * @FileName: MemberServiceIml
- * @Author: 杨逸
- * @Data:2025/4/13 20:10
- * @Description:
- */
- @Slf4j
- @RequiredArgsConstructor
- @Service
- public class MemberServiceIml implements MemberService {
- private final RestTemplate restTemplate;
- private final ObjectMapper objectMapper;
- private final static String MEMBER_SERVICE_URL = "http://member-service-provider";
- @Override
- public Member getById(Long id) {
- /**
- * 通过RestTemplate调用远程服务
- */
- ResponseEntity<ResponseResult> resultResponseEntity = restTemplate.getForEntity(MEMBER_SERVICE_URL + "/member-provider/member?id="+id, ResponseResult.class);
- try {
- log.info("远程调用服务返回结果:{}",objectMapper.writeValueAsString(resultResponseEntity.getBody()));
- } catch (JsonProcessingException e) {
- e.printStackTrace();
- }
- Object data = resultResponseEntity.getBody().getData();
- //映射请求结果
- Map map = (Map) data;
- Member member = new Member();
- id = Long.valueOf(map.get("id") + "");
- member.setId(id);
- member.setName((String) map.get("name"));
- member.setPwd((String) map.get("pwd"));
- member.setEmail((String) map.get("email"));
- member.setGender((int)map.get("gender"));
- return member;
- }
- @Override
- public boolean save(Member member) {
- //直接传递参数,是使用json的格式提交数据
- ResponseEntity<ResponseResult> responseResultResponseEntity = restTemplate.postForEntity(MEMBER_SERVICE_URL + "/member-provider/member", member, ResponseResult.class);
- //HttpEntity<String> stringHttpEntity = new HttpEntity<>();
- Object data = responseResultResponseEntity.getBody().getData();
- boolean flag = (boolean) data;
- return flag;
- }
- }
|