zouxuan пре 3 година
родитељ
комит
ebaca6daba

+ 11 - 4
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentRegistrationDao.java

@@ -4,15 +4,12 @@ import java.math.BigDecimal;
 import java.util.*;
 
 import com.ym.mec.biz.dal.dto.*;
-import com.ym.mec.biz.dal.entity.MusicGroup;
-import com.ym.mec.biz.dal.entity.Subject;
+import com.ym.mec.biz.dal.entity.*;
 
 import com.ym.mec.biz.dal.enums.StudentMusicGroupStatusEnum;
 import org.apache.ibatis.annotations.Param;
 
 import com.ym.mec.auth.api.entity.SysUser;
-import com.ym.mec.biz.dal.entity.MusicGroupSubjectPlan;
-import com.ym.mec.biz.dal.entity.StudentRegistration;
 import com.ym.mec.biz.dal.enums.PaymentStatusEnum;
 import com.ym.mec.common.dal.BaseDAO;
 
@@ -707,4 +704,14 @@ public interface StudentRegistrationDao extends BaseDAO<Long, StudentRegistratio
      */
     List<CloudTeacherActiveTargetJsonDto> queryOrganTarget();
 
+    /**
+    * @description: 获取乐团在读学员乐保信息
+     * @param params
+    * @return java.util.List<com.ym.mec.biz.dal.entity.StudentInstrument>
+    * @author zx
+    * @date 2021/11/9 10:40
+    */
+    List<StudentInstrument> queryMusicStudentInstrument(Map<String, Object> params);
+
+    int countMusicStudentInstrument(Map<String, Object> params);
 }

+ 44 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/MusicStudentInstrumentDto.java

@@ -0,0 +1,44 @@
+package com.ym.mec.biz.dal.dto;
+
+public class MusicStudentInstrumentDto{
+
+    private Integer userId;
+
+    private String username;
+
+    private String avatar;
+
+    private Boolean hasInstrument;
+
+    public Integer getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Integer userId) {
+        this.userId = userId;
+    }
+
+    public String getUsername() {
+        return username;
+    }
+
+    public void setUsername(String username) {
+        this.username = username;
+    }
+
+    public String getAvatar() {
+        return avatar;
+    }
+
+    public void setAvatar(String avatar) {
+        this.avatar = avatar;
+    }
+
+    public Boolean getHasInstrument() {
+        return hasInstrument;
+    }
+
+    public void setHasInstrument(Boolean hasInstrument) {
+        this.hasInstrument = hasInstrument;
+    }
+}

+ 9 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/page/StudentInstrumentQueryInfo.java

