更新tradeId为long,订单审核

This commit is contained in:
yanglei 2025-11-14 17:49:46 +08:00
parent 0f1aa4cf83
commit 13b5d32cc6
20 changed files with 120 additions and 41 deletions

View File

@ -3,6 +3,7 @@ package com.ebike.feign.clients;
import com.cdzy.common.model.response.JsonResult; import com.cdzy.common.model.response.JsonResult;
import com.ebike.feign.component.FeignTokenInterceptor; import com.ebike.feign.component.FeignTokenInterceptor;
import com.ebike.feign.config.ExampleFeignConfiguration; import com.ebike.feign.config.ExampleFeignConfiguration;
import com.ebike.feign.model.dto.FeignEbikeRefundProcessDto;
import com.ebike.feign.model.dto.FeignOrderPaymentDto; import com.ebike.feign.model.dto.FeignOrderPaymentDto;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
@ -71,4 +72,13 @@ public interface UserFeignClient {
*/ */
@GetMapping("ebikeOrder/rejectRefund") @GetMapping("ebikeOrder/rejectRefund")
JsonResult<?> rejectRefund(@RequestParam("orderId") Long orderId); JsonResult<?> rejectRefund(@RequestParam("orderId") Long orderId);
/**
* 审核退款申请
*
* @param processDto 退款处理信息
* @return 审核成功返回true否则返回false
*/
@PostMapping("ebikeRefund/reviewRefund")
JsonResult<Boolean> reviewRefund(@RequestBody FeignEbikeRefundProcessDto processDto);
} }

View File

