mitao
2024-06-21 ee9688b912bb993b54252a26f8ad9e0e04df21c3
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomGoodsServiceImpl.java
@@ -20,10 +20,19 @@
import com.ruoyi.common.core.enums.AuctionOrderTypeEnum;
import com.ruoyi.common.core.enums.AuctionStartStatusEnum;
import com.ruoyi.common.core.enums.BidStatusEnum;
import com.ruoyi.common.core.enums.ClientTypeEnum;
import com.ruoyi.common.core.enums.OrderFromEnum;
import com.ruoyi.common.core.utils.DateUtils;
import com.ruoyi.system.api.constants.NotificationTypeConstant;
import com.ruoyi.system.api.domain.*;
import com.ruoyi.system.api.domain.AuctionSalesroom;
import com.ruoyi.system.api.domain.CustomConfig;
import com.ruoyi.system.api.domain.GoodsBrand;
import com.ruoyi.system.api.domain.GoodsCategory;
import com.ruoyi.system.api.domain.GoodsFlavorType;
import com.ruoyi.system.api.domain.GoodsSeries;
import com.ruoyi.system.api.domain.GoodsSku;
import com.ruoyi.system.api.domain.Member;
import com.ruoyi.system.api.domain.MemberAddress;
import com.ruoyi.system.api.domain.Order;
import com.ruoyi.system.api.domain.dto.AuctionSalesroomDTO;
import com.ruoyi.system.api.domain.dto.AuctionSalesroomGoodsInfoDTO;
import com.ruoyi.system.api.domain.dto.GoodsStockUpdDTO;
@@ -37,7 +46,6 @@
import com.ruoyi.system.api.feignClient.MemberClient;
import com.ruoyi.system.api.feignClient.OrderClient;
import com.ruoyi.system.api.feignClient.SysUserClient;
import com.ruoyi.system.api.util.WebSocketUsers;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.ArrayList;
@@ -239,9 +247,11 @@
                    currentAuctionSalesroomGoods.setGoodsSkustatus(auctionSalesroomGoodss.getStatus());
                    currentAuctionSalesroomGoods.setListingDuration(auctionSalesroomGoodss.getListingDuration());
                    auctionSalesroomVO.setCurrentAuctionSalesroomGoods(currentAuctionSalesroomGoods);
                    wrappers.eq(AuctionSalesroomGoods::getSortNum, auctionSalesroomGoodss.getSortNum());
                    list.add(auctionSalesroomGoodss.getSortNum());
                }
                wrappers.eq(AuctionSalesroomGoods::getSortNum, auctionSalesroomGoodss.getSortNum());
                list.add(auctionSalesroomGoodss.getSortNum());
            }
            wrapper1.last("limit 1");
            AuctionSalesroomGoods auctionSalesroomGoods1 = this.getOne(wrapper1);
@@ -258,9 +268,9 @@
                auctionSalesroomVO.setNextAuctionSalesroomGoods(nextAuctionSalesroomGoods);
            }
            LambdaQueryWrapper<AuctionSalesroomGoods> wrapper2=Wrappers.lambdaQuery();
            wrapper2.notIn(AuctionSalesroomGoods::getSortNum,list);
            wrapper2.notIn(AuctionSalesroomGoods::getSortNum,list);
            wrapper2.eq(AuctionSalesroomGoods::getDelFlag,0);
            if(list.size()>0){
                wrapper2.notIn(AuctionSalesroomGoods::getSortNum,list);
            }
            wrapper2.eq(AuctionSalesroomGoods::getAuctionSalesroomId,ationSalesroomGoodsDTO.getAuctionSalesroomId());
            wrapper2.orderByAsc(AuctionSalesroomGoods::getSortNum);
            wrapper2.orderByAsc(AuctionSalesroomGoods::getStatus);
@@ -309,20 +319,25 @@
        wrapper2.orderByAsc(AuctionSalesroomGoods::getSortNum);
        wrapper2.last("limit 1");
        AuctionSalesroomGoods auctionSalesroomGoods = this.getOne(wrapper2);
        auctionSalesroomGoods.setStatus(AuctionGoodsStatusEnum.IN_PROGRESS);
        auctionSalesroomGoods.setStartTime(LocalDateTime.now());
        this.updateById(auctionSalesroomGoods);
        if(auctionSalesroomGoods!=null){
            auctionSalesroomGoods.setStatus(AuctionGoodsStatusEnum.IN_PROGRESS);
            auctionSalesroomGoods.setStartTime(LocalDateTime.now());
            this.updateById(auctionSalesroomGoods);
        }
        Map<String, Object> map = new ConcurrentHashMap<>();
        map.put("notification_type", NotificationTypeConstant.AUCTION_SALESROOM);
        map.put("auctionSalesroomId", auctionSalesroom.getId());
        map.put("AuctionTypeEnum",auctionSalesroom.getStatus());
        map.put("message_type", "start");
        map.put("type", "1");
        String msg = null;
        try {
            msg = objectMapper.writeValueAsString(map);
        } catch (JsonProcessingException e) {
        }
        WebSocketUsers.sendMessageToUsersByType(ClientTypeEnum.AUCTIONEER.getCode(), msg);
        sysUserClient.pushAll(msg, SecurityConstants.INNER);
    }
