Ver código fonte

Merge remote-tracking branch 'origin/master'

zyy 21 horas atrás
pai
commit
86e0802822

+ 3 - 2
fs-company-app/src/main/java/com/fs/app/controller/FsUserCourseVideoController.java

@@ -50,6 +50,7 @@ import org.springframework.web.bind.annotation.*;
 
 import java.io.IOException;
 import java.io.InputStream;
+import java.io.UnsupportedEncodingException;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -347,7 +348,7 @@ public class FsUserCourseVideoController extends AppBaseController {
 
     @ApiOperation("会员批量发送课程消息 发课")
     @PostMapping("/batchSendCourse")
-    public OpenImResponseDTO batchSendCourse(@RequestBody BatchSendCourseDTO batchSendCourseDTO) throws JsonProcessingException {
+    public OpenImResponseDTO batchSendCourse(@RequestBody BatchSendCourseDTO batchSendCourseDTO) throws JsonProcessingException, UnsupportedEncodingException {
         // 生成看课短链
         FsCourseLinkCreateParam fsCourseLinkCreateParam = new FsCourseLinkCreateParam();
         BeanUtils.copyProperties(batchSendCourseDTO, fsCourseLinkCreateParam);
@@ -368,7 +369,7 @@ public class FsUserCourseVideoController extends AppBaseController {
     }
     @ApiOperation("会员一键催课")
     @PostMapping("/batchUrgeCourse")
-    public OpenImResponseDTO batchUrgeCourse(@RequestBody BatchUrgeCourseDTO batchUrgeCourseDTO) throws JsonProcessingException {
+    public OpenImResponseDTO batchUrgeCourse(@RequestBody BatchUrgeCourseDTO batchUrgeCourseDTO) throws JsonProcessingException, UnsupportedEncodingException {
         // 查询生成短链需要的内容
         Map<String, Object> params = new HashMap<>();
         params.put("logDetailIds", batchUrgeCourseDTO.getImMsgSendDetailId());

+ 2 - 1
fs-company/src/main/java/com/fs/user/FsUserAdminController.java

@@ -36,6 +36,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
+import java.io.UnsupportedEncodingException;
 import java.util.Date;
 import java.util.List;
 
@@ -187,7 +188,7 @@ public class FsUserAdminController extends BaseController {
 
     @ApiOperation("后台会员批量发送课程消息")
     @PostMapping("/batchSendCourse")
-    public OpenImResponseDTO batchSendCourse(@RequestBody BatchSendCourseDTO batchSendCourseDTO) throws JsonProcessingException {
+    public OpenImResponseDTO batchSendCourse(@RequestBody BatchSendCourseDTO batchSendCourseDTO) throws JsonProcessingException, UnsupportedEncodingException {
         // 生成看课短链
         FsCourseLinkCreateParam fsCourseLinkCreateParam = new FsCourseLinkCreateParam();
         BeanUtils.copyProperties(batchSendCourseDTO, fsCourseLinkCreateParam);

+ 16 - 2
fs-service/src/main/java/com/fs/course/param/FsCourseSendRewardUParam.java

@@ -16,26 +16,40 @@ import java.io.Serializable;
 public class FsCourseSendRewardUParam implements Serializable
 {
     private Long userId;
+
     @NotNull(message = "课程参数不能为空")
     private Long videoId;//小节Id
-    @NotBlank(message = "客服参数不能为空")
+
+//    @NotBlank(message = "客服参数不能为空")
     private String qwUserId;
+
     @NotNull(message = "客服参数不能为空")
     private Long companyUserId;
+
     @NotNull(message = "经销商参数不能为空")
     private Long companyId;
+
     @NotNull(message = "课程参数不能为空")
     private Long courseId;
+
     private String corpId;
+
     private Integer linkType;
-    @NotNull(message = "课程参数不能为空")
+
+//    @NotNull(message = "课程参数不能为空")
     private Long qwExternalId;
+
     private Integer source=1;//来源 1:h5  2:小程序 3:app
+
     private Integer isRoom;
+
     private Integer sendType;
+
     private Long periodId;
+
     @NotBlank(message = "小程序参数不能为空")
     private String appId; //前端传来的小程序的appid
+
     private Integer rewardType; //奖励类型 1红包 2积分 3随机转盘 4保底转盘
 
     private String code;

+ 2 - 1
fs-service/src/main/java/com/fs/course/service/IFsUserCourseService.java

@@ -12,6 +12,7 @@ import com.fs.his.vo.OptionsVO;
 import javax.validation.constraints.NotNull;
 import java.io.IOException;
 import java.io.InputStream;
+import java.io.UnsupportedEncodingException;
 import java.util.List;
 import java.util.Map;
 
@@ -137,7 +138,7 @@ public interface IFsUserCourseService {
 
     List<FsUserCourseVideoAppletVO> selectFsUserCourseVideoAppletListByCourseId(Long courseId);
 
-    R createAppCourseSortLink(FsCourseLinkCreateParam fsCourseLinkCreateParam);
+    R createAppCourseSortLink(FsCourseLinkCreateParam fsCourseLinkCreateParam) throws UnsupportedEncodingException;
 
     /**
      * 修改课堂配置

+ 4 - 2
fs-service/src/main/java/com/fs/course/service/impl/FsUserCourseServiceImpl.java

@@ -7,6 +7,7 @@ import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.net.URL;
 import java.net.URLConnection;
+import java.net.URLEncoder;
 import java.util.*;
 import java.util.List;
 import java.util.stream.Collectors;
@@ -770,7 +771,7 @@ public class FsUserCourseServiceImpl implements IFsUserCourseService
     }
 
     @Override
-    public R createAppCourseSortLink(FsCourseLinkCreateParam param) {
+    public R createAppCourseSortLink(FsCourseLinkCreateParam param) throws UnsupportedEncodingException {
         String json = configService.selectConfigByKey("course.config");
         CourseConfig config = JSONUtil.toBean(json, CourseConfig.class);
         //短链参数
@@ -802,7 +803,8 @@ public class FsUserCourseServiceImpl implements IFsUserCourseService
             //没人用我先注释了,手动发课 直接用 链接带参数
             if (CloudHostUtils.hasCloudHostName("中康","蒙牛")){
                 String domainName = getDomainName(param.getCompanyUserId(), config);
-                String sortLink = domainName + link.getRealLink().replace("/#","");
+                String encodedCourseJson = URLEncoder.encode(courseJson, "UTF-8");
+                String sortLink = domainName +appRealLink+ encodedCourseJson;
                 return R.ok().put("url", sortLink).put("link", random).put("linkId", link.getLinkId());
             }
             String domainName = getDomainName(param.getCompanyUserId(), config);