Explorar o código

Merge remote-tracking branch 'origin/master'

Joburgess %!s(int64=5) %!d(string=hai) anos
pai
achega
ade43b9ade

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

@@ -29,6 +29,14 @@ public interface SysMessageService extends BaseService<Long, SysMessage> {
 	boolean batchSeoMessage(Set<Integer> userIds, MessageTypeEnum messageType,String memo, Object... args);
 
 	/**
+	 * 推送站内消息
+	 * @param senderId
+	 * @param messageType
+	 * @return
+	 */
+	void batchSendImMessage(MessageTypeEnum messageType,String senderId, String[] targetIds,String url, Object... args);
+
+	/**
 	 * 批量发送消息
 	 * @param messageSender 消息发送者
 	 * @param subject 消息主题

+ 17 - 7
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseReviewServiceImpl.java

@@ -11,6 +11,9 @@ import java.util.stream.Collectors;
 
 import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.enums.GroupType;
+import com.ym.mec.common.entity.ImPrivateMessage;
+import com.ym.mec.common.entity.ImTxtMessage;
+import com.ym.mec.im.ImFeignService;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -94,6 +97,9 @@ public class CourseReviewServiceImpl extends BaseServiceImpl<Integer, CourseSche
     private SysMessageService sysMessageService;
 
     @Autowired
+    private ImFeignService imFeignService;
+
+    @Autowired
     private TeacherDao teacherDao;
 
     @Autowired
@@ -213,8 +219,8 @@ public class CourseReviewServiceImpl extends BaseServiceImpl<Integer, CourseSche
                 courseHomeworkService.insert(courseHomework);
 
                 if (!CollectionUtils.isEmpty(courseScheduleStudentPayments)) {
-                    List<StudentCourseHomework> studentCourseHomeworks = new ArrayList<>();
-                    Teacher teacher = teacherDao.get(courseScheduleReview.getTeacherId());
+//                    List<StudentCourseHomework> studentCourseHomeworks = new ArrayList<>();
+//                    Teacher teacher = teacherDao.get(courseScheduleReview.getTeacherId());
                     String dateStr = DateUtil.dateToString(DateUtil.addDays(date, 1), "MM月dd日");
                     for (CourseScheduleStudentPayment courseScheduleStudentPayment : courseScheduleStudentPayments) {
                         StudentCourseHomework studentCourseHomework = new StudentCourseHomework();
@@ -228,11 +234,15 @@ public class CourseReviewServiceImpl extends BaseServiceImpl<Integer, CourseSche
                         studentCourseHomework.setIsReplied(YesOrNoEnum.NO);
                         studentCourseHomeworkDao.insert(studentCourseHomework);
 
-                        Map<Integer, String> userMap = new HashMap<>();
-                        userMap.put(courseScheduleStudentPayment.getUserId(), courseScheduleStudentPayment.getUserId().toString());
-                        String notifyUrl = "3?courseScheduleID=" + courseSchedule.getId() + "&studentCourseHomeworkId=" + studentCourseHomework.getId();
-                        sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.HOMEWORK_REMIND,
-                                userMap, null, 0, notifyUrl, "STUDENT", teacher.getRealName(), courseSchedule.getName(), dateStr);
+//                        Map<Integer, String> userMap = new HashMap<>();
+//                        userMap.put(courseScheduleStudentPayment.getUserId(), courseScheduleStudentPayment.getUserId().toString());
+//                        StringBuffer stringBuffer = new StringBuffer(sysConfigDao.findConfigValue(SysConfigService.BASE_API_URL));
+//                        String notifyUrl = stringBuffer.append("?courseScheduleID=").append(courseSchedule.getId()).append("&studentCourseHomeworkId=").append(studentCourseHomework.getId()).toString();
+                        sysMessageService.batchSendImMessage(MessageTypeEnum.HOMEWORK_REMIND,courseScheduleReview.getTeacherId().toString(),
+                                                        new String[]{courseScheduleStudentPayment.getUserId().toString()},
+                                                        null,courseSchedule.getName(), dateStr);
+//                        sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.HOMEWORK_REMIND,
+//                                userMap, null, 0, notifyUrl, "STUDENT", teacher.getRealName(), courseSchedule.getName(), dateStr);
                     }
                 }
             }

+ 30 - 11
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentCourseHomeworkReplyServiceImpl.java

@@ -3,6 +3,7 @@ package com.ym.mec.biz.service.impl;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.CourseScheduleDao;
 import com.ym.mec.biz.dal.dao.StudentCourseHomeworkReplyDao;
+import com.ym.mec.biz.dal.dao.SysConfigDao;
 import com.ym.mec.biz.dal.dao.TeacherDao;
 import com.ym.mec.biz.dal.dto.StudentCourseHomeworkCommentDto;
 import com.ym.mec.biz.dal.entity.CourseSchedule;
@@ -12,6 +13,7 @@ import com.ym.mec.biz.dal.enums.MessageTypeEnum;
 import com.ym.mec.biz.dal.page.StudentCourseHomeworkReplyQueryInfo;
 import com.ym.mec.biz.service.StudentCourseHomeworkReplyService;
 import com.ym.mec.biz.service.StudentCourseHomeworkService;
+import com.ym.mec.biz.service.SysConfigService;
 import com.ym.mec.biz.service.SysMessageService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
@@ -38,6 +40,8 @@ public class StudentCourseHomeworkReplyServiceImpl extends BaseServiceImpl<Long,
 	@Autowired
 	private TeacherDao teacherDao;
 	@Autowired
+	private SysConfigDao sysConfigDao;
+	@Autowired
 	private SysMessageService sysMessageService;
 
 	@Override
@@ -53,12 +57,21 @@ public class StudentCourseHomeworkReplyServiceImpl extends BaseServiceImpl<Long,
 			throw new BizException("请指定需要回复的作业");
 		}
 		CourseSchedule courseSchedule = courseScheduleDao.get(studentCourseHomework.getCourseScheduleId());
-		Map<Integer, String> userMap = new HashMap<>();
-		userMap.put(courseSchedule.getActualTeacherId(), courseSchedule.getActualTeacherId().toString());
+//		Map<Integer, String> userMap = new HashMap<>();
+//		userMap.put(courseSchedule.getActualTeacherId(), courseSchedule.getActualTeacherId().toString());
 		SysUser user = teacherDao.getUser(studentCourseHomework.getUserId());
-		String notifyUrl = "9?courseScheduleID=" + studentCourseHomework.getId() + "&userId=" + studentCourseHomework.getUserId() + "&studentCourseHomeworkId=" + studentCourseHomework.getId();
-		sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.HOMEWORK_STUDENT_REPLY_PUSH,
-				userMap, null, 0, notifyUrl, "TEACHER", courseSchedule.getName(), DateUtil.dateToString(courseSchedule.getClassDate(),"yyyy年MM月dd日"), user.getUsername());
+//		StringBuffer stringBuffer = new StringBuffer(sysConfigDao.findConfigValue(SysConfigService.BASE_API_URL));
+//		String notifyUrl = stringBuffer.append("?courseScheduleID=").append(studentCourseHomework.getId()).
+//				append("&userId=").append(studentCourseHomework.getUserId()).
+//				append("&studentCourseHomeworkId=").append(studentCourseHomework.getId()).toString();
+
+//		String notifyUrl = "9?courseScheduleID=" + studentCourseHomework.getId() +
+//				"&userId=" + studentCourseHomework.getUserId() + "&studentCourseHomeworkId=" + studentCourseHomework.getId();
+		sysMessageService.batchSendImMessage(MessageTypeEnum.HOMEWORK_STUDENT_REPLY_PUSH,studentCourseHomework.getUserId().toString(),
+				new String[]{courseSchedule.getActualTeacherId().toString()},
+				null,courseSchedule.getName(), DateUtil.dateToString(courseSchedule.getClassDate(),"yyyy年MM月dd日"), user.getUsername());
+//		sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.HOMEWORK_STUDENT_REPLY_PUSH,
+//				userMap, null, 0, notifyUrl, "TEACHER", courseSchedule.getName(), DateUtil.dateToString(courseSchedule.getClassDate(),"yyyy年MM月dd日"), user.getUsername());
 		return super.insert(bean);
 	}
 
@@ -74,12 +87,18 @@ public class StudentCourseHomeworkReplyServiceImpl extends BaseServiceImpl<Long,
 				studentCourseHomework.getUserId());
 
 		CourseSchedule courseSchedule = courseScheduleDao.get(studentCourseHomework.getCourseScheduleId());
-		Map<Integer, String> userMap = new HashMap<>();
-		userMap.put(studentCourseHomework.getUserId(),studentCourseHomework.getUserId().toString());
-		SysUser user = teacherDao.get(courseSchedule.getTeacherId());
-		String notifyUrl = "3?courseScheduleID=" + courseSchedule.getId() + "&studentCourseHomeworkId=" + studentCourseHomework.getId();
-		sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.HOMEWORK_TEACHER_REPLY_PUSH,
-				userMap, null, 0, notifyUrl, "STUDENT", user.getRealName(), courseSchedule.getName());
+//		Map<Integer, String> userMap = new HashMap<>();
+//		userMap.put(studentCourseHomework.getUserId(),studentCourseHomework.getUserId().toString());
+//		SysUser user = teacherDao.get(courseSchedule.getTeacherId());
+//		StringBuffer stringBuffer = new StringBuffer(sysConfigDao.findConfigValue(SysConfigService.BASE_API_URL));
+//		String notifyUrl = stringBuffer.append("?courseScheduleID=").append(courseSchedule.getId()).
+//				append("&studentCourseHomeworkId=").append(studentCourseHomework.getId()).toString();
+//		String notifyUrl = "3?courseScheduleID=" + courseSchedule.getId() + "&studentCourseHomeworkId=" + studentCourseHomework.getId();
+		sysMessageService.batchSendImMessage(MessageTypeEnum.HOMEWORK_TEACHER_REPLY_PUSH,courseSchedule.getTeacherId().toString(),
+				new String[]{studentCourseHomework.getUserId().toString()},
+				null, courseSchedule.getName());
+//		sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.HOMEWORK_TEACHER_REPLY_PUSH,
+//				userMap, null, 0, notifyUrl, "STUDENT", user.getRealName(), courseSchedule.getName());
 		super.insert(bean);
 	}
 

+ 14 - 8
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentCourseHomeworkServiceImpl.java

@@ -7,15 +7,13 @@ import com.ym.mec.biz.dal.dto.CourseHomeworkStudentDetailDto;
 import com.ym.mec.biz.dal.dto.SimpleUserDto;
 import com.ym.mec.biz.dal.dto.StudentCourseHomeworkDto;
 import com.ym.mec.biz.dal.dto.StudentHomeworkRecordDto;
-import com.ym.mec.biz.dal.entity.CourseHomework;
-import com.ym.mec.biz.dal.entity.CourseSchedule;
-import com.ym.mec.biz.dal.entity.CourseScheduleReview;
-import com.ym.mec.biz.dal.entity.StudentCourseHomework;
+import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.MessageTypeEnum;
 import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 import com.ym.mec.biz.dal.page.CourseHomeworkQueryInfo;
 import com.ym.mec.biz.service.CourseHomeworkService;
 import com.ym.mec.biz.service.StudentCourseHomeworkService;
+import com.ym.mec.biz.service.SysConfigService;
 import com.ym.mec.biz.service.SysMessageService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
@@ -53,6 +51,8 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud
     private CourseScheduleReviewDao courseScheduleReviewDao;
     @Autowired
     private TeacherDao teacherDao;
+    @Autowired
+    private SysConfigDao sysConfigDao;
 
     @Override
     public BaseDAO<Long, StudentCourseHomework> getDAO() {
@@ -101,13 +101,19 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud
                 courseScheduleReviewDao.update(review);
             }
         }
-
         Map<Integer, String> userMap = new HashMap<>();
         userMap.put(courseSchedule.getActualTeacherId(), courseSchedule.getActualTeacherId().toString());
         SysUser user = teacherDao.getUser(bean.getUserId());
-        String notifyUrl = "9?courseScheduleID=" + bean.getId() + "&userId=" + bean.getUserId() + "&studentCourseHomeworkId=" + bean.getId();
-        sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.HOMEWORK_SUBMIT_PUSH,
-                userMap, null, 0, notifyUrl, "TEACHER", courseSchedule.getName(), DateUtil.dateToString(courseSchedule.getClassDate(), "yyyy年MM月dd日"), user.getUsername());
+//        StringBuffer stringBuffer = new StringBuffer(sysConfigDao.findConfigValue(SysConfigService.BASE_API_URL));
+//        String notifyUrl = stringBuffer.append("?courseScheduleID=").append(bean.getId()).
+//                append("&userId=").append(bean.getUserId()).
+//                append("&studentCourseHomeworkId=").append(bean.getId()).toString();
+//        String notifyUrl = "9?courseScheduleID=" + bean.getId() + "&userId=" + bean.getUserId() + "&studentCourseHomeworkId=" + bean.getId();
+        sysMessageService.batchSendImMessage(MessageTypeEnum.HOMEWORK_SUBMIT_PUSH,bean.getUserId().toString(),
+                new String[]{courseSchedule.getActualTeacherId().toString()},
+                null,courseSchedule.getName(), DateUtil.dateToString(courseSchedule.getClassDate(), "yyyy年MM月dd日"), user.getUsername());
+//        sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.HOMEWORK_SUBMIT_PUSH,
+//                userMap, null, 0, notifyUrl, "TEACHER", courseSchedule.getName(), DateUtil.dateToString(courseSchedule.getClassDate(), "yyyy年MM月dd日"), user.getUsername());
         courseHomeworkService.update(courseHomework);
     }
 

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

@@ -12,9 +12,12 @@ import com.ym.mec.biz.dal.enums.SendStatusEnum;
 import com.ym.mec.biz.service.SysMessageConfigService;
 import com.ym.mec.biz.service.SysMessageService;
 import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.entity.ImPrivateMessage;
+import com.ym.mec.common.entity.ImTxtMessage;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.redis.service.RedisCache;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
+import com.ym.mec.im.ImFeignService;
 import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
 import com.ym.mec.thirdparty.message.MessageSenderPluginContext.MessageSender;
 import com.ym.mec.util.string.MessageFormatter;
@@ -48,6 +51,9 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 	private SysUserFeignService sysUserFeignService;
 
 	@Autowired
+	private ImFeignService imFeignService;
+
+	@Autowired
 	private RedisCache<String, Object> redisCache;
 
 	// 验证码有效期
@@ -166,6 +172,26 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 	}
 
 	@Override
+	public void batchSendImMessage(MessageTypeEnum type, String senderId, String[] targetIds, String url, Object... args) {
+		SysMessageConfig messageConfig = sysMessageConfigService.queryByType(type);
+		if (messageConfig == null) {
+			throw new BizException("消息类型错误");
+		}else if(messageConfig.getSendFlag() == null || messageConfig.getSendFlag() == 0){
+			return;
+		}
+		String content = MessageFormatter.arrayFormat(messageConfig.getContent(), args);
+		if(StringUtils.isNotEmpty(url)){
+			content += url;
+		}
+		ImPrivateMessage privateMessage = new ImPrivateMessage();
+		privateMessage.setObjectName("RC:TxtMsg");
+		privateMessage.setTargetId(targetIds);
+		privateMessage.setSenderId(senderId);
+		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) {

+ 13 - 1
mec-client-api/src/main/java/com/ym/mec/im/ImFeignService.java

@@ -1,5 +1,6 @@
 package com.ym.mec.im;
 
+import com.ym.mec.common.entity.ImPrivateMessage;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.http.MediaType;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -25,7 +26,7 @@ public interface ImFeignService {
 	ImResult register(@RequestBody ImUserModel userModel);
 
 	/**
-	 * 用户注册
+	 * 用户信息修改
 	 * @param userModel
 	 * @return
 	 */
@@ -87,4 +88,15 @@ public interface ImFeignService {
 	 */
 	@PostMapping(value = "group/batchQuit")
 	Object groupBatchQuit(@RequestBody List<ImGroupModel> groupModels);
+
+	/**
+	 * 发送私聊消息
+	 * @param privateMessage
+	 * @return
+	 */
+	@PostMapping(value = "private/send")
+	//body模板
+	//{"senderId":"325","targetId":[1094986],"objectName":"RC:TxtMsg",
+	// "content":{"content":"www.baidu.com"}}
+	Object privateSend(@RequestBody ImPrivateMessage privateMessage);
 }

+ 6 - 0
mec-client-api/src/main/java/com/ym/mec/im/fallback/ImFeignServiceFallback.java

@@ -1,5 +1,6 @@
 package com.ym.mec.im.fallback;
 
+import com.ym.mec.common.entity.ImPrivateMessage;
 import org.springframework.stereotype.Component;
 
 import com.ym.mec.common.entity.ImGroupModel;
@@ -57,4 +58,9 @@ public class ImFeignServiceFallback implements ImFeignService {
     public Object groupBatchQuit(List<ImGroupModel> groupModels) {
         return null;
     }
+
+    @Override
+    public Object privateSend(ImPrivateMessage privateMessage) {
+        return null;
+    }
 }

+ 10 - 0
mec-common/common-core/src/main/java/com/ym/mec/common/entity/ImBaseMessage.java

@@ -0,0 +1,10 @@
+package com.ym.mec.common.entity;
+
+public abstract class ImBaseMessage {
+    public ImBaseMessage() {
+    }
+
+    public abstract String getType();
+
+    public abstract String toString();
+}

+ 81 - 0
mec-common/common-core/src/main/java/com/ym/mec/common/entity/ImMessageModel.java

@@ -0,0 +1,81 @@
+package com.ym.mec.common.entity;
+
+public class ImMessageModel {
+    //	发送人 Id  必填
+    private String senderId;
+    //接收人 Id  必填
+    private String[] targetId;
+    //消息类型, 分为两类: 内置消息类型 、自定义消息类型  RC:TxtMsg,RC:ImgMsg,RC:VcMsg,RC:ImgTextMsg,RC:FileMsg,RC:LBSMsg  必填
+    private String objectName;
+    //消息内容  必填
+    private ImTxtMessage content;
+    //push 内容, 分为两类 内置消息 Push 、自定义消息 Push  RC:TxtMsg,RC:ImgMsg,RC:VcMsg,RC:ImgTextMsg,RC:FileMsg,RC:LBSMsg
+    private String pushContent;
+    private String pushData;
+
+    public ImMessageModel() {
+    }
+
+    public ImMessageModel(String senderId, String[] targetId, String objectName, ImTxtMessage content, String pushContent, String pushData) {
+        this.senderId = senderId;
+        this.targetId = targetId;
+        this.objectName = objectName;
+        this.content = content;
+        this.pushContent = pushContent;
+        this.pushData = pushData;
+    }
+
+    public String[] getTargetId() {
+        return this.targetId;
+    }
+
+    public ImMessageModel setTargetId(String[] targetId) {
+        this.targetId = targetId;
+        return this;
+    }
+
+    public String getObjectName() {
+        return this.objectName;
+    }
+
+    public ImMessageModel setObjectName(String objectName) {
+        this.objectName = objectName;
+        return this;
+    }
+
+    public ImBaseMessage getContent() {
+        return this.content;
+    }
+
+    public ImMessageModel setContent(ImTxtMessage content) {
+        this.content = content;
+        return this;
+    }
+
+    public String getPushContent() {
+        return this.pushContent;
+    }
+
+    public ImMessageModel setPushContent(String pushContent) {
+        this.pushContent = pushContent;
+        return this;
+    }
+
+    public String getPushData() {
+        return this.pushData;
+    }
+
+    public ImMessageModel setPushData(String pushData) {
+        this.pushData = pushData;
+        return this;
+    }
+
+    public String getSenderId() {
+        return this.senderId;
+    }
+
+    public ImMessageModel setSenderId(String senderId) {
+        this.senderId = senderId;
+        return this;
+    }
+}

+ 114 - 0
mec-common/common-core/src/main/java/com/ym/mec/common/entity/ImPrivateMessage.java

@@ -0,0 +1,114 @@
+package com.ym.mec.common.entity;
+
+public class ImPrivateMessage extends ImMessageModel {
+    public String count;
+    //是否在融云服务器存储, 0: 不存储, 1: 存储, 默认: 1
+    public Integer isPersisted;
+    public Integer isCounted;
+    //是否过滤接收用户黑名单列表, 0: 不过滤 、1: 过滤,默认: 0
+    public Integer verifyBlacklist;
+    //发送者自己是否接收此条消息, 0: 不接收, 1: 接收, 默认: 0
+    public Integer isIncludeSender;
+    public Integer contentAvailable;
+
+    public ImPrivateMessage() {
+    }
+
+    public ImPrivateMessage(String senderId, String[] targetId, String objectName, ImTxtMessage content, String pushContent, String pushData, String count, Integer isPersisted, Integer isCounted, Integer verifyBlacklist, Integer isIncludeSender, Integer contentAvailable) {
+        super(senderId, targetId, objectName, content, pushContent, pushData);
+        this.count = count;
+        this.isPersisted = isPersisted;
+        this.isCounted = isCounted;
+        this.verifyBlacklist = verifyBlacklist;
+        this.isIncludeSender = isIncludeSender;
+        this.contentAvailable = contentAvailable;
+    }
+
+    public ImPrivateMessage setSenderId(String senderId) {
+        super.setSenderId(senderId);
+        return this;
+    }
+
+    public String[] getTargetId() {
+        return super.getTargetId();
+    }
+
+    public ImPrivateMessage setTargetId(String[] targetId) {
+        super.setTargetId(targetId);
+        return this;
+    }
+
+    public ImPrivateMessage setContent(ImTxtMessage content) {
+        super.setContent(content);
+        return this;
+    }
+
+    public ImPrivateMessage setPushContent(String pushContent) {
+        super.setPushContent(pushContent);
+        return this;
+    }
+
+    public ImPrivateMessage setPushData(String pushData) {
+        super.setPushData(pushData);
+        return this;
+    }
+
+    public String getCount() {
+        return this.count;
+    }
+
+    public ImPrivateMessage setCount(String count) {
+        this.count = count;
+        return this;
+    }
+
+    public Integer getVerifyBlacklist() {
+        return this.verifyBlacklist;
+    }
+
+    public ImPrivateMessage setVerifyBlacklist(Integer verifyBlacklist) {
+        this.verifyBlacklist = verifyBlacklist;
+        return this;
+    }
+
+    public Integer getIsPersisted() {
+        return this.isPersisted;
+    }
+
+    public ImPrivateMessage setIsPersisted(Integer isPersisted) {
+        this.isPersisted = isPersisted;
+        return this;
+    }
+
+    public Integer getIsCounted() {
+        return this.isCounted;
+    }
+
+    public ImPrivateMessage setIsCounted(Integer isCounted) {
+        this.isCounted = isCounted;
+        return this;
+    }
+
+    public Integer getIsIncludeSender() {
+        return this.isIncludeSender;
+    }
+
+    public ImPrivateMessage setIsIncludeSender(Integer isIncludeSender) {
+        this.isIncludeSender = isIncludeSender;
+        return this;
+    }
+
+    public ImPrivateMessage setObjectName(String objectName) {
+        super.setObjectName(objectName);
+        return this;
+    }
+
+    public Integer getContentAvailable() {
+        return this.contentAvailable;
+    }
+
+    public ImPrivateMessage setContentAvailable(Integer contentAvailable) {
+        this.contentAvailable = contentAvailable;
+        return this;
+    }
+}

+ 38 - 0
mec-common/common-core/src/main/java/com/ym/mec/common/entity/ImTxtMessage.java

@@ -0,0 +1,38 @@
+package com.ym.mec.common.entity;
+
+import com.alibaba.fastjson.JSONObject;
+
+public class ImTxtMessage extends ImBaseMessage {
+    private String content = "";
+    private String extra = "";
+    private static final transient String TYPE = "RC:TxtMsg";
+
+    public ImTxtMessage(String content, String extra) {
+        this.content = content;
+        this.extra = extra;
+    }
+
+    public String getType() {
+        return "RC:TxtMsg";
+    }
+
+    public String getContent() {
+        return this.content;
+    }
+
+    public void setContent(String content) {
+        this.content = content;
+    }
+
+    public String getExtra() {
+        return this.extra;
+    }
+
+    public void setExtra(String extra) {
+        this.extra = extra;
+    }
+
+    public String toString() {
+        return JSONObject.toJSONString(this);
+    }
+}

+ 1 - 1
mec-im/pom.xml

@@ -90,7 +90,7 @@
     <dependency>
       <groupId>cn.rongcloud.im</groupId>
       <artifactId>server-sdk-java</artifactId>
-      <version>3.0.6</version>
+      <version>3.1.4</version>
     </dependency>
     <dependency>
       <groupId>org.springframework.cloud</groupId>

+ 13 - 1
mec-im/src/main/java/com/ym/controller/PrivateController.java

@@ -1,6 +1,10 @@
 package com.ym.controller;
 
+import com.ym.mec.common.entity.ImBaseMessage;
+import com.ym.mec.common.entity.ImPrivateMessage;
+import com.ym.mec.common.entity.ImTxtMessage;
 import com.ym.service.MessageService;
+import io.rong.messages.TxtMessage;
 import io.rong.models.message.PrivateMessage;
 import io.rong.models.message.RecallMessage;
 import io.rong.models.message.TemplateMessage;
@@ -21,7 +25,15 @@ public class PrivateController {
     MessageService messageService;
 
     @RequestMapping(value = "/send", method = RequestMethod.POST)
-    public Object send(@RequestBody PrivateMessage privateMessage) throws Exception {
+    public Object send(@RequestBody ImPrivateMessage imPrivateMessage) throws Exception {
+        PrivateMessage privateMessage = new PrivateMessage();
+        ImTxtMessage content = (ImTxtMessage)imPrivateMessage.getContent();
+        TxtMessage txtMessage = new TxtMessage(content.getContent(),content.getExtra());
+        privateMessage.setContent(txtMessage);
+        privateMessage.setTargetId(imPrivateMessage.getTargetId());
+        privateMessage.setSenderId(imPrivateMessage.getSenderId());
+        privateMessage.setObjectName(imPrivateMessage.getObjectName());
+        privateMessage.setIsIncludeSender(1);
         return messageService.privateSend(privateMessage);
     }
 

+ 5 - 1
mec-im/src/main/java/com/ym/service/Impl/MessageServiceImpl.java

@@ -1,6 +1,7 @@
 package com.ym.service.Impl;
 
 import com.ym.service.MessageService;
+import io.rong.RongCloud;
 import io.rong.methods.message._private.Private;
 import io.rong.methods.message.chatroom.Chatroom;
 import io.rong.methods.message.group.Group;
@@ -25,7 +26,10 @@ public class MessageServiceImpl implements MessageService {
     private String appSecret;
 
     private Private getPrivate(){
-        return new Private(appKey,appSecret);
+        RongCloud rongCloud = RongCloud.getInstance(appKey, appSecret);
+        Private aPrivate = new Private(appKey, appSecret);
+        aPrivate.setRongCloud(rongCloud);
+        return aPrivate;
     }
     private Group getGroup(){
         return new Group(appKey,appSecret);

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

@@ -1,21 +1,16 @@
 package com.ym.mec.web.controller;
 
-import com.ym.mec.common.exception.BizException;
-import io.swagger.annotations.Api;
-
-import org.springframework.beans.factory.annotation.Autowired;
-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.biz.dal.dao.SysUserCashAccountDao;
 import com.ym.mec.biz.dal.dao.TeacherDao;
 import com.ym.mec.biz.dal.entity.SysUserCashAccount;
 import com.ym.mec.biz.dal.entity.Teacher;
 import com.ym.mec.biz.service.PracticeLessonApplyService;
 import com.ym.mec.common.controller.BaseController;
-
-import javax.swing.plaf.basic.BasicIconFactory;
+import io.swagger.annotations.Api;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 
 @RequestMapping("api")
 @Api(tags = "对外接口")