Jelajahi Sumber

单个班级班级课程列表

DESKTOP-USV654P\pc 10 bulan lalu
induk
melakukan
6c4e9eb8ec

+ 26 - 4
src/main/java/com/xjrsoft/module/base/controller/BaseClassCourseController.java

@@ -27,11 +27,9 @@ import com.xjrsoft.module.base.service.IBaseClassCourseService;
 import com.xjrsoft.module.base.service.IBaseClassService;
 import com.xjrsoft.module.base.service.IBaseCourseSubjectService;
 import com.xjrsoft.module.base.service.IBaseSemesterService;
-import com.xjrsoft.module.base.vo.BaseClassCourseExcelVo;
-import com.xjrsoft.module.base.vo.BaseClassCourseListVo;
-import com.xjrsoft.module.base.vo.BaseClassCoursePageVo;
-import com.xjrsoft.module.base.vo.BaseClassCourseVo;
+import com.xjrsoft.module.base.vo.*;
 import com.xjrsoft.module.base.dto.ClassCourseTextbookExportQueryDto;
+import com.xjrsoft.module.system.entity.DictionaryDetail;
 import com.xjrsoft.module.textbook.entity.Textbook;
 import com.xjrsoft.module.textbook.service.ITextbookService;
 import io.swagger.annotations.Api;
@@ -118,6 +116,30 @@ public class BaseClassCourseController {
         return RT.ok(baseClassCourseListVoList);
     }
 
+    @GetMapping(value = "/mobile-list")
+    @ApiOperation(value = "单个班级班级课程列表")
+    @SaCheckPermission("baseclasscourse:detail")
+    public RT<List<BaseClassCourseMobileListVo>> mobileList(@Valid BaseClassCourseListDto dto) {
+        MPJLambdaWrapper<BaseClassCourse> baseClassCourseMPJLambdaWrapper = new MPJLambdaWrapper<>();
+        baseClassCourseMPJLambdaWrapper
+                .disableSubLogicDel()
+                .select(BaseClassCourse::getId)
+                .selectAs(BaseCourseSubject::getName, BaseClassCourseMobileListVo::getCourseName)
+                .selectAs(Textbook::getBookName, BaseClassCourseMobileListVo::getBookName)
+                .selectAs(Textbook::getPrice, BaseClassCourseMobileListVo::getPrice)
+                .selectAs(DictionaryDetail::getName, BaseClassCourseMobileListVo::getTextbookTypeName)
+                .select(BaseClassCourse.class, x -> VoToColumnUtil.fieldsToColumns(BaseClassCourseMobileListVo.class).contains(x.getProperty()))
+                .leftJoin(BaseCourseSubject.class, BaseCourseSubject::getId, BaseClassCourse::getCourseId)
+                .leftJoin(Textbook.class, Textbook::getId, BaseClassCourse::getTextbookId)
+                .leftJoin(DictionaryDetail.class,DictionaryDetail::getCode,Textbook::getTextbookType)
+                .eq(dto.getBaseSemesterId() != null && dto.getBaseSemesterId() > 0, BaseClassCourse::getBaseSemesterId, dto.getBaseSemesterId())
+                .eq(dto.getClassId() != null && dto.getClassId() > 0, BaseClassCourse::getClassId, dto.getClassId())
+                .eq(BaseClassCourse::getDeleteMark, DeleteMark.NODELETE.getCode())
+        ;
+        List<BaseClassCourseMobileListVo> baseClassCourseListVoList = baseClassCourseService.selectJoinList(BaseClassCourseMobileListVo.class, baseClassCourseMPJLambdaWrapper);
+        return RT.ok(baseClassCourseListVoList);
+    }
+
     @GetMapping("/getSemesterTree")
     @ApiOperation("获取年级树结构")
     @SaCheckPermission("baseclasscourse:detail")

+ 53 - 0
src/main/java/com/xjrsoft/module/base/vo/BaseClassCourseMobileListVo.java

@@ -0,0 +1,53 @@
+package com.xjrsoft.module.base.vo;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ContentStyle;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class BaseClassCourseMobileListVo {
+
+    /**
+     *
+     */
+    @ContentStyle(dataFormat = 49)
+    @ApiModelProperty("")
+    private String id;
+    /**
+     * 班级id(base_class)
+     */
+    @ContentStyle(dataFormat = 49)
+    @ApiModelProperty("班级id(base_class)")
+    private Long classId;
+
+    /**
+     * 课程id(base_course_subject)
+     */
+    @ContentStyle(dataFormat = 49)
+    @ApiModelProperty("课程id(base_course_subject)")
+    private Long courseId;
+
+    @ApiModelProperty("课程")
+    private String courseName;
+
+    /**
+     * 教材id(textbook)
+     */
+    @ContentStyle(dataFormat = 49)
+    @ApiModelProperty("教材id(textbook)")
+    private Long textbookId;
+    /**
+     * 教材(textbook)
+     */
+    @ApiModelProperty("教材(textbook)")
+    private String bookName;
+
+    @ExcelProperty("价格")
+    private BigDecimal price;
+
+    @ExcelProperty("类型")
+    private String textbookTypeName;
+}