ソースを参照

Merge remote-tracking branch 'origin/master'

周箭河 5 年 前
コミット
45273fcc2a
17 ファイル変更119 行追加8 行削除
  1. 2 1
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/core/filter/PhoneLoginAuthenticationFilter.java
  2. 7 0
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/dal/dao/SysUserDao.java
  3. 14 0
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/service/SysUserService.java
  4. 10 0
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/service/impl/SysUserServiceImpl.java
  5. 3 0
      mec-auth/mec-auth-server/src/main/resources/config/mybatis/SysUserMapper.xml
  6. 10 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CourseSchedule.java
  7. 7 1
      mec-biz/src/main/java/com/ym/mec/biz/service/SysMessageService.java
  8. 4 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java
  9. 8 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java
  10. 1 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CoursesGroupServiceImpl.java
  11. 2 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/EduPracticeGroupServiceImpl.java
  12. 2 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/PracticeGroupServiceImpl.java
  13. 15 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysMessageServiceImpl.java
  14. 3 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java
  15. 17 6
      mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml
  16. 1 0
      mec-web/src/main/java/com/ym/mec/web/controller/CourseScheduleController.java
  17. 13 0
      mec-web/src/main/java/com/ym/mec/web/controller/education/ImController.java

+ 2 - 1
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/core/filter/PhoneLoginAuthenticationFilter.java

@@ -55,7 +55,8 @@ public class PhoneLoginAuthenticationFilter extends AbstractAuthenticationProces
 
 		String clientId = request.getParameter(clientIdParameter).toUpperCase();
 
-		SysUserInfo userInfo = sysUserService.queryUserInfoByPhone(principal);
+//		SysUserInfo userInfo = sysUserService.queryUserInfoByPhone(principal);
+		SysUserInfo userInfo = sysUserService.queryUserInfoByPhoneAndClient(principal,clientId);
 		if (userInfo != null && StringUtils.isNotEmpty(isLessee)) {
 			throw new LockedException("用户已存在");
 		}

+ 7 - 0
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/dal/dao/SysUserDao.java

