zoujiajian 1 год назад
Родитель
Сommit
2664159a9f

+ 5 - 0
netflix-dao/src/main/java/com/cyksj/model/dto/UserWhoami.java

@@ -58,6 +58,11 @@ public class UserWhoami implements Serializable {
      */
     private Boolean isVip = false;
 
+    /**
+     * 会员开始时间
+     */
+    private Date vipStartTime;
+
     /**
      * 会员过期时间
      */

+ 6 - 8
netflix-service/src/main/java/com/cyksj/service/order/impl/VipOrderDonServiceImpl.java

@@ -325,19 +325,17 @@ public class VipOrderDonServiceImpl extends ServiceImpl<VipOrderDonMapper, VipOr
 				.last("limit 1"))).orElse(new VipUser());
 		vipUser.setUserId(userId);
 		//发放会员
-		if (vipUser.getStartTime() == null) {
-			vipUser.setStartTime(DateTime.now());
-		}
-		if (vipUser.getExpiryTime() == null) {
-			vipUser.setExpiryTime(vipUser.getStartTime());
-		}
-		vipUser.setExpiryTime(DateUtil.offsetMonth(vipUser.getExpiryTime(), 1));
 		if (vipUser.getId() == null) {
 			try {
+				vipUser.setStartTime(DateTime.now());
+				vipUser.setExpiryTime(DateUtil.offsetMonth(vipUser.getStartTime(), 1));
 				vipUserMapper.insert(vipUser);
 			} catch (DuplicateKeyException e) {
 			}
-		} else vipUserMapper.updateById(vipUser);
+		} else {
+			vipUser.setExpiryTime(DateUtil.offsetMonth(vipUser.getExpiryTime(), 1));
+			vipUserMapper.updateById(vipUser);
+		}
 		//发放会员车票
 		if (orderDon.getOrderType() == 1) {
 			sendVipTicketToUser(userId);

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

@@ -306,6 +306,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
 				.last("limit 1"));
 		if (vipUser != null) {
 			userWhoami.setIsVip(Boolean.TRUE);
+			userWhoami.setVipStartTime(vipUser.getStartTime());
 			userWhoami.setVipExpiryTime(vipUser.getExpiryTime());
 		}
 		return userWhoami;