Browse Source

fix 批量班级

he2802 3 years ago
parent
commit
6e4d07d029

+ 6 - 4
zhongzheng-admin/src/main/java/com/zhongzheng/controller/grade/ClassGradeController.java

@@ -73,12 +73,14 @@ public class ClassGradeController extends BaseController {
     /**
      * 查询班级列表
      */
-    @ApiOperation("批量查询班级列表")
+    @ApiOperation("批量查询商品班级列表")
     @PreAuthorize("@ss.hasPermi('grade:grade:list')")
-    @GetMapping("/listBatch")
-    public TableDataInfo<ClassGradeVo> listBatch(ClassGradeQueryBo bo) {
+    @GetMapping("/listGoodsBatch/{ids}")
+    public TableDataInfo<ClassGradeGoodsVo> listGoodsBatch(@PathVariable Long[] ids) {
         startPage();
-        List<ClassGradeVo> list = iClassGradeService.queryList(bo);
+        ClassGradeQueryBo bo = new ClassGradeQueryBo();
+        bo.setGoodsIds(Arrays.asList(ids));
+        List<ClassGradeGoodsVo> list = iClassGradeService.listGoodsBatch(bo);
         return getDataTable(list);
     }
 

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/bo/ClassGradeQueryBo.java

@@ -134,4 +134,7 @@ public class ClassGradeQueryBo extends BaseEntity {
 	 */
 	@ApiModelProperty("有接口标识")
 	private Integer hasInterface;
+
+	@ApiModelProperty("商品id数组")
+	private List<Long> goodsIds;
 }

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/mapper/ClassGradeMapper.java

@@ -6,6 +6,7 @@ import com.zhongzheng.modules.grade.bo.ClassGradeQueryBo;
 import com.zhongzheng.modules.grade.bo.ClassGradeUserQueryBo;
 import com.zhongzheng.modules.grade.domain.ClassGrade;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zhongzheng.modules.grade.vo.ClassGradeGoodsVo;
 import com.zhongzheng.modules.grade.vo.ClassGradeStudentVo;
 import com.zhongzheng.modules.grade.vo.ClassGradeUserListVo;
 import com.zhongzheng.modules.grade.vo.ClassGradeVo;
@@ -52,4 +53,6 @@ public interface ClassGradeMapper extends BaseMapper<ClassGrade> {
 
     Integer getConsoleGradeUserPeriodNum(ConsoleQueryBo bo);
 
+    List<ClassGradeGoodsVo> listGoodsBatch(ClassGradeQueryBo bo);
+
 }

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/IClassGradeService.java

@@ -4,6 +4,7 @@ import com.zhongzheng.modules.base.bo.ConsoleQueryBo;
 import com.zhongzheng.modules.course.vo.CourseUserEducationTypeVo;
 import com.zhongzheng.modules.grade.bo.*;
 import com.zhongzheng.modules.grade.domain.ClassGrade;
+import com.zhongzheng.modules.grade.vo.ClassGradeGoodsVo;
 import com.zhongzheng.modules.grade.vo.ClassGradeStudentVo;
 import com.zhongzheng.modules.grade.vo.ClassGradeUserListVo;
 import com.zhongzheng.modules.grade.vo.ClassGradeVo;
@@ -30,6 +31,8 @@ public interface IClassGradeService extends IService<ClassGrade> {
 	 */
 	List<ClassGradeVo> queryList(ClassGradeQueryBo bo);
 
+	List<ClassGradeGoodsVo> listGoodsBatch(ClassGradeQueryBo bo);
+
 	/**
 	 * 根据新增业务对象插入班级
 	 * @param bo 班级新增业务对象

+ 5 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/impl/ClassGradeServiceImpl.java

@@ -131,6 +131,11 @@ public class ClassGradeServiceImpl extends ServiceImpl<ClassGradeMapper, ClassGr
         return entity2Vo(baseMapper.queryList(bo));
     }
 
+    @Override
+    public List<ClassGradeGoodsVo> listGoodsBatch(ClassGradeQueryBo bo) {
+        return baseMapper.listGoodsBatch(bo);
+    }
+
     /**
      * 实体类转化成视图对象
      *

+ 8 - 11
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/vo/ClassGradeGoodsVo.java

@@ -1,31 +1,28 @@
 package com.zhongzheng.modules.grade.vo;
 
 import com.zhongzheng.common.annotation.Excel;
-import com.fasterxml.jackson.annotation.JsonFormat;
+import com.zhongzheng.modules.goods.vo.GoodsVo;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
-import java.util.Date;
 
+import java.util.List;
 
 
 /**
- * 班级关联商品视图对象 mall_package
+ * 班级视图对象 mall_package
  *
  * @author ruoyi
  * @date 2021-11-10
  */
 @Data
-@ApiModel("班级关联商品视图对象")
+@ApiModel("班级视图对象")
 public class ClassGradeGoodsVo {
 	private static final long serialVersionUID = 1L;
 
-	/** $pkColumn.columnComment */
-	@ApiModelProperty("$pkColumn.columnComment")
-	private Long gradeId;
-
-	/** $column.columnComment */
-	@Excel(name = "${comment}" , readConverterExp = "$column.readConverterExp()")
-	@ApiModelProperty("$column.columnComment")
+	@ApiModelProperty("商品ID")
 	private Long goodsId;
+
+	@ApiModelProperty("班级列表")
+	private List<ClassGradeVo> gradeList;
 }

+ 39 - 0
zhongzheng-system/src/main/resources/mapper/modules/grade/ClassGradeMapper.xml

@@ -165,6 +165,30 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
 
 
+    <resultMap type="com.zhongzheng.modules.grade.vo.ClassGradeGoodsVo" id="ClassGradeGoodsVoResult">
+        <result property="goodsId" column="goods_id"/>
+        <collection property="gradeList" column="goods_id" select="findGradeList"/>
+    </resultMap>
+
+    <select id="findGradeList" resultMap="ClassGradeVoResult">
+        SELECT
+            g.*,
+            (SELECT name FROM class_grade_interface i where g.interface_push_id = i.id) as interface_push_name,
+            (SELECT name FROM class_grade_interface i where g.interface_account_id = i.id) as interface_account_name,
+            (SELECT name FROM class_grade_interface i where g.interface_period_id = i.id) as interface_period_name,
+            (SELECT nick_name FROM sys_user u where g.sys_user_id = u.user_id) as nick_name,
+            (SELECT area_name FROM apply_areas a where a.area_id = g.areas_id) as area_name,
+            (SELECT area_name FROM apply_areas a where a.area_id = g.city_id) as city_name,
+            (SELECT COUNT(a.id) FROM class_grade_user a where a.grade_id = g.grade_id and a.status =1) as student_num,
+            (SELECT COUNT(a.id) FROM class_grade_user a where a.grade_id = g.grade_id and a.status =1 and official_status =1) as official_status_num,
+            (SELECT COUNT(a.id) FROM class_grade_user a where a.grade_id = g.grade_id and a.status =1 and period_status =1) as period_status_num,
+            (SELECT COUNT(a.id) FROM class_grade_user a where a.grade_id = g.grade_id and a.status =1 and period_plush =1) as period_plush_num
+        FROM
+            class_grade_goods cgg LEFT JOIN
+            class_grade g on cgg.grade_id = g.grade_id
+            where cgg.goods_id = #{goods_id} and g.`status` = 1
+    </select>
+
     <select id="queryList" parameterType="com.zhongzheng.modules.grade.bo.ClassGradeQueryBo" resultMap="ClassGradeVoResult">
         SELECT
             g.*,
@@ -760,4 +784,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             AND g.business_id = #{businessId}
         </if>
     </select>
+
+    <select id="listGoodsBatch" parameterType="com.zhongzheng.modules.grade.bo.ClassGradeQueryBo" resultMap="ClassGradeGoodsVoResult">
+        SELECT
+        g.goods_id
+        FROM
+        goods g
+        WHERE
+        1=1
+        <if test="goodsIds != null and goodsIds.size()!=0 ">
+            AND g.goods_id in
+            <foreach collection="goodsIds" item="item" index="index" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
+    </select>
 </mapper>