ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/HomeGoodsSkuDTO.java
@@ -36,5 +36,8 @@ @ApiModelProperty(value = "会员id") private Long memberId; @ApiModelProperty(value = "提交标识") private String formId; } ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/HomeGoodsSeckillInfoVO.java
@@ -109,4 +109,8 @@ @ApiModelProperty(value = "是收藏 1未收藏,2收藏") @JsonInclude(JsonInclude.Include.ALWAYS) private Integer isCollection; @ApiModelProperty(value = "是预约 1未预约,2预约") @JsonInclude(JsonInclude.Include.ALWAYS) private Integer isAppointment; } ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/GoodsSkuFactory.java
@@ -67,6 +67,16 @@ } @Override public R<Boolean> updGoods(GoodsSku goodsSku, String source) { return R.fail("更新商品失败:" + cause.getMessage()); } @Override public R<Boolean> updGoodsSeckill1(GoodsSku goodsSku, String source) { return R.fail("更新商品失败:" + cause.getMessage()); } @Override public R<?> startSeckill(Long seckillId, String source) { return R.fail("开始秒杀失败:" + cause.getMessage()); } ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/MemberFallbackFactory.java
@@ -52,8 +52,9 @@ return R.fail("添加用户积分失败:" + cause.getMessage()); } @Override public R<?> updMembeOne(updMembeOneDTO dMembeOneDTO) { public R<?> updMembeOne(updMembeOneDTO dMembeOneDTO, String source) { return R.fail("修改用户等级失败:" + cause.getMessage()); } ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/GoodsSkuClient.java
@@ -55,6 +55,15 @@ @PostMapping("/goods-sku/updateGoodsSkuOne") R<Boolean> updateGoodsSkuOne(@RequestBody GoodsSku goodsSku, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); @PutMapping("/goods-sku/updGoods") R<Boolean> updGoods(@RequestBody GoodsSku goodsSku, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); @PutMapping("/goods-seckill/updGoodsSeckill1") R<Boolean> updGoodsSeckill1(@RequestBody GoodsSku goodsSku, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); @GetMapping("/goods-seckill/start/{seckillId}") R<?> startSeckill(@PathVariable("seckillId") Long seckillId, ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/MemberClient.java
@@ -41,7 +41,7 @@ R<?> addMemberPoints(@RequestBody MemberPointsDTO memberPointsDTO); @PostMapping("/member/updMembeOne") R<?> updMembeOne(@RequestBody updMembeOneDTO dMembeOneDTO); R<?> updMembeOne(@RequestBody updMembeOneDTO dMembeOneDTO,@RequestHeader(SecurityConstants.FROM_SOURCE) String source); @PostMapping("/member/list-by-condition") R<List<Member>> getMemberListByCondition(@RequestBody MemberDTO memberDTO, ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java
@@ -453,6 +453,7 @@ auctionGoodsinfoVO.setUnit(goodsSkuOne.getUnit()); auctionGoodsinfoVO.setBond(byId.getBond()); auctionGoodsinfoVO.setDescription(goodsSkuOne.getDescription()); auctionGoodsinfoVO.setExplain(byId.getDescription()); auctionGoodsinfoVO.setYears(goodsSkuOne.getYears()); GoodsBrand data = goodsSkuClient.getBrandOne(goodsSkuOne.getBrandId(), SecurityConstants.INNER).getData(); GoodsCategory data1 = goodsSkuClient.getCategoryOne(goodsSkuOne.getCategoryId(), SecurityConstants.INNER).getData(); @@ -557,8 +558,8 @@ } CustomConfig returnAddressUserName = sysUserClient.getconfig("MALL_ORDER_DESCRIPTION").getData(); auctionGoodsinfoVO.setExplain(returnAddressUserName.getConfigValue()); /*CustomConfig returnAddressUserName = sysUserClient.getconfig("MALL_ORDER_DESCRIPTION").getData(); auctionGoodsinfoVO.setExplain(returnAddressUserName.getConfigValue());*/ List<getHomeGoodsSkuXxiVO> homeGoodsSkuXxiVOS=new ArrayList<>(); ruoyi-modules/ruoyi-goods/pom.xml
@@ -116,6 +116,16 @@ <groupId>com.ruoyi</groupId> <artifactId>ruoyi-common-seata</artifactId> </dependency> <dependency> <groupId>com.github.binarywang</groupId> <artifactId>weixin-java-miniapp</artifactId> <version>3.4.0</version> </dependency> </dependencies> <build> ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/forepart/GoodsSeckillAppointmentController.java
@@ -1,8 +1,19 @@ package com.ruoyi.goods.controller.forepart; import com.ruoyi.common.core.domain.R; import com.ruoyi.goods.service.IGoodsSeckillAppointmentService; import com.ruoyi.goods.service.impl.GoodsSeckillAppointmentServiceImpl; import com.ruoyi.system.api.domain.dto.HomeGoodsSkuDTO; import com.ruoyi.system.api.domain.vo.getHomeGoodsSkuXxiVO; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.util.List; /** * <p> @@ -16,4 +27,14 @@ @RequestMapping("/goods-seckill-appointment") public class GoodsSeckillAppointmentController { @Resource private IGoodsSeckillAppointmentService goodsSeckillAppointmentService; @PostMapping("/goodsSeckillAppointment") @ApiOperation(value = "用户端-秒杀预约") public R goodsSeckillAppointment(@RequestBody HomeGoodsSkuDTO homeGoodsSkuDTO) { goodsSeckillAppointmentService.goodsSeckillAppointment(homeGoodsSkuDTO); return R.ok(); } } ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/inner/GoodsSeckillController.java
@@ -2,10 +2,12 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.ruoyi.common.core.constant.SecurityConstants; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.security.annotation.InnerAuth; import com.ruoyi.goods.service.IGoodsSeckillService; import com.ruoyi.system.api.domain.GoodsSeckill; import com.ruoyi.system.api.domain.GoodsSku; import com.ruoyi.system.api.domain.dto.GoodsStockUpdDTO; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -45,6 +47,15 @@ goodsSeckillService.updateById(GoodsSeckillOne); return R.ok(); } @InnerAuth @PutMapping("/updGoodsSeckill1") R<Boolean> updGoodsSeckill1(@RequestBody GoodsSku goodsSku){ GoodsSeckill GoodsSeckillOne = goodsSeckillService.getById(goodsSku.getId()); Integer m= GoodsSeckillOne.getSoldQuantity()+goodsSku.getSoldQuantity(); GoodsSeckillOne.setSoldQuantity(m); goodsSeckillService.updateById(GoodsSeckillOne); return R.ok(); } /** ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/inner/GoodsSkuController.java
@@ -1,6 +1,7 @@ package com.ruoyi.goods.controller.inner; import com.ruoyi.common.core.constant.SecurityConstants; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.security.annotation.InnerAuth; import com.ruoyi.goods.service.IGoodsSkuService; @@ -9,14 +10,8 @@ import java.util.Collection; import java.util.List; import javax.annotation.Resource; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.*; /** * <p> @@ -86,6 +81,15 @@ iGoodsSkuService.updGoodsStock1(goodsStockUpdDTOS); return R.ok(); } @InnerAuth @PutMapping("/updGoods") R<Boolean> updGoods(@RequestBody GoodsSku goodsSku){ GoodsSku goodsSkuOne=iGoodsSkuService.getById(goodsSku.getId()); Integer h=goodsSkuOne.getSoldQuantity()+goodsSku.getSoldQuantity(); goodsSkuOne.setSoldQuantity(h); iGoodsSkuService.updateById(goodsSkuOne); return R.ok(); } /** * 根据商品id集合查询商品 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/GoodsSeckillAppointment.java
@@ -35,6 +35,9 @@ @ApiModelProperty(value = "会员id") private Long memberId; @ApiModelProperty(value = "提交标识") private String formId; @ApiModelProperty(value = "创建者") @TableField(value = "create_by", fill = FieldFill.INSERT) private String createBy; ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsSeckillAppointmentService.java
@@ -1,7 +1,10 @@ package com.ruoyi.goods.service; import com.ruoyi.common.core.domain.R; import com.ruoyi.goods.domain.GoodsSeckillAppointment; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.system.api.domain.dto.HomeGoodsSkuDTO; import org.springframework.web.bind.annotation.RequestBody; /** * <p> @@ -13,4 +16,6 @@ */ public interface IGoodsSeckillAppointmentService extends IService<GoodsSeckillAppointment> { R goodsSeckillAppointment(@RequestBody HomeGoodsSkuDTO homeGoodsSkuDTO); } ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSeckillAppointmentServiceImpl.java
@@ -1,9 +1,11 @@ package com.ruoyi.goods.service.impl; import com.ruoyi.common.core.domain.R; import com.ruoyi.goods.domain.GoodsSeckillAppointment; import com.ruoyi.goods.mapper.GoodsSeckillAppointmentMapper; import com.ruoyi.goods.service.IGoodsSeckillAppointmentService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.system.api.domain.dto.HomeGoodsSkuDTO; import org.springframework.stereotype.Service; /** @@ -17,4 +19,12 @@ @Service public class GoodsSeckillAppointmentServiceImpl extends ServiceImpl<GoodsSeckillAppointmentMapper, GoodsSeckillAppointment> implements IGoodsSeckillAppointmentService { @Override public R goodsSeckillAppointment(HomeGoodsSkuDTO homeGoodsSkuDTO) { GoodsSeckillAppointment goodsSeckillAppointment=new GoodsSeckillAppointment(); goodsSeckillAppointment.setGoodsSeckillId(homeGoodsSkuDTO.getGoodsSkuId()); goodsSeckillAppointment.setMemberId(homeGoodsSkuDTO.getMemberId()); this.save(goodsSeckillAppointment); return R.ok(); } } ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSeckillServiceImpl.java
@@ -22,8 +22,10 @@ import com.ruoyi.goods.controller.management.dto.GoodsSeckillQuery; import com.ruoyi.goods.controller.management.dto.GoodsSeckillUpd; import com.ruoyi.goods.controller.management.vo.GoodsSeckillVO; import com.ruoyi.goods.domain.GoodsSeckillAppointment; import com.ruoyi.goods.domain.MemberGoodsCollection; import com.ruoyi.goods.mapper.GoodsSeckillMapper; import com.ruoyi.goods.service.IGoodsSeckillAppointmentService; import com.ruoyi.goods.service.IGoodsSeckillService; import com.ruoyi.goods.service.IGoodsSkuService; import com.ruoyi.goods.service.IMemberGoodsCollectionService; @@ -84,6 +86,10 @@ @Resource private IMemberGoodsCollectionService iMemberGoodsCollectionService; @Resource private IGoodsSeckillAppointmentService iGoodsSeckillAppointmentService; @Override @Transactional(rollbackFor = Exception.class) public void addGoodsSeckill(GoodsSeckillDTO dto) { @@ -353,7 +359,10 @@ in.add(0); in.add(1); wrapper4.in(GoodsSeckill::getStartStatus,in); wrapper4.in(GoodsSeckill::getGoodsSkuId,goodsSkuIdList); if(goodsSkuIdList.size()>0){ wrapper4.in(GoodsSeckill::getGoodsSkuId,goodsSkuIdList); } wrapper4.orderByAsc(GoodsSeckill::getSortNum); Page<GoodsSeckill> page2 = this.page(page, wrapper4); @@ -421,6 +430,18 @@ }else{ homeGoodsSeckillInfoVO.setIsCollection(1); } LambdaQueryWrapper<GoodsSeckillAppointment> wrapper4= Wrappers.lambdaQuery(); wrapper4.eq(GoodsSeckillAppointment::getDelFlag,0); wrapper4.eq(GoodsSeckillAppointment::getMemberId,homeGoodsSkuDTO.getMemberId()); wrapper4.eq(GoodsSeckillAppointment::getGoodsSeckillId,homeGoodsSkuDTO.getGoodsSkuId()); List<GoodsSeckillAppointment> list2 = iGoodsSeckillAppointmentService.list(wrapper4); if (list2.size()>0){ homeGoodsSeckillInfoVO.setIsAppointment(2); }else{ homeGoodsSeckillInfoVO.setIsAppointment(1); } return homeGoodsSeckillInfoVO; } } ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/MemberGoodsCollectionServiceImpl.java
@@ -63,7 +63,9 @@ LambdaQueryWrapper< MemberGoodsCollection> wrapper= Wrappers.lambdaQuery(); wrapper.eq(MemberGoodsCollection::getMemberId,auctionCollectionDTO.getMemberId()); wrapper.eq(MemberGoodsCollection::getTargetId,auctionCollectionDTO.getGoodsSkuId()); wrapper.eq(MemberGoodsCollection::getType,auctionCollectionDTO.getType()); if (auctionCollectionDTO.getType()!=null){ wrapper.eq(MemberGoodsCollection::getType,auctionCollectionDTO.getType()); } if (auctionCollectionDTO.getState()==1){ List<MemberGoodsCollection> list = this.list(wrapper); if (list.size()==0){ ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/inner/MemberAddressController.java
@@ -33,7 +33,7 @@ @PostMapping("/getMemberAddressOne") @ResponseBody @InnerAuth public R<MemberAddress> getMemberAddressOne(@RequestBody Integer userId) { public R<MemberAddress> getMemberAddressOne(@RequestBody Long userId) { LambdaQueryWrapper<MemberAddress> wrapper2= Wrappers.lambdaQuery(); wrapper2.eq(MemberAddress::getMemberId,userId); wrapper2.eq(MemberAddress::getDelFlag,0); ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberServiceImpl.java
@@ -564,18 +564,24 @@ if (cumulative.compareTo(byId.getMoney()) <= 0 && cumulative1.compareTo(byId.getMoney()) >= 0) { byId.setLevel(list.get(i).getLevel()); }else{ byId.setLevel(list.get(i).getLevel()); if (cumulative1.compareTo(byId.getMoney())<=0){ byId.setLevel(list.get(i).getLevel()); } } }else { BigDecimal cumulative = list.get(i - 1).getCumulativeConsumption(); BigDecimal cumulative1 = list.get(i).getCumulativeConsumption(); if (cumulative.compareTo(byId.getMoney()) <= 0 && cumulative1.compareTo(byId.getMoney()) >= 0) { byId.setLevel(list.get(i).getLevel()); if (i!=0&&i!=list.size()-1){ BigDecimal cumulative = list.get(i - 1).getCumulativeConsumption(); BigDecimal cumulative1 = list.get(i).getCumulativeConsumption(); if (cumulative.compareTo(byId.getMoney()) <= 0 && cumulative1.compareTo(byId.getMoney()) >= 0) { byId.setLevel(list.get(i).getLevel()); } } } } this.updateById(byId); } /** ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
@@ -291,7 +291,7 @@ String goodsLock = "goods_lock_" + CacheConstants.SECKILL_GOODS + data.getId(); RLock redissonLock = redissonClient.getLock(goodsLock); Integer surpNum = 0; try { /* try { redissonLock.lock(30, TimeUnit.SECONDS); surpNum = redisService.getCacheObject(CacheConstants.SECKILL_GOODS + data.getId()); if (surpNum == null || surpNum < memberOrderDTO.getGoodsQuantity()) { @@ -300,10 +300,26 @@ }catch (Exception e){ throw new ServiceException("reids 出错"); }*/ MemberOrderDTO memberOrderDTO1=new MemberOrderDTO(); memberOrderDTO1.setMemberId(order.getMemberId()); memberOrderDTO1.setGoodsSkuId(memberOrderDTO.getGoodsSkuId()); Integer num=baseMapper.getSeckillMembers1(memberOrderDTO1); Integer num1=0; if (num!=null){ num1 =num+1; }else{ num1=order.getGoodsQuantity(); } order.setOrderFrom(OrderFromEnum.SNAP_ORDERS); GoodsSku goodsSku = goodsSkuClient.getGoodsSkuOne(data.getGoodsSkuId(), SecurityConstants.INNER).getData(); if (data.getLimitNumber()<num1) { throw new ServiceException("对不起,大于商品购买数"); } order.setOrderFrom(OrderFromEnum.SNAP_ORDERS); memberOrderVO.setGoodsSkuId(memberOrderDTO.getGoodsSkuId()); memberOrderVO.setPrice(data.getSeckillPrice()); memberOrderVO.setSjPrice(goodsSku.getPrice()); @@ -312,12 +328,12 @@ memberOrderVO.setYouhiPrice(data.getSeckillPrice()); pice=data.getSeckillPrice(); if (data.getSeckillStock()<memberOrderDTO.getGoodsQuantity()){ if (data.getSeckillStock()<1){ throw new ServiceException("对不起,购买数大于库存"); }else{ GoodsStockUpdDTO goodsStockUpdDTO = new GoodsStockUpdDTO(); goodsStockUpdDTO.setGoodsSkuId(goodsSku.getId()); goodsStockUpdDTO.setAuctionStock(data.getSeckillStock()-memberOrderDTO.getGoodsQuantity()); goodsStockUpdDTO.setGoodsSkuId(data.getId()); goodsStockUpdDTO.setAuctionStock(data.getSeckillStock()-1); goodsSkuClient.updGoodsSeckill(goodsStockUpdDTO,SecurityConstants.INNER); } @@ -421,21 +437,20 @@ }if (memberOrderDTO.getGoodsQuantity()!=null){ if (order.getOrderFrom().getCode()==1){ GoodsSku goodsSku = goodsSkuClient.getGoodsSkuOne(order.getGoodsSkuId(), SecurityConstants.INNER).getData(); if (goodsSku.getStock()<memberOrderDTO.getGoodsQuantity()){ throw new ServiceException("对不起,购买数大于库存"); }else{ GoodsStockUpdDTO goodsStockUpdDTO = new GoodsStockUpdDTO(); goodsStockUpdDTO.setGoodsSkuId(goodsSku.getId()); goodsStockUpdDTO.setAuctionStock(goodsSku.getStock()+order.getGoodsQuantity()); goodsSkuClient.updGoodsStock1(goodsStockUpdDTO, SecurityConstants.INNER); GoodsStockUpdDTO goodsStockUpdDTO1 = new GoodsStockUpdDTO(); goodsStockUpdDTO1.setGoodsSkuId(goodsSku.getId()); goodsStockUpdDTO1.setAuctionStock(goodsSku.getStock()-memberOrderDTO.getGoodsQuantity()); if (goodsSku.getStock()+order.getGoodsQuantity()<memberOrderDTO.getGoodsQuantity()){ throw new ServiceException("对不起,购买数大于库存"); } Integer m= goodsSku.getStock()+order.getGoodsQuantity(); goodsStockUpdDTO.setAuctionStock(m-memberOrderDTO.getGoodsQuantity()); goodsSkuClient.updGoodsStock1(goodsStockUpdDTO, SecurityConstants.INNER); order.setTotalAmount(goodsSku.getPrice().multiply(new BigDecimal(memberOrderDTO.getGoodsQuantity()))); order.setGoodsQuantity(memberOrderDTO.getGoodsQuantity()); memberOrderVO.setGoodsSkuId(memberOrderDTO.getGoodsSkuId()); @@ -444,7 +459,7 @@ memberOrderVO.setSkuName(goodsSku.getSkuName()); } } if (order.getOrderFrom().getCode()==2){ MemberOrderDTO memberOrderDTO1=new MemberOrderDTO(); memberOrderDTO1.setMemberId(order.getMemberId()); @@ -459,22 +474,23 @@ GoodsSeckill data = goodsSkuClient.getGoodsSeckillOne(order.getGoodsSkuId(), SecurityConstants.INNER).getData(); GoodsSku goodsSku = goodsSkuClient.getGoodsSkuOne(data.getGoodsSkuId(), SecurityConstants.INNER).getData(); if (data.getLimitNumber()<=num1){ if (data.getLimitNumber()<num1){ throw new ServiceException("对不起,大于商品购买数"); }else{ if (data.getSeckillStock()<memberOrderDTO.getGoodsQuantity()){ throw new ServiceException("对不起,购买数大于库存"); }else{ order.setGoodsQuantity(memberOrderDTO.getGoodsQuantity()); GoodsStockUpdDTO goodsStockUpdDTO = new GoodsStockUpdDTO(); goodsStockUpdDTO.setGoodsSkuId(data.getId()); goodsStockUpdDTO.setAuctionStock(data.getSeckillStock()+order.getGoodsQuantity()); goodsSkuClient.updGoodsSeckill(goodsStockUpdDTO,SecurityConstants.INNER); if (data.getSeckillStock()+order.getGoodsQuantity()<memberOrderDTO.getGoodsQuantity()){ throw new ServiceException("对不起,购买数大于库存"); } Integer m=data.getSeckillStock()+order.getGoodsQuantity(); GoodsStockUpdDTO goodsStockUpdDTO1 = new GoodsStockUpdDTO(); goodsStockUpdDTO1.setGoodsSkuId(data.getId()); goodsStockUpdDTO1.setAuctionStock(data.getSeckillStock()-memberOrderDTO.getGoodsQuantity()); goodsSkuClient.updGoodsSeckill(goodsStockUpdDTO,SecurityConstants.INNER); goodsStockUpdDTO1.setAuctionStock(m-memberOrderDTO.getGoodsQuantity()); goodsSkuClient.updGoodsSeckill(goodsStockUpdDTO1,SecurityConstants.INNER); order.setTotalAmount(data.getSeckillPrice().multiply(new BigDecimal(memberOrderDTO.getGoodsQuantity()))); order.setGoodsQuantity(memberOrderDTO.getGoodsQuantity()); @@ -483,7 +499,7 @@ order.setCoverPic(goodsSku.getCoverPic()); order.setSjPrice(goodsSku.getPrice()); } } memberOrderVO.setGoodsSkuId(memberOrderDTO.getGoodsSkuId()); memberOrderVO.setPrice(goodsSku.getPrice()); @@ -652,6 +668,20 @@ PageDTO<MemberOrderListVO> memberOrderListVOPageDTO = PageDTO.of(page1, MemberOrderListVO.class); List<MemberOrderListVO> list = memberOrderListVOPageDTO.getList(); for (MemberOrderListVO MemberOrderList:list){ if (MemberOrderList.getOrderStatus().getCode()==1){ if (MemberOrderList.getOrderFrom().getCode()==1||MemberOrderList.getOrderFrom().getCode()==2||MemberOrderList.getOrderFrom().getCode()==3){ LocalDateTime localDateTime = MemberOrderList.getOrderTime().plusMinutes(30); if (LocalDateTime.now().isAfter(localDateTime)) { // dateTime1 在 dateTime2 之后 MemberOrderList.setOrderStatus(OrderStatusEnum.CANCELED); Order order = this.getOrder(MemberOrderList.getId()); order.setOrderStatus(OrderStatusEnum.CANCELED); this.updateById(order); } } } OrderReturnRequest orderReturnRequest = orderReturnRequestService.getOne( Wrappers.lambdaQuery(OrderReturnRequest.class) .eq(OrderReturnRequest::getOrderId, @@ -730,11 +760,45 @@ order.setOrderStatus(OrderStatusEnum.CANCELED); order.setCancelTime(LocalDateTime.now()); baseMapper.updateById(order); if(order.getOrderNo().contains("SP")){ GoodsSku goodsSku = goodsSkuClient.getGoodsSkuOne(order.getGoodsSkuId(), SecurityConstants.INNER).getData(); GoodsStockUpdDTO goodsStockUpdDTO1 = new GoodsStockUpdDTO(); goodsStockUpdDTO1.setGoodsSkuId(order.getGoodsSkuId()); goodsStockUpdDTO1.setAuctionStock(goodsSku.getStock()+order.getGoodsQuantity()); goodsSkuClient.updGoodsStock1(goodsStockUpdDTO1,SecurityConstants.INNER); } if(order.getOrderNo().contains("MS")){ GoodsSeckill data = goodsSkuClient.getGoodsSeckillOne(order.getGoodsSkuId(), SecurityConstants.INNER).getData(); GoodsStockUpdDTO goodsStockUpdDTO1 = new GoodsStockUpdDTO(); goodsStockUpdDTO1.setGoodsSkuId(order.getGoodsSkuId()); goodsStockUpdDTO1.setAuctionStock(data.getSeckillStock()+order.getGoodsQuantity()); goodsSkuClient.updGoodsStock1(goodsStockUpdDTO1,SecurityConstants.INNER); } } if (order.getOrderStatus().getCode() == 2) { order.setOrderStatus(OrderStatusEnum.CANCELED); order.setCancelTime(LocalDateTime.now()); baseMapper.updateById(order); if(order.getOrderNo().contains("SP")){ GoodsSku goodsSku = goodsSkuClient.getGoodsSkuOne(order.getGoodsSkuId(), SecurityConstants.INNER).getData(); GoodsStockUpdDTO goodsStockUpdDTO1 = new GoodsStockUpdDTO(); goodsStockUpdDTO1.setGoodsSkuId(order.getGoodsSkuId()); goodsStockUpdDTO1.setAuctionStock(goodsSku.getStock()+order.getGoodsQuantity()); goodsSkuClient.updGoodsStock1(goodsStockUpdDTO1,SecurityConstants.INNER); } if(order.getOrderNo().contains("MS")){ GoodsSeckill data = goodsSkuClient.getGoodsSeckillOne(order.getGoodsSkuId(), SecurityConstants.INNER).getData(); GoodsStockUpdDTO goodsStockUpdDTO1 = new GoodsStockUpdDTO(); goodsStockUpdDTO1.setGoodsSkuId(order.getGoodsSkuId()); goodsStockUpdDTO1.setAuctionStock(data.getSeckillStock()+order.getGoodsQuantity()); goodsSkuClient.updGoodsStock1(goodsStockUpdDTO1,SecurityConstants.INNER); } if (order.getCouponId()!=0){ CouponMemberDTO couponMemberDTO1=new CouponMemberDTO(); @@ -749,7 +813,7 @@ MembeOneDTO.setMemberId(order.getMemberId()); MembeOneDTO.setMoney(order.getTotalAmount()); MembeOneDTO.setTotalPoints(order.getPoints()); memberClient.updMembeOne(MembeOneDTO); memberClient.updMembeOne(MembeOneDTO, SecurityConstants.INNER); if (order.getPaymentMethod() != null && order.getPaymentMethod().getCode() == 1) {//支付宝 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/PaylogServiceImpl.java
@@ -33,6 +33,7 @@ import com.ruoyi.order.util.tencent.common.XMLParser; import com.ruoyi.order.util.tencent.protocol.AppPayReqData; import com.ruoyi.order.util.tencent.protocol.UnifiedorderReqData; import com.ruoyi.system.api.domain.GoodsSku; import com.ruoyi.system.api.domain.Order; import com.ruoyi.system.api.domain.OrderAuctionBond; import com.ruoyi.system.api.domain.dto.BondDTO; @@ -40,6 +41,7 @@ import com.ruoyi.system.api.domain.dto.RefundDTO; import com.ruoyi.system.api.domain.dto.updMembeOneDTO; import com.ruoyi.system.api.feignClient.AuctionClient; import com.ruoyi.system.api.feignClient.GoodsSkuClient; import com.ruoyi.system.api.feignClient.MemberClient; import java.io.IOException; @@ -84,6 +86,9 @@ @Resource private OrderAuctionBondMapper orderAuctionBondMapper; @Resource private GoodsSkuClient GoodsSkuClient; @Override public R<Map<String, Object>> getPayInfo(Integer uid, Integer type, String orderNO,String openId, HttpServletRequest request) { Double price = 0.0; @@ -122,6 +127,21 @@ page1.setPayTime(LocalDateTime.now()); OrderMapper.updateById(page1); if(page1.getOrderNo().contains("SP")){ GoodsSku goodsSku =new GoodsSku(); goodsSku.setId(page1.getGoodsSkuId()); goodsSku.setSoldQuantity(page1.getGoodsQuantity()); GoodsSkuClient.updGoods(goodsSku, SecurityConstants.INNER); } if(page1.getOrderNo().contains("MS")){ GoodsSku goodsSku =new GoodsSku(); goodsSku.setId(page1.getGoodsSkuId()); goodsSku.setSoldQuantity(page1.getGoodsQuantity()); GoodsSkuClient.updGoodsSeckill1(goodsSku, SecurityConstants.INNER); } MemberPointsDTO memberPointsDTO=new MemberPointsDTO(); memberPointsDTO.setMemberId(page1.getMemberId()); memberPointsDTO.setPointsType(1); @@ -134,7 +154,7 @@ MembeOneDTO.setMemberId(page1.getMemberId()); MembeOneDTO.setMoney(page1.getTotalAmount()); MembeOneDTO.setTotalPoints(page1.getPoints()); memberClient.updMembeOne(MembeOneDTO); memberClient.updMembeOne(MembeOneDTO, SecurityConstants.INNER); } if (orderNO.contains("BO")) { @@ -234,6 +254,19 @@ wrapper1.eq(Order::getOrderNo,paylog1.getOutTradeNo()); wrapper1.eq(Order::getDelFlag,0); Order page1 = OrderMapper.selectOne(wrapper1); if(page1.getOrderNo().contains("SP")){ GoodsSku goodsSku =new GoodsSku(); goodsSku.setId(page1.getGoodsSkuId()); goodsSku.setSoldQuantity(page1.getGoodsQuantity()); GoodsSkuClient.updGoods(goodsSku, SecurityConstants.INNER); } if(page1.getOrderNo().contains("MS")){ GoodsSku goodsSku =new GoodsSku(); goodsSku.setId(page1.getGoodsSkuId()); goodsSku.setSoldQuantity(page1.getGoodsQuantity()); GoodsSkuClient.updGoodsSeckill1(goodsSku, SecurityConstants.INNER); } page1.setOrderStatus(OrderStatusEnum.TO_BE_SHIPPED); page1.setPayTime(LocalDateTime.now()); OrderMapper.updateById(page1); @@ -249,7 +282,7 @@ MembeOneDTO.setMemberId(page1.getMemberId()); MembeOneDTO.setMoney(page1.getTotalAmount()); MembeOneDTO.setTotalPoints(page1.getPoints()); memberClient.updMembeOne(MembeOneDTO); memberClient.updMembeOne(MembeOneDTO, SecurityConstants.INNER); } } @@ -356,6 +389,20 @@ page1.setPayTime(LocalDateTime.now()); OrderMapper.updateById(page1); if(page1.getOrderNo().contains("SP")){ GoodsSku goodsSku =new GoodsSku(); goodsSku.setId(page1.getGoodsSkuId()); goodsSku.setSoldQuantity(page1.getGoodsQuantity()); GoodsSkuClient.updGoods(goodsSku, SecurityConstants.INNER); } if(page1.getOrderNo().contains("MS")){ GoodsSku goodsSku =new GoodsSku(); goodsSku.setId(page1.getGoodsSkuId()); goodsSku.setSoldQuantity(page1.getGoodsQuantity()); GoodsSkuClient.updGoodsSeckill1(goodsSku, SecurityConstants.INNER); } MemberPointsDTO memberPointsDTO=new MemberPointsDTO(); memberPointsDTO.setMemberId(page1.getMemberId()); memberPointsDTO.setPointsType(1); @@ -367,7 +414,7 @@ MembeOneDTO.setMemberId(page1.getMemberId()); MembeOneDTO.setMoney(page1.getTotalAmount()); MembeOneDTO.setTotalPoints(page1.getPoints()); memberClient.updMembeOne(MembeOneDTO); memberClient.updMembeOne(MembeOneDTO, SecurityConstants.INNER); } log.debug("WxpayController.notify__回调处理成功:SUCCESS"); ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml
@@ -16,7 +16,13 @@ </select> <select id="getSeckillMembers1" resultType="java.lang.Integer"> SELECT ifnull(SUM(o.goods_quantity), 0) FROM t_order o WHERE o.goods_sku_id = #{goodsSkuId} AND o.order_status IN (1,2,3) and o.member_id =#{memberId} </select> <select id="getGoodsGroupPurchase" resultType="java.lang.Integer"> SELECT ifnull(SUM(o.goods_quantity), 0) FROM t_order o @@ -86,9 +92,9 @@ t_order o <where> o.goods_sku_id = #{goodsSkuId} AND o.del_flag=0 AND o.order_status = 2 or o.order_status =1 AND o.order_from = 3 AND o.del_flag=0 AND o.member_id=#{memberId} </where> </select>