@ -63,43 +63,45 @@ import static org.apache.commons.lang3.StringUtils.join;
@Slf4j
public class TeacherOpenCourseMergeResourcesInfoService extends CoreBaseService < TeacherOpenCourseMergeResourcesInfo > implements DeleteResourcesBy {
@Autowired private TeacherOpenCourseMergeResourcesInfoDao teacherOpenCourseMergeResourcesInfoDao ;
@Autowired
private TeacherOpenCourseMergeResourcesInfoDao teacherOpenCourseMergeResourcesInfoDao ;
@Autowired
private ResourcesInfoService resourcesInfoService ;
@Autowired
private TeacherOpenCourseMergeCourseInfoService teacherOpenCourseMergeCourseInfoService ;
public PageQuery < TeacherOpenCourseMergeResourcesInfo > queryByCondition( PageQuery query ) {
PageQuery ret = teacherOpenCourseMergeResourcesInfoDao . queryByCondition ( query ) ;
public PageQuery < TeacherOpenCourseMergeResourcesInfo > queryByCondition( PageQuery query ) {
PageQuery ret = teacherOpenCourseMergeResourcesInfoDao . queryByCondition ( query ) ;
queryListAfter ( ret . getList ( ) ) ;
return ret ;
}
public PageQuery < TeacherOpenCourseMergeResourcesInfo > queryByConditionQuery( PageQuery query ) {
PageQuery ret = teacherOpenCourseMergeResourcesInfoDao . queryByConditionQuery ( query ) ;
public PageQuery < TeacherOpenCourseMergeResourcesInfo > queryByConditionQuery( PageQuery query ) {
PageQuery ret = teacherOpenCourseMergeResourcesInfoDao . queryByConditionQuery ( query ) ;
queryListAfter ( ret . getList ( ) ) ;
return ret ;
}
public void deleteByList ( List list ) {
public void deleteByList ( List list ) {
String ids = "" ;
ToolUtils . deleteNullList ( list ) ;
for ( int i = 0 ; null ! = list & & i < list . size ( ) ; i + + ) {
ids + = list . get ( i ) . toString ( ) + ( i = = list . size ( ) - 1 ? "" : "," ) ;
for ( int i = 0 ; null ! = list & & i < list . size ( ) ; i + + ) {
ids + = list . get ( i ) . toString ( ) + ( i = = list . size ( ) - 1 ? "" : "," ) ;
}
if ( StringUtils . isNotBlank ( ids ) ) {
if ( StringUtils . isNotBlank ( ids ) ) {
teacherOpenCourseMergeResourcesInfoDao . deleteTeacherOpenCourseMergeResourcesInfoByIds ( ids ) ;
}
}
public void deleteTeacherOpenCourseMergeResourcesInfo ( String ids ) {
public void deleteTeacherOpenCourseMergeResourcesInfo ( String ids ) {
try {
teacherOpenCourseMergeResourcesInfoDao . deleteTeacherOpenCourseMergeResourcesInfoByIds ( ids ) ;
} catch ( Exception e ) {
throw new PlatformException ( "批量删除开课资源拉取失败" , e ) ;
}
}
public void logicDeleteTeacherOpenCourseMergeResourcesInfo ( String ids ) {
public void logicDeleteTeacherOpenCourseMergeResourcesInfo ( String ids ) {
try {
teacherOpenCourseMergeResourcesInfoDao . logicDeleteTeacherOpenCourseMergeResourcesInfo ( ids ) ;
} catch ( Exception e ) {
@ -107,7 +109,7 @@ public class TeacherOpenCourseMergeResourcesInfoService extends CoreBaseService<
}
}
public String addAll ( TeacherOpenCourseMergeResourcesInfoQuery teacherOpenCourseMergeResourcesInfoQuery ) {
public String addAll ( TeacherOpenCourseMergeResourcesInfoQuery teacherOpenCourseMergeResourcesInfoQuery ) {
String msg = "" ;
List < TeacherOpenCourseMergeResourcesInfo > teacherOpenCourseMergeResourcesInfoList = new ArrayList < > ( ) ;
try {
@ -115,11 +117,12 @@ public class TeacherOpenCourseMergeResourcesInfoService extends CoreBaseService<
} catch ( Exception e ) {
try {
teacherOpenCourseMergeResourcesInfoList . add ( JSONObject . parseObject ( teacherOpenCourseMergeResourcesInfoQuery . getTeacherOpenCourseMergeResourcesInfoJsonStr ( ) , TeacherOpenCourseMergeResourcesInfo . class ) ) ;
} catch ( Exception e1 ) { }
} catch ( Exception e1 ) {
}
}
ToolUtils . deleteNullList ( teacherOpenCourseMergeResourcesInfoList ) ;
if ( null ! = teacherOpenCourseMergeResourcesInfoList & & teacherOpenCourseMergeResourcesInfoList . size ( ) > 0 ) {
for ( int i = 0 ; i < teacherOpenCourseMergeResourcesInfoList . size ( ) ; i + + ) {
if ( null ! = teacherOpenCourseMergeResourcesInfoList & & teacherOpenCourseMergeResourcesInfoList . size ( ) > 0 ) {
for ( int i = 0 ; i < teacherOpenCourseMergeResourcesInfoList . size ( ) ; i + + ) {
TeacherOpenCourseMergeResourcesInfo teacherOpenCourseMergeResourcesInfo = teacherOpenCourseMergeResourcesInfoList . get ( i ) ;
teacherOpenCourseMergeResourcesInfo . setUserId ( teacherOpenCourseMergeResourcesInfoQuery . getUserId ( ) ) ;
teacherOpenCourseMergeResourcesInfo . setOrgId ( teacherOpenCourseMergeResourcesInfoQuery . getOrgId ( ) ) ;
@ -129,7 +132,7 @@ public class TeacherOpenCourseMergeResourcesInfoService extends CoreBaseService<
return msg ;
}
public JsonResult add ( TeacherOpenCourseMergeResourcesInfoQuery teacherOpenCourseMergeResourcesInfoQuery ) {
public JsonResult add ( TeacherOpenCourseMergeResourcesInfoQuery teacherOpenCourseMergeResourcesInfoQuery ) {
String msg = "" ;
TeacherOpenCourseMergeResourcesInfo teacherOpenCourseMergeResourcesInfo = teacherOpenCourseMergeResourcesInfoQuery . pojo ( ) ;
@ -151,7 +154,7 @@ public class TeacherOpenCourseMergeResourcesInfoService extends CoreBaseService<
return jsonResult ;
}
public String edit ( TeacherOpenCourseMergeResourcesInfoQuery teacherOpenCourseMergeResourcesInfoQuery ) {
public String edit ( TeacherOpenCourseMergeResourcesInfoQuery teacherOpenCourseMergeResourcesInfoQuery ) {
String msg = "" ;
TeacherOpenCourseMergeResourcesInfo teacherOpenCourseMergeResourcesInfo = teacherOpenCourseMergeResourcesInfoQuery . pojo ( ) ;
teacherOpenCourseMergeResourcesInfoDao . updateTemplateById ( teacherOpenCourseMergeResourcesInfo ) ;
@ -161,69 +164,69 @@ public class TeacherOpenCourseMergeResourcesInfoService extends CoreBaseService<
return msg ;
}
public String updateGivenByIds ( TeacherOpenCourseMergeResourcesInfoQuery teacherOpenCourseMergeResourcesInfoQuery ) {
public String updateGivenByIds ( TeacherOpenCourseMergeResourcesInfoQuery teacherOpenCourseMergeResourcesInfoQuery ) {
String msg = "" ;
if ( StringUtils . isNotBlank ( teacherOpenCourseMergeResourcesInfoQuery . get_given ( ) ) ) {
if ( StringUtils . isNotBlank ( teacherOpenCourseMergeResourcesInfoQuery . get_given ( ) ) ) {
boolean flag = teacherOpenCourseMergeResourcesInfoDao . updateGivenByIds ( teacherOpenCourseMergeResourcesInfoQuery ) > 0 ;
if ( ! flag ) {
if ( ! flag ) {
msg = "更新指定参数失败" ;
}
} else {
} else {
msg = "指定参数为空" ;
}
return msg ;
}
public List < TeacherOpenCourseMergeResourcesInfo > getValues ( Object paras ) {
public List < TeacherOpenCourseMergeResourcesInfo > getValues ( Object paras ) {
return sqlManager . select ( SqlId . of ( "jlw.teacherOpenCourseMergeResourcesInfo.getTeacherOpenCourseMergeResourcesInfoValues" ) , TeacherOpenCourseMergeResourcesInfo . class , paras ) ;
}
public List < TeacherOpenCourseMergeResourcesInfo > getValuesByQuery ( TeacherOpenCourseMergeResourcesInfoQuery teacherOpenCourseMergeResourcesInfoQuery ) {
public List < TeacherOpenCourseMergeResourcesInfo > getValuesByQuery ( TeacherOpenCourseMergeResourcesInfoQuery teacherOpenCourseMergeResourcesInfoQuery ) {
return teacherOpenCourseMergeResourcesInfoDao . getValuesByQuery ( teacherOpenCourseMergeResourcesInfoQuery ) ;
}
public List < TeacherOpenCourseMergeResourcesInfo > getValuesByQueryNotWithPermission ( TeacherOpenCourseMergeResourcesInfoQuery teacherOpenCourseMergeResourcesInfoQuery ) {
public List < TeacherOpenCourseMergeResourcesInfo > getValuesByQueryNotWithPermission ( TeacherOpenCourseMergeResourcesInfoQuery teacherOpenCourseMergeResourcesInfoQuery ) {
return teacherOpenCourseMergeResourcesInfoDao . getValuesByQueryNotWithPermission ( teacherOpenCourseMergeResourcesInfoQuery ) ;
}
public TeacherOpenCourseMergeResourcesInfo getInfo ( Long teacherOpenCourseMergeResourcesInfoId ) {
public TeacherOpenCourseMergeResourcesInfo getInfo ( Long teacherOpenCourseMergeResourcesInfoId ) {
TeacherOpenCourseMergeResourcesInfoQuery teacherOpenCourseMergeResourcesInfoQuery = new TeacherOpenCourseMergeResourcesInfoQuery ( ) ;
teacherOpenCourseMergeResourcesInfoQuery . setTeacherOpenCourseMergeResourcesInfoId ( teacherOpenCourseMergeResourcesInfoId ) ;
List < TeacherOpenCourseMergeResourcesInfo > list = teacherOpenCourseMergeResourcesInfoDao . getValuesByQuery ( teacherOpenCourseMergeResourcesInfoQuery ) ;
if ( null ! = list & & list . size ( ) > 0 ) {
if ( null ! = list & & list . size ( ) > 0 ) {
return list . get ( 0 ) ;
} else {
} else {
return null ;
}
}
public TeacherOpenCourseMergeResourcesInfo getInfo ( TeacherOpenCourseMergeResourcesInfoQuery teacherOpenCourseMergeResourcesInfoQuery ) {
public TeacherOpenCourseMergeResourcesInfo getInfo ( TeacherOpenCourseMergeResourcesInfoQuery teacherOpenCourseMergeResourcesInfoQuery ) {
List < TeacherOpenCourseMergeResourcesInfo > list = teacherOpenCourseMergeResourcesInfoDao . getValuesByQuery ( teacherOpenCourseMergeResourcesInfoQuery ) ;
if ( null ! = list & & list . size ( ) > 0 ) {
if ( null ! = list & & list . size ( ) > 0 ) {
return list . get ( 0 ) ;
} else {
} else {
return null ;
}
}
public JsonResult importTemplate ( List < FileEntity > fileEntityList , List < Long > list , CoreUser coreUser ) {
List < String [ ] > errMsg = new ArrayList < > ( ) ;
String msg = "" ;
public JsonResult importTemplate ( List < FileEntity > fileEntityList , List < Long > list , CoreUser coreUser ) {
List < String [ ] > errMsg = new ArrayList < > ( ) ;
String msg = "" ;
int count = 0 ;
Date date = new Date ( ) ;
for ( int item = 0 ; null ! = fileEntityList & & item < fileEntityList . size ( ) ; item + + ) {
for ( int item = 0 ; null ! = fileEntityList & & item < fileEntityList . size ( ) ; item + + ) {
FileEntity fileEntity = fileEntityList . get ( item ) ;
if ( null ! = fileEntity ) {
if ( null ! = fileEntity ) {
File file = new File ( fileEntity . getAbsoluteUrl ( ) ) ;
if ( file . exists ( ) & & file . isFile ( ) & & file . canRead ( ) & & ToolUtils . findInSet ( "xls,xlsx" , fileEntity . getFormat ( ) ) ) {
if ( file . exists ( ) & & file . isFile ( ) & & file . canRead ( ) & & ToolUtils . findInSet ( "xls,xlsx" , fileEntity . getFormat ( ) ) ) {
Workbook wb = null ;
InputStream is = null ;
try {
is = new FileInputStream ( fileEntity . getAbsoluteUrl ( ) ) ;
if ( "xls" . equals ( fileEntity . getFormat ( ) ) ) {
if ( "xls" . equals ( fileEntity . getFormat ( ) ) ) {
wb = new HSSFWorkbook ( is ) ;
} else if ( "xlsx" . equals ( fileEntity . getFormat ( ) ) ) {
} else if ( "xlsx" . equals ( fileEntity . getFormat ( ) ) ) {
wb = new XSSFWorkbook ( is ) ;
}
} catch ( FileNotFoundException e ) {
@ -232,13 +235,13 @@ public class TeacherOpenCourseMergeResourcesInfoService extends CoreBaseService<
e . printStackTrace ( ) ;
}
try {
if ( null ! = is ) {
is . close ( ) ;
}
} catch ( Exception e ) {
if ( null ! = is ) {
is . close ( ) ;
}
} catch ( Exception e ) {
e . printStackTrace ( ) ;
}
if ( wb ! = null ) {
if ( wb ! = null ) {
//获取Sheet1
Sheet sheet = wb . getSheet ( "Sheet1" ) ;
//获取最大行数
@ -249,44 +252,44 @@ public class TeacherOpenCourseMergeResourcesInfoService extends CoreBaseService<
int colNum = firstRow . getPhysicalNumberOfCells ( ) ;
String [ ] columns = {
"开课课程" ,
"教师开课" ,
"资源名称" ,
"资源类型 数据字典" ,
"资源内容" ,
"开课课程" ,
"教师开课" ,
"资源名称" ,
"资源类型 数据字典" ,
"资源内容" ,
} ;
Map < String , Integer > map = new HashMap < > ( ) ; //获取需要的表头的列
Map < String , Integer > map = new HashMap < > ( ) ; //获取需要的表头的列
//从第一列找到需要的表头
for ( int i = 0 ; i < colNum ; i + + ) {
for ( int i = 0 ; i < colNum ; i + + ) {
String cellData = getCellFormatValue ( firstRow . getCell ( i ) ) ;
for ( int j = 0 ; j < columns . length ; j + + ) {
if ( columns [ j ] . equals ( cellData ) ) {
map . put ( columns [ j ] , i ) ;
for ( int j = 0 ; j < columns . length ; j + + ) {
if ( columns [ j ] . equals ( cellData ) ) {
map . put ( columns [ j ] , i ) ;
}
}
}
//验证所需要的表头是否全
Integer flag = 0 ;
for ( int i = 0 ; i < columns . length ; i + + ) {
if ( null ! = map . get ( columns [ i ] ) ) {
flag + + ;
for ( int i = 0 ; i < columns . length ; i + + ) {
if ( null ! = map . get ( columns [ i ] ) ) {
flag + + ;
}
}
if ( flag ! = columns . length ) {
if ( flag ! = columns . length ) {
String str = " " ;
for ( int i = 0 ; i < columns . length ; i + + ) {
str + = "\"" + columns [ i ] + "\"" + ( i = = columns . length - 1 ? "" : ", " ) ;
for ( int i = 0 ; i < columns . length ; i + + ) {
str + = "\"" + columns [ i ] + "\"" + ( i = = columns . length - 1 ? "" : ", " ) ;
}
return JsonResult . failMessage ( "导入失败,表格表头应包含" + str ) ;
return JsonResult . failMessage ( "导入失败,表格表头应包含" + str ) ;
}
for ( int i = 1 ; i < rowNum ; i + + ) {
for ( int i = 1 ; i < rowNum ; i + + ) {
Row row = sheet . getRow ( i ) ;
if ( null = = row ) {
errMsg . add ( new String [ ] { "第" + ( i + 1 ) + "数据为空" } ) ;
if ( null = = row ) {
errMsg . add ( new String [ ] { "第" + ( i + 1 ) + "数据为空" } ) ;
continue ;
}
@ -296,38 +299,33 @@ public class TeacherOpenCourseMergeResourcesInfoService extends CoreBaseService<
String resourcesInfoType = getCellFormatValue ( row . getCell ( map . get ( columns [ 3 ] ) ) ) ;
String resourcesInfoContent = getCellFormatValue ( row . getCell ( map . get ( columns [ 4 ] ) ) ) ;
//TODO 判断(如重复等复杂判断要额外写)
if ( StringUtils . isBlank ( teacherOpenCourseMergeCourseInfoId ) ) {
errMsg . add ( new String [ ] { "第" + ToolUtils . numberToLetter ( map . get ( columns [ 0 ] ) + 1 ) + "列,第" + ( i + 1 ) + "行开课课程为空" } ) ;
if ( StringUtils . isBlank ( teacherOpenCourseMergeCourseInfoId ) ) {
errMsg . add ( new String [ ] { "第" + ToolUtils . numberToLetter ( map . get ( columns [ 0 ] ) + 1 ) + "列,第" + ( i + 1 ) + "行开课课程为空" } ) ;
continue ;
} else
if ( StringUtils . isBlank ( teacherOpenCourseId ) ) {
errMsg . add ( new String [ ] { "第" + ToolUtils . numberToLetter ( map . get ( columns [ 1 ] ) + 1 ) + "列,第" + ( i + 1 ) + "行教师开课为空" } ) ;
} else if ( StringUtils . isBlank ( teacherOpenCourseId ) ) {
errMsg . add ( new String [ ] { "第" + ToolUtils . numberToLetter ( map . get ( columns [ 1 ] ) + 1 ) + "列,第" + ( i + 1 ) + "行教师开课为空" } ) ;
continue ;
} else
if ( StringUtils . isBlank ( resourcesInfoName ) ) {
errMsg . add ( new String [ ] { "第" + ToolUtils . numberToLetter ( map . get ( columns [ 2 ] ) + 1 ) + "列,第" + ( i + 1 ) + "行资源名称为空" } ) ;
} else if ( StringUtils . isBlank ( resourcesInfoName ) ) {
errMsg . add ( new String [ ] { "第" + ToolUtils . numberToLetter ( map . get ( columns [ 2 ] ) + 1 ) + "列,第" + ( i + 1 ) + "行资源名称为空" } ) ;
continue ;
} else
if ( StringUtils . isBlank ( resourcesInfoType ) ) {
errMsg . add ( new String [ ] { "第" + ToolUtils . numberToLetter ( map . get ( columns [ 3 ] ) + 1 ) + "列,第" + ( i + 1 ) + "行资源类型 数据字典为空" } ) ;
} else if ( StringUtils . isBlank ( resourcesInfoType ) ) {
errMsg . add ( new String [ ] { "第" + ToolUtils . numberToLetter ( map . get ( columns [ 3 ] ) + 1 ) + "列,第" + ( i + 1 ) + "行资源类型 数据字典为空" } ) ;
continue ;
} else
if ( StringUtils . isBlank ( resourcesInfoContent ) ) {
errMsg . add ( new String [ ] { "第" + ToolUtils . numberToLetter ( map . get ( columns [ 4 ] ) + 1 ) + "列,第" + ( i + 1 ) + "行资源内容为空" } ) ;
} else if ( StringUtils . isBlank ( resourcesInfoContent ) ) {
errMsg . add ( new String [ ] { "第" + ToolUtils . numberToLetter ( map . get ( columns [ 4 ] ) + 1 ) + "列,第" + ( i + 1 ) + "行资源内容为空" } ) ;
continue ;
} else
{
//TODO 保存
TeacherOpenCourseMergeResourcesInfo teacherOpenCourseMergeResourcesInfo = new TeacherOpenCourseMergeResourcesInfo ( ) ;
teacherOpenCourseMergeResourcesInfo . setTeacherOpenCourseMergeCourseInfoId ( Long . parseLong ( teacherOpenCourseMergeCourseInfoId ) ) ;
teacherOpenCourseMergeResourcesInfo . setTeacherOpenCourseId ( Long . parseLong ( teacherOpenCourseId ) ) ;
teacherOpenCourseMergeResourcesInfo . setResourcesInfoName ( resourcesInfoName ) ;
teacherOpenCourseMergeResourcesInfo . setResourcesInfoType ( Integer . parseInt ( resourcesInfoType ) ) ;
teacherOpenCourseMergeResourcesInfo . setResourcesInfoContent ( resourcesInfoContent ) ;
teacherOpenCourseMergeResourcesInfo . setOrgId ( coreUser . getOrgId ( ) ) ;
teacherOpenCourseMergeResourcesInfo . setUserId ( coreUser . getId ( ) ) ;
count + + ;
} else {
//TODO 保存
TeacherOpenCourseMergeResourcesInfo teacherOpenCourseMergeResourcesInfo = new TeacherOpenCourseMergeResourcesInfo ( ) ;
teacherOpenCourseMergeResourcesInfo . setTeacherOpenCourseMergeCourseInfoId ( Long . parseLong ( teacherOpenCourseMergeCourseInfoId ) ) ;
teacherOpenCourseMergeResourcesInfo . setTeacherOpenCourseId ( Long . parseLong ( teacherOpenCourseId ) ) ;
teacherOpenCourseMergeResourcesInfo . setResourcesInfoName ( resourcesInfoName ) ;
teacherOpenCourseMergeResourcesInfo . setResourcesInfoType ( Integer . parseInt ( resourcesInfoType ) ) ;
teacherOpenCourseMergeResourcesInfo . setResourcesInfoContent ( resourcesInfoContent ) ;
teacherOpenCourseMergeResourcesInfo . setOrgId ( coreUser . getOrgId ( ) ) ;
teacherOpenCourseMergeResourcesInfo . setUserId ( coreUser . getId ( ) ) ;
count + + ;
}
}
}
@ -335,22 +333,22 @@ public class TeacherOpenCourseMergeResourcesInfoService extends CoreBaseService<
}
}
JsonResult jsonResult = new JsonResult ( ) ;
jsonResult . setCode ( count > 0 ? JsonReturnCode . SUCCESS . getCode ( ) : JsonReturnCode . FAIL . getCode ( ) ) ;
jsonResult . setCode ( count > 0 ? JsonReturnCode . SUCCESS . getCode ( ) : JsonReturnCode . FAIL . getCode ( ) ) ;
jsonResult . setData ( errMsg ) ;
jsonResult . setMsg ( ( count > 0 ? "导入成功,共导入" + count + "条" : "导入失败" ) + ( StringUtils . isNotBlank ( msg ) ? "<br>" + msg : "" ) ) ;
jsonResult . setMsg ( ( count > 0 ? "导入成功,共导入" + count + "条" : "导入失败" ) + ( StringUtils . isNotBlank ( msg ) ? "<br>" + msg : "" ) ) ;
return jsonResult ;
}
public List < Map < String , Object > > getExcelValues ( TeacherOpenCourseMergeResourcesInfoQuery teacherOpenCourseMergeResourcesInfoQuery ) {
public List < Map < String , Object > > getExcelValues ( TeacherOpenCourseMergeResourcesInfoQuery teacherOpenCourseMergeResourcesInfoQuery ) {
return teacherOpenCourseMergeResourcesInfoDao . getExcelValues ( teacherOpenCourseMergeResourcesInfoQuery ) ;
}
/ * *
* 根 据 指 定 的 课 程 ID 和 章 节 ID 集 合 , 去 从 系 统 资 源 拷 贝 到 开 课 资 源 库
*
* @param teacherOpenCourseId 开 课 ID
* @param allCourseInfo 指 定 的 所 有 课 程 章 节
* @param courseInfoIdPair 拷 贝 过 来 的 ID 段 , 旧 ID 和 新 ID 的 一 个 映 射 关 系 ( 非 必 填 )
* @param teacherOpenCourseId 开 课 ID
* @param allCourseInfo 指 定 的 所 有 课 程 章 节
* @param courseInfoIdPair 拷 贝 过 来 的 ID 段 , 旧 ID 和 新 ID 的 一 个 映 射 关 系 ( 非 必 填 )
* /
public void copySystemResourcesInfoToOpenCourse ( @NotNull ( message = "开课ID不能为空! " ) Long teacherOpenCourseId ,
Collection < CourseInfo > allCourseInfo , @Nullable Map < Long , Long > courseInfoIdPair ) {
@ -369,9 +367,9 @@ public class TeacherOpenCourseMergeResourcesInfoService extends CoreBaseService<
/ * *
* 根 据 指 定 的 课 程 ID 和 章 节 ID 集 合 , 去 从 系 统 资 源 拷 贝 到 开 课 资 源 库
*
* @param teacherOpenCourseId 开 课 ID
* @param allCourseInfoIdsJoin 指 定 的 所 有 课 程 章 节 ID
* @param courseInfoIdPair 拷 贝 过 来 的 ID 段 , 旧 ID 和 新 ID 的 一 个 映 射 关 系 ( 非 必 填 )
* @param teacherOpenCourseId 开 课 ID
* @param allCourseInfoIdsJoin 指 定 的 所 有 课 程 章 节 ID
* @param courseInfoIdPair 拷 贝 过 来 的 ID 段 , 旧 ID 和 新 ID 的 一 个 映 射 关 系 ( 非 必 填 )
* /
public void copySystemResourcesInfoToOpenCourse ( @NotNull ( message = "开课ID不能为空! " ) Long teacherOpenCourseId ,
String allCourseInfoIdsJoin , @Nullable Map < Long , Long > courseInfoIdPair ) {
@ -399,11 +397,15 @@ public class TeacherOpenCourseMergeResourcesInfoService extends CoreBaseService<
public void copyFromResourcesInfo ( Set < Long > resourcesInfoIds ,
@NotNull ( message = "开课ID不能为空! " ) final Long teacherOpenCourseId , Map < Long , Long > courseInfoIdPair ) {
if ( ObjectUtil . isEmpty ( resourcesInfoIds ) ) { return ; }
if ( ObjectUtil . isEmpty ( resourcesInfoIds ) ) {
return ;
}
ResourcesInfoQuery resourcesInfoQuery = new ResourcesInfoQuery ( ) ;
resourcesInfoQuery . setResourcesInfoIds ( join ( resourcesInfoIds . toArray ( ) , "," ) ) ;
List < ResourcesInfo > resourcesInfoList = resourcesInfoService . getValuesByQuery ( resourcesInfoQuery ) ;
if ( ObjectUtil . isEmpty ( resourcesInfoList ) ) { return ; }
if ( ObjectUtil . isEmpty ( resourcesInfoList ) ) {
return ;
}
// 拷贝部分字段映射
CopyOptions copyOptions = CopyOptions . create ( ) . setFieldMapping ( MapUtil . of ( "courseInfoId" , "teacherOpenCourseMergeCourseInfoId" ) ) ;
@ -422,13 +424,15 @@ public class TeacherOpenCourseMergeResourcesInfoService extends CoreBaseService<
/ * *
* 重 置 开 课 课 程 ID 。 需 要 拿 到 新 旧 改 变 的 关 系
*
* @param copyToList
* @param courseInfoIdPair
* /
public void resetNewId ( List < TeacherOpenCourseMergeResourcesInfo > copyToList , Map < Long , Long > courseInfoIdPair ) {
if ( ObjectUtil . isEmpty ( courseInfoIdPair ) ) { return ; }
if ( ObjectUtil . isEmpty ( courseInfoIdPair ) ) {
return ;
}
copyToList . forEach ( item - > {
item . setTeacherOpenCourseMergeResourcesInfoId ( null ) ;
item . setTeacherOpenCourseMergeCourseInfoId ( courseInfoIdPair . get ( item . getTeacherOpenCourseMergeCourseInfoId ( ) ) ) ;
} ) ;
@ -455,6 +459,7 @@ public class TeacherOpenCourseMergeResourcesInfoService extends CoreBaseService<
/ * *
* 验 证 操 作 的 数 据 , 是 否 是 教 师 本 人 上 传 的
*
* @param resourcesInfoIds
* @param coreUser
* /
@ -470,6 +475,7 @@ public class TeacherOpenCourseMergeResourcesInfoService extends CoreBaseService<
/ * *
* 位 置 移 动
* 小 于 0 的 数 字 , 是 代 表 置 顶 。 大 于 0 代 表 非 置 顶
*
* @param id
* @param moveType
* /
@ -502,7 +508,8 @@ public class TeacherOpenCourseMergeResourcesInfoService extends CoreBaseService<
BigDecimal minLinkOrder = minOrderClientLink . getOrderIndex ( ) ;
// 置顶就现有的最小值减1。但是需要确保结果小于0
calcedOrder = NumberUtil . sub ( min ( minLinkOrder . floatValue ( ) , 0 ) , 1 ) ;
} break ;
}
break ;
case MOVE_LEFT : {
@ -532,7 +539,8 @@ public class TeacherOpenCourseMergeResourcesInfoService extends CoreBaseService<
// 左移位后的值
calcedOrder = RandomUtil . randomDouble ( min . doubleValue ( ) , max . doubleValue ( ) , 6 , RoundingMode . HALF_UP ) ;
} break ;
}
break ;
case MOVE_RIGHT : {
@ -561,7 +569,8 @@ public class TeacherOpenCourseMergeResourcesInfoService extends CoreBaseService<
// 右移位后的值
calcedOrder = RandomUtil . randomDouble ( min . doubleValue ( ) , max . doubleValue ( ) , 6 , RoundingMode . HALF_UP ) ;
} break ;
}
break ;
default :
log . error ( "不支持的移动类型!" ) ;
break ;
@ -583,22 +592,21 @@ public class TeacherOpenCourseMergeResourcesInfoService extends CoreBaseService<
* 只 传 右 元 素 ID , 表 示 : 拖 动 元 素 在 右 元 素 的 右 侧 ;
* 左 右 元 素 ID 都 传 , 则 拖 动 元 素 放 置 在 两 个 元 素 的 中 间 。
*
* @param id 拖 动 元 素 的 ID
* @param leftId 左 元 素 ID 偏 小 数 值 对 应 的 元 素 ID
* @param rightId 右 元 素 ID 偏 大 数 值 对 应 的 元 素 ID
*
* 左 侧 ( 上 ) = = > 右 侧 ( 下 )
* 小 数 值 = = > 大 数 值
*
* 数 值 越 小 , 越 靠 前
*
* @param id 拖 动 元 素 的 ID
* @param leftId 左 元 素 ID 偏 小 数 值 对 应 的 元 素 ID
* @param rightId 右 元 素 ID 偏 大 数 值 对 应 的 元 素 ID
* < p >
* 左 侧 ( 上 ) = = > 右 侧 ( 下 )
* 小 数 值 = = > 大 数 值
* < p >
* 数 值 越 小 , 越 靠 前
* @Author : 87966
* @Date : 2023 / 1 / 9 16 : 44
* /
public void drag ( @NotNull ( message = "要移动的元素 ID不能为空! " ) final Long id , final Long leftId , final Long rightId ) {
// 查询出来所有元素
List < TeacherOpenCourseMergeResourcesInfo > allElement = teacherOpenCourseMergeResourcesInfoDao . getByIds ( ArrayUtil . join ( new Long [ ] { id , leftId , rightId } , "," ) ) ;
List < TeacherOpenCourseMergeResourcesInfo > allElement = teacherOpenCourseMergeResourcesInfoDao . getByIds ( ArrayUtil . join ( new Long [ ] { id , leftId , rightId } , "," ) ) ;
// 自身ID是否存在
boolean hasSelf = allElement . stream ( ) . anyMatch ( item - > item . getTeacherOpenCourseMergeCourseInfoId ( ) . equals ( id ) ) ;
@ -666,12 +674,13 @@ public class TeacherOpenCourseMergeResourcesInfoService extends CoreBaseService<
updateTemplate ( updatePO ) ;
}
}
/ * *
* 根 据 指 定 的 课 程 ID 和 章 节 ID 集 合 , 去 从 系 统 资 源 拷 贝 到 开 课 资 源 库
*
* @param teacherOpenCourseId 开 课 ID
* @param allCourseInfo 指 定 的 所 有 课 程 章 节
* @param courseInfoIdPair 拷 贝 过 来 的 ID 段 , 旧 ID 和 新 ID 的 一 个 映 射 关 系 ( 非 必 填 )
* @param teacherOpenCourseId 开 课 ID
* @param allCourseInfo 指 定 的 所 有 课 程 章 节
* @param courseInfoIdPair 拷 贝 过 来 的 ID 段 , 旧 ID 和 新 ID 的 一 个 映 射 关 系 ( 非 必 填 )
* /
public void copyOpenCourseResourcesInfoToOpenCourse ( @NotNull ( message = "开课ID不能为空! " ) Long teacherOpenCourseId ,
Collection < TeacherOpenCourseMergeCourseInfo > allCourseInfo , @Nullable Map < Long , Long > courseInfoIdPair ) {
@ -692,15 +701,17 @@ public class TeacherOpenCourseMergeResourcesInfoService extends CoreBaseService<
* < p >
* 从 开 课 资 源 库 拉 取 到 教 师 开 课 的 资 源 中 。
*
* @param resourcesInfoList 资 源 信 息 集 合
* @param resourcesInfoList 资 源 信 息 集 合
* @param teacherOpenCourseId 开 课 ID
* @param courseInfoIdPair
* @return
* /
public void copyFromOpenCourseResourcesInfo ( List < TeacherOpenCourseMergeResourcesInfo > resourcesInfoList ,
@NotNull ( message = "开课ID不能为空! " ) final Long teacherOpenCourseId , Map < Long , Long > courseInfoIdPair ) {
@NotNull ( message = "开课ID不能为空! " ) final Long teacherOpenCourseId , Map < Long , Long > courseInfoIdPair ) {
if ( CollectionUtil . isEmpty ( resourcesInfoList ) ) { return ; }
if ( CollectionUtil . isEmpty ( resourcesInfoList ) ) {
return ;
}
resourcesInfoList . forEach ( item - > {
item . setTeacherOpenCourseId ( teacherOpenCourseId ) ;
@ -708,6 +719,7 @@ public class TeacherOpenCourseMergeResourcesInfoService extends CoreBaseService<
} ) ;
resetNewId ( resourcesInfoList , courseInfoIdPair ) ;
resourcesInfoList . forEach ( item - > item . setTeacherOpenCourseMergeResourcesInfoId ( null ) ) ;
// 批量插入资源和开课关联表
insertBatch ( resourcesInfoList ) ;