zouxuan 5 tahun lalu
induk
melakukan
4c98398041

+ 10 - 0
mec-auth/mec-auth-api/src/main/java/com/ym/mec/auth/api/entity/SysUserRole.java

@@ -7,6 +7,16 @@ import org.apache.commons.lang3.builder.ToStringBuilder;
  * 对应数据库表(sys_user_role):
  */
 public class SysUserRole {
+	//分部经理
+	public static Integer SECTION_MANAGER = 3;
+	//教务老师
+	public static Integer EDUCATIONAL_TEACHER = 4;
+	//运营主管
+	public static Integer OPERATION_EXECUTIVE = 5;
+	//招生主管
+	public static Integer ADMISSIONS_DIRECTOR = 6;
+	//教学主任
+	public static Integer DEAN_OF_STUDIES = 7;
 
 	/** 用户ID */
 	@ApiModelProperty(value = "用户ID",required = false)

+ 8 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupDao.java

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.dal.dao;
 
+import com.ym.mec.auth.api.entity.SysUserRole;
 import com.ym.mec.biz.dal.dto.BasicUserDto;
 import com.ym.mec.biz.dal.dto.MusicCardDto;
 import com.ym.mec.biz.dal.entity.MusicGroup;
@@ -133,4 +134,11 @@ public interface MusicGroupDao extends BaseDAO<String, MusicGroup> {
      * @return
      */
     List<Map<Integer,String>> queryTeacherMap(String musicGroupId);
+
+    /**
+     * 根据角色编号获取有权限的用户列表
+     * @param roleIds
+     * @return
+     */
+    Set<Integer> queryUserIdByRoleId(Set<Integer> roleIds);
 }

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/JobTypeEnum.java

@@ -4,7 +4,8 @@ import com.ym.mec.common.enums.BaseEnum;
 
 //职务类型(指导老师、教务老师、教学主管)
 public enum JobTypeEnum implements BaseEnum<String, JobTypeEnum> {
-	ADVISER("ADVISER", "指导老师"), ACADEMIC("ACADEMIC", "教务老师"), TEACHING("TEACHING", "教学主管"), ASSISTANT("ASSISTANT", "助教");
+	ADVISER("ADVISER", "指导老师"), ACADEMIC("ACADEMIC", "教务老师"),
+	TEACHING("TEACHING", "教学主管"), ASSISTANT("ASSISTANT", "助教");
 
 	private String code;
 

+ 40 - 17
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -11,6 +11,8 @@ import java.util.Map;
 import java.util.Set;
 import java.util.stream.Collectors;
 
+import com.ym.mec.auth.api.entity.SysUserRole;
+import com.ym.mec.biz.dal.entity.*;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -47,24 +49,7 @@ import com.ym.mec.biz.dal.dto.MusicCardDto;
 import com.ym.mec.biz.dal.dto.SubFeeSettingDto;
 import com.ym.mec.biz.dal.dto.SubjectRegisterDto;
 import com.ym.mec.biz.dal.dto.UpdateExpectedNumDto;
-import com.ym.mec.biz.dal.entity.ApprovalStatus;
-import com.ym.mec.biz.dal.entity.ChargeType;
-import com.ym.mec.biz.dal.entity.CourseSchedule;
-import com.ym.mec.biz.dal.entity.CourseScheduleTeacherSalary;
-import com.ym.mec.biz.dal.entity.MusicGroup;
-import com.ym.mec.biz.dal.entity.MusicGroupBuildLog;
-import com.ym.mec.biz.dal.entity.MusicGroupQuit;
-import com.ym.mec.biz.dal.entity.MusicGroupStudentFee;
 import com.ym.mec.biz.dal.entity.MusicGroupStudentFee.PaymentStatus;
-import com.ym.mec.biz.dal.entity.MusicGroupSubjectGoodsGroup;
-import com.ym.mec.biz.dal.entity.MusicGroupSubjectPlan;
-import com.ym.mec.biz.dal.entity.Organization;
-import com.ym.mec.biz.dal.entity.School;
-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.SysUserCashAccount;
-import com.ym.mec.biz.dal.entity.SysUserCashAccountDetail;
 import com.ym.mec.biz.dal.enums.ClassGroupStudentStatusEnum;
 import com.ym.mec.biz.dal.enums.ClassGroupTypeEnum;
 import com.ym.mec.biz.dal.enums.DealStatusEnum;
@@ -201,6 +186,11 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         }
         // 保存乐团基本信息
         musicGroupDao.insert(musicGroup);
+        if(musicGroup.getStatus() == MusicGroupStatusEnum.AUDIT){
+            Set<Integer> roleIds = new HashSet<>(1);
+            roleIds.add(SysUserRole.SECTION_MANAGER);
+            sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds),MessageTypeEnum.BACKSTAGE_CREATE_MUSIC_GROUP_APPLY);
+        }
         // 保存乐团付费主体列表
         //批量新增
         if(subFeeSettingDto.getMusicGroupPaymentEntities() != null && subFeeSettingDto.getMusicGroupPaymentEntities().size() > 0){
@@ -320,6 +310,13 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         Map<Integer,String> map = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertMybatisMap(musicGroupDao.queryTeacherMap(musicGroupId))),HashMap.class);
         sysMessageService.batchSendMessage(MessageSender.YIMEI,MessageTypeEnum.TEACHER_PUSH_MUSIC_GROUP_COURSE_ADD_PLAN,
                 map,null,0,musicGroup.getName());
+        Set<Integer> roleIds = new HashSet<>(5);
+        roleIds.add(SysUserRole.SECTION_MANAGER);
+        roleIds.add(SysUserRole.EDUCATIONAL_TEACHER);
+        roleIds.add(SysUserRole.OPERATION_EXECUTIVE);
+        roleIds.add(SysUserRole.ADMISSIONS_DIRECTOR);
+        roleIds.add(SysUserRole.DEAN_OF_STUDIES);
+        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds),MessageTypeEnum.BACKSTAGE_ACTION_GROUP,musicGroup.getName());
     }
 
     private MusicGroup saveLog(String musicGroupId,MusicGroupStatusEnum statusEnum) throws Exception {
@@ -346,6 +343,9 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId,"提交审核(草稿 -> 审核中)",sysUser.getId(),""));
         musicGroup.setStatus(MusicGroupStatusEnum.AUDIT);
         musicGroupDao.update(musicGroup);
+        Set<Integer> roleIds = new HashSet<>(1);
+        roleIds.add(SysUserRole.SECTION_MANAGER);
+        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds),MessageTypeEnum.BACKSTAGE_CREATE_MUSIC_GROUP_APPLY);
     }
 
     @Override
@@ -373,6 +373,11 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId,"审核失败(审核中 -> 报名中)",sysUser.getId(),""));
         musicGroup.setStatus(MusicGroupStatusEnum.APPLY);
         musicGroupDao.update(musicGroup);
+        Set<Integer> roleIds = new HashSet<>(3);
+        roleIds.add(SysUserRole.EDUCATIONAL_TEACHER);
+        roleIds.add(SysUserRole.OPERATION_EXECUTIVE);
+        roleIds.add(SysUserRole.ADMISSIONS_DIRECTOR);
+        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds),MessageTypeEnum.BACKSTAGE_ACTION_APPLY,musicGroup.getName());
     }
 
     @Override
@@ -452,6 +457,10 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         }
         //记录建团日志
         musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId,"取消乐团",sysUser.getId(),""));
+        Set<Integer> roleIds = new HashSet<>(2);
+        roleIds.add(SysUserRole.SECTION_MANAGER);
+        roleIds.add(SysUserRole.OPERATION_EXECUTIVE);
+        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds),MessageTypeEnum.BACKSTAGE_MUSIC_GROUP_STOP,musicGroup.getName());
         return true;
     }
 
@@ -532,6 +541,12 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         musicGroup.setUpdateTime(date);
         musicGroupDao.update(musicGroup);
         musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId,"延长缴费",sysUser.getId(),""));
+        Set<Integer> roleIds = new HashSet<>(4);
+        roleIds.add(SysUserRole.SECTION_MANAGER);
+        roleIds.add(SysUserRole.EDUCATIONAL_TEACHER);
+        roleIds.add(SysUserRole.OPERATION_EXECUTIVE);
+        roleIds.add(SysUserRole.ADMISSIONS_DIRECTOR);
+        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds),MessageTypeEnum.BACKSTAGE_LENGTHEN_PAYMENT,musicGroup.getName());
         return true;
     }
 
@@ -978,6 +993,11 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             sysMessageService.batchSendMessage(MessageSender.YIMEI,MessageTypeEnum.SMS_BASICS_SKILL_APPLY_MESSAGE,
                     map,null,0,"",musicGroup.getName(),studentApplyUrl,serverPhone);
         }
+        Set<Integer> roleIds = new HashSet<>(3);
+        roleIds.add(SysUserRole.SECTION_MANAGER);
+        roleIds.add(SysUserRole.EDUCATIONAL_TEACHER);
+        roleIds.add(SysUserRole.OPERATION_EXECUTIVE);
+        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds),MessageTypeEnum.BACKSTAGE_ACTION_PAYMENT,musicGroup.getName());
         return musicGroup;
     }
 
@@ -1043,5 +1063,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 			String content = sysMessageConfigDao.findContent(MessageTypeEnum.SMS_BASICS_SKILL_APPLY_MESSAGE.getCode());
 			sysMessageService.batchSendMessage(MessageSender.YIMEI, "", content, userIds, new Date(), 0, "", "");
 		}
+        Set<Integer> roleIds = new HashSet<>(1);
+        roleIds.add(SysUserRole.SECTION_MANAGER);
+        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds),MessageTypeEnum.BACKSTAGE_MUSIC_GROUP_MARKING,musicGroup.getName());
     }
 }

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java

@@ -1,6 +1,7 @@
 package com.ym.mec.biz.service.impl;
 
 import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.auth.api.entity.SysUserRole;
 import com.ym.mec.auth.api.enums.SysUserType;
 import com.ym.mec.auth.api.enums.UserLockFlag;
 import com.ym.mec.biz.dal.dao.*;
@@ -111,6 +112,11 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
 //        int i = studentRegistrationDao.batchUpdateSubject(userId, subId, musicGroupId);
         //修改专业已报名人数
 //        musicGroupSubjectPlanService.addApplyStudentNum(musicGroupId,subId,1);
+        MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
+        Set<Integer> roleIds = new HashSet<>(2);
+        roleIds.add(SysUserRole.SECTION_MANAGER);
+        roleIds.add(SysUserRole.OPERATION_EXECUTIVE);
+        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds),MessageTypeEnum.BACKSTAGE_STUDENT_SUBJECT_CHANGE,musicGroup.getName());
         return studentRegistrationDao.batchUpdateSubject(userId, subId, musicGroupId);
     }
 
@@ -427,6 +433,10 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
             studentRegistration.setMusicGroupStatus(ClassGroupStudentStatusEnum.NORMAL);
             //学生报名表
             studentRegistrationDao.insertBasic(studentRegistration);
+            MusicGroup musicGroup = musicGroupDao.get(studentRegistration.getMusicGroupId());
+            Set<Integer> roleIds = new HashSet<>(1);
+            roleIds.add(SysUserRole.OPERATION_EXECUTIVE);
+            sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds),MessageTypeEnum.BACKSTAGE_MUSIC_GROUP_ADD_STUDENT,musicGroup.getName(),studentRegistration.getName());
             //增加报名学生数
 //            musicGroupSubjectPlanService.addApplyStudentNum(studentRegistration.getMusicGroupId(), studentRegistration.getSubjectId(),1);
             if (studentRegistration.getClassGroupId() != null) {

+ 6 - 0
mec-biz/src/main/resources/config/mybatis/MusicGroupMapper.xml

@@ -335,4 +335,10 @@
 		WHERE cgtm.music_group_id_ = #{musicGroupId} AND su.phone_ IS NOT NULL
 		GROUP BY su.id_
 	</select>
+	<select id="queryUserIdByRoleId" resultType="java.lang.Integer">
+		SELECT DISTINCT sur.user_id_ FROM sys_user_role sur WHERE sur.role_id_ IN
+		<foreach collection="roleIds" open="(" separator="," close=")" item="item">
+			#{item}
+		</foreach>
+	</select>
 </mapper>

+ 1 - 0
mec-im/src/main/java/com/ym/service/Impl/HereWhiteServiceImpl.java

@@ -2,6 +2,7 @@ package com.ym.service.Impl;
 
 import com.alibaba.fastjson.JSONObject;
 import com.ym.dao.HereWhiteDao;
+import com.ym.mec.biz.dal.entity.SysMessage;
 import com.ym.mec.util.http.HttpUtil;
 import com.ym.pojo.HereWhite;
 import com.ym.service.HereWhiteService;

+ 1 - 1
mec-web/src/main/java/com/ym/mec/web/controller/StudentRegistrationController.java

@@ -47,7 +47,7 @@ public class StudentRegistrationController extends BaseController {
     @ApiOperation(value = "调剂学生报名专业")
     @PostMapping("/batchUpdateSubject")
     @PreAuthorize("@pcs.hasPermissions('studentRegistration/batchUpdateSubject')")
-    @ApiImplicitParams({@ApiImplicitParam(name = "userId", value = "学生编号(多个逗号)", required = true, dataType = "Integer"),
+    @ApiImplicitParams({@ApiImplicitParam(name = "userId", value = "学生编号", required = true, dataType = "Integer"),
             @ApiImplicitParam(name = "subId", value = "声部编号", required = true, dataType = "Integer"),
             @ApiImplicitParam(name = "musicGroupId", value = "乐团编号", required = true, dataType = "Integer")})
     public Object batchUpdateSubject(Integer userId,Integer subId,String musicGroupId) throws Exception {