Przeglądaj źródła

Merge remote-tracking branch 'origin/master'

zouxuan 3 lat temu
rodzic
commit
db3e8e7398
14 zmienionych plików z 163 dodań i 25 usunięć
  1. 0 1
      cooleshow-mall/mall-admin/src/main/java/com/yonge/cooleshow/admin/service/impl/OmsOrderReturnApplyServiceImpl.java
  2. 59 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/JumpUrlDto.java
  3. 45 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/SysMessageConfig.java
  4. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/SysMessageConfigService.java
  5. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/SysMessageService.java
  6. 2 2
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/CourseGroupServiceImpl.java
  7. 5 9
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/CourseHomeworkServiceImpl.java
  8. 2 2
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/SysMessageConfigServiceImpl.java
  9. 26 5
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/SysMessageServiceImpl.java
  10. 2 2
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/VideoLessonPurchaseRecordServiceImpl.java
  11. 11 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/CourseHomeworkVo.java
  12. 2 0
      cooleshow-user/user-biz/src/main/resources/config/mybatis/CourseHomeworkMapper.xml
  13. 6 2
      cooleshow-user/user-biz/src/main/resources/config/mybatis/SysMessageConfigMapper.xml
  14. 1 0
      cooleshow-user/user-biz/src/main/resources/config/mybatis/SysMusicCompareRecordMapper.xml

+ 0 - 1
cooleshow-mall/mall-admin/src/main/java/com/yonge/cooleshow/admin/service/impl/OmsOrderReturnApplyServiceImpl.java

@@ -1,6 +1,5 @@
 package com.yonge.cooleshow.admin.service.impl;
 
-import com.alibaba.fastjson.JSONObject;
 import com.github.pagehelper.PageHelper;
 import com.yonge.cooleshow.admin.dao.OmsOrderReturnApplyDao;
 import com.yonge.cooleshow.admin.dto.HomeStatistical;

+ 59 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/JumpUrlDto.java

@@ -0,0 +1,59 @@
+package com.yonge.cooleshow.biz.dal.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * Description
+ *
+ * @author liujunchi
+ * @date 2022-07-04
+ */
+@ApiModel("消息跳转参数")
+public class JumpUrlDto {
+
+    @ApiModelProperty("跳转到原生还是h5页面 'h5' | 'app'")
+    private String action ="";
+
+    @ApiModelProperty("h5跳转连接")
+    private String url ="";
+
+    @ApiModelProperty("跳转到哪个页面")
+    private String pageTag ="";
+
+
+    @ApiModelProperty("其它参数")
+    private String params ="";
+
+    public String getAction() {
+        return action;
+    }
+
+    public void setAction(String action) {
+        this.action = action;
+    }
+
+    public String getUrl() {
+        return url;
+    }
+
+    public void setUrl(String url) {
+        this.url = url;
+    }
+
+    public String getPageTag() {
+        return pageTag;
+    }
+
+    public void setPageTag(String pageTag) {
+        this.pageTag = pageTag;
+    }
+
+    public String getParams() {
+        return params;
+    }
+
+    public void setParams(String params) {
+        this.params = params;
+    }
+}

+ 45 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/SysMessageConfig.java

@@ -1,6 +1,7 @@
 package com.yonge.cooleshow.biz.dal.entity;
 
 import com.yonge.cooleshow.biz.dal.enums.MessageIconTypeEnum;
+import io.swagger.annotations.ApiModelProperty;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
 import com.yonge.cooleshow.biz.dal.enums.MessageTypeEnum;
@@ -35,6 +36,50 @@ public class SysMessageConfig {
 
 	private Integer sendFlag;
 
+	@ApiModelProperty("消息跳转类型  h5,app")
+	private String action;
+
+	@ApiModelProperty("跳转到那个页面")
+	private String pageTag;
+
+	@ApiModelProperty("其他参数 app参数,h5直接拼接在链接里")
+	private String params;
+
+	@ApiModelProperty("h5跳转链接")
+	private String actionUrl;
+
+	public String getAction() {
+		return action;
+	}
+
+	public void setAction(String action) {
+		this.action = action;
+	}
+
+	public String getPageTag() {
+		return pageTag;
+	}
+
+	public void setPageTag(String pageTag) {
+		this.pageTag = pageTag;
+	}
+
+	public String getParams() {
+		return params;
+	}
+
+	public void setParams(String params) {
+		this.params = params;
+	}
+
+	public String getActionUrl() {
+		return actionUrl;
+	}
+
+	public void setActionUrl(String actionUrl) {
+		this.actionUrl = actionUrl;
+	}
+
 	public Integer getSendFlag() {
 		return sendFlag;
 	}

+ 1 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/SysMessageConfigService.java

@@ -11,5 +11,5 @@ public interface SysMessageConfigService extends BaseService<Long, SysMessageCon
 	 * @param type
 	 * @return
 	 */
-	SysMessageConfig queryByType(MessageTypeEnum type);
+	SysMessageConfig queryByType(String type);
 }

