Commit 1ad8b5291bf42861626f082f21521d52ee5892b1

Authored by YunaiV
1 parent d3d00639

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

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; @@ -24,6 +24,7 @@ import org.springframework.web.bind.annotation.RestController;
24 import jakarta.annotation.Resource; 24 import jakarta.annotation.Resource;
25 import jakarta.validation.Valid; 25 import jakarta.validation.Valid;
26 import java.util.List; 26 import java.util.List;
  27 +import java.util.Map;
27 28
28 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; 29 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
29 import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet; 30 import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet;
@@ -51,7 +52,19 @@ public class CombinationRecordController { @@ -51,7 +52,19 @@ public class CombinationRecordController {
51 convertSet(recordPage.getList(), CombinationRecordDO::getActivityId)); 52 convertSet(recordPage.getList(), CombinationRecordDO::getActivityId));
52 List<CombinationProductDO> products = combinationActivityService.getCombinationProductListByActivityIds( 53 List<CombinationProductDO> products = combinationActivityService.getCombinationProductListByActivityIds(
53 convertSet(recordPage.getList(), CombinationRecordDO::getActivityId)); 54 convertSet(recordPage.getList(), CombinationRecordDO::getActivityId));
54 - return success(CombinationActivityConvert.INSTANCE.convert(recordPage, activities, products)); 55 + PageResult<CombinationRecordPageItemRespVO> result = CombinationActivityConvert.INSTANCE.convert(recordPage, activities, products);
  56 + Map<Long, CombinationRecordDO> headRecords = combinationRecordService.getCombinationRecordMapByIds(
  57 + convertSet(recordPage.getList(), CombinationRecordDO::getHeadId,
  58 + record -> record.getHeadId() != null && record.getHeadId() > 0));
  59 + result.getList().forEach(item -> {
  60 + if (item.getHeadId() == null || CombinationRecordDO.HEAD_ID_GROUP.equals(item.getHeadId())) {
  61 + item.setHeadNickname(item.getNickname());
  62 + } else {
  63 + CombinationRecordDO headRecord = headRecords.get(item.getHeadId());
  64 + item.setHeadNickname(headRecord == null ? null : headRecord.getNickname());
  65 + }
  66 + });
  67 + return success(result);
