sync_pay_state
This commit is contained in:
parent
19edf755ea
commit
db5899faa2
|
|
@ -3,12 +3,13 @@ package com.bonus.core.order.common.business;
|
|||
|
||||
import com.bonus.core.order.common.model.OrderDetail;
|
||||
import com.bonus.core.order.common.model.OrderInfo;
|
||||
import com.bonus.core.pay.api.vo.UnifyPaySelectVO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface OrderResultBusiness {
|
||||
// UnifyPaySelectVO reSyncOrderPayResult(Long orderId);
|
||||
//
|
||||
UnifyPaySelectVO reSyncOrderPayResult(Long orderId);
|
||||
|
||||
// UnifyRefundSelectVO reSyncOrderRefundResult(Long orderRefundId);
|
||||
//
|
||||
// String asyncPayResultHandler(PayResultPO payResultPO);
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ import com.bonus.core.order.mobile.dto.*;
|
|||
import com.bonus.core.order.mobile.vo.*;
|
||||
import com.bonus.core.order.mq.po.OrderSavePO;
|
||||
import com.bonus.core.pay.api.dto.UnifyPayDTO;
|
||||
import com.bonus.core.pay.api.vo.UnifyPaySelectVO;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Collection;
|
||||
|
|
@ -67,11 +68,11 @@ public class OrderCustomMobileBusiness implements CustomBusiness {
|
|||
public OrderInfoMobileVO didQueryOrderInfo(OrderInfoMobileVO orderInfoMobileVO) {
|
||||
return orderInfoMobileVO;
|
||||
}
|
||||
//
|
||||
// public UnifyPaySelectVO willReSyncOrderPayResult(Long orderId) {
|
||||
// return null;
|
||||
// }
|
||||
//
|
||||
|
||||
public UnifyPaySelectVO willReSyncOrderPayResult(Long orderId) {
|
||||
return null;
|
||||
}
|
||||
|
||||
public List<OrderShoppingCartListMobileVO> didListShoppingCartByCust(OrderShoppingSearchDTO searchDTO, List<OrderShoppingCartListMobileVO> resultList) {
|
||||
return resultList;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,28 @@
|
|||
package com.bonus.core.order.mobile.dto;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
public class OrderSyncPayStateMobileDTO {
|
||||
@ApiModelProperty("订单号")
|
||||
private @NotNull Long orderId;
|
||||
@ApiModelProperty("是否手动同步")
|
||||
private Integer ifManualSync;
|
||||
|
||||
public Long getOrderId() {
|
||||
return this.orderId;
|
||||
}
|
||||
|
||||
public Integer getIfManualSync() {
|
||||
return this.ifManualSync;
|
||||
}
|
||||
|
||||
public void setOrderId(final Long orderId) {
|
||||
this.orderId = orderId;
|
||||
}
|
||||
|
||||
public void setIfManualSync(final Integer ifManualSync) {
|
||||
this.ifManualSync = ifManualSync;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -5,12 +5,14 @@ import cn.hutool.core.collection.ListUtil;
|
|||
import cn.hutool.core.map.MapUtil;
|
||||
import cn.hutool.core.text.CharSequenceUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.bonus.constant.LeConstants;
|
||||
import com.bonus.core.common.page.PageVO;
|
||||
import com.bonus.core.device.api.DeviceApi;
|
||||
import com.bonus.core.device.manage.dto.DeviceSearchDTO;
|
||||
import com.bonus.core.device.manage.model.DeviceInfo;
|
||||
import com.bonus.core.menu.api.MenuDishesApi;
|
||||
import com.bonus.core.menu.utils.NutritionEntity;
|
||||
import com.bonus.core.order.common.business.OrderResultBusiness;
|
||||
import com.bonus.core.order.common.constants.CheckStateEnum;
|
||||
import com.bonus.core.order.common.constants.DetailTypeEnum;
|
||||
import com.bonus.core.order.common.constants.OrderTypeEnum;
|
||||
|
|
@ -22,6 +24,7 @@ import com.bonus.core.order.common.service.*;
|
|||
import com.bonus.core.order.common.vo.OrderIdDateVO;
|
||||
import com.bonus.core.order.custom.OrderCustomBusiness;
|
||||
import com.bonus.core.order.mobile.dto.OrderListMobileDTO;
|
||||
import com.bonus.core.order.mobile.dto.OrderSyncPayStateMobileDTO;
|
||||
import com.bonus.core.order.mobile.service.OrderInfoMobileBusiness;
|
||||
import com.bonus.core.order.mobile.vo.OrderDetailMobileVO;
|
||||
import com.bonus.core.order.mobile.vo.OrderInfoMobileVO;
|
||||
|
|
@ -32,6 +35,9 @@ import com.bonus.core.order.web.dto.OrderUserPermissionDTO;
|
|||
import com.bonus.core.order.weight.service.MacPlateidBindSerialService;
|
||||
import com.bonus.core.order.weight.model.MacPlateidBindSerial;
|
||||
import com.bonus.core.order.weight.vo.RefundDetailStateVO;
|
||||
import com.bonus.core.pay.api.TradeRecordApi;
|
||||
import com.bonus.core.pay.api.vo.UnifyPaySelectVO;
|
||||
import com.bonus.core.pay.common.model.TradeRecord;
|
||||
import com.bonus.utils.AesEncryptUtil;
|
||||
import com.bonus.core.menu.model.MenuDishesTypeModel;
|
||||
import com.github.pagehelper.page.PageMethod;
|
||||
|
|
@ -67,6 +73,9 @@ public class OrderInfoMobileBusinessImpl implements OrderInfoMobileBusiness {
|
|||
protected OrderCustomBusiness orderCustomBusiness;
|
||||
@Lazy
|
||||
@Autowired
|
||||
protected OrderResultBusiness orderResultBusiness;
|
||||
@Lazy
|
||||
@Autowired
|
||||
protected DeviceApi deviceApi;
|
||||
@Lazy
|
||||
@Autowired
|
||||
|
|
@ -80,6 +89,9 @@ public class OrderInfoMobileBusinessImpl implements OrderInfoMobileBusiness {
|
|||
@Lazy
|
||||
@Autowired
|
||||
protected OrderRefundDetailService orderRefundDetailService;
|
||||
@Lazy
|
||||
@Autowired
|
||||
protected TradeRecordApi tradeRecordApi;
|
||||
|
||||
@Override
|
||||
public PageVO<OrderListMobileVO> orderList(OrderListMobileDTO orderListDTO, RequestHeaderDTO headerDTO) {
|
||||
|
|
@ -251,4 +263,16 @@ public class OrderInfoMobileBusinessImpl implements OrderInfoMobileBusiness {
|
|||
|
||||
}
|
||||
|
||||
public UnifyPaySelectVO orderSyncPayState(OrderSyncPayStateMobileDTO dto) {
|
||||
UnifyPaySelectVO unifyPaySelectVO = this.orderCustomBusiness.mobile().willReSyncOrderPayResult(dto.getOrderId());
|
||||
if (ObjectUtil.isNotNull(unifyPaySelectVO)) {
|
||||
return unifyPaySelectVO;
|
||||
} else if (LeConstants.COMMON_YES.equals(dto.getIfManualSync())) {
|
||||
return this.orderResultBusiness.reSyncOrderPayResult(dto.getOrderId());
|
||||
} else {
|
||||
TradeRecord tradeRecord = this.tradeRecordApi.getLastTradeRecordByOrderId(dto.getOrderId());
|
||||
return UnifyPaySelectVO.of(tradeRecord);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -91,4 +91,8 @@ public class TradeRecordApi {
|
|||
}).collect(Collectors.toList()));
|
||||
}
|
||||
}
|
||||
|
||||
public TradeRecord getLastTradeRecordByOrderId(Long orderId) {
|
||||
return (TradeRecord)this.tradeRecordService.queryTradeRecordInfoList((String)null, orderId, (Integer)null, (Integer)null).stream().sorted(Comparator.comparing(TradeRecord::getId).reversed()).findFirst().orElse((TradeRecord) null);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,5 +13,6 @@ import java.util.List;
|
|||
@InterceptorIgnore
|
||||
public interface TradeRecordMapper extends BaseMapper<TradeRecord> {
|
||||
|
||||
List<TradeRecord> queryTradeRecordInfo(@Param("macOrderId") String macOrderId, @Param("orderRechargeId") Long orderRechargeId, @Param("tradeState") Integer tradeState, @Param("tradeType") Integer tradeType, @Param("startTime") LocalDateTime startTime, @Param("endTime") LocalDateTime endTime);
|
||||
List<TradeRecord> listTradeRecordByOrderRechargeId(@Param("orderRechargeId") Long orderRechargeId, @Param("startTime") LocalDateTime startTime, @Param("endTime") LocalDateTime endTime, @Param("tradeState") Integer... tradeState);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,4 +30,6 @@ public interface TradeRecordService {
|
|||
void insertOrderRechargeTrade(List<TradeOrderRecharge> tradeOrderRechargeList);
|
||||
|
||||
void deleteOrderRechargeTrade(Long tradeId);
|
||||
|
||||
List<TradeRecord> queryTradeRecordInfoList(String macOrderId, Long orderRechargeId, Integer tradeState, Integer tradeType);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -124,4 +124,16 @@ public class TradeRecordServiceImpl extends ServiceImpl<TradeRecordMapper, Trade
|
|||
this.tradeOrderRechargeMapper.delete((Wrapper)Wrappers.lambdaQuery(TradeOrderRecharge.class).eq(TradeOrderRecharge::getTradeId, tradeId));
|
||||
}
|
||||
|
||||
public List<TradeRecord> queryTradeRecordInfoList(String macOrderId, Long orderRechargeId, Integer tradeState, Integer tradeType) {
|
||||
if (CharSequenceUtil.isEmpty(macOrderId) && !LeNumUtil.isValidId(orderRechargeId)) {
|
||||
return CollUtil.newArrayList(new TradeRecord[0]);
|
||||
} else {
|
||||
log.info("[交易记录] queryTradeRecordInfoList 开始");
|
||||
List<LocalDateTime> timeRange = LeOrderUtil.queryCreateTimeRange();
|
||||
List<TradeRecord> tradeRecordList = ((TradeRecordMapper)this.baseMapper).queryTradeRecordInfo(macOrderId, orderRechargeId, tradeState, tradeType, (LocalDateTime)timeRange.get(0), (LocalDateTime)timeRange.get(1));
|
||||
log.info("[交易记录] queryTradeRecordInfoList 结束");
|
||||
return tradeRecordList;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,6 +4,46 @@
|
|||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.bonus.core.pay.common.mapper.TradeRecordMapper">
|
||||
|
||||
<!--根据设备订单号查询支付结果-->
|
||||
<select id="queryTradeRecordInfo" resultType="com.bonus.core.pay.common.model.TradeRecord">
|
||||
SELECT tr.id,
|
||||
tr.related_trade_id,
|
||||
tr.trade_state tradeState,
|
||||
tr.amount,
|
||||
tr.cust_id custId,
|
||||
tr.pay_type payType,
|
||||
tr.pay_channel payChannel,
|
||||
tr.source_type sourceType,
|
||||
tr.out_trade_no outTradeNo,
|
||||
tr.trade_result tradeResult,
|
||||
tr.param
|
||||
FROM trade_record tr
|
||||
INNER JOIN trade_order_recharge ort ON tr.id = ort.trade_id
|
||||
<where>
|
||||
<if test="macOrderId != null and macOrderId != ''">
|
||||
AND ort.mac_order_id = #{macOrderId}
|
||||
</if>
|
||||
<if test="orderRechargeId != null">
|
||||
AND ort.order_recharge_id = #{orderRechargeId}
|
||||
</if>
|
||||
<if test="tradeState != null">
|
||||
AND tr.trade_state = #{tradeState}
|
||||
</if>
|
||||
<if test="tradeType != null">
|
||||
AND tr.trade_type = #{tradeType}
|
||||
</if>
|
||||
<if test="startTime != null">
|
||||
AND tr.create_time <![CDATA[ >= ]]> #{startTime}
|
||||
AND ort.create_time <![CDATA[ >= ]]> #{startTime}
|
||||
</if>
|
||||
<if test="endTime != null">
|
||||
AND tr.create_time <![CDATA[ <= ]]> #{endTime}
|
||||
AND ort.create_time <![CDATA[ <= ]]> #{endTime}
|
||||
</if>
|
||||
</where>
|
||||
order by tr.create_time
|
||||
</select>
|
||||
|
||||
<select id="listTradeRecordByOrderRechargeId" resultType="com.bonus.core.pay.common.model.TradeRecord">
|
||||
SELECT tr.id,
|
||||
tr.related_trade_id,
|
||||
|
|
|
|||
Reference in New Issue