From 0af4429cca70d12e8e84cb2773b76ed1a72128c4 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期一, 10 二月 2025 14:53:59 +0800
Subject: [PATCH] 管理后台:会员管理-增加会员分类
---
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java | 323 +++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 285 insertions(+), 38 deletions(-)
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
index bcd2ad1..e4bd230 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
@@ -1,12 +1,11 @@
package com.ruoyi.order.service.impl;
-import cn.hutool.core.date.DatePattern;
-import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.google.common.collect.Lists;
+import com.google.common.collect.Sets;
import com.ruoyi.common.core.constant.CacheConstants;
import com.ruoyi.common.core.constant.SecurityConstants;
import com.ruoyi.common.core.enums.AuctionOrderTypeEnum;
@@ -57,6 +56,7 @@
import com.ruoyi.system.api.domain.MemberAddress;
import com.ruoyi.system.api.domain.Order;
import com.ruoyi.system.api.domain.OrderAuctionBond;
+import com.ruoyi.system.api.domain.PromotionWishRecommend;
import com.ruoyi.system.api.domain.dto.CouponMemberDTO;
import com.ruoyi.system.api.domain.dto.GoodsStockUpdDTO;
import com.ruoyi.system.api.domain.dto.HomeGoodsSkuDTO;
@@ -72,6 +72,7 @@
import com.ruoyi.system.api.domain.vo.MemberOrderListVO;
import com.ruoyi.system.api.domain.vo.MemberOrderNumVO;
import com.ruoyi.system.api.domain.vo.MemberTiOrderVO;
+import com.ruoyi.system.api.domain.vo.MgtPromotionWishRecommendVO;
import com.ruoyi.system.api.domain.vo.OrderVO;
import com.ruoyi.system.api.feignClient.AuctionClient;
import com.ruoyi.system.api.feignClient.GoodsSkuClient;
@@ -96,7 +97,9 @@
import java.util.stream.Collectors;
import javax.annotation.Resource;
import lombok.Synchronized;
+import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.map.HashedMap;
+import org.jetbrains.annotations.NotNull;
import org.redisson.api.RLock;
import org.redisson.api.RedissonClient;
import org.springframework.stereotype.Service;
@@ -110,6 +113,7 @@
* @author mitao
* @since 2024-05-16
*/
+@Slf4j
@Service
@SuppressWarnings("unchecked")
public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements IOrderService {
@@ -198,6 +202,7 @@
order.setPrice(OrderDTO.getPrice());
order.setCoverPic(OrderDTO.getCoverPic());
order.setOrderTimeSx(OrderDTO.getOrderTimeSx());
+ order.setGoodsId(OrderDTO.getGoodsId());
this.save(order);
@@ -296,7 +301,6 @@
@Override
@Synchronized
public MemberTiOrderVO saveMemberOrder(MemberOrderDTO memberOrderDTO) {
-
MemberTiOrderVO memberOrderVO=new MemberTiOrderVO();
BigDecimal pice=new BigDecimal(0);
@@ -314,6 +318,10 @@
order.setOrderFrom(OrderFromEnum.GROUP_PURCHASE_ORDERS);
order.setOrderNo(OrderUtil.getOrderNoForPrefix("TG"));
order.setIsOrder(2);
+ }
+ if (memberOrderDTO.getOrderFrom() == OrderFromEnum.WISH_ORDER.getCode()) {
+ order.setOrderFrom(OrderFromEnum.WISH_ORDER);
+ order.setOrderNo(OrderUtil.getOrderNoForPrefix("QG"));
}
if (memberOrderDTO.getPaymentMethod()==1){
order.setPaymentMethod(PaymentMethodEnum.WECHAT);
@@ -338,6 +346,7 @@
order.setSkuName(goodsSku.getSkuName());
order.setPrice(goodsSku.getPrice());
order.setCoverPic(goodsSku.getCoverPic());
+ order.setGoodsId(goodsSku.getId());
}
memberOrderVO.setGoodsSkuId(memberOrderDTO.getGoodsSkuId());
memberOrderVO.setPrice(goodsSku.getPrice());
@@ -408,6 +417,7 @@
order.setPrice(data.getSeckillPrice());
order.setCoverPic(goodsSku.getCoverPic());
order.setSjPrice(goodsSku.getPrice());
+ order.setGoodsId(goodsSku.getId());
redisService.setCacheObject(CacheConstants.SECKILL_GOODS + data.getId(), surpNum - memberOrderDTO.getGoodsQuantity());
}
if (memberOrderDTO.getOrderFrom()==3){
@@ -455,6 +465,39 @@
order.setPrice(data.getGroupPurchasePrice());
order.setCoverPic(goodsSku.getCoverPic());
order.setSjPrice(goodsSku.getPrice());
+ order.setGoodsId(goodsSku.getId());
+ }
+ if (memberOrderDTO.getOrderFrom() == OrderFromEnum.WISH_ORDER.getCode()) {
+ // 远程调用营销服务,获取推荐商品信息
+ PromotionWishRecommend recommend = promotionClient.getPromotionWishRecommend(
+ memberOrderDTO.getGoodsSkuId(),
+ SecurityConstants.INNER).getData();
+ if (Objects.isNull(recommend)) {
+ throw new ServiceException("推荐商品不存在");
+ }
+ if (recommend.getExpireTime().isBefore(LocalDateTime.now())) {
+ throw new ServiceException("推荐商品已过期");
+ }
+ if (recommend.getAvailableNum().compareTo(memberOrderDTO.getGoodsQuantity()) < 0) {
+ throw new ServiceException("推荐商品可购数量不足");
+ }
+ // 远程调用,更新可购数量
+ Integer res = promotionClient.subRecommendAvailableNum(
+ memberOrderDTO.getGoodsQuantity(),
+ recommend.getId(), SecurityConstants.INNER).getData();
+ if (res == 0) {
+ throw new ServiceException("推荐商品可购数量不足");
+ }
+ memberOrderVO.setGoodsSkuId(memberOrderDTO.getGoodsSkuId());
+ memberOrderVO.setPrice(recommend.getSellingPrice());
+ memberOrderVO.setCoverPic(recommend.getGoodsImageUrl());
+ memberOrderVO.setSkuName(recommend.getGoodsName());
+ pice = recommend.getSellingPrice();
+ order.setSkuName(recommend.getGoodsName());
+ order.setPrice(recommend.getSellingPrice());
+ order.setCoverPic(recommend.getGoodsImageUrl());
+ order.setSjPrice(recommend.getSellingPrice());
+ order.setGoodsId(recommend.getId());
}
order.setOrderRemark(memberOrderDTO.getOrderRemark());
order.setMemberId(memberOrderDTO.getMemberId());
@@ -485,6 +528,16 @@
memberOrderVO.setReceiverCity(data.getReceiverCity());
memberOrderVO.setReceiverDetailAddress(data.getDetailedAddress());
memberOrderVO.setReceiverphone(data.getRecipientPhone());
+ } else {
+ order.setReceiverName(memberOrderDTO.getReceiverName());
+ order.setReceiverCity(memberOrderDTO.getReceiverCity());
+ order.setReceiverDetailAddress(memberOrderDTO.getReceiverDetailAddress());
+ order.setReceiverPhone(memberOrderDTO.getReceiverphone());
+
+ memberOrderVO.setReceiverName(memberOrderDTO.getReceiverName());
+ memberOrderVO.setReceiverCity(memberOrderDTO.getReceiverCity());
+ memberOrderVO.setReceiverDetailAddress(memberOrderDTO.getReceiverDetailAddress());
+ memberOrderVO.setReceiverphone(memberOrderDTO.getReceiverphone());
}
order.setGoodsSkuId(memberOrderDTO.getGoodsSkuId());
@@ -518,9 +571,6 @@
return memberOrderVO;
}
- public static void main(String[] args) {
- System.err.println(DateUtil.format(LocalDateTime.now(), DatePattern.NORM_DATETIME_PATTERN));
- }
@Override
public MemberTiOrderVO updMemberOrder(MemberOrderDTO memberOrderDTO) {
Order order = baseMapper.selectById(memberOrderDTO.getId());
@@ -562,8 +612,6 @@
memberOrderVO.setCoverPic(goodsSku.getCoverPic());
memberOrderVO.setSkuName(goodsSku.getSkuName());
}
-
-
if (order.getOrderFrom().getCode()==2){
MemberOrderDTO memberOrderDTO1=new MemberOrderDTO();
memberOrderDTO1.setMemberId(order.getMemberId());
@@ -617,8 +665,8 @@
memberOrderVO.setYouhiPrice(data.getSeckillPrice());
-
- } if (order.getOrderFrom().getCode()==3){
+ }
+ if (order.getOrderFrom().getCode() == 3) {
order.setOrderFrom(OrderFromEnum.GROUP_PURCHASE_ORDERS);
GoodsGroupPurchase data = goodsSkuClient.getGoodsSeckiGoodsGroupPurchaseOne(order.getGoodsSkuId(), SecurityConstants.INNER).getData();
GoodsSku goodsSku = goodsSkuClient.getGoodsSkuOne(data.getGoodsSkuId(), SecurityConstants.INNER).getData();
@@ -648,6 +696,40 @@
}
}
}
+ }
+ if (order.getOrderFrom() == OrderFromEnum.WISH_ORDER) {
+ // 远程调用营销服务,获取推荐商品信息
+ PromotionWishRecommend recommend = promotionClient.getPromotionWishRecommend(
+ order.getGoodsSkuId(),
+ SecurityConstants.INNER).getData();
+ if (Objects.isNull(recommend)) {
+ throw new ServiceException("推荐商品不存在");
+ }
+ Integer availableNum = recommend.getAvailableNum() + order.getGoodsQuantity();
+ if (availableNum.compareTo(memberOrderDTO.getGoodsQuantity()) < 0) {
+ throw new ServiceException("推荐商品可购数量不足");
+ }
+ // 如果最新购买数比锁定库存数大,则扣减多出来的商品数量,否则恢复多出的锁定库存
+ if (memberOrderDTO.getGoodsQuantity().compareTo(order.getGoodsQuantity()) > 0) {
+ // 远程调用,更新可购数量
+ Integer res = promotionClient.subRecommendAvailableNum(
+ memberOrderDTO.getGoodsQuantity() - order.getGoodsQuantity(),
+ recommend.getId(), SecurityConstants.INNER).getData();
+ if (res == 0) {
+ throw new ServiceException("推荐商品可购数量不足");
+ }
+ } else {
+ promotionClient.addRecommendAvailableNum(
+ order.getGoodsQuantity() - memberOrderDTO.getGoodsQuantity(),
+ recommend.getId(), SecurityConstants.INNER);
+ }
+ order.setTotalAmount(recommend.getSellingPrice()
+ .multiply(new BigDecimal(memberOrderDTO.getGoodsQuantity())));
+ order.setGoodsQuantity(memberOrderDTO.getGoodsQuantity());
+ memberOrderVO.setGoodsSkuId(order.getGoodsSkuId());
+ memberOrderVO.setPrice(recommend.getSellingPrice());
+ memberOrderVO.setCoverPic(recommend.getGoodsImageUrl());
+ memberOrderVO.setSkuName(recommend.getGoodsName());
}
}
if (memberOrderDTO.getGoodsQuantity()!=null){
@@ -809,9 +891,13 @@
PageDTO<MemberOrderListVO> memberOrderListVOPageDTO = PageDTO.of(page1, MemberOrderListVO.class);
List<MemberOrderListVO> list = memberOrderListVOPageDTO.getList();
+ Map<Long, GoodsSku> goodsUnitMap = getGoodsUnitMap(list);
for (MemberOrderListVO MemberOrderList:list){
if (MemberOrderList.getOrderStatus().getCode()==1){
- if (MemberOrderList.getOrderFrom().getCode()==1||MemberOrderList.getOrderFrom().getCode()==2||MemberOrderList.getOrderFrom().getCode()==3){
+ if (MemberOrderList.getOrderFrom().getCode() == 1
+ || MemberOrderList.getOrderFrom().getCode() == 2
+ || MemberOrderList.getOrderFrom().getCode() == 3
+ || MemberOrderList.getOrderFrom().equals(OrderFromEnum.WISH_ORDER)) {
LocalDateTime localDateTime = MemberOrderList.getOrderTime().plusMinutes(30);
if (LocalDateTime.now().isAfter(localDateTime)) {
// dateTime1 在 dateTime2 之后
@@ -852,7 +938,12 @@
}
goodsSkuClient.updGoodsSeckill(goodsStockUpdDTO1,SecurityConstants.INNER);
}
-
+ // 恢复推荐商品可购数量
+ if (MemberOrderList.getOrderFrom().equals(OrderFromEnum.WISH_ORDER)) {
+ promotionClient.addRecommendAvailableNum(
+ MemberOrderList.getGoodsQuantity(),
+ MemberOrderList.getGoodsSkuId(), SecurityConstants.INNER);
+ }
this.updateById(order);
}
@@ -889,46 +980,122 @@
MemberOrderList.setOrderShuoMin(memberPointsPoints.getConfigValue());
CustomConfig ReturnCycle = sysUserClient.getconfig("RETURN_CYCLE").getData();
MemberOrderList.setOrderZq(Integer.valueOf(ReturnCycle.getConfigValue()));
+
+ GoodsSku goodsSku =
+ Objects.nonNull(goodsUnitMap.get(MemberOrderList.getGoodsId()))
+ ? goodsUnitMap.get(MemberOrderList.getGoodsId())
+ : goodsUnitMap.get(MemberOrderList.getGoodsSkuId());
+ if (Objects.nonNull(goodsSku)) {
+ MemberOrderList.setUnit(goodsSku.getUnit());
+ MemberOrderList.setSpec(goodsSku.getSpec());
+ MemberOrderList.setSpecUnit(goodsSku.getSpecUnit());
+ }
}
return memberOrderListVOPageDTO;
}
+ @NotNull
+ private Map<Long, GoodsSku> getGoodsUnitMap(List<MemberOrderListVO> list) {
+ Map<Long, GoodsSku> goodsSkuMap = new HashedMap();
+ Set<Long> goodsSkuIdSet = list.stream()
+ .filter(vo -> vo.getOrderFrom().equals(OrderFromEnum.COMMODITY_ORDER))
+ .map(MemberOrderListVO::getGoodsSkuId)
+ .collect(Collectors.toSet());
+ if (CollUtils.isNotEmpty(goodsSkuIdSet)) {
+ goodsSkuMap = goodsSkuClient.getGoodsListByIds(goodsSkuIdSet,
+ SecurityConstants.INNER).getData().stream()
+ .collect(Collectors.toMap(GoodsSku::getId, Function.identity()));
+ }
+ Set<Long> seckillIdSet = list.stream()
+ .filter(vo -> vo.getOrderFrom().equals(OrderFromEnum.SNAP_ORDERS))
+ .map(MemberOrderListVO::getGoodsSkuId)
+ .collect(Collectors.toSet());
+
+ if (CollUtils.isNotEmpty(seckillIdSet)) {
+ Map<Long, GoodsSku> goodsSkuMap2 = goodsSkuClient.getGoodsSkuBySeckillIdSet(
+ seckillIdSet,
+ SecurityConstants.INNER).getData().stream()
+ .collect(Collectors.toMap(GoodsSku::getId, Function.identity()));
+ // 将goodsSkuMap2合并到goodsSkuMap中
+ goodsSkuMap.putAll(goodsSkuMap2);
+ }
+ Set<Long> groupPurchaseIdSet = list.stream()
+ .filter(vo -> vo.getOrderFrom().equals(OrderFromEnum.GROUP_PURCHASE_ORDERS))
+ .map(MemberOrderListVO::getGoodsSkuId)
+ .collect(Collectors.toSet());
+ if (CollUtils.isNotEmpty(groupPurchaseIdSet)) {
+ Map<Long, GoodsSku> goodsSkuMap3 = goodsSkuClient.getGoodsSkuByGroupPurchaseIdSet(
+ groupPurchaseIdSet,
+ SecurityConstants.INNER).getData().stream()
+ .collect(Collectors.toMap(GoodsSku::getId, Function.identity()));
+ goodsSkuMap.putAll(goodsSkuMap3);
+ }
+ Set<Long> auctionGoodsIdSet = list.stream()
+ .filter(vo -> vo.getOrderFrom().equals(OrderFromEnum.AUCTION_ORDERS)
+ && vo.getAuctionOrderType().equals(AuctionOrderTypeEnum.REGULAR_ITEMS))
+ .map(MemberOrderListVO::getGoodsSkuId)
+ .collect(Collectors.toSet());
+ if (CollUtils.isNotEmpty(auctionGoodsIdSet)) {
+ Map<Long, GoodsSku> goodsSkuMap4 = auctionClient.getGoodsSkuByAuctionGoodsIdSet(
+ auctionGoodsIdSet,
+ SecurityConstants.INNER).getData().stream()
+ .collect(Collectors.toMap(GoodsSku::getId, Function.identity()));
+ goodsSkuMap.putAll(goodsSkuMap4);
+ }
+ Set<Long> auctionSalesroomGoodsSet = list.stream()
+ .filter(vo -> vo.getOrderFrom().equals(OrderFromEnum.AUCTION_ORDERS)
+ && vo.getAuctionOrderType().equals(AuctionOrderTypeEnum.AUCTION_ITEMS))
+ .map(MemberOrderListVO::getGoodsSkuId)
+ .collect(Collectors.toSet());
+ if (CollUtils.isNotEmpty(auctionSalesroomGoodsSet)) {
+ Map<Long, GoodsSku> goodsSkuMap5 = auctionClient.getGoodsSkuByAuctionSalesroomGoodsSet(
+ auctionSalesroomGoodsSet,
+ SecurityConstants.INNER).getData().stream()
+ .collect(Collectors.toMap(GoodsSku::getId, Function.identity()));
+ goodsSkuMap.putAll(goodsSkuMap5);
+ }
+ return goodsSkuMap;
+ }
+
@Override
public OrderVO MemberOrderOne(MemberOrderListDTO memberOrderListDTO) {
Order order = baseMapper.selectById(memberOrderListDTO.getId());
OrderVO orderVO=new OrderVO();
- try {
- orderVO = BeanUtils.copyBean(order, OrderVO.class);
- orderVO.setAuctionType(order.getAuctionOrderType());
- orderVO.setCouponId(order.getCouponId());
- orderVO.setBound(order.getBound());
- orderVO.setIsRequest(order.getIsRequest());
- if (orderVO.getOrderFrom().getCode()==3){
- GoodsGroupPurchase data = GoodsSkuClient.getGoodsSeckiGoodsGroupPurchaseOne(order.getGoodsSkuId(), SecurityConstants.INNER).getData();
- orderVO.setGroupTime(data.getGroupTime());
- orderVO.setSkuId(data.getGoodsSkuId());
- }
+ orderVO = BeanUtils.copyBean(order, OrderVO.class);
+ orderVO.setAuctionType(order.getAuctionOrderType());
+ orderVO.setCouponId(order.getCouponId());
+ orderVO.setBound(order.getBound());
+ orderVO.setIsRequest(order.getIsRequest());
+ if (orderVO.getOrderFrom().getCode() == 3) {
+ GoodsGroupPurchase data = GoodsSkuClient.getGoodsSeckiGoodsGroupPurchaseOne(
+ order.getGoodsSkuId(), SecurityConstants.INNER).getData();
+ orderVO.setGroupTime(data.getGroupTime());
+ orderVO.setSkuId(data.getGoodsSkuId());
+ }
- LambdaQueryWrapper<OrderAuctionBond> wrapper3= Wrappers.lambdaQuery();
- wrapper3.eq(OrderAuctionBond::getOrderId,order.getId());
- OrderAuctionBond orderAuctionBond = orderAuctionBondMapper.selectOne(wrapper3);
- if (orderAuctionBond!=null){
- if (orderAuctionBond.getBoundStatus().getCode()==1||orderAuctionBond.getBoundStatus().getCode()==2){
- orderVO.setIsAuctionBond(1);
- }else{
- orderVO.setIsAuctionBond(2);
- }
- }else {
+ LambdaQueryWrapper<OrderAuctionBond> wrapper3 = Wrappers.lambdaQuery();
+ wrapper3.eq(OrderAuctionBond::getOrderId, order.getId());
+ OrderAuctionBond orderAuctionBond = orderAuctionBondMapper.selectOne(wrapper3);
+ if (orderAuctionBond != null) {
+ if (orderAuctionBond.getBoundStatus().getCode() == 1
+ || orderAuctionBond.getBoundStatus().getCode() == 2) {
orderVO.setIsAuctionBond(1);
+ } else {
+ orderVO.setIsAuctionBond(2);
}
-
- } catch (Exception e) {
- throw new RuntimeException(e);
+ } else {
+ orderVO.setIsAuctionBond(1);
}
if (order.getTotalAmount()==null){
order.setTotalAmount(new BigDecimal(0));
+ }
+ GoodsSku goodsSku = getGoodsSku(orderVO);
+ if (Objects.nonNull(goodsSku)) {
+ orderVO.setUnit(goodsSku.getUnit());
+ orderVO.setSpec(goodsSku.getSpec());
+ orderVO.setSpecUnit(goodsSku.getSpecUnit());
}
CustomConfig memberPointsPoints = sysUserClient.getconfig("MALL_ORDER_DESCRIPTION").getData();
orderVO.setOrderShuoMin(memberPointsPoints.getConfigValue());
@@ -942,6 +1109,51 @@
orderVO.setStatus(orderReturnRequest.getStatus());
}
return orderVO;
+ }
+
+ private GoodsSku getGoodsSku(OrderVO orderVO) {
+ GoodsSku goodsSku = null;
+ switch (orderVO.getOrderFrom()) {
+ case COMMODITY_ORDER:
+ goodsSku = goodsSkuClient.getGoodsSkuOne(orderVO.getGoodsSkuId(),
+ SecurityConstants.INNER).getData();
+ break;
+ case SNAP_ORDERS:
+ List<GoodsSku> skuList = goodsSkuClient.getGoodsSkuBySeckillIdSet(
+ Sets.newHashSet(orderVO.getGoodsSkuId()),
+ SecurityConstants.INNER).getData();
+ if (CollUtils.isNotEmpty(skuList)) {
+ goodsSku = skuList.get(0);
+ }
+ break;
+ case GROUP_PURCHASE_ORDERS:
+ List<GoodsSku> data = goodsSkuClient.getGoodsSkuByGroupPurchaseIdSet(
+ Sets.newHashSet(orderVO.getGoodsSkuId()),
+ SecurityConstants.INNER).getData();
+ if (CollUtils.isNotEmpty(data)) {
+ goodsSku = data.get(0);
+ }
+ break;
+ case AUCTION_ORDERS:
+ List<GoodsSku> goodsSkuList;
+ if (orderVO.getAuctionType().equals(AuctionOrderTypeEnum.REGULAR_ITEMS)) {
+ goodsSkuList = auctionClient.getGoodsSkuByAuctionGoodsIdSet(
+ Sets.newHashSet(orderVO.getGoodsSkuId()),
+ SecurityConstants.INNER).getData();
+ if (CollUtils.isNotEmpty(goodsSkuList)) {
+ goodsSku = goodsSkuList.get(0);
+ }
+ } else {
+ goodsSkuList = auctionClient.getGoodsSkuByAuctionSalesroomGoodsSet(
+ Sets.newHashSet(orderVO.getGoodsSkuId()),
+ SecurityConstants.INNER).getData();
+ }
+ if (CollUtils.isNotEmpty(goodsSkuList)) {
+ goodsSku = goodsSkuList.get(0);
+ }
+ break;
+ }
+ return goodsSku;
}
@Override
@@ -1004,6 +1216,11 @@
}
}
+ // 恢复可购数量
+ if (order.getOrderFrom().equals(OrderFromEnum.WISH_ORDER)) {
+ promotionClient.addRecommendAvailableNum(
+ order.getGoodsQuantity(), order.getGoodsSkuId(), SecurityConstants.INNER);
+ }
}
if (order.getOrderStatus().getCode() == 2) {
@@ -1047,7 +1264,11 @@
}
}
-
+ // 恢复可购数量
+ if (order.getOrderFrom().equals(OrderFromEnum.WISH_ORDER)) {
+ promotionClient.addRecommendAvailableNum(
+ order.getGoodsQuantity(), order.getGoodsSkuId(), SecurityConstants.INNER);
+ }
if (order.getCouponId()!=0){
CouponMemberDTO couponMemberDTO1=new CouponMemberDTO();
couponMemberDTO1.setId(order.getCouponId());
@@ -1116,7 +1337,7 @@
Order byId = this.getById(memberOrderListDTO.getId());
- if(byId.getOrderNo().contains("TG")){
+ if (byId.getOrderNo().contains("TG") && StringUtils.isNotBlank(byId.getGroupNo())) {
GoodsGroupPurchaseInfo goodsSeckiGoodsGroupPurchaseInfo = GoodsSkuClient.getGoodsSeckiGoodsGroupPurchaseInfo2(byId.getGroupNo(), SecurityConstants.INNER).getData();
if (goodsSeckiGoodsGroupPurchaseInfo!=null){
goodsSeckiGoodsGroupPurchaseInfo.setPurchaseNum(byId.getGoodsQuantity());
@@ -1644,6 +1865,7 @@
LogisticsDTO logisticsDTO = new LogisticsDTO();
logisticsDTO.setCompany(order.getLogisticsNum());
logisticsDTO.setPostid(order.getCourierNumber());
+ logisticsDTO.setReceiverPhone(order.getReceiverPhone());
Express100VO logisticsList = logisticsService.getLogisticsList(logisticsDTO);
if (StringUtils.isNotNull(logisticsList)) {
mgtOrderVO.setExpress100VO(logisticsList);
@@ -1889,9 +2111,11 @@
@Override
public void updateOrderStatusByMubres1(String formedGroupMubres) {
+
LambdaQueryWrapper<Order> wrapper = Wrappers.lambdaQuery();
wrapper.eq(Order::getGroupNo, formedGroupMubres);
List<Order> page1 = this.list(wrapper);
+ log.info("开始更新订单,已成团的团购订单:{}", page1);
for (Order p:page1){
p.setIsOrder(1);
this.updateById(p);
@@ -1906,4 +2130,27 @@
List<Order> page1 = this.list(wrapper);
return page1;
}
+
+ /**
+ * 根据skuId获取心愿求购详情数据
+ *
+ * @param id
+ * @return
+ */
+ @Override
+ public MgtPromotionWishRecommendVO getWishDataBySkuId(Long id) {
+ MgtPromotionWishRecommendVO vo = null;
+ List<Order> list = this.lambdaQuery().eq(Order::getGoodsSkuId, id)
+ .eq(Order::getOrderFrom, OrderFromEnum.WISH_ORDER)
+ .ne(Order::getOrderStatus, OrderStatusEnum.CANCELED).list();
+ if (CollUtils.isNotEmpty(list)) {
+ vo = new MgtPromotionWishRecommendVO();
+ Integer purchasedNum = list.stream().map(Order::getGoodsQuantity)
+ .reduce(0, Integer::sum);
+ String orderNo = list.stream().map(Order::getOrderNo).collect(Collectors.joining(","));
+ vo.setPurchasedNum(purchasedNum);
+ vo.setOrderNo(orderNo);
+ }
+ return vo;
+ }
}
--
Gitblit v1.7.1