新增会员卡类型,新增单次扣款功能,并且增加了新增单次扣款的费用轨迹
This commit is contained in:
@@ -185,15 +185,18 @@ public class MemberCardService extends BaseServiceImpl {
|
||||
Date endTime;
|
||||
MemberCard memberCard = memberCardMapper.findCard(memberCardOrder.getMemberId(),memberCardOrder.getVeneuType(),memberCardOrder.getVenueId());
|
||||
if (memberCard != null ) {
|
||||
if (!memberCard.getCardType().equals(VipTypeEnum.getByValue(5).getName())){
|
||||
if (!memberCard.getCardType().equals(VipTypeEnum.FREECARD.name)){
|
||||
starTime = DateUtilCard.getDay(memberCard.getEndTime());
|
||||
}
|
||||
}
|
||||
if (memberCardOrder.getCardType().equals(VipTypeEnum.YEARCARD.name)){
|
||||
endTime = DateUtilCard.getYear(starTime);
|
||||
}else{
|
||||
endTime = DateUtilCard.getMouth(starTime,memberCardOrder.getCardType());
|
||||
}
|
||||
// 脑残逻辑,太蠢
|
||||
// if (memberCardOrder.getCardType().equals(VipTypeEnum.YEARCARD.name)
|
||||
// || memberCardOrder.getCardType().equals(VipTypeEnum.YEARCARD_NO1.name)){
|
||||
// endTime = DateUtilCard.getYear(starTime);
|
||||
// }else{
|
||||
// endTime = DateUtilCard.getMouth(starTime,memberCardOrder.getCardType());
|
||||
// }
|
||||
endTime = DateUtilCard.CacByCardType(starTime,memberCardOrder.getCardType());
|
||||
card.setStartTime(starTime);
|
||||
card.setEndTime(endTime);
|
||||
long nowDate = new Date().getTime();
|
||||
|
||||
@@ -115,4 +115,20 @@ public class DateUtilCard {
|
||||
int maxDate = a.get(Calendar.DATE);
|
||||
return maxDate;
|
||||
}
|
||||
|
||||
/**
|
||||
* 非免费卡计算起始日期逻辑处理
|
||||
*/
|
||||
public static Date CacByCardType(Date starTime,String cardType){
|
||||
Date endTime = null;
|
||||
// 按照年计算的逻辑
|
||||
if (cardType.equals(VipTypeEnum.YEARCARD.name) || cardType.equals(VipTypeEnum.ONCECARD)
|
||||
|| cardType.equals(VipTypeEnum.PUB_YEARCARD.name) ||cardType.equals(VipTypeEnum.PUB_ONCECARD.name)){
|
||||
endTime = DateUtilCard.getYear(starTime);
|
||||
} else {
|
||||
// 除了免费卡和年卡,都是按照月进行计算(月卡、季卡、半年卡)
|
||||
endTime = DateUtilCard.getMouth(starTime,cardType);
|
||||
}
|
||||
return endTime;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
package com.sv.service.common;
|
||||
|
||||
import com.enums.PayTypeEnum;
|
||||
import com.enums.VipTypeEnum;
|
||||
import com.sv.entity.MemberCard;
|
||||
import com.sv.entity.GiftMemberCard;
|
||||
import com.sv.entity.MemberCardOrder;
|
||||
import com.sv.exception.oms.OmsException;
|
||||
import com.sv.service.api.MemberCardService;
|
||||
import com.sv.service.api.MemberMoneyLogService;
|
||||
import com.sv.service.api.util.DateUtilCard;
|
||||
import com.sv.service.oms.GiftMemberCardService;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -23,6 +25,9 @@ public class MemberCardCommonService {
|
||||
@Resource
|
||||
private GiftMemberCardService giftMemberCardService;
|
||||
|
||||
@Resource
|
||||
private MemberMoneyLogService memberMoneyLogService;
|
||||
|
||||
/**
|
||||
* 生成生成用户会员卡
|
||||
*/
|
||||
@@ -41,7 +46,7 @@ public class MemberCardCommonService {
|
||||
Date starTime = DateUtilCard.getTime(new Date());
|
||||
Date endTime;
|
||||
MemberCard memberCard = memberCardService.findCard(memberId,venueType,venueId);
|
||||
if (cardType.equals(VipTypeEnum.getByValue(5).getName())){
|
||||
if (cardType.equals(VipTypeEnum.FREECARD.name)){
|
||||
if (star == null && end == null){
|
||||
return;
|
||||
}
|
||||
@@ -51,11 +56,14 @@ public class MemberCardCommonService {
|
||||
if (memberCard != null ) {
|
||||
starTime = DateUtilCard.getDay(memberCard.getEndTime());
|
||||
}
|
||||
if (cardType.equals(VipTypeEnum.YEARCARD.name)){
|
||||
endTime = DateUtilCard.getYear(starTime);
|
||||
}else{
|
||||
endTime = DateUtilCard.getMouth(starTime,cardType);
|
||||
}
|
||||
// 脑残逻辑,太蠢
|
||||
// if (cardType.equals(VipTypeEnum.YEARCARD.name)
|
||||
// || cardType.equals(VipTypeEnum.YEARCARD_NO1.name)){
|
||||
// endTime = DateUtilCard.getYear(starTime);
|
||||
// }else{
|
||||
// endTime = DateUtilCard.getMouth(starTime,cardType);
|
||||
// }
|
||||
endTime = DateUtilCard.CacByCardType(starTime,cardType);
|
||||
}
|
||||
// 1. 判断用户是否有其他的会员卡,并且不是免费卡,有效时间顺延
|
||||
card.setStartTime(starTime);
|
||||
@@ -69,6 +77,21 @@ public class MemberCardCommonService {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成生成用户会员卡
|
||||
*/
|
||||
@Transactional
|
||||
public void miniMoney(Integer memberId,Integer miniMoney,String feeType){
|
||||
if (memberId == null || miniMoney == null || feeType == null){
|
||||
throw new OmsException("扣费失败,非法参数");
|
||||
}
|
||||
/**
|
||||
* Integer memberId, Integer platformId, Integer type, BigDecimal price, Integer payType,
|
||||
* String cardType , Integer venueId, Integer venueType, Integer lessonId
|
||||
*/
|
||||
memberMoneyLogService.create(memberId,1,9,new BigDecimal(miniMoney).negate(), PayTypeEnum.BALANCE.value,null,null,null,null);
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存赠送记录
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user