+ 1 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/SysMessageService.java

@@ -127,5 +127,5 @@ public interface SysMessageService extends BaseService<Long, SysMessage> {
 	
 	public List<SysMessage> queryUserInRecentMinList(String mobile, int recentMin, MessageSendMode type);
 
-	String selectConfigUrl(String messageType);
+	String selectConfigUrl(String messageType,Object ...param);
 }

+ 2 - 2
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/CourseGroupServiceImpl.java

@@ -817,11 +817,11 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
             //极光-消息推送-老师端-通知老师有学生购买课程-跳转到APP
             MessageTypeEnum studentBuyLive = MessageTypeEnum.STUDENT_BUY_LIVE;
             //查询推送跳转的url
-            String studentBuyLiveUrl = sysMessageService.selectConfigUrl(studentBuyLive.getCode());
+            String studentBuyLiveUrl = sysMessageService.selectConfigUrl(studentBuyLive.getCode(),courseGroup.getId());
             Map<Long, String> teacherReceivers = new HashMap<>();
             teacherReceivers.put(teacherInfo.getId(), teacherInfo.getPhone());
             sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, studentBuyLive,
-                    teacherReceivers, null, 0, studentBuyLiveUrl + courseGroup.getId(), ClientEnum.TEACHER.getCode(),
+                    teacherReceivers, null, 0, studentBuyLiveUrl , ClientEnum.TEACHER.getCode(),
                     studentInfo.getUsername(), courseGroup.getName());
             log.info("buyLiveCourseSuccess buyLiveSendMessage STUDENT_BUY_LIVE ok");
 

+ 5 - 9
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/CourseHomeworkServiceImpl.java

@@ -122,7 +122,7 @@ public class CourseHomeworkServiceImpl extends ServiceImpl<CourseHomeworkDao, Co
         }
 
 
-        // 声部信息
+        // 声部信息 群组信息
         List<CourseHomeworkVo> subjectList = baseMapper.selectSubjectAndGroupInfoList(recordIdList);
 
         if (CollectionUtils.isEmpty(subjectList)) {
@@ -160,6 +160,7 @@ public class CourseHomeworkServiceImpl extends ServiceImpl<CourseHomeworkDao, Co
                 record.setCourseGroupName(courseHomeworkVo.getCourseGroupName());
                 record.setSubjectName(courseHomeworkVo.getSubjectName());
                 record.setClassNum(courseHomeworkVo.getClassNum());
+                record.setImGroupId(courseHomeworkVo.getImGroupId());
             }
         }
         return courseHomeworkVoIPage;
@@ -251,9 +252,7 @@ public class CourseHomeworkServiceImpl extends ServiceImpl<CourseHomeworkDao, Co
             return;
         }
         SysUser teacher = sysUserFeignService.queryUserById(teacherId);
-        String url = sysMessageService.selectConfigUrl(MessageTypeEnum.TEACHER_DECORATE_HOMEWORK.getCode());
-
-        url = MessageFormatter.arrayFormat(url, courseScheduleId);
+        String url = sysMessageService.selectConfigUrl(MessageTypeEnum.TEACHER_DECORATE_HOMEWORK.getCode(),courseScheduleId);
         for (CourseScheduleStudentPayment courseScheduleStudentPayment : paymentList) {
             SysUser student = sysUserFeignService.queryUserById(courseScheduleStudentPayment.getUserId());
             Map<Long,String> studentReceivers = new HashMap<>();
@@ -323,9 +322,7 @@ public class CourseHomeworkServiceImpl extends ServiceImpl<CourseHomeworkDao, Co
         SysUser teacher = sysUserFeignService.queryUserById(courseHomeworkDetailVo.getTeacherId());
         Map<Long,String> studentReceivers = new HashMap<>();
         studentReceivers.put(student.getId(), student.getPhone());
-        String url = sysMessageService.selectConfigUrl(MessageTypeEnum.TEACHER_REVIEW_HOMEWORK.getCode());
-
-        url = MessageFormatter.arrayFormat(url, reviewDto.getCourseScheduleId());
+        String url = sysMessageService.selectConfigUrl(MessageTypeEnum.TEACHER_REVIEW_HOMEWORK.getCode(),reviewDto.getCourseScheduleId());
         sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.TEACHER_REVIEW_HOMEWORK,
         studentReceivers, null, 0, url , ClientEnum.STUDENT.getCode(), teacher.getUsername());
     }