@@ -26,6 +26,13 @@ public interface SysUserDao extends BaseDAO<Integer, SysUser> {
 	SysUser queryByPhone(String phone);
 
 	/**
+	 * 根据手机号查询对象
+	 * @param phone
+	 * @return
+	 */
+	SysUser queryByPhoneAndClient(@Param("phone") String phone, @Param("client") String client);
+
+	/**
 	 * 修改密码
 	 * @param mobile
 	 * @param password

+ 14 - 0
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/service/SysUserService.java

@@ -23,6 +23,13 @@ public interface SysUserService extends BaseService<Integer, SysUser> {
 	SysUser queryByPhone(String phone);
 
 	/**
+	 * 根据手机号查询对象
+	 * @param phone
+	 * @return
+	 */
+	SysUser queryByPhoneAndClient(String phone,String client);
+
+	/**
 	 * 根据用户名获取系统用户详细信息
 	 * @param username
 	 * @return
@@ -37,6 +44,13 @@ public interface SysUserService extends BaseService<Integer, SysUser> {
 	SysUserInfo queryUserInfoByPhone(String phone);
 
 	/**
+	 * 根据手机号获取系统用户详细信息
+	 * @param phone
+	 * @return
+	 */
+	SysUserInfo queryUserInfoByPhoneAndClient(String phone,String client);
+
+	/**
 	 * 删除指定用户
 	 * @param id
 	 * @return

+ 10 - 0
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/service/impl/SysUserServiceImpl.java

@@ -70,6 +70,11 @@ public class SysUserServiceImpl extends BaseServiceImpl<Integer, SysUser> implem
 	}
 
 	@Override
+	public SysUser queryByPhoneAndClient(String phone,String client) {
+		return sysUserDao.queryByPhoneAndClient(phone,client);
+	}
+
+	@Override
 	public SysUserInfo queryUserInfoByUsername(String username) {
 		return getSysUserInfo(queryByUsername(username));
 	}
@@ -79,6 +84,11 @@ public class SysUserServiceImpl extends BaseServiceImpl<Integer, SysUser> implem
 		return getSysUserInfo(queryByPhone(phone));
 	}
 
+	@Override
+	public SysUserInfo queryUserInfoByPhoneAndClient(String phone,String client) {
+		return getSysUserInfo(queryByPhoneAndClient(phone,client));
+	}
+
 	private SysUserInfo getSysUserInfo(SysUser sysUser) {
 		if (sysUser == null) {
 			return null;

+ 3 - 0
mec-auth/mec-auth-server/src/main/resources/config/mybatis/SysUserMapper.xml

@@ -206,4 +206,7 @@
     <select id="getTeacherOrganId" resultType="java.lang.Integer">
         SELECT organ_id_ FROM teacher WHERE id_ = #{userId}
     </select>
+    <select id="queryByPhoneAndClient" resultMap="SysUser">
+        select * from sys_user where (phone_ = #{phone} OR username_ = #{phone}) AND user_type_ LIKE CONCAT('%',#{client},'%') LIMIT 1 FOR UPDATE
+    </select>
 </mapper>

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CourseSchedule.java

@@ -140,6 +140,8 @@ public class CourseSchedule {
 
 	private Integer isLock;
 
+	private Integer organId;
+
 	private YesOrNoEnum isCallNames;
 
 	private String teachingContent;
@@ -158,6 +160,14 @@ public class CourseSchedule {
 
 	private int isSignOut = 3;
 
+	public Integer getOrganId() {
+		return organId;
+	}
+
+	public void setOrganId(Integer organId) {
+		this.organId = organId;
+	}
+
 	public int getIsSignIn() {
 		return isSignIn;
 	}

+ 7 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/SysMessageService.java

@@ -29,7 +29,7 @@ public interface SysMessageService extends BaseService<Long, SysMessage> {
 	boolean batchSeoMessage(Set<Integer> userIds, MessageTypeEnum messageType,String memo, Object... args);
 
 	/**
-	 * 推送im文本消息
+	 * 推送im文本消息,包换调整链接
 	 * @param senderId
 	 * @param messageType
 	 * @return
@@ -137,4 +137,10 @@ public interface SysMessageService extends BaseService<Long, SysMessage> {
 	
 	public List<SysMessage> queryUserInRecentMinList(String mobile, int recentMin, MessageSendMode type);
 
+	/**
+	 * 发送私聊消息
+	 * @param studentId
+	 * @param content
+	 */
+    void sendPrivateMessage(String studentId, String content);
 }

+ 4 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -398,6 +398,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 						courseSchedule.setType(CourseSchedule.CourseScheduleType.HIGH);
 						courseSchedule.setGroupType(GroupType.MUSIC);
 						courseSchedule.setName(courseScheduleName + "-" + CourseSchedule.CourseScheduleType.HIGH.getMsg());
+                        courseSchedule.setOrganId(musicGroup.getOrganId());
 						courseScheduleList.add(courseSchedule);
 						times++;
 					}
@@ -1393,6 +1394,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                 courseSchedule.setTeachMode(TeachModeEnum.OFFLINE);
                 courseSchedule.setType(classGroup4MixDto.getCourseType());
                 courseSchedule.setGroupType(GroupType.MUSIC);
+                courseSchedule.setOrganId(musicGroup.getOrganId());
                 if(classGroup4MixDto.getCourseType().equals(CourseSchedule.CourseScheduleType.MIX)){
                     courseSchedule.setName(classGroup4MixDto.getCourseType().getMsg());
                 }else{
@@ -1690,6 +1692,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                 courseSchedule.setGroupType(GroupType.MUSIC);
                 courseSchedule.setTeacherId(teacherId);
                 courseSchedule.setActualTeacherId(teacherId);
+                courseSchedule.setOrganId(musicGroup.getOrganId());
                 courseScheduleDao.insert(courseSchedule);
                 courseScheduleList.add(courseSchedule);
                 times++;
@@ -1958,6 +1961,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                 }
                 courseSchedule.setTeacherId(teacherId);
                 courseSchedule.setActualTeacherId(teacherId);
+                courseSchedule.setOrganId(musicGroup.getOrganId());
                 courseScheduleList.add(courseSchedule);
 
                 courseScheduleDao.insert(courseSchedule);

+ 8 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -333,9 +333,15 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 
 		Date entryDate = null;
 		String settlementType = null;
