zhuyifan

refactor(service/client): 优化日志记录和错误处理

......@@ -6,6 +6,7 @@ import com.infoloop.tianting.config.BusinessConfig;
import com.infoloop.tianting.model.dto.ClientCustomerDbDTO.CurrentClientCustomerDto;
import com.infoloop.tianting.model.dto.ClientCustomerDbDTO.CurrentClientCustomerListDto;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import okhttp3.MediaType;
import okhttp3.OkHttpClient;
import okhttp3.Request;
......@@ -16,6 +17,7 @@ import org.springframework.stereotype.Service;
import java.util.List;
@Slf4j
@Service
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
public class ClientCustomerServiceHttpClient {
......@@ -40,14 +42,12 @@ public class ClientCustomerServiceHttpClient {
.post(body)
.addHeader("Authorization", token)
.build();
Response response = client.newCall(request).execute();
String jsonData = response.body().string();
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
return objectMapper.readValue(jsonData, CurrentClientCustomerListDto.class).getRows();
} catch (Exception e) {
System.out.println("error"+e.getMessage());
log.error("获取当日在住客户失败", e);
throw new IllegalArgumentException("获取当日在住客户失败");
}
}
......
......@@ -17,11 +17,9 @@ import com.infoloop.tianting.clientcustomerorderservice.CloseTimeType;
import com.infoloop.tianting.clientcustomerorderservice.CreateClientCustomerOrderRpcRequest;
import com.infoloop.tianting.clientcustomerorderservice.CreateClientCustomerOrderRpcResponse;
import com.infoloop.tianting.clientcustomerorderservice.CustomerNotice;
import com.infoloop.tianting.clientcustomerorderservice.GetClientCustomerOrderDetailByIdRpcRequest;
import com.infoloop.tianting.clientcustomerorderservice.GetClientCustomerOrderDetailsByIdsRpcRequest;
import com.infoloop.tianting.clientcustomerorderservice.GetClientCustomerOrderDetailsByOrderIdsRpcRequest;
import com.infoloop.tianting.clientcustomerorderservice.GetClientCustomerOrdersByCustomerIdRpcRequest;
import com.infoloop.tianting.clientcustomerorderservice.GetClientCustomerOrdersByCustomerIdRpcResponse;
import com.infoloop.tianting.clientcustomerorderservice.MealDetail;
import com.infoloop.tianting.clientcustomerorderservice.OrderOperationRecordCreation;
import com.infoloop.tianting.clientcustomerorderservice.OrderOperationType;
......@@ -38,7 +36,6 @@ import com.infoloop.tianting.clientcustomerorderservice.UpdateClientCustomerOrde
import com.infoloop.tianting.clientcustomerorderservice.UpdateClientCustomerOrderRpcResponse;
import com.infoloop.tianting.context.LoginContextHolder;
import com.infoloop.tianting.enums.OrderTypeEnum;
import com.infoloop.tianting.model.common.PageResult;
import com.infoloop.tianting.model.dto.OperationDTO.BatchOperationDto;
import com.infoloop.tianting.model.dto.OperationDTO.SingleOperationDto;
import com.infoloop.tianting.model.dto.OrderDbDTO.CreateOrderDetailDto;
......@@ -52,19 +49,19 @@ import com.infoloop.tianting.model.dto.OrderDbDTO.QueryOrderByConditionDto;
import com.infoloop.tianting.model.dto.OrderDbDTO.QueryOrderByPaginationDto;
import com.infoloop.tianting.model.dto.OrderDbDTO.UpdateOrderDto;
import com.infoloop.tianting.utils.DateUtil;
import io.swagger.models.auth.In;
import java.text.SimpleDateFormat;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.redisson.api.RedissonClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.LocalDate;
import java.time.ZoneOffset;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
import lombok.RequiredArgsConstructor;
import org.redisson.api.RedissonClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Slf4j
@Service
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
public class OrderServiceRpcClient {
......@@ -335,7 +332,7 @@ public class OrderServiceRpcClient {
try {
newDetailStr = objectMapper.writeValueAsString(List.of(newOrderDetailOperation));
} catch (JsonProcessingException e) {
System.out.println("orderDetail json 转换失败");
log.error("orderDetail json 转换失败");
}
}
try {
......@@ -349,7 +346,7 @@ public class OrderServiceRpcClient {
.build();
orgionalDetailStr = objectMapper.writeValueAsString(List.of(orgionalOrderDetailOperation));
} catch (JsonProcessingException e) {
System.out.println("orderDetail json 转换失败");
log.error("orderDetail json 转换失败");
}
final var operation = SingleOperationDto.builder()
.orderId(orgionalDetail.getOrderId())
......
......@@ -12,6 +12,7 @@ import com.infoloop.tianting.model.dto.PayDTO.ThirdPartyPayInformRequestDto;
import com.infoloop.tianting.utils.DateUtil;
import com.infoloop.tianting.utils.EncryptionUtil;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import okhttp3.MediaType;
import okhttp3.OkHttpClient;
import okhttp3.Request;
......@@ -22,6 +23,8 @@ import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
@Slf4j
@Service
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
public class PayServiceClient {
......@@ -35,9 +38,7 @@ public class PayServiceClient {
String url = businessConfig.getPayUrl();
String clientId = "Order0001";
ObjectMapper objectMapper = new ObjectMapper();
// objectMapper.configure(SerializationFeature.INDENT_OUTPUT, true);
objectMapper.setPropertyNamingStrategy(PropertyNamingStrategy.UPPER_CAMEL_CASE);
ThirdPartyPayInformRequestDto jsonData = new ThirdPartyPayInformRequestDto();
jsonData.setClientId(clientId);
jsonData.setTradeId(payRequestDto.getOrderId()); //payRequestDto.getOrderId()
......@@ -60,20 +61,21 @@ public class PayServiceClient {
.url(url)
.post(body)
.build();
log.info("payInform json:{}", jsonDataString);
Response payResponse = client.newCall(getPhoneRequest).execute();
if (payResponse.code() != 200) {
System.out.println(payResponse.message());
if (payResponse.code() != 200 || payResponse.body() == null) {
log.error("payInform response:{}", payResponse);
throw new IllegalArgumentException("支付通知失败");
}
String payJsonData = payResponse.body().string();
System.out.println("pay json:" + payJsonData);
log.info("pay json:{}", payJsonData);
ObjectMapper objectMapper2 = new ObjectMapper();
objectMapper2.configure(Feature.ALLOW_MISSING_VALUES, true);
objectMapper2.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
objectMapper2.configure(MapperFeature.ACCEPT_CASE_INSENSITIVE_VALUES, false);
return objectMapper2.readValue(payJsonData, PayResponseDto.class);
} catch (Exception e) {
System.out.println(e.getStackTrace().toString());
log.error("payInform error", e);
throw new IllegalArgumentException("支付通知失败");
}
}
......
......@@ -59,7 +59,6 @@ public class WxMiniProgramClient {
WxUserPhoneResponseDto wxUserPhoneResponseDto = objectMapper.readValue(phoneJsonData, WxUserPhoneResponseDto.class);
return wxUserPhoneResponseDto;
} catch (Exception e) {
System.out.println(e.getMessage());
throw new IllegalArgumentException("获取用户手机号失败");
}
}
......@@ -69,7 +68,6 @@ public class WxMiniProgramClient {
String url = "https://api.weixin.qq.com/sns/jscode2session" +
"?appid=" + appId + "&secret=" + appSecret + "&js_code=" + code + "&grant_type=authorization_code";
System.out.println("url:" +url);
Request request = new Request.Builder()
.url(url)
.build();
......@@ -79,7 +77,6 @@ public class WxMiniProgramClient {
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
return objectMapper.readValue(jsonData, WxUserOpenIdDto.class);
} catch (Exception e) {
System.out.println("error"+e.getMessage());
throw new IllegalArgumentException("获取用户openid失败");
}
}
......