|
@@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil;
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
import cn.iocoder.yudao.framework.common.core.KeyValue;
|
|
import cn.iocoder.yudao.framework.common.core.KeyValue;
|
|
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
|
|
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
|
|
|
|
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|
import cn.iocoder.yudao.module.member.api.user.MemberUserApi;
|
|
import cn.iocoder.yudao.module.member.api.user.MemberUserApi;
|
|
import cn.iocoder.yudao.module.member.api.user.dto.MemberUserRespDTO;
|
|
import cn.iocoder.yudao.module.member.api.user.dto.MemberUserRespDTO;
|
|
import cn.iocoder.yudao.module.product.api.sku.ProductSkuApi;
|
|
import cn.iocoder.yudao.module.product.api.sku.ProductSkuApi;
|
|
@@ -12,6 +13,7 @@ import cn.iocoder.yudao.module.product.api.spu.ProductSpuApi;
|
|
import cn.iocoder.yudao.module.product.api.spu.dto.ProductSpuRespDTO;
|
|
import cn.iocoder.yudao.module.product.api.spu.dto.ProductSpuRespDTO;
|
|
import cn.iocoder.yudao.module.promotion.api.combination.dto.CombinationRecordCreateReqDTO;
|
|
import cn.iocoder.yudao.module.promotion.api.combination.dto.CombinationRecordCreateReqDTO;
|
|
import cn.iocoder.yudao.module.promotion.api.combination.dto.CombinationValidateJoinRespDTO;
|
|
import cn.iocoder.yudao.module.promotion.api.combination.dto.CombinationValidateJoinRespDTO;
|
|
|
|
+import cn.iocoder.yudao.module.promotion.controller.admin.combination.vo.recrod.CombinationRecordReqPageVO;
|
|
import cn.iocoder.yudao.module.promotion.convert.combination.CombinationActivityConvert;
|
|
import cn.iocoder.yudao.module.promotion.convert.combination.CombinationActivityConvert;
|
|
import cn.iocoder.yudao.module.promotion.dal.dataobject.combination.CombinationActivityDO;
|
|
import cn.iocoder.yudao.module.promotion.dal.dataobject.combination.CombinationActivityDO;
|
|
import cn.iocoder.yudao.module.promotion.dal.dataobject.combination.CombinationProductDO;
|
|
import cn.iocoder.yudao.module.promotion.dal.dataobject.combination.CombinationProductDO;
|
|
@@ -137,7 +139,7 @@ public class CombinationRecordServiceImpl implements CombinationRecordService {
|
|
throw exception(COMBINATION_ACTIVITY_UPDATE_STOCK_FAIL);
|
|
throw exception(COMBINATION_ACTIVITY_UPDATE_STOCK_FAIL);
|
|
}
|
|
}
|
|
// 3、校验是否有拼团记录
|
|
// 3、校验是否有拼团记录
|
|
- List<CombinationRecordDO> recordList = getRecordListByUserIdAndActivityId(userId, activityId);
|
|
|
|
|
|
+ List<CombinationRecordDO> recordList = getCombinationRecordListByUserIdAndActivityId(userId, activityId);
|
|
if (CollUtil.isEmpty(recordList)) {
|
|
if (CollUtil.isEmpty(recordList)) {
|
|
return new KeyValue<>(activity, product);
|
|
return new KeyValue<>(activity, product);
|
|
}
|
|
}
|
|
@@ -211,7 +213,7 @@ public class CombinationRecordServiceImpl implements CombinationRecordService {
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public List<CombinationRecordDO> getRecordListByUserIdAndActivityId(Long userId, Long activityId) {
|
|
|
|
|
|
+ public List<CombinationRecordDO> getCombinationRecordListByUserIdAndActivityId(Long userId, Long activityId) {
|
|
return recordMapper.selectListByUserIdAndActivityId(userId, activityId);
|
|
return recordMapper.selectListByUserIdAndActivityId(userId, activityId);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -225,31 +227,51 @@ public class CombinationRecordServiceImpl implements CombinationRecordService {
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public Long getRecordsCount() {
|
|
|
|
|
|
+ public Long getCombinationRecordsCount() {
|
|
return recordMapper.selectCount();
|
|
return recordMapper.selectCount();
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public List<CombinationRecordDO> getLatestRecordList(int count) {
|
|
|
|
|
|
+ public Long getCombinationRecordsSuccessCount() {
|
|
|
|
+ return recordMapper.selectCount(CombinationRecordDO::getStatus, CombinationRecordStatusEnum.SUCCESS.getStatus());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public Long getRecordsVirtualGroupCount() {
|
|
|
|
+ return recordMapper.selectCount(CombinationRecordDO::getVirtualGroup, true);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public Long getCombinationRecordsCountByDateType(Integer dateType) {
|
|
|
|
+ return recordMapper.selectCount(dateType);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public List<CombinationRecordDO> getLatestCombinationRecordList(int count) {
|
|
return recordMapper.selectLatestList(count);
|
|
return recordMapper.selectLatestList(count);
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public List<CombinationRecordDO> getRecordListWithHead(Long activityId, Integer status, Integer count) {
|
|
|
|
|
|
+ public List<CombinationRecordDO> getCombinationRecordListWithHead(Long activityId, Integer status, Integer count) {
|
|
return recordMapper.selectList(activityId, status, count);
|
|
return recordMapper.selectList(activityId, status, count);
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public CombinationRecordDO getRecordById(Long id) {
|
|
|
|
|
|
+ public CombinationRecordDO getCombinationRecordById(Long id) {
|
|
return recordMapper.selectById(id);
|
|
return recordMapper.selectById(id);
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public List<CombinationRecordDO> getRecordListByHeadId(Long headId) {
|
|
|
|
|
|
+ public List<CombinationRecordDO> getCombinationRecordListByHeadId(Long headId) {
|
|
return recordMapper.selectList(CombinationRecordDO::getHeadId, headId);
|
|
return recordMapper.selectList(CombinationRecordDO::getHeadId, headId);
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
|
+ public PageResult<CombinationRecordDO> getCombinationRecordPage(CombinationRecordReqPageVO pageVO) {
|
|
|
|
+ return recordMapper.selectPage(pageVO);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
public Map<Long, Integer> getCombinationRecordCountMapByActivity(Collection<Long> activityIds,
|
|
public Map<Long, Integer> getCombinationRecordCountMapByActivity(Collection<Long> activityIds,
|
|
@Nullable Integer status, @Nullable Integer headId) {
|
|
@Nullable Integer status, @Nullable Integer headId) {
|
|
return recordMapper.selectCombinationRecordCountMapByActivityIdAndStatusAndHeadId(activityIds, status, headId);
|
|
return recordMapper.selectCombinationRecordCountMapByActivityIdAndStatusAndHeadId(activityIds, status, headId);
|