添加课程章节管理功能并更新课程信息
parent
8d3bf31835
commit
8c316c711b
|
|
@ -0,0 +1,82 @@
|
||||||
|
package com.zcloud.edu.web.study;
|
||||||
|
|
||||||
|
|
||||||
|
import com.alibaba.cola.dto.MultiResponse;
|
||||||
|
import com.alibaba.cola.dto.PageResponse;
|
||||||
|
import com.alibaba.cola.dto.Response;
|
||||||
|
import com.alibaba.cola.dto.SingleResponse;
|
||||||
|
import com.jjb.saas.framework.auth.model.SSOUser;
|
||||||
|
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||||
|
import com.zcloud.edu.api.study.ClassCurriculumChapterServiceI;
|
||||||
|
import com.zcloud.edu.dto.clientobject.study.ClassCurriculumChapterCO;
|
||||||
|
import com.zcloud.edu.dto.study.ClassCurriculumChapterAddCmd;
|
||||||
|
import com.zcloud.edu.dto.study.ClassCurriculumChapterPageQry;
|
||||||
|
import com.zcloud.edu.dto.study.ClassCurriculumChapterUpdateCmd;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* web-adapter
|
||||||
|
*
|
||||||
|
* @Author zhangyue
|
||||||
|
* @Date 2026-01-16 09:54:35
|
||||||
|
*/
|
||||||
|
@Api(tags = "课程章节信息")
|
||||||
|
@RequestMapping("/${application.gateway}/classCurriculumChapter")
|
||||||
|
@RestController
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class ClassCurriculumChapterController {
|
||||||
|
private final ClassCurriculumChapterServiceI classCurriculumChapterService;
|
||||||
|
|
||||||
|
@ApiOperation("新增")
|
||||||
|
@PostMapping("/save")
|
||||||
|
public SingleResponse<ClassCurriculumChapterCO> add(@Validated @RequestBody ClassCurriculumChapterAddCmd cmd) {
|
||||||
|
SSOUser ssoUser = AuthContext.getCurrentUser();
|
||||||
|
return classCurriculumChapterService.add(cmd);
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("分页")
|
||||||
|
@PostMapping("/list")
|
||||||
|
public PageResponse<ClassCurriculumChapterCO> page(@RequestBody ClassCurriculumChapterPageQry qry) {
|
||||||
|
return classCurriculumChapterService.listPage(qry);
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("所有数据")
|
||||||
|
@GetMapping("/listAll")
|
||||||
|
public MultiResponse<ClassCurriculumChapterCO> listAll() {
|
||||||
|
return MultiResponse.of(new ArrayList<ClassCurriculumChapterCO>());
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("详情")
|
||||||
|
@GetMapping("/{id}")
|
||||||
|
public SingleResponse<ClassCurriculumChapterCO> getInfoById(@PathVariable("id") Long id) {
|
||||||
|
return SingleResponse.of(new ClassCurriculumChapterCO());
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("删除")
|
||||||
|
@DeleteMapping("/{id}")
|
||||||
|
public Response remove(@PathVariable("id") Long id) {
|
||||||
|
classCurriculumChapterService.remove(id);
|
||||||
|
return SingleResponse.buildSuccess();
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("删除多个")
|
||||||
|
@DeleteMapping("/ids")
|
||||||
|
public Response removeBatch(@RequestParam Long[] ids) {
|
||||||
|
classCurriculumChapterService.removeBatch(ids);
|
||||||
|
return SingleResponse.buildSuccess();
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("修改")
|
||||||
|
@PutMapping("/edit")
|
||||||
|
public SingleResponse edit(@Validated @RequestBody ClassCurriculumChapterUpdateCmd classCurriculumChapterUpdateCmd) {
|
||||||
|
classCurriculumChapterService.edit(classCurriculumChapterUpdateCmd);
|
||||||
|
return SingleResponse.buildSuccess();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -24,7 +24,7 @@ import java.util.ArrayList;
|
||||||
* web-adapter
|
* web-adapter
|
||||||
*
|
*
|
||||||
* @Author zhangyue
|
* @Author zhangyue
|
||||||
* @Date 2026-01-13 14:18:13
|
* @Date 2026-01-16 09:54:33
|
||||||
*/
|
*/
|
||||||
@Api(tags = "班级信息")
|
@Api(tags = "班级信息")
|
||||||
@RequestMapping("/${application.gateway}/classCurriculum")
|
@RequestMapping("/${application.gateway}/classCurriculum")
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,24 @@
|
||||||
|
package com.zcloud.edu.command.convertor.study;
|
||||||
|
|
||||||
|
import com.zcloud.edu.dto.clientobject.study.ClassCurriculumChapterCO;
|
||||||
|
import com.zcloud.edu.persistence.dataobject.study.ClassCurriculumChapterDO;
|
||||||
|
import org.mapstruct.Mapper;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* web-app
|
||||||
|
*
|
||||||
|
* @Author zhangyue
|
||||||
|
* @Date 2026-01-16 09:54:35
|
||||||
|
*/
|
||||||
|
@Mapper(componentModel = "spring")
|
||||||
|
public interface ClassCurriculumChapterCoConvertor {
|
||||||
|
/**
|
||||||
|
* @param classCurriculumChapterDOs
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<ClassCurriculumChapterCO> converDOsToCOs(List<ClassCurriculumChapterDO> classCurriculumChapterDOs);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -11,7 +11,7 @@ import java.util.List;
|
||||||
* web-app
|
* web-app
|
||||||
*
|
*
|
||||||
* @Author zhangyue
|
* @Author zhangyue
|
||||||
* @Date 2026-01-13 14:18:13
|
* @Date 2026-01-16 09:54:33
|
||||||
*/
|
*/
|
||||||
@Mapper(componentModel = "spring")
|
@Mapper(componentModel = "spring")
|
||||||
public interface ClassCurriculumCoConvertor {
|
public interface ClassCurriculumCoConvertor {
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,42 @@
|
||||||
|
package com.zcloud.edu.command.query.study;
|
||||||
|
|
||||||
|
import com.alibaba.cola.dto.PageResponse;
|
||||||
|
import com.zcloud.edu.command.convertor.study.ClassCurriculumChapterCoConvertor;
|
||||||
|
import com.zcloud.edu.dto.clientobject.study.ClassCurriculumChapterCO;
|
||||||
|
import com.zcloud.edu.dto.study.ClassCurriculumChapterPageQry;
|
||||||
|
import com.zcloud.edu.persistence.dataobject.study.ClassCurriculumChapterDO;
|
||||||
|
import com.zcloud.edu.persistence.repository.study.ClassCurriculumChapterRepository;
|
||||||
|
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* web-app
|
||||||
|
*
|
||||||
|
* @Author zhangyue
|
||||||
|
* @Date 2026-01-16 09:54:35
|
||||||
|
*/
|
||||||
|
@Component
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class ClassCurriculumChapterQueryExe {
|
||||||
|
private final ClassCurriculumChapterRepository classCurriculumChapterRepository;
|
||||||
|
private final ClassCurriculumChapterCoConvertor classCurriculumChapterCoConvertor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分页
|
||||||
|
*
|
||||||
|
* @param classCurriculumChapterPageQry
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public PageResponse<ClassCurriculumChapterCO> execute(ClassCurriculumChapterPageQry classCurriculumChapterPageQry) {
|
||||||
|
Map<String, Object> params = PageQueryHelper.toHashMap(classCurriculumChapterPageQry);
|
||||||
|
PageResponse<ClassCurriculumChapterDO> pageResponse = classCurriculumChapterRepository.listPage(params);
|
||||||
|
List<ClassCurriculumChapterCO> examCenterCOS = classCurriculumChapterCoConvertor.converDOsToCOs(pageResponse.getData());
|
||||||
|
return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -18,7 +18,7 @@ import java.util.Map;
|
||||||
* web-app
|
* web-app
|
||||||
*
|
*
|
||||||
* @Author zhangyue
|
* @Author zhangyue
|
||||||
* @Date 2026-01-13 14:18:14
|
* @Date 2026-01-16 09:54:33
|
||||||
*/
|
*/
|
||||||
@Component
|
@Component
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ import org.springframework.transaction.annotation.Transactional;
|
||||||
* web-app
|
* web-app
|
||||||
*
|
*
|
||||||
* @Author zhangyue
|
* @Author zhangyue
|
||||||
* @Date 2026-01-13 14:18:13
|
* @Date 2026-01-16 09:54:33
|
||||||
*/
|
*/
|
||||||
@Component
|
@Component
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,40 @@
|
||||||
|
package com.zcloud.edu.command.study;
|
||||||
|
|
||||||
|
import com.alibaba.cola.exception.BizException;
|
||||||
|
import com.zcloud.edu.domain.gateway.study.ClassCurriculumChapterGateway;
|
||||||
|
import com.zcloud.edu.domain.model.study.ClassCurriculumChapterE;
|
||||||
|
import com.zcloud.edu.dto.study.ClassCurriculumChapterAddCmd;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import org.springframework.beans.BeanUtils;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* web-app
|
||||||
|
*
|
||||||
|
* @Author zhangyue
|
||||||
|
* @Date 2026-01-16 09:54:34
|
||||||
|
*/
|
||||||
|
@Component
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class ClassCurriculumChapterAddExe {
|
||||||
|
private final ClassCurriculumChapterGateway classCurriculumChapterGateway;
|
||||||
|
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public boolean execute(ClassCurriculumChapterAddCmd cmd) {
|
||||||
|
ClassCurriculumChapterE classCurriculumChapterE = new ClassCurriculumChapterE();
|
||||||
|
BeanUtils.copyProperties(cmd, classCurriculumChapterE);
|
||||||
|
boolean res = false;
|
||||||
|
try {
|
||||||
|
res = classCurriculumChapterGateway.add(classCurriculumChapterE);
|
||||||
|
} catch (Exception e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
if (!res) {
|
||||||
|
throw new BizException("保存失败");
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -0,0 +1,39 @@
|
||||||
|
package com.zcloud.edu.command.study;
|
||||||
|
|
||||||
|
import com.alibaba.cola.exception.BizException;
|
||||||
|
import com.zcloud.edu.domain.gateway.study.ClassCurriculumChapterGateway;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* web-app
|
||||||
|
*
|
||||||
|
* @Author zhangyue
|
||||||
|
* @Date 2026-01-16 09:54:35
|
||||||
|
*/
|
||||||
|
@Component
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class ClassCurriculumChapterRemoveExe {
|
||||||
|
private final ClassCurriculumChapterGateway classCurriculumChapterGateway;
|
||||||
|
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public boolean execute(Long id) {
|
||||||
|
boolean res = classCurriculumChapterGateway.deletedClassCurriculumChapterById(id);
|
||||||
|
if (!res) {
|
||||||
|
throw new BizException("删除失败");
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public boolean execute(Long[] ids) {
|
||||||
|
boolean res = classCurriculumChapterGateway.deletedClassCurriculumChapterByIds(ids);
|
||||||
|
if (!res) {
|
||||||
|
throw new BizException("删除失败");
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -0,0 +1,34 @@
|
||||||
|
package com.zcloud.edu.command.study;
|
||||||
|
|
||||||
|
import com.alibaba.cola.exception.BizException;
|
||||||
|
import com.zcloud.edu.domain.gateway.study.ClassCurriculumChapterGateway;
|
||||||
|
import com.zcloud.edu.domain.model.study.ClassCurriculumChapterE;
|
||||||
|
import com.zcloud.edu.dto.study.ClassCurriculumChapterUpdateCmd;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import org.springframework.beans.BeanUtils;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* web-app
|
||||||
|
*
|
||||||
|
* @Author zhangyue
|
||||||
|
* @Date 2026-01-16 09:54:36
|
||||||
|
*/
|
||||||
|
@Component
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class ClassCurriculumChapterUpdateExe {
|
||||||
|
private final ClassCurriculumChapterGateway classCurriculumChapterGateway;
|
||||||
|
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public void execute(ClassCurriculumChapterUpdateCmd classCurriculumChapterUpdateCmd) {
|
||||||
|
ClassCurriculumChapterE classCurriculumChapterE = new ClassCurriculumChapterE();
|
||||||
|
BeanUtils.copyProperties(classCurriculumChapterUpdateCmd, classCurriculumChapterE);
|
||||||
|
boolean res = classCurriculumChapterGateway.update(classCurriculumChapterE);
|
||||||
|
if (!res) {
|
||||||
|
throw new BizException("修改失败");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -11,7 +11,7 @@ import org.springframework.transaction.annotation.Transactional;
|
||||||
* web-app
|
* web-app
|
||||||
*
|
*
|
||||||
* @Author zhangyue
|
* @Author zhangyue
|
||||||
* @Date 2026-01-13 14:18:14
|
* @Date 2026-01-16 09:54:34
|
||||||
*/
|
*/
|
||||||
@Component
|
@Component
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ import org.springframework.transaction.annotation.Transactional;
|
||||||
* web-app
|
* web-app
|
||||||
*
|
*
|
||||||
* @Author zhangyue
|
* @Author zhangyue
|
||||||
* @Date 2026-01-13 14:18:14
|
* @Date 2026-01-16 09:54:34
|
||||||
*/
|
*/
|
||||||
@Component
|
@Component
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,59 @@
|
||||||
|
package com.zcloud.edu.service.study;
|
||||||
|
|
||||||
|
import com.alibaba.cola.dto.PageResponse;
|
||||||
|
import com.alibaba.cola.dto.SingleResponse;
|
||||||
|
import com.zcloud.edu.api.study.ClassCurriculumChapterServiceI;
|
||||||
|
import com.zcloud.edu.command.query.study.ClassCurriculumChapterQueryExe;
|
||||||
|
import com.zcloud.edu.command.study.ClassCurriculumChapterAddExe;
|
||||||
|
import com.zcloud.edu.command.study.ClassCurriculumChapterRemoveExe;
|
||||||
|
import com.zcloud.edu.command.study.ClassCurriculumChapterUpdateExe;
|
||||||
|
import com.zcloud.edu.dto.clientobject.study.ClassCurriculumChapterCO;
|
||||||
|
import com.zcloud.edu.dto.study.ClassCurriculumChapterAddCmd;
|
||||||
|
import com.zcloud.edu.dto.study.ClassCurriculumChapterPageQry;
|
||||||
|
import com.zcloud.edu.dto.study.ClassCurriculumChapterUpdateCmd;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* web-app
|
||||||
|
*
|
||||||
|
* @Author zhangyue
|
||||||
|
* @Date 2026-01-16 09:54:36
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class ClassCurriculumChapterServiceImpl implements ClassCurriculumChapterServiceI {
|
||||||
|
private final ClassCurriculumChapterAddExe classCurriculumChapterAddExe;
|
||||||
|
private final ClassCurriculumChapterUpdateExe classCurriculumChapterUpdateExe;
|
||||||
|
private final ClassCurriculumChapterRemoveExe classCurriculumChapterRemoveExe;
|
||||||
|
private final ClassCurriculumChapterQueryExe classCurriculumChapterQueryExe;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PageResponse<ClassCurriculumChapterCO> listPage(ClassCurriculumChapterPageQry qry) {
|
||||||
|
|
||||||
|
return classCurriculumChapterQueryExe.execute(qry);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public SingleResponse add(ClassCurriculumChapterAddCmd cmd) {
|
||||||
|
|
||||||
|
classCurriculumChapterAddExe.execute(cmd);
|
||||||
|
return SingleResponse.buildSuccess();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void edit(ClassCurriculumChapterUpdateCmd classCurriculumChapterUpdateCmd) {
|
||||||
|
classCurriculumChapterUpdateExe.execute(classCurriculumChapterUpdateCmd);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void remove(Long id) {
|
||||||
|
classCurriculumChapterRemoveExe.execute(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void removeBatch(Long[] ids) {
|
||||||
|
classCurriculumChapterRemoveExe.execute(ids);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -18,7 +18,7 @@ import org.springframework.stereotype.Service;
|
||||||
* web-app
|
* web-app
|
||||||
*
|
*
|
||||||
* @Author zhangyue
|
* @Author zhangyue
|
||||||
* @Date 2026-01-13 14:18:14
|
* @Date 2026-01-16 09:54:34
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,27 @@
|
||||||
|
package com.zcloud.edu.api.study;
|
||||||
|
|
||||||
|
import com.alibaba.cola.dto.PageResponse;
|
||||||
|
import com.alibaba.cola.dto.SingleResponse;
|
||||||
|
import com.zcloud.edu.dto.clientobject.study.ClassCurriculumChapterCO;
|
||||||
|
import com.zcloud.edu.dto.study.ClassCurriculumChapterAddCmd;
|
||||||
|
import com.zcloud.edu.dto.study.ClassCurriculumChapterPageQry;
|
||||||
|
import com.zcloud.edu.dto.study.ClassCurriculumChapterUpdateCmd;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* web-client
|
||||||
|
*
|
||||||
|
* @Author zhangyue
|
||||||
|
* @Date 2026-01-16 09:54:35
|
||||||
|
*/
|
||||||
|
public interface ClassCurriculumChapterServiceI {
|
||||||
|
PageResponse<ClassCurriculumChapterCO> listPage(ClassCurriculumChapterPageQry qry);
|
||||||
|
|
||||||
|
SingleResponse<ClassCurriculumChapterCO> add(ClassCurriculumChapterAddCmd cmd);
|
||||||
|
|
||||||
|
void edit(ClassCurriculumChapterUpdateCmd cmd);
|
||||||
|
|
||||||
|
void remove(Long id);
|
||||||
|
|
||||||
|
void removeBatch(Long[] ids);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -11,7 +11,7 @@ import com.zcloud.edu.dto.study.ClassCurriculumUpdateCmd;
|
||||||
* web-client
|
* web-client
|
||||||
*
|
*
|
||||||
* @Author zhangyue
|
* @Author zhangyue
|
||||||
* @Date 2026-01-13 14:18:14
|
* @Date 2026-01-16 09:54:34
|
||||||
*/
|
*/
|
||||||
public interface ClassCurriculumServiceI {
|
public interface ClassCurriculumServiceI {
|
||||||
PageResponse<ClassCurriculumCO> listPage(ClassCurriculumPageQry qry);
|
PageResponse<ClassCurriculumCO> listPage(ClassCurriculumPageQry qry);
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package com.zcloud.edu.dto.clientobject.study;
|
||||||
|
|
||||||
import com.alibaba.cola.dto.ClientObject;
|
import com.alibaba.cola.dto.ClientObject;
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import com.google.type.Decimal;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
|
@ -12,7 +13,7 @@ import java.time.LocalDateTime;
|
||||||
* web-client
|
* web-client
|
||||||
*
|
*
|
||||||
* @Author zhangyue
|
* @Author zhangyue
|
||||||
* @Date 2026-01-13 14:18:13
|
* @Date 2026-01-16 09:54:33
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
public class ClassCurriculumCO extends ClientObject {
|
public class ClassCurriculumCO extends ClientObject {
|
||||||
|
|
@ -29,6 +30,9 @@ public class ClassCurriculumCO extends ClientObject {
|
||||||
//课程名称
|
//课程名称
|
||||||
@ApiModelProperty(value = "课程名称")
|
@ApiModelProperty(value = "课程名称")
|
||||||
private String curriculumName;
|
private String curriculumName;
|
||||||
|
//课程总时长
|
||||||
|
@ApiModelProperty(value = "课程总时长")
|
||||||
|
private Decimal videoTotalTime;
|
||||||
//删除标识true false
|
//删除标识true false
|
||||||
@ApiModelProperty(value = "删除标识true false")
|
@ApiModelProperty(value = "删除标识true false")
|
||||||
private String deleteEnum;
|
private String deleteEnum;
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,85 @@
|
||||||
|
package com.zcloud.edu.dto.clientobject.study;
|
||||||
|
|
||||||
|
import com.alibaba.cola.dto.ClientObject;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* web-client
|
||||||
|
*
|
||||||
|
* @Author zhangyue
|
||||||
|
* @Date 2026-01-16 09:54:35
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class ClassCurriculumChapterCO extends ClientObject {
|
||||||
|
//主键
|
||||||
|
@ApiModelProperty(value = "主键")
|
||||||
|
private Long id;
|
||||||
|
//业务主键id
|
||||||
|
@ApiModelProperty(value = "业务主键id")
|
||||||
|
private String curriculumChapterId;
|
||||||
|
//班级id
|
||||||
|
@ApiModelProperty(value = "班级id")
|
||||||
|
private String classId;
|
||||||
|
//企业ID
|
||||||
|
@ApiModelProperty(value = "企业ID")
|
||||||
|
private Long corpinfoId;
|
||||||
|
//班级-课程id
|
||||||
|
@ApiModelProperty(value = "班级-课程id")
|
||||||
|
private String classCurriculumId;
|
||||||
|
//章节名字
|
||||||
|
@ApiModelProperty(value = "章节名字")
|
||||||
|
private String name;
|
||||||
|
//视频课件id
|
||||||
|
@ApiModelProperty(value = "视频课件id")
|
||||||
|
private String videoCoursewareId;
|
||||||
|
//排序
|
||||||
|
@ApiModelProperty(value = "排序")
|
||||||
|
private Integer sort;
|
||||||
|
//上级ID
|
||||||
|
@ApiModelProperty(value = "上级ID")
|
||||||
|
private String parentId;
|
||||||
|
//删除标识true false
|
||||||
|
@ApiModelProperty(value = "删除标识true false")
|
||||||
|
private String deleteEnum;
|
||||||
|
//备注
|
||||||
|
@ApiModelProperty(value = "备注")
|
||||||
|
private String remarks;
|
||||||
|
//创建人姓名
|
||||||
|
@ApiModelProperty(value = "创建人姓名")
|
||||||
|
private String createName;
|
||||||
|
//更新人姓名
|
||||||
|
@ApiModelProperty(value = "更新人姓名")
|
||||||
|
private String updateName;
|
||||||
|
//租户id
|
||||||
|
@ApiModelProperty(value = "租户id")
|
||||||
|
private Long tenantId;
|
||||||
|
//单位id
|
||||||
|
@ApiModelProperty(value = "单位id")
|
||||||
|
private Long orgId;
|
||||||
|
//版本
|
||||||
|
@ApiModelProperty(value = "版本")
|
||||||
|
private Integer version;
|
||||||
|
//创建时间
|
||||||
|
@ApiModelProperty(value = "创建时间")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||||
|
private LocalDateTime createTime;
|
||||||
|
//修改时间
|
||||||
|
@ApiModelProperty(value = "修改时间")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||||
|
private LocalDateTime updateTime;
|
||||||
|
//创建人id
|
||||||
|
@ApiModelProperty(value = "创建人id")
|
||||||
|
private Long createId;
|
||||||
|
//修改人id
|
||||||
|
@ApiModelProperty(value = "修改人id")
|
||||||
|
private Long updateId;
|
||||||
|
//环境
|
||||||
|
@ApiModelProperty(value = "环境")
|
||||||
|
private String env;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
package com.zcloud.edu.dto.study;
|
package com.zcloud.edu.dto.study;
|
||||||
|
|
||||||
import com.alibaba.cola.dto.Command;
|
import com.alibaba.cola.dto.Command;
|
||||||
|
import com.google.type.Decimal;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
@ -8,12 +9,13 @@ import lombok.EqualsAndHashCode;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
import javax.validation.constraints.NotEmpty;
|
import javax.validation.constraints.NotEmpty;
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* web-client
|
* web-client
|
||||||
*
|
*
|
||||||
* @Author zhangyue
|
* @Author zhangyue
|
||||||
* @Date 2026-01-13 14:18:13
|
* @Date 2026-01-16 09:54:32
|
||||||
*/
|
*/
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@Data
|
@Data
|
||||||
|
|
@ -36,5 +38,9 @@ public class ClassCurriculumAddCmd extends Command {
|
||||||
@NotEmpty(message = "课程名称不能为空")
|
@NotEmpty(message = "课程名称不能为空")
|
||||||
private String curriculumName;
|
private String curriculumName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "课程总时长", name = "videoTotalTime", required = true)
|
||||||
|
@NotNull(message = "课程总时长不能为空")
|
||||||
|
private Decimal videoTotalTime;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,53 @@
|
||||||
|
package com.zcloud.edu.dto.study;
|
||||||
|
|
||||||
|
import com.alibaba.cola.dto.Command;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotEmpty;
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* web-client
|
||||||
|
*
|
||||||
|
* @Author zhangyue
|
||||||
|
* @Date 2026-01-16 09:54:34
|
||||||
|
*/
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class ClassCurriculumChapterAddCmd extends Command {
|
||||||
|
@ApiModelProperty(value = "班级id", name = "classId", required = true)
|
||||||
|
@NotEmpty(message = "班级id不能为空")
|
||||||
|
private String classId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "企业ID", name = "corpinfoId", required = true)
|
||||||
|
@NotNull(message = "企业ID不能为空")
|
||||||
|
private Long corpinfoId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "班级-课程id", name = "classCurriculumId", required = true)
|
||||||
|
@NotEmpty(message = "班级-课程id不能为空")
|
||||||
|
private String classCurriculumId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "章节名字", name = "name", required = true)
|
||||||
|
@NotEmpty(message = "章节名字不能为空")
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "视频课件id", name = "videoCoursewareId", required = true)
|
||||||
|
@NotEmpty(message = "视频课件id不能为空")
|
||||||
|
private String videoCoursewareId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "排序", name = "sort", required = true)
|
||||||
|
@NotNull(message = "排序不能为空")
|
||||||
|
private Integer sort;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "上级ID", name = "parentId", required = true)
|
||||||
|
@NotEmpty(message = "上级ID不能为空")
|
||||||
|
private String parentId;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
package com.zcloud.edu.dto.study;
|
||||||
|
|
||||||
|
import com.alibaba.cola.dto.PageQuery;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* web-client
|
||||||
|
*
|
||||||
|
* @Author zhangyue
|
||||||
|
* @Date 2026-01-16 09:54:35
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class ClassCurriculumChapterPageQry extends PageQuery {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询条件操作前缀,支持以下几种数据库查询操作:
|
||||||
|
* - `like`: 模糊匹配查询,对应SQL的LIKE操作符
|
||||||
|
* - `eq`: 等值查询,对应SQL的=操作符
|
||||||
|
* - `gt`: 大于比较查询
|
||||||
|
* - `lt`: 小于比较查询
|
||||||
|
* - `ge`: 大于等于比较查询
|
||||||
|
* - `le`: 小于等于比较查询
|
||||||
|
* - `ne`: 不等比较查询,对应SQL的!=操作符
|
||||||
|
*/
|
||||||
|
private String likeCurriculumChapterId;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -0,0 +1,52 @@
|
||||||
|
package com.zcloud.edu.dto.study;
|
||||||
|
|
||||||
|
import com.alibaba.cola.dto.Command;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotEmpty;
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* web-client
|
||||||
|
*
|
||||||
|
* @Author zhangyue
|
||||||
|
* @Date 2026-01-16 09:54:36
|
||||||
|
*/
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class ClassCurriculumChapterUpdateCmd extends Command {
|
||||||
|
@ApiModelProperty(value = "主键", name = "id", required = true)
|
||||||
|
@NotNull(message = "主键不能为空")
|
||||||
|
private Long id;
|
||||||
|
@ApiModelProperty(value = "业务主键id", name = "curriculumChapterId", required = true)
|
||||||
|
@NotEmpty(message = "业务主键id不能为空")
|
||||||
|
private String curriculumChapterId;
|
||||||
|
@ApiModelProperty(value = "班级id", name = "classId", required = true)
|
||||||
|
@NotEmpty(message = "班级id不能为空")
|
||||||
|
private String classId;
|
||||||
|
@ApiModelProperty(value = "企业ID", name = "corpinfoId", required = true)
|
||||||
|
@NotNull(message = "企业ID不能为空")
|
||||||
|
private Long corpinfoId;
|
||||||
|
@ApiModelProperty(value = "班级-课程id", name = "classCurriculumId", required = true)
|
||||||
|
@NotEmpty(message = "班级-课程id不能为空")
|
||||||
|
private String classCurriculumId;
|
||||||
|
@ApiModelProperty(value = "章节名字", name = "name", required = true)
|
||||||
|
@NotEmpty(message = "章节名字不能为空")
|
||||||
|
private String name;
|
||||||
|
@ApiModelProperty(value = "视频课件id", name = "videoCoursewareId", required = true)
|
||||||
|
@NotEmpty(message = "视频课件id不能为空")
|
||||||
|
private String videoCoursewareId;
|
||||||
|
@ApiModelProperty(value = "排序", name = "sort", required = true)
|
||||||
|
@NotNull(message = "排序不能为空")
|
||||||
|
private Integer sort;
|
||||||
|
@ApiModelProperty(value = "上级ID", name = "parentId", required = true)
|
||||||
|
@NotEmpty(message = "上级ID不能为空")
|
||||||
|
private String parentId;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -8,7 +8,7 @@ import lombok.Data;
|
||||||
* web-client
|
* web-client
|
||||||
*
|
*
|
||||||
* @Author zhangyue
|
* @Author zhangyue
|
||||||
* @Date 2026-01-13 14:18:14
|
* @Date 2026-01-16 09:54:33
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
public class ClassCurriculumPageQry extends PageQuery {
|
public class ClassCurriculumPageQry extends PageQuery {
|
||||||
|
|
@ -24,6 +24,5 @@ public class ClassCurriculumPageQry extends PageQuery {
|
||||||
* - `ne`: 不等比较查询,对应SQL的!=操作符
|
* - `ne`: 不等比较查询,对应SQL的!=操作符
|
||||||
*/
|
*/
|
||||||
private String likeClassCurriculumId;
|
private String likeClassCurriculumId;
|
||||||
private String eqClassId;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
package com.zcloud.edu.dto.study;
|
package com.zcloud.edu.dto.study;
|
||||||
|
|
||||||
import com.alibaba.cola.dto.Command;
|
import com.alibaba.cola.dto.Command;
|
||||||
|
import com.google.type.Decimal;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
@ -14,7 +15,7 @@ import javax.validation.constraints.NotNull;
|
||||||
* web-client
|
* web-client
|
||||||
*
|
*
|
||||||
* @Author zhangyue
|
* @Author zhangyue
|
||||||
* @Date 2026-01-13 14:18:14
|
* @Date 2026-01-16 09:54:34
|
||||||
*/
|
*/
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@Data
|
@Data
|
||||||
|
|
@ -36,5 +37,8 @@ public class ClassCurriculumUpdateCmd extends Command {
|
||||||
@ApiModelProperty(value = "课程名称", name = "curriculumName", required = true)
|
@ApiModelProperty(value = "课程名称", name = "curriculumName", required = true)
|
||||||
@NotEmpty(message = "课程名称不能为空")
|
@NotEmpty(message = "课程名称不能为空")
|
||||||
private String curriculumName;
|
private String curriculumName;
|
||||||
|
@ApiModelProperty(value = "课程总时长", name = "videoTotalTime", required = true)
|
||||||
|
@NotNull(message = "课程总时长不能为空")
|
||||||
|
private Decimal videoTotalTime;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,31 @@
|
||||||
|
package com.zcloud.edu.domain.gateway.study;
|
||||||
|
|
||||||
|
|
||||||
|
import com.zcloud.edu.domain.model.study.ClassCurriculumChapterE;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* web-domain
|
||||||
|
*
|
||||||
|
* @Author zhangyue
|
||||||
|
* @Date 2026-01-16 09:54:35
|
||||||
|
*/
|
||||||
|
public interface ClassCurriculumChapterGateway {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增
|
||||||
|
*/
|
||||||
|
Boolean add(ClassCurriculumChapterE classCurriculumChapterE);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改
|
||||||
|
*/
|
||||||
|
Boolean update(ClassCurriculumChapterE classCurriculumChapterE);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除
|
||||||
|
*/
|
||||||
|
Boolean deletedClassCurriculumChapterById(Long id);
|
||||||
|
|
||||||
|
Boolean deletedClassCurriculumChapterByIds(Long[] id);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -7,7 +7,7 @@ import com.zcloud.edu.domain.model.study.ClassCurriculumE;
|
||||||
* web-domain
|
* web-domain
|
||||||
*
|
*
|
||||||
* @Author zhangyue
|
* @Author zhangyue
|
||||||
* @Date 2026-01-13 14:18:13
|
* @Date 2026-01-16 09:54:33
|
||||||
*/
|
*/
|
||||||
public interface ClassCurriculumGateway {
|
public interface ClassCurriculumGateway {
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,59 @@
|
||||||
|
package com.zcloud.edu.domain.model.study;
|
||||||
|
|
||||||
|
import com.jjb.saas.framework.domain.model.BaseE;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* web-domain
|
||||||
|
*
|
||||||
|
* @Author zhangyue
|
||||||
|
* @Date 2026-01-16 09:54:35
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class ClassCurriculumChapterE extends BaseE {
|
||||||
|
//主键
|
||||||
|
private Long id;
|
||||||
|
//业务主键id
|
||||||
|
private String curriculumChapterId;
|
||||||
|
//班级id
|
||||||
|
private String classId;
|
||||||
|
//企业ID
|
||||||
|
private Long corpinfoId;
|
||||||
|
//班级-课程id
|
||||||
|
private String classCurriculumId;
|
||||||
|
//章节名字
|
||||||
|
private String name;
|
||||||
|
//视频课件id
|
||||||
|
private String videoCoursewareId;
|
||||||
|
//排序
|
||||||
|
private Integer sort;
|
||||||
|
//上级ID
|
||||||
|
private String parentId;
|
||||||
|
//删除标识true false
|
||||||
|
private String deleteEnum;
|
||||||
|
//备注
|
||||||
|
private String remarks;
|
||||||
|
//创建人姓名
|
||||||
|
private String createName;
|
||||||
|
//更新人姓名
|
||||||
|
private String updateName;
|
||||||
|
//租户id
|
||||||
|
private Long tenantId;
|
||||||
|
//单位id
|
||||||
|
private Long orgId;
|
||||||
|
//版本
|
||||||
|
private Integer version;
|
||||||
|
//创建时间
|
||||||
|
private LocalDateTime createTime;
|
||||||
|
//修改时间
|
||||||
|
private LocalDateTime updateTime;
|
||||||
|
//创建人id
|
||||||
|
private Long createId;
|
||||||
|
//修改人id
|
||||||
|
private Long updateId;
|
||||||
|
//环境
|
||||||
|
private String env;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package com.zcloud.edu.domain.model.study;
|
package com.zcloud.edu.domain.model.study;
|
||||||
|
|
||||||
|
import com.google.type.Decimal;
|
||||||
import com.jjb.saas.framework.domain.model.BaseE;
|
import com.jjb.saas.framework.domain.model.BaseE;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
|
@ -9,7 +10,7 @@ import java.time.LocalDateTime;
|
||||||
* web-domain
|
* web-domain
|
||||||
*
|
*
|
||||||
* @Author zhangyue
|
* @Author zhangyue
|
||||||
* @Date 2026-01-13 14:18:13
|
* @Date 2026-01-16 09:54:33
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
public class ClassCurriculumE extends BaseE {
|
public class ClassCurriculumE extends BaseE {
|
||||||
|
|
@ -22,6 +23,8 @@ public class ClassCurriculumE extends BaseE {
|
||||||
private String classId;
|
private String classId;
|
||||||
//课程名称
|
//课程名称
|
||||||
private String curriculumName;
|
private String curriculumName;
|
||||||
|
//课程总时长
|
||||||
|
private Decimal videoTotalTime;
|
||||||
//删除标识true false
|
//删除标识true false
|
||||||
private String deleteEnum;
|
private String deleteEnum;
|
||||||
//备注
|
//备注
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,50 @@
|
||||||
|
package com.zcloud.edu.gatewayimpl.study;
|
||||||
|
|
||||||
|
import com.zcloud.edu.domain.gateway.study.ClassCurriculumChapterGateway;
|
||||||
|
import com.zcloud.edu.domain.model.study.ClassCurriculumChapterE;
|
||||||
|
import com.zcloud.edu.persistence.dataobject.study.ClassCurriculumChapterDO;
|
||||||
|
import com.zcloud.edu.persistence.repository.study.ClassCurriculumChapterRepository;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import org.springframework.beans.BeanUtils;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.Collections;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* web-infrastructure
|
||||||
|
*
|
||||||
|
* @Author zhangyue
|
||||||
|
* @Date 2026-01-16 09:54:35
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class ClassCurriculumChapterGatewayImpl implements ClassCurriculumChapterGateway {
|
||||||
|
private final ClassCurriculumChapterRepository classCurriculumChapterRepository;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Boolean add(ClassCurriculumChapterE classCurriculumChapterE) {
|
||||||
|
ClassCurriculumChapterDO d = new ClassCurriculumChapterDO();
|
||||||
|
BeanUtils.copyProperties(classCurriculumChapterE, d);
|
||||||
|
classCurriculumChapterRepository.save(d);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Boolean update(ClassCurriculumChapterE classCurriculumChapterE) {
|
||||||
|
ClassCurriculumChapterDO d = new ClassCurriculumChapterDO();
|
||||||
|
BeanUtils.copyProperties(classCurriculumChapterE, d);
|
||||||
|
classCurriculumChapterRepository.updateById(d);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Boolean deletedClassCurriculumChapterById(Long id) {
|
||||||
|
return classCurriculumChapterRepository.removeById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Boolean deletedClassCurriculumChapterByIds(Long[] ids) {
|
||||||
|
return classCurriculumChapterRepository.removeByIds(Collections.singletonList(ids));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -14,7 +14,7 @@ import java.util.Collections;
|
||||||
* web-infrastructure
|
* web-infrastructure
|
||||||
*
|
*
|
||||||
* @Author zhangyue
|
* @Author zhangyue
|
||||||
* @Date 2026-01-13 14:18:13
|
* @Date 2026-01-16 09:54:33
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,48 @@
|
||||||
|
package com.zcloud.edu.persistence.dataobject.study;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.jjb.saas.framework.repository.basedo.BaseDO;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* web-infrastructure
|
||||||
|
*
|
||||||
|
* @Author zhangyue
|
||||||
|
* @Date 2026-01-16 09:54:35
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@TableName("class_curriculum_chapter")
|
||||||
|
@NoArgsConstructor
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
public class ClassCurriculumChapterDO extends BaseDO {
|
||||||
|
//业务主键id
|
||||||
|
@ApiModelProperty(value = "业务主键id")
|
||||||
|
private String curriculumChapterId;
|
||||||
|
//班级id
|
||||||
|
@ApiModelProperty(value = "班级id")
|
||||||
|
private String classId;
|
||||||
|
//企业ID
|
||||||
|
@ApiModelProperty(value = "企业ID")
|
||||||
|
private Long corpinfoId;
|
||||||
|
//班级-课程id
|
||||||
|
@ApiModelProperty(value = "班级-课程id")
|
||||||
|
private String classCurriculumId;
|
||||||
|
//章节名字
|
||||||
|
@ApiModelProperty(value = "章节名字")
|
||||||
|
private String name;
|
||||||
|
//视频课件id
|
||||||
|
@ApiModelProperty(value = "视频课件id")
|
||||||
|
private String videoCoursewareId;
|
||||||
|
//排序
|
||||||
|
@ApiModelProperty(value = "排序")
|
||||||
|
private Integer sort;
|
||||||
|
//上级ID
|
||||||
|
@ApiModelProperty(value = "上级ID")
|
||||||
|
private String parentId;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
package com.zcloud.edu.persistence.dataobject.study;
|
package com.zcloud.edu.persistence.dataobject.study;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.google.type.Decimal;
|
||||||
import com.jjb.saas.framework.repository.basedo.BaseDO;
|
import com.jjb.saas.framework.repository.basedo.BaseDO;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
@ -11,7 +12,7 @@ import lombok.NoArgsConstructor;
|
||||||
* web-infrastructure
|
* web-infrastructure
|
||||||
*
|
*
|
||||||
* @Author zhangyue
|
* @Author zhangyue
|
||||||
* @Date 2026-01-13 14:18:13
|
* @Date 2026-01-16 09:54:33
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@TableName("class_curriculum")
|
@TableName("class_curriculum")
|
||||||
|
|
@ -30,6 +31,9 @@ public class ClassCurriculumDO extends BaseDO {
|
||||||
//课程名称
|
//课程名称
|
||||||
@ApiModelProperty(value = "课程名称")
|
@ApiModelProperty(value = "课程名称")
|
||||||
private String curriculumName;
|
private String curriculumName;
|
||||||
|
//课程总时长
|
||||||
|
@ApiModelProperty(value = "课程总时长")
|
||||||
|
private Decimal videoTotalTime;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
package com.zcloud.edu.persistence.mapper.study;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.zcloud.edu.persistence.dataobject.study.ClassCurriculumChapterDO;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* web-infrastructure
|
||||||
|
*
|
||||||
|
* @Author zhangyue
|
||||||
|
* @Date 2026-01-16 09:54:35
|
||||||
|
*/
|
||||||
|
@Mapper
|
||||||
|
public interface ClassCurriculumChapterMapper extends BaseMapper<ClassCurriculumChapterDO> {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -8,7 +8,7 @@ import org.apache.ibatis.annotations.Mapper;
|
||||||
* web-infrastructure
|
* web-infrastructure
|
||||||
*
|
*
|
||||||
* @Author zhangyue
|
* @Author zhangyue
|
||||||
* @Date 2026-01-13 14:18:13
|
* @Date 2026-01-16 09:54:33
|
||||||
*/
|
*/
|
||||||
@Mapper
|
@Mapper
|
||||||
public interface ClassCurriculumMapper extends BaseMapper<ClassCurriculumDO> {
|
public interface ClassCurriculumMapper extends BaseMapper<ClassCurriculumDO> {
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,39 @@
|
||||||
|
package com.zcloud.edu.persistence.repository.impl.study;
|
||||||
|
|
||||||
|
import com.alibaba.cola.dto.PageResponse;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.jjb.saas.framework.repository.common.PageHelper;
|
||||||
|
import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
|
||||||
|
import com.zcloud.edu.persistence.dataobject.study.ClassCurriculumChapterDO;
|
||||||
|
import com.zcloud.edu.persistence.mapper.study.ClassCurriculumChapterMapper;
|
||||||
|
import com.zcloud.edu.persistence.repository.study.ClassCurriculumChapterRepository;
|
||||||
|
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
||||||
|
import com.zcloud.gbscommon.utils.Query;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* web-infrastructure
|
||||||
|
*
|
||||||
|
* @Author zhangyue
|
||||||
|
* @Date 2026-01-16 09:54:35
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class ClassCurriculumChapterRepositoryImpl extends BaseRepositoryImpl<ClassCurriculumChapterMapper, ClassCurriculumChapterDO> implements ClassCurriculumChapterRepository {
|
||||||
|
private final ClassCurriculumChapterMapper classCurriculumChapterMapper;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PageResponse<ClassCurriculumChapterDO> listPage(Map<String, Object> params) {
|
||||||
|
IPage<ClassCurriculumChapterDO> iPage = new Query<ClassCurriculumChapterDO>().getPage(params);
|
||||||
|
QueryWrapper<ClassCurriculumChapterDO> queryWrapper = new QueryWrapper<>();
|
||||||
|
queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params);
|
||||||
|
queryWrapper.orderByDesc("create_time");
|
||||||
|
IPage<ClassCurriculumChapterDO> result = classCurriculumChapterMapper.selectPage(iPage, queryWrapper);
|
||||||
|
return PageHelper.pageToResponse(result, result.getRecords());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -6,7 +6,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.jjb.saas.framework.repository.common.PageHelper;
|
import com.jjb.saas.framework.repository.common.PageHelper;
|
||||||
import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
|
import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
|
||||||
import com.zcloud.edu.persistence.dataobject.study.ClassCurriculumDO;
|
import com.zcloud.edu.persistence.dataobject.study.ClassCurriculumDO;
|
||||||
import com.zcloud.edu.persistence.dataobject.study.StudentDO;
|
|
||||||
import com.zcloud.edu.persistence.mapper.study.ClassCurriculumMapper;
|
import com.zcloud.edu.persistence.mapper.study.ClassCurriculumMapper;
|
||||||
import com.zcloud.edu.persistence.repository.study.ClassCurriculumRepository;
|
import com.zcloud.edu.persistence.repository.study.ClassCurriculumRepository;
|
||||||
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
||||||
|
|
@ -20,7 +19,7 @@ import java.util.Map;
|
||||||
* web-infrastructure
|
* web-infrastructure
|
||||||
*
|
*
|
||||||
* @Author zhangyue
|
* @Author zhangyue
|
||||||
* @Date 2026-01-13 14:18:14
|
* @Date 2026-01-16 09:54:34
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
package com.zcloud.edu.persistence.repository.study;
|
||||||
|
|
||||||
|
import com.alibaba.cola.dto.PageResponse;
|
||||||
|
import com.jjb.saas.framework.repository.repo.BaseRepository;
|
||||||
|
import com.zcloud.edu.persistence.dataobject.study.ClassCurriculumChapterDO;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* web-infrastructure
|
||||||
|
*
|
||||||
|
* @Author zhangyue
|
||||||
|
* @Date 2026-01-16 09:54:35
|
||||||
|
*/
|
||||||
|
public interface ClassCurriculumChapterRepository extends BaseRepository<ClassCurriculumChapterDO> {
|
||||||
|
PageResponse<ClassCurriculumChapterDO> listPage(Map<String, Object> params);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -10,7 +10,7 @@ import java.util.Map;
|
||||||
* web-infrastructure
|
* web-infrastructure
|
||||||
*
|
*
|
||||||
* @Author zhangyue
|
* @Author zhangyue
|
||||||
* @Date 2026-01-13 14:18:14
|
* @Date 2026-01-16 09:54:34
|
||||||
*/
|
*/
|
||||||
public interface ClassCurriculumRepository extends BaseRepository<ClassCurriculumDO> {
|
public interface ClassCurriculumRepository extends BaseRepository<ClassCurriculumDO> {
|
||||||
PageResponse<ClassCurriculumDO> listPage(Map<String, Object> params);
|
PageResponse<ClassCurriculumDO> listPage(Map<String, Object> params);
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
|
||||||
|
<mapper namespace="com.zcloud.edu.persistence.mapper.study.ClassCurriculumChapterMapper">
|
||||||
|
|
||||||
|
</mapper>
|
||||||
|
|
||||||
Loading…
Reference in New Issue