Merge branch 'test' into dev

This commit is contained in:
2025-01-14 18:29:52 +08:00
9 changed files with 249 additions and 220 deletions

View File

@@ -127,11 +127,14 @@ public class CourseCollectServiceImpl extends ServiceImpl<CourseCollectDao, Cour
.eq(CourseDetails::getCourseId, collect.getCourseId())
.eq(CourseDetails::getCourseDetailsId, collect.getCourseDetailsId());
CourseDetails courseDetails = courseDetailsService.getOne(queryWrapper);
int goods = courseDetails.getGoodNum() == null || courseDetails.getGoodNum() < 0 ? 0 : courseDetails.getGoodNum() - (isGood.equals(1) ? 1 : -1);
if (goods < 0) {
return;
}
LambdaUpdateWrapper<CourseDetails> updateWrapper = new LambdaUpdateWrapper<CourseDetails>()
.eq(CourseDetails::getCourseId, collect.getCourseId())
.eq(CourseDetails::getCourseDetailsId, collect.getCourseDetailsId())
.set(CourseDetails::getGoodNum, courseDetails.getGoodNum() == null ? 0 : courseDetails.getGoodNum() - (isGood.equals(1) ? 1 : -1));
.set(CourseDetails::getGoodNum, goods);
courseDetailsService.update(updateWrapper);
}
@@ -143,7 +146,7 @@ public class CourseCollectServiceImpl extends ServiceImpl<CourseCollectDao, Cour
if (classify.equals(1)) {
//收藏记录
courses = baseMapper.selectClassify1In3(userId);
}else if (classify.equals(2)){
} else if (classify.equals(2)) {
//点赞
courses = baseMapper.selectClassify2(userId);
} else {
@@ -156,14 +159,14 @@ public class CourseCollectServiceImpl extends ServiceImpl<CourseCollectDao, Cour
//详情id
Set<Long> courseDetailIds = new HashSet<>();
//剧集-观看记录时间
Map<Long,String> upTime = new HashMap<>();
Map<Long, String> upTime = new HashMap<>();
courses.forEach(s -> {
if (s == null) {
return;
}
courseIdList.add(s.getCourseId());
courseDetailIds.add(s.getCourseDetailsId());
upTime.put(s.getCourseId(),s.getUpdateTime());
upTime.put(s.getCourseId(), s.getUpdateTime());
});
List<Course> courseList = courseIdList.isEmpty() ? new ArrayList<>() :
courseDao.selectList(new LambdaQueryWrapper<Course>().in(Course::getCourseId, courseIdList));

View File

@@ -1,7 +1,6 @@
package com.sqx.modules.course.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.lang.Validator;
import cn.hutool.core.thread.ThreadUtil;
import cn.hutool.core.util.RandomUtil;
import cn.hutool.core.util.StrUtil;
@@ -14,7 +13,6 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.sqx.common.exception.SqxException;
import com.sqx.common.utils.ApiAccessLimitUtil;
import com.sqx.common.utils.DateUtils;
import com.sqx.common.utils.PageUtils;
@@ -217,7 +215,7 @@ public class CourseDetailsServiceImpl extends ServiceImpl<CourseDetailsDao, Cour
current.set(s);
}
// 不免费 3集以后 (已买的不为空 并不在已买的包含)
if (!freeWatch && s.getSort() > 3 && (CollectionUtil.isEmpty(finalDetailsId) || !finalDetailsId.contains(s.getCourseDetailsId()))) {
if (!freeWatch && s.getSort() > 3 && (CollectionUtil.isEmpty(finalDetailsId) || !finalDetailsId.contains(s.getCourseDetailsId())) && courseUser == null) {
s.setVideoUrl(null);
}
if (s.getSort() > finalStartSort && s.getSort() < finalEndSort) {

View File

@@ -149,8 +149,20 @@ public class DiscSpinningController {
int drawCount = Integer.parseInt(commonRepository.findOne(901).getValue());
map.put("sum", drawCount);
if (source != null && !source.equals(1)) {
//任务可抽奖次数
map.put("count", taskCenterService.countTaskDisc(userId, source.toString()));
String sourceType = null;
if (source.equals(2)) {
sourceType = "taskW";
} else {
sourceType = "taskM";
}
Integer spinningCount = recordService.countSourceRecord(null, userId, sourceType);
if (spinningCount != null && spinningCount > 0) {
map.put("count", 0);
} else {
int i = taskCenterService.countTaskDisc(userId, source.toString());
map.put("count", i > 0 ? 1 : 0);
}
} else {
//订单可抽奖次数
int i = recordService.countDraw(userId);
@@ -207,6 +219,10 @@ public class DiscSpinningController {
} else {
String redisKey = "";
if (source.equals(2)) {
Integer spinningCount = recordService.countSourceRecord(null, userId, "taskW");
if (spinningCount != null && spinningCount > 0) {
return Result.error("周抽奖用户仅可参加一次");
}
redisKey = RedisKeys.getDateKey("spinning:draw:taskW") + userId;
} else if (source.equals(3)) {
redisKey = RedisKeys.getDateKey("spinning:draw:taskM") + userId;

View File

@@ -8,7 +8,7 @@ import java.util.Map;
public interface DiscSpinningRecordService extends IService<DiscSpinningRecord> {
Integer countDraw(Long userId);
//当月的 月记录 已抽 抽奖次数
Integer countSourceRecord(Long sourceId);
//记录 已抽 抽奖次数
Integer countSourceRecord(Long sourceId,Long userId,String source);
}

View File

@@ -26,11 +26,14 @@ public class DiscSpinningRecordServiceImpl extends ServiceImpl<DiscSpinningRecor
}
@Override
public Integer countSourceRecord(Long sourceId) {
public Integer countSourceRecord(Long sourceId, Long userId, String source) {
QueryWrapper<DiscSpinningRecord> recordQuery = new QueryWrapper<>();
recordQuery.eq("source_id", sourceId);
recordQuery.eq("source", "taskM");
recordQuery.gt("create_time", DateUtil.beginOfMonth(new Date()));
if (sourceId != null) {
recordQuery.eq("source_id", sourceId);
}
recordQuery.eq("user_id", userId);
recordQuery.eq("source", source);
// recordQuery.gt("create_time", DateUtil.beginOfMonth(new Date()));
return discSpinningRecordDao.selectCount(recordQuery);
}
}

View File

@@ -167,6 +167,8 @@ public class DiscSpinningServiceImpl extends ServiceImpl<DiscSpinningDao, DiscSp
DiscSpinningRecord record = new DiscSpinningRecord(result.getName(), sourceId, userId, result.getUrl(), result.getType(),
result.getNumber(), DateUtils.formatYMD(new Date()), DateUtils.format(new Date()), source);
recordService.save(record);
//前端下标
record.setId(result.getId());
return record;
}

View File

@@ -82,11 +82,6 @@ public class TaskCenterServiceImpl extends ServiceImpl<TaskCenterDao, TaskCenter
//日任务
if (s.getNumber().equals(1)) {
Integer dayOrderNum = ordersService.countOrderNum(userId, DateUtil.today() + " 00:00:00");
// InviteAchievement inviteAchievement = inviteAchievementService.getByUserId(userId);
// Integer dayOrderNum = 0;
// if (inviteAchievement != null) {
// dayOrderNum = inviteAchievement.getCount();
// }
if (dayOrderNum < 3) {
s.setDiscNumber(dayOrderNum);
s.setNumber(3);
@@ -103,6 +98,13 @@ public class TaskCenterServiceImpl extends ServiceImpl<TaskCenterDao, TaskCenter
//周任务
if (s.getNumber() > 1 && s.getNumber() < 8) {
if (rewardMap.containsKey(9)) {
Integer spinningCount = discSpinningRecordService.countSourceRecord(null, userId, "taskW");
if (spinningCount != null && spinningCount > 0) {
s.setButtonTitle("已领取");
s.setDisabled(false);
s.setNumber(null);
break;
}
boolean isBreak = false;
//抽奖次数
Map<Long, Integer> taskWCount = signRecordService.getTaskWCount(userId, rewardMap.get(9));
@@ -140,7 +142,7 @@ public class TaskCenterServiceImpl extends ServiceImpl<TaskCenterDao, TaskCenter
s.setDisabled(false);
} else {
if (rewardMap.containsKey(9)) {
Integer spinningCount = discSpinningRecordService.countSourceRecord(s.getId());
Integer spinningCount = discSpinningRecordService.countSourceRecord(s.getId(), userId, "taskM");
if (spinningCount == null || rewardMap.get(9) - spinningCount > 0) {
s.setDiscNumber(null);
s.setNumber(null);
@@ -207,7 +209,7 @@ public class TaskCenterServiceImpl extends ServiceImpl<TaskCenterDao, TaskCenter
}
if (recordService.countTaskNum(userId, s.getId(), null) > 0) {
continue;
}else {
} else {
s.setDiscNumber(null);
s.setNumber(null);
s.setJumpType(0);
@@ -335,12 +337,19 @@ public class TaskCenterServiceImpl extends ServiceImpl<TaskCenterDao, TaskCenter
}
QueryWrapper<TaskCenter> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("type", 2);
String sourceType = null;
if ("2".equals(type)) {
queryWrapper.gt("number", 1);
queryWrapper.lt("number", 8);
sourceType = "taskW";
} else if ("3".equals(type)) {
queryWrapper.gt("number", 7);
queryWrapper.lt("number", 32);
sourceType = "taskM";
}
Integer spCount = discSpinningRecordService.countSourceRecord(null, userId, sourceType);
if (spCount != null && spCount > 0) {
return 0;
}
List<TaskCenter> taskCenters = baseMapper.selectList(queryWrapper);
for (TaskCenter taskCenter : taskCenters) {
@@ -371,8 +380,8 @@ public class TaskCenterServiceImpl extends ServiceImpl<TaskCenterDao, TaskCenter
}
if (signCount >= taskCenter.getNumber()) {
if (rewardMap.containsKey(9)) {
Integer spinningCount = discSpinningRecordService.countSourceRecord(taskCenter.getId());
countTaskDisc = rewardMap.get(9) + (spinningCount == null ? 0 : spinningCount);
Integer spinningCount = discSpinningRecordService.countSourceRecord(taskCenter.getId(), userId, "taskM");
countTaskDisc = rewardMap.get(9) - (spinningCount == null ? 0 : spinningCount);
if (countTaskDisc > 0) {
taskWRedisMap.put(taskCenter.getId(), countTaskDisc);
}

View File

@@ -1,18 +1,18 @@
swagger:
enabled: true
enabled: true
pay:
h5BaseUrl: https://video-h5.hnsiyao.cn/me/detail/detail?allId=
orderNotifyUrl: https://video.hnsiyao.cn/czg/app/wuyou/notify
extractNotifyUrl: https://video.hnsiyao.cn/czg/app/wuyou/extractNotify
h5BaseUrl: https://video-h5.hnsiyao.cn/me/detail/detail?allId=
orderNotifyUrl: https://video.hnsiyao.cn/czg/app/wuyou/notify
extractNotifyUrl: https://video.hnsiyao.cn/czg/app/wuyou/extractNotify
server:
port: 8100
port: 8100
nsq:
address: 47.122.26.160
port:
produce: 4150
consumer: 4161
address: 47.122.26.160
port:
produce: 4150
consumer: 4161
# 数据源的一些配置
driver-class-name: com.mysql.cj.jdbc.Driver
@@ -28,192 +28,192 @@ max-lifetime: 30000
connection-timeout: 30000
spring:
redis:
open: true # 是否开启redis缓存 true开启 false关闭
database: 0
host: 47.122.26.160 # Redis服务器地址
port: 6379
password: 222222 # 密码(默认为空)
timeout: 6000ms # 连接超时时长(毫秒)
jedis:
pool:
max-active: 1000 # 连接池最大连接数(使用负值表示没有限制)
max-wait: -1ms # 连接池最大阻塞等待时间(使用负值表示没有限制)
max-idle: 10 # 连接池中的最大空闲连接
min-idle: 5 # 连接池中的最小空闲连接
# sharding-jdbc 配置
shardingsphere:
# 显示sharding-jdbc改写的sql语句
show-sql: true
redis:
open: true # 是否开启redis缓存 true开启 false关闭
database: 0
host: 47.122.26.160 # Redis服务器地址
port: 6379
password: 222222 # 密码(默认为空)
timeout: 6000ms # 连接超时时长(毫秒)
jedis:
pool:
max-active: 1000 # 连接池最大连接数(使用负值表示没有限制)
max-wait: -1ms # 连接池最大阻塞等待时间(使用负值表示没有限制)
max-idle: 10 # 连接池中的最大空闲连接
min-idle: 5 # 连接池中的最小空闲连接
# sharding-jdbc 配置
shardingsphere:
# 显示sharding-jdbc改写的sql语句
show-sql: true
center-tables-data-node: duanju.%s
# 区域表的数据源节点
region-tables-data-node: duanju-$->{0..4}.%s
# 区域分库策略的计算字段
region-tables-sharding-database-column: user_id
# 分库的计算方法
region-tables-sharding-database-algorithm: duanju-$->{user_id % 5}
center-tables-data-node: duanju.%s
# 区域表的数据源节点
region-tables-data-node: duanju-$->{0..4}.%s
# 区域分库策略的计算字段
region-tables-sharding-database-column: user_id
# 分库的计算方法
region-tables-sharding-database-algorithm: duanju-$->{user_id % 5}
# 短剧集表 拆分
course_details-sharding-database-column: course_id
course_details-sharding-database-algorithm: duanju-$->{course_id % 5}
# 数据源名称
datasource:
duanju:
driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://rm-gc712o11yndj78x6a6o.mysql.cn-chengdu.rds.aliyuncs.com/duanju?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: video_user
password: VideoUser@1
minimum-idle: ${minimum-idle}
maximum-pool-size: ${maximum-pool-size}
idle-timeout: ${idle-timeout}
max-lifetime: ${max-lifetime}
connection-timeout: ${connection-timeout}
# 数据源配置begin
duanju-0:
driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://rm-gc712o11yndj78x6a6o.mysql.cn-chengdu.rds.aliyuncs.com/duanju-0?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: video_user
password: VideoUser@1
minimum-idle: ${minimum-idle}
maximum-pool-size: ${maximum-pool-size}
idle-timeout: ${idle-timeout}
max-lifetime: ${max-lifetime}
connection-timeout: ${connection-timeout}
duanju-1:
driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://rm-gc712o11yndj78x6a6o.mysql.cn-chengdu.rds.aliyuncs.com/duanju-1?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: video_user
password: VideoUser@1
minimum-idle: ${minimum-idle}
maximum-pool-size: ${maximum-pool-size}
idle-timeout: ${idle-timeout}
max-lifetime: ${max-lifetime}
connection-timeout: ${connection-timeout}
duanju-2:
driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://rm-gc712o11yndj78x6a6o.mysql.cn-chengdu.rds.aliyuncs.com/duanju-2?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: video_user
password: VideoUser@1
minimum-idle: ${minimum-idle}
maximum-pool-size: ${maximum-pool-size}
idle-timeout: ${idle-timeout}
max-lifetime: ${max-lifetime}
connection-timeout: ${connection-timeout}
duanju-3:
driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://rm-gc712o11yndj78x6a6o.mysql.cn-chengdu.rds.aliyuncs.com/duanju-3?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: video_user
password: VideoUser@1
minimum-idle: ${minimum-idle}
maximum-pool-size: ${maximum-pool-size}
idle-timeout: ${idle-timeout}
max-lifetime: ${max-lifetime}
connection-timeout: ${connection-timeout}
duanju-4:
driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://rm-gc712o11yndj78x6a6o.mysql.cn-chengdu.rds.aliyuncs.com/duanju-4?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: video_user
password: VideoUser@1
minimum-idle: ${minimum-idle}
maximum-pool-size: ${maximum-pool-size}
idle-timeout: ${idle-timeout}
max-lifetime: ${max-lifetime}
connection-timeout: ${connection-timeout}
# 短剧集表 拆分
course_details-sharding-database-column: course_id
course_details-sharding-database-algorithm: duanju-$->{course_id % 5}
# 数据源名称
datasource:
duanju:
driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://rm-gc712o11yndj78x6a6o.mysql.cn-chengdu.rds.aliyuncs.com/duanju?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: video_user
password: VideoUser@1
minimum-idle: ${minimum-idle}
maximum-pool-size: ${maximum-pool-size}
idle-timeout: ${idle-timeout}
max-lifetime: ${max-lifetime}
connection-timeout: ${connection-timeout}
# 数据源配置begin
duanju-0:
driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://rm-gc712o11yndj78x6a6o.mysql.cn-chengdu.rds.aliyuncs.com/duanju-0?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: video_user
password: VideoUser@1
minimum-idle: ${minimum-idle}
maximum-pool-size: ${maximum-pool-size}
idle-timeout: ${idle-timeout}
max-lifetime: ${max-lifetime}
connection-timeout: ${connection-timeout}
duanju-1:
driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://rm-gc712o11yndj78x6a6o.mysql.cn-chengdu.rds.aliyuncs.com/duanju-1?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: video_user
password: VideoUser@1
minimum-idle: ${minimum-idle}
maximum-pool-size: ${maximum-pool-size}
idle-timeout: ${idle-timeout}
max-lifetime: ${max-lifetime}
connection-timeout: ${connection-timeout}
duanju-2:
driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://rm-gc712o11yndj78x6a6o.mysql.cn-chengdu.rds.aliyuncs.com/duanju-2?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: video_user
password: VideoUser@1
minimum-idle: ${minimum-idle}
maximum-pool-size: ${maximum-pool-size}
idle-timeout: ${idle-timeout}
max-lifetime: ${max-lifetime}
connection-timeout: ${connection-timeout}
duanju-3:
driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://rm-gc712o11yndj78x6a6o.mysql.cn-chengdu.rds.aliyuncs.com/duanju-3?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: video_user
password: VideoUser@1
minimum-idle: ${minimum-idle}
maximum-pool-size: ${maximum-pool-size}
idle-timeout: ${idle-timeout}
max-lifetime: ${max-lifetime}
connection-timeout: ${connection-timeout}
duanju-4:
driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://rm-gc712o11yndj78x6a6o.mysql.cn-chengdu.rds.aliyuncs.com/duanju-4?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: video_user
password: VideoUser@1
minimum-idle: ${minimum-idle}
maximum-pool-size: ${maximum-pool-size}
idle-timeout: ${idle-timeout}
max-lifetime: ${max-lifetime}
connection-timeout: ${connection-timeout}
duanju-slave:
driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://47.122.26.160:3306/duanju?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: root
password: 0fd6497c308ccfa8
minimum-idle: ${minimum-idle}
maximum-pool-size: ${maximum-pool-size}
idle-timeout: ${idle-timeout}
max-lifetime: ${max-lifetime}
connection-timeout: ${connection-timeout}
duanju-slave-0:
driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://47.122.26.160:3306/duanju-0?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: root
password: 0fd6497c308ccfa8
minimum-idle: ${minimum-idle}
maximum-pool-size: ${maximum-pool-size}
idle-timeout: ${idle-timeout}
max-lifetime: ${max-lifetime}
connection-timeout: ${connection-timeout}
duanju-slave-1:
driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://47.122.26.160:3306/duanju-1?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: root
password: 0fd6497c308ccfa8
minimum-idle: ${minimum-idle}
maximum-pool-size: ${maximum-pool-size}
idle-timeout: ${idle-timeout}
max-lifetime: ${max-lifetime}
connection-timeout: ${connection-timeout}
duanju-slave-2:
driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://47.122.26.160:3306/duanju-2?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: root
password: 0fd6497c308ccfa8
minimum-idle: ${minimum-idle}
maximum-pool-size: ${maximum-pool-size}
idle-timeout: ${idle-timeout}
max-lifetime: ${max-lifetime}
connection-timeout: ${connection-timeout}
duanju-slave-3:
driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://47.122.26.160:3306/duanju-3?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: root
password: 0fd6497c308ccfa8
minimum-idle: ${minimum-idle}
maximum-pool-size: ${maximum-pool-size}
idle-timeout: ${idle-timeout}
max-lifetime: ${max-lifetime}
connection-timeout: ${connection-timeout}
duanju-slave-4:
driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://47.122.26.160:3306/duanju-4?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: root
password: 0fd6497c308ccfa8
minimum-idle: ${minimum-idle}
maximum-pool-size: ${maximum-pool-size}
idle-timeout: ${idle-timeout}
max-lifetime: ${max-lifetime}
connection-timeout: ${connection-timeout}
# 数据源配置end
duanju-slave:
driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://47.122.26.160:3306/duanju?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: root
password: 0fd6497c308ccfa8
minimum-idle: ${minimum-idle}
maximum-pool-size: ${maximum-pool-size}
idle-timeout: ${idle-timeout}
max-lifetime: ${max-lifetime}
connection-timeout: ${connection-timeout}
duanju-slave-0:
driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://47.122.26.160:3306/duanju-0?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: root
password: 0fd6497c308ccfa8
minimum-idle: ${minimum-idle}
maximum-pool-size: ${maximum-pool-size}
idle-timeout: ${idle-timeout}
max-lifetime: ${max-lifetime}
connection-timeout: ${connection-timeout}
duanju-slave-1:
driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://47.122.26.160:3306/duanju-1?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: root
password: 0fd6497c308ccfa8
minimum-idle: ${minimum-idle}
maximum-pool-size: ${maximum-pool-size}
idle-timeout: ${idle-timeout}
max-lifetime: ${max-lifetime}
connection-timeout: ${connection-timeout}
duanju-slave-2:
driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://47.122.26.160:3306/duanju-2?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: root
password: 0fd6497c308ccfa8
minimum-idle: ${minimum-idle}
maximum-pool-size: ${maximum-pool-size}
idle-timeout: ${idle-timeout}
max-lifetime: ${max-lifetime}
connection-timeout: ${connection-timeout}
duanju-slave-3:
driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://47.122.26.160:3306/duanju-3?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: root
password: 0fd6497c308ccfa8
minimum-idle: ${minimum-idle}
maximum-pool-size: ${maximum-pool-size}
idle-timeout: ${idle-timeout}
max-lifetime: ${max-lifetime}
connection-timeout: ${connection-timeout}
duanju-slave-4:
driver-class-name: ${driver-class-name}
jdbc-url: jdbc:mysql://47.122.26.160:3306/duanju-4?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CTT
username: root
password: 0fd6497c308ccfa8
minimum-idle: ${minimum-idle}
maximum-pool-size: ${maximum-pool-size}
idle-timeout: ${idle-timeout}
max-lifetime: ${max-lifetime}
connection-timeout: ${connection-timeout}
# 数据源配置end
# 读写分离配置begin
master-slave-rules:
#数据源
duanju:
masterDataSourceName: duanju
slaveDataSourceNames:
# - duanju
- duanju-slave
duanju-0:
masterDataSourceName: duanju-0
slaveDataSourceNames:
# - duanju-0
- duanju-slave-0
duanju-1:
masterDataSourceName: duanju-1
slaveDataSourceNames:
# - duanju-1
- duanju-slave-1
duanju-2:
masterDataSourceName: duanju-2
slaveDataSourceNames:
# - duanju-2
- duanju-slave-2
duanju-3:
masterDataSourceName: duanju-3
slaveDataSourceNames:
# - duanju-3
- duanju-slave-3
duanju-4:
masterDataSourceName: duanju-4
slaveDataSourceNames:
# - duanju-4
- duanju-slave-4
# 读写分离配置begin
master-slave-rules:
#数据源
duanju:
masterDataSourceName: duanju
slaveDataSourceNames:
# - duanju
- duanju-slave
duanju-0:
masterDataSourceName: duanju-0
slaveDataSourceNames:
# - duanju-0
- duanju-slave-0
duanju-1:
masterDataSourceName: duanju-1
slaveDataSourceNames:
# - duanju-1
- duanju-slave-1
duanju-2:
masterDataSourceName: duanju-2
slaveDataSourceNames:
# - duanju-2
- duanju-slave-2
duanju-3:
masterDataSourceName: duanju-3
slaveDataSourceNames:
# - duanju-3
- duanju-slave-3
duanju-4:
masterDataSourceName: duanju-4
slaveDataSourceNames:
# - duanju-4
- duanju-slave-4

View File

@@ -7,12 +7,10 @@
sign.id
FROM
user_sign_record sign
LEFT JOIN task_center_record cenRecord ON sign.id = cenRecord.source_id
WHERE
sign.`DAY` = 7
AND sign.user_id = #{userId}
and sign.create_time &gt; #{time}
AND cenRecord.id IS NULL
order by sign.create_time asc
</select>