支付提供ip参数
This commit is contained in:
parent
a8ce0925a0
commit
16998cf826
|
@ -1,5 +1,6 @@
|
||||||
package org.dromara.common.web.core;
|
package org.dromara.common.web.core;
|
||||||
|
|
||||||
|
import jakarta.servlet.http.HttpServletRequest;
|
||||||
import org.dromara.common.core.domain.R;
|
import org.dromara.common.core.domain.R;
|
||||||
import org.dromara.common.core.utils.StringUtils;
|
import org.dromara.common.core.utils.StringUtils;
|
||||||
|
|
||||||
|
@ -37,4 +38,18 @@ public class BaseController {
|
||||||
return StringUtils.format("redirect:{}", url);
|
return StringUtils.format("redirect:{}", url);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected String getClientIpAddress(HttpServletRequest request) {
|
||||||
|
String ipAddress = request.getHeader("X-Forwarded-For");
|
||||||
|
if (ipAddress == null || ipAddress.isEmpty() || "unknown".equalsIgnoreCase(ipAddress)) {
|
||||||
|
ipAddress = request.getHeader("Proxy-Client-IP");
|
||||||
|
}
|
||||||
|
if (ipAddress == null || ipAddress.isEmpty() || "unknown".equalsIgnoreCase(ipAddress)) {
|
||||||
|
ipAddress = request.getHeader("WL-Proxy-Client-IP");
|
||||||
|
}
|
||||||
|
if (ipAddress == null || ipAddress.isEmpty() || "unknown".equalsIgnoreCase(ipAddress)) {
|
||||||
|
ipAddress = request.getRemoteAddr();
|
||||||
|
}
|
||||||
|
return ipAddress;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package org.dromara.scale.controller.wx;
|
package org.dromara.scale.controller.wx;
|
||||||
|
|
||||||
|
import jakarta.servlet.http.HttpServletRequest;
|
||||||
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.NotNull;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.apache.poi.ss.formula.functions.T;
|
import org.apache.poi.ss.formula.functions.T;
|
||||||
|
@ -49,7 +50,7 @@ public class WxOrderController extends BaseController {
|
||||||
*/
|
*/
|
||||||
@GetMapping("/scale/{id}")
|
@GetMapping("/scale/{id}")
|
||||||
public R<SysScaleOrderVo> getInfo(@NotNull(message = "主键不能为空")
|
public R<SysScaleOrderVo> getInfo(@NotNull(message = "主键不能为空")
|
||||||
@PathVariable Long id) {
|
@PathVariable Long id) {
|
||||||
return R.ok(scaleOrderService.queryById(id));
|
return R.ok(scaleOrderService.queryById(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -59,7 +60,9 @@ public class WxOrderController extends BaseController {
|
||||||
@Log(title = "量表订单", businessType = BusinessType.INSERT)
|
@Log(title = "量表订单", businessType = BusinessType.INSERT)
|
||||||
@RepeatSubmit()
|
@RepeatSubmit()
|
||||||
@PostMapping("/scale")
|
@PostMapping("/scale")
|
||||||
public R<T> addScale(@Validated(AddGroup.class) @RequestBody SysScaleOrderBo bo) throws Exception {
|
public R<T> addScale(@Validated(AddGroup.class) @RequestBody SysScaleOrderBo bo, HttpServletRequest request) throws Exception {
|
||||||
|
String clientIpAddress = getClientIpAddress(request);
|
||||||
|
bo.setSpbillCreateIp(clientIpAddress);
|
||||||
return R.ok(scaleOrderService.insertByBo(bo));
|
return R.ok(scaleOrderService.insertByBo(bo));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -69,7 +72,9 @@ public class WxOrderController extends BaseController {
|
||||||
@Log(title = "预约订单", businessType = BusinessType.INSERT)
|
@Log(title = "预约订单", businessType = BusinessType.INSERT)
|
||||||
@RepeatSubmit()
|
@RepeatSubmit()
|
||||||
@PostMapping("/reservation")
|
@PostMapping("/reservation")
|
||||||
public R<T> addReservation(@Validated(AddGroup.class) @RequestBody ReservationOrderBo bo) throws Exception {
|
public R<T> addReservation(@Validated(AddGroup.class) @RequestBody ReservationOrderBo bo, HttpServletRequest request) throws Exception {
|
||||||
|
String clientIpAddress = getClientIpAddress(request);
|
||||||
|
bo.setSpbillCreateIp(clientIpAddress);
|
||||||
return R.ok(reservationOrderService.insertByBo(bo));
|
return R.ok(reservationOrderService.insertByBo(bo));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@ import java.math.BigDecimal;
|
||||||
public class ReservationOrderBo extends BaseEntity {
|
public class ReservationOrderBo extends BaseEntity {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@NotNull(message = "不能为空", groups = { EditGroup.class })
|
@NotNull(message = "不能为空", groups = { EditGroup.class })
|
||||||
private Long id;
|
private Long id;
|
||||||
|
@ -60,20 +60,22 @@ public class ReservationOrderBo extends BaseEntity {
|
||||||
/**
|
/**
|
||||||
* 0:未支付,1:支付完成,2:待评分,3:已评分,99:已退款
|
* 0:未支付,1:支付完成,2:待评分,3:已评分,99:已退款
|
||||||
*/
|
*/
|
||||||
@NotNull(message = "0:未支付,1:支付完成,2:待评分,3:已评分,99:已退款不能为空", groups = { AddGroup.class, EditGroup.class })
|
//@NotNull(message = "0:未支付,1:支付完成,2:待评分,3:已评分,99:已退款不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||||
private Integer orderStatus;
|
private Integer orderStatus;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 诊断
|
* 诊断
|
||||||
*/
|
*/
|
||||||
@NotBlank(message = "诊断不能为空", groups = { AddGroup.class, EditGroup.class })
|
//@NotBlank(message = "诊断不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||||
private String diagnose;
|
private String diagnose;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 附件
|
* 附件
|
||||||
*/
|
*/
|
||||||
@NotNull(message = "附件不能为空", groups = { AddGroup.class, EditGroup.class })
|
//@NotNull(message = "附件不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||||
private Long annex;
|
private Long annex;
|
||||||
|
|
||||||
|
private String spbillCreateIp;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -64,5 +64,7 @@ public class SysScaleOrderBo extends TenantEntity {
|
||||||
//@NotNull(message = "0:未支付,1:支付完成,2:待评分,3:已评分,99:已退款不能为空", groups = { AddGroup.class, EditGroup.class })
|
//@NotNull(message = "0:未支付,1:支付完成,2:待评分,3:已评分,99:已退款不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||||
private Integer orderStatus;
|
private Integer orderStatus;
|
||||||
|
|
||||||
|
private String spbillCreateIp;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -120,6 +120,7 @@ public class ReservationOrderServiceImpl implements IReservationOrderService {
|
||||||
orderRequest.setTotalFee(totalFee);
|
orderRequest.setTotalFee(totalFee);
|
||||||
orderRequest.setNotifyUrl("https://api.ysmental.com/xxx/wx/pay/notify/order/reservation");
|
orderRequest.setNotifyUrl("https://api.ysmental.com/xxx/wx/pay/notify/order/reservation");
|
||||||
orderRequest.setTradeType("JSAPI");
|
orderRequest.setTradeType("JSAPI");
|
||||||
|
orderRequest.setSpbillCreateIp(bo.getSpbillCreateIp());
|
||||||
return payService.createOrder(orderRequest);
|
return payService.createOrder(orderRequest);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -120,6 +120,7 @@ public class SysScaleOrderServiceImpl implements ISysScaleOrderService {
|
||||||
orderRequest.setTotalFee(totalFee);
|
orderRequest.setTotalFee(totalFee);
|
||||||
orderRequest.setNotifyUrl("https://api.ysmental.com/xxx/wx/pay/notify/order/scale");
|
orderRequest.setNotifyUrl("https://api.ysmental.com/xxx/wx/pay/notify/order/scale");
|
||||||
orderRequest.setTradeType("JSAPI");
|
orderRequest.setTradeType("JSAPI");
|
||||||
|
orderRequest.setSpbillCreateIp(bo.getSpbillCreateIp());
|
||||||
return payService.createOrder(orderRequest);
|
return payService.createOrder(orderRequest);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue