Explorar o código

fix 分销订单数据

zoujiajian %!s(int64=3) %!d(string=hai) anos
pai
achega
2660700cd4

+ 4 - 2
netflix-dao/src/main/java/com/cyksj/model/views/DistributeOrdersView.java

@@ -17,8 +17,10 @@ import java.util.Date;
 @Getter
 @Setter
 @SearchBean(tables = "order_don od left join user_distribute_shared uds on uds.user_id = od.user_id" +
-		" left join user_distribute ud on ud.user_id = uds.shared_id",
-where = "od.is_distribute is true and od.status not in ('close','noPayment')")
+		" left join user_distribute ud on ud.user_id = uds.shared_id" +
+		" left join distribute_waiting_send_points dp on dp.order_id = od.id",
+where = "od.is_distribute is true and od.status not in ('close','noPayment','refund')" +
+		" and dp.send_status != 'close'")
 public class DistributeOrdersView {
 	@DbField("od.id")
 	private Long id;

+ 3 - 0
netflix-dao/src/main/resources/mapper/UserDistributeMapper.xml

@@ -7,7 +7,10 @@
         from `user_distribute_shared` us
                  inner join `order_don` od
                             on od.user_id = us.user_id
+                 inner join `distribute_waiting_send_points` dp
+                            on dp.order_id = od.id
         where us.shared_id = #{userId}
           and od.status not in ('close', 'noPayment', 'refund')
+          and dp.send_status != 'close'
     </select>
 </mapper>

+ 4 - 6
netflix-service/src/main/java/com/cyksj/service/mange/statistics/impl/StatisticsDataServiceImpl.java

@@ -181,20 +181,18 @@ public class StatisticsDataServiceImpl implements StatisticsDataService {
 	 * @param backgroundDataView
 	 */
 	public void distribute(BackgroundDataView backgroundDataView, Date startDate, Date endDate) {
-		Integer distributeOrders = orderDonService.count(Wrappers.lambdaQuery(OrderDon.class)
-				.eq(OrderDon::getIsDistribute, true)
-				.ge(ObjectUtil.isNotNull(startDate), OrderDon::getCreatedTime, startDate).le(ObjectUtil.isNotNull(endDate), OrderDon::getCreatedTime, endDate));
-		backgroundDataView.setDistributeOrders(distributeOrders);
+		List<DistributeOrdersView> distributeOrders = Optional.ofNullable(beanSearcher.searchAll(DistributeOrdersView.class, MapUtils.builder()
+				.field(DistributeOrdersView::getCreatedTime, startDate, endDate).op(Operator.Between)
+				.build())).orElse(new ArrayList<>());
+		backgroundDataView.setDistributeOrders(distributeOrders.size());
 		//固定推广者订单
 		List<DistributeOrdersView> distributePopularizeOrders = Optional.ofNullable(beanSearcher.searchAll(DistributeOrdersView.class, MapUtils.builder()
-				.field(DistributeOrdersView::getStatus, StatisticsDataScheduler.noOrderStatus).op(Operator.NotIn)
 				.field(DistributeOrdersView::getUserId).op(Operator.NotNull)
 				.field(DistributeOrdersView::getCreatedTime, startDate, endDate).op(Operator.Between)
 				.build())).orElse(new ArrayList<>());
 		backgroundDataView.setDistributePopularizeOrders(distributePopularizeOrders.size());
 		//普通分销单数
 		List<DistributeOrdersView> distributeOriginalOrders = Optional.ofNullable(beanSearcher.searchAll(DistributeOrdersView.class, MapUtils.builder()
-				.field(DistributeOrdersView::getStatus, StatisticsDataScheduler.noOrderStatus).op(Operator.NotIn)
 				.field(DistributeOrdersView::getUserId).op(Operator.IsNull)
 				.field(DistributeOrdersView::getCreatedTime, startDate, endDate).op(Operator.Between)
 				.build())).orElse(new ArrayList<>());

+ 2 - 2
netflix-web/src/main/java/com/cyksj/web/controller/user/DistributePopularizeController.java

@@ -111,8 +111,8 @@ public class DistributePopularizeController {
 		distributePopularizeView.setUrlCode(QrCodeUtil.generateAsBase64(distributePopularizeView.getUrl(), QrConfig.create(), "png"));
 		User user = userMapper.selectById(userId);
 		distributePopularizeView.setGotPoints(user.getPoints());
-		Number number = beanSearcher.searchCount(DistributeOrdersView.class, MapUtils.builder().field(DistributeOrdersView::getSharedId, userId).op(Operator.Equal).build());
-		distributePopularizeView.setDistributeOrders(number.intValue());
+		Integer orders = userDistributeMapper.count(userId);
+		distributePopularizeView.setDistributeOrders(orders);
 		UserDistribute userDistribute = userDistributeMapper.selectOne(Wrappers.lambdaQuery(UserDistribute.class).eq(UserDistribute::getUserId, userId).select(UserDistribute::getId).last("limit 1"));
 		if (userDistribute != null) {
 			//是否是固定推广者