From 52af00170a03878d40905ff7b2997ea9e9ea5220 Mon Sep 17 00:00:00 2001 From: xm <1350250847@qq.com> Date: Tue, 19 May 2026 16:47:42 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E4=BC=98=E5=8C=96=E9=80=81=E6=B0=B4?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=90=8C=E6=AD=A5=E8=AE=B0=E5=BD=95=E6=B0=B4?= =?UTF-8?q?=E7=A5=A8=E8=AE=A2=E5=8D=95=E5=8F=B7=E4=B8=9A=E5=8A=A1=202?= =?UTF-8?q?=E3=80=81=E5=88=86=E9=94=80=E7=94=A8=E6=88=B7=E5=88=86=E9=94=80?= =?UTF-8?q?=E6=98=8E=E7=BB=86=E5=A2=9E=E5=8A=A0=E7=BB=93=E7=AE=97=E6=A0=87?= =?UTF-8?q?=E8=AF=86=E4=B8=9A=E5=8A=A1=203=E3=80=81=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=88=86=E9=94=80=E7=94=A8=E6=88=B7=E4=B8=AA=E4=BA=BA=E5=BD=93?= =?UTF-8?q?=E6=97=A5=E6=94=B6=E7=9B=8A=E6=95=B0=E6=8D=AE=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gxwebsoft/glt/entity/GltTicketOrder.java | 1 - .../impl/GltTicketOrderServiceImpl.java | 1 + .../task/DealerOrderSettlement10584Task.java | 3 + .../controller/ShopDealerOrderController.java | 8 +++ .../shop/entity/ShopDealerCapital.java | 3 + .../shop/mapper/ShopDealerOrderMapper.java | 8 +++ .../shop/mapper/xml/ShopDealerOrderMapper.xml | 19 +++++++ .../shop/service/ShopDealerOrderService.java | 7 +++ .../impl/ShopDealerOrderServiceImpl.java | 56 ++++++++++++++----- .../impl/ShopDealerUserServiceImpl.java | 17 ++++-- .../vo/ShopDealerOrderTodayRevenueVO.java | 48 ++++++++++++++++ 11 files changed, 152 insertions(+), 19 deletions(-) create mode 100644 src/main/java/com/gxwebsoft/shop/vo/ShopDealerOrderTodayRevenueVO.java diff --git a/src/main/java/com/gxwebsoft/glt/entity/GltTicketOrder.java b/src/main/java/com/gxwebsoft/glt/entity/GltTicketOrder.java index 9060d9c..d0a8b69 100644 --- a/src/main/java/com/gxwebsoft/glt/entity/GltTicketOrder.java +++ b/src/main/java/com/gxwebsoft/glt/entity/GltTicketOrder.java @@ -33,7 +33,6 @@ public class GltTicketOrder implements Serializable { private Integer userTicketId; @Schema(description = "关联订单编号") - @TableField(exist = false) private String orderNo; @Schema(description = "订单状态") diff --git a/src/main/java/com/gxwebsoft/glt/service/impl/GltTicketOrderServiceImpl.java b/src/main/java/com/gxwebsoft/glt/service/impl/GltTicketOrderServiceImpl.java index 9c509a5..b2b5db5 100644 --- a/src/main/java/com/gxwebsoft/glt/service/impl/GltTicketOrderServiceImpl.java +++ b/src/main/java/com/gxwebsoft/glt/service/impl/GltTicketOrderServiceImpl.java @@ -177,6 +177,7 @@ public class GltTicketOrderServiceImpl extends ServiceImpl todayRevenue() { + return success(shopDealerOrderService.todayRevenue()); + } + @PreAuthorize("hasAuthority('shop:shopDealerOrder:save')") @OperationLog @Operation(summary = "添加分销商订单记录表") diff --git a/src/main/java/com/gxwebsoft/shop/entity/ShopDealerCapital.java b/src/main/java/com/gxwebsoft/shop/entity/ShopDealerCapital.java index cbddfe8..3832a48 100644 --- a/src/main/java/com/gxwebsoft/shop/entity/ShopDealerCapital.java +++ b/src/main/java/com/gxwebsoft/shop/entity/ShopDealerCapital.java @@ -77,6 +77,9 @@ public class ShopDealerCapital implements Serializable { @Schema(description = "结算月份") private String month; + @Schema(description = "结算标识 0-未结算 1-已结算") + private Integer paymentFlag; + @Schema(description = "商城ID") private Integer tenantId; diff --git a/src/main/java/com/gxwebsoft/shop/mapper/ShopDealerOrderMapper.java b/src/main/java/com/gxwebsoft/shop/mapper/ShopDealerOrderMapper.java index 10ac5c8..01776aa 100644 --- a/src/main/java/com/gxwebsoft/shop/mapper/ShopDealerOrderMapper.java +++ b/src/main/java/com/gxwebsoft/shop/mapper/ShopDealerOrderMapper.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.gxwebsoft.shop.entity.ShopDealerOrder; import com.gxwebsoft.shop.param.ShopDealerOrderParam; import com.gxwebsoft.shop.vo.ShopDealerOrderTaskVO; +import com.gxwebsoft.shop.vo.ShopDealerOrderTodayRevenueVO; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -42,4 +43,11 @@ public interface ShopDealerOrderMapper extends BaseMapper { */ List getDealerOrderList(@Param("tenantId") Integer tenantId); + /** + * 获取用户当日分佣数据 + * @param userId + * @return + */ + List getTodayRevenue(@Param("userId") Integer userId); + } diff --git a/src/main/java/com/gxwebsoft/shop/mapper/xml/ShopDealerOrderMapper.xml b/src/main/java/com/gxwebsoft/shop/mapper/xml/ShopDealerOrderMapper.xml index d70a745..b1cc0eb 100644 --- a/src/main/java/com/gxwebsoft/shop/mapper/xml/ShopDealerOrderMapper.xml +++ b/src/main/java/com/gxwebsoft/shop/mapper/xml/ShopDealerOrderMapper.xml @@ -111,5 +111,24 @@ AND a.deleted = 0 AND ((b.first_dividend > 0 AND first_dividend_flag = 0) OR (b.second_dividend > 0 AND second_dividend_flag = 0)) + diff --git a/src/main/java/com/gxwebsoft/shop/service/ShopDealerOrderService.java b/src/main/java/com/gxwebsoft/shop/service/ShopDealerOrderService.java index 4e4f057..3dd1f72 100644 --- a/src/main/java/com/gxwebsoft/shop/service/ShopDealerOrderService.java +++ b/src/main/java/com/gxwebsoft/shop/service/ShopDealerOrderService.java @@ -5,6 +5,7 @@ import com.gxwebsoft.common.core.web.PageResult; import com.gxwebsoft.shop.entity.ShopDealerOrder; import com.gxwebsoft.shop.param.ShopDealerOrderParam; +import java.math.BigDecimal; import java.util.List; /** @@ -39,6 +40,12 @@ public interface ShopDealerOrderService extends IService { */ ShopDealerOrder getByIdRel(Integer id); + /** + * 查询门店/服务商本人今日收益 + * @return + */ + BigDecimal todayRevenue(); + /** * 手动触发单条订单的佣金解冻(保留与定时任务相同的前置条件检查) * diff --git a/src/main/java/com/gxwebsoft/shop/service/impl/ShopDealerOrderServiceImpl.java b/src/main/java/com/gxwebsoft/shop/service/impl/ShopDealerOrderServiceImpl.java index e34a778..4c0e906 100644 --- a/src/main/java/com/gxwebsoft/shop/service/impl/ShopDealerOrderServiceImpl.java +++ b/src/main/java/com/gxwebsoft/shop/service/impl/ShopDealerOrderServiceImpl.java @@ -4,25 +4,25 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gxwebsoft.common.core.exception.BusinessException; +import com.gxwebsoft.common.core.utils.LoginUserUtil; +import com.gxwebsoft.common.core.web.PageParam; +import com.gxwebsoft.common.core.web.PageResult; +import com.gxwebsoft.common.system.entity.User; import com.gxwebsoft.glt.entity.GltTicketOrder; import com.gxwebsoft.glt.entity.GltTicketTemplate; import com.gxwebsoft.glt.entity.GltUserTicket; import com.gxwebsoft.glt.service.GltTicketOrderService; import com.gxwebsoft.glt.service.GltTicketTemplateService; import com.gxwebsoft.glt.service.GltUserTicketService; -import com.gxwebsoft.shop.entity.ShopDealerCapital; -import com.gxwebsoft.shop.entity.ShopDealerOrder; -import com.gxwebsoft.shop.entity.ShopDealerUser; -import com.gxwebsoft.shop.entity.ShopGoods; -import com.gxwebsoft.shop.entity.ShopOrder; -import com.gxwebsoft.shop.entity.ShopOrderGoods; +import com.gxwebsoft.shop.entity.*; import com.gxwebsoft.shop.mapper.ShopDealerOrderMapper; +import com.gxwebsoft.shop.mapper.ShopOrderMapper; +import com.gxwebsoft.shop.param.ShopDealerOrderParam; import com.gxwebsoft.shop.service.ShopDealerCapitalService; import com.gxwebsoft.shop.service.ShopDealerOrderService; -import com.gxwebsoft.shop.param.ShopDealerOrderParam; -import com.gxwebsoft.common.core.web.PageParam; -import com.gxwebsoft.common.core.web.PageResult; +import com.gxwebsoft.shop.vo.ShopDealerOrderTodayRevenueVO; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.support.TransactionTemplate; @@ -32,11 +32,7 @@ import java.math.RoundingMode; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.Set; +import java.util.*; import java.util.stream.Collectors; /** @@ -105,6 +101,38 @@ public class ShopDealerOrderServiceImpl extends ServiceImpl revenueVOList = baseMapper.getTodayRevenue(userId); + if(CollectionUtils.isNotEmpty(revenueVOList)){ + for(ShopDealerOrderTodayRevenueVO revenueVO : revenueVOList){ + //已取消订单不统计 + if(Arrays.asList(2, 6).contains(revenueVO.getOrderStatus())){ + continue; + } + if(userId.equals(revenueVO.getFirstUserId()) && revenueVO.getFirstMoney().compareTo(BigDecimal.ZERO) > 0){ + todayRevenue = todayRevenue.add(revenueVO.getFirstMoney()); + } + if(userId.equals(revenueVO.getSecondUserId()) && revenueVO.getSecondMoney().compareTo(BigDecimal.ZERO) > 0){ + todayRevenue = todayRevenue.add(revenueVO.getSecondMoney()); + } + if(userId.equals(revenueVO.getFirstDividendUser()) && revenueVO.getFirstDividend().compareTo(BigDecimal.ZERO) > 0){ + todayRevenue = todayRevenue.add(revenueVO.getFirstDividend()); + } + if(userId.equals(revenueVO.getSecondDividendUser()) && revenueVO.getSecondDividend().compareTo(BigDecimal.ZERO) > 0){ + todayRevenue = todayRevenue.add(revenueVO.getSecondDividend()); + } + } + } + } + return todayRevenue; + } + // ==================== 手动解冻 ==================== @Override diff --git a/src/main/java/com/gxwebsoft/shop/service/impl/ShopDealerUserServiceImpl.java b/src/main/java/com/gxwebsoft/shop/service/impl/ShopDealerUserServiceImpl.java index 85417b8..7a97228 100644 --- a/src/main/java/com/gxwebsoft/shop/service/impl/ShopDealerUserServiceImpl.java +++ b/src/main/java/com/gxwebsoft/shop/service/impl/ShopDealerUserServiceImpl.java @@ -104,6 +104,7 @@ public class ShopDealerUserServiceImpl extends ServiceImpl{ //5.4 查询是否存在待解冻订单数据 - ShopDealerCapital userCapital = value.stream().filter(capital -> ShopDealerTypeEnum.FREEZE_ACCOUNT.getCode().equals(capital.getType())).findFirst().orElse(null); + ShopDealerCapital userCapital = value.stream().filter(capital -> ShopDealerTypeEnum.FREEZE_ACCOUNT.getCode().equals(capital.getType()) && capital.getPaymentFlag() != null + && capital.getPaymentFlag() == 0).findFirst().orElse(null); if(userCapital != null){ //5.5 查询此订单是否已结算 @@ -239,15 +242,21 @@ public class ShopDealerUserServiceImpl extends ServiceImpl