|
@@ -5,6 +5,7 @@ import beilv.cardpurchaserecord.mapper.CardPurchaseRecordMapper;
|
|
import beilv.common.core.text.Convert;
|
|
import beilv.common.core.text.Convert;
|
|
import beilv.common.utils.DateUtils;
|
|
import beilv.common.utils.DateUtils;
|
|
import beilv.common.utils.ShiroUtils;
|
|
import beilv.common.utils.ShiroUtils;
|
|
|
|
+import beilv.usermembershipcard.domain.MemberStream;
|
|
import beilv.usermembershipcard.domain.UserMembershipCard;
|
|
import beilv.usermembershipcard.domain.UserMembershipCard;
|
|
import beilv.usermembershipcard.mapper.UserMembershipCardMapper;
|
|
import beilv.usermembershipcard.mapper.UserMembershipCardMapper;
|
|
import beilv.usermembershipcard.service.IUserMembershipCardService;
|
|
import beilv.usermembershipcard.service.IUserMembershipCardService;
|
|
@@ -12,6 +13,8 @@ import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
+import java.math.BigDecimal;
|
|
|
|
+import java.math.RoundingMode;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
|
|
|
|
@@ -97,12 +100,34 @@ public class UserMembershipCardServiceImpl implements IUserMembershipCardService
|
|
return userMembershipCardMapper.deleteUserMembershipCardById(id);
|
|
return userMembershipCardMapper.deleteUserMembershipCardById(id);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /*
|
|
|
|
+ * 查询流水列表
|
|
|
|
+ *
|
|
|
|
+ * @author 韩福成
|
|
|
|
+ * @date 2025/1/8 上午9:29
|
|
|
|
+ */
|
|
@Override
|
|
@Override
|
|
public List<Map<String,Object>> getStream(Long id) {
|
|
public List<Map<String,Object>> getStream(Long id) {
|
|
return userMembershipCardMapper.getStream(id);
|
|
return userMembershipCardMapper.getStream(id);
|
|
}
|
|
}
|
|
|
|
|
|
/*
|
|
/*
|
|
|
|
+ * 新增会员卡流水
|
|
|
|
+ *
|
|
|
|
+ * @author 韩福成
|
|
|
|
+ * @date 2025/1/8 上午9:29
|
|
|
|
+ */
|
|
|
|
+ @Override
|
|
|
|
+ public int addStream(MemberStream memberStream) {
|
|
|
|
+ //扣除会员卡剩余次数
|
|
|
|
+ UserMembershipCard userMembershipCard = new UserMembershipCard();
|
|
|
|
+ userMembershipCard.setId(Long.valueOf(memberStream.getUserCardId()));
|
|
|
|
+ userMembershipCard.setRemainingNumber(memberStream.getRemainingNumber()-1);
|
|
|
|
+ userMembershipCardMapper.updateUserMembershipCard(userMembershipCard);
|
|
|
|
+ return userMembershipCardMapper.addStream(memberStream);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /*
|
|
* 新增退卡记录
|
|
* 新增退卡记录
|
|
*
|
|
*
|
|
* @author 韩福成
|
|
* @author 韩福成
|
|
@@ -111,7 +136,24 @@ public class UserMembershipCardServiceImpl implements IUserMembershipCardService
|
|
@Override
|
|
@Override
|
|
public int refundCard(UserMembershipCard userMembershipCard) {
|
|
public int refundCard(UserMembershipCard userMembershipCard) {
|
|
CardPurchaseRecord cardPurchaseRecord = cardPurchaseRecordMapper.selectCardPurchaseRecordById(Long.parseLong(userMembershipCard.getRecordId()));
|
|
CardPurchaseRecord cardPurchaseRecord = cardPurchaseRecordMapper.selectCardPurchaseRecordById(Long.parseLong(userMembershipCard.getRecordId()));
|
|
- //新增退卡记录
|
|
|
|
|
|
+ /*退款*/
|
|
|
|
+ //使用次数
|
|
|
|
+ int useCount = cardPurchaseRecord.getTotalNumber() - userMembershipCard.getRemainingNumber();
|
|
|
|
+ //原单价
|
|
|
|
+ BigDecimal originalPrice = cardPurchaseRecord.getOriginalPrice().divide(BigDecimal.valueOf(cardPurchaseRecord.getTotalNumber()),2, RoundingMode.HALF_UP);
|
|
|
|
+ //使用总价
|
|
|
|
+ BigDecimal usePrice = originalPrice.multiply(new BigDecimal(useCount));
|
|
|
|
+ if (usePrice.compareTo(cardPurchaseRecord.getMemberPrice())<0){
|
|
|
|
+ //退款价格
|
|
|
|
+ BigDecimal refundPrice = cardPurchaseRecord.getMemberPrice().subtract(usePrice);
|
|
|
|
+ /*调用退款接口*/
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ }else {
|
|
|
|
+ return -1;
|
|
|
|
+ }
|
|
|
|
+ /*新增退卡记录*/
|
|
CardPurchaseRecord record = new CardPurchaseRecord();
|
|
CardPurchaseRecord record = new CardPurchaseRecord();
|
|
BeanUtils.copyProperties(cardPurchaseRecord,record);
|
|
BeanUtils.copyProperties(cardPurchaseRecord,record);
|
|
record.setId(null);
|
|
record.setId(null);
|
|
@@ -121,7 +163,7 @@ public class UserMembershipCardServiceImpl implements IUserMembershipCardService
|
|
record.setTime(DateUtils.getNowDate());
|
|
record.setTime(DateUtils.getNowDate());
|
|
record.setVersion("0");
|
|
record.setVersion("0");
|
|
cardPurchaseRecordMapper.insertCardPurchaseRecord(record);
|
|
cardPurchaseRecordMapper.insertCardPurchaseRecord(record);
|
|
- //修改用户会员卡
|
|
|
|
|
|
+ /*修改用户会员卡*/
|
|
userMembershipCard.setState("2");
|
|
userMembershipCard.setState("2");
|
|
userMembershipCard.setRemainingNumber(0);
|
|
userMembershipCard.setRemainingNumber(0);
|
|
return userMembershipCardMapper.updateUserMembershipCard(userMembershipCard);
|
|
return userMembershipCardMapper.updateUserMembershipCard(userMembershipCard);
|