55 } 68 }
56 69
57 @GetMapping("/get-summary") 70 @GetMapping("/get-summary")
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; @@ -12,6 +12,9 @@ import lombok.ToString;
12 @ToString(callSuper = true) 12 @ToString(callSuper = true)
13 public class CombinationRecordPageItemRespVO extends CombinationRecordBaseVO { 13 public class CombinationRecordPageItemRespVO extends CombinationRecordBaseVO {
14 14
  15 + @Schema(description = "团长昵称", example = "芋道源码")
  16 + private String headNickname;
  17 +
15 // ========== 活动相关 ========== 18 // ========== 活动相关 ==========
16 19
17 private CombinationActivityRespVO activity; 20 private CombinationActivityRespVO activity;
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; @@ -15,6 +15,8 @@ import java.util.Collection;
15 import java.util.List; 15 import java.util.List;
16 import java.util.Map; 16 import java.util.Map;
17 17
  18 +import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap;
  19 +
18 /** 20 /**
19 * 拼团记录 Service 接口 21 * 拼团记录 Service 接口
20 * 22 *
@@ -120,6 +122,24 @@ public interface CombinationRecordService { @@ -120,6 +122,24 @@ public interface CombinationRecordService {
120 List<CombinationRecordDO> getCombinationRecordListByHeadId(Long headId); 122 List<CombinationRecordDO> getCombinationRecordListByHeadId(Long headId);
121 123
122 /** 124 /**
  125 + * 获得指定编号的拼团记录列表
  126 + *
  127 + * @param ids 记录编号集合
  128 + * @return 拼团记录列表
  129 + */
  130 + List<CombinationRecordDO> getCombinationRecordListByIds(Collection<Long> ids);
  131 +
  132 + /**
  133 + * 获得指定编号的拼团记录 Map
  134 + *
  135 + * @param ids 记录编号集合
  136 + * @return 拼团记录 Map
  137 + */
  138 + default Map<Long, CombinationRecordDO> getCombinationRecordMapByIds(Collection<Long> ids) {
  139 + return convertMap(getCombinationRecordListByIds(ids), CombinationRecordDO::getId);
  140 + }
  141 +
  142 + /**
123 * 获取拼团记录分页数据 143 * 获取拼团记录分页数据
124 * 144 *
125 * @param pageVO 分页请求 145 * @param pageVO 分页请求
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; @@ -40,6 +40,7 @@ import org.springframework.validation.annotation.Validated;
40 import java.time.LocalDateTime; 40 import java.time.LocalDateTime;
41 import java.util.ArrayList; 41 import java.util.ArrayList;
42 import java.util.Collection; 42 import java.util.Collection;
  43 +import java.util.Collections;
43 import java.util.List; 44 import java.util.List;
44 import java.util.Map; 45 import java.util.Map;
45 46
@@ -287,6 +288,14 @@ public class CombinationRecordServiceImpl implements CombinationRecordService { @@ -287,6 +288,14 @@ public class CombinationRecordServiceImpl implements CombinationRecordService {
287 } 288 }
288 289
289 @Override 290 @Override
  291 + public List<CombinationRecordDO> getCombinationRecordListByIds(Collection<Long> ids) {
  292 + if (CollUtil.isEmpty(ids)) {
  293 + return Collections.emptyList();
  294 + }
  295 + return combinationRecordMapper.selectByIds(ids);
  296 + }
  297 +
  298 + @Override
290 public PageResult<CombinationRecordDO> getCombinationRecordPage(CombinationRecordReqPageVO pageVO) { 299 public PageResult<CombinationRecordDO> getCombinationRecordPage(CombinationRecordReqPageVO pageVO) {
291 return combinationRecordMapper.selectPage(pageVO); 300 return combinationRecordMapper.selectPage(pageVO);
292 } 301 }
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 { @@ -23,6 +23,9 @@ public class MesWmProductSalesPageReqVO extends PageParam {
23 @Schema(description = "出库单名称", example = "产品出库单") 23 @Schema(description = "出库单名称", example = "产品出库单")
24 private String name; 24 private String name;
25 25
  26 + @Schema(description = "销售订单编号", example = "SO202603010001")
  27 + private String salesOrderCode;
  28 +
26 @Schema(description = "客户编号", example = "1") 29 @Schema(description = "客户编号", example = "1")
27 private Long clientId; 30 private Long clientId;
28 31
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&lt;MesWmProductSalesDO @@ -21,6 +21,7 @@ public interface MesWmProductSalesMapper extends BaseMapperX&lt;MesWmProductSalesDO
21 return selectPage(reqVO, new LambdaQueryWrapperX<MesWmProductSalesDO>() 21 return selectPage(reqVO, new LambdaQueryWrapperX<MesWmProductSalesDO>()
22 .likeIfPresent(MesWmProductSalesDO::getCode, reqVO.getCode()) 22 .likeIfPresent(MesWmProductSalesDO::getCode, reqVO.getCode())
23 .likeIfPresent(MesWmProductSalesDO::getName, reqVO.getName()) 23 .likeIfPresent(MesWmProductSalesDO::getName, reqVO.getName())
  24 + .likeIfPresent(MesWmProductSalesDO::getSalesOrderCode, reqVO.getSalesOrderCode())
24 .eqIfPresent(MesWmProductSalesDO::getClientId, reqVO.getClientId()) 25 .eqIfPresent(MesWmProductSalesDO::getClientId, reqVO.getClientId())
25 .eqIfPresent(MesWmProductSalesDO::getStatus, reqVO.getStatus()) 26 .eqIfPresent(MesWmProductSalesDO::getStatus, reqVO.getStatus())
26 .betweenIfPresent(MesWmProductSalesDO::getSalesDate, reqVO.getShipmentDate()) 27 .betweenIfPresent(MesWmProductSalesDO::getSalesDate, reqVO.getShipmentDate())