fix: 补齐销售订单筛选及拼团团长昵称

This commit is contained in:
YunaiV
2026-10-04 13:13:45 +08:00
parent d3d00639c0
commit 1ad8b5291b
6 changed files with 50 additions and 1 deletions
@@ -24,6 +24,7 @@ import org.springframework.web.bind.annotation.RestController;
import jakarta.annotation.Resource;
import jakarta.validation.Valid;
import java.util.List;
import java.util.Map;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet;
@@ -51,7 +52,19 @@ public class CombinationRecordController {
convertSet(recordPage.getList(), CombinationRecordDO::getActivityId));
List<CombinationProductDO> products = combinationActivityService.getCombinationProductListByActivityIds(
convertSet(recordPage.getList(), CombinationRecordDO::getActivityId));
return success(CombinationActivityConvert.INSTANCE.convert(recordPage, activities, products));
PageResult<CombinationRecordPageItemRespVO> result = CombinationActivityConvert.INSTANCE.convert(recordPage, activities, products);
Map<Long, CombinationRecordDO> headRecords = combinationRecordService.getCombinationRecordMapByIds(
convertSet(recordPage.getList(), CombinationRecordDO::getHeadId,
record -> record.getHeadId() != null && record.getHeadId() > 0));
result.getList().forEach(item -> {
if (item.getHeadId() == null || CombinationRecordDO.HEAD_ID_GROUP.equals(item.getHeadId())) {
item.setHeadNickname(item.getNickname());
} else {
CombinationRecordDO headRecord = headRecords.get(item.getHeadId());
item.setHeadNickname(headRecord == null ? null : headRecord.getNickname());
}
});
return success(result);
}
@GetMapping("/get-summary")
@@ -12,6 +12,9 @@ import lombok.ToString;
@ToString(callSuper = true)
public class CombinationRecordPageItemRespVO extends CombinationRecordBaseVO {
@Schema(description = "团长昵称", example = "芋道源码")
private String headNickname;
// ========== 活动相关 ==========
private CombinationActivityRespVO activity;
@@ -15,6 +15,8 @@ import java.util.Collection;
import java.util.List;
import java.util.Map;
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap;
/**
* 拼团记录 Service 接口
*
@@ -119,6 +121,24 @@ public interface CombinationRecordService {
*/
List<CombinationRecordDO> getCombinationRecordListByHeadId(Long headId);
/**
* 获得指定编号的拼团记录列表
*
* @param ids 记录编号集合
* @return 拼团记录列表
*/
List<CombinationRecordDO> getCombinationRecordListByIds(Collection<Long> ids);
/**
* 获得指定编号的拼团记录 Map
*
* @param ids 记录编号集合
* @return 拼团记录 Map
*/
default Map<Long, CombinationRecordDO> getCombinationRecordMapByIds(Collection<Long> ids) {
return convertMap(getCombinationRecordListByIds(ids), CombinationRecordDO::getId);
}
/**
* 获取拼团记录分页数据
*
@@ -40,6 +40,7 @@ import org.springframework.validation.annotation.Validated;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Map;
@@ -286,6 +287,14 @@ public class CombinationRecordServiceImpl implements CombinationRecordService {
return combinationRecordMapper.selectList(CombinationRecordDO::getHeadId, headId);
}
@Override
public List<CombinationRecordDO> getCombinationRecordListByIds(Collection<Long> ids) {
if (CollUtil.isEmpty(ids)) {
return Collections.emptyList();
}
return combinationRecordMapper.selectByIds(ids);
}
@Override
public PageResult<CombinationRecordDO> getCombinationRecordPage(CombinationRecordReqPageVO pageVO) {
return combinationRecordMapper.selectPage(pageVO);
@@ -23,6 +23,9 @@ public class MesWmProductSalesPageReqVO extends PageParam {
@Schema(description = "出库单名称", example = "产品出库单")
private String name;
@Schema(description = "销售订单编号", example = "SO202603010001")
private String salesOrderCode;
@Schema(description = "客户编号", example = "1")
private Long clientId;
@@ -21,6 +21,7 @@ public interface MesWmProductSalesMapper extends BaseMapperX<MesWmProductSalesDO
return selectPage(reqVO, new LambdaQueryWrapperX<MesWmProductSalesDO>()
.likeIfPresent(MesWmProductSalesDO::getCode, reqVO.getCode())
.likeIfPresent(MesWmProductSalesDO::getName, reqVO.getName())
.likeIfPresent(MesWmProductSalesDO::getSalesOrderCode, reqVO.getSalesOrderCode())
.eqIfPresent(MesWmProductSalesDO::getClientId, reqVO.getClientId())
.eqIfPresent(MesWmProductSalesDO::getStatus, reqVO.getStatus())
.betweenIfPresent(MesWmProductSalesDO::getSalesDate, reqVO.getShipmentDate())