@@ -377,14 +392,16 @@
        Map<String, Object> map = new ConcurrentHashMap<>();
        map.put("notification_type", NotificationTypeConstant.AUCTION_SALESROOM);
        map.put("AuctionTypeEnum",auctionSalesroom.getStatus());
        map.put("auctionSalesroomId", auctionSalesroom.getId());
        map.put("message_type", "end");
        map.put("type", "1");
        String msg = null;
        try {
            msg = objectMapper.writeValueAsString(map);
        } catch (JsonProcessingException e) {
        }
        WebSocketUsers.sendMessageToUsersByType(ClientTypeEnum.AUCTIONEER.getCode(), msg);
        sysUserClient.pushAll(msg, SecurityConstants.INNER);
    }
@@ -415,20 +432,23 @@
        wrapper2.eq(AuctionSalesroomGoods::getGoodsSkuId,auctionSalesroomGoodsDTO.getGoodsSkuId());
        AuctionSalesroomGoods auctionSalesroomGoods=this.getOne(wrapper2);
        auctionSalesroomGoods.setStatus(AuctionGoodsStatusEnum.IN_PROGRESS);
        auctionSalesroomGoods.setStartTime(LocalDateTime.now());
        this.updateById(auctionSalesroomGoods);
     /*   Map<String, Object> map = new ConcurrentHashMap<>();
       Map<String, Object> map = new ConcurrentHashMap<>();
        map.put("notification_type", NotificationTypeConstant.AUCTION_SALESROOM_GOODS);
        map.put("notification_time", LocalDateTime.now());
        map.put("notification_time", DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:ss"));
        map.put("goodsSkuId", auctionSalesroomGoods.getId());
        map.put("message_type", "start");
        map.put("type",1);
        map.put("AuctionGoodsStatusEnum",auctionSalesroomGoods.getStatus());
        String msg = null;
        try {
            msg = objectMapper.writeValueAsString(map);
        } catch (JsonProcessingException e) {
            throw new RuntimeException(e);
        }
        WebSocketUsers.sendMessageToUsersByType(ClientTypeEnum.AUCTIONEER.getCode(), msg);*/
        sysUserClient.pushAll(msg, SecurityConstants.INNER);
    }
@@ -485,18 +505,20 @@
        auctionSalesroomGoods.setStatus(AuctionGoodsStatusEnum.ENDED);
        this.updateById(auctionSalesroomGoods);
      /*  Map<String, Object> map = new ConcurrentHashMap<>();
       Map<String, Object> map = new ConcurrentHashMap<>();
        map.put("notification_type", NotificationTypeConstant.AUCTION_SALESROOM_GOODS);
        map.put("notification_time", LocalDateTime.now());
        map.put("notification_time", DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:ss"));
        map.put("goodsSkuId", auctionSalesroomGoods.getId());
        map.put("message_type", "end");
        map.put("type",2);
        map.put("AuctionGoodsStatusEnum",auctionSalesroomGoods.getStatus());
        String msg = null;
        try {
            msg = objectMapper.writeValueAsString(map);
        } catch (JsonProcessingException e) {
            throw new RuntimeException(e);
        }
        WebSocketUsers.sendMessageToUsersByType(ClientTypeEnum.AUCTIONEER.getCode(), msg);*/
        sysUserClient.pushAll(msg, SecurityConstants.INNER);
    }
@@ -519,6 +541,8 @@
        AuctionSalesroomGoodsInfoVO.setUnit(goodsSku.getUnit());
        AuctionSalesroomGoodsInfoVO.setDescription(goodsSku.getDescription());
        AuctionSalesroomGoodsInfoVO.setDetail(goodsSku.getDetail());
        AuctionSalesroomGoodsInfoVO.setSharePic(goodsSku.getSharePic());
        AuctionSalesroomGoodsInfoVO.setShareTitle(goodsSku.getShareTitle());
        AuctionSalesroomGoodsInfoVO.setYears(String.valueOf(goodsSku.getYears().getYear()));
        GoodsBrand data = goodsSkuClient.getBrandOne(goodsSku.getBrandId(), SecurityConstants.INNER).getData();
        GoodsCategory data1 = goodsSkuClient.getCategoryOne(goodsSku.getCategoryId(), SecurityConstants.INNER).getData();
@@ -532,6 +556,9 @@
        AuctionSalesroomGoodsInfoVO.setAlbum(goodsSku.getAlbum());
        AuctionSalesroomGoodsInfoVO.setSpec(goodsSku.getSpec());
        AuctionSalesroomGoodsInfoVO.setSpecUnit(goodsSku.getSpecUnit());
        CustomConfig returnAddressUserName = sysUserClient.getconfig("MALL_ORDER_DESCRIPTION").getData();
        AuctionSalesroomGoodsInfoVO.setExplain(returnAddressUserName.getConfigValue());
        AuctionSalesroomGoodsInfoVO.setMinimumMarkupAmount(byId1.getMinimumMarkupAmount());
        LambdaQueryWrapper<AuctionBidRecord> wrapper1=Wrappers.lambdaQuery();
        wrapper1.eq(AuctionBidRecord::getMemberId,auctionSalesroomGoodsInfoDTO.getMemberId());