增加剧集周支付次数
This commit is contained in:
parent
eac53e57b0
commit
71ff32998e
|
|
@ -333,6 +333,7 @@ public class Course implements Serializable {
|
|||
@TableField(exist = false)
|
||||
private Integer isCollect;
|
||||
private Integer weekView;
|
||||
private Integer weekPay;
|
||||
|
||||
public Course() {}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -63,4 +63,8 @@ public interface CourseService extends IService<Course> {
|
|||
|
||||
Result getRedEnvelopeTips(Long userId);
|
||||
|
||||
/**
|
||||
* 增加短剧周支付次数
|
||||
*/
|
||||
void incrWeekPayCount(Long courseId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,16 +9,15 @@ import cn.hutool.crypto.SecureUtil;
|
|||
import cn.hutool.json.JSONUtil;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.google.common.util.concurrent.ThreadFactoryBuilder;
|
||||
import com.sqx.common.utils.DateUtils;
|
||||
import com.sqx.common.utils.PageUtils;
|
||||
import com.sqx.common.utils.RedisUtils;
|
||||
import com.sqx.common.utils.Result;
|
||||
import com.sqx.common.utils.*;
|
||||
import com.sqx.modules.app.entity.InviteAchievement;
|
||||
import com.sqx.modules.app.service.InviteAchievementService;
|
||||
import com.sqx.modules.app.utils.JwtUtils;
|
||||
|
|
@ -34,6 +33,7 @@ import com.sqx.modules.course.service.CourseService;
|
|||
import com.sqx.modules.course.service.CourseUserService;
|
||||
import com.sqx.modules.course.vo.CourseIn;
|
||||
import com.sqx.modules.orders.service.OrdersService;
|
||||
import com.sqx.modules.redisService.RedisService;
|
||||
import com.sqx.modules.search.service.AppSearchService;
|
||||
import com.sqx.modules.utils.EasyPoi.ExcelUtils;
|
||||
import com.sqx.modules.utils.HttpClientUtil;
|
||||
|
|
@ -74,13 +74,15 @@ public class CourseServiceImpl extends ServiceImpl<CourseDao, Course> implements
|
|||
private JwtUtils jwtUtils;
|
||||
@Autowired
|
||||
private CourseUserService courseUserService;
|
||||
private final RedisService redisService;
|
||||
private final InviteAchievementService inviteAchievementService;
|
||||
|
||||
|
||||
@Resource
|
||||
private RedisUtils redisUtils;
|
||||
|
||||
public CourseServiceImpl(InviteAchievementService inviteAchievementService) {
|
||||
public CourseServiceImpl(RedisService redisService, InviteAchievementService inviteAchievementService) {
|
||||
this.redisService = redisService;
|
||||
this.inviteAchievementService = inviteAchievementService;
|
||||
}
|
||||
|
||||
|
|
@ -1288,4 +1290,14 @@ public class CourseServiceImpl extends ServiceImpl<CourseDao, Course> implements
|
|||
|
||||
return Result.success().put("data", data);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void incrWeekPayCount(Long courseId) {
|
||||
if (ApiAccessLimitUtil.isAccessAllowed("setWeekPayCount", courseId.toString(), 1, 600)) {
|
||||
int count = redisService.getCourseWeekPayCount(courseId);
|
||||
update(null, new LambdaUpdateWrapper<Course>()
|
||||
.eq(Course::getCourseId, courseId)
|
||||
.set(Course::getWeekPay, count));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ import com.sqx.modules.app.service.UserService;
|
|||
import com.sqx.modules.common.service.CommonInfoService;
|
||||
import com.sqx.modules.complet.entity.CompletAward;
|
||||
import com.sqx.modules.complet.service.CompletAwardService;
|
||||
import com.sqx.modules.course.service.CourseService;
|
||||
import com.sqx.modules.invite.dao.InviteDao;
|
||||
import com.sqx.modules.invite.entity.Invite;
|
||||
import com.sqx.modules.invite.service.InviteService;
|
||||
|
|
@ -75,11 +76,13 @@ public class TempOrdersTask {
|
|||
@Value("${spring.profiles.active}")
|
||||
private String profiles;
|
||||
private final InviteAchievementService inviteAchievementService;
|
||||
private final CourseService courseService;
|
||||
|
||||
private Logger logger = LoggerFactory.getLogger(getClass());
|
||||
|
||||
public TempOrdersTask(InviteAchievementService inviteAchievementService) {
|
||||
public TempOrdersTask(InviteAchievementService inviteAchievementService, CourseService courseService) {
|
||||
this.inviteAchievementService = inviteAchievementService;
|
||||
this.courseService = courseService;
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -170,9 +173,15 @@ public class TempOrdersTask {
|
|||
ThreadUtil.sleep(1000);
|
||||
activities(user, byUser);
|
||||
});
|
||||
|
||||
ThreadUtil.execAsync(() -> {
|
||||
inviteService.updateInvite(byUser, DateUtil.now(), user.getUserId(), order.getPayMoney());
|
||||
});
|
||||
|
||||
//增加剧集支付次数
|
||||
ThreadUtil.execAsync(() -> {
|
||||
courseService.incrWeekPayCount(order.getCourseId());
|
||||
});
|
||||
//Map<String, Object> map = inviteService.updateInvite(byUser, DateUtil.now(), user.getUserId(), order.getPayMoney());
|
||||
// Object oneUserId = map.get("oneUserId");
|
||||
// if (oneUserId != null) {
|
||||
|
|
|
|||
|
|
@ -23,4 +23,8 @@ public interface RedisService {
|
|||
boolean isSetUserState(long userId);
|
||||
|
||||
int getCourseWeekViewCount(long courseId);
|
||||
|
||||
int getCourseWeekPayCount(long courseId);
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -310,4 +310,23 @@ public class RedisServiceImpl implements RedisService {
|
|||
redisUtils.set(key, i, -1);
|
||||
return i;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getCourseWeekPayCount(long courseId) {
|
||||
String key = "course:payCount:" + courseId;
|
||||
String info = redisUtils.get(key);
|
||||
if (StrUtil.isBlank(info)) {
|
||||
// 获取当前时间
|
||||
DateTime now = DateUtil.date();
|
||||
// 获取下周一的日期
|
||||
DateTime nextMonday = DateUtil.nextWeek();
|
||||
// 计算距离下周一还有多少秒
|
||||
long seconds = nextMonday.getTime() - now.getTime();
|
||||
redisUtils.set(key, 1, seconds);
|
||||
return 1;
|
||||
}
|
||||
int i = Integer.parseInt(info) + 1;
|
||||
redisUtils.set(key, i, -1);
|
||||
return i;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue