Browse Source

基础配置

master
张彭杰 1 year ago
parent
commit
6a2022d783
3 changed files with 53 additions and 1 deletions
  1. 6
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/paymentchannelorder/user/PaymentChannelOrderUserCommandController.java
  2. 4
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/paymentchannelorder/user/request/ThirdPartyField.java
  3. 44
      dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/utils/IPUtil.java

6
dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/paymentchannelorder/user/PaymentChannelOrderUserCommandController.java

@ -5,6 +5,7 @@ import com.qniao.dam.api.command.paymentchannelorder.user.request.PrePayThirdPar
import com.qniao.dam.api.command.paymentchannelorder.user.request.ThirdPartyField;
import com.qniao.dam.application.service.paymentchannelorder.PaymentChannelOrderApplicationService;
import com.qniao.dam.domain.aggregate.paymentchannelorder.entity.PaymentChannelOrder;
import com.qniao.dam.infrastructure.utils.IPUtil;
import com.qniao.framework.utils.ServletUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -12,6 +13,7 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;
@ -25,12 +27,14 @@ public class PaymentChannelOrderUserCommandController {
@ApiOperation("用户发起第三方预支付")
@PostMapping("/pre-pay/third-party")
public Map<String, String> prePayThirdParty(@RequestBody @Validated PrePayThirdPartyDto dto,
public Map<String, String> prePayThirdParty(HttpServletRequest request,
@RequestBody @Validated PrePayThirdPartyDto dto,
@RequestParam Long userId) {
Long appFrom = Long.valueOf(ServletUtils.getAppId());
PaymentChannelOrder paymentChannelOrder = dto.trans2Domain();
paymentChannelOrder.setAppId(Long.valueOf(ServletUtils.getAppId()));
List<ThirdPartyField> fieldList = ThirdPartyFieldAssembler.from(dto.getThirdPartyFields());
fieldList.add(new ThirdPartyField(ThirdPartyField.PAYER_CLIENT_IP, IPUtil.getIp(request)));
//todo 付款单状态判断 订单支付方式是否满足
return paymentChannelOrderApplicationService.prePay(paymentChannelOrder, fieldList, appFrom);
}

4
dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/paymentchannelorder/user/request/ThirdPartyField.java

@ -2,12 +2,16 @@ package com.qniao.dam.api.command.paymentchannelorder.user.request;
import cn.hutool.core.text.StrFormatter;
import com.qniao.framework.exception.BizException;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
import java.util.Objects;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ThirdPartyField {
private String key;

44
dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/utils/IPUtil.java

@ -0,0 +1,44 @@
package com.qniao.dam.infrastructure.utils;
import lombok.extern.slf4j.Slf4j;
import javax.servlet.http.HttpServletRequest;
import java.net.InetAddress;
import java.net.UnknownHostException;
@Slf4j
public class IPUtil {
private static final String UNKNOWN = "unknown";
/**
* 获取ip地址
*/
public static String getIp(HttpServletRequest request) {
String ip = request.getHeader("x-forwarded-for");
if (ip == null || ip.length() == 0 || UNKNOWN.equalsIgnoreCase(ip)) {
ip = request.getHeader("Proxy-Client-IP");
}
if (ip == null || ip.length() == 0 || UNKNOWN.equalsIgnoreCase(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
}
if (ip == null || ip.length() == 0 || UNKNOWN.equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
}
String comma = ",";
String localhost = "127.0.0.1";
if (ip.contains(comma)) {
ip = ip.split(",")[0];
}
if (localhost.equals(ip)) {
// 获取本机真正的ip地址
try {
ip = InetAddress.getLocalHost().getHostAddress();
} catch (UnknownHostException e) {
log.error(e.getMessage(), e);
}
}
return ip;
}
}
Loading…
Cancel
Save