Commit 4bd10991 authored by shiyu's avatar shiyu

专场商品列表根据分享记录id查询

parent 765a005c
......@@ -92,4 +92,9 @@ public class SpecialPerformanceRequestDto extends BaseRequestDto implements Enti
* 1查询我的关注商品列表
*/
private Integer searchType;
/**
* 分享记录id
*/
private String shareRecordId;
}
......@@ -2,10 +2,7 @@ package com.wwdz.ch.wx.impl.distribution;
import com.github.pagehelper.PageInfo;
import com.wwdz.ch.core.api.WxAppletApi;
import com.wwdz.ch.core.consts.AuctionEnum;
import com.wwdz.ch.core.consts.DisposableSubscribeRecordEnum;
import com.wwdz.ch.core.consts.DistributionEnum;
import com.wwdz.ch.core.consts.SpecialPerformanceEnum;
import com.wwdz.ch.core.consts.*;
import com.wwdz.ch.core.entity.AuctionOfferNoticeMsg;
import com.wwdz.ch.core.entity.SupplierItemVo;
import com.wwdz.ch.core.notify.AliSmsSender;
......@@ -83,6 +80,12 @@ public class SpecialPerformanceServiceImpl implements SpecialPerformanceService
@Autowired
SendMsgService sendMsgService;
@Autowired
DistributorShareRecordDao distributorShareRecordDao;
@Autowired
IntroduceRecordDao introduceRecordDao;
private final static String SPECIAL_PERFORMANCE_URL = "/pages/saleSpecialList/index";
private final static String SPECIAL_PERFORMANCE_PROGRESS_SEND_MSG_KEY = "SPECIAL_PERFORMANCE_PROGRESS_SEND_MSG_KEY:";
......@@ -273,9 +276,34 @@ public class SpecialPerformanceServiceImpl implements SpecialPerformanceService
@Override
public Result findItemList(SpecialPerformanceRequestDto dto) {
try {
String shareRecordId = dto.getShareRecordId();
DistributorShareRecord distributorShareRecord = null;
long introducerId = CommConsts.SYSTEM_ACCOUNT;
Integer specialPerformanceId = null;
if (StringUtils.isEmpty(shareRecordId) && dto.getSpecialPerformanceId() == null) {
return Result.failed("专场id为空");
} else if (StringUtils.hasLength(shareRecordId) && !shareRecordId.equals(CommConsts.DEFAULT_SHARE_ID)) {
distributorShareRecord = distributorShareRecordDao.findById(dto.getShareRecordId());
introducerId = distributorShareRecord.getDistributorId();
specialPerformanceId = distributorShareRecord.getItemId().intValue();
if (distributorShareRecord != null && distributorShareRecord.getDistributorId().longValue() != dto.getUserId().longValue()) {
//保存介绍记录
if (!introduceRecordDao.isExisted(dto.getUserId())) {
IntroduceRecord introduceRecord = new IntroduceRecord();
introduceRecord.setUserId(dto.getUserId());
introduceRecord.setIntroducerId(introducerId);
introduceRecord.setShareRecordId(dto.getShareRecordId());
introduceRecord.setCreateTime(new Date());
introduceRecordDao.insert(introduceRecord);
}
}
} else {
specialPerformanceId = dto.getSpecialPerformanceId();
}
SpecialPerformance specialPerformance = null;
//专场id为-1,返回默认第一个专场
if (dto.getSpecialPerformanceId() == -1) {
if (specialPerformanceId == -1) {
SpecialPerformanceRequestDto searchDto = new SpecialPerformanceRequestDto();
searchDto.setStateList(Arrays.asList(SpecialPerformanceEnum.StateEnum.PREVIEW.getCode(), SpecialPerformanceEnum.StateEnum.PROCESSING.getCode()));
List<SpecialPerformance> specialPerformanceList = specialPerformanceDao.find(searchDto);
......@@ -286,17 +314,17 @@ public class SpecialPerformanceServiceImpl implements SpecialPerformanceService
return Result.failed(8000, "没有专场");
}
} else {
specialPerformance = specialPerformanceDao.findById(dto.getSpecialPerformanceId());
specialPerformance = specialPerformanceDao.findById(specialPerformanceId);
}
Map<String, Object> resultMap = new HashMap<>();
List<SupplierItemVo> supplierItemVos = new ArrayList<>();
//查询专场下所有的商品
List<SpecialPerformanceConfig> allItemlist = specialPerformanceConfigDao.findAllItem(dto.getSpecialPerformanceId());
List<SpecialPerformanceConfig> allItemlist = specialPerformanceConfigDao.findAllItem(specialPerformanceId);
List<Long> itemIdList = allItemlist.stream().map(SpecialPerformanceConfig::getItemId).collect(Collectors.toList());
//查询该专场下所有商品的关注记录
SpecialPerformanceItemFollowRequestDto specialPerformanceItemFollowRequestDto = new SpecialPerformanceItemFollowRequestDto();
specialPerformanceItemFollowRequestDto.setSpecialPerformanceId(dto.getSpecialPerformanceId());
specialPerformanceItemFollowRequestDto.setSpecialPerformanceId(specialPerformanceId);
specialPerformanceItemFollowRequestDto.setUserId(dto.getUserId());
List<SpecialPerformanceItemFollow> specialPerformanceItemFollowList = specialPerformanceItemFollowDao.findAllList(specialPerformanceItemFollowRequestDto);
List<Long> followItemList = specialPerformanceItemFollowList.stream().map(SpecialPerformanceItemFollow::getItemId).collect(Collectors.toList());
......@@ -305,7 +333,6 @@ public class SpecialPerformanceServiceImpl implements SpecialPerformanceService
SpecialPerformanceConfigRequestDto specialPerformanceConfigRequestDto = new SpecialPerformanceConfigRequestDto();
//判断是否有查询条件
if (StringUtils.hasLength(dto.getSearchParam())) {
//是否为纯数字
......@@ -329,7 +356,7 @@ public class SpecialPerformanceServiceImpl implements SpecialPerformanceService
specialPerformanceConfigRequestDto.setLimit(dto.getLimit());
specialPerformanceConfigRequestDto.setSortColumn(dto.getSortColumn());
specialPerformanceConfigRequestDto.setOrder(dto.getOrder());
specialPerformanceConfigRequestDto.setSpecialPerformanceId(dto.getSpecialPerformanceId());
specialPerformanceConfigRequestDto.setSpecialPerformanceId(specialPerformanceId);
//排除待上架的商品
AuctionConfigRequestDto auctionConfigRequestDto = new AuctionConfigRequestDto();
auctionConfigRequestDto.setState(AuctionEnum.StateEnum.WAIT_ON_SALE.getCode());
......@@ -358,7 +385,7 @@ public class SpecialPerformanceServiceImpl implements SpecialPerformanceService
//商品总数
resultMap.put("totalItemNum", itemIdList.size());
//围观总数
long totalViewNum = specialPerformanceConfigDao.countViewNum(dto.getSpecialPerformanceId());
long totalViewNum = specialPerformanceConfigDao.countViewNum(specialPerformanceId);
resultMap.put("totalViewNum", totalViewNum);
//出价总数
AuctionRecordRequestDto auctionRecordRequestDtoOfTotal = new AuctionRecordRequestDto();
......@@ -452,12 +479,12 @@ public class SpecialPerformanceServiceImpl implements SpecialPerformanceService
//当前时间大于专场结束时间则修改专场的状态
if (now.after(specialPerformance.getEndTime())) {
SpecialPerformance updateDto = new SpecialPerformance();
updateDto.setId(dto.getSpecialPerformanceId());
updateDto.setId(specialPerformanceId);
updateDto.setState(SpecialPerformanceEnum.StateEnum.END.getCode());
updateDto.setUpdateTime(now);
specialPerformanceDao.update(updateDto);
//删除专场商品
offShelvesItemOfSpecialPerformance(dto.getSpecialPerformanceId());
offShelvesItemOfSpecialPerformance(specialPerformanceId);
resultMap.put("state", SpecialPerformanceEnum.StateEnum.END.getCode());
resultMap.put("stateName", SpecialPerformanceEnum.StateEnum.END.getDes());
} else {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment