beetlsql3-dev
Mlxa0324 2 years ago
parent 4762966cd0
commit 9585cd65e9

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<?PowerDesigner AppLocale="UTF16" ID="{BA33ABB7-B246-4DB0-85DE-396EDDB46458}" Label="" LastModificationDate="1673247506" Name="cjks" Objects="1360" Symbols="105" Target="MySQL 5.0" Type="{CDE44E21-9669-11D1-9914-006097355D9B}" signature="PDM_DATA_MODEL_XML" version="16.5.0.3982"?>
<?PowerDesigner AppLocale="UTF16" ID="{BA33ABB7-B246-4DB0-85DE-396EDDB46458}" Label="" LastModificationDate="1673251440" Name="cjks" Objects="1360" Symbols="105" Target="MySQL 5.0" Type="{CDE44E21-9669-11D1-9914-006097355D9B}" signature="PDM_DATA_MODEL_XML" version="16.5.0.3982"?>
<!-- do not edit this file -->
<Model xmlns:a="attribute" xmlns:c="collection" xmlns:o="object">
@ -5094,7 +5094,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:CreationDate>1623845296</a:CreationDate>
<a:ModificationDate>1671709603</a:ModificationDate>
<a:IconMode>-1</a:IconMode>
<a:Rect>((97012,38528), (114110,47676))</a:Rect>
<a:Rect>((96498,38154), (114624,48050))</a:Rect>
<a:LineColor>12615680</a:LineColor>
<a:FillColor>16570034</a:FillColor>
<a:ShadowColor>12632256</a:ShadowColor>
@ -5144,7 +5144,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:CreationDate>1623859834</a:CreationDate>
<a:ModificationDate>1671709603</a:ModificationDate>
<a:IconMode>-1</a:IconMode>
<a:Rect>((126448,37699), (145090,47671))</a:Rect>
<a:Rect>((125882,37287), (145656,48083))</a:Rect>
<a:LineColor>12615680</a:LineColor>
<a:FillColor>16570034</a:FillColor>
<a:ShadowColor>12632256</a:ShadowColor>
@ -6778,7 +6778,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:CreationDate>1670998074</a:CreationDate>
<a:ModificationDate>1671709603</a:ModificationDate>
<a:IconMode>-1</a:IconMode>
<a:Rect>((446259,37372), (462583,47344))</a:Rect>
<a:Rect>((445770,36960), (463072,47756))</a:Rect>
<a:LineColor>12615680</a:LineColor>
<a:FillColor>16570034</a:FillColor>
<a:ShadowColor>12632256</a:ShadowColor>
@ -16042,11 +16042,12 @@ COLLATE = utf8_general_ci</a:PhysicalOptions>
<a:Code>student_client_link_order</a:Code>
<a:CreationDate>1661852621</a:CreationDate>
<a:Creator>lx</a:Creator>
<a:ModificationDate>1673247506</a:ModificationDate>
<a:ModificationDate>1673251440</a:ModificationDate>
<a:Modifier>87966</a:Modifier>
<a:Comment>导航栏排序</a:Comment>
<a:DataType>decimal(11)</a:DataType>
<a:Length>11</a:Length>
<a:DataType>decimal(10,6)</a:DataType>
<a:Length>10</a:Length>
<a:Precision>6</a:Precision>
</o:Column>
<o:Column Id="o901">
<a:ObjectID>A897CD71-A97A-450E-92FA-72474727C640</a:ObjectID>

File diff suppressed because it is too large Load Diff

@ -351,8 +351,6 @@ create table teacher_open_course_merge_resources_info
alter table teacher_open_course_merge_resources_info comment '开课关联- 资源管理-离线';
ALTER TABLE course_info ADD COLUMN order_index bigint(20) COMMENT '同级排序';
ALTER TABLE resources_info ADD COLUMN resources_info_files varchar(4000) COMMENT '文件集合';
ALTER TABLE teacher_open_course_merge_resources_info ADD COLUMN resources_info_files varchar(4000) COMMENT '文件集合';
@ -532,3 +530,5 @@ create table teaching_management
COLLATE = utf8_general_ci;
alter table teaching_management comment '授课管理-需要对接外部系统';
ALTER TABLE course_info ADD COLUMN order_index decimal(10, 6) COMMENT '排序(越小越靠前)';

