From 0ec76dd08b78695b2f1f9ec6d7eb727e721c60c7 Mon Sep 17 00:00:00 2001 From: Lemon Date: Sat, 12 Apr 2025 16:04:19 +0800 Subject: [PATCH] =?UTF-8?q?update=20=20=E8=AE=A2=E5=8D=95=E5=88=86?= =?UTF-8?q?=E8=B4=A6=E8=AE=B0=E5=BD=95=20=E5=B0=86=E5=BD=93=E5=89=8D?= =?UTF-8?q?=E7=99=BB=E5=BD=95=E7=94=A8=E6=88=B7=E7=9A=84=E5=88=86=E8=B4=A6?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E7=BD=AE=E9=A1=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/OrderSplitRecordServiceImpl.java | 28 ++++++++++++++++--- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderSplitRecordServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderSplitRecordServiceImpl.java index 3bcbb2daf..7d0e5a912 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderSplitRecordServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderSplitRecordServiceImpl.java @@ -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> collect = orderSplitRecordVOS.stream() .collect(Collectors.groupingBy(OrderSplitRecordVO::getOrderCode)); + // 获取当前登录用户信息 + LoginUser loginUser = SecurityUtils.getLoginUser(); + // 通过 depId 查询运营商记录表,如果查出来,则为运营商 + PileMerchantInfo pileMerchantInfo = pileMerchantInfoService.queryInfoByDeptId(String.valueOf(loginUser.getDeptId())); + for (Map.Entry> entry : collect.entrySet()) { String orderCode = entry.getKey(); List 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)