Przeglądaj źródła

fix 余额7天后到账

zoujiajian 3 lat temu
rodzic
commit
6fd9c2001d

+ 18 - 1
netflix-dao/src/main/java/com/cyksj/model/entity/EquipmentUserDistributeTransportBenefits.java

@@ -4,6 +4,7 @@ import lombok.Getter;
 import lombok.Setter;
 
 import java.math.BigDecimal;
+import java.util.Date;
 
 /*
  *项目名: netflix
@@ -23,5 +24,21 @@ public class EquipmentUserDistributeTransportBenefits extends BaseEntity{
 
 	private BigDecimal balance;
 
-	private Boolean status;
+	private Status status;
+
+	private Date sendTime;
+
+	@Getter
+	public enum Status {
+		hasPayment("已付款"),
+		transport("已发货"),
+		refund("已退款"),
+		complete("已完成"),
+		;
+		String desc;
+
+		Status(String desc) {
+			this.desc = desc;
+		}
+	}
 }

+ 8 - 0
netflix-service/src/main/java/com/cyksj/service/distribute/equipment/impl/EquipmentDistributeServiceImpl.java

@@ -178,6 +178,7 @@ public class EquipmentDistributeServiceImpl implements EquipmentDistributeServic
 					EquipmentUserDistributeTransportBenefits transportBenefits = new EquipmentUserDistributeTransportBenefits();
 					transportBenefits.setShareId(sharId);
 					transportBenefits.setOrderId(orderId);
+					transportBenefits.setStatus(EquipmentUserDistributeTransportBenefits.Status.hasPayment);
 					transportBenefits.setBalance(equipmentConfigDto.getBalance());
 					transportBenefitsMapper.insert(transportBenefits);
 				}
@@ -190,6 +191,13 @@ public class EquipmentDistributeServiceImpl implements EquipmentDistributeServic
 			}
 		}
 		if (status == EquipmentUserChanceRecord.Status.refund) {
+			//是否有余额权益
+			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);
+			}
 			EquipmentUserChanceRecord record = equipmentUserChanceRecordMapper.selectOne(Wrappers.lambdaQuery(EquipmentUserChanceRecord.class)
 					.eq(EquipmentUserChanceRecord::getUserId, userId)
 					.eq(EquipmentUserChanceRecord::getStatus, EquipmentUserChanceRecord.Status.hasPayment)

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

@@ -219,18 +219,15 @@ public class CmsOrderDonServiceImpl extends ServiceImpl<OrderDonMapper,OrderDon>
         //分销有礼 分销实物是否有发货后用户权益
         EquipmentUserDistributeTransportBenefits transportBenefits = transportBenefitsMapper.selectOne(Wrappers.lambdaQuery(EquipmentUserDistributeTransportBenefits.class)
                 .eq(EquipmentUserDistributeTransportBenefits::getOrderId, orderDon.getId())
-                .eq(EquipmentUserDistributeTransportBenefits::getStatus, false).last("limit 1"));
+                .eq(EquipmentUserDistributeTransportBenefits::getStatus, EquipmentUserDistributeTransportBenefits.Status.hasPayment).last("limit 1"));
         if (transportBenefits != null) {
             if (transportBenefits.getBalance().compareTo(BigDecimal.ZERO) > 0) {
-                int update = transportBenefitsMapper.update(null, Wrappers.lambdaUpdate(EquipmentUserDistributeTransportBenefits.class)
-                        .set(EquipmentUserDistributeTransportBenefits::getStatus, true)
+                //7天后余额到账
+                transportBenefitsMapper.update(null, Wrappers.lambdaUpdate(EquipmentUserDistributeTransportBenefits.class)
+                        .set(EquipmentUserDistributeTransportBenefits::getStatus, EquipmentUserDistributeTransportBenefits.Status.transport)
+                        .set(EquipmentUserDistributeTransportBenefits::getSendTime, DateUtil.offsetDay(DateTime.now(), 7))
                         .eq(EquipmentUserDistributeTransportBenefits::getOrderId, orderDon.getId())
-                        .eq(EquipmentUserDistributeTransportBenefits::getStatus, false));
-                if (update > 0) {
-                    //实物发货后 ,发送余额权益
-                    userBenefitsService.addUserBalance(orderDon.getUserId(), transportBenefits.getBalance(), UserBalanceSourceRecord.Source.ds_transport);
-                    log.info("分销实物发货后,发送用户user_id:{}余额:{}成功", orderDon.getUserId(), transportBenefits.getBalance());
-                }
+                        .eq(EquipmentUserDistributeTransportBenefits::getStatus, EquipmentUserDistributeTransportBenefits.Status.hasPayment));
             }
         }
         return orderDonWaybill;

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

@@ -372,6 +372,8 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
 		String dsCode = loginReq.getDsCode();
 		Long sharedId = loginReq.getSharedId();
 		Long dsPopularizeId = null;
+		Integer dsType = loginReq.getType();
+		Boolean isNewUser = false;
 		if (StrUtil.isNotBlank(dsCode)) {
 			dsCode = dsCode.trim();
 			User sharedUser = this.getOne(Wrappers.lambdaQuery(User.class)
@@ -391,6 +393,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
 		}
 		if (user == null) {
 			user = new User();
+			isNewUser = true;
 			StringBuilder name = new StringBuilder();
 			name.append(Constant.DEFAULT_NAME);
 			if (loginReq.getPopularizeId() != null) {
@@ -448,6 +451,10 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
 		if (StrUtil.isEmpty(user.getShowId())) {
 			user.setShowId(getUserShowId(user.getId()));
 		}
+		//新旧用户都可实物分销
+		if (sharedId != null && dsType != null && dsType == 2) {
+			equipDistributeService.saveDistributionInvitation(sharedId, isNewUser, user.getId());
+		}
 		return user;
 	}