mitao
2025-03-12 7a92c0228a9b282e4b3cb2ae4a0035cec34feb67
bug修改
9个文件已修改
195 ■■■■■ 已修改文件
ruoyi-auth/src/main/java/com/ruoyi/auth/utils/JuTongDaSMSUtil.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/forepart/ForepartAuctionBidRecordController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/forepart/ForepartAuctionSalesroomController.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomGoodsServiceImpl.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/resources/mapper/auction/AuctionBidRecordMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSkuServiceImpl.java 85 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-auth/src/main/java/com/ruoyi/auth/utils/JuTongDaSMSUtil.java
@@ -81,7 +81,6 @@
                sendData.append("&password=").append(pwd);    // 密码
                sendData.append("&encode=").append("GBK");    // encode=GBK或者encode=utf8
                content = template.replace("${code}", content);
                String contentBase64 = Base64.getEncoder()
                        .encodeToString(content.getBytes("gbk"));// 先用encode中定义的格式编码,再用base64加密内容
                sendData.append("&encodeType=base64");    // 固定
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/forepart/ForepartAuctionBidRecordController.java
@@ -71,7 +71,7 @@
    }
    @GetMapping("/setPopup/{auctionBidRecordId}")
    @ApiOperation("标记已弹出弹窗")
    @ApiOperation("【2024.12.31】标记已弹出弹窗")
    public R<?> setPopup(@PathVariable("auctionBidRecordId") Long auctionBidRecordId) {
        iAuctionBidRecordService.setPopup(auctionBidRecordId);
        return R.ok();
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/forepart/ForepartAuctionSalesroomController.java
@@ -202,7 +202,8 @@
               SecurityConstants.INNER);
       authClient.sendSms(
               SmsSendDTO.builder().mobileList(Lists.newArrayList(membeOne.getData().getPhone()))
                       .content(String.format("报名成功,拍卖将于%s开始,请注意时间!", startTime))
                       .content(String.format("【酒鼎老酒】报名成功,拍卖将于%s开始,请注意时间!",
                               startTime))
                       .build(),
               SecurityConstants.INNER);
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java
@@ -413,6 +413,9 @@
                }
                // 更新出价记录
                auctionBidRecordService.updateBatchById(auctionBidRecordList);
                Map<Long, String> bidMap = auctionBidRecordList.stream().collect(
                        Collectors.toMap(AuctionBidRecord::getMemberId,
                                item -> item.getId().toString()));
                List<Long> successMemberIdList = auctionBidRecords.stream()
                        .filter(auctionBidRecord -> auctionBidRecord.getStatus()
                                .equals(BidStatusEnum.SUCCESSFUL))