@ -1,4 +1,4 @@
package com.cdzy.user.model.dto; package com.ebike.feign.model.dto;
import lombok.Data; import lombok.Data;
@ -9,7 +9,12 @@ import lombok.Data;
* @since 2025-10-17 14:36 * @since 2025-10-17 14:36
*/ */
@Data @Data
public class EbikeRefundProcessDto { public class FeignEbikeRefundProcessDto {
/**
* 用户登录用户id
*/
private Long staffId;
/** /**
* 主键id * 主键id

View File

@ -0,0 +1,42 @@
package com.cdzy.operations.controller;
import com.cdzy.common.enums.Code;
import com.cdzy.common.ex.EbikeException;
import com.cdzy.common.model.response.JsonResult;
import com.ebike.feign.clients.UserFeignClient;
import com.ebike.feign.model.dto.FeignEbikeRefundProcessDto;
import jakarta.annotation.Resource;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author yanglei
* @since 2025-11-14 16:58
*/
@RestController
@RequestMapping("/ebikeRefundReview")
public class EbikeRefundReviewController {
@Resource
private UserFeignClient userFeignClient;
/**
* 审核退款申请
*
* @param processDto 退款处理信息
* @return 审核成功返回true否则返回false
*/
@PostMapping("/reviewRefund")
public JsonResult<?> reviewRefund(@RequestBody FeignEbikeRefundProcessDto processDto) {
JsonResult<Boolean> jsonResult = userFeignClient.reviewRefund(processDto);
if (jsonResult.getCode() != Code.SUCCESS) {
throw new EbikeException("调用审核退款申请失败");
}
Boolean result = jsonResult.getData();
return JsonResult.success(result);
}
}

View File

@ -84,7 +84,7 @@ public class EbikeWxPaymentController {
@PostMapping("/refund") @PostMapping("/refund")
public JsonResult<?> refund(@RequestBody EbikeRefundDto refundDto) { public JsonResult<?> refund(@RequestBody EbikeRefundDto refundDto) {
// 获取审核人信息 // 获取审核人信息
String loginId = (String) StpUtil.getLoginId(); Long loginId = StpUtil.getLoginIdAsLong();
EbikeWxHandleNotifyVo r = wxPayService.refund(refundDto, loginId); EbikeWxHandleNotifyVo r = wxPayService.refund(refundDto, loginId);
return r.isSuccess() ? JsonResult.success(true) : JsonResult.failed(r.getMessage()); return r.isSuccess() ? JsonResult.success(true) : JsonResult.failed(r.getMessage());
} }

View File

@ -54,7 +54,7 @@ public class EbikePayment implements Serializable {
/** /**
* 支付交易用订单编号重新请求时需要更新 * 支付交易用订单编号重新请求时需要更新
*/ */
private String tradeId; private Long tradeId;
/** /**
* 微信支付订单号, 仅支付成功有 * 微信支付订单号, 仅支付成功有

View File

@ -123,12 +123,12 @@ public class EbikeRefund implements Serializable {
/** /**
* 审核人 * 审核人
*/ */
private String reviewOperator; private Long reviewOperator;
/** /**
* 退款人 * 退款人
*/ */
private String refundOperator; private Long refundOperator;
/** /**
* 创建人 * 创建人

View File

@ -75,7 +75,7 @@ public interface EbikeWxPayService {
* @param operator 操作人id * @param operator 操作人id
* @return 退款信息id * @return 退款信息id
*/ */
EbikeWxHandleNotifyVo refund(EbikeRefundDto refundDto, String operator); EbikeWxHandleNotifyVo refund(EbikeRefundDto refundDto, Long operator);
/** /**

View File

@ -116,7 +116,7 @@ public class EbikeWxPayServiceImpl implements EbikeWxPayService {
if (Transaction.TradeStateEnum.NOTPAY.ordinal() == tradeStatus if (Transaction.TradeStateEnum.NOTPAY.ordinal() == tradeStatus
|| Transaction.TradeStateEnum.USERPAYING.ordinal() == tradeStatus) { || Transaction.TradeStateEnum.USERPAYING.ordinal() == tradeStatus) {
// 检查订单是否关闭 // 检查订单是否关闭
Transaction t = queryOrderByOutTradeNo(ebikePayment.getTradeId()); Transaction t = queryOrderByOutTradeNo(ebikePayment.getTradeId().toString());
if (t != null && Transaction.TradeStateEnum.CLOSED.equals(t.getTradeState())) { if (t != null && Transaction.TradeStateEnum.CLOSED.equals(t.getTradeState())) {
// 验证是否存在支付成功但状态未同步的情况 // 验证是否存在支付成功但状态未同步的情况
EbikeWxHandleNotifyVo hr = queryOrderStatusByOrderId(ebikePayment); EbikeWxHandleNotifyVo hr = queryOrderStatusByOrderId(ebikePayment);
@ -126,13 +126,13 @@ public class EbikeWxPayServiceImpl implements EbikeWxPayService {
} }
log.info("订单已经关闭,订单号:{}, 重新发起请求", orderId); log.info("订单已经关闭,订单号:{}, 重新发起请求", orderId);
ebikePayment.setTradeStatus(Transaction.TradeStateEnum.CLOSED.ordinal()); ebikePayment.setTradeStatus(Transaction.TradeStateEnum.CLOSED.ordinal());
ebikePayment.setTradeId(StringUtils.generateSnowflakeId("tradeId")); ebikePayment.setTradeId(StringUtils.generateLongSnowflakeId("tradeId"));
} else { } else {
log.info("订单正在支付中,订单号:{}", orderId); log.info("订单正在支付中,订单号:{}", orderId);
} }
} else if (Transaction.TradeStateEnum.CLOSED.ordinal() == tradeStatus) { } else if (Transaction.TradeStateEnum.CLOSED.ordinal() == tradeStatus) {
log.info("订单已经关闭,订单号:{}, 重新发起请求", orderId); log.info("订单已经关闭,订单号:{}, 重新发起请求", orderId);
ebikePayment.setTradeId(StringUtils.generateSnowflakeId("tradeId")); ebikePayment.setTradeId(StringUtils.generateLongSnowflakeId("tradeId"));
} }
// 处理异常状态 // 处理异常状态
else { else {
@ -146,7 +146,7 @@ public class EbikeWxPayServiceImpl implements EbikeWxPayService {
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
Duration duration = Duration.between(createTime, now); Duration duration = Duration.between(createTime, now);
if (duration.getSeconds() > 7200) { if (duration.getSeconds() > 7200) {
ebikePayment.setTradeId(StringUtils.generateSnowflakeId("tradeId")); ebikePayment.setTradeId(StringUtils.generateLongSnowflakeId("tradeId"));
ebikePayment.setCreateTime(now); ebikePayment.setCreateTime(now);
} }
} }
@ -178,7 +178,7 @@ public class EbikeWxPayServiceImpl implements EbikeWxPayService {
EbikePaymentAmountVo amount = paymentVo.getAmount(); EbikePaymentAmountVo amount = paymentVo.getAmount();
EbikePaymentDetailVo detail = paymentVo.getDetail(); EbikePaymentDetailVo detail = paymentVo.getDetail();
String tradeId = ebikePayment == null ? outTradeNo : ebikePayment.getTradeId(); String tradeId = ebikePayment == null ? outTradeNo : ebikePayment.getTradeId().toString();
try { try {
PrepayRequest request = new PrepayRequest(); PrepayRequest request = new PrepayRequest();
request.setAppid(wxPayConfig.getAppId()); request.setAppid(wxPayConfig.getAppId());
@ -241,7 +241,7 @@ public class EbikeWxPayServiceImpl implements EbikeWxPayService {
// 新增支付记录 // 新增支付记录
ebikePayment = new EbikePayment(); ebikePayment = new EbikePayment();
ebikePayment.setOrderId(paymentVo.getOrderId()); ebikePayment.setOrderId(paymentVo.getOrderId());
ebikePayment.setTradeId(tradeId); ebikePayment.setTradeId(Long.valueOf(tradeId));
ebikePayment.setUserId(paymentVo.getUserId()); ebikePayment.setUserId(paymentVo.getUserId());
ebikePayment.setPaymentMethod(PaymentMethod.WECHAT); ebikePayment.setPaymentMethod(PaymentMethod.WECHAT);
ebikePayment.setCostPrice(amount.getTotal()); ebikePayment.setCostPrice(amount.getTotal());
@ -252,7 +252,7 @@ public class EbikeWxPayServiceImpl implements EbikeWxPayService {
ebikePaymentService.save(ebikePayment); ebikePaymentService.save(ebikePayment);
} else { } else {
// 更新支付记录 // 更新支付记录
ebikePayment.setTradeId(tradeId); ebikePayment.setTradeId(Long.valueOf(tradeId));
ebikePayment.setCreateTime(LocalDateTime.now()); ebikePayment.setCreateTime(LocalDateTime.now());
ebikePayment.setPaymentMethod(PaymentMethod.WECHAT); ebikePayment.setPaymentMethod(PaymentMethod.WECHAT);
ebikePayment.setCostPrice(amount.getTotal()); ebikePayment.setCostPrice(amount.getTotal());
@ -303,7 +303,7 @@ public class EbikeWxPayServiceImpl implements EbikeWxPayService {
log.error("{}支付订单不存在!", orderId); log.error("{}支付订单不存在!", orderId);
return null; return null;
} }
return queryOrderByOutTradeNo(ebikePayment.getTradeId()); return queryOrderByOutTradeNo(ebikePayment.getTradeId().toString());
} }
@Override @Override
@ -334,7 +334,7 @@ public class EbikeWxPayServiceImpl implements EbikeWxPayService {
*/ */
private EbikeWxHandleNotifyVo queryOrderStatusByOrderId(EbikePayment ebikePayment) { private EbikeWxHandleNotifyVo queryOrderStatusByOrderId(EbikePayment ebikePayment) {
EbikeWxHandleNotifyVo result = new EbikeWxHandleNotifyVo(); EbikeWxHandleNotifyVo result = new EbikeWxHandleNotifyVo();
Transaction r = queryOrderByOutTradeNo(ebikePayment.getTradeId()); Transaction r = queryOrderByOutTradeNo(ebikePayment.getTradeId().toString());
if (r != null && Transaction.TradeStateEnum.SUCCESS.equals(r.getTradeState())) { if (r != null && Transaction.TradeStateEnum.SUCCESS.equals(r.getTradeState())) {
result.setMessage(String.format("订单%s支付成功", ebikePayment.getOrderId())); result.setMessage(String.format("订单%s支付成功", ebikePayment.getOrderId()));
result.setSuccess(true); result.setSuccess(true);
@ -381,7 +381,7 @@ public class EbikeWxPayServiceImpl implements EbikeWxPayService {
} }
@Override @Override
public EbikeWxHandleNotifyVo refund(EbikeRefundDto refundDto, String operator) { public EbikeWxHandleNotifyVo refund(EbikeRefundDto refundDto, Long operator) {
EbikeWxHandleNotifyVo notifyVo = new EbikeWxHandleNotifyVo(); EbikeWxHandleNotifyVo notifyVo = new EbikeWxHandleNotifyVo();
notifyVo.setSuccess(false); notifyVo.setSuccess(false);
// 检查退款记录是否存在 // 检查退款记录是否存在
@ -414,7 +414,7 @@ public class EbikeWxPayServiceImpl implements EbikeWxPayService {
// 发起退款 // 发起退款
CreateRequest request = new CreateRequest(); CreateRequest request = new CreateRequest();
request.setTransactionId(transactionId); request.setTransactionId(transactionId);
request.setOutTradeNo(ebikePayment.getTradeId()); request.setOutTradeNo(ebikePayment.getTradeId().toString());
request.setOutRefundNo(ebikeRefund.getRefundOrderId()); request.setOutRefundNo(ebikeRefund.getRefundOrderId());
request.setReason(ebikeRefund.getReason()); request.setReason(ebikeRefund.getReason());
request.setNotifyUrl(wxPayConfig.getRefundNotifyUrl()); request.setNotifyUrl(wxPayConfig.getRefundNotifyUrl());

View File

@ -48,7 +48,7 @@ public class WxPayTask {
for (EbikePayment ebikePayment : ebikePaymentList) { for (EbikePayment ebikePayment : ebikePaymentList) {
log.warn("未支付的订单号 ===> {}", ebikePayment.getOrderId()); log.warn("未支付的订单号 ===> {}", ebikePayment.getOrderId());
// 调用微信支付查询接口查询支付状态 // 调用微信支付查询接口查询支付状态
Transaction transaction = wxPayService.queryOrderByOutTradeNo(ebikePayment.getTradeId()); Transaction transaction = wxPayService.queryOrderByOutTradeNo(ebikePayment.getTradeId().toString());
// 3. 更新订单状态 // 3. 更新订单状态
if (transaction != null) { if (transaction != null) {
ebikePaymentService.updatePaymentStatus(transaction); ebikePaymentService.updatePaymentStatus(transaction);
@ -67,7 +67,7 @@ public class WxPayTask {
for (EbikePayment ebikePayment : ebikePaymentList) { for (EbikePayment ebikePayment : ebikePaymentList) {
log.warn("超时未支付的订单号 ===> {}", ebikePayment.getOrderId()); log.warn("超时未支付的订单号 ===> {}", ebikePayment.getOrderId());
// 调用微信支付关闭接口关闭订单 // 调用微信支付关闭接口关闭订单
boolean close = wxPayService.closeOrder(ebikePayment.getTradeId()); boolean close = wxPayService.closeOrder(ebikePayment.getTradeId().toString());
if (close) { if (close) {
// 3. 更新订单状态 // 3. 更新订单状态
Transaction transaction = new Transaction(); Transaction transaction = new Transaction();

View File

@ -61,6 +61,17 @@ public class StringUtils {
return String.valueOf(key); return String.valueOf(key);
} }
/**
* 生成雪花算法ID
*
* @param idFieldName 字段名
*/
public static Long generateLongSnowflakeId(String idFieldName) {
// 获取名为 "snowFlakeId" 的生成器
IKeyGenerator generator = KeyGeneratorFactory.getKeyGenerator("snowFlakeId");
return (Long) generator.generate(null, idFieldName);
}
/** /**
* 计算两个时间的时间差 * 计算两个时间的时间差
* *

View File

@ -1,9 +1,8 @@
package com.cdzy.user.controller; package com.cdzy.user.controller;
import cn.dev33.satoken.stp.StpUtil;
import com.cdzy.common.model.response.JsonResult; import com.cdzy.common.model.response.JsonResult;
import com.cdzy.user.model.dto.EbikeOrderRefundDto; import com.cdzy.user.model.dto.EbikeOrderRefundDto;
import com.cdzy.user.model.dto.EbikeRefundProcessDto; import com.ebike.feign.model.dto.FeignEbikeRefundProcessDto;
import com.cdzy.user.model.dto.EbikeRefundQueryDto; import com.cdzy.user.model.dto.EbikeRefundQueryDto;
import com.cdzy.user.model.dto.EbikeTreadRecordDto; import com.cdzy.user.model.dto.EbikeTreadRecordDto;
import com.cdzy.user.model.vo.*; import com.cdzy.user.model.vo.*;
@ -45,10 +44,8 @@ public class EbikeRefundController {
* @return 审核成功返回true否则返回false * @return 审核成功返回true否则返回false
*/ */
@PostMapping("/reviewRefund") @PostMapping("/reviewRefund")
public JsonResult<?> reviewRefund(@RequestBody EbikeRefundProcessDto processDto) { public JsonResult<?> reviewRefund(@RequestBody FeignEbikeRefundProcessDto processDto) {
// 获取审核人信息id boolean result = ebikeRefundService.refundReview(processDto);
String loginId = (String) StpUtil.getLoginId();
boolean result = ebikeRefundService.refundReview(processDto, loginId);
return JsonResult.success(result); return JsonResult.success(result);
} }

View File

@ -54,7 +54,7 @@ public class EbikePayment implements Serializable {
/** /**
* 支付交易用订单编号重新请求时需要更新 * 支付交易用订单编号重新请求时需要更新
*/ */
private String tradeId; private Long tradeId;
/** /**
* 微信支付订单号, 仅支付成功有 * 微信支付订单号, 仅支付成功有

View File

@ -123,12 +123,12 @@ public class EbikeRefund implements Serializable {
/** /**
* 审核人 * 审核人
*/ */
private String reviewOperator; private Long reviewOperator;
/** /**
* 退款人 * 退款人
*/ */
private String refundOperator; private Long refundOperator;
/** /**
* 创建人 * 创建人

View File

@ -1,7 +1,7 @@
package com.cdzy.user.service; package com.cdzy.user.service;
import com.cdzy.user.model.dto.EbikeOrderRefundDto; import com.cdzy.user.model.dto.EbikeOrderRefundDto;
import com.cdzy.user.model.dto.EbikeRefundProcessDto; import com.ebike.feign.model.dto.FeignEbikeRefundProcessDto;
import com.cdzy.user.model.dto.EbikeRefundQueryDto; import com.cdzy.user.model.dto.EbikeRefundQueryDto;
import com.cdzy.user.model.dto.EbikeTreadRecordDto; import com.cdzy.user.model.dto.EbikeTreadRecordDto;
import com.cdzy.user.model.entity.EbikeRefund; import com.cdzy.user.model.entity.EbikeRefund;
@ -33,7 +33,7 @@ public interface EbikeRefundService extends IService<EbikeRefund> {
* @return 退款信息id * @return 退款信息id
* @operator 操作人id * @operator 操作人id
*/ */
boolean refundReview(EbikeRefundProcessDto processDto, String loginId); boolean refundReview(FeignEbikeRefundProcessDto processDto);
/** /**
* 获取退款列表 * 获取退款列表

View File

@ -51,7 +51,6 @@ public class EbikeFaultReportServiceImpl extends ServiceImpl<EbikeFaultReportMap
@Transactional @Transactional
@Override @Override
public void saveFaultReport(EbikeFaultReportDto ebikeFaultReportDto) { public void saveFaultReport(EbikeFaultReportDto ebikeFaultReportDto) {
//long userId = StpUtil.getLoginIdAsLong();
EbikeFaultReport userFaultReport = EbikeFaultReport.builder() EbikeFaultReport userFaultReport = EbikeFaultReport.builder()
.operatorId(ebikeFaultReportDto.getOperatorId()) .operatorId(ebikeFaultReportDto.getOperatorId())
.bikeCode(ebikeFaultReportDto.getBikeCode()) .bikeCode(ebikeFaultReportDto.getBikeCode())
@ -63,7 +62,6 @@ public class EbikeFaultReportServiceImpl extends ServiceImpl<EbikeFaultReportMap
.location(ebikeFaultReportDto.getLocation()) .location(ebikeFaultReportDto.getLocation())
.orderCode(ebikeFaultReportDto.getOrderCode()) .orderCode(ebikeFaultReportDto.getOrderCode())
.workorderId(ebikeFaultReportDto.getWorkorderId()) .workorderId(ebikeFaultReportDto.getWorkorderId())
//.createBy(userId)
.build(); .build();
this.save(userFaultReport); this.save(userFaultReport);
// 保存附件信息 // 保存附件信息

View File

@ -230,7 +230,7 @@ public class EbikeOrderImpl extends ServiceImpl<EbikeOrderMapper, EbikeOrder> im
.orderId(order.getOrderId()) .orderId(order.getOrderId())
.costPrice(order.getTotalAmount()) .costPrice(order.getTotalAmount())
.paymentMethod(EbikePaymentMethod.WECHAT) .paymentMethod(EbikePaymentMethod.WECHAT)
.tradeId(StringUtils.generateSnowflakeId("tradeId")) .tradeId(StringUtils.generateLongSnowflakeId("tradeId"))
.currency("CNY") .currency("CNY")
.userId(endDto.getUserId()) .userId(endDto.getUserId())
.operatorId(order.getOperatorId()) .operatorId(order.getOperatorId())

View File

@ -1,11 +1,12 @@
package com.cdzy.user.service.impl; package com.cdzy.user.service.impl;
import com.cdzy.common.ex.EbikeException;
import com.cdzy.user.enums.EbikeProcessStatus; import com.cdzy.user.enums.EbikeProcessStatus;
import com.cdzy.user.enums.EbikeRefundSource; import com.cdzy.user.enums.EbikeRefundSource;
import com.cdzy.user.enums.EbikeRefundStatus; import com.cdzy.user.enums.EbikeRefundStatus;
import com.cdzy.user.mapper.EbikeRefundMapper; import com.cdzy.user.mapper.EbikeRefundMapper;
import com.cdzy.user.model.dto.EbikeOrderRefundDto; import com.cdzy.user.model.dto.EbikeOrderRefundDto;
import com.cdzy.user.model.dto.EbikeRefundProcessDto; import com.ebike.feign.model.dto.FeignEbikeRefundProcessDto;
import com.cdzy.user.model.dto.EbikeRefundQueryDto; import com.cdzy.user.model.dto.EbikeRefundQueryDto;
import com.cdzy.user.model.dto.EbikeTreadRecordDto; import com.cdzy.user.model.dto.EbikeTreadRecordDto;
import com.cdzy.user.model.entity.EbikePayment; import com.cdzy.user.model.entity.EbikePayment;
@ -94,13 +95,17 @@ public class EbikeRefundServiceImpl extends ServiceImpl<EbikeRefundMapper, Ebike
} }
@Override @Override
public boolean refundReview(EbikeRefundProcessDto processDto, String loginId) { public boolean refundReview(FeignEbikeRefundProcessDto processDto) {
Long staffId = processDto.getStaffId();
if (staffId == null) {
throw new EbikeException("操作员工Id不能为空");
}
EbikeRefund ebikeRefund = getById(processDto.getRefundId()); EbikeRefund ebikeRefund = getById(processDto.getRefundId());
if (ebikeRefund == null) { if (ebikeRefund == null) {
log.error("审核refundReview失败{} 退款申请不存在", processDto.getRefundId()); log.error("审核refundReview失败{} 退款申请不存在", processDto.getRefundId());
return false; return false;
} }
ebikeRefund.setReviewOperator(loginId); ebikeRefund.setReviewOperator(staffId);
ebikeRefund.setProcessStatus(processDto.getOperate()); ebikeRefund.setProcessStatus(processDto.getOperate());
ebikeRefund.setProcessTime(LocalDateTime.now()); ebikeRefund.setProcessTime(LocalDateTime.now());
ebikeRefund.setRemark(processDto.getReason()); ebikeRefund.setRemark(processDto.getReason());

View File

@ -61,6 +61,17 @@ public class StringUtils {
return String.valueOf(key); return String.valueOf(key);
} }
/**
* 生成雪花算法ID
*
* @param idFieldName 字段名
*/
public static Long generateLongSnowflakeId(String idFieldName) {
// 获取名为 "snowFlakeId" 的生成器
IKeyGenerator generator = KeyGeneratorFactory.getKeyGenerator("snowFlakeId");
return (Long) generator.generate(null, idFieldName);
}
/** /**
* 计算两个时间的时间差 * 计算两个时间的时间差
* *

View File

@ -275,7 +275,7 @@ CREATE TABLE "public"."ebike_payment" (
"user_id" int8 NOT NULL, "user_id" int8 NOT NULL,
"order_id" int8 NOT NULL, "order_id" int8 NOT NULL,
"operator_id" int8 NOT NULL, "operator_id" int8 NOT NULL,
"trade_id" varchar(64) COLLATE "pg_catalog"."default", "trade_id" int8,
"transaction_id" varchar(64) COLLATE "pg_catalog"."default", "transaction_id" varchar(64) COLLATE "pg_catalog"."default",
"payment_time" timestamp(6), "payment_time" timestamp(6),
"payment_method" int2 NOT NULL, "payment_method" int2 NOT NULL,
@ -331,8 +331,8 @@ CREATE TABLE "public"."ebike_refund" (
"remark" varchar(200) COLLATE "pg_catalog"."default", "remark" varchar(200) COLLATE "pg_catalog"."default",
"process_time" timestamp(6), "process_time" timestamp(6),
"refund_transaction_id" varchar(64) COLLATE "pg_catalog"."default", "refund_transaction_id" varchar(64) COLLATE "pg_catalog"."default",
"review_operator" varchar(50) COLLATE "pg_catalog"."default", "review_operator" int8,
"refund_operator" varchar(50) COLLATE "pg_catalog"."default", "refund_operator" int8,
"create_by" int8, "create_by" int8,
"create_time" timestamp(6) DEFAULT CURRENT_TIMESTAMP, "create_time" timestamp(6) DEFAULT CURRENT_TIMESTAMP,
"update_by" int8, "update_by" int8,

View File

@ -27,7 +27,7 @@ class EbikeUserApplicationTests {
.orderId(346502255632748545L) .orderId(346502255632748545L)
.costPrice(BigDecimal.ONE) .costPrice(BigDecimal.ONE)
.paymentMethod(EbikePaymentMethod.WECHAT) .paymentMethod(EbikePaymentMethod.WECHAT)
.tradeId(String.valueOf(snowFlakeIDKeyGenerator.nextId())) .tradeId(snowFlakeIDKeyGenerator.nextId())
.currency("CNY") .currency("CNY")
.userId(344326061705474047L) .userId(344326061705474047L)
.operatorId(11L) .operatorId(11L)