liujc 2 年之前
父節點
當前提交
21cbd559be

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/DegreeRegistrationDao.java

@@ -39,5 +39,5 @@ public interface DegreeRegistrationDao extends BaseDAO<Integer, DegreeRegistrati
      *
      * @param degreeId 考级ID
      */
-    List<DegreeRegistration> selectByDegreeId(@Param("degreeId") Long degreeId);
+    List<DegreeRegistration> selectByDegreeId(@Param("degreeIds") List<Long> degreeId);
 }

+ 25 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/DegreeServiceImpl.java

@@ -3,6 +3,7 @@ package com.ym.mec.biz.service.impl;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.beust.jcommander.internal.Lists;
 import com.microsvc.toolkit.common.response.paging.QueryInfo;
 import com.ym.mec.biz.dal.dao.DegreeRegistrationDao;
 import com.ym.mec.biz.dal.dao.OrganizationDao;
@@ -100,6 +101,29 @@ public class DegreeServiceImpl extends ServiceImpl<DegreeMapper, Degree> impleme
 
         List<Organization> organs = organizationService.findOrgans(organIds, tenantId);
 
+
+        // 考级ID集合
+        List<Long> degreeIds = degrees.stream().map(DegreeWrapper.Degree::getId).collect(Collectors.toList());
+
+        // 查询考级报名的订单
+        List<DegreeRegistration> registrations = degreeRegistrationDao.selectByDegreeId(degreeIds);
+
+        // 按考级ID分组
+        Map<Long, List<DegreeRegistration>> registrationMap = registrations.stream().collect(Collectors.groupingBy(DegreeRegistration::getDegreeId));
+
+        for (DegreeWrapper.Degree degree : degrees) {
+            List<DegreeRegistration> registrationList = registrationMap.get(degree.getId());
+            if (CollectionUtils.isEmpty(registrationList)) {
+                continue;
+            }
+            List<Integer> userIds = registrationList.stream().map(DegreeRegistration::getUserId).collect(Collectors.toList());
+
+            degree.setRegisterTotal(userIds.size());
+
+            degree.setRegisterNum(new HashSet<>(userIds).size());
+
+        }
+
         degrees.forEach(o -> {
             List<String> organNames = Arrays.stream(o.getOrganIds().split(","))
                     .filter(Objects::nonNull)
@@ -204,7 +228,7 @@ public class DegreeServiceImpl extends ServiceImpl<DegreeMapper, Degree> impleme
         statistical.setRegisterNum(degree.getRegisterNum());
 
         // 查询考级报名的订单
-        List<DegreeRegistration> registrations = degreeRegistrationDao.selectByDegreeId(id);
+        List<DegreeRegistration> registrations = degreeRegistrationDao.selectByDegreeId(Lists.newArrayList(id));
 
         if (CollectionUtils.isEmpty(registrations)) {
             return statistical;

+ 4 - 1
mec-biz/src/main/resources/config/mybatis/DegreeRegistrationMapper.xml

@@ -342,7 +342,10 @@
     <select id="selectByDegreeId" resultMap="DegreeRegistration">
         SELECT *
         FROM degree_registration
-        WHERE degree_id_ = #{degreeId}
+        WHERE degree_id_ in
+        <foreach collection="degreeIds" item="degreeId" open="(" separator="," close=")">
+            #{degreeId}
+        </foreach>
           AND status_ = 2
     </select>
 </mapper>

+ 15 - 13
mec-web/src/main/java/com/ym/mec/web/controller/ExportController.java

@@ -1773,28 +1773,30 @@ public class ExportController extends BaseController {
             throw new BizException("没有可导出的记录");
         }
         Map<String, String> map = new HashMap<>(10);
-        map.put("一级", "1");
-        map.put("二级", "2");
-        map.put("三级", "3");
-        map.put("四级", "4");
-        map.put("五级", "5");
-        map.put("六级", "6");
-        map.put("七级", "7");
-        map.put("八级", "8");
-        map.put("九级", "9");
-        map.put("十级", "10");
+        map.put("1","一级");
+        map.put("2","二级");
+        map.put("3","三级");
+        map.put("4","四级");
+        map.put("5","五级");
+        map.put("6","六级");
+        map.put("7","七级");
+        map.put("8","八级");
+        map.put("9","九级");
+        map.put("10","十级");
         for (DegreeRegistration row : pageList.getRows()) {
 //            row.setActivityTag(map.get(row.getLevel()));
 //            if (row.getType() == DegreeTypeEnum.THEORY) {
 //                row.setSubject("乐理");
 //            }
             row.setGender("1".equals(row.getGender()) ? "男" : "女");
+            row.setLevel(map.get(row.getLevel()));
         }
         OutputStream outputStream = response.getOutputStream();
         try {
-            String[] header = {"姓名", "性别", "编号", "证件号码",  "VIP老师",  "声部课老师", "城市", "学校", "报考乐器", "报考级别", "级别", "乐理级别证书", "家长联系电话", "考级费用", "备注", "缴费状态", "订单编号", "商户订单号", "报名时间"};
-            String[] body = {"name", "gender", "id", "idcard",  "vipTeacherName",  "normalTeacherName", "city", "school", "subject", "level", "activityTag",
-                    "theoryCert", "mobile", "money", "memo", "status == 2?'已缴费':status == 3?'已退费':'未缴费'", "orderNo", "transNo", "createTime"};
+            String[] header = {"姓名", "性别", "用户编号", "证件号码", "所属城市", "学校", "报考专业", "报考信息", "证书", "联系电话", "备注", "缴费状态", "订单编号", "交易流水号", "报名时间"};
+            String[] body = {"name", "gender", "userId", "idcard",  "organName",  "school", "type.code =='GRADE'?'专业考级':'乐理考级'",
+                    "type.code =='GRADE'?subjectName+'/'+level+'/'+money +'元':level+'/'+money +'元'",
+                    "theoryCert", "mobile", "memo", "status == 2?'已缴费':status == 3?'已退费':'未缴费'", "orderNo", "transNo", "createTime"};
             HSSFWorkbook workbook = POIUtil.exportExcel(header, body, pageList.getRows());
             response.setContentType("application/octet-stream");
             response.setHeader("Content-Disposition", "attachment;filename=lender-" + DateUtil.getDate(new Date()) + ".xls");