VIP改版
This commit is contained in:
@@ -16,6 +16,7 @@ import com.peanut.modules.common.entity.*;
|
||||
import com.peanut.modules.common.service.CouponHistoryService;
|
||||
import com.peanut.modules.common.service.CouponService;
|
||||
import com.peanut.modules.common.service.OfflineActivityToUserService;
|
||||
import com.peanut.modules.common.service.UserVipService;
|
||||
import com.peanut.modules.master.service.UserCourseBuyService;
|
||||
import com.peanut.modules.pay.alipay.config.AliPayConfig;
|
||||
import com.peanut.modules.pay.alipay.config.AliPayUtil;
|
||||
@@ -30,8 +31,6 @@ import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.time.Period;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@@ -71,11 +70,7 @@ public class AliPayServiceImpl implements AliPayService {
|
||||
@Autowired
|
||||
private JfTransactionDetailsDao jfTransactionDetailsDao;
|
||||
@Autowired
|
||||
private MyUserDao myUserDao;
|
||||
@Autowired
|
||||
private VipBuyConfigDao vipBuyConfigDao;
|
||||
@Autowired
|
||||
private UserVipDao userVipDao;
|
||||
private UserVipService userVipService;
|
||||
@Autowired
|
||||
private CouponService couponService;
|
||||
@Autowired
|
||||
@@ -200,13 +195,7 @@ public class AliPayServiceImpl implements AliPayService {
|
||||
userCoinJf(order);
|
||||
}
|
||||
//开通vip
|
||||
openVipForUser(order);
|
||||
//获取会员开通 日期
|
||||
// BookBuyConfigEntity bookBuyConfigEntity = bookBuyConfigService.getById(Integer.valueOf(body));
|
||||
// String month = bookBuyConfigEntity.getMonth();
|
||||
// userService.openMember(Integer.valueOf(customerid),Integer.valueOf(month));
|
||||
// // 插入 开通记录
|
||||
// buyOrderService.updateOrderStatus(Integer.valueOf(customerid),oldPayZfbOrderEntity.getRelevanceoid(),"2");
|
||||
userVipService.openVipForUser(order);
|
||||
}
|
||||
|
||||
if("point".equals(subject)){
|
||||
@@ -342,91 +331,6 @@ public class AliPayServiceImpl implements AliPayService {
|
||||
}
|
||||
}
|
||||
|
||||
private void openVipForUser(BuyOrder buyOrder) throws Exception {
|
||||
VipBuyConfigEntity vipBuyConfigEntity = vipBuyConfigDao.selectById(buyOrder.getVipBuyConfigId());
|
||||
MyUserEntity userEntity = myUserDao.selectById(buyOrder.getUserId());
|
||||
String u_v_type = userEntity.getVip();
|
||||
if(vipBuyConfigEntity.getType()==1){//超v
|
||||
if(u_v_type.equals("0")){//初次办理
|
||||
UserVip userVip = new UserVip();
|
||||
userVip.setUserId(userEntity.getId());
|
||||
userVip.setType(1);
|
||||
userVip.setStartTime(new Date());
|
||||
LocalDate today = LocalDate.now();
|
||||
LocalDate threeYearsLater = today.plus(Period.ofYears(vipBuyConfigEntity.getYear()));
|
||||
Date threeYearsDate = Date.from(threeYearsLater.atStartOfDay(java.time.ZoneId.systemDefault()).toInstant());
|
||||
userVip.setEndTime(threeYearsDate);
|
||||
userVipDao.insert(userVip);
|
||||
userEntity.setVip("1");
|
||||
myUserDao.updateById(userEntity);
|
||||
} else if(u_v_type.equals("1")){//vip延期
|
||||
List<UserVip> userVips = userVipDao.selectList(new LambdaQueryWrapper<UserVip>().eq(UserVip::getUserId, userEntity.getId()).gt(UserVip::getEndTime, new Date()).eq(UserVip::getState, 0));
|
||||
if(userVips.size()!=1){
|
||||
throwExceptionMethod();
|
||||
}
|
||||
UserVip userVip = userVips.get(0);
|
||||
Date endTime = userVip.getEndTime();
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
calendar.setTime(endTime);
|
||||
calendar.add(Calendar.YEAR,vipBuyConfigEntity.getYear());
|
||||
userVip.setEndTime(calendar.getTime());
|
||||
userVipDao.updateById(userVip);
|
||||
}else if (u_v_type.equals("2")||u_v_type.equals("3")){//医学vip或国学vip升级
|
||||
List<UserVip> userVips = userVipDao.selectList(new LambdaQueryWrapper<UserVip>().eq(UserVip::getUserId, userEntity.getId()).gt(UserVip::getEndTime, new Date()).eq(UserVip::getState, 0));
|
||||
if(userVips.size()!=1){
|
||||
throwExceptionMethod();
|
||||
}
|
||||
UserVip userVip1 = userVips.get(0);
|
||||
userVip1.setEndTime(new Date());
|
||||
userVip1.setState(1);
|
||||
userVipDao.updateById(userVip1);
|
||||
UserVip userVip = new UserVip();
|
||||
userVip.setUserId(userEntity.getId());
|
||||
userVip.setType(1);
|
||||
userVip.setStartTime(new Date());
|
||||
LocalDate today = LocalDate.now();
|
||||
LocalDate threeYearsLater = today.plus(Period.ofYears(vipBuyConfigEntity.getYear()));
|
||||
Date threeYearsDate = Date.from(threeYearsLater.atStartOfDay(java.time.ZoneId.systemDefault()).toInstant());
|
||||
userVip.setEndTime(threeYearsDate);
|
||||
userVipDao.insert(userVip);
|
||||
userEntity.setVip("1");
|
||||
myUserDao.updateById(userEntity);
|
||||
}
|
||||
}
|
||||
if(vipBuyConfigEntity.getType()==2||vipBuyConfigEntity.getType()==3){//医学vip或国学vip
|
||||
if(userEntity.getVip().equals("2")||userEntity.getVip().equals("3")){//续费
|
||||
List<UserVip> userVips = userVipDao.selectList(new LambdaQueryWrapper<UserVip>().eq(UserVip::getUserId, userEntity.getId()).gt(UserVip::getEndTime, new Date()).eq(UserVip::getState, 0));
|
||||
if(userVips.size()!=1){
|
||||
throwExceptionMethod();
|
||||
}
|
||||
UserVip userVip = userVips.get(0);
|
||||
Date endTime = userVip.getEndTime();
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
calendar.setTime(endTime);
|
||||
calendar.add(Calendar.YEAR,vipBuyConfigEntity.getYear());
|
||||
userVip.setEndTime(calendar.getTime());
|
||||
userVipDao.updateById(userVip);
|
||||
}else{//新办理
|
||||
UserVip userVip = new UserVip();
|
||||
userVip.setUserId(userEntity.getId());
|
||||
userVip.setType(vipBuyConfigEntity.getType());
|
||||
userVip.setStartTime(new Date());
|
||||
LocalDate today = LocalDate.now();
|
||||
LocalDate threeYearsLater = today.plus(Period.ofYears(vipBuyConfigEntity.getYear()));
|
||||
Date threeYearsDate = Date.from(threeYearsLater.atStartOfDay(java.time.ZoneId.systemDefault()).toInstant());
|
||||
userVip.setEndTime(threeYearsDate);
|
||||
userVipDao.insert(userVip);
|
||||
userEntity.setVip(vipBuyConfigEntity.getType().toString());
|
||||
myUserDao.updateById(userEntity);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private static void throwExceptionMethod() throws Exception {
|
||||
throw new Exception("开通vip异常");
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public String refund(Map<String,Object> params) {
|
||||
|
||||
Reference in New Issue
Block a user