|
@@ -1,10 +1,13 @@
|
|
|
package com.miaxis.order.service.impl;
|
|
|
|
|
|
+import java.util.Date;
|
|
|
import java.util.List;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.miaxis.common.utils.DateUtils;
|
|
|
+import com.miaxis.userInfo.domain.UserVip;
|
|
|
+import com.miaxis.userInfo.service.IUserVipService;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
@@ -23,6 +26,9 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
|
|
|
@Autowired
|
|
|
private OrderInfoMapper orderInfoMapper;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private IUserVipService userVipService;
|
|
|
+
|
|
|
/**
|
|
|
* 查询订单信息列表
|
|
|
*
|
|
@@ -38,4 +44,226 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
|
|
|
public OrderInfo getByOutTradeNo(String outTradeNo) {
|
|
|
return orderInfoMapper.getByOutTradeNo(outTradeNo);
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void writeVipDataToDb(String goodsName,Long userId, String userName, String outTrandeNo,Integer total,Integer payType) {
|
|
|
+ long oneYearLong = 1000 * 60 * 60 * 24 * 365l;
|
|
|
+ Date now = new Date();
|
|
|
+
|
|
|
+ OrderInfo orderInfo = new OrderInfo();
|
|
|
+ orderInfo.setGoodsName(goodsName);
|
|
|
+ orderInfo.setUserId(userId);
|
|
|
+ orderInfo.setOutTradeNo(outTrandeNo);
|
|
|
+ orderInfo.setTotal(total);
|
|
|
+ orderInfo.setTradeType(1);
|
|
|
+ orderInfo.setSuccessTime(now);
|
|
|
+ orderInfo.setPayType(payType);
|
|
|
+
|
|
|
+
|
|
|
+ if ("科一专项VIP".equals(goodsName)) {
|
|
|
+ UserVip userVip = userVipService.getUserVipByUserId(userId);
|
|
|
+ if (userVip != null) {
|
|
|
+ //修改会员信息
|
|
|
+ Date km1Date = userVip.getSubject1();
|
|
|
+ if (km1Date != null) { //存在会员时间
|
|
|
+ if (km1Date.compareTo(now) < 0) { //会员已过期
|
|
|
+ long x = now.getTime() + oneYearLong;
|
|
|
+ Date km1oneYear = new Date(x);
|
|
|
+ userVip.setSubject1(km1oneYear);
|
|
|
+ } else { //会员时间延长
|
|
|
+ long x = km1Date.getTime() + oneYearLong;
|
|
|
+ Date km1oneYear = new Date(x);
|
|
|
+ userVip.setSubject1(km1oneYear);
|
|
|
+ }
|
|
|
+ userVipService.updateById(userVip);
|
|
|
+ this.save(orderInfo);
|
|
|
+ } else {
|
|
|
+ long x = now.getTime() + oneYearLong;
|
|
|
+ Date km1oneYear = new Date(x);
|
|
|
+ userVip.setSubject1(km1oneYear);
|
|
|
+ userVipService.updateById(userVip);
|
|
|
+ this.save(orderInfo);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ //新增会员信息
|
|
|
+ UserVip uv = new UserVip();
|
|
|
+ uv.setUserId(userId);
|
|
|
+ uv.setUserName(userName);
|
|
|
+ long x = now.getTime() + oneYearLong;
|
|
|
+ Date km1oneYear = new Date(x);
|
|
|
+ uv.setSubject1(km1oneYear);
|
|
|
+ userVipService.save(uv);
|
|
|
+ this.save(orderInfo);
|
|
|
+ }
|
|
|
+
|
|
|
+ } else if ("科二专项VIP".equals(goodsName)) {
|
|
|
+ UserVip userVip = userVipService.getUserVipByUserId(userId);
|
|
|
+ if (userVip != null) {
|
|
|
+ //修改会员信息
|
|
|
+ Date km2Date = userVip.getSubject2();
|
|
|
+ if (km2Date != null) { //存在会员时间
|
|
|
+ if (km2Date.compareTo(now) < 0) { //会员已过期
|
|
|
+ long x = now.getTime() + oneYearLong;
|
|
|
+ Date km2oneYear = new Date(x);
|
|
|
+ userVip.setSubject2(km2oneYear);
|
|
|
+ } else { //会员时间延长
|
|
|
+ long x = km2Date.getTime() + oneYearLong;
|
|
|
+ Date km2oneYear = new Date(x);
|
|
|
+ userVip.setSubject2(km2oneYear);
|
|
|
+ }
|
|
|
+ userVipService.updateById(userVip);
|
|
|
+ this.save(orderInfo);
|
|
|
+ } else {
|
|
|
+ long x = now.getTime() + oneYearLong;
|
|
|
+ Date km2oneYear = new Date(x);
|
|
|
+ userVip.setSubject2(km2oneYear);
|
|
|
+ userVipService.updateById(userVip);
|
|
|
+ this.save(orderInfo);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ //新增会员信息
|
|
|
+ UserVip uv = new UserVip();
|
|
|
+ uv.setUserId(userId);
|
|
|
+ uv.setUserName(userName);
|
|
|
+ long x = now.getTime() + oneYearLong;
|
|
|
+ Date km2oneYear = new Date(x);
|
|
|
+ uv.setSubject2(km2oneYear);
|
|
|
+ userVipService.save(uv);
|
|
|
+ this.save(orderInfo);
|
|
|
+ }
|
|
|
+ } else if ("科三专项VIP".equals(goodsName)) {
|
|
|
+ UserVip userVip = userVipService.getUserVipByUserId(userId);
|
|
|
+ if (userVip != null) {
|
|
|
+ //修改会员信息
|
|
|
+ Date km3Date = userVip.getSubject2();
|
|
|
+ if (km3Date != null) { //存在会员时间
|
|
|
+ if (km3Date.compareTo(now) < 0) { //会员已过期
|
|
|
+ long x = now.getTime() + oneYearLong;
|
|
|
+ Date km3oneYear = new Date(x);
|
|
|
+ userVip.setSubject3(km3oneYear);
|
|
|
+ } else { //会员时间延长
|
|
|
+ long x = km3Date.getTime() + oneYearLong;
|
|
|
+ Date km3oneYear = new Date(x);
|
|
|
+ userVip.setSubject3(km3oneYear);
|
|
|
+ }
|
|
|
+ userVipService.updateById(userVip);
|
|
|
+ this.save(orderInfo);
|
|
|
+ } else {
|
|
|
+ long x = now.getTime() + oneYearLong;
|
|
|
+ Date km3oneYear = new Date(x);
|
|
|
+ userVip.setSubject3(km3oneYear);
|
|
|
+ userVipService.updateById(userVip);
|
|
|
+ this.save(orderInfo);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ //新增会员信息
|
|
|
+ UserVip uv = new UserVip();
|
|
|
+ uv.setUserId(userId);
|
|
|
+ uv.setUserName(userName);
|
|
|
+ long x = now.getTime() + oneYearLong;
|
|
|
+ Date km3oneYear = new Date(x);
|
|
|
+ uv.setSubject3(km3oneYear);
|
|
|
+ userVipService.save(uv);
|
|
|
+ this.save(orderInfo);
|
|
|
+ }
|
|
|
+
|
|
|
+ } else if ("科四专项VIP".equals(goodsName)) {
|
|
|
+ UserVip userVip = userVipService.getUserVipByUserId(userId);
|
|
|
+ if (userVip != null) {
|
|
|
+ //修改会员信息
|
|
|
+ Date km4Date = userVip.getSubject2();
|
|
|
+ if (km4Date != null) { //存在会员时间
|
|
|
+ if (km4Date.compareTo(now) < 0) { //会员已过期
|
|
|
+ long x = now.getTime() + oneYearLong;
|
|
|
+ Date km4oneYear = new Date(x);
|
|
|
+ userVip.setSubject4(km4oneYear);
|
|
|
+ } else { //会员时间延长
|
|
|
+ long x = km4Date.getTime() + oneYearLong;
|
|
|
+ Date km4oneYear = new Date(x);
|
|
|
+ userVip.setSubject4(km4oneYear);
|
|
|
+ }
|
|
|
+ userVipService.updateById(userVip);
|
|
|
+ this.save(orderInfo);
|
|
|
+ } else {
|
|
|
+ long x = now.getTime() + oneYearLong;
|
|
|
+ Date km4oneYear = new Date(x);
|
|
|
+ userVip.setSubject4(km4oneYear);
|
|
|
+ userVipService.updateById(userVip);
|
|
|
+ this.save(orderInfo);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ //新增会员信息
|
|
|
+ UserVip uv = new UserVip();
|
|
|
+ uv.setUserId(userId);
|
|
|
+ uv.setUserName(userName);
|
|
|
+ long x = now.getTime() + oneYearLong;
|
|
|
+ Date km4oneYear = new Date(x);
|
|
|
+ uv.setSubject4(km4oneYear);
|
|
|
+ userVipService.save(uv);
|
|
|
+ this.save(orderInfo);
|
|
|
+ }
|
|
|
+
|
|
|
+ } else if ("科目一二三四所有付费权益".equals(goodsName)) {
|
|
|
+ UserVip userVip = userVipService.getUserVipByUserId(userId);
|
|
|
+ if (userVip != null) {
|
|
|
+ //修改会员信息
|
|
|
+ Date km1Date = userVip.getSubject1();
|
|
|
+ Date km2Date = userVip.getSubject2();
|
|
|
+ Date km3Date = userVip.getSubject3();
|
|
|
+ Date km4Date = userVip.getSubject4();
|
|
|
+ if (km1Date != null) { //科目一处理
|
|
|
+ long x = km1Date.getTime() + oneYearLong;
|
|
|
+ Date km1oneYear = new Date(x);
|
|
|
+ userVip.setSubject1(km1oneYear);
|
|
|
+ } else {
|
|
|
+ long x = now.getTime() + oneYearLong;
|
|
|
+ Date km1oneYear = new Date(x);
|
|
|
+ userVip.setSubject1(km1oneYear);
|
|
|
+ }
|
|
|
+ if (km2Date != null) { //科目二处理
|
|
|
+ long x = km2Date.getTime() + oneYearLong;
|
|
|
+ Date km2oneYear = new Date(x);
|
|
|
+ userVip.setSubject2(km2oneYear);
|
|
|
+ } else {
|
|
|
+ long x = now.getTime() + oneYearLong;
|
|
|
+ Date km2oneYear = new Date(x);
|
|
|
+ userVip.setSubject2(km2oneYear);
|
|
|
+ }
|
|
|
+ if (km3Date != null) { //科目三处理
|
|
|
+ long x = km3Date.getTime() + oneYearLong;
|
|
|
+ Date km3oneYear = new Date(x);
|
|
|
+ userVip.setSubject3(km3oneYear);
|
|
|
+ } else {
|
|
|
+ long x = now.getTime() + oneYearLong;
|
|
|
+ Date km3oneYear = new Date(x);
|
|
|
+ userVip.setSubject3(km3oneYear);
|
|
|
+ }
|
|
|
+ if (km4Date != null) { //科目四处理
|
|
|
+ long x = km4Date.getTime() + oneYearLong;
|
|
|
+ Date km4oneYear = new Date(x);
|
|
|
+ userVip.setSubject4(km4oneYear);
|
|
|
+ } else {
|
|
|
+ long x = now.getTime() + oneYearLong;
|
|
|
+ Date km4oneYear = new Date(x);
|
|
|
+ userVip.setSubject4(km4oneYear);
|
|
|
+ }
|
|
|
+ userVipService.updateById(userVip);
|
|
|
+ this.save(orderInfo);
|
|
|
+ } else {
|
|
|
+ //新增会员信息
|
|
|
+ UserVip uv = new UserVip();
|
|
|
+ uv.setUserId(userId);
|
|
|
+ uv.setUserName(userName);
|
|
|
+ long x = now.getTime() + oneYearLong;
|
|
|
+ Date oneYear = new Date(x);
|
|
|
+ uv.setSubject1(oneYear);
|
|
|
+ uv.setSubject2(oneYear);
|
|
|
+ uv.setSubject3(oneYear);
|
|
|
+ uv.setSubject4(oneYear);
|
|
|
+ userVipService.save(uv);
|
|
|
+ this.save(orderInfo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
}
|