@@ -388,8 +385,7 @@ public class CourseHomeworkServiceImpl extends ServiceImpl<CourseHomeworkDao, Co
         Map<Long,String> receivers = new HashMap<>();
         receivers.put(teacher.getId(), teacher.getPhone());
 
-        String url = sysMessageService.selectConfigUrl(MessageTypeEnum.STUDENT_SUBMIT_HOMEWORK.getCode());
-        url = MessageFormatter.arrayFormat(url, submitDto.getCourseScheduleId(),student.getId());
+        String url = sysMessageService.selectConfigUrl(MessageTypeEnum.STUDENT_SUBMIT_HOMEWORK.getCode(),submitDto.getCourseScheduleId(),student.getId());
         sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_SUBMIT_HOMEWORK,
         receivers, null, 0, url, ClientEnum.TEACHER.getCode(), student.getUsername());
     }

+ 2 - 2
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/SysMessageConfigServiceImpl.java

@@ -22,8 +22,8 @@ public class SysMessageConfigServiceImpl extends BaseServiceImpl<Long, SysMessag
 	}
 
 	@Override
-	public SysMessageConfig queryByType(MessageTypeEnum type) {
-		return sysMessageConfigDao.queryByType(type.getCode());
+	public SysMessageConfig queryByType(String type) {
+		return sysMessageConfigDao.queryByType(type);
 	}
 	
 }

+ 26 - 5
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/SysMessageServiceImpl.java

@@ -10,6 +10,8 @@ import java.util.Map.Entry;
 import java.util.Random;
 import java.util.Set;
 
+import com.alibaba.fastjson.JSON;
+import com.yonge.cooleshow.biz.dal.dto.JumpUrlDto;
 import com.yonge.toolset.base.string.MessageFormatter;
 
 import com.yonge.toolset.mybatis.service.impl.BaseServiceImpl;
@@ -168,7 +170,7 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 			LOGGER.error("接收地址不能为空");
 			return false;
 		}
-		SysMessageConfig messageConfig = sysMessageConfigService.queryByType(messageType);
+		SysMessageConfig messageConfig = sysMessageConfigService.queryByType(messageType.getCode());
 		if (messageConfig == null) {
 			throw new BizException("消息类型错误");
 		}else if(messageConfig.getSendFlag() == null || messageConfig.getSendFlag() == 0){
@@ -210,7 +212,7 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 		}
 
 		String[] tos = receivers.values().toArray(new String[receivers.size()]);
-		SysMessageConfig messageConfig = sysMessageConfigService.queryByType(type);
+		SysMessageConfig messageConfig = sysMessageConfigService.queryByType(type.getCode());
 		if (messageConfig == null) {
 			throw new BizException("消息类型错误");
 		}else if(messageConfig.getSendFlag() == null || messageConfig.getSendFlag() == 0){
@@ -254,7 +256,7 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 			throw new BizException("接收地址不能为空");
 		}
 		String[] tos = receivers.values().toArray(new String[receivers.size()]);
-		SysMessageConfig messageConfig = sysMessageConfigService.queryByType(type);
+		SysMessageConfig messageConfig = sysMessageConfigService.queryByType(type.getCode());
 		if (messageConfig == null) {
 			throw new BizException("消息类型错误");
 		}else if(messageConfig.getSendFlag() == null || messageConfig.getSendFlag() == 0){
@@ -410,7 +412,26 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 	}
 
 	@Override
-	public String selectConfigUrl(String messageType) {
-		return sysMessageDao.selectConfigUrl(messageType);
+	public String selectConfigUrl(String messageType,Object ...param) {
+		SysMessageConfig sysMessageConfig = sysMessageConfigService.queryByType(messageType);
+		if (sysMessageConfig == null) {
+			throw new BizException("消息类型错误");
+		}
+		if(StringUtils.isEmpty(sysMessageConfig.getAction())) {
+			return null;
+		}
+		if (sysMessageConfig.getAction().equals("sms")) {
+			return sysMessageConfig.getActionUrl();
+		} else if (sysMessageConfig.getAction().equals("h5")) {
+			sysMessageConfig.setActionUrl(MessageFormatter.arrayFormat(sysMessageConfig.getActionUrl(), param));
+		} else if (sysMessageConfig.getAction().equals("app")) {
+			sysMessageConfig.setParams(MessageFormatter.arrayFormat(sysMessageConfig.getParams(), param));
+		}
+		JumpUrlDto jumpUrlDto = new JumpUrlDto();
+		jumpUrlDto.setAction(sysMessageConfig.getAction());
+		jumpUrlDto.setUrl(sysMessageConfig.getActionUrl());
+		jumpUrlDto.setPageTag(sysMessageConfig.getPageTag());
+		jumpUrlDto.setParams(sysMessageConfig.getParams());
+		return JSON.toJSONString(jumpUrlDto);
 	}
 }

+ 2 - 2
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/VideoLessonPurchaseRecordServiceImpl.java

@@ -230,9 +230,9 @@ public class VideoLessonPurchaseRecordServiceImpl extends ServiceImpl<VideoLesso
 
         //学生端-购买视频课
         try {
-            String url = sysMessageService.selectConfigUrl(MessageTypeEnum.VIDEO_BUY.getCode());
+            String url = sysMessageService.selectConfigUrl(MessageTypeEnum.VIDEO_BUY.getCode(),lesson.getId());
             sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.VIDEO_BUY,
-                    studentReceivers, null, 0, url + lesson.getId(), ClientEnum.STUDENT.getCode(),
+                    studentReceivers, null, 0, url , ClientEnum.STUDENT.getCode(),
                     teacher.getUsername(), lesson.getLessonName() );
             log.info("send success {}", MessageTypeEnum.VIDEO_BUY);
         } catch (Exception e) {

+ 11 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/CourseHomeworkVo.java

@@ -24,6 +24,9 @@ public class CourseHomeworkVo{
 	@ApiModelProperty("课后作业id")
 	private Long homeworkId;
 
+	@ApiModelProperty("群聊id")
+	private String imGroupId;
+
 
 	@ApiModelProperty("课程组ID")
 	private Long courseGroupId;
@@ -89,6 +92,14 @@ public class CourseHomeworkVo{
 	@ApiModelProperty("作业提交时间")
 	private Date submitTime;
 
+	public String getImGroupId() {
+		return imGroupId;
+	}
+
+	public void setImGroupId(String imGroupId) {
+		this.imGroupId = imGroupId;
+	}
+
 	public HomeworkStatusEnum getHomeworkStatus() {
 		return homeworkStatus;
 	}

+ 2 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/CourseHomeworkMapper.xml

@@ -285,9 +285,11 @@
         ,cg.name_ as courseGroupName
         ,cg.background_pic_ as backgroundPic
         ,cs.class_num_ as classNum
+        ,ig.id_ as imGroupId
         from course_schedule cs
         left join course_group cg on cs.course_group_id_ = cg.id_
         left join subject s on s.id_ = cg.subject_id_
+        left join im_group ig on cs.course_group_id_ = ig.course_group_id_
         <where>
             <if test="records != null and records.size() != 0">
                 and cs.id_ in

+ 6 - 2
cooleshow-user/user-biz/src/main/resources/config/mybatis/SysMessageConfigMapper.xml

@@ -14,6 +14,10 @@
 		<result column="sub_type_" property="subType" />
 		<result column="group_" property="group" />
 		<result column="send_flag_" property="sendFlag" />
+		<result column="action_" property="action" />
+		<result column="page_tag_" property="pageTag" />
+		<result column="params" property="params" />
+		<result column="action_url_" property="actionUrl" />
 	</resultMap>
 
 	<sql id="queryCondition">
@@ -55,8 +59,8 @@
 		<!-- <selectKey resultClass="int" keyProperty="id" > SELECT SEQ_WSDEFINITION_ID.nextval 
 			AS ID FROM DUAL </selectKey> -->
 		INSERT INTO sys_message_config
-		(id_,message_type_,content_,description_,modify_on_,url_,group_,sub_type_)
-		VALUES(#{id},#{messageType},#{content},#{description},#{modifyOn},#{url},#{group},#{subType})
+		(id_,message_type_,content_,description_,modify_on_,url_,group_,sub_type_,action_,page_tag_,params,action_url_)
+		VALUES(#{id},#{messageType},#{content},#{description},#{modifyOn},#{url},#{group},#{subType},#{action},#{pageTag},#{params},#{actionUrl})
 	</insert>
 
 	<!-- 根据主键查询一条记录 -->

+ 1 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/SysMusicCompareRecordMapper.xml

@@ -128,6 +128,7 @@
 
 	<sql id="queryCondition">
 		<where>
+			smcr.score_data_ is not null and smcr.score_data_ != ''
 			<if test="userId!=null">
 				AND smcr.user_id_=#{userId}
 			</if>