diff --git a/src/main/java/com/gxwebsoft/glt/task/DealerCommissionUnfreeze10584Task.java b/src/main/java/com/gxwebsoft/glt/task/DealerCommissionUnfreeze10584Task.java index 41ae77b..ac80e0e 100644 --- a/src/main/java/com/gxwebsoft/glt/task/DealerCommissionUnfreeze10584Task.java +++ b/src/main/java/com/gxwebsoft/glt/task/DealerCommissionUnfreeze10584Task.java @@ -116,7 +116,7 @@ public class DealerCommissionUnfreeze10584Task { private final AtomicBoolean running = new AtomicBoolean(false); - @Scheduled(cron = "${dealer.commission.unfreeze10584.cron:0/50 * * * * ?}") +// @Scheduled(cron = "${dealer.commission.unfreeze10584.cron:0/50 * * * * ?}") @IgnoreTenant("定时任务无登录态,需忽略租户隔离;内部使用 tenantId=10584 精确过滤") public void run() { if (!running.compareAndSet(false, true)) { diff --git a/src/main/java/com/gxwebsoft/shop/controller/ShopDealerOrderController.java b/src/main/java/com/gxwebsoft/shop/controller/ShopDealerOrderController.java index cc26721..97f490d 100644 --- a/src/main/java/com/gxwebsoft/shop/controller/ShopDealerOrderController.java +++ b/src/main/java/com/gxwebsoft/shop/controller/ShopDealerOrderController.java @@ -183,7 +183,7 @@ public class ShopDealerOrderController extends BaseController { @PreAuthorize("hasAuthority('shop:shopDealerOrder:update')") @OperationLog @Operation(summary = "手动触发单条订单佣金解冻") - @PostMapping("/unfreeze") +// @PostMapping("/unfreeze") public ApiResult manualUnfreeze(@RequestBody Map body) { String orderNo = (String) body.get("orderNo"); if (orderNo == null || orderNo.isBlank()) { diff --git a/src/main/java/com/gxwebsoft/shop/dto/UserOrderStats.java b/src/main/java/com/gxwebsoft/shop/dto/UserOrderStats.java index ae563ca..5ce7eeb 100644 --- a/src/main/java/com/gxwebsoft/shop/dto/UserOrderStats.java +++ b/src/main/java/com/gxwebsoft/shop/dto/UserOrderStats.java @@ -26,7 +26,7 @@ public class UserOrderStats implements Serializable { @Schema(description = "待核销(statusFilter=2)") private Long waitVerify; - @Schema(description = "待收货(statusFilter=3)") + @Schema(description = "待收货/使用(statusFilter=3)") private Long waitReceive; @Schema(description = "待评价(statusFilter=4)") diff --git a/src/main/java/com/gxwebsoft/shop/entity/ShopOrder.java b/src/main/java/com/gxwebsoft/shop/entity/ShopOrder.java index a844a9f..bb6de33 100644 --- a/src/main/java/com/gxwebsoft/shop/entity/ShopOrder.java +++ b/src/main/java/com/gxwebsoft/shop/entity/ShopOrder.java @@ -313,6 +313,10 @@ public class ShopOrder implements Serializable { @Schema(description = "秒杀活动ID") private Integer activityId; + @Schema(description = "秒杀活动ID") + @TableField(exist = false) + private String activityName; + @Schema(description = "水票订单标识 0-否 1-是") private Integer waterTicketFlag; diff --git a/src/main/java/com/gxwebsoft/shop/entity/ShopOrderGoods.java b/src/main/java/com/gxwebsoft/shop/entity/ShopOrderGoods.java index 195affc..fc886c5 100644 --- a/src/main/java/com/gxwebsoft/shop/entity/ShopOrderGoods.java +++ b/src/main/java/com/gxwebsoft/shop/entity/ShopOrderGoods.java @@ -54,6 +54,14 @@ public class ShopOrderGoods implements Serializable { @Schema(description = "商品名称") private String goodsName; + @Schema(description = "商品名称") + @TableField(exist = false) + private String activeNam; + + @Schema(description = "核销码") + @TableField(exist = false) + private String verifyCode; + @Schema(description = "商品规格") private String spec; diff --git a/src/main/java/com/gxwebsoft/shop/mapper/xml/ShopOrderMapper.xml b/src/main/java/com/gxwebsoft/shop/mapper/xml/ShopOrderMapper.xml index 6a239e5..bca22cf 100644 --- a/src/main/java/com/gxwebsoft/shop/mapper/xml/ShopOrderMapper.xml +++ b/src/main/java/com/gxwebsoft/shop/mapper/xml/ShopOrderMapper.xml @@ -248,8 +248,8 @@ AND a.pay_status = 1 AND a.order_status = 0 and order_type = 2 - - AND a.pay_status = 1 AND a.delivery_status = 20 AND a.order_status = 0 + + AND a.pay_status = 1 AND a.order_status = 0 AND (a.delivery_status = 20 or (a.order_type = 2 and a.delivery_status = 10)) @@ -300,7 +300,7 @@ COALESCE(SUM(CASE WHEN a.deleted = 0 AND a.pay_status = 0 AND a.order_status = 0 THEN 1 ELSE 0 END), 0) AS waitPay, COALESCE(SUM(CASE WHEN a.deleted = 0 AND a.pay_status = 1 AND a.order_status = 0 AND a.order_type in(1, 3, 4) AND a.delivery_status = 10 THEN 1 ELSE 0 END), 0) AS waitDeliver, COALESCE(SUM(CASE WHEN a.deleted = 0 AND a.pay_status = 1 AND a.order_status = 0 AND a.order_type = 2 THEN 1 ELSE 0 END), 0) AS waitVerify, - COALESCE(SUM(CASE WHEN a.deleted = 0 AND a.pay_status = 1 AND a.order_status = 0 AND a.delivery_status = 20 THEN 1 ELSE 0 END), 0) AS waitReceive, + COALESCE(SUM(CASE WHEN a.deleted = 0 AND a.pay_status = 1 AND a.order_status = 0 AND (a.delivery_status = 20 or (a.order_type = 2 and a.delivery_status = 10)) THEN 1 ELSE 0 END), 0) AS waitReceive, COALESCE(SUM(CASE WHEN a.deleted = 0 AND a.pay_status = 1 AND a.order_status = 1 AND a.evaluate_status = 0 THEN 1 ELSE 0 END), 0) AS waitComment, COALESCE(SUM(CASE WHEN a.deleted = 0 AND a.pay_status = 1 AND a.order_status = 1 THEN 1 ELSE 0 END), 0) AS completed, COALESCE(SUM(CASE WHEN a.deleted = 0 AND a.pay_status = 1 AND a.order_status in(4, 5, 6, 7) THEN 1 ELSE 0 END), 0) AS refund, diff --git a/src/main/java/com/gxwebsoft/shop/service/impl/ShopOrderGoodsServiceImpl.java b/src/main/java/com/gxwebsoft/shop/service/impl/ShopOrderGoodsServiceImpl.java index 7019db0..d3471f1 100644 --- a/src/main/java/com/gxwebsoft/shop/service/impl/ShopOrderGoodsServiceImpl.java +++ b/src/main/java/com/gxwebsoft/shop/service/impl/ShopOrderGoodsServiceImpl.java @@ -2,12 +2,17 @@ package com.gxwebsoft.shop.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gxwebsoft.shop.entity.ShopFlashSaleActivity; +import com.gxwebsoft.shop.entity.ShopOrder; +import com.gxwebsoft.shop.mapper.ShopFlashSaleActivityMapper; import com.gxwebsoft.shop.mapper.ShopOrderGoodsMapper; +import com.gxwebsoft.shop.mapper.ShopOrderMapper; import com.gxwebsoft.shop.service.ShopOrderGoodsService; import com.gxwebsoft.shop.entity.ShopOrderGoods; import com.gxwebsoft.shop.param.ShopOrderGoodsParam; import com.gxwebsoft.common.core.web.PageParam; import com.gxwebsoft.common.core.web.PageResult; +import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; import lombok.extern.slf4j.Slf4j; @@ -21,8 +26,13 @@ import java.util.List; */ @Slf4j @Service +@AllArgsConstructor public class ShopOrderGoodsServiceImpl extends ServiceImpl implements ShopOrderGoodsService { + private ShopOrderMapper shopOrderMapper; + + private ShopFlashSaleActivityMapper shopFlashSaleActivityMapper; + @Override public PageResult pageRel(ShopOrderGoodsParam param) { PageParam page = new PageParam<>(param); @@ -34,6 +44,28 @@ public class ShopOrderGoodsServiceImpl extends ServiceImpl listRel(ShopOrderGoodsParam param) { List list = baseMapper.selectListRel(param); + + //根据订单ID查询活动并回显对应名称、订单核销码 + Integer orderId = param.getOrderId(); + if(orderId != null){ + ShopOrder order = shopOrderMapper.selectById(orderId); + if(order != null){ + ShopFlashSaleActivity saleActivity = null; + if(order.getActivityId() != null){ + saleActivity = shopFlashSaleActivityMapper.selectById(order.getActivityId()); + } + ShopFlashSaleActivity finalSaleActivity = saleActivity; + list.forEach(shopOrderGoods -> { + shopOrderGoods.setVerifyCode(order.getVerifyCode()); + if(finalSaleActivity != null){ + if(shopOrderGoods.getGoodsId().equals(finalSaleActivity.getGoodsId())){ + shopOrderGoods.setActiveNam(finalSaleActivity.getName()); + } + } + }); + } + } + // 排序 PageParam page = new PageParam<>(); page.setDefaultOrder("sort_number asc, create_time desc"); diff --git a/src/main/java/com/gxwebsoft/shop/service/impl/ShopOrderServiceImpl.java b/src/main/java/com/gxwebsoft/shop/service/impl/ShopOrderServiceImpl.java index 031d161..cc24fed 100644 --- a/src/main/java/com/gxwebsoft/shop/service/impl/ShopOrderServiceImpl.java +++ b/src/main/java/com/gxwebsoft/shop/service/impl/ShopOrderServiceImpl.java @@ -25,6 +25,7 @@ import com.gxwebsoft.payment.constants.WechatPayType; import com.gxwebsoft.shop.dto.ShopDealerUserReduceDto; import com.gxwebsoft.shop.dto.VerifyShopOrderDto; import com.gxwebsoft.shop.entity.*; +import com.gxwebsoft.shop.mapper.ShopFlashSaleActivityMapper; import com.gxwebsoft.shop.mapper.ShopGoodsMapper; import com.gxwebsoft.shop.mapper.ShopOrderMapper; import com.gxwebsoft.shop.mapper.ShopUserAddressMapper; @@ -41,10 +42,10 @@ import com.wechat.pay.java.service.payments.model.Transaction; import com.wechat.pay.java.service.payments.nativepay.NativePayService; import lombok.Data; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import org.springframework.util.CollectionUtils; import javax.annotation.Resource; import java.math.BigDecimal; @@ -109,6 +110,8 @@ public class ShopOrderServiceImpl extends ServiceImpl list = baseMapper.selectPageRel(page, param); // 整理订单数据 - if (!CollectionUtils.isEmpty(list)) { + if (CollectionUtils.isNotEmpty(list)) { final Set orderIds = list.stream().map(ShopOrder::getOrderId).collect(Collectors.toSet()); final List goodsList = shopOrderGoodsService.list(new LambdaQueryWrapper().in(ShopOrderGoods::getOrderId, orderIds)); final Map> collect = goodsList.stream().collect(Collectors.groupingBy(ShopOrderGoods::getOrderId)); + + List activityList = new ArrayList<>(); + List activeIdList = list.stream().filter(shopOrder -> shopOrder.getActivityId() != null).map(ShopOrder::getActivityId).distinct().collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(activeIdList)){ + activityList = shopFlashSaleActivityMapper.selectBatchIds(activeIdList); + } + + List finalActivityList = activityList; list.forEach(d -> { d.setOrderGoods(collect.get(d.getOrderId())); @@ -320,6 +331,14 @@ public class ShopOrderServiceImpl extends ServiceImpl d.getActivityId().equals(activity.getId())).findFirst().orElse(null); + if(saleActivity != null){ + d.setActivityName(saleActivity.getName()); + } + } }); } return new PageResult<>(list, page.getTotal()); @@ -444,7 +463,7 @@ public class ShopOrderServiceImpl extends ServiceImpl orderGoodsList = shopOrderGoodsService.getListByOrderId(shopOrder.getOrderId()); - if(!CollectionUtils.isEmpty(orderGoodsList)){ + if(CollectionUtils.isNotEmpty(orderGoodsList)){ List goodsIdList = orderGoodsList.stream().map(ShopOrderGoods::getGoodsId).distinct().collect(Collectors.toList()); List shopGoods = shopGoodsMapper.selectBatchIds(goodsIdList); diff --git a/src/main/resources/application-local.yml b/src/main/resources/application-local.yml index b6aed37..400131d 100644 --- a/src/main/resources/application-local.yml +++ b/src/main/resources/application-local.yml @@ -15,9 +15,8 @@ spring: redis: database: 0 - host: 47.107.249.41 - port: 16379 - password: redis_t74P8C + host: localhost + port: 6379 # 日志配置 logging: