Pārlūkot izejas kodu

0元新增学员,报名缴费状态变更,群昵称通过角色来区分

zouxuan 4 gadi atpakaļ
vecāks
revīzija
66d52cec5b

+ 6 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentRegistrationDao.java

@@ -444,4 +444,10 @@ public interface StudentRegistrationDao extends BaseDAO<Long, StudentRegistratio
      * @return
      */
     List<Map<Integer,String>> getStudentSubjectNameByStuIds(@Param("musicGroupId") String musicGroupId, @Param("studentIds") Collection<Integer> studentIds);
+
+    /**
+     * 将学员报名缴费状态更新至已缴费
+     * @param calenderId
+     */
+    void updatePaymentStatusByClaenderId(Long calenderId);
 }

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TeacherDao.java

@@ -10,6 +10,7 @@ import com.ym.mec.common.entity.ImUserModel;
 import org.apache.ibatis.annotations.Param;
 
 import java.math.BigDecimal;
+import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -61,6 +62,8 @@ public interface TeacherDao extends BaseDAO<Integer, Teacher> {
 
     List<Map<Integer, String>> queryUserNameByIdList(@Param("userIds") List<Integer> userIds);
 
+    List<Map<Integer, String>> queryNickNameByRole(@Param("userIds") Set<Integer> userIds, @Param("userRoleMap") Map<Integer,String> userRoleMap);
+
     List<Map<Integer, String>> querySubjectNameByIdList(@Param("userIds") List<Integer> userIds);
 
     /**

+ 27 - 11
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImGroupMemberServiceImpl.java

@@ -1,11 +1,7 @@
 package com.ym.mec.biz.service.impl;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.Map.Entry;
-import java.util.Objects;
 import java.util.stream.Collectors;
 
 import org.apache.commons.lang3.StringUtils;
@@ -112,29 +108,49 @@ public class ImGroupMemberServiceImpl extends BaseServiceImpl<Long, ImGroupMembe
 		List<GroupMember> groupMemberList = new ArrayList<GroupMember>();
 
 		String groupId = imGroup.getId().toString();
-		Map<Integer, String> nameIdMap= MapUtil.convertIntegerMap(teacherDao.queryUserNameByIdList(new ArrayList<>(userRoleMap.keySet())));
+		List<Integer> usernameIds = new ArrayList<>();
+		List<Integer> realNameIds = new ArrayList<>();
+
+//		Map<Integer, String> nameIdMap = MapUtil.convertIntegerMap(teacherDao.queryNickNameByRole(userRoleMap.keySet(),userRoleMap));
 		for (Entry<Integer, String> entry : userRoleMap.entrySet()) {
-			
 			if(existUserIdList.contains(entry.getKey())||Objects.isNull(entry.getKey())){
 				continue;
 			}
-
 			ImGroupMember imGroupMember = new ImGroupMember();
 			imGroupMember.setCreateTime(date);
 			imGroupMember.setImGroupId(imGroupId);
 			imGroupMember.setIsAdmin(false);
 			imGroupMember.setRoleType(entry.getValue());
+			if(StringUtils.isEmpty(entry.getValue())){
+				usernameIds.add(entry.getKey());
+			}else {
+				realNameIds.add(entry.getKey());
+			}
 			imGroupMember.setUpdateTime(date);
 			imGroupMember.setUserId(entry.getKey());
-			imGroupMember.setNickname(nameIdMap.get(imGroupMember.getUserId()));
-
+//			imGroupMember.setNickname(nameIdMap.get(imGroupMember.getUserId()));
 			imGroupMemberList.add(imGroupMember);
 			groupMemberList.add(new GroupMember(imGroupMember.getUserId().toString(), groupId));
 		}
 
+
 		if (imGroupMemberList.size() > 0) {
+			Map<Integer, String> usernameMap = new HashMap<>();
+			Map<Integer, String> realNameMap = new HashMap<>();
+			if(usernameIds.size() > 0){
+				usernameMap = MapUtil.convertIntegerMap(teacherDao.queryUserNameByIdList(usernameIds));
+			}
+			if(realNameIds.size() > 0){
+				realNameMap = MapUtil.convertIntegerMap(teacherDao.queryNameByIdList(realNameIds));
+			}
+			for (ImGroupMember imGroupMember : imGroupMemberList) {
+				if(StringUtils.isEmpty(imGroupMember.getRoleType())){
+					imGroupMember.setNickname(usernameMap.get(imGroupMember.getUserId()));
+				}else {
+					imGroupMember.setNickname(realNameMap.get(imGroupMember.getUserId()));
+				}
+			}
 			imGroupMemberDao.batchInsert(imGroupMemberList);
-
 			imGroup.setMemberNum(imGroup.getMemberNum() + imGroupMemberList.size());
 			imGroup.setUpdateTime(date);
 			imGroupDao.update(imGroup);

+ 9 - 19
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderServiceImpl.java

@@ -9,6 +9,7 @@ import static com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender.PaymentType.AD
 import static com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender.PaymentType.MUSIC_APPLY;
 import static com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender.PaymentType.MUSIC_RENEW;
 import static com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender.PaymentType.SPAN_GROUP_CLASS_ADJUST;
+import static com.ym.mec.biz.dal.enums.PaymentStatusEnum.YES;
 
 import java.math.BigDecimal;
 import java.util.ArrayList;
@@ -24,7 +25,9 @@ import java.util.Map.Entry;
 import java.util.Set;
 import java.util.stream.Collectors;
 
+import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.enums.GroupType;
+import com.ym.mec.biz.dal.enums.StudentMusicGroupStatusEnum;
 import com.ym.mec.biz.service.*;
 import org.apache.commons.beanutils.BeanUtils;
 import org.apache.commons.lang3.StringUtils;
@@ -37,25 +40,6 @@ import com.alibaba.fastjson.JSON;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.auth.api.entity.SysUserRole;
-import com.ym.mec.biz.dal.dao.ClassGroupDao;
-import com.ym.mec.biz.dal.dao.ClassGroupStudentMapperDao;
-import com.ym.mec.biz.dal.dao.CourseScheduleDao;
-import com.ym.mec.biz.dal.dao.CourseScheduleTeacherSalaryDao;
-import com.ym.mec.biz.dal.dao.MusicGroupBuildLogDao;
-import com.ym.mec.biz.dal.dao.MusicGroupDao;
-import com.ym.mec.biz.dal.dao.MusicGroupOrganizationCourseSettingsDao;
-import com.ym.mec.biz.dal.dao.MusicGroupOrganizationCourseSettingsDetailDao;
-import com.ym.mec.biz.dal.dao.MusicGroupPaymentCalenderCourseSettingsDao;
-import com.ym.mec.biz.dal.dao.MusicGroupPaymentCalenderDao;
-import com.ym.mec.biz.dal.dao.MusicGroupPaymentCalenderDetailDao;
-import com.ym.mec.biz.dal.dao.MusicGroupPaymentCalenderStudentDetailDao;
-import com.ym.mec.biz.dal.dao.MusicGroupPaymentStudentCourseDetailDao;
-import com.ym.mec.biz.dal.dao.MusicGroupStudentClassAdjustDao;
-import com.ym.mec.biz.dal.dao.MusicGroupStudentFeeDao;
-import com.ym.mec.biz.dal.dao.OrganizationCourseUnitPriceSettingsDao;
-import com.ym.mec.biz.dal.dao.OrganizationDao;
-import com.ym.mec.biz.dal.dao.SysConfigDao;
-import com.ym.mec.biz.dal.dao.TeacherAttendanceDao;
 import com.ym.mec.biz.dal.dto.CalenderPushDto;
 import com.ym.mec.biz.dal.dto.ClassGroup4MixDto;
 import com.ym.mec.biz.dal.dto.MusicGroupPaymentCalenderAuditDetailDto;
@@ -160,6 +144,8 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 	private MusicGroupPaymentCalenderDetailService musicGroupPaymentCalenderDetailService;
 	@Autowired
 	private MusicGroupPaymentCalenderStudentDetailDao musicGroupPaymentCalenderStudentDetailDao;
+	@Autowired
+	private StudentRegistrationDao studentRegistrationDao;
 
 	@Override
 	public BaseDAO<Long, MusicGroupPaymentCalender> getDAO() {
@@ -1214,6 +1200,10 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 				updateMusicGroupPaymentCalenderList.add(mgpc);
 				//将0元未缴费学员缴费状态更新为已缴费
 				musicGroupPaymentCalenderDetailDao.updateNoPaymentAndZeroPaymentStatus(mgpc.getId());
+				//如果是进行中加学员,将报名表状态改为NORMAL
+				if(mgpc.getPaymentType() == MusicGroupPaymentCalender.PaymentType.ADD_STUDENT){
+					studentRegistrationDao.updatePaymentStatusByClaenderId(mgpc.getId());
+				}
 			} else if (mgpc.getStartPaymentDate() != null && date.after(mgpc.getStartPaymentDate()) && mgpc.getStatus() == PaymentCalenderStatusEnum.NO) {
 				MusicGroup musicGroup = musicGroupDao.get(mgpc.getMusicGroupId());
 				if(musicGroup == null){

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

@@ -623,6 +623,13 @@
         UPDATE student_registration sr SET sr.current_grade_ = #{currentGrade},sr.current_class_ = #{currentClass},sr.current_grade_date_= NOW(),sr.update_time_ = NOW()
         WHERE sr.user_id_ = #{userId}
     </update>
+    <update id="updatePaymentStatusByClaenderId">
+        UPDATE student_registration sr
+        LEFT JOIN music_group_payment_calender mgpc ON mgpc.music_group_id_ = sr.music_group_id_
+        LEFT JOIN music_group_payment_calender_detail mgpcd ON mgpc.id_ = mgpcd.music_group_payment_calender_id_
+        SET sr.payment_status_ = 2,sr.music_group_status_ = 'NORMAL',sr.update_time_ = NOW()
+        WHERE mgpcd.user_id_ = sr.user_id_ AND mgpcd.expect_amount_ = 0 AND mgpc.id_ = #{calenderId}
+    </update>
 
     <select id="findStudentByMusicGroupIdAndUserId" resultMap="StudentRegistration">
         SELECT s.name_ school_name_,s2.name_ subject_name_,mgsp.kit_group_purchase_type_ kit_group_purchase_type_,

+ 8 - 1
mec-biz/src/main/resources/config/mybatis/TeacherMapper.xml

@@ -367,7 +367,7 @@
         select id_ `key`,IF(real_name_ IS NUll,'',real_name_) `value` FROM sys_user s WHERE FIND_IN_SET(id_,#{userIds})
     </select>
     <select id="queryNameByIdList" resultType="java.util.Map">
-        select id_ `key`,IF(real_name_ IS NUll,'',real_name_) `value` FROM sys_user s WHERE id_ IN
+        select id_ `key`,IF(real_name_ IS NUll,username_,real_name_) `value` FROM sys_user s WHERE id_ IN
         <foreach collection="userIds" item="userId" separator="," open="(" close=")">
             #{userId}
         </foreach>
@@ -379,6 +379,13 @@
         </foreach>
     </select>
 
+    <select id="queryNickNameByRole" resultType="java.util.Map">
+        select id_ `key`,IF(username_ IS NUll,real_name_,username_) `value` FROM sys_user s WHERE id_ IN
+        <foreach collection="userIds" item="userId" separator="," open="(" close=")">
+            #{userId}
+        </foreach>
+    </select>
+
     <select id="querySubjectNameByIdList" resultType="java.util.Map">
         select t.id_ `key`,GROUP_CONCAT(s.name_) `value`
         FROM teacher t