diff --git a/yudao-module-mall/yudao-module-promotion/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/combination/CombinationRecordController.java b/yudao-module-mall/yudao-module-promotion/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/combination/CombinationRecordController.java index ed93f2fb86..d13510ab86 100644 --- a/yudao-module-mall/yudao-module-promotion/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/combination/CombinationRecordController.java +++ b/yudao-module-mall/yudao-module-promotion/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/combination/CombinationRecordController.java @@ -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 products = combinationActivityService.getCombinationProductListByActivityIds( convertSet(recordPage.getList(), CombinationRecordDO::getActivityId)); - return success(CombinationActivityConvert.INSTANCE.convert(recordPage, activities, products)); + PageResult result = CombinationActivityConvert.INSTANCE.convert(recordPage, activities, products); + Map 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") diff --git a/yudao-module-mall/yudao-module-promotion/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/combination/vo/recrod/CombinationRecordPageItemRespVO.java b/yudao-module-mall/yudao-module-promotion/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/combination/vo/recrod/CombinationRecordPageItemRespVO.java index 7b1b10bacd..a4b4224807 100644 --- a/yudao-module-mall/yudao-module-promotion/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/combination/vo/recrod/CombinationRecordPageItemRespVO.java +++ b/yudao-module-mall/yudao-module-promotion/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/combination/vo/recrod/CombinationRecordPageItemRespVO.java @@ -12,6 +12,9 @@ import lombok.ToString; @ToString(callSuper = true) public class CombinationRecordPageItemRespVO extends CombinationRecordBaseVO { + @Schema(description = "团长昵称", example = "芋道源码") + private String headNickname; + // ========== 活动相关 ========== private CombinationActivityRespVO activity; diff --git a/yudao-module-mall/yudao-module-promotion/src/main/java/cn/iocoder/yudao/module/promotion/service/combination/CombinationRecordService.java b/yudao-module-mall/yudao-module-promotion/src/main/java/cn/iocoder/yudao/module/promotion/service/combination/CombinationRecordService.java index 41400d3d86..5096798fd9 100644 --- a/yudao-module-mall/yudao-module-promotion/src/main/java/cn/iocoder/yudao/module/promotion/service/combination/CombinationRecordService.java +++ b/yudao-module-mall/yudao-module-promotion/src/main/java/cn/iocoder/yudao/module/promotion/service/combination/CombinationRecordService.java @@ -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 getCombinationRecordListByHeadId(Long headId); + /** + * 获得指定编号的拼团记录列表 + * + * @param ids 记录编号集合 + * @return 拼团记录列表 + */ + List getCombinationRecordListByIds(Collection ids); + + /** + * 获得指定编号的拼团记录 Map + * + * @param ids 记录编号集合 + * @return 拼团记录 Map + */ + default Map getCombinationRecordMapByIds(Collection ids) { + return convertMap(getCombinationRecordListByIds(ids), CombinationRecordDO::getId); + } + /** * 获取拼团记录分页数据 * diff --git a/yudao-module-mall/yudao-module-promotion/src/main/java/cn/iocoder/yudao/module/promotion/service/combination/CombinationRecordServiceImpl.java b/yudao-module-mall/yudao-module-promotion/src/main/java/cn/iocoder/yudao/module/promotion/service/combination/CombinationRecordServiceImpl.java index ab215f6032..76e0fe2b4b 100644 --- a/yudao-module-mall/yudao-module-promotion/src/main/java/cn/iocoder/yudao/module/promotion/service/combination/CombinationRecordServiceImpl.java +++ b/yudao-module-mall/yudao-module-promotion/src/main/java/cn/iocoder/yudao/module/promotion/service/combination/CombinationRecordServiceImpl.java @@ -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 getCombinationRecordListByIds(Collection ids) { + if (CollUtil.isEmpty(ids)) { + return Collections.emptyList(); + } + return combinationRecordMapper.selectByIds(ids); + } + @Override public PageResult getCombinationRecordPage(CombinationRecordReqPageVO pageVO) { return combinationRecordMapper.selectPage(pageVO); diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productsales/vo/MesWmProductSalesPageReqVO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productsales/vo/MesWmProductSalesPageReqVO.java index 3f65810c80..963c6515e0 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productsales/vo/MesWmProductSalesPageReqVO.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productsales/vo/MesWmProductSalesPageReqVO.java @@ -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; diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/productsales/MesWmProductSalesMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/productsales/MesWmProductSalesMapper.java index e350ee4dc2..28b40dff87 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/productsales/MesWmProductSalesMapper.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/productsales/MesWmProductSalesMapper.java @@ -21,6 +21,7 @@ public interface MesWmProductSalesMapper extends BaseMapperX() .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())