|
@@ -38,6 +38,7 @@ import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
import com.yonge.cooleshow.biz.dal.dto.search.MemberPriceSettingsSearch;
|
|
|
import com.yonge.cooleshow.biz.dal.dao.MemberPriceSettingsDao;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
import java.util.*;
|
|
@@ -106,7 +107,7 @@ public class MemberPriceSettingsServiceImpl extends ServiceImpl<MemberPriceSetti
|
|
|
if (detail.getVipType() == EVipType.SVIP) {
|
|
|
VipCardRecordWrapper.UserVip userVip = vipCardRecordService.UserVipInfo(orderReqInfo.getUserId(), orderReqInfo.getOrderClient());
|
|
|
if (!userVip.getVipEndDays().equals(orderReqInfo.getVipEndDays())) {
|
|
|
- return HttpResponseResult.failed(999, null, "您当前VIP天数更新,请刷新后尝试");
|
|
|
+ return HttpResponseResult.failed(998, null, "您当前VIP天数更新,请刷新后尝试");
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -130,11 +131,14 @@ public class MemberPriceSettingsServiceImpl extends ServiceImpl<MemberPriceSetti
|
|
|
orderCreateRes.setMerchId(0l);
|
|
|
orderCreateRes.setBizId(detail.getId());
|
|
|
orderCreateRes.setBizContent("会员卡购买-" + detail.getPeriod().getMsg());
|
|
|
- orderCreateRes.setGoodNum(1);
|
|
|
+ orderCreateRes.setGoodNum(orderReqInfo.getGoodsNum());
|
|
|
orderCreateRes.setOriginalPrice(detail.getOriginalPrice());
|
|
|
- orderCreateRes.setCouponAmount(couponAmount);
|
|
|
+ orderCreateRes.setCouponAmount(couponAmount.multiply(new BigDecimal(orderReqInfo.getGoodsNum())));
|
|
|
orderCreateRes.setExpectPrice(detail.getSalePrice());
|
|
|
orderCreateRes.setSourceType(SourceTypeEnum.PLATFORM);
|
|
|
+ UserPaymentOrderWrapper.VipDays vipDays = new UserPaymentOrderWrapper.VipDays();
|
|
|
+ vipDays.setVipEndDays(orderReqInfo.getVipEndDays());
|
|
|
+ orderCreateRes.setBizJson(JSON.toJSONString(vipDays));
|
|
|
return HttpResponseResult.succeed(orderCreateRes);
|
|
|
}
|
|
|
|
|
@@ -146,25 +150,55 @@ public class MemberPriceSettingsServiceImpl extends ServiceImpl<MemberPriceSetti
|
|
|
@Override
|
|
|
public void orderSuccess(UserOrderDetailVo orderDetailVo,boolean messageFlag) {
|
|
|
|
|
|
- VipCardRecord vipCardRecord = vipCardRecordService.buildVipCardRecordByOrderDetail(orderDetailVo);
|
|
|
+ if (null == orderDetailVo) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ MemberPriceSettingsVo detail = detail(orderDetailVo.getBizId());
|
|
|
+
|
|
|
+
|
|
|
+ VipCardRecordWrapper.AddVipCardRecord addVipCardRecord = new VipCardRecordWrapper.AddVipCardRecord();
|
|
|
+
|
|
|
+ addVipCardRecord.setUserId(orderDetailVo.getUserId());
|
|
|
+ addVipCardRecord.setClientType(orderDetailVo.getOrderClient());
|
|
|
+ addVipCardRecord.setStatus(EVipRecordStatus.ADD);
|
|
|
+ addVipCardRecord.setVipType(detail.getVipType());
|
|
|
+ if (detail.getPeriod() == PeriodEnum.PERPETUAL) {
|
|
|
+ addVipCardRecord.setVipType(EVipType.PERMANENT_SVIP);
|
|
|
+ }
|
|
|
+ addVipCardRecord.setType(detail.getPeriod());
|
|
|
+ addVipCardRecord.setTimes(orderDetailVo.getGoodNum());
|
|
|
+ addVipCardRecord.setSendMsg(false);
|
|
|
+ addVipCardRecord.setCreateBy(orderDetailVo.getUserId());
|
|
|
+ vipCardRecordService.addVip(addVipCardRecord);
|
|
|
|
|
|
- UserVipInfoVo userVipInfoVo = getUserVipInfoVo(vipCardRecord);
|
|
|
//会员购买消息推送
|
|
|
if (messageFlag) {
|
|
|
- authSend(userVipInfoVo.getUserId(), userVipInfoVo.getPhone(), DateUtil.format(vipCardRecord.getEndTime(), DateUtil.DEFAULT_PATTERN), orderDetailVo.getOrderClient());
|
|
|
+
|
|
|
+ SysUser sysUser = sysUserFeignService.queryUserById(orderDetailVo.getUserId());
|
|
|
+ if (sysUser == null) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+// authSend(sysUser.getId(), sysUser.getPhone(), DateUtil.format(vipCardRecord.getEndTime(), DateUtil.DEFAULT_PATTERN), orderDetailVo.getOrderClient());
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
@Override
|
|
|
+ @Transactional
|
|
|
public void activityReward(Long userId, ClientEnum client, ActivityReward activityReward, Long activityId,String activityName) {
|
|
|
|
|
|
- VipCardRecord vipCardRecord = vipCardRecordService.buildVipCardRecordByOrderDetail(userId,client,activityReward,activityId,activityName);
|
|
|
- if (vipCardRecord == null) {
|
|
|
- return;
|
|
|
- }
|
|
|
+ VipCardRecordWrapper.AddVipCardRecord addVipCardRecord = new VipCardRecordWrapper.AddVipCardRecord();
|
|
|
+
|
|
|
+ addVipCardRecord.setUserId(userId);
|
|
|
+ addVipCardRecord.setClientType(client);
|
|
|
+ addVipCardRecord.setStatus(EVipRecordStatus.ADD);
|
|
|
+ addVipCardRecord.setVipType(EVipType.valueOf(activityReward.getRewardType().name()));
|
|
|
+ addVipCardRecord.setType(PeriodEnum.valueOf(activityReward.getUnit().name()));
|
|
|
+ addVipCardRecord.setTimes(activityReward.getNum());
|
|
|
+ addVipCardRecord.setSendMsg(false);
|
|
|
+ addVipCardRecord.setCreateBy(userId);
|
|
|
+ vipCardRecordService.addVip(addVipCardRecord);
|
|
|
|
|
|
- getUserVipInfoVo(vipCardRecord);
|
|
|
}
|
|
|
|
|
|
private UserVipInfoVo getUserVipInfoVo(VipCardRecord vipCardRecord) {
|
|
@@ -232,7 +266,8 @@ public class MemberPriceSettingsServiceImpl extends ServiceImpl<MemberPriceSetti
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
+ @Deprecated
|
|
|
+// @Override
|
|
|
public Boolean addVip(VipSubmitReq vipSubmitReq, ClientEnum client, SysUser sysUser) {
|
|
|
|
|
|
VipCardRecord vipCardRecord = vipCardRecordService.getVipCardRecord(vipSubmitReq.getUserId(), client, null, null, vipSubmitReq.getType().toString(),
|
|
@@ -295,7 +330,7 @@ public class MemberPriceSettingsServiceImpl extends ServiceImpl<MemberPriceSetti
|
|
|
// 判断会员剩余天数是否改变
|
|
|
VipCardRecordWrapper.UserVip userVip = vipCardRecordService.UserVipInfo(orderGoodsInfo.getUserId(), orderGoodsInfo.getPaymentClient());
|
|
|
if (!userVip.getVipEndDays().equals(orderGoodsInfo.getVipEndDays())) {
|
|
|
- throw new BizException(999,"您当前VIP天数更新,请刷新后尝试");
|
|
|
+ throw new BizException(998,"您当前VIP天数更新,请刷新后尝试");
|
|
|
}
|
|
|
|
|
|
BigDecimal couponAmount = BigDecimal.ZERO;
|
|
@@ -317,13 +352,16 @@ public class MemberPriceSettingsServiceImpl extends ServiceImpl<MemberPriceSetti
|
|
|
userOrderDetail.setMerchId(0l);
|
|
|
userOrderDetail.setBizId(detail.getId());
|
|
|
userOrderDetail.setBizContent("会员卡购买-" + detail.getPeriod().getMsg());
|
|
|
- userOrderDetail.setGoodNum(1);
|
|
|
+ userOrderDetail.setGoodNum(orderGoodsInfo.getGoodNum());
|
|
|
userOrderDetail.setOriginalPrice(detail.getOriginalPrice());
|
|
|
- userOrderDetail.setCouponAmount(couponAmount);
|
|
|
+ userOrderDetail.setCouponAmount(couponAmount.multiply(new BigDecimal(orderGoodsInfo.getGoodNum())));
|
|
|
userOrderDetail.setExpectPrice(detail.getSalePrice());
|
|
|
userOrderDetail.setActualPrice(userOrderDetail.getExpectPrice().subtract(couponAmount));
|
|
|
orderGoodsInfo.setUserOrderDetail(userOrderDetail);
|
|
|
|
|
|
+ UserPaymentOrderWrapper.VipDays vipDays = new UserPaymentOrderWrapper.VipDays();
|
|
|
+ vipDays.setVipEndDays(orderGoodsInfo.getVipEndDays());
|
|
|
+ userOrderDetail.setBizJson(JSON.toJSONString(vipDays));
|
|
|
userOrderDetail.setAccountConfig( teacherService.teacherSettlementFrom(null,orderGoodsInfo.getRecomUserId()).jsonString());
|
|
|
|
|
|
// 设置金额入账去向
|