Commit 99649bfdb82390405bda27df60faeeaeed52cbd8
1 parent
6a38da4a
code review:拼团记录流程
Showing
12 changed files
with
22 additions
and
109 deletions
yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/collection/CollectionUtils.java
| @@ -25,6 +25,7 @@ public class CollectionUtils { | @@ -25,6 +25,7 @@ public class CollectionUtils { | ||
| 25 | return Arrays.stream(collections).anyMatch(CollectionUtil::isEmpty); | 25 | return Arrays.stream(collections).anyMatch(CollectionUtil::isEmpty); |
| 26 | } | 26 | } |
| 27 | 27 | ||
| 28 | + // TODO @puhui999: list.sort(); 可以替代呀; | ||
| 28 | public static <T, U extends Comparable<? super U>> List<T> sortedAsc( | 29 | public static <T, U extends Comparable<? super U>> List<T> sortedAsc( |
| 29 | Collection<T> from, Function<? super T, ? extends U> keyExtractor) { | 30 | Collection<T> from, Function<? super T, ? extends U> keyExtractor) { |
| 30 | // 按照升序排序 | 31 | // 按照升序排序 |
yudao-module-mall/yudao-module-promotion-api/src/main/java/cn/iocoder/yudao/module/promotion/api/combination/CombinationRecordApi.java
| @@ -61,6 +61,7 @@ public interface CombinationRecordApi { | @@ -61,6 +61,7 @@ public interface CombinationRecordApi { | ||
| 61 | * @param count 数量 | 61 | * @param count 数量 |
| 62 | * @return 拼团信息 | 62 | * @return 拼团信息 |
| 63 | */ | 63 | */ |
| 64 | - CombinationValidateJoinRespDTO validateJoinCombination(Long userId, Long activityId, Long headId, Long skuId, Integer count); | 64 | + CombinationValidateJoinRespDTO validateJoinCombination(Long userId, Long activityId, Long headId, |
| 65 | + Long skuId, Integer count); | ||
| 65 | 66 | ||
| 66 | } | 67 | } |
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/api/combination/CombinationRecordApiImpl.java
| @@ -35,12 +35,11 @@ public class CombinationRecordApiImpl implements CombinationRecordApi { | @@ -35,12 +35,11 @@ public class CombinationRecordApiImpl implements CombinationRecordApi { | ||
| 35 | 35 | ||
| 36 | @Override | 36 | @Override |
| 37 | public boolean isCombinationRecordSuccess(Long userId, Long orderId) { | 37 | public boolean isCombinationRecordSuccess(Long userId, Long orderId) { |
| 38 | - CombinationRecordDO combinationRecord = recordService.getCombinationRecord(userId, orderId); | ||
| 39 | - if (combinationRecord == null) { | 38 | + CombinationRecordDO record = recordService.getCombinationRecord(userId, orderId); |
| 39 | + if (record == null) { | ||
| 40 | throw exception(COMBINATION_RECORD_NOT_EXISTS); | 40 | throw exception(COMBINATION_RECORD_NOT_EXISTS); |
| 41 | } | 41 | } |
| 42 | - | ||
| 43 | - return CombinationRecordStatusEnum.isSuccess(combinationRecord.getStatus()); | 42 | + return CombinationRecordStatusEnum.isSuccess(record.getStatus()); |
| 44 | } | 43 | } |
| 45 | 44 | ||
| 46 | @Override | 45 | @Override |
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/combination/CombinationRecordController.java
| @@ -33,6 +33,8 @@ public class CombinationRecordController { | @@ -33,6 +33,8 @@ public class CombinationRecordController { | ||
| 33 | 33 | ||
| 34 | @Resource | 34 | @Resource |
| 35 | private CombinationRecordService combinationRecordService; | 35 | private CombinationRecordService combinationRecordService; |
| 36 | + | ||
| 37 | + // TODO @puhui999:这个缓存不用做哈;主要管理后台,对性能要求不高;不像前段; | ||
| 36 | /** | 38 | /** |
| 37 | * {@link Map} 缓存,通过它异步刷新 {@link #getCombinationRecordSummary0()} 所要的拼团记录统计数据 | 39 | * {@link Map} 缓存,通过它异步刷新 {@link #getCombinationRecordSummary0()} 所要的拼团记录统计数据 |
| 38 | */ | 40 | */ |
| @@ -54,6 +56,7 @@ public class CombinationRecordController { | @@ -54,6 +56,7 @@ public class CombinationRecordController { | ||
| 54 | combinationRecordService.getCombinationRecordPage(pageVO))); | 56 | combinationRecordService.getCombinationRecordPage(pageVO))); |
| 55 | } | 57 | } |
| 56 | 58 | ||
| 59 | + // TODO @puhui999:Map 改成对象,尽量避免 Map 返回结果哈;然后 getCombinationRecordCount、getCombinationRecordsSuccessCount、getRecordsVirtualGroupCount 三个方法,可以合并成一个方法哈,返回这个 vo | ||
| 57 | @GetMapping("/get-summary") | 60 | @GetMapping("/get-summary") |
| 58 | @Operation(summary = "获得拼团记录的概要信息", description = "用于拼团记录页面展示") | 61 | @Operation(summary = "获得拼团记录的概要信息", description = "用于拼团记录页面展示") |
| 59 | @PreAuthorize("@ss.hasPermission('promotion:combination-record:query')") | 62 | @PreAuthorize("@ss.hasPermission('promotion:combination-record:query')") |
| @@ -61,26 +64,11 @@ public class CombinationRecordController { | @@ -61,26 +64,11 @@ public class CombinationRecordController { | ||
| 61 | return success(combinationRecordSummary.getUnchecked("")); // 缓存 | 64 | return success(combinationRecordSummary.getUnchecked("")); // 缓存 |
| 62 | } | 65 | } |
| 63 | 66 | ||
| 64 | - @GetMapping("/get-count") | ||
| 65 | - @Operation(summary = "获得拼团记录分页 tab count") | ||
| 66 | - @PreAuthorize("@ss.hasPermission('promotion:combination-record:query')") | ||
| 67 | - public CommonResult<Map<String, Long>> getCombinationRecordCount() { | ||
| 68 | - Map<String, Long> hashMap = MapUtil.newHashMap(7); | ||
| 69 | - hashMap.put("all", combinationRecordService.getCombinationRecordsCountByDateType(CombinationRecordReqPageVO.ALL));// 全部 | ||
| 70 | - hashMap.put("toDay", combinationRecordService.getCombinationRecordsCountByDateType(CombinationRecordReqPageVO.TO_DAY));// 今天 | ||
| 71 | - hashMap.put("yesterday", combinationRecordService.getCombinationRecordsCountByDateType(CombinationRecordReqPageVO.YESTERDAY));// 昨天 | ||
| 72 | - hashMap.put("lastSevenDays", combinationRecordService.getCombinationRecordsCountByDateType(CombinationRecordReqPageVO.LAST_SEVEN_DAYS));// 最近七天 | ||
| 73 | - hashMap.put("last30Days", combinationRecordService.getCombinationRecordsCountByDateType(CombinationRecordReqPageVO.LAST_30_DAYS));// 最近 30 天 | ||
| 74 | - hashMap.put("thisMonth", combinationRecordService.getCombinationRecordsCountByDateType(CombinationRecordReqPageVO.THIS_MONTH));// 本月 | ||
| 75 | - hashMap.put("thisYear", combinationRecordService.getCombinationRecordsCountByDateType(CombinationRecordReqPageVO.THIS_YEAR));// 本年 | ||
| 76 | - return success(hashMap); | ||
| 77 | - } | ||
| 78 | - | ||
| 79 | private Map<String, Long> getCombinationRecordSummary0() { | 67 | private Map<String, Long> getCombinationRecordSummary0() { |
| 80 | - Map<String, Long> hashMap = MapUtil.newHashMap(3); | ||
| 81 | - hashMap.put("userCount", combinationRecordService.getCombinationRecordCount());// 获取所有拼团记录 | ||
| 82 | - hashMap.put("successCount", combinationRecordService.getCombinationRecordsSuccessCount());// 获取成团记录 | ||
| 83 | - hashMap.put("virtualGroupCount", combinationRecordService.getRecordsVirtualGroupCount());// 获取虚拟成团记录 | 68 | + Map<String, Long> hashMap = MapUtil.newHashMap(3); // TODO @puhui999:Maps.newHashMapWithExpectedSize() |
| 69 | + hashMap.put("userCount", combinationRecordService.getCombinationRecordCount()); // 获取所有拼团记录 | ||
| 70 | + hashMap.put("successCount", combinationRecordService.getCombinationRecordsSuccessCount()); // 获取成团记录 | ||
| 71 | + hashMap.put("virtualGroupCount", combinationRecordService.getRecordsVirtualGroupCount()); // 获取虚拟成团记录 | ||
| 84 | return hashMap; | 72 | return hashMap; |
| 85 | } | 73 | } |
| 86 | 74 |
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/combination/vo/recrod/CombinationRecordReqPageVO.java
| 1 | package cn.iocoder.yudao.module.promotion.controller.admin.combination.vo.recrod; | 1 | package cn.iocoder.yudao.module.promotion.controller.admin.combination.vo.recrod; |
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.common.pojo.PageParam; | 3 | import cn.iocoder.yudao.framework.common.pojo.PageParam; |
| 4 | +import cn.iocoder.yudao.framework.common.validation.InEnum; | ||
| 5 | +import cn.iocoder.yudao.module.promotion.enums.bargain.BargainRecordStatusEnum; | ||
| 4 | import io.swagger.v3.oas.annotations.media.Schema; | 6 | import io.swagger.v3.oas.annotations.media.Schema; |
| 5 | import lombok.Data; | 7 | import lombok.Data; |
| 6 | import lombok.EqualsAndHashCode; | 8 | import lombok.EqualsAndHashCode; |
| @@ -17,18 +19,8 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_ | @@ -17,18 +19,8 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_ | ||
| 17 | @ToString(callSuper = true) | 19 | @ToString(callSuper = true) |
| 18 | public class CombinationRecordReqPageVO extends PageParam { | 20 | public class CombinationRecordReqPageVO extends PageParam { |
| 19 | 21 | ||
| 20 | - public static final Integer ALL = 0; // 全部 | ||
| 21 | - public static final Integer TO_DAY = 1; // 今天 | ||
| 22 | - public static final Integer YESTERDAY = 2; // 昨天 | ||
| 23 | - public static final Integer LAST_SEVEN_DAYS = 3; // 最近七天 | ||
| 24 | - public static final Integer LAST_30_DAYS = 4; // 最近 30 天 | ||
| 25 | - public static final Integer THIS_MONTH = 5; // 本月 | ||
| 26 | - public static final Integer THIS_YEAR = 6; // 本年 | ||
| 27 | - | ||
| 28 | - @Schema(description = "日期类型", example = "0") | ||
| 29 | - private Integer dateType; | ||
| 30 | - | ||
| 31 | - @Schema(description = "活动状态", example = "0") | 22 | + @Schema(description = "活动状态", example = "1") |
| 23 | + @InEnum(BargainRecordStatusEnum.class) | ||
| 32 | private Integer status; | 24 | private Integer status; |
| 33 | 25 | ||
| 34 | @Schema(description = "创建时间") | 26 | @Schema(description = "创建时间") |
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/combination/vo/recrod/CombinationRecordRespVO.java
| @@ -8,6 +8,7 @@ import java.time.LocalDateTime; | @@ -8,6 +8,7 @@ import java.time.LocalDateTime; | ||
| 8 | 8 | ||
| 9 | import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; | 9 | import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; |
| 10 | 10 | ||
| 11 | +// TODO @puhui999:可以参考 BargainRecordPageItemRespVO、BargainRecordRespVO 分成两个;一个给记录列表,一个给记录分页 | ||
| 11 | @Schema(description = "管理后台 - 拼团记录 Response VO") | 12 | @Schema(description = "管理后台 - 拼团记录 Response VO") |
| 12 | @Data | 13 | @Data |
| 13 | public class CombinationRecordRespVO { | 14 | public class CombinationRecordRespVO { |
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/convert/combination/CombinationActivityConvert.java
| @@ -108,6 +108,7 @@ public interface CombinationActivityConvert { | @@ -108,6 +108,7 @@ public interface CombinationActivityConvert { | ||
| 108 | 108 | ||
| 109 | CombinationRecordDO convert(CombinationRecordCreateReqDTO reqDTO); | 109 | CombinationRecordDO convert(CombinationRecordCreateReqDTO reqDTO); |
| 110 | 110 | ||
| 111 | + // TODO @芋艿:在 convert 优化下; | ||
| 111 | default CombinationRecordDO convert(CombinationRecordCreateReqDTO reqDTO, | 112 | default CombinationRecordDO convert(CombinationRecordCreateReqDTO reqDTO, |
| 112 | CombinationActivityDO activity, MemberUserRespDTO user, | 113 | CombinationActivityDO activity, MemberUserRespDTO user, |
| 113 | ProductSpuRespDTO spu, ProductSkuRespDTO sku) { | 114 | ProductSpuRespDTO spu, ProductSkuRespDTO sku) { |
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/dal/mysql/combination/CombinationRecordMapper.java
| @@ -2,7 +2,6 @@ package cn.iocoder.yudao.module.promotion.dal.mysql.combination; | @@ -2,7 +2,6 @@ package cn.iocoder.yudao.module.promotion.dal.mysql.combination; | ||
| 2 | 2 | ||
| 3 | import cn.hutool.core.collection.CollUtil; | 3 | import cn.hutool.core.collection.CollUtil; |
| 4 | import cn.hutool.core.map.MapUtil; | 4 | import cn.hutool.core.map.MapUtil; |
| 5 | -import cn.hutool.core.util.ObjectUtil; | ||
| 6 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 5 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 7 | import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; | 6 | import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; |
| 8 | import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; | 7 | import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; |
| @@ -12,8 +11,6 @@ import cn.iocoder.yudao.module.promotion.dal.dataobject.combination.CombinationR | @@ -12,8 +11,6 @@ import cn.iocoder.yudao.module.promotion.dal.dataobject.combination.CombinationR | ||
| 12 | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | 11 | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| 13 | import org.apache.ibatis.annotations.Mapper; | 12 | import org.apache.ibatis.annotations.Mapper; |
| 14 | 13 | ||
| 15 | -import java.time.LocalDateTime; | ||
| 16 | -import java.time.LocalTime; | ||
| 17 | import java.util.Collection; | 14 | import java.util.Collection; |
| 18 | import java.util.Collections; | 15 | import java.util.Collections; |
| 19 | import java.util.List; | 16 | import java.util.List; |
| @@ -44,12 +41,6 @@ public interface CombinationRecordMapper extends BaseMapperX<CombinationRecordDO | @@ -44,12 +41,6 @@ public interface CombinationRecordMapper extends BaseMapperX<CombinationRecordDO | ||
| 44 | .eq(CombinationRecordDO::getStatus, status)); | 41 | .eq(CombinationRecordDO::getStatus, status)); |
| 45 | } | 42 | } |
| 46 | 43 | ||
| 47 | - default List<CombinationRecordDO> selectListByHeadIdAndStatus(Long headId, Integer status) { | ||
| 48 | - return selectList(new LambdaQueryWrapperX<CombinationRecordDO>() | ||
| 49 | - .eq(CombinationRecordDO::getHeadId, headId) | ||
| 50 | - .eq(CombinationRecordDO::getStatus, status)); | ||
| 51 | - } | ||
| 52 | - | ||
| 53 | /** | 44 | /** |
| 54 | * 查询拼团记录 | 45 | * 查询拼团记录 |
| 55 | * | 46 | * |
| @@ -103,60 +94,10 @@ public interface CombinationRecordMapper extends BaseMapperX<CombinationRecordDO | @@ -103,60 +94,10 @@ public interface CombinationRecordMapper extends BaseMapperX<CombinationRecordDO | ||
| 103 | record -> MapUtil.getInt(record, "recordCount")); | 94 | record -> MapUtil.getInt(record, "recordCount")); |
| 104 | } | 95 | } |
| 105 | 96 | ||
| 106 | - static LocalDateTime[] builderQueryTime(Integer dateType) { | ||
| 107 | - LocalDateTime now = LocalDateTime.now(); | ||
| 108 | - LocalDateTime[] createTime = null; // 全部时间段 | ||
| 109 | - // 今天-一天开始到结束 | ||
| 110 | - if (ObjectUtil.equal(dateType, CombinationRecordReqPageVO.TO_DAY)) { | ||
| 111 | - createTime = new LocalDateTime[]{now.toLocalDate().atStartOfDay(), now.toLocalDate().atTime(LocalTime.MAX)}; | ||
| 112 | - } | ||
| 113 | - // 昨天-昨天开始和结束 | ||
| 114 | - if (ObjectUtil.equal(dateType, CombinationRecordReqPageVO.YESTERDAY)) { | ||
| 115 | - createTime = new LocalDateTime[]{now.minusDays(1).toLocalDate().atStartOfDay(), | ||
| 116 | - now.minusDays(1).toLocalDate().atTime(LocalTime.MAX)}; | ||
| 117 | - } | ||
| 118 | - // 最近七天 | ||
| 119 | - if (ObjectUtil.equal(dateType, CombinationRecordReqPageVO.LAST_SEVEN_DAYS)) { | ||
| 120 | - createTime = new LocalDateTime[]{now.minusDays(7).toLocalDate().atStartOfDay(), | ||
| 121 | - now.toLocalDate().atTime(LocalTime.MAX)}; | ||
| 122 | - } | ||
| 123 | - // 最近 30 天 | ||
| 124 | - if (ObjectUtil.equal(dateType, CombinationRecordReqPageVO.LAST_30_DAYS)) { | ||
| 125 | - createTime = new LocalDateTime[]{now.minusDays(30).toLocalDate().atStartOfDay(), | ||
| 126 | - now.toLocalDate().atTime(LocalTime.MAX)}; | ||
| 127 | - } | ||
| 128 | - // 本月 | ||
| 129 | - if (ObjectUtil.equal(dateType, CombinationRecordReqPageVO.THIS_MONTH)) { | ||
| 130 | - // 获取本月的开始时间 | ||
| 131 | - LocalDateTime startTime = now.withDayOfMonth(1).toLocalDate().atStartOfDay(); | ||
| 132 | - // 获取下个月的开始时间,然后减去一秒以获取本月的结束时间 | ||
| 133 | - LocalDateTime endTime = now.withDayOfMonth(1).plusMonths(1).toLocalDate().atStartOfDay().minusSeconds(1); | ||
| 134 | - createTime = new LocalDateTime[]{startTime, endTime}; | ||
| 135 | - } | ||
| 136 | - // 本年 | ||
| 137 | - if (ObjectUtil.equal(dateType, CombinationRecordReqPageVO.THIS_YEAR)) { | ||
| 138 | - // 获取本年的开始时间 | ||
| 139 | - LocalDateTime startTime = now.withDayOfYear(1).toLocalDate().atStartOfDay(); | ||
| 140 | - // 获取下一年的开始时间,然后减去一秒以获取本年的结束时间 | ||
| 141 | - LocalDateTime endTime = now.withDayOfYear(1).plusYears(1).toLocalDate().atStartOfDay().minusSeconds(1); | ||
| 142 | - createTime = new LocalDateTime[]{startTime, endTime}; | ||
| 143 | - } | ||
| 144 | - return createTime; | ||
| 145 | - } | ||
| 146 | - | ||
| 147 | default PageResult<CombinationRecordDO> selectPage(CombinationRecordReqPageVO pageVO) { | 97 | default PageResult<CombinationRecordDO> selectPage(CombinationRecordReqPageVO pageVO) { |
| 148 | - // 兼容自选时间段 | ||
| 149 | - if (pageVO.getDateType() != null) { | ||
| 150 | - pageVO.setCreateTime(builderQueryTime(pageVO.getDateType())); | ||
| 151 | - } | ||
| 152 | return selectPage(pageVO, new LambdaQueryWrapperX<CombinationRecordDO>() | 98 | return selectPage(pageVO, new LambdaQueryWrapperX<CombinationRecordDO>() |
| 153 | .eqIfPresent(CombinationRecordDO::getStatus, pageVO.getStatus()) | 99 | .eqIfPresent(CombinationRecordDO::getStatus, pageVO.getStatus()) |
| 154 | .betweenIfPresent(CombinationRecordDO::getCreateTime, pageVO.getCreateTime())); | 100 | .betweenIfPresent(CombinationRecordDO::getCreateTime, pageVO.getCreateTime())); |
| 155 | } | 101 | } |
| 156 | 102 | ||
| 157 | - default Long selectCount(Integer dateType) { | ||
| 158 | - return selectCount(new LambdaQueryWrapperX<CombinationRecordDO>() | ||
| 159 | - .betweenIfPresent(CombinationRecordDO::getCreateTime, builderQueryTime(dateType))); | ||
| 160 | - } | ||
| 161 | - | ||
| 162 | } | 103 | } |
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/combination/CombinationRecordService.java
| @@ -105,14 +105,6 @@ public interface CombinationRecordService { | @@ -105,14 +105,6 @@ public interface CombinationRecordService { | ||
| 105 | Long getRecordsVirtualGroupCount(); | 105 | Long getRecordsVirtualGroupCount(); |
| 106 | 106 | ||
| 107 | /** | 107 | /** |
| 108 | - * 获取指定日期类型的记录数,比如说获取最近七天的拼团记录数 | ||
| 109 | - * | ||
| 110 | - * @param dateType 日期类型 | ||
| 111 | - * @return 记录数 | ||
| 112 | - */ | ||
| 113 | - Long getCombinationRecordsCountByDateType(Integer dateType); | ||
| 114 | - | ||
| 115 | - /** | ||
| 116 | * 获取最近的 count 条拼团记录 | 108 | * 获取最近的 count 条拼团记录 |
| 117 | * | 109 | * |
| 118 | * @param count 限制数量 | 110 | * @param count 限制数量 |
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/service/combination/CombinationRecordServiceImpl.java
| @@ -262,20 +262,17 @@ public class CombinationRecordServiceImpl implements CombinationRecordService { | @@ -262,20 +262,17 @@ public class CombinationRecordServiceImpl implements CombinationRecordService { | ||
| 262 | 262 | ||
| 263 | @Override | 263 | @Override |
| 264 | public Long getCombinationRecordsSuccessCount() { | 264 | public Long getCombinationRecordsSuccessCount() { |
| 265 | + // TODO @puhui999:这个应该要多查询 headId | ||
| 265 | return recordMapper.selectCount(CombinationRecordDO::getStatus, CombinationRecordStatusEnum.SUCCESS.getStatus()); | 266 | return recordMapper.selectCount(CombinationRecordDO::getStatus, CombinationRecordStatusEnum.SUCCESS.getStatus()); |
| 266 | } | 267 | } |
| 267 | 268 | ||
| 268 | @Override | 269 | @Override |
| 269 | public Long getRecordsVirtualGroupCount() { | 270 | public Long getRecordsVirtualGroupCount() { |
| 271 | + // TODO @puhui999:这个应该要多查询 headId;然后,recordMapper 要明确的查询哈,不要直接使用 mapper 来拼接查询条件 | ||
| 270 | return recordMapper.selectCount(CombinationRecordDO::getVirtualGroup, true); | 272 | return recordMapper.selectCount(CombinationRecordDO::getVirtualGroup, true); |
| 271 | } | 273 | } |
| 272 | 274 | ||
| 273 | @Override | 275 | @Override |
| 274 | - public Long getCombinationRecordsCountByDateType(Integer dateType) { | ||
| 275 | - return recordMapper.selectCount(dateType); | ||
| 276 | - } | ||
| 277 | - | ||
| 278 | - @Override | ||
| 279 | public List<CombinationRecordDO> getLatestCombinationRecordList(int count) { | 276 | public List<CombinationRecordDO> getLatestCombinationRecordList(int count) { |
| 280 | return recordMapper.selectLatestList(count); | 277 | return recordMapper.selectLatestList(count); |
| 281 | } | 278 | } |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderUpdateService.java
| @@ -178,6 +178,7 @@ public interface TradeOrderUpdateService { | @@ -178,6 +178,7 @@ public interface TradeOrderUpdateService { | ||
| 178 | * @param combinationRecordId 拼团记录编号 | 178 | * @param combinationRecordId 拼团记录编号 |
| 179 | * @param headId 团长编号 | 179 | * @param headId 团长编号 |
| 180 | */ | 180 | */ |
| 181 | + // TODO 芋艿:再 review 拼团 | ||
| 181 | void updateOrderCombinationInfo(Long orderId, Long activityId, Long combinationRecordId, Long headId); | 182 | void updateOrderCombinationInfo(Long orderId, Long activityId, Long combinationRecordId, Long headId); |
| 182 | 183 | ||
| 183 | /** | 184 | /** |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/order/handler/TradeCombinationHandler.java
| @@ -43,7 +43,6 @@ public class TradeCombinationHandler implements TradeOrderHandler { | @@ -43,7 +43,6 @@ public class TradeCombinationHandler implements TradeOrderHandler { | ||
| 43 | if (TradeOrderTypeEnum.isCombination(order.getType())) { | 43 | if (TradeOrderTypeEnum.isCombination(order.getType())) { |
| 44 | return; | 44 | return; |
| 45 | } | 45 | } |
| 46 | - | ||
| 47 | Assert.isTrue(orderItems.size() == 1, "拼团时,只允许选择一个商品"); | 46 | Assert.isTrue(orderItems.size() == 1, "拼团时,只允许选择一个商品"); |
| 48 | 47 | ||
| 49 | // 获取商品信息 | 48 | // 获取商品信息 |