+		Integer organId = null;
 
 		// 查询老师默认课酬
 		if (type == CourseScheduleType.PRACTICE) {
+			PracticeGroup practiceGroup = practiceGroupDao.get(Long.valueOf(classGroup.getMusicGroupId()));
+			if(Objects.isNull(practiceGroup)){
+				throw new BizException("找不到网管课信息");
+			}
+			organId=practiceGroup.getOrganId();
 
 			List<TeacherDefaultPracticeGroupSalary> teacherDefaultPracticeGroupSalaryList = teacherDefaultPracticeGroupSalaryDao
 					.queryByUserIdList(teacherIdList);
@@ -348,6 +354,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 			if (musicGroup == null) {
 				throw new BizException("找不到乐团信息");
 			}
+			organId=musicGroup.getOrganId();
 			// 乐团结算方式
 			settlementType = musicGroup.getSettlementType().getCode();
 
@@ -462,6 +469,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 					courseSchedule.setName(classGroup.getName());
 					courseSchedule.setSchoolId(schoolId);
 					courseSchedule.setSubsidy(subSidy);
+					courseSchedule.setOrganId(organId);
 					if (type == CourseScheduleType.PRACTICE || type == CourseScheduleType.VIP) {
 						courseSchedule.setName(subjectName + "•" + usernameList);
 					} else {

+ 1 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CoursesGroupServiceImpl.java

@@ -150,6 +150,7 @@ public class CoursesGroupServiceImpl extends BaseServiceImpl<Long, CoursesGroup>
             newCourse.setIsLock(0);
             newCourse.setStatus(CourseStatusEnum.NOT_START);
             newCourse.setName(courseGroup.getName());
+            newCourse.setOrganId(courseGroup.getOrganId());
         }
         try {
             courseScheduleService.checkNewCourseSchedules(newCourses,false);

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/EduPracticeGroupServiceImpl.java

@@ -364,6 +364,7 @@ public class EduPracticeGroupServiceImpl implements EduPracticeGroupService{
             courseSchedule.setType(CourseSchedule.CourseScheduleType.PRACTICE);
             courseSchedule.setGroupType(GroupType.PRACTICE);
             courseSchedule.setIsLock(1);
+            courseSchedule.setOrganId(practiceGroupBuyParams.getOrganId());
         }
         courseScheduleDao.batchAddCourseSchedules(practiceCourses);
         TeacherDefaultPracticeGroupSalary teacherDefaultPracticeGroupSalary = teacherDefaultPracticeGroupSalaryDao.findByTeacherAndCourseMinutes(practiceGroupBuyParams.getUserId(),practiceCourseMinutes);
@@ -1039,6 +1040,7 @@ public class EduPracticeGroupServiceImpl implements EduPracticeGroupService{
             courseSchedule.setCreateTime(now);
             courseSchedule.setUpdateTime(now);
             courseSchedule.setIsLock(0);
+            courseSchedule.setOrganId(practiceGroupBuyParams.getOrganId());
             practiceCourses.add(courseSchedule);
         }
         practiceCourses.sort(Comparator.comparing(CourseSchedule::getStartClassTime));

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/PracticeGroupServiceImpl.java

@@ -1921,6 +1921,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
             courseSchedule.setType(CourseSchedule.CourseScheduleType.PRACTICE);
             courseSchedule.setGroupType(GroupType.PRACTICE);
             courseSchedule.setName(practiceGroup.getName());
+            courseSchedule.setOrganId(practiceGroup.getOrganId());
             courseScheduleDao.insert(courseSchedule);
 
             //课程与老师薪水表
@@ -2911,6 +2912,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
             courseSchedule.setType(CourseSchedule.CourseScheduleType.PRACTICE);
             courseSchedule.setGroupType(GroupType.PRACTICE);
             courseSchedule.setIsLock(1);
+            courseSchedule.setOrganId(practiceGroupBuyParams.getOrganId());
         }
         courseScheduleDao.batchAddCourseSchedules(practiceCourses);
         TeacherDefaultPracticeGroupSalary teacherDefaultPracticeGroupSalary = teacherDefaultPracticeGroupSalaryDao.findByTeacherAndCourseMinutes(practiceGroupBuyParams.getUserId(),practiceCourseMinutes);

+ 15 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysMessageServiceImpl.java

@@ -203,6 +203,21 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 	}
 
 	@Override
