ruoyi-modules/ruoyi-auction/src/main/resources/mapper/auction/AuctionGoodsMapper.xml
@@ -21,7 +21,7 @@ WHEN start_status = 0 THEN 2 WHEN start_status = 1 THEN 1 WHEN start_status = 2 THEN 3 END,start_status END,start_status,start_time DESC </select> <select id="getAuctionGoodsPgeList1" resultType="com.ruoyi.system.api.domain.AuctionGoods"> ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/inner/GoodsGroupPurchaseController.java
@@ -14,10 +14,13 @@ import com.ruoyi.system.api.domain.GoodsGroupPurchase; import com.ruoyi.goods.service.IGoodsGroupPurchaseService; import com.ruoyi.system.api.domain.GoodsSku; import com.ruoyi.system.api.domain.Order; import com.ruoyi.system.api.feignClient.OrderClient; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; import java.util.List; /** * <p> @@ -110,6 +113,23 @@ if (num==byId.getGroupSize()){ byId.setGroupStatus(1); orderClient.updateOrderStatusByMubres1(byId.getMubre(), SecurityConstants.INNER); List<Order> listR = orderClient.updateOrderStatusByMubres2(byId.getMubre(), SecurityConstants.INNER).getData(); int i=0; for (Order l:listR){ i=i+l.getGoodsQuantity(); } GoodsGroupPurchase byId1 = goodsGroupPurchaseService.getById(byId.getGroupPurchaseId()); int i1 = byId1.getLimitNumber() * byId.getGroupSize(); if (i<i1){ int i3=i1-i; GoodsSku goodsSku = goodsSkuMapper.selectById(byId1.getGoodsSkuId()); int i2 = i3 + goodsSku.getStock(); goodsSku.setStock(i2); goodsSkuMapper.updateById(goodsSku); } } goodsGroupPurchaseInfoServiceImpl.updateById(byId); }else{ @@ -118,6 +138,23 @@ orderClient.updateOrderStatusByMubres1(goodsGroupPurchaseInfo.getMubre(), SecurityConstants.INNER); } goodsGroupPurchaseInfoServiceImpl.save(goodsGroupPurchaseInfo); if (goodsGroupPurchaseInfo.getCurrentNumber()==goodsGroupPurchaseInfo.getGroupSize()) { List<Order> listR = orderClient.updateOrderStatusByMubres2(goodsGroupPurchaseInfo.getMubre(), SecurityConstants.INNER).getData(); int i = 0; for (Order l : listR) { i = i + l.getGoodsQuantity(); } GoodsGroupPurchase byId1 = goodsGroupPurchaseService.getById(goodsGroupPurchaseInfo.getGroupPurchaseId()); int i1 = byId1.getLimitNumber() * goodsGroupPurchaseInfo.getGroupSize(); if (i < i1) { int i3 = i1 - i; GoodsSku goodsSku = goodsSkuMapper.selectById(byId1.getGoodsSkuId()); int i2 = i3 + goodsSku.getStock(); goodsSku.setStock(i2); goodsSkuMapper.updateById(goodsSku); } } } return R.ok(); ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java
@@ -583,9 +583,16 @@ } }if (one1.getGroupStatus()==1){ goodsGroupPurchaseeVO.setGroupStatus(GroupStatusEnum.FORMED_INTO_A_GROUP); }if (one1.getGroupStatus()==2){ }if (goodsGroupPurchaseeVO.getStartStatus().getCode()==1){ if (one1.getGroupStatus()==2){ goodsGroupPurchaseeVO.setGroupStatus(GroupStatusEnum.TO_FORM_A_GROUP); } }else{ if (one1.getGroupStatus()==2){ goodsGroupPurchaseeVO.setGroupStatus(GroupStatusEnum.GROUP_FAILURE); } } } } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/forepart/ForepartOrderController.java
@@ -5,13 +5,13 @@ import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.utils.page.PageDTO; import com.ruoyi.order.service.IOrderService; import com.ruoyi.order.vo.HomeGoodsSkuDTO1; import com.ruoyi.order.vo.WdOrderVO; import com.ruoyi.system.api.domain.Order; import com.ruoyi.system.api.domain.dto.HomeGoodsSkuDTO; import com.ruoyi.system.api.domain.dto.MemberOrderDTO; import com.ruoyi.system.api.domain.dto.MemberOrderListDTO; import com.ruoyi.system.api.domain.vo.MemberOrderListVO; import com.ruoyi.system.api.domain.vo.MemberOrderNumVO; import com.ruoyi.system.api.domain.vo.MemberTiOrderVO; import com.ruoyi.system.api.domain.vo.OrderVO; import com.ruoyi.system.api.domain.vo.*; import com.ruoyi.system.api.feignClient.GoodsSkuClient; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -102,4 +102,10 @@ return R.ok(orderService.MemberOrderNum(memberOrderListDTO)); } @PostMapping("/CtjlGoodsGroupPurchase") @ApiOperation(value = "用户端-我的参团记录") public R<PageDTO<WdOrderVO>> CtjlGoodsGroupPurchase(@RequestBody HomeGoodsSkuDTO1 homeGoodsSkuDTO1) { return R.ok(orderService.CtjlGoodsGroupPurchase(homeGoodsSkuDTO1)); } } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/inner/OrderController.java
@@ -169,6 +169,13 @@ return R.ok(orderService.getOrderByGroupPurchaseMemberList(homeGoodsSkuDTO)); } @InnerAuth @ResponseBody @PostMapping("/getOrderByGroupPurchaseMemberList1") R<List<OrderVO>> getOrderByGroupPurchaseMemberList1(@RequestBody HomeGoodsSkuDTO homeGoodsSkuDTO){ return R.ok(orderService.getOrderByGroupPurchaseMemberList1(homeGoodsSkuDTO)); } /** @@ -228,4 +235,11 @@ orderService.updateOrderStatusByMubres1(formedGroupMubres); return R.ok(); } @InnerAuth @PostMapping("/updOrderStatusByMubres2") R<List<Order>> updateOrderStatusByMubres2(@RequestBody String formedGroupMubres) { orderService.updateOrderStatusByMubres2(formedGroupMubres); return R.ok(); } } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/IOrderService.java
@@ -5,15 +5,15 @@ import com.ruoyi.order.controller.management.dto.MgtOrderConfirmShipmentDTO; import com.ruoyi.order.controller.management.dto.MgtOrderQuery; import com.ruoyi.order.controller.management.vo.MgtOrderVO; import com.ruoyi.order.vo.HomeGoodsSkuDTO1; import com.ruoyi.order.vo.WdOrderVO; import com.ruoyi.system.api.domain.Order; import com.ruoyi.system.api.domain.dto.HomeGoodsSkuDTO; import com.ruoyi.system.api.domain.dto.MemberOrderDTO; import com.ruoyi.system.api.domain.dto.MemberOrderListDTO; import com.ruoyi.system.api.domain.dto.OrderDTO; import com.ruoyi.system.api.domain.vo.MemberOrderListVO; import com.ruoyi.system.api.domain.vo.MemberOrderNumVO; import com.ruoyi.system.api.domain.vo.MemberTiOrderVO; import com.ruoyi.system.api.domain.vo.OrderVO; import com.ruoyi.system.api.domain.vo.*; import java.time.LocalDateTime; import java.util.Collection; import java.util.List; @@ -62,6 +62,8 @@ Order getOrderByGroupPurchaseMemberId2(HomeGoodsSkuDTO homeGoodsSkuDTO); List<OrderVO> getOrderByGroupPurchaseMemberList(HomeGoodsSkuDTO homeGoodsSkuDTO); List<OrderVO> getOrderByGroupPurchaseMemberList1(@RequestBody HomeGoodsSkuDTO homeGoodsSkuDTO); MemberTiOrderVO saveMemberOrder(@RequestBody MemberOrderDTO memberOrderDTO); MemberTiOrderVO updMemberOrder(@RequestBody MemberOrderDTO memberOrderDTO); @@ -78,6 +80,8 @@ void AffirmOrderOne(@RequestBody MemberOrderListDTO memberOrderListDTO); MemberOrderNumVO MemberOrderNum(@RequestBody MemberOrderListDTO memberOrderListDTO); PageDTO<WdOrderVO> CtjlGoodsGroupPurchase(@RequestBody HomeGoodsSkuDTO1 homeGoodsSkuDTO1); /** * 根据优惠券id集合查询订单列表 @@ -152,4 +156,6 @@ void updateOrderStatusByMubres(List<String> formedGroupMubres); void updateOrderStatusByMubres1(String formedGroupMubres); List<Order> updateOrderStatusByMubres2(@RequestBody String formedGroupMubres); } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
@@ -7,16 +7,7 @@ import com.google.common.collect.Lists; import com.ruoyi.common.core.constant.CacheConstants; import com.ruoyi.common.core.constant.SecurityConstants; import com.ruoyi.common.core.enums.AuctionOrderTypeEnum; import com.ruoyi.common.core.enums.AuditStatusEnum; import com.ruoyi.common.core.enums.BondStatusEnum; import com.ruoyi.common.core.enums.OrderFromEnum; import com.ruoyi.common.core.enums.OrderStatusEnum; import com.ruoyi.common.core.enums.OrderTypeEnum; import com.ruoyi.common.core.enums.PaymentMethodEnum; import com.ruoyi.common.core.enums.PointStatusEnum; import com.ruoyi.common.core.enums.RequestTypeEnum; import com.ruoyi.common.core.enums.ReturnRequestStatusEnum; import com.ruoyi.common.core.enums.*; import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.page.BeanUtils; @@ -38,6 +29,8 @@ import com.ruoyi.order.service.IPaylogService; import com.ruoyi.order.util.OrderUtil; import com.ruoyi.order.util.SinataUtil; import com.ruoyi.order.vo.HomeGoodsSkuDTO1; import com.ruoyi.order.vo.WdOrderVO; import com.ruoyi.system.api.constants.DelayTaskEnum; import com.ruoyi.system.api.domain.AuctionSalesroom; import com.ruoyi.system.api.domain.CouponMember; @@ -62,11 +55,7 @@ import com.ruoyi.system.api.domain.dto.MgtAfterSaleSettingDTO; import com.ruoyi.system.api.domain.dto.OrderDTO; import com.ruoyi.system.api.domain.dto.updMembeOneDTO; import com.ruoyi.system.api.domain.vo.Express100VO; import com.ruoyi.system.api.domain.vo.MemberOrderListVO; import com.ruoyi.system.api.domain.vo.MemberOrderNumVO; import com.ruoyi.system.api.domain.vo.MemberTiOrderVO; import com.ruoyi.system.api.domain.vo.OrderVO; import com.ruoyi.system.api.domain.vo.*; import com.ruoyi.system.api.feignClient.AuctionClient; import com.ruoyi.system.api.feignClient.GoodsSkuClient; import com.ruoyi.system.api.feignClient.MemberClient; @@ -274,6 +263,11 @@ @Override public List<OrderVO> getOrderByGroupPurchaseMemberList(HomeGoodsSkuDTO homeGoodsSkuDTO) { return baseMapper.getOrderByGroupPurchaseMemberList(homeGoodsSkuDTO); } @Override public List<OrderVO> getOrderByGroupPurchaseMemberList1(HomeGoodsSkuDTO homeGoodsSkuDTO) { return null; } @Override @@ -1294,6 +1288,67 @@ return vo; } @Override public PageDTO<WdOrderVO> CtjlGoodsGroupPurchase(HomeGoodsSkuDTO1 homeGoodsSkuDTO1) { LambdaQueryWrapper< Order> wrapper1= Wrappers.lambdaQuery(); if (homeGoodsSkuDTO1.getSkuName()!=null&&homeGoodsSkuDTO1.getSkuName()!=""){ wrapper1.like(Order::getSkuName,homeGoodsSkuDTO1.getSkuName()); } wrapper1.eq(Order::getMemberId,homeGoodsSkuDTO1.getMemberId()); wrapper1.eq(Order::getOrderFrom,3); wrapper1.eq(Order::getDelFlag,0); wrapper1.eq(Order::getOrderStatus,2); Page<Order> page = new Page<>(homeGoodsSkuDTO1.getPageCurr(), homeGoodsSkuDTO1.getPageSize()); Page< Order> page1 = this.page(page, wrapper1); PageDTO<WdOrderVO> HomeGoodsSeckillVOPageDTO = PageDTO.of(page1, WdOrderVO.class); List<WdOrderVO> list2 = HomeGoodsSeckillVOPageDTO.getList(); for (WdOrderVO goodsGroupPurchaseeVO1:list2) { Order byId1 = this.getById(goodsGroupPurchaseeVO1.getId()); GoodsGroupPurchase data = goodsSkuClient.getGoodsSeckiGoodsGroupPurchaseOne(byId1.getGoodsSkuId(), SecurityConstants.INNER).getData(); BeanUtils.copyProperties(data,goodsGroupPurchaseeVO1); GoodsSku byId = goodsSkuClient.getGoodsSkuOne(data.getGoodsSkuId(), SecurityConstants.INNER).getData(); goodsGroupPurchaseeVO1.setGoodsSkuName(byId.getSkuName()); goodsGroupPurchaseeVO1.setCoverPic(byId.getCoverPic()); goodsGroupPurchaseeVO1.setPrice(byId.getPrice()); goodsGroupPurchaseeVO1.setYears(String.valueOf(byId.getYears().getYear())); goodsGroupPurchaseeVO1.setIsGoodsGroupPurchase(2); GoodsGroupPurchaseInfo one1 = goodsSkuClient.getGoodsSeckiGoodsGroupPurchaseInfo2(byId1.getGroupNo(), SecurityConstants.INNER).getData(); if (one1!=null) { goodsGroupPurchaseeVO1.setCurrentNumber(one1.getCurrentNumber()); if (one1.getGroupStatus() == 0) { if (one1.getGroupSize() - one1.getCurrentNumber() < 5) { goodsGroupPurchaseeVO1.setGroupStatus(GroupStatusEnum.MS_FAILURE); } else { goodsGroupPurchaseeVO1.setGroupStatus(GroupStatusEnum.TO_FORM_A_GROUP); } } if (one1.getGroupStatus() == 1) { goodsGroupPurchaseeVO1.setGroupStatus(GroupStatusEnum.FORMED_INTO_A_GROUP); } if (goodsGroupPurchaseeVO1.getStartStatus().getCode() == 1) { if (one1.getGroupStatus() == 2) { goodsGroupPurchaseeVO1.setGroupStatus(GroupStatusEnum.TO_FORM_A_GROUP); } } else { if (one1.getGroupStatus() == 2) { goodsGroupPurchaseeVO1.setGroupStatus(GroupStatusEnum.GROUP_FAILURE); } } } } return HomeGoodsSeckillVOPageDTO; } /** * 根据优惠券id集合查询订单列表 * @@ -1740,4 +1795,9 @@ } } @Override public List<Order> updateOrderStatusByMubres2(String formedGroupMubres) { return this.lambdaQuery().eq(Order::getGroupNo, formedGroupMubres).list(); } } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/vo/HomeGoodsSkuDTO1.java
New file @@ -0,0 +1,16 @@ package com.ruoyi.order.vo; import com.ruoyi.common.core.web.page.BasePage; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data @ApiModel(value = "首页商品传输对象", description = "首页商品传输对象") public class HomeGoodsSkuDTO1 extends BasePage { @ApiModelProperty(value = "商品名称") private String skuName; @ApiModelProperty(value = "会员id") private Long memberId; } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/vo/WdOrderVO.java
New file @@ -0,0 +1,76 @@ package com.ruoyi.order.vo; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonInclude; import com.ruoyi.common.core.enums.GroupStatusEnum; import com.ruoyi.common.core.enums.StartStatusEnum; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; import java.time.LocalDateTime; @Data public class WdOrderVO { @ApiModelProperty(value = "商品团购id") @TableId(value = "id", type = IdType.ASSIGN_ID) private Long id; @ApiModelProperty(value = "商品id") @JsonInclude(JsonInclude.Include.ALWAYS) private Long goodsSkuId; @ApiModelProperty(value = "商品名称") @JsonInclude(JsonInclude.Include.ALWAYS) private String goodsSkuName; @ApiModelProperty(value = "商品年份") @JsonInclude(JsonInclude.Include.ALWAYS) private String years; @ApiModelProperty(value = "封面图") @JsonInclude(JsonInclude.Include.ALWAYS) private String coverPic; @ApiModelProperty(value = "商品价格") @JsonInclude(JsonInclude.Include.ALWAYS) private BigDecimal price; @ApiModelProperty(value = "团购价格") @JsonInclude(JsonInclude.Include.ALWAYS) private BigDecimal groupPurchasePrice; @ApiModelProperty(value = "成团人数") @JsonInclude(JsonInclude.Include.ALWAYS) private Integer groupSize; @ApiModelProperty(value = "当前人数") @JsonInclude(JsonInclude.Include.ALWAYS) private Integer currentNumber; @ApiModelProperty(value = "团购开始时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @JsonInclude(JsonInclude.Include.ALWAYS) private LocalDateTime startTime; @ApiModelProperty(value = "团购结束时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @JsonInclude(JsonInclude.Include.ALWAYS) private LocalDateTime endTime; @ApiModelProperty(value = "开始状态 0=未开始 1=已开始 2=已结束 ") @JsonInclude(JsonInclude.Include.ALWAYS) private StartStatusEnum startStatus; @ApiModelProperty(value = "成团状态 0=待成团 1=已成团 2=成团失败") @JsonInclude(JsonInclude.Include.ALWAYS) private GroupStatusEnum groupStatus; @ApiModelProperty(value = "是团购 1没有团购,2有团购") @JsonInclude(JsonInclude.Include.ALWAYS) private Integer isGoodsGroupPurchase; @ApiModelProperty("团购编号") private String groupNo; }