update 订单分账记录 将当前登录用户的分账信息置顶

This commit is contained in:
Lemon
2025-04-12 16:04:19 +08:00
parent ef596a6fc7
commit 0ec76dd08b

View File

@@ -8,18 +8,22 @@ import com.jsowell.adapay.dto.PaymentConfirmParam;
import com.jsowell.adapay.dto.SplitData;
import com.jsowell.adapay.response.PaymentConfirmResponse;
import com.jsowell.common.constant.Constants;
import com.jsowell.common.core.domain.model.LoginUser;
import com.jsowell.common.core.page.PageResponse;
import com.jsowell.common.enums.DelFlagEnum;
import com.jsowell.common.enums.adapay.AdapayStatusEnum;
import com.jsowell.common.util.DateUtils;
import com.jsowell.common.util.SecurityUtils;
import com.jsowell.common.util.StringUtils;
import com.jsowell.pile.domain.AdapayMemberAccount;
import com.jsowell.pile.domain.OrderSplitRecord;
import com.jsowell.pile.domain.PileMerchantInfo;
import com.jsowell.pile.dto.QueryOrderSplitDTO;
import com.jsowell.pile.dto.SplitOrderDTO;
import com.jsowell.pile.mapper.OrderSplitRecordMapper;
import com.jsowell.pile.service.AdapayMemberAccountService;
import com.jsowell.pile.service.OrderSplitRecordService;
import com.jsowell.pile.service.PileMerchantInfoService;
import com.jsowell.pile.vo.OrderInfoDetailVO;
import com.jsowell.pile.vo.web.*;
import org.apache.commons.collections4.CollectionUtils;
@@ -28,10 +32,7 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.*;
import java.util.stream.Collectors;
@Service
@@ -40,6 +41,9 @@ public class OrderSplitRecordServiceImpl implements OrderSplitRecordService {
@Resource
private OrderSplitRecordMapper orderSplitRecordMapper;
@Autowired
private PileMerchantInfoService pileMerchantInfoService;
@Autowired
private AdapayMemberAccountService adapayMemberAccountService;
@@ -280,6 +284,11 @@ public class OrderSplitRecordServiceImpl implements OrderSplitRecordService {
Map<String, List<OrderSplitRecordVO>> collect = orderSplitRecordVOS.stream()
.collect(Collectors.groupingBy(OrderSplitRecordVO::getOrderCode));
// 获取当前登录用户信息
LoginUser loginUser = SecurityUtils.getLoginUser();
// 通过 depId 查询运营商记录表,如果查出来,则为运营商
PileMerchantInfo pileMerchantInfo = pileMerchantInfoService.queryInfoByDeptId(String.valueOf(loginUser.getDeptId()));
for (Map.Entry<String, List<OrderSplitRecordVO>> entry : collect.entrySet()) {
String orderCode = entry.getKey();
List<OrderSplitRecordVO> splitRecordVOList = entry.getValue();
@@ -307,10 +316,21 @@ public class OrderSplitRecordServiceImpl implements OrderSplitRecordService {
.build();
orderSplitList.add(orderSplit);
}
// 对 orderSplitList 进行排序,将当前登录用户的分账记录放在第一条
if (pileMerchantInfo != null) {
for (int i = 0; i < orderSplitList.size(); i++) {
SplitRecordInfoVO.OrderSplit orderSplit = orderSplitList.get(i);
if (StringUtils.equals(String.valueOf(pileMerchantInfo.getId()), orderSplit.getMerchantId())) {
// 实则是将符合条件的记录与第一条记录进行位置互换
Collections.swap(orderSplitList, i, 0);
}
}
}
vo.setOrderSplitList(orderSplitList);
resultList.add(vo);
}
// 组装分页返回参数
PageResponse pageResponse = PageResponse.builder()
.pageSize(pageSize)