+	public void sendPrivateMessage(String studentId, String content) {
+		SysUser sysUser = sysUserFeignService.queryUserInfo();
+		if(sysUser == null){
+			throw new BizException("用户信息获取失败");
+		}
+		ImPrivateMessage privateMessage = new ImPrivateMessage();
+		privateMessage.setObjectName("RC:TxtMsg");
+		privateMessage.setTargetId(studentId.split(","));
+		privateMessage.setSenderId(sysUser.getId().toString());
+		privateMessage.setIsIncludeSender(1);
+		privateMessage.setContent(new ImTxtMessage(content,null));
+		imFeignService.privateSend(privateMessage);
+	}
+
+	@Override
 	@Async
 	public boolean batchSendMessage(MessageSender messageSender, String subject, String content, Map<Integer, String> receivers, Date triggerTime,
 			Integer readStatus, String memo, String group,String jpushType) {

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java

@@ -382,6 +382,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		    courseSchedule.setType(CourseSchedule.CourseScheduleType.VIP);
 			courseSchedule.setClassGroupId(classGroup.getId());
 			courseSchedule.setName(vipGroupApplyBaseInfoDto.getName());
+			courseSchedule.setOrganId(vipGroupApplyBaseInfoDto.getOrganId());
 		});
 		courseScheduleService.checkNewCourseSchedules(vipGroup.getCourseSchedules(),false);
 		vipGroupApplyBaseInfoDto.setCourseSchedulesJson(JSON.toJSONString(vipGroup.getCourseSchedules()));
@@ -1750,6 +1751,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 				if(newCourseSchedules.get(i).getTeachMode().equals(TeachModeEnum.OFFLINE)){
 					newCourseSchedules.get(i).setSchoolId(vipGroup.getTeacherSchoolId());
 				}
+				newCourseSchedules.get(i).setOrganId(vipGroup.getOrganId());
 			}
 			courseScheduleService.batchAddCourseSchedule(newCourseSchedules);
 
@@ -2363,6 +2365,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 			courseSchedule.setGroupType(GroupType.VIP);
 			courseSchedule.setMusicGroupId(vipGroup.getId().toString());
 			courseSchedule.setName(vipGroup.getName());
+			courseSchedule.setOrganId(vipGroup.getOrganId());
 //			if (courseSchedule.getTeachMode().equals(TeachModeEnum.ONLINE)) {
 //				surplusCourseTotalPrice = surplusCourseTotalPrice.add(onlineCoursePrice);
 //			} else if (courseSchedule.getTeachMode().equals(TeachModeEnum.OFFLINE)) {

+ 17 - 6
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -33,6 +33,7 @@
         <result column="class_group_type_" property="classGroupType"/>
         <result column="teaching_content_" property="teachingContent"/>
         <result column="note_" property="note"/>
+        <result column="organ_id_" property="organId"/>
     </resultMap>
 
     <resultMap type="com.ym.mec.biz.dal.dto.Mapper" id="Mapper">
@@ -128,7 +129,8 @@
                leave_student_num_,
                teaching_content_,
                note_,
-               schoole_id_
+               schoole_id_,
+               organ_id_
         FROM course_schedule
         WHERE id_ = #{id}
     </select>
@@ -149,9 +151,15 @@
         </selectKey>
         -->
         INSERT INTO course_schedule
-        (id_,group_type_,music_group_id_,class_group_id_,status_,subsidy_,class_date_,start_class_time_,end_class_time_,teacher_id_,actual_teacher_id_,create_time_,update_time_,type_,name_,teach_mode_,student_num_,leave_student_num_,schoole_id_,is_lock_,note_,teaching_content_)
-        VALUES(#{id},#{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{musicGroupId},#{classGroupId},#{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{subsidy},#{classDate},#{startClassTime},#{endClassTime},#{teacherId},#{teacherId},now(),now(),
-        #{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{name},#{teachMode,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{studentNum},#{leaveStudentNum},#{schoolId},#{isLock},#{note},#{teachingContent})
+        (id_,group_type_,music_group_id_,class_group_id_,status_,subsidy_,class_date_,start_class_time_,end_class_time_,
+        teacher_id_,actual_teacher_id_,create_time_,update_time_,type_,name_,teach_mode_,student_num_,leave_student_num_,
+        schoole_id_,is_lock_,note_,teaching_content_,organ_id_)
+        VALUES(#{id},#{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{musicGroupId},#{classGroupId},
+        #{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{subsidy},#{classDate},#{startClassTime},
+        #{endClassTime},#{teacherId},#{teacherId},now(),now(),
+        #{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{name},
+        #{teachMode,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{studentNum},#{leaveStudentNum},
+        #{schoolId},#{isLock},#{note},#{teachingContent},#{organId})
     </insert>
 
     <insert id="batchAddCourseSchedules" parameterType="java.util.List" useGeneratedKeys="true" keyColumn="id"
@@ -159,7 +167,7 @@
         INSERT INTO course_schedule
         (group_type_,music_group_id_,class_group_id_,status_,subsidy_,class_date_,start_class_time_,end_class_time_,
         teacher_id_,actual_teacher_id_,create_time_,update_time_,type_,name_,teach_mode_,student_num_,leave_student_num_,
-        schoole_id_,is_lock_,note_,teaching_content_)
+        schoole_id_,is_lock_,note_,teaching_content_,organ_id_)
         VALUE
         <foreach collection="list" item="course" separator=",">
             (#{course.groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{course.musicGroupId},
@@ -167,7 +175,7 @@
             #{course.subsidy},#{course.classDate},#{course.startClassTime},#{course.endClassTime},#{course.teacherId},
             #{course.teacherId},now(),now(),#{course.type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
             #{course.name},#{course.teachMode,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{course.studentNum},
-            #{course.leaveStudentNum},#{course.schoolId},#{course.isLock},#{course.note},#{course.teachingContent})
+            #{course.leaveStudentNum},#{course.schoolId},#{course.isLock},#{course.note},#{course.teachingContent},#{course.organId})
         </foreach>
     </insert>
 
@@ -175,6 +183,9 @@
     <update id="update" parameterType="com.ym.mec.biz.dal.entity.CourseSchedule">
         UPDATE course_schedule
         <set>
+            <if test="organId != null">
+                organ_id_ = #{organId},
+            </if>
             <if test="note != null">
                 note_ = #{note},
             </if>

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

@@ -95,6 +95,7 @@ public class CourseScheduleController extends BaseController {
             courseSchedule.setMusicGroupId(musicGroup.getId());
             courseSchedule.setGroupType(GroupType.MUSIC);
             courseSchedule.setTeachMode(TeachModeEnum.OFFLINE);
+            courseSchedule.setOrganId(musicGroup.getOrganId());
         });
 
         scheduleService.createCourseSchedules(createCourseScheduleDto);

+ 13 - 0
mec-web/src/main/java/com/ym/mec/web/controller/education/ImController.java

@@ -4,6 +4,7 @@ import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dto.BasicUserDto;
 import com.ym.mec.biz.service.ClassGroupService;
+import com.ym.mec.biz.service.SysMessageService;
 import com.ym.mec.biz.service.TeacherService;
 import com.ym.mec.common.controller.BaseController;
 import io.swagger.annotations.Api;
@@ -27,6 +28,8 @@ public class ImController extends BaseController {
     @Autowired
     private ClassGroupService classGroupService;
     @Autowired
+    private SysMessageService sysMessageService;
+    @Autowired
     private TeacherService teacherService;
 
     @ApiOperation(value = "获取教务所有聊天群组")
@@ -90,4 +93,14 @@ public class ImController extends BaseController {
         return succeed(classGroupService.getUserInfoWithUserId(groupId,userId));
     }
 
+    @ApiOperation(value = "发送私聊消息")
+    @GetMapping("/sendPrivateMessage")
+    public Object sendPrivateMessage(String targetId,String content) {
+        if (StringUtils.isEmpty(targetId) || StringUtils.isEmpty(content)) {
+            return failed("参数校验错误");
+        }
+        sysMessageService.sendPrivateMessage(targetId,content);
+        return succeed();
+    }
+
 }