Просмотр исходного кода

fix 商务提成规格享受改为渠道绑定2个月内首单用户

zoujiajian 11 месяцев назад
Родитель
Сommit
6f0584559c

+ 1 - 1
netflix-dao/src/main/java/com/cyksj/model/views/UserDistributeBusinessRateRecordView.java

@@ -48,7 +48,7 @@ public class UserDistributeBusinessRateRecordView {
 	/**
 	 * 首单提成比例
 	 */
-	@DbField("ifnull(ur.first_order_rate,0)")
+	@DbField("ifnull(ur.first_order_rate,5)")
 	private Integer firstOrderRate;
 
 	/**

+ 56 - 48
netflix-service/src/main/java/com/cyksj/service/distribute/impl/UserBusinessFrontServiceImpl.java

@@ -59,6 +59,11 @@ public class UserBusinessFrontServiceImpl implements UserBusinessFrontService {
 			wrapper.eq(UserDistributeBusinessRate::getSkuId, order.getSkuId());
 		}
 		UserDistributeBusinessRate businessRate = userDistributeBusinessRateMapper.selectOne(wrapper);
+		if (businessRate == null) {
+			businessRate = new UserDistributeBusinessRate();
+			//未配置默认 商务默认首单5
+			businessRate.setFirstOrderRate(5);
+		}
 		//06-21 奈飞平台商务比例特殊处理
 		UserDistributeSpecial userDistributeSpecial = userDistributeSpecialMapper.selectOne(Wrappers.lambdaQuery(UserDistributeSpecial.class)
 				.eq(UserDistributeSpecial::getSkuId, order.getSkuId())
@@ -104,6 +109,9 @@ public class UserBusinessFrontServiceImpl implements UserBusinessFrontService {
 								if (record == null) {
 									return;
 								}
+								if (record.getTakeMoney().compareTo(BigDecimal.ZERO) == 0) {
+									return;
+								}
 								businessOrderDonRecordMapper.insert(record);
 								log.info("开始给商务人员:{}分配分销人:{}分销的用户:{}首单:{}提成", businessId, sharedId, order.getUserId(), order.getId());
 								redisService.del(RedisService.key.BUSINESS_FIRST_ORDER_USER_KEY.getNameFormat(order.getUserId()));
@@ -115,54 +123,54 @@ public class UserBusinessFrontServiceImpl implements UserBusinessFrontService {
 				}
 			}
 			//续费
-			if (order.getOrderType() == 2) {
-				log.info("商务首单续费分销分配提成开始");
-				//是否享受过该用户首单 提成
-				UserDistributeBusinessOrderDonRecord record = businessOrderDonRecordMapper.selectOne(Wrappers.lambdaQuery(UserDistributeBusinessOrderDonRecord.class)
-						.eq(UserDistributeBusinessOrderDonRecord::getBusinessId, businessId)
-						.eq(UserDistributeBusinessOrderDonRecord::getUserId, order.getUserId())
-						.eq(UserDistributeBusinessOrderDonRecord::getOrderType, 1)
-						.eq(UserDistributeBusinessOrderDonRecord::getStatus, UserDistributeBusinessOrderDonRecord.Status.success)
-						.last("limit 1"));
-				if (record != null) {
-					log.info("开始给商务人员:{}分配用户:{}首单续费提成", businessId, order.getUserId());
-					//是否更换过车票规格座位号
-					Long preRelationId = record.getPreRelationId();
-					Long relationId = order.getRelationId();
-					if (relationId.equals(preRelationId)) {
-						try {
-							//分配首单续费提成
-							record = saveBusinessTakeMoneyRecord(order, businessId, sharedId, null, businessRate.getRenewOrderRate(), distributeRate);
-							if (record == null) {
-								return;
-							}
-							businessOrderDonRecordMapper.insert(record);
-							log.info("开始给商务人员:{}分配分销人:{}分销的用户:{}续费首单:{}提成", businessId, sharedId, order.getUserId(), order.getId());
-						} catch (DuplicateKeyException e) {
-							log.error("商务:{}重复获取分销人:{}分销的用户:{}续费首单:{}提成", businessId, businessId, order.getUserId(), order.getId());
-						}
-					} else {
-						UserRenewChangeTicketRecord renewChangeTicketRecord = renewChangeTicketRecordMapper.selectOne(Wrappers.lambdaQuery(UserRenewChangeTicketRecord.class)
-								.eq(UserRenewChangeTicketRecord::getUserId, order.getUserId())
-								.eq(UserRenewChangeTicketRecord::getAfterRelationId, relationId)
-								.last("limit 1"));
-						if (renewChangeTicketRecord != null && renewChangeTicketRecord.getPreRelationId().equals(preRelationId)) {
-							try {
-								//分配首单续费更换车位后提成
-								record = saveBusinessTakeMoneyRecord(order, businessId, sharedId, null, businessRate.getRenewOrderRate(), distributeRate);
-								if (record == null) {
-									return;
-								}
-								businessOrderDonRecordMapper.insert(record);
-								log.info("开始给商务人员:{}分配分销人:{}分销的用户:{}续费首单:{}更换后车位提成", businessId, sharedId, order.getUserId(), order.getId());
-							} catch (DuplicateKeyException e) {
-								log.error("商务:{}重复获取分销人:{}分销的用户:{}续费首单:{}更换后车位提成", businessId, businessId, order.getUserId(), order.getId());
-							}
-						}
-					}
-
-				}
-			}
+//			if (order.getOrderType() == 2) {
+//				log.info("商务首单续费分销分配提成开始");
+//				//是否享受过该用户首单 提成
+//				UserDistributeBusinessOrderDonRecord record = businessOrderDonRecordMapper.selectOne(Wrappers.lambdaQuery(UserDistributeBusinessOrderDonRecord.class)
+//						.eq(UserDistributeBusinessOrderDonRecord::getBusinessId, businessId)
+//						.eq(UserDistributeBusinessOrderDonRecord::getUserId, order.getUserId())
+//						.eq(UserDistributeBusinessOrderDonRecord::getOrderType, 1)
+//						.eq(UserDistributeBusinessOrderDonRecord::getStatus, UserDistributeBusinessOrderDonRecord.Status.success)
+//						.last("limit 1"));
+//				if (record != null) {
+//					log.info("开始给商务人员:{}分配用户:{}首单续费提成", businessId, order.getUserId());
+//					//是否更换过车票规格座位号
+//					Long preRelationId = record.getPreRelationId();
+//					Long relationId = order.getRelationId();
+//					if (relationId.equals(preRelationId)) {
+//						try {
+//							//分配首单续费提成
+//							record = saveBusinessTakeMoneyRecord(order, businessId, sharedId, null, businessRate.getRenewOrderRate(), distributeRate);
+//							if (record == null) {
+//								return;
+//							}
+//							businessOrderDonRecordMapper.insert(record);
+//							log.info("开始给商务人员:{}分配分销人:{}分销的用户:{}续费首单:{}提成", businessId, sharedId, order.getUserId(), order.getId());
+//						} catch (DuplicateKeyException e) {
+//							log.error("商务:{}重复获取分销人:{}分销的用户:{}续费首单:{}提成", businessId, businessId, order.getUserId(), order.getId());
+//						}
+//					} else {
+//						UserRenewChangeTicketRecord renewChangeTicketRecord = renewChangeTicketRecordMapper.selectOne(Wrappers.lambdaQuery(UserRenewChangeTicketRecord.class)
+//								.eq(UserRenewChangeTicketRecord::getUserId, order.getUserId())
+//								.eq(UserRenewChangeTicketRecord::getAfterRelationId, relationId)
+//								.last("limit 1"));
+//						if (renewChangeTicketRecord != null && renewChangeTicketRecord.getPreRelationId().equals(preRelationId)) {
+//							try {
+//								//分配首单续费更换车位后提成
+//								record = saveBusinessTakeMoneyRecord(order, businessId, sharedId, null, businessRate.getRenewOrderRate(), distributeRate);
+//								if (record == null) {
+//									return;
+//								}
+//								businessOrderDonRecordMapper.insert(record);
+//								log.info("开始给商务人员:{}分配分销人:{}分销的用户:{}续费首单:{}更换后车位提成", businessId, sharedId, order.getUserId(), order.getId());
+//							} catch (DuplicateKeyException e) {
+//								log.error("商务:{}重复获取分销人:{}分销的用户:{}续费首单:{}更换后车位提成", businessId, businessId, order.getUserId(), order.getId());
+//							}
+//						}
+//					}
+//
+//				}
+//			}
 		}
 	}
 

+ 8 - 3
netflix-service/src/main/java/com/cyksj/service/order/impl/OrderDonServiceImpl.java

@@ -2100,9 +2100,14 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 					try {
 						distributeWaitingSendPointsMapper.insert(distributeWaitingSendPoints);
 						//暂定虚物 商务可首单提成
-						if (businessId != null) {
-							//给商务人员 分配提成权益
-							userBusinessFrontService.taskDistributeRateBenefits(userDistributeShared.getSharedId(), businessId, goodsDon.getType(), order, rate);
+						//普通订单
+						if (order.getOrderType() == 1 && businessId != null) {
+							//是否是绑定两个月内的渠道
+							Date businessBindTime = userDistribute.getBusinessBindTime();
+							if (businessBindTime != null && businessBindTime.after(DateUtil.offsetMonth(DateTime.now(), -2))) {
+								//给商务人员 分配提成权益
+								userBusinessFrontService.taskDistributeRateBenefits(userDistributeShared.getSharedId(), businessId, goodsDon.getType(), order, rate);
+							}
 						}
 						//是否是cc普通推广
 						//并且购买claude code作为首单