| | |
| | | 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"); // 固定 |
| | |
| | | } |
| | | |
| | | @GetMapping("/setPopup/{auctionBidRecordId}") |
| | | @ApiOperation("标记已弹出弹窗") |
| | | @ApiOperation("【2024.12.31】标记已弹出弹窗") |
| | | public R<?> setPopup(@PathVariable("auctionBidRecordId") Long auctionBidRecordId) { |
| | | iAuctionBidRecordService.setPopup(auctionBidRecordId); |
| | | return R.ok(); |
| | |
| | | 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); |
| | | |
| | |
| | | } |
| | | // 更新出价记录 |
| | | 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)) |
| | |
| | | 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()); |
| | |
| | | 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()); |
| | |
| | | * @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); |
| | |
| | | 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(), |
| | |
| | | } |
| | | // 更新出价记录 |
| | | 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)) |
| | |
| | | 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) |
| | |
| | | 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) |
| | |
| | | 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); |
| | |
| | | .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(); |
| | |
| | | * @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); |
| | |
| | | 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(), |
| | |
| | | |
| | | |
| | | 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()); |
| | |
| | | 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, |
| | |
| | | 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; |
| | |
| | | @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()); |
| | |
| | | // 发送短信 |
| | | 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(), |
| | |
| | | // 发送短信 |
| | | authClient.sendSms( |
| | | SmsSendDTO.builder().mobileList(Lists.newArrayList(membeOne.getPhone())) |
| | | .content("出价成功").build(), SecurityConstants.INNER); |
| | | .content("【酒鼎老酒】出价成功").build(), SecurityConstants.INNER); |
| | | |
| | | } |
| | | } finally { |
| | |
| | | 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); |
| | |
| | | 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); |
| | |
| | | .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(); |
| | |
| | | // 推送websocket消息 |
| | | sendWebsocketMsg(auctionSalesroomGoods.getId(), successMemberList, |
| | | goodsSku, 1, |
| | | orderIdMap); |
| | | orderIdMap, bidMap); |
| | | // 发送短信通知 |
| | | List<String> mobileList = successMemberList.stream() |
| | | .map(Member::getPhone) |
| | |
| | | // 推送websocket消息 |
| | | sendWebsocketMsg(auctionSalesroomGoods.getId(), failedMemberList, |
| | | goodsSku, 0, |
| | | orderIdMap); |
| | | orderIdMap, bidMap); |
| | | // 发送短信通知 |
| | | List<String> mobileList = failedMemberList.stream() |
| | | .map(Member::getPhone) |
| | |
| | | * @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); |
| | |
| | | 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(), |
| | |
| | | } |
| | | |
| | | 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()); |
| | |
| | | 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, |
| | |
| | | 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> |
| | |
| | | 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); |
| | |
| | | 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); |
| | |
| | | |
| | | 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); |
| | |
| | | |
| | | 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); |
| | |
| | | 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); |
| | | |
| | | } |
| | |
| | | @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())); |
| | |
| | | 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; |
| | |
| | | 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()); |
| | |
| | | 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(); |
| | |
| | | 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) { |
| | | |
| | |
| | | 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()); |