Quellcode durchsuchen

好友设备邀请

zoujiajian vor 2 Jahren
Ursprung
Commit
aeb1f36619

+ 38 - 39
netflix-service/src/main/java/com/cyksj/service/distribute/equipment/impl/EquipmentDistributeServiceImpl.java

@@ -92,10 +92,10 @@ public class EquipmentDistributeServiceImpl implements EquipmentDistributeServic
 			record.setUserId(userId);
 			try {
 				//发放新用户福利优惠券
-				if (isNewUser) {
-					sendInvitedUserEquipmentCoupon(userId);
-					record.setIsNewUser(true);
-				}
+//				if (isNewUser) {
+//				sendInvitedUserEquipmentCoupon(userId);
+//				}
+				record.setIsNewUser(isNewUser);
 				inviteRecordMapper.insert(record);
 
 			} catch (DuplicateKeyException e) {
@@ -135,48 +135,47 @@ public class EquipmentDistributeServiceImpl implements EquipmentDistributeServic
 	}
 
 	public void saveInviteRecord(Long sharId, Long userId, Long orderId, Integer type) {
-		EquipmentConfigDto equipmentConfigDto = checkEquipmentConfigDto();
-		Integer benefitsType = 1;
-		if (equipmentConfigDto != null && type == 1) {
-			//配置车票权益
-			if (CollUtil.isNotEmpty(equipmentConfigDto.getSkuList())) {
-				addTicketBenefitsChance(sharId, userId, orderId, EquipmentUserChanceRecord.Status.hasPayment);
-			}
-
-			//已配置余额  实物发货 发送余额
-			if (equipmentConfigDto.getBalance() != null && equipmentConfigDto.getBalance().compareTo(BigDecimal.ZERO) > 0) {
-				addBalanceBenefits(sharId, orderId, equipmentConfigDto.getBalance(), EquipmentUserDistributeTransportBenefits.Status.hasPayment);
-				benefitsType = 2;
-			}
+//		EquipmentConfigDto equipmentConfigDto = checkEquipmentConfigDto();
+		Integer benefitsType = 0;
+		if (type == 1) {
+//			//配置车票权益
+//			if (CollUtil.isNotEmpty(equipmentConfigDto.getSkuList())) {
+//				addTicketBenefitsChance(sharId, userId, orderId, EquipmentUserChanceRecord.Status.hasPayment);
+//			}
+//
+//			//已配置余额  实物发货 发送余额
+//			if (equipmentConfigDto.getBalance() != null && equipmentConfigDto.getBalance().compareTo(BigDecimal.ZERO) > 0) {
+//				addBalanceBenefits(sharId, orderId, equipmentConfigDto.getBalance(), EquipmentUserDistributeTransportBenefits.Status.hasPayment);
+//				benefitsType = 2;
+//			}
 			EquipmentUserPayRecord record = new EquipmentUserPayRecord();
 			record.setShareId(sharId);
 			record.setUserId(userId);
 			record.setStatus(EquipmentUserPayRecord.Status.hasPayment);
 			record.setOrderId(orderId);
-			//1、车票权益,2、余额
+			//0无类型  1、车票权益,2、余额
 			record.setType(benefitsType);
 			equipmentUserPayRecordMapper.insert(record);
-		}
-		if (type == 2) {
-			//是否有余额权益
-			EquipmentUserDistributeTransportBenefits transportBenefits = transportBenefitsMapper.selectOne(Wrappers.lambdaQuery(EquipmentUserDistributeTransportBenefits.class)
-					.eq(EquipmentUserDistributeTransportBenefits::getOrderId, orderId).last("limit 1"));
-			if (transportBenefits != null && transportBenefits.getStatus() != EquipmentUserDistributeTransportBenefits.Status.complete) {
-				transportBenefits.setStatus(EquipmentUserDistributeTransportBenefits.Status.refund);
-				transportBenefitsMapper.updateById(transportBenefits);
-			}
-			//是否有车票权益
-			int update = equipmentUserChanceRecordMapper.update(null, Wrappers.lambdaUpdate(EquipmentUserChanceRecord.class)
-					.set(EquipmentUserChanceRecord::getStatus, EquipmentUserChanceRecord.Status.refund)
-					.eq(EquipmentUserChanceRecord::getOrderId, orderId)
-					.eq(EquipmentUserChanceRecord::getStatus, EquipmentUserChanceRecord.Status.hasPayment));
-			if (update > 0) {
-				update = equipmentUserChanceMapper.subUserChance(sharId);
-				if (update == 0) {
-					//扣除权益
-					deductUserBenefits(sharId, orderId);
-				}
-			}
+		} else if (type == 2) {
+//			//是否有余额权益
+//			EquipmentUserDistributeTransportBenefits transportBenefits = transportBenefitsMapper.selectOne(Wrappers.lambdaQuery(EquipmentUserDistributeTransportBenefits.class)
+//					.eq(EquipmentUserDistributeTransportBenefits::getOrderId, orderId).last("limit 1"));
+//			if (transportBenefits != null && transportBenefits.getStatus() != EquipmentUserDistributeTransportBenefits.Status.complete) {
+//				transportBenefits.setStatus(EquipmentUserDistributeTransportBenefits.Status.refund);
+//				transportBenefitsMapper.updateById(transportBenefits);
+//			}
+//			//是否有车票权益
+//			int update = equipmentUserChanceRecordMapper.update(null, Wrappers.lambdaUpdate(EquipmentUserChanceRecord.class)
+//					.set(EquipmentUserChanceRecord::getStatus, EquipmentUserChanceRecord.Status.refund)
+//					.eq(EquipmentUserChanceRecord::getOrderId, orderId)
+//					.eq(EquipmentUserChanceRecord::getStatus, EquipmentUserChanceRecord.Status.hasPayment));
+//			if (update > 0) {
+//				update = equipmentUserChanceMapper.subUserChance(sharId);
+//				if (update == 0) {
+//					//扣除权益
+//					deductUserBenefits(sharId, orderId);
+//				}
+//			}
 			equipmentUserPayRecordMapper.update(null, Wrappers.lambdaUpdate(EquipmentUserPayRecord.class)
 					.set(EquipmentUserPayRecord::getStatus, EquipmentUserPayRecord.Status.refund)
 					.eq(EquipmentUserPayRecord::getOrderId, orderId)

+ 5 - 5
netflix-service/src/main/java/com/cyksj/service/mange/impl/CmsOrderDonServiceImpl.java

@@ -740,11 +740,11 @@ public class CmsOrderDonServiceImpl extends ServiceImpl<OrderDonMapper,OrderDon>
 
             try {
                 marketFrontService.subSpecificChanceNum(orderDon.getUserId(), orderDon.getId(), orderDon.getGoodsId(), orderDon.getUpdateTime());
-//                if (goodsDon.getType() == 2) {
-//                    equipmentDistributeService.subDistributeBenefitsChance(orderDon.getUserId(), orderDon.getId());
-//                    //扣除用户自身实物权益
-//                    userRealOrderBenefitsService.deductUserRealGoodsBenefits(orderDon.getId());
-//                }
+                if (goodsDon.getType() == 2 && !orderDon.getIsDistribute()) {
+                    equipmentDistributeService.subDistributeBenefitsChance(orderDon.getUserId(), orderDon.getId());
+                    //扣除用户自身实物权益
+                    userRealOrderBenefitsService.deductUserRealGoodsBenefits(orderDon.getId());
+                }
             } catch (Exception e) {
                 log.error("wx减少抽奖机会错误,orderId:{},error:{}", orderDon.getId(), e);
             }

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

@@ -2337,9 +2337,10 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 				}
 				//配置了特定奖池,增加抽奖机会
 				marketFrontService.addSpecificChanceNum(orderDon.getUserId(), orderDon.getId(), orderDon.getGoodsId(), orderDon.getSkuId());
-//				if (goodsDon.getType() == 2) {
-//					equipmentDistributeService.addDistributeBenefitsChance(orderDon.getUserId(), orderDon.getId());
-//				}
+				//非分销订单
+				if (goodsDon.getType() == 2 && !orderDon.getIsDistribute()) {
+					equipmentDistributeService.addDistributeBenefitsChance(orderDon.getUserId(), orderDon.getId());
+				}
 				//若该订单使用了规定推广者的兑换码 增加上下级关系
 				if (StrUtil.isNotBlank(orderDon.getCouponExCode())) {
 					addDistributeCouponCode(orderDon.getUserId(), orderDon.getCouponExCode());

+ 5 - 0
netflix-service/src/main/java/com/cyksj/service/user/UserService.java

@@ -59,4 +59,9 @@ public interface UserService extends IService<User> {
 	Long getSharedIdByUserId(Long userId);
 
 	void bindUserDistributeShared(Long userId, String dsCode);
+
+	/**
+	 * 实物好友邀请分销
+	 */
+	void saveEpDistributeShared(Long userId, String dsCode);
 }

+ 20 - 0
netflix-service/src/main/java/com/cyksj/service/user/impl/UserServiceImpl.java

@@ -765,4 +765,24 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
 		log.info("建立用户userId:{}与sharedId:{}绑定关系", userId, sharedId);
 		distributeService.saveDistributionInvitation(sharedId, user.getId(), dsPopularizeId);
 	}
+
+	@Override
+	public void saveEpDistributeShared(Long userId, String dsCode) {
+		if (StrUtil.isEmpty(dsCode)) {
+			log.info("设备好友邀请userId:{},code为空", userId);
+			return;
+		}
+		User user = getById(userId);
+		Date createdTime = user.getCreatedTime();
+		String createDate = new DateTime(createdTime).toDateStr();
+		Boolean isNewUser = false;
+		if (StrUtil.equals(createDate, DateTime.now().toDateStr())) {
+			isNewUser = true;
+		}
+		UserSharedDto userSharedDto = getUserShredDtoByDsCode(dsCode);
+		if (userSharedDto != null) {
+			log.info("实物好友分销邀请sharedId:{},被邀请用户id:{}", userSharedDto.getSharedId(), userId);
+			equipDistributeService.saveDistributionInvitation(userSharedDto.getSharedId(), isNewUser, user.getId());
+		}
+	}
 }

+ 10 - 1
netflix-web/src/main/java/com/cyksj/web/controller/distribute/EquipmentDistributeController.java

@@ -77,7 +77,6 @@ public class EquipmentDistributeController {
 	private final EquipmentDistributeService equipDistributeService;
 
 	private final EquipmentUserDistributeInviteRecordMapper inviteRecordMapper;
-
 	/**
 	 * 个人实物分销详情
 	 */
@@ -249,4 +248,14 @@ public class EquipmentDistributeController {
 		}
 		return GatewayResponse.SUCCESS.newBuilder().toResult(true);
 	}
+
+	/**
+	 * 实物分销绑定
+	 */
+	@GetMapping("/equipment/invite/bind")
+	public Result<String> equipmentInviteBind(String dsCode) {
+		long userId = StpUserUtil.getLoginIdAsLong();
+		userService.saveEpDistributeShared(userId, dsCode);
+		return GatewayResponse.SUCCESS.newBuilder().toResult();
+	}
 }

+ 4 - 4
netflix-web/src/main/java/com/cyksj/web/controller/landing/CorpFollowActiveCodeController.java

@@ -4,13 +4,11 @@ import cn.hutool.core.util.StrUtil;
 import com.cyksj.dto.Result;
 import com.cyksj.enums.GatewayResponse;
 import com.cyksj.service.corp.CorpFollowActiveCodeFrontService;
+import com.cyksj.service.distribute.equipment.EquipmentDistributeService;
 import com.cyksj.service.user.UserService;
 import com.cyksj.web.util.StpUserUtil;
 import lombok.RequiredArgsConstructor;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 /**
  * 项目名: yhlxj
@@ -26,6 +24,8 @@ public class CorpFollowActiveCodeController {
 
 	private final UserService userService;
 
+	private final EquipmentDistributeService equipDistributeService;
+
 	/**
 	 * 活动活码落地页 获取对应客服二维码
 	 */

+ 1 - 1
netflix-web/src/main/java/com/cyksj/web/controller/manage/distribute/EquipmentController.java

@@ -105,7 +105,7 @@ public class EquipmentController {
 		}
 		BigDecimal money = verifyRecord.getMoney();
 		String img = verifyRecord.getImg();
-		if (StrUtil.isNotBlank(img)) {
+		if (StrUtil.isEmpty(img)) {
 			throw BusinessRuntimeException.getInstance("转账截图不为空");
 		}
 		if (money == null) {