mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-20 02:55:04 +08:00
update 新增重新分账接口
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
package com.jsowell.service;
|
||||
|
||||
import com.jsowell.common.constant.Constants;
|
||||
import com.jsowell.pile.domain.OrderSplitRecord;
|
||||
import com.jsowell.pile.dto.DebugOrderDTO;
|
||||
import com.jsowell.pile.dto.QueryOrderSplitRecordDTO;
|
||||
import com.jsowell.pile.service.OrderBasicInfoService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Service
|
||||
public class SplitBillService {
|
||||
|
||||
@Autowired
|
||||
private OrderBasicInfoService orderBasicInfoService;
|
||||
|
||||
@Autowired
|
||||
private TempService tempService;
|
||||
|
||||
/**
|
||||
* 重试运营商分账
|
||||
* @param dto
|
||||
*/
|
||||
public void retryMerchantSplit(QueryOrderSplitRecordDTO dto) {
|
||||
// 首先根据 merchantId、startTime、endTime 查出日期区间内所有订单信息(包括 paymentId)
|
||||
List<OrderSplitRecord> recordList = orderBasicInfoService.getSplitOrders(dto);
|
||||
// 判断订单是否已经成功分账
|
||||
// adapayService.checkOrderSplitStatus(list);
|
||||
// 将未分账的订单进行筛选、汇总
|
||||
List<String> paymenIdList = new ArrayList<>();
|
||||
// 将 paymentIdList 与 recordList 进行匹配,筛选出 orderCodeList
|
||||
Set<String> paymentIdSet = new HashSet<>(paymenIdList);
|
||||
List<String> orderCodeList = recordList.stream()
|
||||
.filter(record -> paymentIdSet.contains(record.getPaymentId()))
|
||||
.map(OrderSplitRecord::getOrderCode)
|
||||
.collect(Collectors.toList());
|
||||
|
||||
// 调用 debugOrder 接口进行重新分账
|
||||
for (String orderCode : orderCodeList) {
|
||||
DebugOrderDTO debugOrderDTO = new DebugOrderDTO();
|
||||
debugOrderDTO.setOrderCode(orderCode);
|
||||
debugOrderDTO.setReSplitFlag(Constants.ONE);
|
||||
|
||||
tempService.debugOrder(debugOrderDTO);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -7,6 +7,7 @@ import com.jsowell.common.response.RestApiResponse;
|
||||
import com.jsowell.pile.dto.QueryOrderSplitRecordDTO;
|
||||
import com.jsowell.pile.service.OrderSplitRecordService;
|
||||
import com.jsowell.pile.vo.web.OrderCommissionSummaryVO;
|
||||
import com.jsowell.service.SplitBillService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
@@ -26,6 +27,9 @@ public class OrderSplitRecordController extends BaseController {
|
||||
@Autowired
|
||||
private OrderSplitRecordService orderSplitRecordService;
|
||||
|
||||
@Autowired
|
||||
private SplitBillService splitBillService;
|
||||
|
||||
/**
|
||||
* 后管查询引流抽成订单列表
|
||||
* @param dto
|
||||
@@ -61,4 +65,19 @@ public class OrderSplitRecordController extends BaseController {
|
||||
}
|
||||
return response;
|
||||
}
|
||||
|
||||
/**
|
||||
* 重试运营商分账
|
||||
*/
|
||||
public RestApiResponse<?> retryMerchantSplit(@RequestBody QueryOrderSplitRecordDTO dto) {
|
||||
RestApiResponse<?> response = null;
|
||||
try {
|
||||
splitBillService.retryMerchantSplit(dto);
|
||||
response = new RestApiResponse<>();
|
||||
} catch (Exception e) {
|
||||
logger.error("重试运营商分账 error", e);
|
||||
response = new RestApiResponse<>(e);
|
||||
}
|
||||
return response;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,4 +28,6 @@ public class QueryOrderSplitRecordDTO {
|
||||
private String orderCode;
|
||||
|
||||
private String transactionCode;
|
||||
|
||||
private String merchantId;
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.jsowell.pile.mapper;
|
||||
import com.alipay.api.domain.ChargeOrderInfo;
|
||||
import com.jsowell.pile.domain.OrderBasicInfo;
|
||||
import com.jsowell.pile.domain.OrderDetail;
|
||||
import com.jsowell.pile.domain.OrderSplitRecord;
|
||||
import com.jsowell.pile.domain.UserFrequentedStationInfo;
|
||||
import com.jsowell.pile.dto.*;
|
||||
import com.jsowell.pile.dto.nanrui.NRQueryOrderDTO;
|
||||
@@ -416,4 +417,11 @@ public interface OrderBasicInfoMapper {
|
||||
List<OrderBasicInfo> getOrderBasicInfoByTimeInterval(@Param("stationIds") List<String> stationIds, @Param("startTime") String startTime, @Param("endTime") String endTime);
|
||||
|
||||
List<SupStationStatsVO> queryOrderListByStationIdAndTime(@Param("stationId") String stationId , @Param("startTime") String startTime , @Param("endTime") String endTime);
|
||||
|
||||
/**
|
||||
* 查询分账订单信息
|
||||
* @param dto
|
||||
* @return
|
||||
*/
|
||||
List<OrderSplitRecord> getSplitOrders(@Param("dto") QueryOrderSplitRecordDTO dto);
|
||||
}
|
||||
|
||||
@@ -606,4 +606,11 @@ public interface OrderBasicInfoService{
|
||||
* @param orderCode
|
||||
*/
|
||||
void closeOrderByOrderCode(String orderCode);
|
||||
|
||||
/**
|
||||
* 获取订单分账记录
|
||||
* @param dto
|
||||
* @return
|
||||
*/
|
||||
List<OrderSplitRecord> getSplitOrders(QueryOrderSplitRecordDTO dto);
|
||||
}
|
||||
|
||||
@@ -5635,5 +5635,15 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
|
||||
orderBasicInfo.setOrderStatus(OrderStatusEnum.ORDER_CLOSE_TIMEOUT.getValue());
|
||||
updateOrderBasicInfo(orderBasicInfo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取订单分账信息
|
||||
* @param dto
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<OrderSplitRecord> getSplitOrders(QueryOrderSplitRecordDTO dto) {
|
||||
return orderBasicInfoMapper.getSplitOrders(dto);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -9,6 +9,7 @@ import com.huifu.adapay.model.AdapayCommon;
|
||||
import com.jsowell.adapay.dto.PaymentConfirmParam;
|
||||
import com.jsowell.adapay.dto.SplitData;
|
||||
import com.jsowell.adapay.response.PaymentConfirmResponse;
|
||||
import com.jsowell.adapay.service.AdapayService;
|
||||
import com.jsowell.common.constant.Constants;
|
||||
import com.jsowell.common.core.domain.model.LoginUser;
|
||||
import com.jsowell.common.core.page.PageResponse;
|
||||
@@ -27,6 +28,7 @@ import com.jsowell.pile.dto.QueryOrderSplitDTO;
|
||||
import com.jsowell.pile.dto.QueryOrderSplitRecordDTO;
|
||||
import com.jsowell.pile.dto.SplitConfigStationDTO;
|
||||
import com.jsowell.pile.dto.SplitOrderDTO;
|
||||
import com.jsowell.pile.mapper.OrderBasicInfoMapper;
|
||||
import com.jsowell.pile.mapper.OrderSplitRecordMapper;
|
||||
import com.jsowell.pile.service.AdapayMemberAccountService;
|
||||
import com.jsowell.pile.service.OrderSplitRecordService;
|
||||
@@ -56,6 +58,9 @@ public class OrderSplitRecordServiceImpl implements OrderSplitRecordService {
|
||||
@Autowired
|
||||
private AdapayMemberAccountService adapayMemberAccountService;
|
||||
|
||||
@Autowired
|
||||
private OrderBasicInfoMapper orderBasicInfoMapper;
|
||||
|
||||
@Override
|
||||
public int batchInsert(List<OrderSplitRecord> list) {
|
||||
return orderSplitRecordMapper.batchInsert(list);
|
||||
@@ -667,6 +672,8 @@ public class OrderSplitRecordServiceImpl implements OrderSplitRecordService {
|
||||
return orderSplitRecordMapper.deleteOrderSplitRecord(orderCode);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 根据汇付会员id查询分账汇总数据
|
||||
* @param dto
|
||||
|
||||
@@ -3396,4 +3396,20 @@
|
||||
and t1.create_time <![CDATA[ <= ]]> #{endTime,jdbcType=VARCHAR}
|
||||
order by t1.create_time DESC
|
||||
</select>
|
||||
|
||||
<select id="getSplitOrders" resultType="com.jsowell.pile.domain.OrderSplitRecord">
|
||||
SELECT
|
||||
t1.`order_code` as orderCode,
|
||||
t1.`settle_amount` as settleAmount,
|
||||
t2.payment_id as paymentId
|
||||
FROM
|
||||
`order_basic_info` t1
|
||||
LEFT JOIN `adapay_callback_record` t2 ON `t1`.`order_code` = t2.`order_code`
|
||||
WHERE
|
||||
t1.`del_flag` = '0'
|
||||
AND t1.`merchant_id` = #{dto.merchantId,jdbcType=VARCHAR}
|
||||
AND t1.`settlement_time` BETWEEN #{dto.startTime,jdbcType=VARCHAR}
|
||||
AND #{dto.endTime,jdbcType=VARCHAR}
|
||||
AND t1.`settle_amount` > 0;
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
Reference in New Issue
Block a user