cloud-server-course/src/main/java/com/dsh/config/Sharding_jdbc/ShardingConfig.java
@@ -96,6 +96,14 @@ result1.getKeyGenerators().put("t_user_video_details-snowflake", new AlgorithmConfiguration("SNOWFLAKE", new Properties())); linkedList.add(result1); //分片规则配置 result1.getTables().add(getCoursePackageSchedulingTableRuleConfiguration()); Properties props5 = new Properties(); props5.setProperty("algorithm-expression", "t_course_package_scheduling$->{coursePackageId % 5 + 1}"); result1.getShardingAlgorithms().put("t_course_package_scheduling-inline", new AlgorithmConfiguration("INLINE", props5)); result1.getKeyGenerators().put("t_course_package_scheduling-snowflake", new AlgorithmConfiguration("SNOWFLAKE", new Properties())); linkedList.add(result1); return linkedList; } @@ -124,6 +132,18 @@ } /** * 分片算法配置 * @return */ private ShardingTableRuleConfiguration getCoursePackageSchedulingTableRuleConfiguration() { ShardingTableRuleConfiguration result = new ShardingTableRuleConfiguration("t_course_package_scheduling", "m_$->{0}.t_course_package_scheduling$->{1..5}");//30 result.setTableShardingStrategy(new StandardShardingStrategyConfiguration("coursePackageId", "t_course_package_scheduling-inline")); result.setKeyGenerateStrategy(new KeyGenerateStrategyConfiguration("id", "t_course_package_scheduling-snowflake")); return result; } /** * 分片算法配置 cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
@@ -843,7 +843,7 @@ return ResultUtil.tokenErr(); } TCoursePackagePayment packagePayment = packagePaymentService.getOne(new LambdaQueryWrapper<TCoursePackagePayment>() .eq(TCoursePackagePayment::getId,courseID ) .eq(TCoursePackagePayment::getCoursePackageId,courseID ) .eq(TCoursePackagePayment::getAppUserId,appUserId) .eq(TCoursePackagePayment::getStudentId,stuId) ); @@ -863,6 +863,7 @@ coursePackageStudent.setInsertTime(simpleDateFormat.parse(time)); cspsService.updateById(coursePackageStudent); }else { coursePackageStudent = new CoursePackageStudent(); coursePackageStudent.setAppUserId(appUserId); coursePackageStudent.setStudentId(stuId); coursePackageStudent.setCoursePackageId(packagePayment.getCoursePackageId()); cloud-server-course/src/main/java/com/dsh/course/entity/CoursePackageScheduling.java
New file @@ -0,0 +1,78 @@ package com.dsh.course.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; import java.io.Serializable; import java.util.Date; /** * <p> * 课包排课记录 * </p> * * @author jqs * @since 2023-06-30 */ @Data @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) @TableName("t_course_package_scheduling") public class CoursePackageScheduling extends Model<CoursePackageScheduling> { private static final long serialVersionUID = 1L; /** * 主键 */ @TableId(value = "id", type = IdType.NONE) private Long id; /** * 课包id */ @TableField("coursePackageId") private Integer coursePackageId; /** * 上课日期 */ @TableField("classDate") private Date classDate; /** * 课后练习课程id */ @TableField("courseId") private Integer courseId; /** * 可获得积分 */ @TableField("integral") private Long integral; /** * 消课凭证(多个分号分隔) */ @TableField("cancelClasses") private String cancelClasses; /** * 扣除课时 */ @TableField("deductClassHour") private Integer deductClassHour; /** * 状态(1=未开始,2=已开始,3=已结束,4=已取消) */ @TableField("status") private Integer status; @Override protected Serializable pkVal() { return this.id; } } cloud-server-course/src/main/java/com/dsh/course/entity/CoursePackageStudent.java
@@ -54,6 +54,11 @@ @TableField("coursePackagePaymentId") private Long coursePackagePaymentId; /** * 排课记录id */ @TableField("coursePackageSchedulingId") private Integer coursePackageSchedulingId; /** * 到课状态(0=否,1=是) */ @TableField("signInOrNot")