@@ -428,7 +431,7 @@
                            successMemberIdList, SecurityConstants.INNER).getData();
                    if (CollUtils.isNotEmpty(successMemberList)) {
                        // 推送websocket消息
                        sendWebsocketMsg(id, successMemberList, goodsSku, 1, orderIdMap);
                        sendWebsocketMsg(id, successMemberList, goodsSku, 1, orderIdMap, bidMap);
                        // 发送短信通知
                        List<String> mobileList = successMemberList.stream().map(Member::getPhone)
                                .collect(Collectors.toList());
@@ -442,7 +445,7 @@
                            failedMemberIdList, SecurityConstants.INNER).getData();
                    if (CollUtils.isNotEmpty(failedMemberList)) {
                        // 推送websocket消息
                        sendWebsocketMsg(id, failedMemberList, goodsSku, 0, orderIdMap);
                        sendWebsocketMsg(id, failedMemberList, goodsSku, 0, orderIdMap, bidMap);
                        // 发送短信通知
                        List<String> mobileList = failedMemberList.stream().map(Member::getPhone)
                                .collect(Collectors.toList());
@@ -523,7 +526,7 @@
     * @param successFlag // 中标状态 1:中标 0:未中标
     */
    private void sendWebsocketMsg(Long id, List<Member> memberList, GoodsSku goodsSku,
            Integer successFlag, Map<Long, String> userIdMap) {
            Integer successFlag, Map<Long, String> userIdMap, Map<Long, String> bidMap) {
        for (Member member : memberList) {
            Map<String, Object> map = new ConcurrentHashMap<>();
            map.put("notification_type", NotificationTypeConstant.AUCTION_POPUP);
@@ -532,6 +535,7 @@
            map.put("goods_name", goodsSku.getSkuName());
            map.put("success_flag", successFlag);
            map.put("order_id", successFlag == 1 ? userIdMap.getOrDefault(member.getId(), "") : "");
            map.put("auction_bid_record_id", bidMap.getOrDefault(member.getId(), "0"));
            String msg = JSONObject.toJSONString(map);
            sysUserClient.pushBatch(
                    WebsocketMessageDTO.builder().message(msg).userId(member.getUserId()).build(),
@@ -917,6 +921,9 @@
                    }
                    // 更新出价记录
                    auctionBidRecordService.updateBatchById(auctionBidRecordList);
                    Map<Long, String> bidMap = auctionBidRecordList.stream().collect(
                            Collectors.toMap(AuctionBidRecord::getMemberId,
                                    item -> item.getId().toString()));
                    List<Long> successMemberIdList = auctionBidRecords.stream()
                            .filter(auctionBidRecord -> auctionBidRecord.getStatus()
                                    .equals(BidStatusEnum.SUCCESSFUL))
@@ -932,7 +939,8 @@
                                successMemberIdList, SecurityConstants.INNER).getData();
                        if (CollUtils.isNotEmpty(successMemberList)) {
                            // 推送websocket消息
                            sendWebsocketMsg(id, successMemberList, goodsSku, 1, orderIdMap);
                            sendWebsocketMsg(id, successMemberList, goodsSku, 1, orderIdMap,
                                    bidMap);
                            // 发送短信通知
                            List<String> mobileList = successMemberList.stream()
                                    .map(Member::getPhone)
@@ -948,7 +956,7 @@
                                failedMemberIdList, SecurityConstants.INNER).getData();
                        if (CollUtils.isNotEmpty(failedMemberList)) {
                            // 推送websocket消息
                            sendWebsocketMsg(id, failedMemberList, goodsSku, 0, orderIdMap);
                            sendWebsocketMsg(id, failedMemberList, goodsSku, 0, orderIdMap, bidMap);
                            // 发送短信通知
                            List<String> mobileList = failedMemberList.stream()
                                    .map(Member::getPhone)
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomGoodsServiceImpl.java
@@ -554,7 +554,8 @@
                        auctionBidRecord.setStatus(BidStatusEnum.SUCCESSFUL);
                        Long orderId = AddOrder(auctionBidRecord.getTargetId(),
                                auctionBidRecord.getMemberId(),
                                auctionBidRecord.getLastBidAmount(), auctionSalesroom.getBond(), 1);
                                auctionBidRecord.getLastBidAmount(), auctionSalesroom.getBond(),
                                auctionSalesroomGoods.getDealQuantity());
                        if (Objects.nonNull(orderId)) {
                            orderIdMap.put(auctionBidRecord.getMemberId(), orderId.toString());
                            auctionBidRecord.setOrderId(orderId);
@@ -575,8 +576,9 @@
                            .equals(BidStatusEnum.SUCCESSFUL))
                    .map(AuctionBidRecord::getMemberId)
                    .collect(Collectors.toList());
            Map<Long, Long> bidMap = auctionBidRecordList.stream().collect(
                    Collectors.toMap(AuctionBidRecord::getMemberId, AuctionBidRecord::getId));
            Map<Long, String> bidMap = auctionBidRecordList.stream().collect(
                    Collectors.toMap(AuctionBidRecord::getMemberId,
                            item -> item.getId().toString()));
            if (CollUtils.isNotEmpty(successMemberIdList)) {
                List<Member> successMemberList = memberClient.getMemberListByIds(
                        successMemberIdList, SecurityConstants.INNER).getData();
@@ -638,7 +640,7 @@
     * @param successFlag // 中标状态 1:中标 0:未中标
     */
    private void sendWebsocketMsg(Long id, List<Member> memberList, GoodsSku goodsSku,
            Integer successFlag, Map<Long, String> userIdMap, Map<Long, Long> bidMap) {
            Integer successFlag, Map<Long, String> userIdMap, Map<Long, String> bidMap) {
        for (Member member : memberList) {
            Map<String, Object> map = new ConcurrentHashMap<>();
            map.put("notification_type", NotificationTypeConstant.AUCTION_POPUP);
@@ -647,7 +649,7 @@
            map.put("goods_name", Objects.nonNull(goodsSku) ? goodsSku.getSkuName() : "");
            map.put("success_flag", successFlag);
            map.put("order_id", successFlag == 1 ? userIdMap.getOrDefault(member.getId(), "") : "");
            map.put("auction_bid_record_id", bidMap.getOrDefault(member.getId(), 0L));
            map.put("auction_bid_record_id", bidMap.getOrDefault(member.getId(), "0"));
            String msg = JSONObject.toJSONString(map);
            sysUserClient.pushBatch(
                    WebsocketMessageDTO.builder().message(msg).userId(member.getUserId()).build(),
@@ -860,7 +862,7 @@
    public Long AddOrder(Long goodsSkuId, Long memberId, BigDecimal lastBidAmount,
            BigDecimal bound, Integer goodsQuantity) {
            BigDecimal bound, Integer dealQuantity) {
        OrderDTO order=new OrderDTO();
        order.setGoodsSkuId(goodsSkuId);
        order.setOrderTime(LocalDateTime.now());
@@ -868,8 +870,8 @@
        order.setMemberId(memberId);
        AuctionSalesroomGoods auctionSalesroomGoods = this.getById(goodsSkuId);
        order.setGoodsQuantity(goodsQuantity);
        order.setTotalAmount(lastBidAmount);
        order.setGoodsQuantity(dealQuantity);
        order.setTotalAmount(lastBidAmount.multiply(new BigDecimal(dealQuantity)));
        order.setAuctionSalesroomId(auctionSalesroomGoods.getAuctionSalesroomId());
        R<MemberAddress> memberAddressR = memberClient.getMemberAddressOne(memberId,
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java
@@ -95,6 +95,7 @@
import com.ruoyi.system.api.feignClient.OrderClient;
import com.ruoyi.system.api.feignClient.PromotionClient;
import com.ruoyi.system.api.feignClient.SysUserClient;
import com.ruoyi.system.api.model.LoginUser;
import io.seata.spring.annotation.GlobalTransactional;
import java.io.IOException;
import java.math.BigDecimal;
@@ -395,7 +396,9 @@
    @Override
    public AppMiniLoginVO isMiniLogin(AppMiniLoginDTO appMiniLoginDto) {
        AppMiniLoginVO appMiniLoginVo = new AppMiniLoginVO();
        R<SysUser> sysUserR = sysUserClient.queryUserByPhone(appMiniLoginDto.getPhone());
        LoginUser loginUser = SecurityUtils.getLoginUser();
        Long userid = loginUser.getUserid();
        R<SysUser> sysUserR = sysUserClient.getSysUser(userid);
        SysUser data = sysUserR.getData();
        appMiniLoginVo.setSysUser(data);
        appMiniLoginVo.setPhone(appMiniLoginDto.getCode());
@@ -814,7 +817,7 @@
                // 发送短信
                authClient.sendSms(
                        SmsSendDTO.builder().mobileList(Lists.newArrayList(membeOne.getPhone()))
                                .content("出价成功").build(), SecurityConstants.INNER);
                                .content("【酒鼎老酒】出价成功").build(), SecurityConstants.INNER);
            } else {
                AuctionGoods byId = auctionGoodsService.getById(bidVO.getTargetId());
                R<GoodsSku> goodsSkuOneR = goodsSkuClient.getGoodsSkuOne(byId.getGoodsSkuId(),
@@ -900,7 +903,7 @@
                // 发送短信
                authClient.sendSms(
                        SmsSendDTO.builder().mobileList(Lists.newArrayList(membeOne.getPhone()))
                                .content("出价成功").build(), SecurityConstants.INNER);
                                .content("【酒鼎老酒】出价成功").build(), SecurityConstants.INNER);
            }
        } finally {
@@ -1564,7 +1567,8 @@
                            Long orderId = addOrder(auctionBidRecord.getTargetId(),
                                    auctionBidRecord.getMemberId(),
                                    auctionBidRecord.getLastBidAmount(),
                                    auctionSalesroom.getBond());
                                    auctionSalesroom.getBond(),
                                    auctionSalesroomGoods.getDealQuantity());
                            orderIdMap.put(auctionBidRecord.getMemberId(), orderId.toString());
                            auctionBidRecord.setOrderId(orderId);
                            auctionBidRecordMapper.updateById(auctionBidRecord);
@@ -1577,7 +1581,8 @@
                            Long orderId = addOrder(auctionBidRecord.getTargetId(),
                                    auctionBidRecord.getMemberId(),
                                    auctionBidRecord.getLastBidAmount(),
                                    auctionSalesroom.getBond());
                                    auctionSalesroom.getBond(),
                                    auctionSalesroomGoods.getDealQuantity());
                            orderIdMap.put(auctionBidRecord.getMemberId(), orderId.toString());
                            auctionBidRecord.setOrderId(orderId);
                            auctionBidRecordMapper.updateById(auctionBidRecord);
@@ -1606,6 +1611,9 @@
                                    .equals(BidStatusEnum.SUCCESSFUL))
                            .map(AuctionBidRecord::getMemberId)
                            .collect(Collectors.toList());
                    Map<Long, String> bidMap = auctionBidRecordList.stream().collect(
                            Collectors.toMap(AuctionBidRecord::getMemberId,
                                    item -> item.getId().toString()));
                    if (CollUtils.isNotEmpty(successMemberIdList)) {
                        List<Member> successMemberList = memberClient.getMemberListByIds(
                                successMemberIdList, SecurityConstants.INNER).getData();
@@ -1613,7 +1621,7 @@
                            // 推送websocket消息
                            sendWebsocketMsg(auctionSalesroomGoods.getId(), successMemberList,
                                    goodsSku, 1,
                                    orderIdMap);
                                    orderIdMap, bidMap);
                            // 发送短信通知
                            List<String> mobileList = successMemberList.stream()
                                    .map(Member::getPhone)
@@ -1631,7 +1639,7 @@
                            // 推送websocket消息
                            sendWebsocketMsg(auctionSalesroomGoods.getId(), failedMemberList,
                                    goodsSku, 0,
                                    orderIdMap);
                                    orderIdMap, bidMap);
                            // 发送短信通知
                            List<String> mobileList = failedMemberList.stream()
                                    .map(Member::getPhone)
@@ -1678,7 +1686,7 @@
     * @param successFlag // 中标状态 1:中标 0:未中标
     */
    private void sendWebsocketMsg(Long id, List<Member> memberList, GoodsSku goodsSku,
            Integer successFlag, Map<Long, String> userIdMap) {
            Integer successFlag, Map<Long, String> userIdMap, Map<Long, String> bidMap) {
        for (Member member : memberList) {
            Map<String, Object> map = new ConcurrentHashMap<>();
            map.put("notification_type", NotificationTypeConstant.AUCTION_POPUP);
@@ -1687,6 +1695,7 @@
            map.put("goods_name", Objects.nonNull(goodsSku) ? goodsSku.getSkuName() : "");
            map.put("success_flag", successFlag);
            map.put("order_id", successFlag == 1 ? userIdMap.getOrDefault(member.getId(), "") : "");
            map.put("auction_bid_record_id", bidMap.getOrDefault(member.getId(), "0"));
            String msg = com.alibaba.fastjson2.JSONObject.toJSONString(map);
            sysUserClient.pushBatch(
                    WebsocketMessageDTO.builder().message(msg).userId(member.getUserId()).build(),
@@ -1696,7 +1705,7 @@
    }
    public Long addOrder(Long goodsSkuId, Long memberId, BigDecimal lastBidAmount,
            BigDecimal bound) {
            BigDecimal bound, Integer dealQuantity) {
        OrderDTO order = new OrderDTO();
        order.setGoodsSkuId(goodsSkuId);
        order.setOrderTime(LocalDateTime.now());
@@ -1705,8 +1714,8 @@
        AuctionSalesroomGoods auctionSalesroomGoods = auctionSalesroomGoodsMapper.selectById(
                goodsSkuId);
        order.setGoodsQuantity(1);
        order.setTotalAmount(lastBidAmount);
        order.setGoodsQuantity(dealQuantity);
        order.setTotalAmount(lastBidAmount.multiply(new BigDecimal(dealQuantity)));
        order.setAuctionSalesroomId(auctionSalesroomGoods.getAuctionSalesroomId());
        R<MemberAddress> memberAddressR = memberClient.getMemberAddressOne(memberId,
ruoyi-modules/ruoyi-auction/src/main/resources/mapper/auction/AuctionBidRecordMapper.xml
@@ -20,7 +20,7 @@
    LEFT JOIN t_auction_salesroom_goods tasg ON tabr.auction_type = 2 AND tasg.`status` = 3
    AND tasg.id = tabr.target_id
    <where>
      tabr.member_id = #{id}
      tabr.member_id = #{id} AND tabr.notify_flag = 0
    </where>
  </select>
</mapper>
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSkuServiceImpl.java
@@ -358,47 +358,47 @@
        page.setSize(homeGoodsSkuDTO.getPageSize());
        page.setCurrent(homeGoodsSkuDTO.getPageCurr());
        LambdaQueryWrapper<GoodsSku> wrapper3= Wrappers.lambdaQuery();
        wrapper3.eq(GoodsSku::getListingStatus,0);
        LambdaQueryWrapper<GoodsSku> wrapper3 = Wrappers.lambdaQuery();
        wrapper3.eq(GoodsSku::getListingStatus, 0);
        // if(homeGoodsSkuDTO.getId()!=null){
        //     List arr=new ArrayList<>();
        //     arr.add(homeGoodsSkuDTO.getId());
        //     wrapper3.notIn(GoodsSku::getId,arr);
        // }
        if (homeGoodsSkuDTO.getSkuName()!=null&&homeGoodsSkuDTO.getSkuName()!=""){
            wrapper3.like(GoodsSku::getSkuName,homeGoodsSkuDTO.getSkuName());
        if (homeGoodsSkuDTO.getSkuName() != null && homeGoodsSkuDTO.getSkuName() != "") {
            wrapper3.like(GoodsSku::getSkuName, homeGoodsSkuDTO.getSkuName());
        }
        if (homeGoodsSkuDTO.getGoodsSkuId()!=null){
            List<Long> id=new ArrayList<>();
        if (homeGoodsSkuDTO.getGoodsSkuId() != null) {
            List<Long> id = new ArrayList<>();
            id.add(homeGoodsSkuDTO.getGoodsSkuId());
            wrapper3.notIn(GoodsSku::getId,id);
            wrapper3.notIn(GoodsSku::getId, id);
        }
        if (homeGoodsSkuDTO.getBrandId()!=null){
            wrapper3.eq(GoodsSku::getBrandId,homeGoodsSkuDTO.getBrandId());
        if (homeGoodsSkuDTO.getBrandId() != null) {
            wrapper3.eq(GoodsSku::getBrandId, homeGoodsSkuDTO.getBrandId());
        }
        if (homeGoodsSkuDTO.getCategoryId()!=null){
            wrapper3.eq(GoodsSku::getCategoryId,homeGoodsSkuDTO.getCategoryId());
        if (homeGoodsSkuDTO.getCategoryId() != null) {
            wrapper3.eq(GoodsSku::getCategoryId, homeGoodsSkuDTO.getCategoryId());
        }
        if (homeGoodsSkuDTO.getSeriesId()!=null){
            wrapper3.eq(GoodsSku::getSeriesId,homeGoodsSkuDTO.getSeriesId());
        if (homeGoodsSkuDTO.getSeriesId() != null) {
            wrapper3.eq(GoodsSku::getSeriesId, homeGoodsSkuDTO.getSeriesId());
        }
        if (homeGoodsSkuDTO.getFlavorTypeId()!=null){
            wrapper3.eq(GoodsSku::getFlavorTypeId,homeGoodsSkuDTO.getFlavorTypeId());
        if (homeGoodsSkuDTO.getFlavorTypeId() != null) {
            wrapper3.eq(GoodsSku::getFlavorTypeId, homeGoodsSkuDTO.getFlavorTypeId());
        }
        if (homeGoodsSkuDTO.getSort()==2){
        if (homeGoodsSkuDTO.getSort() == 2) {
            wrapper3.orderByAsc(GoodsSku::getPrice);
        }
        if (homeGoodsSkuDTO.getSort()==3){
        if (homeGoodsSkuDTO.getSort() == 3) {
            wrapper3.orderByDesc(GoodsSku::getPrice);
        }
        if (homeGoodsSkuDTO.getSort()==4){
        if (homeGoodsSkuDTO.getSort() == 4) {
            wrapper3.orderByAsc(GoodsSku::getSoldQuantity);
        }
        if (homeGoodsSkuDTO.getSort()==5){
        if (homeGoodsSkuDTO.getSort() == 5) {
            wrapper3.orderByDesc(GoodsSku::getSoldQuantity);
        }
        if(homeGoodsSkuDTO.getYear()==2){
        if (homeGoodsSkuDTO.getYear() == 2) {
            LocalDateTime now = LocalDateTime.now();
            DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
            LocalDateTime newTime7 = now.minusYears(30);
@@ -406,7 +406,7 @@
            LocalDateTime parseTime7 = LocalDate.parse(formattedDate7).atStartOfDay();
            wrapper3.le(GoodsSku::getYears, DateUtil.format(parseTime7, "yyyy"));
        }
        if(homeGoodsSkuDTO.getYear()==3){
        if (homeGoodsSkuDTO.getYear() == 3) {
            LocalDateTime now = LocalDateTime.now();
            DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
            LocalDateTime newTime7 = now.minusYears(30);
@@ -415,12 +415,12 @@
            LocalDateTime newTime15 = now.minusYears(15);
            String formattedDate15 = newTime15.format(formatter);
            LocalDateTime parseTime15= LocalDate.parse(formattedDate15).atStartOfDay();
            LocalDateTime parseTime15 = LocalDate.parse(formattedDate15).atStartOfDay();
            wrapper3.le(GoodsSku::getYears, DateUtil.format(parseTime15, "yyyy"))
                    .gt(GoodsSku::getYears, DateUtil.format(parseTime7, "yyyy"));
        }
        if(homeGoodsSkuDTO.getYear()==4){
        if (homeGoodsSkuDTO.getYear() == 4) {
            LocalDateTime now = LocalDateTime.now();
            DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
            LocalDateTime newTime7 = now.minusYears(5);
@@ -429,12 +429,12 @@
            LocalDateTime newTime15 = now.minusYears(15);
            String formattedDate15 = newTime15.format(formatter);
            LocalDateTime parseTime15= LocalDate.parse(formattedDate15).atStartOfDay();
            LocalDateTime parseTime15 = LocalDate.parse(formattedDate15).atStartOfDay();
            wrapper3.le(GoodsSku::getYears, DateUtil.format(parseTime7, "yyyy"))
                    .gt(GoodsSku::getYears, DateUtil.format(parseTime15, "yyyy"));
        }
        if(homeGoodsSkuDTO.getYear()==5){
        if (homeGoodsSkuDTO.getYear() == 5) {
            LocalDateTime now = LocalDateTime.now();
            DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
            LocalDateTime newTime7 = now.minusYears(1);
@@ -442,30 +442,32 @@
            LocalDateTime parseTime7 = LocalDate.parse(formattedDate7).atStartOfDay();
            LocalDateTime newTime15 = now.minusYears(5);
            String formattedDate15 = newTime15.format(formatter);
            LocalDateTime parseTime15= LocalDate.parse(formattedDate15).atStartOfDay();
            LocalDateTime parseTime15 = LocalDate.parse(formattedDate15).atStartOfDay();
            wrapper3.le(GoodsSku::getYears, DateUtil.format(parseTime7, "yyyy"))
                    .ge(GoodsSku::getYears, DateUtil.format(parseTime15, "yyyy"));
        }
        if (homeGoodsSkuDTO.getSort()==1){
        if (homeGoodsSkuDTO.getSort() == 1) {
            wrapper3.last(" ORDER BY IF(isnull(sort_num),1,0), sort_num ASC,create_time DESC");
        }else{
            wrapper3.last(",IF(isnull(sort_num),1,0), sort_num DESC,create_time DESC" );
        } else {
            wrapper3.last(",IF(isnull(sort_num),1,0), sort_num DESC,create_time DESC");
        }
        Page<GoodsSku> page1 = this.page(page, wrapper3);
        LoginUser loginUser = SecurityUtils.getLoginUser();
        Member member = memberClient.getMemberByUserId(loginUser.getUserid(),
                SecurityConstants.INNER).getData();
        // 用户已登录 有会员等级 会员等级不为普通用户 则获取会员价格
        if (SecurityUtils.isLogin() && Objects.nonNull(member.getVipClassify())
                && !member.getVipClassify().equals(MemberVipClassifyEnum.NORMAL.getCode())) {
            for (GoodsSku record : page1.getRecords()) {
                // 获取会员价格
                BigDecimal vipPrice = getVipPrice(record.getId(), member.getVipClassify());
                record.setPrice(vipPrice);
        if (SecurityUtils.isLogin()) {
            LoginUser loginUser = SecurityUtils.getLoginUser();
            Member member = memberClient.getMemberByUserId(loginUser.getUserid(),
                    SecurityConstants.INNER).getData();
            // 用户已登录 有会员等级 会员等级不为普通用户 则获取会员价格
            if (Objects.nonNull(member.getVipClassify())
                    && !member.getVipClassify().equals(MemberVipClassifyEnum.NORMAL.getCode())) {
                for (GoodsSku record : page1.getRecords()) {
                    // 获取会员价格
                    BigDecimal vipPrice = getVipPrice(record.getId(), member.getVipClassify());
                    record.setPrice(vipPrice);
                }
            }
        }
        return PageDTO.of(page1, HomeGoodsSkuListVO.class);
    }
@@ -473,6 +475,9 @@
    @Override
    public HomeGoodsSkuInfoVO getHomeGoodsSkuInfo(HomeGoodsSkuDTO homeGoodsSkuDTO) {
        GoodsSku byId = this.getById(homeGoodsSkuDTO.getGoodsSkuId());
        if (Objects.isNull(byId)) {
            throw new ServiceException("当前商品已下架");
        }
        HomeGoodsSkuInfoVO homeGoodsSkuInfoVO=new HomeGoodsSkuInfoVO();
        homeGoodsSkuInfoVO.setSkuName(byId.getSkuName());
        homeGoodsSkuInfoVO.setYears(String.valueOf(byId.getYears().getYear()));
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
@@ -13,6 +13,7 @@
import com.ruoyi.common.core.enums.BondStatusEnum;
import com.ruoyi.common.core.enums.CouponUseEnum;
import com.ruoyi.common.core.enums.GroupStatusEnum;
import com.ruoyi.common.core.enums.MemberVipClassifyEnum;
import com.ruoyi.common.core.enums.OrderFromEnum;
import com.ruoyi.common.core.enums.OrderStatusEnum;
import com.ruoyi.common.core.enums.OrderTypeEnum;
@@ -192,7 +193,8 @@
        order.setTotalAmount(OrderDTO.getTotalAmount());
        order.setOrderStatus(OrderStatusEnum.TO_PLAY);
        order.setPoints(OrderDTO.getPoints());
        order.setGoodsQuantity(1);
        order.setGoodsQuantity(
                Objects.nonNull(OrderDTO.getGoodsQuantity()) ? OrderDTO.getGoodsQuantity() : 1);
        order.setReceiverName(OrderDTO.getReceiverName());
        order.setReceiverPhone(OrderDTO.getReceiverphone());
        order.setReceiverCity(OrderDTO.getReceiverCity());
@@ -337,22 +339,36 @@
            if (goodsSku.getStock()<memberOrderDTO.getGoodsQuantity()){
                throw new ServiceException("该商品已售罄,暂无库存");
            }else{
                // 远程调用用户服务,获取用户信息
                Member member = memberClient.getMembeOne(memberOrderDTO.getMemberId(),
                                SecurityConstants.INNER)
                        .getData();
                if (Objects.isNull(member)) {
                    throw new ServiceException("获取用户信息失败");
                }
                GoodsStockUpdDTO goodsStockUpdDTO = new GoodsStockUpdDTO();
                goodsStockUpdDTO.setGoodsSkuId(goodsSku.getId());
                goodsStockUpdDTO.setAuctionStock(goodsSku.getStock()-memberOrderDTO.getGoodsQuantity());
                goodsSkuClient.updGoodsStock1(goodsStockUpdDTO,
                        SecurityConstants.INNER);
                order.setSkuName(goodsSku.getSkuName());
                order.setPrice(goodsSku.getPrice());
                order.setCoverPic(goodsSku.getCoverPic());
                order.setGoodsId(goodsSku.getId());
                if (Objects.nonNull(member.getVipClassify()) && !member.getVipClassify()
                        .equals(MemberVipClassifyEnum.NORMAL.getCode())) {
                    BigDecimal vipPrice = getVipPrice(goodsSku, member.getVipClassify());
                    order.setPrice(vipPrice);
                }
            }
            memberOrderVO.setGoodsSkuId(memberOrderDTO.getGoodsSkuId());
            memberOrderVO.setPrice(goodsSku.getPrice());
            memberOrderVO.setCoverPic(goodsSku.getCoverPic());
            memberOrderVO.setSkuName(goodsSku.getSkuName());
            pice=goodsSku.getPrice();
            pice = order.getPrice();
        }
        if (memberOrderDTO.getOrderFrom()==2){
            GoodsSeckill data = goodsSkuClient.getGoodsSeckillOne(memberOrderDTO.getGoodsSkuId(), SecurityConstants.INNER).getData();
@@ -571,6 +587,18 @@
        return memberOrderVO;
    }
    private BigDecimal getVipPrice(GoodsSku goodsSku, Integer vipClassify) {
        if (Objects.isNull(goodsSku)) {
            throw new ServiceException("当前商品已下架");
        }
        BigDecimal price = BigDecimal.ZERO;
        if (MemberVipClassifyEnum.VIP.getCode().equals(vipClassify)) {
            price = goodsSku.getVipPrice();
        } else if (MemberVipClassifyEnum.SUPER_VIP.getCode().equals(vipClassify)) {
            price = goodsSku.getSuperVipPrice();
        }
        return price;
    }
    @Override
    public MemberTiOrderVO updMemberOrder(MemberOrderDTO memberOrderDTO) {
@@ -606,7 +634,8 @@
                    goodsStockUpdDTO.setAuctionStock(m-memberOrderDTO.getGoodsQuantity());
                    goodsSkuClient.updGoodsStock1(goodsStockUpdDTO,
                            SecurityConstants.INNER);
                    order.setTotalAmount(goodsSku.getPrice().multiply(new BigDecimal(memberOrderDTO.getGoodsQuantity())));
                order.setTotalAmount(order.getPrice()
                        .multiply(new BigDecimal(memberOrderDTO.getGoodsQuantity())));
                    order.setGoodsQuantity(memberOrderDTO.getGoodsQuantity());
                    memberOrderVO.setGoodsSkuId(memberOrderDTO.getGoodsSkuId());
                    memberOrderVO.setPrice(goodsSku.getPrice());