@@ -29,7 +29,6 @@ public class StudentInstrumentQueryInfo extends QueryInfo {
     @ApiModelProperty(value = "商品分类id")
     private Integer goodsCategoryId;
 
-
     @ApiModelProperty(value = "乐器品牌")
     private String goodsBrand;
 
@@ -42,6 +41,15 @@ public class StudentInstrumentQueryInfo extends QueryInfo {
     @ApiModelProperty(value = "是否乐保 0-不是 1-是")
     private Integer status;
 
+    private String musicGroupId;
+
+    public String getMusicGroupId() {
+        return musicGroupId;
+    }
+
+    public void setMusicGroupId(String musicGroupId) {
+        this.musicGroupId = musicGroupId;
+    }
 
     public Integer getStudentId() {
         return studentId;

+ 11 - 12
mec-biz/src/main/java/com/ym/mec/biz/service/StudentRegistrationService.java

@@ -14,19 +14,9 @@ import com.ym.mec.biz.dal.dto.StudentInfo;
 import com.ym.mec.biz.dal.dto.StudentMusicDetailDto;
 import com.ym.mec.biz.dal.dto.StudentMusicGroupDto;
 import com.ym.mec.biz.dal.dto.StudentRegisterInstrumentsDetailDto;
-import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderCourseSettings;
-import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderStudentDetail;
-import com.ym.mec.biz.dal.entity.MusicGroupSubjectGoodsGroup;
-import com.ym.mec.biz.dal.entity.MusicGroupSubjectPlan;
-import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
-import com.ym.mec.biz.dal.entity.StudentPaymentOrderDetail;
-import com.ym.mec.biz.dal.entity.StudentRegistration;
-import com.ym.mec.biz.dal.entity.Subject;
+import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.ClassGroupTypeEnum;
-import com.ym.mec.biz.dal.page.MusicGroupRecordStudentQueryInfo;
-import com.ym.mec.biz.dal.page.NoClassMusicStudentQueryInfo;
-import com.ym.mec.biz.dal.page.RegistrationOrPreQueryInfo;
-import com.ym.mec.biz.dal.page.StudentRegistrationQueryInfo;
+import com.ym.mec.biz.dal.page.*;
 import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
@@ -458,4 +448,13 @@ public interface StudentRegistrationService extends BaseService<Long, StudentReg
      * @return
      */
     Boolean setCloudTeacherToFailed(StudentRegistration studentRegistration);
+
+    /**
+    * @description: 获取乐团在读学员乐保信息
+     * @param queryInfo
+    * @return com.ym.mec.common.page.PageInfo<com.ym.mec.biz.dal.entity.StudentRegistration>
+    * @author zx
+    * @date 2021/11/9 10:27
+    */
+    PageInfo<StudentInstrument> queryMusicStudentInstrument(StudentPreRegistrationQueryInfo queryInfo);
 }

+ 25 - 8
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java

@@ -21,6 +21,7 @@ import java.util.stream.Collectors;
 import javax.annotation.Resource;
 
 import com.ym.mec.biz.dal.dto.*;
+import com.ym.mec.biz.dal.page.*;
 import com.ym.mec.biz.service.*;
 import com.ym.mec.common.constant.CommonConstants;
 import org.apache.commons.lang3.StringUtils;
@@ -105,10 +106,6 @@ import com.ym.mec.biz.dal.enums.OrderTypeEnum;
 import com.ym.mec.biz.dal.enums.PaymentStatusEnum;
 import com.ym.mec.biz.dal.enums.PlatformCashAccountDetailTypeEnum;
 import com.ym.mec.biz.dal.enums.StudentMusicGroupStatusEnum;
-import com.ym.mec.biz.dal.page.MusicGroupRecordStudentQueryInfo;
-import com.ym.mec.biz.dal.page.NoClassMusicStudentQueryInfo;
-import com.ym.mec.biz.dal.page.RegistrationOrPreQueryInfo;
-import com.ym.mec.biz.dal.page.StudentRegistrationQueryInfo;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.entity.ImResult;
@@ -2077,10 +2074,30 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
 		return true;
 	}
 
-	@Override
+    @Override
+    public PageInfo<StudentInstrument> queryMusicStudentInstrument(StudentPreRegistrationQueryInfo queryInfo) {
+        PageInfo<StudentInstrument> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+        Map<String, Object> params = new HashMap<String, Object>();
+        MapUtil.populateMap(params, queryInfo);
+
+        List<StudentInstrument> dataList = null;
+        int count = studentRegistrationDao.countMusicStudentInstrument(params);
+        if (count > 0) {
+            pageInfo.setTotal(count);
+            params.put("offset", pageInfo.getOffset());
+            dataList = studentRegistrationDao.queryMusicStudentInstrument(params);
+        }
+        if (count == 0) {
+            dataList = new ArrayList<>();
+        }
+        pageInfo.setRows(dataList);
+        return pageInfo;
+    }
+
+    @Override
 	public PageInfo<StudentRegisterInstrumentsDetailDto> queryStudentRegisterInstrumentsDetailList(MusicGroupRecordStudentQueryInfo queryInfo) {
-		PageInfo<StudentRegisterInstrumentsDetailDto> pageInfo = new PageInfo<StudentRegisterInstrumentsDetailDto>(queryInfo.getPage(), queryInfo.getRows());
-		Map<String, Object> params = new HashMap<String, Object>();
+		PageInfo<StudentRegisterInstrumentsDetailDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+		Map<String, Object> params = new HashMap<>();
 		MapUtil.populateMap(params, queryInfo);
 
 		List<StudentRegisterInstrumentsDetailDto> dataList = null;
@@ -2091,7 +2108,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
 			dataList = studentRegistrationDao.queryStudentRegisterInstrumentsDetailList(params);
 		}
 		if (count == 0) {
-			dataList = new ArrayList<StudentRegisterInstrumentsDetailDto>();
+			dataList = new ArrayList<>();
 		}
 		pageInfo.setRows(dataList);
 		return pageInfo;

+ 2 - 1
mec-biz/src/main/resources/config/mybatis/CourseHomeworkMapper.xml

@@ -311,7 +311,8 @@
 			</if>
 			<if test="search != null and search != ''">
 				AND (cs.id_ = #{search} OR cs.name_ LIKE CONCAT('%',#{search},'%')
-				OR mg.name_ LIKE CONCAT('%',#{search},'%') OR mg.id_ = #{search})
+				OR mg.name_ LIKE CONCAT('%',#{search},'%')
+				OR su.real_name_ LIKE CONCAT('%',#{search},'%') OR mg.id_ = #{search} OR cs.actual_teacher_id_ = #{search})
 			</if>
 		</where>
 	</sql>

+ 10 - 1
mec-biz/src/main/resources/config/mybatis/StudentInstrumentMapper.xml

@@ -167,20 +167,29 @@
         SELECT si.*,su.username_ studentName,su.phone_ phone,o.name_ organName FROM student_instrument si
         LEFT JOIN sys_user su ON su.id_ = si.student_id_
         LEFT JOIN organization o ON o.id_ = si.organ_id_
+        <if test="musicGroupId != null and  musicGroupId != ''">
+            LEFT JOIN student_payment_order spo ON spo.id_ = si.order_id_ AND spo.music_group_id_ = #{musicGroupId} AND spo.status_ = 'SUCCESS'
+        </if>
         <include refid="queryPageSql"/>
         <include refid="global.limit"/>
     </select>
 
     <!-- 查询当前表的总记录数 -->
     <select id="queryCount" resultType="int">
-        SELECT COUNT(*)
+        SELECT COUNT(si.id_)
         FROM student_instrument si
         LEFT JOIN sys_user su ON su.id_ = si.student_id_
+        <if test="musicGroupId != null and  musicGroupId != ''">
+            LEFT JOIN student_payment_order spo ON spo.id_ = si.order_id_ AND spo.music_group_id_ = #{musicGroupId} AND spo.status_ = 'SUCCESS'
+        </if>
         <include refid="queryPageSql"/>
     </select>
 
     <sql id="queryPageSql">
         <where>
+            <if test="musicGroupId != null and  musicGroupId != ''">
+                AND (si.order_id_ IS NULL OR spo.id_ IS NOT NULL)
+            </if>
             <if test="studentId != null">
                 AND si.student_id_ = #{studentId}
             </if>

+ 26 - 0
mec-biz/src/main/resources/config/mybatis/StudentRegistrationMapper.xml

@@ -1804,4 +1804,30 @@
         AND sr.music_group_status_ = 'NORMAL' AND mg.course_view_type_ != 2 AND mg.`status_` = 'PROGRESS'
         GROUP BY su.organ_id_
     </select>
+    <resultMap id="MusicStudentInstrumentDto" type="com.ym.mec.biz.dal.dto.MusicStudentInstrumentDto">
+        <result property="username" column="username_"/>
+        <result property="userId" column="user_id_"/>
+        <result property="avatar" column="avatar_"/>
+        <result property="hasInstrument" column="has_instrument_"/>
+    </resultMap>
+    <select id="queryMusicStudentInstrument" resultMap="MusicStudentInstrumentDto">
+        SELECT sr.user_id_,su.username_,su.avatar_,CASE WHEN si.id_ IS NULL THEN 0 ELSE 1 END has_instrument_ FROM student_registration sr
+        LEFT JOIN student_instrument si ON sr.user_id_ = si.student_id_ AND si.del_flag_ = 0 AND si.end_time_ > NOW()
+        LEFT JOIN student_payment_order spo ON spo.id_ = si.order_id_ AND spo.music_group_id_ = sr.music_group_id_ AND spo.status_ = 'SUCCESS'
+        LEFT JOIN sys_user su ON su.id_ = sr.user_id_
+        WHERE sr.music_group_status_ = 'NORMAL' AND sr.music_group_id_ = #{musicGroupId}
+        <if test="search != null and search != ''">
+            AND (sr.user_id_ = #{search} OR su.username_ LIKE CONCAT('%',#{search},'%') OR su.phone_ LIKE CONCAT('%',#{search},'%'))
+        </if>
+        <include refid="global.limit"/>
+    </select>
+    <select id="countMusicStudentInstrument" resultType="int">
+        SELECT DISTINCT sr.user_id_ FROM student_registration sr
+        LEFT JOIN sys_user su ON su.id_ = sr.user_id_
+        WHERE sr.music_group_status_ = 'NORMAL' AND sr.music_group_id_ = #{musicGroupId}
+        <if test="search != null and search != ''">
+            AND (sr.user_id_ = #{search} OR su.username_ LIKE CONCAT('%',#{search},'%') OR su.phone_ LIKE CONCAT('%',#{search},'%'))
+        </if>
+    </select>
+
 </mapper>

+ 12 - 4
mec-web/src/main/java/com/ym/mec/web/controller/ExportController.java

@@ -1238,7 +1238,9 @@ public class ExportController extends BaseController {
         managerDownload.setUpdateTime(nowDate);
         managerDownloadDao.insert(managerDownload);
         exportService.superFindCourseSchedules(queryInfo, managerDownload);
-        return succeed(fileName+"导出申请已提交,请到【报表中心-下载列表查看】");
+        HttpResponseResult<Object> succeed = succeed();
+        succeed.setMsg(fileName + "导出申请已提交,请到【报表中心-下载列表查看】");
+        return succeed;
     }
 
 
@@ -1492,7 +1494,9 @@ public class ExportController extends BaseController {
         managerDownload.setUpdateTime(nowDate);
         managerDownloadDao.insert(managerDownload);
         exportService.orderList(params, managerDownload);
-        return succeed(fileName+"导出申请已提交,请到【报表中心-下载列表查看】");
+        HttpResponseResult<Object> succeed = succeed();
+        succeed.setMsg(fileName + "导出申请已提交,请到【报表中心-下载列表查看】");
+        return succeed;
     }
 
 
@@ -1517,7 +1521,9 @@ public class ExportController extends BaseController {
         managerDownload.setUpdateTime(nowDate);
         managerDownloadDao.insert(managerDownload);
         exportService.studentVipPractice(organId, managerDownload);
-        return succeed(fileName+"导出申请已提交,请到【报表中心-下载列表查看】");
+        HttpResponseResult<Object> succeed = succeed();
+        succeed.setMsg(fileName + "导出申请已提交,请到【报表中心-下载列表查看】");
+        return succeed;
     }
 
 
@@ -2472,7 +2478,9 @@ public class ExportController extends BaseController {
         managerDownload.setUpdateTime(nowDate);
         managerDownloadDao.insert(managerDownload);
         exportService.routeOrderList(params, managerDownload);
-        return succeed(fileName+"导出申请已提交,请到【报表中心-下载列表查看】");
+        HttpResponseResult<Object> succeed = succeed();
+        succeed.setMsg(fileName + "导出申请已提交,请到【报表中心-下载列表查看】");
+        return succeed;
     }
 
 

+ 10 - 10
mec-web/src/main/java/com/ym/mec/web/controller/WebCourseHomeworkController.java

@@ -51,17 +51,17 @@ public class WebCourseHomeworkController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-            Employee employee = employeeDao.get(sysUser.getId());
-            if (StringUtils.isEmpty(queryInfo.getOrganId())) {
-                queryInfo.setOrganId(employee.getOrganIdList());
-            } else if (StringUtils.isEmpty(employee.getOrganIdList())) {
-                return failed("用户所在分部异常");
-            } else {
-                List<String> list = Arrays.asList(employee.getOrganIdList().split(","));
-                if (!list.containsAll(Arrays.asList(queryInfo.getOrganId().split(",")))) {
-                    return failed("非法请求");
-                }
+        Employee employee = employeeDao.get(sysUser.getId());
+        if (StringUtils.isEmpty(queryInfo.getOrganId())) {
+            queryInfo.setOrganId(employee.getOrganIdList());
+        } else if (StringUtils.isEmpty(employee.getOrganIdList())) {
+            return failed("用户所在分部异常");
+        } else {
+            List<String> list = Arrays.asList(employee.getOrganIdList().split(","));
+            if (!list.containsAll(Arrays.asList(queryInfo.getOrganId().split(",")))) {
+                return failed("非法请求");
             }
+        }
         return succeed(courseHomeworkService.queryHomePage(queryInfo));
     }
 

+ 29 - 27
mec-web/src/main/java/com/ym/mec/web/controller/education/EduStudentRegistrationController.java

@@ -1,31 +1,28 @@
 package com.ym.mec.web.controller.education;
 
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.ui.ModelMap;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.biz.dal.dao.MusicGroupDao;
-import com.ym.mec.biz.dal.dao.MusicGroupPaymentCalenderCourseSettingsDao;
-import com.ym.mec.biz.dal.dao.MusicGroupPaymentCalenderDao;
 import com.ym.mec.biz.dal.dto.StudentPreRegistrationDto;
+import com.ym.mec.biz.dal.entity.StudentInstrument;
 import com.ym.mec.biz.dal.entity.StudentPreRegistration;
+import com.ym.mec.biz.dal.page.StudentInstrumentQueryInfo;
 import com.ym.mec.biz.dal.page.StudentPreRegistrationQueryInfo;
-import com.ym.mec.biz.service.EmployeeService;
-import com.ym.mec.biz.service.MusicGroupSubjectPlanService;
+import com.ym.mec.biz.service.StudentInstrumentService;
 import com.ym.mec.biz.service.StudentPreRegistrationService;
 import com.ym.mec.biz.service.StudentRegistrationService;
 import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.page.PageInfo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 @RequestMapping("eduStudentRegistration")
 @Api(tags = "学生报名信息服务")
@@ -35,19 +32,24 @@ public class EduStudentRegistrationController extends BaseController {
     @Autowired
     private StudentRegistrationService studentRegistrationService;
     @Autowired
-    private MusicGroupSubjectPlanService musicGroupSubjectPlanService;
-    @Autowired
-    private MusicGroupPaymentCalenderDao musicGroupPaymentCalenderDao;
-    @Autowired
-    private MusicGroupPaymentCalenderCourseSettingsDao musicGroupPaymentCalenderCourseSettingsDao;
-    @Autowired
     private StudentPreRegistrationService studentPreRegistrationService;
     @Autowired
     private MusicGroupDao musicGroupDao;
     @Autowired
-    private SysUserFeignService sysUserFeignService;
-    @Autowired
-    private EmployeeService employeeService;
+    private StudentInstrumentService studentInstrumentService;
+
+
+    @ApiOperation(value = "获取乐团学员列表(包含乐保信息)")
+    @GetMapping("/queryMusicStudentInstrument")
+    public Object queryMusicStudentInstrument(StudentPreRegistrationQueryInfo queryInfo) {
+        return succeed(studentRegistrationService.queryMusicStudentInstrument(queryInfo));
+    }
+
+    @ApiOperation(value = "获取乐器与乐保列表")
+    @GetMapping("/getList")
+    public HttpResponseResult<PageInfo<StudentInstrument>> getList(StudentInstrumentQueryInfo queryInfo) {
+        return succeed(studentInstrumentService.queryPage(queryInfo));
+    }
 
     @ApiOperation(value = "乐团预报名列表分页查询")
     @GetMapping("/queryPreApplyList")