@ -101,7 +101,8 @@ public class CourseInfo extends BaseEntity{
private Date addTime ;
// 排序值
private BigDecimal courseInfoOrder;
private BigDecimal orderIndex;
@UpdateIgnore
@InsertIgnore
@ -349,11 +350,11 @@ public class CourseInfo extends BaseEntity{
return this.courseInfoFullId;
}
public BigDecimal getCourseInfoOrder() {
return courseInfoOrder;
public BigDecimal getOrderIndex() {
return orderIndex;
}
public void setCourseInfoOrder(BigDecimal courseInfoOrder) {
this.courseInfoOrder = courseInfoOrder;
public void setOrderIndex(BigDecimal orderIndex) {
this.orderIndex = orderIndex;
}
}

@ -142,6 +142,15 @@ public class CourseInfoService extends CoreBaseService<CourseInfo>{
public CourseInfo add(CourseInfoQuery courseInfoQuery){
CourseInfo courseInfo = courseInfoQuery.pojo();
// 获取新的排序值
CourseInfo paras = new CourseInfo();
paras.setCourseInfoType(courseInfo.getCourseInfoType());
paras.setCourseInfoParentId(courseInfo.getCourseInfoParentId());
paras.setCourseInfoStatus(1);
BigDecimal bigDecimal = getFuncIncrement(paras, CourseInfo::getOrderIndex);
courseInfo.setOrderIndex(bigDecimal);
insert(courseInfo);
//删除以前的
@ -1091,6 +1100,9 @@ public class CourseInfoService extends CoreBaseService<CourseInfo>{
CourseInfo mergeCourseInfo = links.get(0);
// 定义排序值
Double calcedOrder = null;
switch (moveType) {
case MOVE_TOP: {
@ -1098,22 +1110,16 @@ public class CourseInfoService extends CoreBaseService<CourseInfo>{
.andEq(CourseInfo::getCourseInfoType, mergeCourseInfo.getCourseInfoType())
.andEq(CourseInfo::getCourseInfoStatus, 1)
.andNotEq(CourseInfo::getCourseInfoId, id)
.asc(CourseInfo::getCourseInfoOrder)
.asc(CourseInfo::getOrderIndex)
.limit(1, 1)
.select(CourseInfo::getCourseInfoOrder);
.select(CourseInfo::getOrderIndex);
if (CollectionUtil.isNotEmpty(result)) {
CourseInfo minOrderClientLink = result.get(0);
// 最小的排序值
BigDecimal minLinkOrder = minOrderClientLink.getCourseInfoOrder();
BigDecimal minLinkOrder = minOrderClientLink.getOrderIndex();
// 置顶就现有的最小值减1。但是需要确保结果小于0
BigDecimal calcedOrder = BigDecimal.valueOf(NumberUtil.sub(min(minLinkOrder.floatValue(), 0), 1));
// 改变排序记录值
CourseInfo updatePO = new CourseInfo();
updatePO.setCourseInfoId(mergeCourseInfo.getCourseInfoId());
updatePO.setCourseInfoOrder(calcedOrder);
updateTemplate(updatePO);
calcedOrder = NumberUtil.sub(min(minLinkOrder.floatValue(), 0), 1);
}
} break;
@ -1121,33 +1127,26 @@ public class CourseInfoService extends CoreBaseService<CourseInfo>{
case MOVE_LEFT: {
List<CourseInfo> result = courseInfoDao.createLambdaQuery()
.andEq(CourseInfo::getCourseInfoType, mergeCourseInfo.getCourseInfoType())
.andLess(CourseInfo::getCourseInfoOrder, mergeCourseInfo.getCourseInfoOrder())
.andLess(CourseInfo::getOrderIndex, mergeCourseInfo.getOrderIndex())
.andEq(CourseInfo::getCourseInfoStatus, 1)
.andNotEq(CourseInfo::getCourseInfoId, id)
.desc(CourseInfo::getCourseInfoOrder)
.desc(CourseInfo::getOrderIndex)
.limit(1, 2)
.select(CourseInfo::getCourseInfoOrder);
.select(CourseInfo::getOrderIndex);
if (CollectionUtil.isNotEmpty(result)) {
// 找到应该安插的位置
BigDecimal LinkOrder0 = result.get(0).getCourseInfoOrder();
BigDecimal LinkOrder0 = result.get(0).getOrderIndex();
BigDecimal LinkOrder1 = LinkOrder0.subtract(BigDecimal.ONE);
if (result.size() == 2) {
LinkOrder1 = result.get(1).getCourseInfoOrder();
LinkOrder1 = result.get(1).getOrderIndex();
}
BigDecimal min = NumberUtil.min(LinkOrder0, LinkOrder1);
BigDecimal max = NumberUtil.max(LinkOrder0, LinkOrder1);
// 左移位后的值
double calcedOrder = RandomUtil.randomDouble(min.doubleValue(), max.doubleValue(), 6, RoundingMode.HALF_UP);
// 改变排序记录值
CourseInfo updatePO = new CourseInfo();
updatePO.setCourseInfoId(mergeCourseInfo.getCourseInfoId());
updatePO.setCourseInfoOrder(BigDecimal.valueOf(calcedOrder));
updateTemplate(updatePO);
calcedOrder = RandomUtil.randomDouble(min.doubleValue(), max.doubleValue(), 6, RoundingMode.HALF_UP);
}
} break;
@ -1155,40 +1154,40 @@ public class CourseInfoService extends CoreBaseService<CourseInfo>{
case MOVE_RIGHT: {
List<CourseInfo> result = courseInfoDao.createLambdaQuery()
.andEq(CourseInfo::getCourseInfoType, mergeCourseInfo.getCourseInfoType())
.andGreat(CourseInfo::getCourseInfoOrder, mergeCourseInfo.getCourseInfoOrder())
.andGreat(CourseInfo::getOrderIndex, mergeCourseInfo.getOrderIndex())
.andEq(CourseInfo::getCourseInfoStatus, 1)
.andNotEq(CourseInfo::getCourseInfoId, id)
.asc(CourseInfo::getCourseInfoOrder)
.asc(CourseInfo::getOrderIndex)
.limit(1, 2)
.select(CourseInfo::getCourseInfoOrder);
.select(CourseInfo::getOrderIndex);
if (CollectionUtil.isNotEmpty(result)) {
// 找到应该安插的位置
BigDecimal LinkOrder0 = result.get(0).getCourseInfoOrder();
BigDecimal LinkOrder0 = result.get(0).getOrderIndex();
BigDecimal LinkOrder1 = LinkOrder0.add(BigDecimal.ONE);
if (result.size() == 2) {
LinkOrder1 = result.get(1).getCourseInfoOrder();
LinkOrder1 = result.get(1).getOrderIndex();
}
BigDecimal min = NumberUtil.min(LinkOrder0, LinkOrder1);
BigDecimal max = NumberUtil.max(LinkOrder0, LinkOrder1);
// 右移位后的值
double calcedOrder = RandomUtil.randomDouble(min.doubleValue(), max.doubleValue(), 6, RoundingMode.HALF_UP);
// 改变排序记录值
CourseInfo updatePO = new CourseInfo();
updatePO.setCourseInfoId(mergeCourseInfo.getCourseInfoId());
updatePO.setCourseInfoOrder(BigDecimal.valueOf(calcedOrder));
updateTemplate(updatePO);
calcedOrder = RandomUtil.randomDouble(min.doubleValue(), max.doubleValue(), 6, RoundingMode.HALF_UP);
}
} break;
default:
log.error("不支持的移动类型!");
break;
}
if (calcedOrder == null) {
// 改变排序记录值
CourseInfo updatePO = new CourseInfo();
updatePO.setCourseInfoId(mergeCourseInfo.getCourseInfoId());
updatePO.setOrderIndex(BigDecimal.valueOf(calcedOrder));
updateTemplate(updatePO);
}
}
/**
@ -1243,7 +1242,7 @@ public class CourseInfoService extends CoreBaseService<CourseInfo>{
// 左移动,无法确定右侧边界,适用于置顶
if (hasLeft && !hasRight) {
BigDecimal leftOrder = defaultIfNull(leftElement.getCourseInfoOrder(), BigDecimal.ZERO);
BigDecimal leftOrder = defaultIfNull(leftElement.getOrderIndex(), BigDecimal.ZERO);
// 数据库里存小数点后六位的排序值
// 随机取值 0.0001 到 0.0005之间
BigDecimal randomNum = RandomUtil.randomBigDecimal(new BigDecimal("0.0001"), new BigDecimal("0.0005")).setScale(6, ROUND_HALF_UP);
@ -1253,7 +1252,7 @@ public class CourseInfoService extends CoreBaseService<CourseInfo>{
// 右移动,无法确定左侧边界,适用于置底
else if (!hasLeft && hasRight) {
BigDecimal rightOrder = defaultIfNull(rightElement.getCourseInfoOrder(), BigDecimal.ZERO);
BigDecimal rightOrder = defaultIfNull(rightElement.getOrderIndex(), BigDecimal.ZERO);
// 数据库里存小数点后六位的排序值
// 随机取值 0.0001 到 0.0005之间
BigDecimal randomNum = RandomUtil.randomBigDecimal(new BigDecimal("0.0001"), new BigDecimal("0.0005")).setScale(6, ROUND_HALF_UP);
@ -1264,8 +1263,8 @@ public class CourseInfoService extends CoreBaseService<CourseInfo>{
// 可以确定左右两侧边界,移动的比较精准
else if (hasLeft && hasRight) {
BigDecimal leftOrder = defaultIfNull(leftElement.getCourseInfoOrder(), BigDecimal.ZERO);
BigDecimal rightOrder = defaultIfNull(rightElement.getCourseInfoOrder(), BigDecimal.ONE);
BigDecimal leftOrder = defaultIfNull(leftElement.getOrderIndex(), BigDecimal.ZERO);
BigDecimal rightOrder = defaultIfNull(rightElement.getOrderIndex(), BigDecimal.ONE);
// 随机取值
BigDecimal randomNum = RandomUtil.randomBigDecimal(leftOrder, rightOrder).setScale(6, ROUND_HALF_UP);
// 计算后的排序值
@ -1276,7 +1275,7 @@ public class CourseInfoService extends CoreBaseService<CourseInfo>{
if (clacedOrder != null) {
CourseInfo updatePO = new CourseInfo();
updatePO.setCourseInfoId(selfElement.getCourseInfoId());
updatePO.setCourseInfoOrder(clacedOrder);
updatePO.setOrderIndex(clacedOrder);
updateTemplate(updatePO);
}
}

@ -226,6 +226,15 @@ public class TeacherOpenCourseMergeCourseInfoService extends CoreBaseService<Tea
String msg = "";
TeacherOpenCourseMergeCourseInfo teacherOpenCourseMergeCourseInfo = teacherOpenCourseMergeCourseInfoQuery.pojo();
teacherOpenCourseMergeCourseInfo.setCourseInfoStatus(1);
// 获取新的排序值
TeacherOpenCourseMergeCourseInfo paras = new TeacherOpenCourseMergeCourseInfo();
paras.setCourseInfoType(teacherOpenCourseMergeCourseInfo.getCourseInfoType());
paras.setCourseInfoParentId(teacherOpenCourseMergeCourseInfo.getCourseInfoParentId());
paras.setCourseInfoStatus(1);
BigDecimal bigDecimal = getFuncIncrement(paras, TeacherOpenCourseMergeCourseInfo::getTeacherOpenCourseMergeCourseInfoOrder);
teacherOpenCourseMergeCourseInfo.setTeacherOpenCourseMergeCourseInfoOrder(bigDecimal);
teacherOpenCourseMergeCourseInfoDao.insert(teacherOpenCourseMergeCourseInfo);
// teacherOpenCourseMergeCourseInfoService.invalidateCourseInfoTreeLocalCache(teacherOpenCourseMergeCourseInfo.getTeacherOpenCourseId());
@ -1187,6 +1196,9 @@ public class TeacherOpenCourseMergeCourseInfoService extends CoreBaseService<Tea
TeacherOpenCourseMergeCourseInfo mergeCourseInfo = links.get(0);
// 定义排序值
Double calcedOrder = null;
switch (moveType) {
case MOVE_TOP: {
@ -1203,13 +1215,7 @@ public class TeacherOpenCourseMergeCourseInfoService extends CoreBaseService<Tea
// 最小的排序值
BigDecimal minLinkOrder = minOrderClientLink.getTeacherOpenCourseMergeCourseInfoOrder();
// 置顶就现有的最小值减1。但是需要确保结果小于0
BigDecimal calcedOrder = BigDecimal.valueOf(NumberUtil.sub(min(minLinkOrder.floatValue(), 0), 1));
// 改变排序记录值
TeacherOpenCourseMergeCourseInfo updatePO = new TeacherOpenCourseMergeCourseInfo();
updatePO.setTeacherOpenCourseMergeCourseInfoId(mergeCourseInfo.getTeacherOpenCourseMergeCourseInfoId());
updatePO.setTeacherOpenCourseMergeCourseInfoOrder(calcedOrder);
updateTemplate(updatePO);
calcedOrder = NumberUtil.sub(min(minLinkOrder.floatValue(), 0), 1);
}
} break;
@ -1236,14 +1242,7 @@ public class TeacherOpenCourseMergeCourseInfoService extends CoreBaseService<Tea
BigDecimal max = NumberUtil.max(LinkOrder0, LinkOrder1);
// 左移位后的值
double calcedOrder = RandomUtil.randomDouble(min.doubleValue(), max.doubleValue(), 6, RoundingMode.HALF_UP);
// 改变排序记录值
TeacherOpenCourseMergeCourseInfo updatePO = new TeacherOpenCourseMergeCourseInfo();
updatePO.setTeacherOpenCourseMergeCourseInfoId(mergeCourseInfo.getTeacherOpenCourseMergeCourseInfoId());
updatePO.setTeacherOpenCourseMergeCourseInfoOrder(BigDecimal.valueOf(calcedOrder));
updateTemplate(updatePO);
calcedOrder = RandomUtil.randomDouble(min.doubleValue(), max.doubleValue(), 6, RoundingMode.HALF_UP);
}
} break;
@ -1270,21 +1269,21 @@ public class TeacherOpenCourseMergeCourseInfoService extends CoreBaseService<Tea
BigDecimal max = NumberUtil.max(LinkOrder0, LinkOrder1);
// 右移位后的值
double calcedOrder = RandomUtil.randomDouble(min.doubleValue(), max.doubleValue(), 6, RoundingMode.HALF_UP);
// 改变排序记录值
TeacherOpenCourseMergeCourseInfo updatePO = new TeacherOpenCourseMergeCourseInfo();
updatePO.setTeacherOpenCourseMergeCourseInfoId(mergeCourseInfo.getTeacherOpenCourseMergeCourseInfoId());
updatePO.setTeacherOpenCourseMergeCourseInfoOrder(BigDecimal.valueOf(calcedOrder));
updateTemplate(updatePO);
calcedOrder = RandomUtil.randomDouble(min.doubleValue(), max.doubleValue(), 6, RoundingMode.HALF_UP);
}
} break;
default:
log.error("不支持的移动类型!");
break;
}
if (calcedOrder == null) {
// 改变排序记录值
TeacherOpenCourseMergeCourseInfo updatePO = new TeacherOpenCourseMergeCourseInfo();
updatePO.setTeacherOpenCourseMergeCourseInfoId(mergeCourseInfo.getTeacherOpenCourseMergeCourseInfoId());
updatePO.setTeacherOpenCourseMergeCourseInfoOrder(BigDecimal.valueOf(calcedOrder));
updateTemplate(updatePO);
}
}
/**

Loading…
Cancel
Save