Commit dda11825 authored by shiyu's avatar shiyu

后台团购商品详情页

parent bedb72be
......@@ -362,6 +362,9 @@ public class SysSupplierItemServiceImpl implements SysSupplierItemService {
} else if (supplierItem.getType() == DistributionEnum.DistributionTypeEnum.GROUP_PURCHASE.getCode()) {
//团购商品查询相关配置和优惠信息
GroupPurchaseConfig groupPurchaseConfig = groupPurchaseConfigDao.findByItemId(itemId);
supplierItemVo.setWxQrcode(groupPurchaseConfig.getWxQrcode());
supplierItemVo.setTargetNum(groupPurchaseConfig.getTargetNum());
supplierItemVo.setBuyLimitNum(groupPurchaseConfig.getLimitNum());
supplierItemVo.setSalePrice(PriceUtil.convertPriceFenToYuan(groupPurchaseConfig.getPrice()));
supplierItemVo.setGroupPurchaseStartTime(DateUtils.toString(groupPurchaseConfig.getStartTime()));
supplierItemVo.setGroupPurchaseEndTime(DateUtils.toString(groupPurchaseConfig.getEndTime()));
......
......@@ -366,4 +366,14 @@ public class SupplierItemVo implements Entity {
*/
private Date endTime;
/**
* 团购群聊二维码
*/
private String wxQrcode;
/**
* 目标件数
*/
private Integer targetNum;
}
......@@ -193,5 +193,10 @@ public class DistributionOrderVo implements Entity {
* 0不通过; 1通过
*/
private Integer approved;
/**
* 团购结束时间
*/
private Date groupPurchaseEndTime;
}
......@@ -502,7 +502,7 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
if (limit != -1 && (buyNum + dto.getItemNum()) >limit) {
return Result.failed("超出购买上限");
}
long amount = groupPurchaseConfig.getPrice() * dto.getItemNum();
SupplierItem supplierItem = supplierItemDao.findById(itemId);
//查询该用户和藏家的介绍人
FollowFansRecordRequestDto followFansRecordRequestDto = new FollowFansRecordRequestDto();
......@@ -520,7 +520,7 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
String distributionOrderId = IdUtils.getOrderNumber(DISTRIBUTION_ORDER_PREFIX);
DistributionOrderRequestDto prePayDto = new DistributionOrderRequestDto();
prePayDto.setDistributionOrderId(distributionOrderId);
prePayDto.setAmount(dto.getAmount());
prePayDto.setAmount(String.valueOf(amount));
prePayDto.setBuyerOpenid(dto.getBuyerOpenid());
prePayDto.setItemName(supplierItem.getName());
Result prePayResult = wxPayServiceApi.createPrepareOrder(prePayDto);
......@@ -528,6 +528,9 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
return Result.failed("众筹预下单失败");
}
String prepayId = (String) prePayResult.getData();
Map<String, String> map = new HashMap<>();
map.put("distributionOrderId", distributionOrderId);
map.put("prepayId", prepayId);
DistributionOrder distributionOrder = new DistributionOrder();
distributionOrder.setItemId(itemId);
......@@ -538,7 +541,7 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
distributionOrder.setBuyerOpenid(dto.getBuyerOpenid());
distributionOrder.setShopId(supplierItem.getCreatorId());
distributionOrder.setSellerId(supplierItem.getCreatorId());
distributionOrder.setAmount(PriceUtil.convertPriceFromStr(dto.getAmount()));
distributionOrder.setAmount(amount);
distributionOrder.setAddressId(dto.getAddressId());
distributionOrder.setReceiverAddress(dto.getReceiverAddress());
distributionOrder.setReceiverName(dto.getReceiverName());
......@@ -592,7 +595,7 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
distributorProfit.setIsValid(false);
distributorProfitDao.insert(distributorProfit);
return Result.success(distributionOrderId);
return Result.success(map);
} catch (Exception e) {
logger.error("团购订单创建失败 error : {}", e);
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
......@@ -1029,6 +1032,12 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
distributionOrderVo.setStateName(DistributionEnum.DistributionOrderStateEnum.getNameByCode(distributionOrder.getState()));
distributionOrderVo.setTypeName(DistributionEnum.DistributionTypeEnum.getNameByCode(distributionOrder.getType()));
distributionOrderVo.setHomePageImage(MediaUtil.getHomePageImage(supplierItem.getImages(), supplierItem.getVideos()));
if (distributionOrder.getType() == DistributionEnum.DistributionTypeEnum.GROUP_PURCHASE.getCode()) {
GroupPurchaseConfig groupPurchaseConfig = groupPurchaseConfigDao.findByItemId(distributionOrder.getItemId());
distributionOrderVo.setGroupPurchaseEndTime(groupPurchaseConfig.getEndTime());
}
//支付截止时间,下单后半小时内
Date date = distributionOrder.getCreateTime();
Instant instant = date.toInstant().plus(Duration.ofMinutes(30));
......@@ -1066,16 +1075,8 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
distributionOrderDetailVo.setTypeName(DistributionEnum.DistributionTypeEnum.getNameByCode(distributionOrder.getType()));
distributionOrderDetailVo.setLogisticsName(LogisticsEnum.getNameByCode(distributionOrder.getLogisticsCode()));
if (type == DistributionEnum.DistributionTypeEnum.GROUP_PURCHASE.getCode()) {
GroupPurchaseRecordRequestDto groupPurchaseRecordRequestDto = new GroupPurchaseRecordRequestDto();
groupPurchaseRecordRequestDto.setItemId(distributionOrder.getItemId());
Result<GroupPurchaseInfo> result = groupPurchaseService.checkGroupPurchase(groupPurchaseRecordRequestDto);
GroupPurchaseConfig groupPurchaseConfig = groupPurchaseConfigDao.findByItemId(distributionOrder.getItemId());
distributionOrderDetailVo.setGroupPurchaseEndTime(groupPurchaseConfig.getEndTime());
Date endTime = groupPurchaseConfig.getEndTime();
Instant instant = endTime.toInstant().plus(Duration.ofHours(24));
Date time = Date.from(instant);
distributionOrderDetailVo.setPayEndTime(time);
}
if (distributionOrder.getType() == DistributionEnum.DistributionTypeEnum.COLLECT.getCode()
&& distributionOrder.getState() == DistributionEnum.DistributionOrderStateEnum.CANCEL.getCode()) {
......@@ -1152,6 +1153,11 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
distributionOrderVo.setHomePageImage(MediaUtil.getHomePageImage(supplierItem.getImages(), supplierItem.getVideos()));
distributionOrderVo.setTypeName(DistributionEnum.DistributionTypeEnum.getNameByCode(distributionOrder.getType()));
if (distributionOrder.getType() == DistributionEnum.DistributionTypeEnum.GROUP_PURCHASE.getCode()) {
GroupPurchaseConfig groupPurchaseConfig = groupPurchaseConfigDao.findByItemId(distributionOrder.getItemId());
distributionOrderVo.setGroupPurchaseEndTime(groupPurchaseConfig.getEndTime());
}
//如果藏家订单是取消状态,查询对应鉴定单状态
IdentifyOrder identifyOrder = identifyOrderDao.findByDistributionOrderId(distributionOrder.getDistributionOrderId());
if (identifyOrder != null) {
......@@ -1208,6 +1214,12 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
distributionOrderDetailVo.setIntroduceRebate(PriceUtil.convertPriceFromStr(String.valueOf(rebate)).toString());
distributionOrderDetailVo.setProfit(PriceUtil.convertPriceFenToYuan(distributorProfit.getProfit()));
}
if (distributionOrder.getType() == DistributionEnum.DistributionTypeEnum.GROUP_PURCHASE.getCode()) {
GroupPurchaseConfig groupPurchaseConfig = groupPurchaseConfigDao.findByItemId(distributionOrder.getItemId());
distributionOrderDetailVo.setGroupPurchaseEndTime(groupPurchaseConfig.getEndTime());
}
//查询藏家是否具有直接发货给买家的权限
CollectorWhiteList collectorWhiteList = collectorWhiteListDao.findById(distributionOrder.getSellerId());
if (collectorWhiteList != null && 1 == collectorWhiteList.getDeliveryAuth()) {
......
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