|
@@ -36,6 +36,8 @@ import utils.RedisUtils;
|
|
|
import utils.SMSUtils;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
+import java.math.RoundingMode;
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
import java.util.*;
|
|
|
|
|
|
@Slf4j
|
|
@@ -313,13 +315,17 @@ public class MemberServiceImpl implements MemberService {
|
|
|
SubPricing subPricing = new SubPricing();
|
|
|
BeanUtils.copyProperties(subscription, subPricing);
|
|
|
subPricing.setPricings(pricingMap.get(subscription.getTargetId()));
|
|
|
+ subPricing.setStartDate(subscription.getCreatedAt());
|
|
|
subPricingList.add(subPricing);
|
|
|
} else if (subscription.getTargetType().equals(CommonEnum.SubscriptionTypeEnum.SET_PRICING.value())) {
|
|
|
- SubSetPricing subSetPricing = new SubSetPricing();
|
|
|
- BeanUtils.copyProperties(subscription, subSetPricing);
|
|
|
- subSetPricing.setSetPricings(setPricingMap.get(subscription.getTargetId()));
|
|
|
- subSetPricing.setCreateDate(subscription.getCreatedAt());
|
|
|
- subSetPricingList.add(subSetPricing);
|
|
|
+ // 不把targetId为1的显示在界面
|
|
|
+ if(1 != subscription.getTargetId()) {
|
|
|
+ SubSetPricing subSetPricing = new SubSetPricing();
|
|
|
+ BeanUtils.copyProperties(subscription, subSetPricing);
|
|
|
+ subSetPricing.setSetPricings(setPricingMap.get(subscription.getTargetId()));
|
|
|
+ subSetPricing.setCreateDate(subscription.getCreatedAt());
|
|
|
+ subSetPricingList.add(subSetPricing);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
//获取会员剩余天数
|
|
@@ -331,6 +337,11 @@ public class MemberServiceImpl implements MemberService {
|
|
|
member.setSubscriberType(SubscriberTypeEnum.no.value());
|
|
|
membersMapper.updateByPrimaryKey(member);
|
|
|
}
|
|
|
+ } else {
|
|
|
+ if(SubscriberTypeEnum.no.value().equals(member.getSubscriberType())) {
|
|
|
+ member.setSubscriberType(SubscriberTypeEnum.yes.value());
|
|
|
+ membersMapper.updateByPrimaryKey(member);
|
|
|
+ }
|
|
|
}
|
|
|
MemberInfoResp resp = new MemberInfoResp();
|
|
|
resp.setMemberInfo(memberInfo);
|
|
@@ -414,8 +425,8 @@ public class MemberServiceImpl implements MemberService {
|
|
|
//获取会员剩余天数
|
|
|
long day = getLeftDay(subSetPricingList);
|
|
|
//如果会员天数小于0,修改会员状态为否
|
|
|
+ Members member = getCurrentUser();
|
|
|
if(day == 0){
|
|
|
- Members member = getCurrentUser();
|
|
|
if(SubscriberTypeEnum.yes.value().equals(member.getSubscriberType())) {
|
|
|
member.setUpdatedAt(new Date());
|
|
|
member.setSubscriberType(SubscriberTypeEnum.no.value());
|
|
@@ -423,6 +434,11 @@ public class MemberServiceImpl implements MemberService {
|
|
|
}
|
|
|
return SubscriberTypeEnum.no.value();
|
|
|
}else{
|
|
|
+ if(SubscriberTypeEnum.no.value().equals(member.getSubscriberType())) {
|
|
|
+ member.setUpdatedAt(new Date());
|
|
|
+ member.setSubscriberType(SubscriberTypeEnum.yes.value());
|
|
|
+ membersMapper.updateByPrimaryKey(member);
|
|
|
+ }
|
|
|
return SubscriberTypeEnum.yes.value();
|
|
|
}
|
|
|
}
|
|
@@ -481,21 +497,26 @@ public class MemberServiceImpl implements MemberService {
|
|
|
*/
|
|
|
public long getLeftDay(List<SubSetPricing> subSetPricingList) {
|
|
|
long day = 0;
|
|
|
- long num = 0;
|
|
|
|
|
|
Date now = new Date();
|
|
|
+ BigDecimal normal = new BigDecimal(86400000);
|
|
|
for (SubSetPricing setPricing : subSetPricingList) {
|
|
|
- Date startDate = setPricing.getStartDate();
|
|
|
- Date endDate = setPricing.getEndDate();
|
|
|
- if (endDate.getTime() - now.getTime() > 0) {
|
|
|
- if (startDate.getTime() - now.getTime() < 0) {
|
|
|
- num += endDate.getTime() - now.getTime();
|
|
|
- } else {
|
|
|
- num += endDate.getTime() - startDate.getTime();
|
|
|
+ if(1 != setPricing.getTargetId()) {
|
|
|
+ Date startDate = setPricing.getStartDate();
|
|
|
+ Date endDate = setPricing.getEndDate();
|
|
|
+ if (endDate.getTime() - now.getTime() > 0) {
|
|
|
+ if (startDate.getTime() - now.getTime() < 0) {
|
|
|
+ long l = endDate.getTime() - now.getTime();
|
|
|
+ BigDecimal b1 = new BigDecimal(l);
|
|
|
+ day += b1.divide(normal,0,RoundingMode.UP).longValue();
|
|
|
+ } else {
|
|
|
+ long l = endDate.getTime() - startDate.getTime();
|
|
|
+ BigDecimal b1 = new BigDecimal(l);
|
|
|
+ day += b1.divide(normal,0,RoundingMode.UP).longValue();
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- day = num / 24 / 60 / 60 / 1000;//除以一天的毫秒数
|
|
|
return day;
|
|
|
}
|
|
|
|
|
@@ -527,6 +548,8 @@ public class MemberServiceImpl implements MemberService {
|
|
|
&& SubscriberTypeEnum.no.value().equals(currentUser.getSubscriberType())){
|
|
|
socialAccountService.deleteByMemberId(memberId);
|
|
|
membersMapper.deleteByPrimaryKey(memberId);
|
|
|
+ }else{
|
|
|
+ throw new BackendRuntimeException("不允许注销该账号,因为充过钱了!");
|
|
|
}
|
|
|
return memberId;
|
|
|
}
|