Jelajahi Sumber

Merge remote-tracking branch 'origin/master'

weifanli 3 tahun lalu
induk
melakukan
be87777065
100 mengubah file dengan 5843 tambahan dan 2263 penghapusan
  1. 1 3
      .gitignore
  2. 100 0
      cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/AlbumFavoriteController.java
  3. 100 0
      cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/AlbumMusicRelateController.java
  4. 21 0
      cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/ImGroupController.java
  5. 29 0
      cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/ImGroupMemberController.java
  6. 29 0
      cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/ImGroupNoticeController.java
  7. 29 0
      cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/ImUserFriendController.java
  8. 100 0
      cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/MusicAlbumController.java
  9. 100 0
      cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/MusicFavoriteController.java
  10. 100 0
      cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/MusicSheetAccompanimentController.java
  11. 78 16
      cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/MusicSheetController.java
  12. 100 0
      cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/MusicSheetPurchaseRecordController.java
  13. 100 0
      cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/VideoLessonEvaluateController.java
  14. 100 0
      cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/VideoLessonGroupController.java
  15. 100 0
      cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/VideoLessonGroupDetailController.java
  16. 100 0
      cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/VideoLessonPurchaseRecordController.java
  17. 100 0
      cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/VideoLessonStudyRecordController.java
  18. 2 2
      cooleshow-user/user-admin/src/main/resources/bootstrap-dev.yml
  19. 17 0
      cooleshow-user/user-biz/pom.xml
  20. 48 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/config/IMProperties.java
  21. 24 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/config/RongCloudConfig.java
  22. 10 10
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/AlbumFavoriteDao.java
  23. 10 10
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/AlbumMusicRelateDao.java
  24. 20 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/ImGroupDao.java
  25. 22 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/ImGroupMemberDao.java
  26. 20 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/ImGroupNoticeDao.java
  27. 20 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/ImUserFriendDao.java
  28. 10 10
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/MusicAlbumDao.java
  29. 10 10
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/MusicFavoriteDao.java
  30. 10 10
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/MusicSheetAccompanimentDao.java
  31. 10 10
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/MusicSheetDao.java
  32. 10 10
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/MusicSheetPurchaseRecordDao.java
  33. 9 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/TeacherDao.java
  34. 10 10
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/VideoLessonEvaluateDao.java
  35. 10 10
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/VideoLessonGroupDao.java
  36. 10 10
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/VideoLessonGroupDetailDao.java
  37. 10 10
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/VideoLessonPurchaseRecordDao.java
  38. 10 10
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/VideoLessonStudyRecordDao.java
  39. 43 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/BasicUserInfo.java
  40. 27 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/ImGroupDto.java
  41. 87 74
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/AlbumFavorite.java
  42. 103 93
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/AlbumMusicRelate.java
  43. 13 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/BaseMessage.java
  44. 43 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/IMApiResultInfo.java
  45. 52 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/IMTokenInfo.java
  46. 167 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/ImGroup.java
  47. 151 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/ImGroupMember.java
  48. 144 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/ImGroupNotice.java
  49. 67 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/ImRoomMessage.java
  50. 108 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/ImUserFriend.java
  51. 197 210
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/MusicAlbum.java
  52. 87 74
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/MusicFavorite.java
  53. 326 373
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/MusicSheet.java
  54. 115 108
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/MusicSheetAccompaniment.java
  55. 117 114
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/MusicSheetPurchaseRecord.java
  56. 87 74
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/VideoLessonEvaluate.java
  57. 221 240
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/VideoLessonGroup.java
  58. 185 195
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/VideoLessonGroupDetail.java
  59. 115 109
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/VideoLessonPurchaseRecord.java
  60. 115 110
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/VideoLessonStudyRecord.java
  61. 6 13
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/AlbumFavoriteService.java
  62. 6 13
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/AlbumMusicRelateService.java
  63. 50 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/ImGroupMemberService.java
  64. 17 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/ImGroupNoticeService.java
  65. 34 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/ImGroupService.java
  66. 17 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/ImUserFriendService.java
  67. 6 13
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/MusicAlbumService.java
  68. 6 13
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/MusicFavoriteService.java
  69. 6 13
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/MusicSheetAccompanimentService.java
  70. 6 13
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/MusicSheetPurchaseRecordService.java
  71. 6 13
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/MusicSheetService.java
  72. 6 13
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/VideoLessonEvaluateService.java
  73. 6 13
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/VideoLessonGroupDetailService.java
  74. 6 13
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/VideoLessonGroupService.java
  75. 6 13
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/VideoLessonPurchaseRecordService.java
  76. 6 13
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/VideoLessonStudyRecordService.java
  77. 15 12
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/AlbumFavoriteServiceImpl.java
  78. 15 12
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/AlbumMusicRelateServiceImpl.java
  79. 65 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ImGroupMemberServiceImpl.java
  80. 29 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ImGroupNoticeServiceImpl.java
  81. 105 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ImGroupServiceImpl.java
  82. 29 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ImUserFriendServiceImpl.java
  83. 15 12
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/MusicAlbumServiceImpl.java
  84. 15 12
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/MusicFavoriteServiceImpl.java
  85. 15 12
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/MusicSheetAccompanimentServiceImpl.java
  86. 15 12
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/MusicSheetPurchaseRecordServiceImpl.java
  87. 15 12
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/MusicSheetServiceImpl.java
  88. 15 12
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/VideoLessonEvaluateServiceImpl.java
  89. 15 12
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/VideoLessonGroupDetailServiceImpl.java
  90. 15 12
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/VideoLessonGroupServiceImpl.java
  91. 15 12
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/VideoLessonPurchaseRecordServiceImpl.java
  92. 16 12
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/VideoLessonStudyRecordServiceImpl.java
  93. 279 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/support/HttpHelper.java
  94. 469 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/support/IMHelper.java
  95. 93 23
      cooleshow-user/user-biz/src/main/resources/config/mybatis/AlbumFavoriteMapper.xml
  96. 103 25
      cooleshow-user/user-biz/src/main/resources/config/mybatis/AlbumMusicRelateMapper.xml
  97. 44 0
      cooleshow-user/user-biz/src/main/resources/config/mybatis/ImGroupMapper.xml
  98. 35 0
      cooleshow-user/user-biz/src/main/resources/config/mybatis/ImGroupMemberMapper.xml
  99. 33 0
      cooleshow-user/user-biz/src/main/resources/config/mybatis/ImGroupNoticeMapper.xml
  100. 29 0
      cooleshow-user/user-biz/src/main/resources/config/mybatis/ImUserFriendMapper.xml

+ 1 - 3
.gitignore

@@ -27,6 +27,7 @@ mvnw.cmd
 **/*.ims
 **/*.iml
 **/*.ipr
+**/dep.txt
 **/.mvn/
 **/.idea/
 **/out/
@@ -44,11 +45,8 @@ mvnw.cmd
 /nbdist/
 /.nb-gradle/
 
-!.gitignore
 *.class
 .metadata
 target
 *.classpath
-.settings
-.project
 /bin/

+ 100 - 0
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/AlbumFavoriteController.java

@@ -0,0 +1,100 @@
+package com.yonge.cooleshow.admin.controller;
+
+import javax.validation.Valid;
+import com.yonge.cooleshow.auth.api.entity.SysUser;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
+import com.github.pagehelper.PageHelper;
+import com.yonge.cooleshow.common.controller.BaseController;
+import com.yonge.cooleshow.biz.dal.entity.AlbumFavorite;
+import com.yonge.cooleshow.biz.dal.service.AlbumFavoriteService;
+
+/**
+ * 专辑收藏表 web 控制层
+ * @author yzp
+ * @date 2022-03-22 16:40:36
+ * @version v1.0
+ **/
+@RestController
+@RequestMapping("")
+@Api(tags = "专辑收藏表 web 控制层")
+public class AlbumFavoriteController extends BaseController {
+    @Autowired
+    private SysUserFeignService sysUserFeignService;
+
+	@Autowired
+	private AlbumFavoriteService albumFavoriteService;
+
+	@ApiOperation(value = "新增")
+    @PostMapping("/create")
+    public Object create(@Valid @RequestBody AlbumFavorite albumFavorite) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+
+        //albumFavorite.setCreateBy(sysUser.getId());
+        //albumFavorite.setCreateTime(new Date());
+        albumFavoriteService.insert(albumFavorite);
+        return succeed();
+    }
+
+    @ApiOperation(value = "删除")
+    @PostMapping("/delete/{id}")
+    public Object delete(@PathVariable Long id) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+
+        albumFavoriteService.delete(id);
+        return succeed();
+    }
+
+    @ApiOperation(value = "修改")
+    @PostMapping("/update")
+    public Object update(@Valid @RequestBody AlbumFavorite albumFavorite) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+        if (albumFavorite.getId()==null){
+            return failed("缺少ID");
+        }
+
+        //albumFavorite.setUpdateBy(sysUser.getId());
+        //albumFavorite.setUpdateTime(new Date());
+        albumFavoriteService.update(albumFavorite);
+        return succeed();
+    }
+
+    @ApiOperation(value = "分页查询")
+    @PostMapping("/list")
+    public Object list(@RequestBody AlbumFavorite albumFavorite) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+
+        int pageNo = albumFavorite.getPageNo();
+        int pageSize = albumFavorite.getPageSize();
+
+        try {
+            if (pageNo==0) {
+                pageNo = 1;
+            }
+            if (pageSize==0) {
+                pageSize = 10;
+            }
+
+            PageHelper.startPage(pageNo,pageSize);
+            return succeed(albumFavoriteService.findList(albumFavorite));
+        } catch (Exception e) {
+            e.printStackTrace();
+            return null;
+        }
+    }
+}

+ 100 - 0
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/AlbumMusicRelateController.java

@@ -0,0 +1,100 @@
+package com.yonge.cooleshow.admin.controller;
+
+import javax.validation.Valid;
+import com.yonge.cooleshow.auth.api.entity.SysUser;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
+import com.github.pagehelper.PageHelper;
+import com.yonge.cooleshow.common.controller.BaseController;
+import com.yonge.cooleshow.biz.dal.entity.AlbumMusicRelate;
+import com.yonge.cooleshow.biz.dal.service.AlbumMusicRelateService;
+
+/**
+ * 专辑曲谱关联表 web 控制层
+ * @author yzp
+ * @date 2022-03-22 16:40:36
+ * @version v1.0
+ **/
+@RestController
+@RequestMapping("")
+@Api(tags = "专辑曲谱关联表 web 控制层")
+public class AlbumMusicRelateController extends BaseController {
+    @Autowired
+    private SysUserFeignService sysUserFeignService;
+
+	@Autowired
+	private AlbumMusicRelateService albumMusicRelateService;
+
+	@ApiOperation(value = "新增")
+    @PostMapping("/create")
+    public Object create(@Valid @RequestBody AlbumMusicRelate albumMusicRelate) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+
+        //albumMusicRelate.setCreateBy(sysUser.getId());
+        //albumMusicRelate.setCreateTime(new Date());
+        albumMusicRelateService.insert(albumMusicRelate);
+        return succeed();
+    }
+
+    @ApiOperation(value = "删除")
+    @PostMapping("/delete/{id}")
+    public Object delete(@PathVariable Long id) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+
+        albumMusicRelateService.delete(id);
+        return succeed();
+    }
+
+    @ApiOperation(value = "修改")
+    @PostMapping("/update")
+    public Object update(@Valid @RequestBody AlbumMusicRelate albumMusicRelate) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+        if (albumMusicRelate.getId()==null){
+            return failed("缺少ID");
+        }
+
+        //albumMusicRelate.setUpdateBy(sysUser.getId());
+        //albumMusicRelate.setUpdateTime(new Date());
+        albumMusicRelateService.update(albumMusicRelate);
+        return succeed();
+    }
+
+    @ApiOperation(value = "分页查询")
+    @PostMapping("/list")
+    public Object list(@RequestBody AlbumMusicRelate albumMusicRelate) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+
+        int pageNo = albumMusicRelate.getPageNo();
+        int pageSize = albumMusicRelate.getPageSize();
+
+        try {
+            if (pageNo==0) {
+                pageNo = 1;
+            }
+            if (pageSize==0) {
+                pageSize = 10;
+            }
+
+            PageHelper.startPage(pageNo,pageSize);
+            return succeed(albumMusicRelateService.findList(albumMusicRelate));
+        } catch (Exception e) {
+            e.printStackTrace();
+            return null;
+        }
+    }
+}

+ 21 - 0
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/ImGroupController.java

@@ -0,0 +1,21 @@
+package com.yonge.cooleshow.admin.controller;
+
+
+import com.yonge.cooleshow.common.controller.BaseController;
+import io.swagger.annotations.Api;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 即时通讯群组(ImGroup)表控制层
+ *
+ * @author zx
+ * @since 2022-03-22 10:45:56
+ */
+@Api(tags = "即时通讯群组")
+@RestController
+@RequestMapping("/imGroup")
+public class ImGroupController extends BaseController {
+
+}
+

+ 29 - 0
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/ImGroupMemberController.java

@@ -0,0 +1,29 @@
+package com.yonge.cooleshow.admin.controller;
+
+
+import com.yonge.cooleshow.biz.dal.service.ImGroupMemberService;
+import com.yonge.cooleshow.common.controller.BaseController;
+import io.swagger.annotations.Api;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+
+/**
+ * 群成员表(ImGroupMember)表控制层
+ *
+ * @author zx
+ * @since 2022-03-22 10:45:57
+ */
+@Api(tags = "群成员表")
+@RestController
+@RequestMapping("/imGroupMember")
+public class ImGroupMemberController extends BaseController {
+    /**
+     * 服务对象
+     */
+    @Resource
+    private ImGroupMemberService imGroupMemberService;
+
+}
+

+ 29 - 0
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/ImGroupNoticeController.java

@@ -0,0 +1,29 @@
+package com.yonge.cooleshow.admin.controller;
+
+
+import com.yonge.cooleshow.biz.dal.service.ImGroupNoticeService;
+import com.yonge.cooleshow.common.controller.BaseController;
+import io.swagger.annotations.Api;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+
+/**
+ * 群公告(ImGroupNotice)表控制层
+ *
+ * @author zx
+ * @since 2022-03-22 10:45:58
+ */
+@Api(tags = "群公告")
+@RestController
+@RequestMapping("/imGroupNotice")
+public class ImGroupNoticeController extends BaseController {
+    /**
+     * 服务对象
+     */
+    @Resource
+    private ImGroupNoticeService imGroupNoticeService;
+
+}
+

+ 29 - 0
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/ImUserFriendController.java

@@ -0,0 +1,29 @@
+package com.yonge.cooleshow.admin.controller;
+
+
+import com.yonge.cooleshow.biz.dal.service.ImUserFriendService;
+import com.yonge.cooleshow.common.controller.BaseController;
+import io.swagger.annotations.Api;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+
+/**
+ * 用户通讯录表(ImUserFriend)表控制层
+ *
+ * @author zx
+ * @since 2022-03-22 10:45:59
+ */
+@Api(tags = "用户通讯录表")
+@RestController
+@RequestMapping("/imUserFriend")
+public class ImUserFriendController extends BaseController {
+    /**
+     * 服务对象
+     */
+    @Resource
+    private ImUserFriendService imUserFriendService;
+
+}
+

+ 100 - 0
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/MusicAlbumController.java

@@ -0,0 +1,100 @@
+package com.yonge.cooleshow.admin.controller;
+
+import javax.validation.Valid;
+import com.yonge.cooleshow.auth.api.entity.SysUser;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
+import com.github.pagehelper.PageHelper;
+import com.yonge.cooleshow.common.controller.BaseController;
+import com.yonge.cooleshow.biz.dal.entity.MusicAlbum;
+import com.yonge.cooleshow.biz.dal.service.MusicAlbumService;
+
+/**
+ * 专辑表 web 控制层
+ * @author yzp
+ * @date 2022-03-22 16:40:36
+ * @version v1.0
+ **/
+@RestController
+@RequestMapping("")
+@Api(tags = "专辑表 web 控制层")
+public class MusicAlbumController extends BaseController {
+    @Autowired
+    private SysUserFeignService sysUserFeignService;
+
+	@Autowired
+	private MusicAlbumService musicAlbumService;
+
+	@ApiOperation(value = "新增")
+    @PostMapping("/create")
+    public Object create(@Valid @RequestBody MusicAlbum musicAlbum) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+
+        //musicAlbum.setCreateBy(sysUser.getId());
+        //musicAlbum.setCreateTime(new Date());
+        musicAlbumService.insert(musicAlbum);
+        return succeed();
+    }
+
+    @ApiOperation(value = "删除")
+    @PostMapping("/delete/{id}")
+    public Object delete(@PathVariable Long id) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+
+        musicAlbumService.delete(id);
+        return succeed();
+    }
+
+    @ApiOperation(value = "修改")
+    @PostMapping("/update")
+    public Object update(@Valid @RequestBody MusicAlbum musicAlbum) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+        if (musicAlbum.getId()==null){
+            return failed("缺少ID");
+        }
+
+        //musicAlbum.setUpdateBy(sysUser.getId());
+        //musicAlbum.setUpdateTime(new Date());
+        musicAlbumService.update(musicAlbum);
+        return succeed();
+    }
+
+    @ApiOperation(value = "分页查询")
+    @PostMapping("/list")
+    public Object list(@RequestBody MusicAlbum musicAlbum) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+
+        int pageNo = musicAlbum.getPageNo();
+        int pageSize = musicAlbum.getPageSize();
+
+        try {
+            if (pageNo==0) {
+                pageNo = 1;
+            }
+            if (pageSize==0) {
+                pageSize = 10;
+            }
+
+            PageHelper.startPage(pageNo,pageSize);
+            return succeed(musicAlbumService.findList(musicAlbum));
+        } catch (Exception e) {
+            e.printStackTrace();
+            return null;
+        }
+    }
+}

+ 100 - 0
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/MusicFavoriteController.java

@@ -0,0 +1,100 @@
+package com.yonge.cooleshow.admin.controller;
+
+import javax.validation.Valid;
+import com.yonge.cooleshow.auth.api.entity.SysUser;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
+import com.github.pagehelper.PageHelper;
+import com.yonge.cooleshow.common.controller.BaseController;
+import com.yonge.cooleshow.biz.dal.entity.MusicFavorite;
+import com.yonge.cooleshow.biz.dal.service.MusicFavoriteService;
+
+/**
+ * 乐谱收藏表 web 控制层
+ * @author yzp
+ * @date 2022-03-22 16:40:36
+ * @version v1.0
+ **/
+@RestController
+@RequestMapping("")
+@Api(tags = "乐谱收藏表 web 控制层")
+public class MusicFavoriteController extends BaseController {
+    @Autowired
+    private SysUserFeignService sysUserFeignService;
+
+	@Autowired
+	private MusicFavoriteService musicFavoriteService;
+
+	@ApiOperation(value = "新增")
+    @PostMapping("/create")
+    public Object create(@Valid @RequestBody MusicFavorite musicFavorite) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+
+        //musicFavorite.setCreateBy(sysUser.getId());
+        //musicFavorite.setCreateTime(new Date());
+        musicFavoriteService.insert(musicFavorite);
+        return succeed();
+    }
+
+    @ApiOperation(value = "删除")
+    @PostMapping("/delete/{id}")
+    public Object delete(@PathVariable Long id) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+
+        musicFavoriteService.delete(id);
+        return succeed();
+    }
+
+    @ApiOperation(value = "修改")
+    @PostMapping("/update")
+    public Object update(@Valid @RequestBody MusicFavorite musicFavorite) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+        if (musicFavorite.getId()==null){
+            return failed("缺少ID");
+        }
+
+        //musicFavorite.setUpdateBy(sysUser.getId());
+        //musicFavorite.setUpdateTime(new Date());
+        musicFavoriteService.update(musicFavorite);
+        return succeed();
+    }
+
+    @ApiOperation(value = "分页查询")
+    @PostMapping("/list")
+    public Object list(@RequestBody MusicFavorite musicFavorite) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+
+        int pageNo = musicFavorite.getPageNo();
+        int pageSize = musicFavorite.getPageSize();
+
+        try {
+            if (pageNo==0) {
+                pageNo = 1;
+            }
+            if (pageSize==0) {
+                pageSize = 10;
+            }
+
+            PageHelper.startPage(pageNo,pageSize);
+            return succeed(musicFavoriteService.findList(musicFavorite));
+        } catch (Exception e) {
+            e.printStackTrace();
+            return null;
+        }
+    }
+}

+ 100 - 0
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/MusicSheetAccompanimentController.java

@@ -0,0 +1,100 @@
+package com.yonge.cooleshow.admin.controller;
+
+import javax.validation.Valid;
+import com.yonge.cooleshow.auth.api.entity.SysUser;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
+import com.github.pagehelper.PageHelper;
+import com.yonge.cooleshow.common.controller.BaseController;
+import com.yonge.cooleshow.biz.dal.entity.MusicSheetAccompaniment;
+import com.yonge.cooleshow.biz.dal.service.MusicSheetAccompanimentService;
+
+/**
+ * 曲谱伴奏表 web 控制层
+ * @author yzp
+ * @date 2022-03-22 16:40:36
+ * @version v1.0
+ **/
+@RestController
+@RequestMapping("")
+@Api(tags = "曲谱伴奏表 web 控制层")
+public class MusicSheetAccompanimentController extends BaseController {
+    @Autowired
+    private SysUserFeignService sysUserFeignService;
+
+	@Autowired
+	private MusicSheetAccompanimentService musicSheetAccompanimentService;
+
+	@ApiOperation(value = "新增")
+    @PostMapping("/create")
+    public Object create(@Valid @RequestBody MusicSheetAccompaniment musicSheetAccompaniment) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+
+        //musicSheetAccompaniment.setCreateBy(sysUser.getId());
+        //musicSheetAccompaniment.setCreateTime(new Date());
+        musicSheetAccompanimentService.insert(musicSheetAccompaniment);
+        return succeed();
+    }
+
+    @ApiOperation(value = "删除")
+    @PostMapping("/delete/{id}")
+    public Object delete(@PathVariable Long id) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+
+        musicSheetAccompanimentService.delete(id);
+        return succeed();
+    }
+
+    @ApiOperation(value = "修改")
+    @PostMapping("/update")
+    public Object update(@Valid @RequestBody MusicSheetAccompaniment musicSheetAccompaniment) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+        if (musicSheetAccompaniment.getId()==null){
+            return failed("缺少ID");
+        }
+
+        //musicSheetAccompaniment.setUpdateBy(sysUser.getId());
+        //musicSheetAccompaniment.setUpdateTime(new Date());
+        musicSheetAccompanimentService.update(musicSheetAccompaniment);
+        return succeed();
+    }
+
+    @ApiOperation(value = "分页查询")
+    @PostMapping("/list")
+    public Object list(@RequestBody MusicSheetAccompaniment musicSheetAccompaniment) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+
+        int pageNo = musicSheetAccompaniment.getPageNo();
+        int pageSize = musicSheetAccompaniment.getPageSize();
+
+        try {
+            if (pageNo==0) {
+                pageNo = 1;
+            }
+            if (pageSize==0) {
+                pageSize = 10;
+            }
+
+            PageHelper.startPage(pageNo,pageSize);
+            return succeed(musicSheetAccompanimentService.findList(musicSheetAccompaniment));
+        } catch (Exception e) {
+            e.printStackTrace();
+            return null;
+        }
+    }
+}

+ 78 - 16
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/MusicSheetController.java

@@ -1,38 +1,100 @@
 package com.yonge.cooleshow.admin.controller;
 
-import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
+import javax.validation.Valid;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
-import com.yonge.cooleshow.biz.dal.entity.MusicSheet;
-import com.yonge.cooleshow.biz.dal.service.MusicSheetService;
-import com.yonge.cooleshow.common.controller.BaseController;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.*;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
+import com.github.pagehelper.PageHelper;
+import com.yonge.cooleshow.common.controller.BaseController;
+import com.yonge.cooleshow.biz.dal.entity.MusicSheet;
+import com.yonge.cooleshow.biz.dal.service.MusicSheetService;
 
+/**
+ * 曲谱表 web 控制层
+ * @author yzp
+ * @date 2022-03-22 16:40:36
+ * @version v1.0
+ **/
 @RestController
-@RequestMapping("/music")
-@Api(tags = "乐谱 web controller")
+@RequestMapping("")
+@Api(tags = "曲谱表 web 控制层")
 public class MusicSheetController extends BaseController {
     @Autowired
     private SysUserFeignService sysUserFeignService;
 
-    @Autowired
-    private MusicSheetService musicSheetService;
+	@Autowired
+	private MusicSheetService musicSheetService;
 
-    @ApiOperation(value = "新增曲谱")
+	@ApiOperation(value = "新增")
     @PostMapping("/create")
-    public Object create(@RequestBody MusicSheet musicSheet) {
+    public Object create(@Valid @RequestBody MusicSheet musicSheet) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+
+        //musicSheet.setCreateBy(sysUser.getId());
+        //musicSheet.setCreateTime(new Date());
+        musicSheetService.insert(musicSheet);
+        return succeed();
+    }
+
+    @ApiOperation(value = "删除")
+    @PostMapping("/delete/{id}")
+    public Object delete(@PathVariable Long id) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+
+        musicSheetService.delete(id);
+        return succeed();
+    }
+
+    @ApiOperation(value = "修改")
+    @PostMapping("/update")
+    public Object update(@Valid @RequestBody MusicSheet musicSheet) {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
+        if (musicSheet.getId()==null){
+            return failed("缺少ID");
+        }
 
-        musicSheet.setCreateBy(0L);
-        musicSheetService.save(musicSheet);
+        //musicSheet.setUpdateBy(sysUser.getId());
+        //musicSheet.setUpdateTime(new Date());
+        musicSheetService.update(musicSheet);
         return succeed();
     }
+
+    @ApiOperation(value = "分页查询")
+    @PostMapping("/list")
+    public Object list(@RequestBody MusicSheet musicSheet) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+
+        int pageNo = musicSheet.getPageNo();
+        int pageSize = musicSheet.getPageSize();
+
+        try {
+            if (pageNo==0) {
+                pageNo = 1;
+            }
+            if (pageSize==0) {
+                pageSize = 10;
+            }
+
+            PageHelper.startPage(pageNo,pageSize);
+            return succeed(musicSheetService.findList(musicSheet));
+        } catch (Exception e) {
+            e.printStackTrace();
+            return null;
+        }
+    }
 }

+ 100 - 0
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/MusicSheetPurchaseRecordController.java

@@ -0,0 +1,100 @@
+package com.yonge.cooleshow.admin.controller;
+
+import javax.validation.Valid;
+import com.yonge.cooleshow.auth.api.entity.SysUser;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
+import com.github.pagehelper.PageHelper;
+import com.yonge.cooleshow.common.controller.BaseController;
+import com.yonge.cooleshow.biz.dal.entity.MusicSheetPurchaseRecord;
+import com.yonge.cooleshow.biz.dal.service.MusicSheetPurchaseRecordService;
+
+/**
+ * 曲谱购买记录表 web 控制层
+ * @author yzp
+ * @date 2022-03-22 16:40:36
+ * @version v1.0
+ **/
+@RestController
+@RequestMapping("")
+@Api(tags = "曲谱购买记录表 web 控制层")
+public class MusicSheetPurchaseRecordController extends BaseController {
+    @Autowired
+    private SysUserFeignService sysUserFeignService;
+
+	@Autowired
+	private MusicSheetPurchaseRecordService musicSheetPurchaseRecordService;
+
+	@ApiOperation(value = "新增")
+    @PostMapping("/create")
+    public Object create(@Valid @RequestBody MusicSheetPurchaseRecord musicSheetPurchaseRecord) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+
+        //musicSheetPurchaseRecord.setCreateBy(sysUser.getId());
+        //musicSheetPurchaseRecord.setCreateTime(new Date());
+        musicSheetPurchaseRecordService.insert(musicSheetPurchaseRecord);
+        return succeed();
+    }
+
+    @ApiOperation(value = "删除")
+    @PostMapping("/delete/{id}")
+    public Object delete(@PathVariable Long id) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+
+        musicSheetPurchaseRecordService.delete(id);
+        return succeed();
+    }
+
+    @ApiOperation(value = "修改")
+    @PostMapping("/update")
+    public Object update(@Valid @RequestBody MusicSheetPurchaseRecord musicSheetPurchaseRecord) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+        if (musicSheetPurchaseRecord.getId()==null){
+            return failed("缺少ID");
+        }
+
+        //musicSheetPurchaseRecord.setUpdateBy(sysUser.getId());
+        //musicSheetPurchaseRecord.setUpdateTime(new Date());
+        musicSheetPurchaseRecordService.update(musicSheetPurchaseRecord);
+        return succeed();
+    }
+
+    @ApiOperation(value = "分页查询")
+    @PostMapping("/list")
+    public Object list(@RequestBody MusicSheetPurchaseRecord musicSheetPurchaseRecord) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+
+        int pageNo = musicSheetPurchaseRecord.getPageNo();
+        int pageSize = musicSheetPurchaseRecord.getPageSize();
+
+        try {
+            if (pageNo==0) {
+                pageNo = 1;
+            }
+            if (pageSize==0) {
+                pageSize = 10;
+            }
+
+            PageHelper.startPage(pageNo,pageSize);
+            return succeed(musicSheetPurchaseRecordService.findList(musicSheetPurchaseRecord));
+        } catch (Exception e) {
+            e.printStackTrace();
+            return null;
+        }
+    }
+}

+ 100 - 0
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/VideoLessonEvaluateController.java

@@ -0,0 +1,100 @@
+package com.yonge.cooleshow.admin.controller;
+
+import javax.validation.Valid;
+import com.yonge.cooleshow.auth.api.entity.SysUser;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
+import com.github.pagehelper.PageHelper;
+import com.yonge.cooleshow.common.controller.BaseController;
+import com.yonge.cooleshow.biz.dal.entity.VideoLessonEvaluate;
+import com.yonge.cooleshow.biz.dal.service.VideoLessonEvaluateService;
+
+/**
+ * 视频课学员评价 web 控制层
+ * @author yzp
+ * @date 2022-03-22 16:40:36
+ * @version v1.0
+ **/
+@RestController
+@RequestMapping("")
+@Api(tags = "视频课学员评价 web 控制层")
+public class VideoLessonEvaluateController extends BaseController {
+    @Autowired
+    private SysUserFeignService sysUserFeignService;
+
+	@Autowired
+	private VideoLessonEvaluateService videoLessonEvaluateService;
+
+	@ApiOperation(value = "新增")
+    @PostMapping("/create")
+    public Object create(@Valid @RequestBody VideoLessonEvaluate videoLessonEvaluate) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+
+        //videoLessonEvaluate.setCreateBy(sysUser.getId());
+        //videoLessonEvaluate.setCreateTime(new Date());
+        videoLessonEvaluateService.insert(videoLessonEvaluate);
+        return succeed();
+    }
+
+    @ApiOperation(value = "删除")
+    @PostMapping("/delete/{id}")
+    public Object delete(@PathVariable Long id) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+
+        videoLessonEvaluateService.delete(id);
+        return succeed();
+    }
+
+    @ApiOperation(value = "修改")
+    @PostMapping("/update")
+    public Object update(@Valid @RequestBody VideoLessonEvaluate videoLessonEvaluate) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+        if (videoLessonEvaluate.getId()==null){
+            return failed("缺少ID");
+        }
+
+        //videoLessonEvaluate.setUpdateBy(sysUser.getId());
+        //videoLessonEvaluate.setUpdateTime(new Date());
+        videoLessonEvaluateService.update(videoLessonEvaluate);
+        return succeed();
+    }
+
+    @ApiOperation(value = "分页查询")
+    @PostMapping("/list")
+    public Object list(@RequestBody VideoLessonEvaluate videoLessonEvaluate) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+
+        int pageNo = videoLessonEvaluate.getPageNo();
+        int pageSize = videoLessonEvaluate.getPageSize();
+
+        try {
+            if (pageNo==0) {
+                pageNo = 1;
+            }
+            if (pageSize==0) {
+                pageSize = 10;
+            }
+
+            PageHelper.startPage(pageNo,pageSize);
+            return succeed(videoLessonEvaluateService.findList(videoLessonEvaluate));
+        } catch (Exception e) {
+            e.printStackTrace();
+            return null;
+        }
+    }
+}

+ 100 - 0
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/VideoLessonGroupController.java

@@ -0,0 +1,100 @@
+package com.yonge.cooleshow.admin.controller;
+
+import javax.validation.Valid;
+import com.yonge.cooleshow.auth.api.entity.SysUser;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
+import com.github.pagehelper.PageHelper;
+import com.yonge.cooleshow.common.controller.BaseController;
+import com.yonge.cooleshow.biz.dal.entity.VideoLessonGroup;
+import com.yonge.cooleshow.biz.dal.service.VideoLessonGroupService;
+
+/**
+ * 视频课基本信息表 web 控制层
+ * @author yzp
+ * @date 2022-03-22 16:40:36
+ * @version v1.0
+ **/
+@RestController
+@RequestMapping("")
+@Api(tags = "视频课基本信息表 web 控制层")
+public class VideoLessonGroupController extends BaseController {
+    @Autowired
+    private SysUserFeignService sysUserFeignService;
+
+	@Autowired
+	private VideoLessonGroupService videoLessonGroupService;
+
+	@ApiOperation(value = "新增")
+    @PostMapping("/create")
+    public Object create(@Valid @RequestBody VideoLessonGroup videoLessonGroup) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+
+        //videoLessonGroup.setCreateBy(sysUser.getId());
+        //videoLessonGroup.setCreateTime(new Date());
+        videoLessonGroupService.insert(videoLessonGroup);
+        return succeed();
+    }
+
+    @ApiOperation(value = "删除")
+    @PostMapping("/delete/{id}")
+    public Object delete(@PathVariable Long id) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+
+        videoLessonGroupService.delete(id);
+        return succeed();
+    }
+
+    @ApiOperation(value = "修改")
+    @PostMapping("/update")
+    public Object update(@Valid @RequestBody VideoLessonGroup videoLessonGroup) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+        if (videoLessonGroup.getId()==null){
+            return failed("缺少ID");
+        }
+
+        //videoLessonGroup.setUpdateBy(sysUser.getId());
+        //videoLessonGroup.setUpdateTime(new Date());
+        videoLessonGroupService.update(videoLessonGroup);
+        return succeed();
+    }
+
+    @ApiOperation(value = "分页查询")
+    @PostMapping("/list")
+    public Object list(@RequestBody VideoLessonGroup videoLessonGroup) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+
+        int pageNo = videoLessonGroup.getPageNo();
+        int pageSize = videoLessonGroup.getPageSize();
+
+        try {
+            if (pageNo==0) {
+                pageNo = 1;
+            }
+            if (pageSize==0) {
+                pageSize = 10;
+            }
+
+            PageHelper.startPage(pageNo,pageSize);
+            return succeed(videoLessonGroupService.findList(videoLessonGroup));
+        } catch (Exception e) {
+            e.printStackTrace();
+            return null;
+        }
+    }
+}

+ 100 - 0
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/VideoLessonGroupDetailController.java

@@ -0,0 +1,100 @@
+package com.yonge.cooleshow.admin.controller;
+
+import javax.validation.Valid;
+import com.yonge.cooleshow.auth.api.entity.SysUser;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
+import com.github.pagehelper.PageHelper;
+import com.yonge.cooleshow.common.controller.BaseController;
+import com.yonge.cooleshow.biz.dal.entity.VideoLessonGroupDetail;
+import com.yonge.cooleshow.biz.dal.service.VideoLessonGroupDetailService;
+
+/**
+ * 视频课明细表 web 控制层
+ * @author yzp
+ * @date 2022-03-22 16:40:36
+ * @version v1.0
+ **/
+@RestController
+@RequestMapping("")
+@Api(tags = "视频课明细表 web 控制层")
+public class VideoLessonGroupDetailController extends BaseController {
+    @Autowired
+    private SysUserFeignService sysUserFeignService;
+
+	@Autowired
+	private VideoLessonGroupDetailService videoLessonGroupDetailService;
+
+	@ApiOperation(value = "新增")
+    @PostMapping("/create")
+    public Object create(@Valid @RequestBody VideoLessonGroupDetail videoLessonGroupDetail) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+
+        //videoLessonGroupDetail.setCreateBy(sysUser.getId());
+        //videoLessonGroupDetail.setCreateTime(new Date());
+        videoLessonGroupDetailService.insert(videoLessonGroupDetail);
+        return succeed();
+    }
+
+    @ApiOperation(value = "删除")
+    @PostMapping("/delete/{id}")
+    public Object delete(@PathVariable Long id) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+
+        videoLessonGroupDetailService.delete(id);
+        return succeed();
+    }
+
+    @ApiOperation(value = "修改")
+    @PostMapping("/update")
+    public Object update(@Valid @RequestBody VideoLessonGroupDetail videoLessonGroupDetail) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+        if (videoLessonGroupDetail.getId()==null){
+            return failed("缺少ID");
+        }
+
+        //videoLessonGroupDetail.setUpdateBy(sysUser.getId());
+        //videoLessonGroupDetail.setUpdateTime(new Date());
+        videoLessonGroupDetailService.update(videoLessonGroupDetail);
+        return succeed();
+    }
+
+    @ApiOperation(value = "分页查询")
+    @PostMapping("/list")
+    public Object list(@RequestBody VideoLessonGroupDetail videoLessonGroupDetail) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+
+        int pageNo = videoLessonGroupDetail.getPageNo();
+        int pageSize = videoLessonGroupDetail.getPageSize();
+
+        try {
+            if (pageNo==0) {
+                pageNo = 1;
+            }
+            if (pageSize==0) {
+                pageSize = 10;
+            }
+
+            PageHelper.startPage(pageNo,pageSize);
+            return succeed(videoLessonGroupDetailService.findList(videoLessonGroupDetail));
+        } catch (Exception e) {
+            e.printStackTrace();
+            return null;
+        }
+    }
+}

+ 100 - 0
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/VideoLessonPurchaseRecordController.java

@@ -0,0 +1,100 @@
+package com.yonge.cooleshow.admin.controller;
+
+import javax.validation.Valid;
+import com.yonge.cooleshow.auth.api.entity.SysUser;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
+import com.github.pagehelper.PageHelper;
+import com.yonge.cooleshow.common.controller.BaseController;
+import com.yonge.cooleshow.biz.dal.entity.VideoLessonPurchaseRecord;
+import com.yonge.cooleshow.biz.dal.service.VideoLessonPurchaseRecordService;
+
+/**
+ * 视频课购买记录表 web 控制层
+ * @author yzp
+ * @date 2022-03-22 16:40:36
+ * @version v1.0
+ **/
+@RestController
+@RequestMapping("")
+@Api(tags = "视频课购买记录表 web 控制层")
+public class VideoLessonPurchaseRecordController extends BaseController {
+    @Autowired
+    private SysUserFeignService sysUserFeignService;
+
+	@Autowired
+	private VideoLessonPurchaseRecordService videoLessonPurchaseRecordService;
+
+	@ApiOperation(value = "新增")
+    @PostMapping("/create")
+    public Object create(@Valid @RequestBody VideoLessonPurchaseRecord videoLessonPurchaseRecord) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+
+        //videoLessonPurchaseRecord.setCreateBy(sysUser.getId());
+        //videoLessonPurchaseRecord.setCreateTime(new Date());
+        videoLessonPurchaseRecordService.insert(videoLessonPurchaseRecord);
+        return succeed();
+    }
+
+    @ApiOperation(value = "删除")
+    @PostMapping("/delete/{id}")
+    public Object delete(@PathVariable Long id) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+
+        videoLessonPurchaseRecordService.delete(id);
+        return succeed();
+    }
+
+    @ApiOperation(value = "修改")
+    @PostMapping("/update")
+    public Object update(@Valid @RequestBody VideoLessonPurchaseRecord videoLessonPurchaseRecord) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+        if (videoLessonPurchaseRecord.getId()==null){
+            return failed("缺少ID");
+        }
+
+        //videoLessonPurchaseRecord.setUpdateBy(sysUser.getId());
+        //videoLessonPurchaseRecord.setUpdateTime(new Date());
+        videoLessonPurchaseRecordService.update(videoLessonPurchaseRecord);
+        return succeed();
+    }
+
+    @ApiOperation(value = "分页查询")
+    @PostMapping("/list")
+    public Object list(@RequestBody VideoLessonPurchaseRecord videoLessonPurchaseRecord) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+
+        int pageNo = videoLessonPurchaseRecord.getPageNo();
+        int pageSize = videoLessonPurchaseRecord.getPageSize();
+
+        try {
+            if (pageNo==0) {
+                pageNo = 1;
+            }
+            if (pageSize==0) {
+                pageSize = 10;
+            }
+
+            PageHelper.startPage(pageNo,pageSize);
+            return succeed(videoLessonPurchaseRecordService.findList(videoLessonPurchaseRecord));
+        } catch (Exception e) {
+            e.printStackTrace();
+            return null;
+        }
+    }
+}

+ 100 - 0
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/VideoLessonStudyRecordController.java

@@ -0,0 +1,100 @@
+package com.yonge.cooleshow.admin.controller;
+
+import javax.validation.Valid;
+import com.yonge.cooleshow.auth.api.entity.SysUser;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
+import com.github.pagehelper.PageHelper;
+import com.yonge.cooleshow.common.controller.BaseController;
+import com.yonge.cooleshow.biz.dal.entity.VideoLessonStudyRecord;
+import com.yonge.cooleshow.biz.dal.service.VideoLessonStudyRecordService;
+
+/**
+ * 视频课学习记录表 web 控制层
+ * @author yzp
+ * @date 2022-03-22 16:40:36
+ * @version v1.0
+ **/
+@RestController
+@RequestMapping("")
+@Api(tags = "视频课学习记录表 web 控制层")
+public class VideoLessonStudyRecordController extends BaseController {
+    @Autowired
+    private SysUserFeignService sysUserFeignService;
+
+	@Autowired
+	private VideoLessonStudyRecordService videoLessonStudyRecordService;
+
+	@ApiOperation(value = "新增")
+    @PostMapping("/create")
+    public Object create(@Valid @RequestBody VideoLessonStudyRecord videoLessonStudyRecord) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+
+        //videoLessonStudyRecord.setCreateBy(sysUser.getId());
+        //videoLessonStudyRecord.setCreateTime(new Date());
+        videoLessonStudyRecordService.insert(videoLessonStudyRecord);
+        return succeed();
+    }
+
+    @ApiOperation(value = "删除")
+    @PostMapping("/delete/{id}")
+    public Object delete(@PathVariable Long id) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+
+        videoLessonStudyRecordService.delete(id);
+        return succeed();
+    }
+
+    @ApiOperation(value = "修改")
+    @PostMapping("/update")
+    public Object update(@Valid @RequestBody VideoLessonStudyRecord videoLessonStudyRecord) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+        if (videoLessonStudyRecord.getId()==null){
+            return failed("缺少ID");
+        }
+
+        //videoLessonStudyRecord.setUpdateBy(sysUser.getId());
+        //videoLessonStudyRecord.setUpdateTime(new Date());
+        videoLessonStudyRecordService.update(videoLessonStudyRecord);
+        return succeed();
+    }
+
+    @ApiOperation(value = "分页查询")
+    @PostMapping("/list")
+    public Object list(@RequestBody VideoLessonStudyRecord videoLessonStudyRecord) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+
+        int pageNo = videoLessonStudyRecord.getPageNo();
+        int pageSize = videoLessonStudyRecord.getPageSize();
+
+        try {
+            if (pageNo==0) {
+                pageNo = 1;
+            }
+            if (pageSize==0) {
+                pageSize = 10;
+            }
+
+            PageHelper.startPage(pageNo,pageSize);
+            return succeed(videoLessonStudyRecordService.findList(videoLessonStudyRecord));
+        } catch (Exception e) {
+            e.printStackTrace();
+            return null;
+        }
+    }
+}

+ 2 - 2
cooleshow-user/user-admin/src/main/resources/bootstrap-dev.yml

@@ -2,8 +2,8 @@ spring:
   cloud:
     nacos:
       config:
-        server-addr: 47.114.1.200:8848
-        namespace: 6f8374a9-598f-4889-bb17-476070ffb8de
+        server-addr: 192.168.3.165:8848
+        namespace: 4f34bcdc-8547-4a34-8781-4666b12295cb
         group: DEFAULT_GROUP
         prefix: admin
         file-extension: yaml

+ 17 - 0
cooleshow-user/user-biz/pom.xml

@@ -15,6 +15,8 @@
     <url>http://maven.apache.org</url>
     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <rongcloud.im.version>3.2.17</rongcloud.im.version>
+        <redisson.version>3.16.4</redisson.version>
     </properties>
     <dependencies>
         <dependency>
@@ -39,6 +41,21 @@
             <version>2.6</version>
             <scope>compile</scope>
         </dependency>
+
+        <!-- 融云-->
+        <dependency>
+            <groupId>cn.rongcloud.im</groupId>
+            <artifactId>server-sdk-java</artifactId>
+            <version>${rongcloud.im.version}</version>
+        </dependency>
+
+        <!-- redisson -->
+        <dependency>
+            <groupId>org.redisson</groupId>
+            <artifactId>redisson-spring-boot-starter</artifactId>
+            <version>${redisson.version}</version>
+        </dependency>
+
     </dependencies>
 
     <build>

+ 48 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/config/IMProperties.java

@@ -0,0 +1,48 @@
+package com.yonge.cooleshow.biz.dal.config;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.stereotype.Component;
+
+/**
+ * Created by weiqinxiao on 2019/2/28.
+ */
+@Component
+@ConfigurationProperties(prefix = "cn.rongcloud.im")
+public class IMProperties {
+    private String appKey;
+    private String secret;
+    private String host;
+    private String rtcHost;
+
+    public String getAppKey() {
+        return appKey;
+    }
+
+    public void setAppKey(String appKey) {
+        this.appKey = appKey;
+    }
+
+    public String getSecret() {
+        return secret;
+    }
+
+    public void setSecret(String secret) {
+        this.secret = secret;
+    }
+
+    public String getHost() {
+        return host;
+    }
+
+    public void setHost(String host) {
+        this.host = host;
+    }
+
+    public String getRtcHost() {
+        return rtcHost;
+    }
+
+    public void setRtcHost(String rtcHost) {
+        this.rtcHost = rtcHost;
+    }
+}

+ 24 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/config/RongCloudConfig.java

@@ -0,0 +1,24 @@
+package com.yonge.cooleshow.biz.dal.config;
+
+import io.rong.RongCloud;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Primary;
+
+@Configuration
+public class RongCloudConfig {
+
+    @Value("${cn.rongcloud.im.appkey}")
+    private String appKey;
+    @Value("${cn.rongcloud.im.secret}")
+    private String appSecret;
+
+    public static RongCloud rongCloud;
+
+    @Bean
+    @Primary
+    public void getRongCloud() {
+        rongCloud = RongCloud.getInstance(appKey,appSecret);
+    }
+}

+ 10 - 10
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/AlbumFavoriteDao.java

@@ -1,16 +1,16 @@
 package com.yonge.cooleshow.biz.dal.dao;
 
-import java.util.List;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.yonge.cooleshow.biz.dal.entity.AlbumFavorite;
+import com.yonge.cooleshow.common.dal.BaseDAO;
+import org.apache.ibatis.annotations.Mapper;
 
-public interface AlbumFavoriteDao extends BaseMapper<AlbumFavorite>{
+/**
+ * AlbumFavoriteDao数据库访问类
+ * @author yzp
+ * @date 2022-03-22 16:07:40
+ * @version v1.0
+ **/
+@Mapper
+public interface AlbumFavoriteDao extends BaseDAO<Long, AlbumFavorite> {
 
-	/**
-	 * 自定义分页
-	 */
-	List<AlbumFavorite> selectPage(IPage page, AlbumFavorite albumFavorite);
-	
 }

+ 10 - 10
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/AlbumMusicRelateDao.java

@@ -1,16 +1,16 @@
 package com.yonge.cooleshow.biz.dal.dao;
 
-import java.util.List;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.yonge.cooleshow.biz.dal.entity.AlbumMusicRelate;
+import com.yonge.cooleshow.common.dal.BaseDAO;
+import org.apache.ibatis.annotations.Mapper;
 
-public interface AlbumMusicRelateDao extends BaseMapper<AlbumMusicRelate>{
+/**
+ * AlbumMusicRelateDao数据库访问类
+ * @author yzp
+ * @date 2022-03-22 16:07:40
+ * @version v1.0
+ **/
+@Mapper
+public interface AlbumMusicRelateDao extends BaseDAO<Long, AlbumMusicRelate> {
 
-	/**
-	 * 自定义分页
-	 */
-	List<AlbumMusicRelate> selectPage(IPage page, AlbumMusicRelate albumMusicRelate);
-	
 }

+ 20 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/ImGroupDao.java

@@ -0,0 +1,20 @@
+package com.yonge.cooleshow.biz.dal.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.yonge.cooleshow.biz.dal.entity.ImGroup;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 即时通讯群组(ImGroup)表数据库访问层
+ *
+ * @author zx
+ * @since 2022-03-22 10:45:56
+ */
+public interface ImGroupDao extends BaseMapper<ImGroup> {
+
+    int insertBatch(@Param("entities") List<ImGroup> entities);
+
+}
+

+ 22 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/ImGroupMemberDao.java

@@ -0,0 +1,22 @@
+package com.yonge.cooleshow.biz.dal.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.yonge.cooleshow.biz.dal.entity.ImGroupMember;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+import java.util.Set;
+
+/**
+ * 群成员表(ImGroupMember)表数据库访问层
+ *
+ * @author zx
+ * @since 2022-03-22 10:45:57
+ */
+public interface ImGroupMemberDao extends BaseMapper<ImGroupMember> {
+
+    int insertBatch(@Param("entities") List<ImGroupMember> entities);
+
+    void delByGroupId(@Param("groupId") Long groupId);
+}
+

+ 20 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/ImGroupNoticeDao.java

@@ -0,0 +1,20 @@
+package com.yonge.cooleshow.biz.dal.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.yonge.cooleshow.biz.dal.entity.ImGroupNotice;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 群公告(ImGroupNotice)表数据库访问层
+ *
+ * @author zx
+ * @since 2022-03-22 10:45:59
+ */
+public interface ImGroupNoticeDao extends BaseMapper<ImGroupNotice> {
+
+    int insertBatch(@Param("entities") List<ImGroupNotice> entities);
+
+}
+

+ 20 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/ImUserFriendDao.java

@@ -0,0 +1,20 @@
+package com.yonge.cooleshow.biz.dal.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.yonge.cooleshow.biz.dal.entity.ImUserFriend;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 用户通讯录表(ImUserFriend)表数据库访问层
+ *
+ * @author zx
+ * @since 2022-03-22 10:45:59
+ */
+public interface ImUserFriendDao extends BaseMapper<ImUserFriend> {
+
+    int insertBatch(@Param("entities") List<ImUserFriend> entities);
+
+}
+

+ 10 - 10
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/MusicAlbumDao.java

@@ -1,16 +1,16 @@
 package com.yonge.cooleshow.biz.dal.dao;
 
-import java.util.List;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.yonge.cooleshow.biz.dal.entity.MusicAlbum;
+import com.yonge.cooleshow.common.dal.BaseDAO;
+import org.apache.ibatis.annotations.Mapper;
 
-public interface MusicAlbumDao extends BaseMapper<MusicAlbum>{
+/**
+ * MusicAlbumDao数据库访问类
+ * @author yzp
+ * @date 2022-03-22 16:07:40
+ * @version v1.0
+ **/
+@Mapper
+public interface MusicAlbumDao extends BaseDAO<Long, MusicAlbum> {
 
-	/**
-	 * 自定义分页
-	 */
-	List<MusicAlbum> selectPage(IPage page, MusicAlbum musicAlbum);
-	
 }

+ 10 - 10
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/MusicFavoriteDao.java

@@ -1,16 +1,16 @@
 package com.yonge.cooleshow.biz.dal.dao;
 
-import java.util.List;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.yonge.cooleshow.biz.dal.entity.MusicFavorite;
+import com.yonge.cooleshow.common.dal.BaseDAO;
+import org.apache.ibatis.annotations.Mapper;
 
-public interface MusicFavoriteDao extends BaseMapper<MusicFavorite>{
+/**
+ * MusicFavoriteDao数据库访问类
+ * @author yzp
+ * @date 2022-03-22 16:07:40
+ * @version v1.0
+ **/
+@Mapper
+public interface MusicFavoriteDao extends BaseDAO<Long, MusicFavorite> {
 
-	/**
-	 * 自定义分页
-	 */
-	List<MusicFavorite> selectPage(IPage page, MusicFavorite musicFavorite);
-	
 }

+ 10 - 10
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/MusicSheetAccompanimentDao.java

@@ -1,16 +1,16 @@
 package com.yonge.cooleshow.biz.dal.dao;
 
-import java.util.List;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.yonge.cooleshow.biz.dal.entity.MusicSheetAccompaniment;
+import com.yonge.cooleshow.common.dal.BaseDAO;
+import org.apache.ibatis.annotations.Mapper;
 
-public interface MusicSheetAccompanimentDao extends BaseMapper<MusicSheetAccompaniment>{
+/**
+ * MusicSheetAccompanimentDao数据库访问类
+ * @author yzp
+ * @date 2022-03-22 16:07:40
+ * @version v1.0
+ **/
+@Mapper
+public interface MusicSheetAccompanimentDao extends BaseDAO<Long, MusicSheetAccompaniment> {
 
-	/**
-	 * 自定义分页
-	 */
-	List<MusicSheetAccompaniment> selectPage(IPage page, MusicSheetAccompaniment musicSheetAccompaniment);
-	
 }

+ 10 - 10
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/MusicSheetDao.java

@@ -1,16 +1,16 @@
 package com.yonge.cooleshow.biz.dal.dao;
 
-import java.util.List;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.yonge.cooleshow.biz.dal.entity.MusicSheet;
+import com.yonge.cooleshow.common.dal.BaseDAO;
+import org.apache.ibatis.annotations.Mapper;
 
-public interface MusicSheetDao extends BaseMapper<MusicSheet>{
+/**
+ * MusicSheetDao数据库访问类
+ * @author yzp
+ * @date 2022-03-22 16:07:40
+ * @version v1.0
+ **/
+@Mapper
+public interface MusicSheetDao extends BaseDAO<Long, MusicSheet> {
 
-	/**
-	 * 自定义分页
-	 */
-	List<MusicSheet> selectPage(IPage page, MusicSheet musicSheet);
-	
 }

+ 10 - 10
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/MusicSheetPurchaseRecordDao.java

@@ -1,16 +1,16 @@
 package com.yonge.cooleshow.biz.dal.dao;
 
-import java.util.List;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.yonge.cooleshow.biz.dal.entity.MusicSheetPurchaseRecord;
+import com.yonge.cooleshow.common.dal.BaseDAO;
+import org.apache.ibatis.annotations.Mapper;
 
-public interface MusicSheetPurchaseRecordDao extends BaseMapper<MusicSheetPurchaseRecord>{
+/**
+ * MusicSheetPurchaseRecordDao数据库访问类
+ * @author yzp
+ * @date 2022-03-22 16:07:40
+ * @version v1.0
+ **/
+@Mapper
+public interface MusicSheetPurchaseRecordDao extends BaseDAO<Long, MusicSheetPurchaseRecord> {
 
-	/**
-	 * 自定义分页
-	 */
-	List<MusicSheetPurchaseRecord> selectPage(IPage page, MusicSheetPurchaseRecord musicSheetPurchaseRecord);
-	
 }

+ 9 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/TeacherDao.java

@@ -4,6 +4,7 @@ import java.util.List;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yonge.cooleshow.biz.dal.dto.BasicUserInfo;
 import com.yonge.cooleshow.biz.dal.dto.req.TeacherSetReq;
 import com.yonge.cooleshow.biz.dal.entity.Teacher;
 import com.yonge.cooleshow.biz.dal.vo.TeacherVo;
@@ -33,4 +34,12 @@ public interface TeacherDao extends BaseMapper<Teacher> {
      * @updateTime 2022/3/22 11:06
      */
     void updatetSetDetail(@Param("param") TeacherSetReq setReq, @Param("id") Long id);
+    /**
+    * @description: 获取用户基本信息
+     * @param userId
+    * @return com.yonge.cooleshow.biz.dal.dto.BasicUserInfo
+    * @author zx
+    * @date 2022/3/22 13:52
+    */
+    BasicUserInfo getBasicUserInfo(@Param("userId") Long userId);
 }

+ 10 - 10
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/VideoLessonEvaluateDao.java

@@ -1,16 +1,16 @@
 package com.yonge.cooleshow.biz.dal.dao;
 
-import java.util.List;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.yonge.cooleshow.biz.dal.entity.VideoLessonEvaluate;
+import com.yonge.cooleshow.common.dal.BaseDAO;
+import org.apache.ibatis.annotations.Mapper;
 
-public interface VideoLessonEvaluateDao extends BaseMapper<VideoLessonEvaluate>{
+/**
+ * VideoLessonEvaluateDao数据库访问类
+ * @author yzp
+ * @date 2022-03-22 16:07:40
+ * @version v1.0
+ **/
+@Mapper
+public interface VideoLessonEvaluateDao extends BaseDAO<Long, VideoLessonEvaluate> {
 
-	/**
-	 * 自定义分页
-	 */
-	List<VideoLessonEvaluate> selectPage(IPage page, VideoLessonEvaluate videoLessonEvaluate);
-	
 }

+ 10 - 10
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/VideoLessonGroupDao.java

@@ -1,16 +1,16 @@
 package com.yonge.cooleshow.biz.dal.dao;
 
-import java.util.List;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.yonge.cooleshow.biz.dal.entity.VideoLessonGroup;
+import com.yonge.cooleshow.common.dal.BaseDAO;
+import org.apache.ibatis.annotations.Mapper;
 
-public interface VideoLessonGroupDao extends BaseMapper<VideoLessonGroup>{
+/**
+ * VideoLessonGroupDao数据库访问类
+ * @author yzp
+ * @date 2022-03-22 16:07:40
+ * @version v1.0
+ **/
+@Mapper
+public interface VideoLessonGroupDao extends BaseDAO<Long, VideoLessonGroup> {
 
-	/**
-	 * 自定义分页
-	 */
-	List<VideoLessonGroup> selectPage(IPage page, VideoLessonGroup videoLessonGroup);
-	
 }

+ 10 - 10
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/VideoLessonGroupDetailDao.java

@@ -1,16 +1,16 @@
 package com.yonge.cooleshow.biz.dal.dao;
 
-import java.util.List;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.yonge.cooleshow.biz.dal.entity.VideoLessonGroupDetail;
+import com.yonge.cooleshow.common.dal.BaseDAO;
+import org.apache.ibatis.annotations.Mapper;
 
-public interface VideoLessonGroupDetailDao extends BaseMapper<VideoLessonGroupDetail>{
+/**
+ * VideoLessonGroupDetailDao数据库访问类
+ * @author yzp
+ * @date 2022-03-22 16:07:41
+ * @version v1.0
+ **/
+@Mapper
+public interface VideoLessonGroupDetailDao extends BaseDAO<Long, VideoLessonGroupDetail> {
 
-	/**
-	 * 自定义分页
-	 */
-	List<VideoLessonGroupDetail> selectPage(IPage page, VideoLessonGroupDetail videoLessonGroupDetail);
-	
 }

+ 10 - 10
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/VideoLessonPurchaseRecordDao.java

@@ -1,16 +1,16 @@
 package com.yonge.cooleshow.biz.dal.dao;
 
-import java.util.List;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.yonge.cooleshow.biz.dal.entity.VideoLessonPurchaseRecord;
+import com.yonge.cooleshow.common.dal.BaseDAO;
+import org.apache.ibatis.annotations.Mapper;
 
-public interface VideoLessonPurchaseRecordDao extends BaseMapper<VideoLessonPurchaseRecord>{
+/**
+ * VideoLessonPurchaseRecordDao数据库访问类
+ * @author yzp
+ * @date 2022-03-22 16:07:41
+ * @version v1.0
+ **/
+@Mapper
+public interface VideoLessonPurchaseRecordDao extends BaseDAO<Long, VideoLessonPurchaseRecord> {
 
-	/**
-	 * 自定义分页
-	 */
-	List<VideoLessonPurchaseRecord> selectPage(IPage page, VideoLessonPurchaseRecord videoLessonPurchaseRecord);
-	
 }

+ 10 - 10
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/VideoLessonStudyRecordDao.java

@@ -1,16 +1,16 @@
 package com.yonge.cooleshow.biz.dal.dao;
 
-import java.util.List;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.yonge.cooleshow.biz.dal.entity.VideoLessonStudyRecord;
+import com.yonge.cooleshow.common.dal.BaseDAO;
+import org.apache.ibatis.annotations.Mapper;
 
-public interface VideoLessonStudyRecordDao extends BaseMapper<VideoLessonStudyRecord>{
+/**
+ * VideoLessonStudyRecordDao数据库访问类
+ * @author yzp
+ * @date 2022-03-22 16:07:41
+ * @version v1.0
+ **/
+@Mapper
+public interface VideoLessonStudyRecordDao extends BaseDAO<Long, VideoLessonStudyRecord> {
 
-	/**
-	 * 自定义分页
-	 */
-	List<VideoLessonStudyRecord> selectPage(IPage page, VideoLessonStudyRecord videoLessonStudyRecord);
-	
 }

+ 43 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/BasicUserInfo.java

@@ -0,0 +1,43 @@
+package com.yonge.cooleshow.biz.dal.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+* @description: 用户基本信息
+* @author zx
+* @date 2022/3/22 13:51
+*/
+public class BasicUserInfo {
+    @ApiModelProperty(value = "用户编号", required = true)
+    private Long userId;
+
+    @ApiModelProperty(value = "sys_user表username_", required = true)
+    private String username;
+
+    @ApiModelProperty(value = "sys_user表real_name_", required = true)
+    private String realName;
+
+    public Long getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Long userId) {
+        this.userId = userId;
+    }
+
+    public String getUsername() {
+        return username;
+    }
+
+    public void setUsername(String username) {
+        this.username = username;
+    }
+
+    public String getRealName() {
+        return realName;
+    }
+
+    public void setRealName(String realName) {
+        this.realName = realName;
+    }
+}

+ 27 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/ImGroupDto.java

@@ -0,0 +1,27 @@
+package com.yonge.cooleshow.biz.dal.dto;
+
+
+import com.yonge.cooleshow.biz.dal.entity.ImGroup;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.Set;
+
+/**
+ *
+ * @author zx
+ * @since 2022-03-22 10:45:57
+ */
+public class ImGroupDto extends ImGroup {
+
+    @ApiModelProperty(value = "群成员列表")
+    private Set<Long> groupMemberList;
+
+    public Set<Long> getGroupMemberList() {
+        return groupMemberList;
+    }
+
+    public void setGroupMemberList(Set<Long> groupMemberList) {
+        this.groupMemberList = groupMemberList;
+    }
+}
+

+ 87 - 74
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/AlbumFavorite.java

@@ -1,103 +1,116 @@
 package com.yonge.cooleshow.biz.dal.entity;
 
-import com.baomidou.mybatisplus.annotation.*;
+import com.yonge.cooleshow.common.entity.BaseEntity;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
-
-import java.io.Serializable;
+import org.apache.commons.lang3.builder.ToStringBuilder;
 import java.util.Date;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import org.springframework.format.annotation.DateTimeFormat;
 
 /**
  * 专辑收藏表
- */
-@TableName("album_favorite")
-@ApiModel(value = "AlbumFavorite对象", description = "专辑收藏表")
-public class AlbumFavorite implements Serializable {
-	private static final long serialVersionUID = 1L;
-    /** 
-    * 主键 
-    */
-    @ApiModelProperty("主键 ")
+ * @author yzp
+ * @date 2022-03-22 17:55:56
+ * @version v1.0
+ **/
+@ApiModel(value = "album_favorite-专辑收藏表")
+public class AlbumFavorite extends BaseEntity {
+
     @TableId(value = "id_", type = IdType.AUTO)
-    private Long id;
-    /** 
-    * 用户ID(目前只是学生ID) 
-    */
-    @ApiModelProperty("用户ID(目前只是学生ID) ")
-	@TableField(value = "user_id_")
-    private Long userId;
-    /** 
-    * 专辑ID 
-    */
-    @ApiModelProperty("专辑ID ")
-	@TableField(value = "album_id_")
-    private Long albumId;
-    /** 
-    * 收藏时间 
-    */
-    @ApiModelProperty("收藏时间 ")
-	@TableField(value = "favorite_time_")
-    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
-    private Date favoriteTime;
-    /** 
-    * 是否收藏 
-    */
-    @ApiModelProperty("是否收藏 ")
-	@TableField(value = "favorite_flag_")
-    private Byte favoriteFlag;
-
-    public Long getId() {
-        return id;
-    }
+    @ApiModelProperty(value = "主键id")
+    private Long id;  //主键ID
 
-    public void setId(Long id) {
-        this.id = id;
-    }
+    @TableField("user_id_")
+    @ApiModelProperty(value = "用户ID(目前只是学生ID)")
+    private Long userId;  //用户ID(目前只是学生ID)
 
-    public Long getUserId() {
-        return userId;
-    }
+    @TableField("album_id_")
+    @ApiModelProperty(value = "专辑ID")
+    private Long albumId;  //专辑ID
+
+    @TableField("favorite_time_")
+    @ApiModelProperty(value = "收藏时间")
+    private Date favoriteTime;  //收藏时间
+
+    @TableField("favorite_flag_")
+    @ApiModelProperty(value = "是否收藏")
+    private Integer favoriteFlag;  //是否收藏
 
-    public void setUserId(Long userId) {
-        this.userId = userId;
-    }
 
-    public Long getAlbumId() {
-        return albumId;
+	public AlbumFavorite setId(Long id) {
+	    this.id = id;
+	    return this;
+	}
+
+	public Long getId() {
+	    return this.id;
+	}
+	public AlbumFavorite setUserId(Long userId) {
+	    this.userId = userId;
+	    return this;
+	}
+
+	public Long getUserId() {
+	    return this.userId;
+	}
+	public AlbumFavorite setAlbumId(Long albumId) {
+	    this.albumId = albumId;
+	    return this;
+	}
+
+	public Long getAlbumId() {
+	    return this.albumId;
+	}
+	public AlbumFavorite setFavoriteTime(Date favoriteTime) {
+	    this.favoriteTime = favoriteTime;
+	    return this;
+	}
+
+	public Date getFavoriteTime() {
+	    return this.favoriteTime;
+	}
+	public AlbumFavorite setFavoriteFlag(Integer favoriteFlag) {
+	    this.favoriteFlag = favoriteFlag;
+	    return this;
+	}
+
+	public Integer getFavoriteFlag() {
+	    return this.favoriteFlag;
+	}
+
+	public int pageNo;
+    public int pageSize;
+    public String search;
+
+    public String getSearch() {
+        return search;
     }
 
-    public void setAlbumId(Long albumId) {
-        this.albumId = albumId;
+    public void setSearch(String search) {
+        this.search = search;
     }
 
-    public Date getFavoriteTime() {
-        return favoriteTime;
+    public int getPageNo() {
+        return pageNo;
     }
 
-    public void setFavoriteTime(Date favoriteTime) {
-        this.favoriteTime = favoriteTime;
+    public void setPageNo(int pageNo) {
+        this.pageNo = pageNo;
     }
 
-    public Byte getFavoriteFlag() {
-        return favoriteFlag;
+    public int getPageSize() {
+        return pageSize;
     }
 
-    public void setFavoriteFlag(Byte favoriteFlag) {
-        this.favoriteFlag = favoriteFlag;
+    public void setPageSize(int pageSize) {
+        this.pageSize = pageSize;
     }
 
     @Override
     public String toString() {
-        return "AlbumFavorite{" +
-				"id=" + id +
-						",userId='" + userId + "'" + 
-						",albumId='" + albumId + "'" + 
-						",favoriteTime='" + favoriteTime + "'" + 
-						",favoriteFlag='" + favoriteFlag + "'" + 
-		                '}';
+        return ToStringBuilder.reflectionToString(this);
     }
-	
+
 }

+ 103 - 93
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/AlbumMusicRelate.java

@@ -1,118 +1,128 @@
 package com.yonge.cooleshow.biz.dal.entity;
 
-import com.baomidou.mybatisplus.annotation.*;
+import com.yonge.cooleshow.common.entity.BaseEntity;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
-
-import java.io.Serializable;
+import org.apache.commons.lang3.builder.ToStringBuilder;
 import java.util.Date;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import org.springframework.format.annotation.DateTimeFormat;
 
 /**
  * 专辑曲谱关联表
- */
-@TableName("album_music_relate")
-@ApiModel(value = "AlbumMusicRelate对象", description = "专辑曲谱关联表")
-public class AlbumMusicRelate implements Serializable {
-	private static final long serialVersionUID = 1L;
-    /** 
-    * 主键 
-    */
-    @ApiModelProperty("主键 ")
-    @TableId(value = "id_", type = IdType.AUTO)
-    private Long id;
-    /** 
-    * 专辑ID 
-    */
-    @ApiModelProperty("专辑ID ")
-	@TableField(value = "album_id_")
-    private Long albumId;
-    /** 
-    * 曲谱ID 
-    */
-    @ApiModelProperty("曲谱ID ")
-	@TableField(value = "music_sheet_id_")
-    private Long musicSheetId;
-    /** 
-    * 排序号 
-    */
-    @ApiModelProperty("排序号 ")
-	@TableField(value = "sort_number_")
-    private Byte sortNumber;
-    /** 
-    * 添加时间 
-    */
-    @ApiModelProperty("添加时间 ")
-	@TableField(value = "create_time_")
-    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
-    private Date createTime;
-    /** 
-    * 添加人 
-    */
-    @ApiModelProperty("添加人 ")
-	@TableField(value = "create_by_")
-    private Long createBy;
-
-    public Long getId() {
-        return id;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
-
-    public Long getAlbumId() {
-        return albumId;
-    }
+ * @author yzp
+ * @date 2022-03-22 17:55:56
+ * @version v1.0
+ **/
+@ApiModel(value = "album_music_relate-专辑曲谱关联表")
+public class AlbumMusicRelate extends BaseEntity {
 
-    public void setAlbumId(Long albumId) {
-        this.albumId = albumId;
-    }
-
-    public Long getMusicSheetId() {
-        return musicSheetId;
-    }
-
-    public void setMusicSheetId(Long musicSheetId) {
-        this.musicSheetId = musicSheetId;
-    }
-
-    public Byte getSortNumber() {
-        return sortNumber;
+    @TableId(value = "id_", type = IdType.AUTO)
+    @ApiModelProperty(value = "主键id")
+    private Long id;  //主键ID
+
+    @TableField("album_id_")
+    @ApiModelProperty(value = "专辑ID")
+    private Long albumId;  //专辑ID
+
+    @TableField("music_sheet_id_")
+    @ApiModelProperty(value = "曲谱ID")
+    private Long musicSheetId;  //曲谱ID
+
+    @TableField("sort_number_")
+    @ApiModelProperty(value = "排序号")
+    private Integer sortNumber;  //排序号
+
+    @TableField("create_time_")
+    @ApiModelProperty(value = "添加时间")
+    private Date createTime;  //添加时间
+
+    @TableField("create_by_")
+    @ApiModelProperty(value = "添加人")
+    private Long createBy;  //添加人
+
+
+	public AlbumMusicRelate setId(Long id) {
+	    this.id = id;
+	    return this;
+	}
+
+	public Long getId() {
+	    return this.id;
+	}
+	public AlbumMusicRelate setAlbumId(Long albumId) {
+	    this.albumId = albumId;
+	    return this;
+	}
+
+	public Long getAlbumId() {
+	    return this.albumId;
+	}
+	public AlbumMusicRelate setMusicSheetId(Long musicSheetId) {
+	    this.musicSheetId = musicSheetId;
+	    return this;
+	}
+
+	public Long getMusicSheetId() {
+	    return this.musicSheetId;
+	}
+	public AlbumMusicRelate setSortNumber(Integer sortNumber) {
+	    this.sortNumber = sortNumber;
+	    return this;
+	}
+
+	public Integer getSortNumber() {
+	    return this.sortNumber;
+	}
+	public AlbumMusicRelate setCreateTime(Date createTime) {
+	    this.createTime = createTime;
+	    return this;
+	}
+
+	public Date getCreateTime() {
+	    return this.createTime;
+	}
+	public AlbumMusicRelate setCreateBy(Long createBy) {
+	    this.createBy = createBy;
+	    return this;
+	}
+
+	public Long getCreateBy() {
+	    return this.createBy;
+	}
+
+	public int pageNo;
+    public int pageSize;
+    public String search;
+
+    public String getSearch() {
+        return search;
     }
 
-    public void setSortNumber(Byte sortNumber) {
-        this.sortNumber = sortNumber;
+    public void setSearch(String search) {
+        this.search = search;
     }
 
-    public Date getCreateTime() {
-        return createTime;
+    public int getPageNo() {
+        return pageNo;
     }
 
-    public void setCreateTime(Date createTime) {
-        this.createTime = createTime;
+    public void setPageNo(int pageNo) {
+        this.pageNo = pageNo;
     }
 
-    public Long getCreateBy() {
-        return createBy;
+    public int getPageSize() {
+        return pageSize;
     }
 
-    public void setCreateBy(Long createBy) {
-        this.createBy = createBy;
+    public void setPageSize(int pageSize) {
+        this.pageSize = pageSize;
     }
 
     @Override
     public String toString() {
-        return "AlbumMusicRelate{" +
-				"id=" + id +
-						",albumId='" + albumId + "'" + 
-						",musicSheetId='" + musicSheetId + "'" + 
-						",sortNumber='" + sortNumber + "'" + 
-						",createTime='" + createTime + "'" + 
-						",createBy='" + createBy + "'" + 
-		                '}';
+        return ToStringBuilder.reflectionToString(this);
     }
-	
+
 }

+ 13 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/BaseMessage.java

@@ -0,0 +1,13 @@
+package com.yonge.cooleshow.biz.dal.entity;
+
+import com.alibaba.fastjson.JSONObject;
+
+public abstract class BaseMessage {
+
+    public abstract String getObjectName();
+
+    @Override
+    public String toString() {
+        return JSONObject.toJSONString(this);
+    }
+}

+ 43 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/IMApiResultInfo.java

@@ -0,0 +1,43 @@
+package com.yonge.cooleshow.biz.dal.entity;
+
+
+/**
+ * Created by weiqinxiao on 2019/2/28.
+ */
+
+public class IMApiResultInfo {
+    // 返回码,200 为正常。
+    Integer code;
+    // 错误信息。
+    String errorMessage;
+    //人员是否存在 true 存在  false 不存在
+    Boolean isInChrm;
+
+    public boolean isSuccess() {
+        return code == 200;
+    }
+
+    public Integer getCode() {
+        return code;
+    }
+
+    public void setCode(Integer code) {
+        this.code = code;
+    }
+
+    public String getErrorMessage() {
+        return errorMessage;
+    }
+
+    public void setErrorMessage(String errorMessage) {
+        this.errorMessage = errorMessage;
+    }
+
+    public Boolean getInChrm() {
+        return isInChrm;
+    }
+
+    public void setInChrm(Boolean inChrm) {
+        isInChrm = inChrm;
+    }
+}

+ 52 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/IMTokenInfo.java

@@ -0,0 +1,52 @@
+package com.yonge.cooleshow.biz.dal.entity;
+
+
+/**
+ * Created by weiqinxiao on 2019/2/28.
+ */
+public class IMTokenInfo {
+    // 返回码,200 为正常.如果您正在使用开发环境的 AppKey,您的应用只能注册 100 名用户,达到上限后,将返回错误码 2007.如果您需要更多的测试账户数量,您需要在应用配置中申请“增加测试人数”。
+    Integer code;
+    // 用户 Token,可以保存应用内,长度在 256 字节以内.用户 Token,可以保存应用内,长度在 256 字节以内。
+    String token;
+    // 用户 Id,与输入的用户 Id 相同.用户 Id,与输入的用户 Id 相同。
+    String userId;
+    // 错误信息。
+    String errorMessage;
+
+    public boolean isSuccess() {
+        return code == 200;
+    }
+
+    public Integer getCode() {
+        return code;
+    }
+
+    public void setCode(Integer code) {
+        this.code = code;
+    }
+
+    public String getToken() {
+        return token;
+    }
+
+    public void setToken(String token) {
+        this.token = token;
+    }
+
+    public String getUserId() {
+        return userId;
+    }
+
+    public void setUserId(String userId) {
+        this.userId = userId;
+    }
+
+    public String getErrorMessage() {
+        return errorMessage;
+    }
+
+    public void setErrorMessage(String errorMessage) {
+        this.errorMessage = errorMessage;
+    }
+}

+ 167 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/ImGroup.java

@@ -0,0 +1,167 @@
+package com.yonge.cooleshow.biz.dal.entity;
+
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.yonge.cooleshow.common.enums.BaseEnum;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 即时通讯群组(ImGroup)表实体类
+ *
+ * @author zx
+ * @since 2022-03-22 10:45:57
+ */
+@ApiModel(value = "im_group-即时通讯群组")
+public class ImGroup implements Serializable {
+    @TableId(value = "id_", type = IdType.AUTO)
+    @NotNull(message = "群编号不可为空")
+    @ApiModelProperty(value = "主键;")
+    private Long id;
+
+    @NotBlank(message = "群名称不能为空")
+    @TableField("name_")
+    @ApiModelProperty(value = "群名称")
+    private String name;
+
+    @TableField("introduce_")
+    @ApiModelProperty(value = "群简介")
+    private String introduce;
+
+    @TableField("member_num_")
+    @ApiModelProperty(value = "群成员数")
+    private Integer memberNum;
+
+    @TableField("memo_")
+    @ApiModelProperty(value = "群备注")
+    private String memo;
+
+    @TableField("img_")
+    @ApiModelProperty(value = "群头像")
+    private String img;
+
+    @TableField("type_")
+    @ApiModelProperty(value = "群类型:FAN粉丝群、COURSE课程群;")
+    private ImGroupType type;
+
+    @TableField("create_by_")
+    @ApiModelProperty(value = "创建人")
+    private Long createBy;
+
+    @TableField("create_time_")
+    @ApiModelProperty(value = "创建时间;")
+    private Date createTime;
+
+    @TableField("update_time_")
+    @ApiModelProperty(value = "修改时间;")
+    private Date updateTime;
+
+    public enum ImGroupType implements BaseEnum<String, ImGroupType> {
+        FAN("粉丝群"),
+        COURSE("课程群");
+
+        private String msg;
+
+        ImGroupType(String msg) {
+            this.msg = msg;
+        }
+
+        public String getMsg() {
+            return msg;
+        }
+
+        @Override
+        public String getCode() {
+            return super.name();
+        }
+    }
+
+    public Long getCreateBy() {
+        return createBy;
+    }
+
+    public void setCreateBy(Long createBy) {
+        this.createBy = createBy;
+    }
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getIntroduce() {
+        return introduce;
+    }
+
+    public void setIntroduce(String introduce) {
+        this.introduce = introduce;
+    }
+
+    public Integer getMemberNum() {
+        return memberNum;
+    }
+
+    public void setMemberNum(Integer memberNum) {
+        this.memberNum = memberNum;
+    }
+
+    public String getMemo() {
+        return memo;
+    }
+
+    public void setMemo(String memo) {
+        this.memo = memo;
+    }
+
+    public String getImg() {
+        return img;
+    }
+
+    public void setImg(String img) {
+        this.img = img;
+    }
+
+    public ImGroupType getType() {
+        return type;
+    }
+
+    public void setType(ImGroupType type) {
+        this.type = type;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+}
+

+ 151 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/ImGroupMember.java

@@ -0,0 +1,151 @@
+package com.yonge.cooleshow.biz.dal.entity;
+
+
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.yonge.cooleshow.common.enums.BaseEnum;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.TableId;
+
+import java.io.Serializable;
+
+/**
+ * 群成员表(ImGroupMember)表实体类
+ *
+ * @author zx
+ * @since 2022-03-22 10:45:58
+ */
+@ApiModel(value = "im_group_member-群成员表")
+public class ImGroupMember implements Serializable {
+    @TableId(value = "id_", type = IdType.AUTO)
+    @ApiModelProperty(value = "主键;")
+    private Long id;
+
+    @TableField("im_group_id_")
+    @ApiModelProperty(value = "群编号;")
+    private Long imGroupId;
+
+    @TableField("user_id_")
+    @ApiModelProperty(value = "用户编号;")
+    private Long userId;
+
+    @TableField("nickname_")
+    @ApiModelProperty(value = "昵称;")
+    private String nickname;
+
+    @TableField("is_admin_")
+    @ApiModelProperty(value = "是否是管理员")
+    private Boolean isAdmin;
+
+    @TableField("role_type_")
+    @ApiModelProperty(value = "群角色TEACHER老师、STUDENT学生")
+    private ImGroupMemberRoleType roleType;
+
+    @TableField("create_time_")
+    @ApiModelProperty(value = "创建时间;")
+    private Date createTime;
+
+    @TableField("update_time_")
+    @ApiModelProperty(value = "修改时间;")
+    private Date updateTime;
+
+    public ImGroupMember() {
+    }
+
+    public ImGroupMember(Long imGroupId, Long userId, String nickname, Boolean isAdmin, ImGroupMemberRoleType roleType) {
+        this.imGroupId = imGroupId;
+        this.userId = userId;
+        this.nickname = nickname;
+        this.isAdmin = isAdmin;
+        this.roleType = roleType;
+    }
+
+    public enum ImGroupMemberRoleType implements BaseEnum<String, ImGroupMember.ImGroupMemberRoleType> {
+        TEACHER("老师"),
+        STUDENT("学生");
+
+        private String msg;
+
+        ImGroupMemberRoleType(String msg) {
+            this.msg = msg;
+        }
+
+        public String getMsg() {
+            return msg;
+        }
+
+        @Override
+        public String getCode() {
+            return super.name();
+        }
+    }
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Long getImGroupId() {
+        return imGroupId;
+    }
+
+    public void setImGroupId(Long imGroupId) {
+        this.imGroupId = imGroupId;
+    }
+
+    public Long getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Long userId) {
+        this.userId = userId;
+    }
+
+    public String getNickname() {
+        return nickname;
+    }
+
+    public void setNickname(String nickname) {
+        this.nickname = nickname;
+    }
+
+    public Boolean getIsAdmin() {
+        return isAdmin;
+    }
+
+    public void setIsAdmin(Boolean isAdmin) {
+        this.isAdmin = isAdmin;
+    }
+
+    public ImGroupMemberRoleType getRoleType() {
+        return roleType;
+    }
+
+    public void setRoleType(ImGroupMemberRoleType roleType) {
+        this.roleType = roleType;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+}
+

+ 144 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/ImGroupNotice.java

@@ -0,0 +1,144 @@
+package com.yonge.cooleshow.biz.dal.entity;
+
+
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.TableId;
+
+import java.io.Serializable;
+
+/**
+ * 群公告(ImGroupNotice)表实体类
+ *
+ * @author zx
+ * @since 2022-03-22 10:45:59
+ */
+@ApiModel(value = "im_group_notice-群公告")
+public class ImGroupNotice implements Serializable {
+    @TableId(value = "id_", type = IdType.AUTO)
+    @ApiModelProperty(value = "主键;")
+    private Long id;
+
+    @TableField("im_group_id_")
+    @ApiModelProperty(value = "群编号;")
+    private Long imGroupId;
+
+    @TableField("title_")
+    @ApiModelProperty(value = "标题")
+    private String title;
+
+    @TableField("content_")
+    @ApiModelProperty(value = "内容")
+    private String content;
+
+    @TableField("is_top_")
+    @ApiModelProperty(value = "是否置顶")
+    private Object isTop;
+
+    @TableField("is_sent_to_new_member_")
+    @ApiModelProperty(value = "是否发送给新人")
+    private Object isSentToNewMember;
+
+    @TableField("del_flag_")
+    @ApiModelProperty(value = "是否删除1是0否;")
+    private Object delFlag;
+
+    @TableField("operator_id_")
+    @ApiModelProperty(value = "操作人")
+    private Long operatorId;
+
+    @TableField("create_time_")
+    @ApiModelProperty(value = "创建时间;")
+    private Date createTime;
+
+    @TableField("update_time_")
+    @ApiModelProperty(value = "修改时间;")
+    private Date updateTime;
+
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Long getImGroupId() {
+        return imGroupId;
+    }
+
+    public void setImGroupId(Long imGroupId) {
+        this.imGroupId = imGroupId;
+    }
+
+    public String getTitle() {
+        return title;
+    }
+
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    public String getContent() {
+        return content;
+    }
+
+    public void setContent(String content) {
+        this.content = content;
+    }
+
+    public Object getIsTop() {
+        return isTop;
+    }
+
+    public void setIsTop(Object isTop) {
+        this.isTop = isTop;
+    }
+
+    public Object getIsSentToNewMember() {
+        return isSentToNewMember;
+    }
+
+    public void setIsSentToNewMember(Object isSentToNewMember) {
+        this.isSentToNewMember = isSentToNewMember;
+    }
+
+    public Object getDelFlag() {
+        return delFlag;
+    }
+
+    public void setDelFlag(Object delFlag) {
+        this.delFlag = delFlag;
+    }
+
+    public Long getOperatorId() {
+        return operatorId;
+    }
+
+    public void setOperatorId(Long operatorId) {
+        this.operatorId = operatorId;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+}
+

+ 67 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/ImRoomMessage.java

@@ -0,0 +1,67 @@
+package com.yonge.cooleshow.biz.dal.entity;
+
+/**
+ * @author hgw
+ * Created by 2022-02-25
+ */
+public class ImRoomMessage extends BaseMessage {
+
+    //objectName 类型-将所有人强制踢出房间
+    public static final String FORCED_OFFLINE = "RC:ForcedOffline";
+
+    //objectName 类型-观看者退出房间
+    public static final String LOOKER_LOGIN_OUT = "RC:LookerLoginOut";
+
+    /**
+     * 消息类型
+     */
+    private String objectName;
+
+    /**
+     * 消息内容
+     */
+    private Object content;
+
+    /**
+     * 发送者id
+     */
+    private String fromUserId;
+
+    /**
+     * 发送到的房间uid
+     */
+    private String toChatroomId;
+
+    @Override
+    public String getObjectName() {
+        return objectName;
+    }
+
+    public void setObjectName(String objectName) {
+        this.objectName = objectName;
+    }
+
+    public Object getContent() {
+        return content;
+    }
+
+    public void setContent(Object content) {
+        this.content = content;
+    }
+
+    public String getFromUserId() {
+        return fromUserId;
+    }
+
+    public void setFromUserId(String fromUserId) {
+        this.fromUserId = fromUserId;
+    }
+
+    public String getToChatroomId() {
+        return toChatroomId;
+    }
+
+    public void setToChatroomId(String toChatroomId) {
+        this.toChatroomId = toChatroomId;
+    }
+}

+ 108 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/ImUserFriend.java

@@ -0,0 +1,108 @@
+package com.yonge.cooleshow.biz.dal.entity;
+
+
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.TableId;
+
+import java.io.Serializable;
+
+/**
+ * 用户通讯录表(ImUserFriend)表实体类
+ *
+ * @author zx
+ * @since 2022-03-22 10:46:00
+ */
+@ApiModel(value = "im_user_friend-用户通讯录表")
+public class ImUserFriend implements Serializable {
+    @TableId(value = "id_", type = IdType.AUTO)
+    @ApiModelProperty(value = "主键;")
+    private Long id;
+
+    @TableField("user_id_")
+    @ApiModelProperty(value = "当前用户编号")
+    private Long userId;
+
+    @TableField("friend_id_")
+    @ApiModelProperty(value = "好友编号")
+    private Long friendId;
+
+    @TableField("friend_nickname_")
+    @ApiModelProperty(value = "好友昵称")
+    private String friendNickname;
+
+    @TableField("memo_")
+    @ApiModelProperty(value = "备注")
+    private String memo;
+
+    @TableField("create_time_")
+    @ApiModelProperty(value = "创建时间;")
+    private Date createTime;
+
+    @TableField("update_time_")
+    @ApiModelProperty(value = "修改时间;")
+    private Date updateTime;
+
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Long getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Long userId) {
+        this.userId = userId;
+    }
+
+    public Long getFriendId() {
+        return friendId;
+    }
+
+    public void setFriendId(Long friendId) {
+        this.friendId = friendId;
+    }
+
+    public String getFriendNickname() {
+        return friendNickname;
+    }
+
+    public void setFriendNickname(String friendNickname) {
+        this.friendNickname = friendNickname;
+    }
+
+    public String getMemo() {
+        return memo;
+    }
+
+    public void setMemo(String memo) {
+        this.memo = memo;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+}
+

+ 197 - 210
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/MusicAlbum.java

@@ -1,225 +1,212 @@
 package com.yonge.cooleshow.biz.dal.entity;
 
-import com.baomidou.mybatisplus.annotation.*;
+import com.yonge.cooleshow.common.entity.BaseEntity;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
-
-import java.io.Serializable;
+import org.apache.commons.lang3.builder.ToStringBuilder;
 import java.util.Date;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import org.springframework.format.annotation.DateTimeFormat;
 
 /**
  * 专辑表
- */
-@TableName("music_album")
-@ApiModel(value = "MusicAlbum对象", description = "专辑表")
-public class MusicAlbum implements Serializable {
-	private static final long serialVersionUID = 1L;
-    /** 
-    * 主键 
-    */
-    @ApiModelProperty("主键 ")
-    @TableId(value = "id_", type = IdType.AUTO)
-    private Long id;
-    /** 
-    * 专辑名称 
-    */
-    @ApiModelProperty("专辑名称 ")
-	@TableField(value = "album_name_")
-    private String albumName;
-    /** 
-    * 专辑简介 
-    */
-    @ApiModelProperty("专辑简介 ")
-	@TableField(value = "album_desc_")
-    private String albumDesc;
-    /** 
-    * 专辑标签(多个标签以逗号分开) 
-    */
-    @ApiModelProperty("专辑标签(多个标签以逗号分开) ")
-	@TableField(value = "album_tag_")
-    private String albumTag;
-    /** 
-    * 专辑封面图片URL 
-    */
-    @ApiModelProperty("专辑封面图片URL ")
-	@TableField(value = "album_cover_url_")
-    private String albumCoverUrl;
-    /** 
-    * 专辑状态(1:启用;0:停用) 
-    */
-    @ApiModelProperty("专辑状态(1:启用;0:停用) ")
-	@TableField(value = "album_status_")
-    private Byte albumStatus;
-    /** 
-    * 排序号 
-    */
-    @ApiModelProperty("排序号 ")
-	@TableField(value = "sort_number_")
-    private Integer sortNumber;
-    /** 
-    * 是否热门专辑(1:是;0:否) 
-    */
-    @ApiModelProperty("是否热门专辑(1:是;0:否) ")
-	@TableField(value = "hot_flag_")
-    private Byte hotFlag;
-    /** 
-    * 是否置顶(1:是;0:否) 
-    */
-    @ApiModelProperty("是否置顶(1:是;0:否) ")
-	@TableField(value = "top_flag_")
-    private Byte topFlag;
-    /** 
-    * 创建时间 
-    */
-    @ApiModelProperty("创建时间 ")
-	@TableField(value = "create_time_")
-    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
-    private Date createTime;
-    /** 
-    * 创建人 
-    */
-    @ApiModelProperty("创建人 ")
-	@TableField(value = "create_by_")
-    private Long createBy;
-    /** 
-    * 更新时间 
-    */
-    @ApiModelProperty("更新时间 ")
-	@TableField(value = "update_time_")
-    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
-    private Date updateTime;
-    /** 
-    * 更新人 
-    */
-    @ApiModelProperty("更新人 ")
-	@TableField(value = "update_by_")
-    private Long updateBy;
-
-    public Long getId() {
-        return id;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
-
-    public String getAlbumName() {
-        return albumName;
-    }
-
-    public void setAlbumName(String albumName) {
-        this.albumName = albumName;
-    }
-
-    public String getAlbumDesc() {
-        return albumDesc;
-    }
-
-    public void setAlbumDesc(String albumDesc) {
-        this.albumDesc = albumDesc;
-    }
-
-    public String getAlbumTag() {
-        return albumTag;
-    }
-
-    public void setAlbumTag(String albumTag) {
-        this.albumTag = albumTag;
-    }
-
-    public String getAlbumCoverUrl() {
-        return albumCoverUrl;
-    }
-
-    public void setAlbumCoverUrl(String albumCoverUrl) {
-        this.albumCoverUrl = albumCoverUrl;
-    }
-
-    public Byte getAlbumStatus() {
-        return albumStatus;
-    }
-
-    public void setAlbumStatus(Byte albumStatus) {
-        this.albumStatus = albumStatus;
-    }
-
-    public Integer getSortNumber() {
-        return sortNumber;
-    }
+ * @author yzp
+ * @date 2022-03-22 17:55:56
+ * @version v1.0
+ **/
+@ApiModel(value = "music_album-专辑表")
+public class MusicAlbum extends BaseEntity {
 
-    public void setSortNumber(Integer sortNumber) {
-        this.sortNumber = sortNumber;
-    }
-
-    public Byte getHotFlag() {
-        return hotFlag;
-    }
-
-    public void setHotFlag(Byte hotFlag) {
-        this.hotFlag = hotFlag;
-    }
-
-    public Byte getTopFlag() {
-        return topFlag;
-    }
-
-    public void setTopFlag(Byte topFlag) {
-        this.topFlag = topFlag;
-    }
-
-    public Date getCreateTime() {
-        return createTime;
-    }
-
-    public void setCreateTime(Date createTime) {
-        this.createTime = createTime;
-    }
-
-    public Long getCreateBy() {
-        return createBy;
-    }
-
-    public void setCreateBy(Long createBy) {
-        this.createBy = createBy;
-    }
-
-    public Date getUpdateTime() {
-        return updateTime;
-    }
-
-    public void setUpdateTime(Date updateTime) {
-        this.updateTime = updateTime;
-    }
-
-    public Long getUpdateBy() {
-        return updateBy;
-    }
-
-    public void setUpdateBy(Long updateBy) {
-        this.updateBy = updateBy;
+    @TableId(value = "id_", type = IdType.AUTO)
+    @ApiModelProperty(value = "主键id")
+    private Long id;  //主键ID
+
+    @TableField("album_name_")
+    @ApiModelProperty(value = "专辑名称")
+    private String albumName;  //专辑名称
+
+    @TableField("album_desc_")
+    @ApiModelProperty(value = "专辑简介")
+    private String albumDesc;  //专辑简介
+
+    @TableField("album_tag_")
+    @ApiModelProperty(value = "专辑标签(多个标签以逗号分开)")
+    private String albumTag;  //专辑标签(多个标签以逗号分开)
+
+    @TableField("album_cover_url_")
+    @ApiModelProperty(value = "专辑封面图片URL")
+    private String albumCoverUrl;  //专辑封面图片URL
+
+    @TableField("album_status_")
+    @ApiModelProperty(value = "专辑状态(1:启用;0:停用)")
+    private Integer albumStatus;  //专辑状态(1:启用;0:停用)
+
+    @TableField("sort_number_")
+    @ApiModelProperty(value = "排序号")
+    private Integer sortNumber;  //排序号
+
+    @TableField("hot_flag_")
+    @ApiModelProperty(value = "是否热门专辑(1:是;0:否)")
+    private Integer hotFlag;  //是否热门专辑(1:是;0:否)
+
+    @TableField("top_flag_")
+    @ApiModelProperty(value = "是否置顶(1:是;0:否)")
+    private Integer topFlag;  //是否置顶(1:是;0:否)
+
+    @TableField("create_time_")
+    @ApiModelProperty(value = "创建时间")
+    private Date createTime;  //创建时间
+
+    @TableField("create_by_")
+    @ApiModelProperty(value = "创建人")
+    private Long createBy;  //创建人
+
+    @TableField("update_time_")
+    @ApiModelProperty(value = "更新时间")
+    private Date updateTime;  //更新时间
+
+    @TableField("update_by_")
+    @ApiModelProperty(value = "更新人")
+    private Long updateBy;  //更新人
+
+
+	public MusicAlbum setId(Long id) {
+	    this.id = id;
+	    return this;
+	}
+
+	public Long getId() {
+	    return this.id;
+	}
+	public MusicAlbum setAlbumName(String albumName) {
+	    this.albumName = albumName;
+	    return this;
+	}
+
+	public String getAlbumName() {
+	    return this.albumName;
+	}
+	public MusicAlbum setAlbumDesc(String albumDesc) {
+	    this.albumDesc = albumDesc;
+	    return this;
+	}
+
+	public String getAlbumDesc() {
+	    return this.albumDesc;
+	}
+	public MusicAlbum setAlbumTag(String albumTag) {
+	    this.albumTag = albumTag;
+	    return this;
+	}
+
+	public String getAlbumTag() {
+	    return this.albumTag;
+	}
+	public MusicAlbum setAlbumCoverUrl(String albumCoverUrl) {
+	    this.albumCoverUrl = albumCoverUrl;
+	    return this;
+	}
+
+	public String getAlbumCoverUrl() {
+	    return this.albumCoverUrl;
+	}
+	public MusicAlbum setAlbumStatus(Integer albumStatus) {
+	    this.albumStatus = albumStatus;
+	    return this;
+	}
+
+	public Integer getAlbumStatus() {
+	    return this.albumStatus;
+	}
+	public MusicAlbum setSortNumber(Integer sortNumber) {
+	    this.sortNumber = sortNumber;
+	    return this;
+	}
+
+	public Integer getSortNumber() {
+	    return this.sortNumber;
+	}
+	public MusicAlbum setHotFlag(Integer hotFlag) {
+	    this.hotFlag = hotFlag;
+	    return this;
+	}
+
+	public Integer getHotFlag() {
+	    return this.hotFlag;
+	}
+	public MusicAlbum setTopFlag(Integer topFlag) {
+	    this.topFlag = topFlag;
+	    return this;
+	}
+
+	public Integer getTopFlag() {
+	    return this.topFlag;
+	}
+	public MusicAlbum setCreateTime(Date createTime) {
+	    this.createTime = createTime;
+	    return this;
+	}
+
+	public Date getCreateTime() {
+	    return this.createTime;
+	}
+	public MusicAlbum setCreateBy(Long createBy) {
+	    this.createBy = createBy;
+	    return this;
+	}
+
+	public Long getCreateBy() {
+	    return this.createBy;
+	}
+	public MusicAlbum setUpdateTime(Date updateTime) {
+	    this.updateTime = updateTime;
+	    return this;
+	}
+
+	public Date getUpdateTime() {
+	    return this.updateTime;
+	}
+	public MusicAlbum setUpdateBy(Long updateBy) {
+	    this.updateBy = updateBy;
+	    return this;
+	}
+
+	public Long getUpdateBy() {
+	    return this.updateBy;
+	}
+
+	public int pageNo;
+    public int pageSize;
+    public String search;
+
+    public String getSearch() {
+        return search;
+    }
+
+    public void setSearch(String search) {
+        this.search = search;
+    }
+
+    public int getPageNo() {
+        return pageNo;
+    }
+
+    public void setPageNo(int pageNo) {
+        this.pageNo = pageNo;
+    }
+
+    public int getPageSize() {
+        return pageSize;
+    }
+
+    public void setPageSize(int pageSize) {
+        this.pageSize = pageSize;
     }
 
     @Override
     public String toString() {
-        return "MusicAlbum{" +
-				"id=" + id +
-						",albumName='" + albumName + "'" + 
-						",albumDesc='" + albumDesc + "'" + 
-						",albumTag='" + albumTag + "'" + 
-						",albumCoverUrl='" + albumCoverUrl + "'" + 
-						",albumStatus='" + albumStatus + "'" + 
-						",sortNumber='" + sortNumber + "'" + 
-						",hotFlag='" + hotFlag + "'" + 
-						",topFlag='" + topFlag + "'" + 
-						",createTime='" + createTime + "'" + 
-						",createBy='" + createBy + "'" + 
-						",updateTime='" + updateTime + "'" + 
-						",updateBy='" + updateBy + "'" + 
-		                '}';
+        return ToStringBuilder.reflectionToString(this);
     }
-	
+
 }

+ 87 - 74
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/MusicFavorite.java

@@ -1,103 +1,116 @@
 package com.yonge.cooleshow.biz.dal.entity;
 
-import com.baomidou.mybatisplus.annotation.*;
+import com.yonge.cooleshow.common.entity.BaseEntity;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
-
-import java.io.Serializable;
+import org.apache.commons.lang3.builder.ToStringBuilder;
 import java.util.Date;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import org.springframework.format.annotation.DateTimeFormat;
 
 /**
  * 乐谱收藏表
- */
-@TableName("music_favorite")
-@ApiModel(value = "MusicFavorite对象", description = "乐谱收藏表")
-public class MusicFavorite implements Serializable {
-	private static final long serialVersionUID = 1L;
-    /** 
-    * 主键 
-    */
-    @ApiModelProperty("主键 ")
+ * @author yzp
+ * @date 2022-03-22 17:55:56
+ * @version v1.0
+ **/
+@ApiModel(value = "music_favorite-乐谱收藏表")
+public class MusicFavorite extends BaseEntity {
+
     @TableId(value = "id_", type = IdType.AUTO)
-    private Long id;
-    /** 
-    * 用户ID(目前只是学生ID) 
-    */
-    @ApiModelProperty("用户ID(目前只是学生ID) ")
-	@TableField(value = "user_id_")
-    private Long userId;
-    /** 
-    * 曲谱ID 
-    */
-    @ApiModelProperty("曲谱ID ")
-	@TableField(value = "music_sheet_id_")
-    private Long musicSheetId;
-    /** 
-    * 收藏时间 
-    */
-    @ApiModelProperty("收藏时间 ")
-	@TableField(value = "favorite_time_")
-    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
-    private Date favoriteTime;
-    /** 
-    * 是否收藏(1:收藏;0:取消收藏) 
-    */
-    @ApiModelProperty("是否收藏(1:收藏;0:取消收藏) ")
-	@TableField(value = "favorite_flag_")
-    private Byte favoriteFlag;
-
-    public Long getId() {
-        return id;
-    }
+    @ApiModelProperty(value = "主键id")
+    private Long id;  //主键ID
 
-    public void setId(Long id) {
-        this.id = id;
-    }
+    @TableField("user_id_")
+    @ApiModelProperty(value = "用户ID(目前只是学生ID)")
+    private Long userId;  //用户ID(目前只是学生ID)
 
-    public Long getUserId() {
-        return userId;
-    }
+    @TableField("music_sheet_id_")
+    @ApiModelProperty(value = "曲谱ID")
+    private Long musicSheetId;  //曲谱ID
+
+    @TableField("favorite_time_")
+    @ApiModelProperty(value = "收藏时间")
+    private Date favoriteTime;  //收藏时间
+
+    @TableField("favorite_flag_")
+    @ApiModelProperty(value = "是否收藏(1:收藏;0:取消收藏)")
+    private Integer favoriteFlag;  //是否收藏(1:收藏;0:取消收藏)
 
-    public void setUserId(Long userId) {
-        this.userId = userId;
-    }
 
-    public Long getMusicSheetId() {
-        return musicSheetId;
+	public MusicFavorite setId(Long id) {
+	    this.id = id;
+	    return this;
+	}
+
+	public Long getId() {
+	    return this.id;
+	}
+	public MusicFavorite setUserId(Long userId) {
+	    this.userId = userId;
+	    return this;
+	}
+
+	public Long getUserId() {
+	    return this.userId;
+	}
+	public MusicFavorite setMusicSheetId(Long musicSheetId) {
+	    this.musicSheetId = musicSheetId;
+	    return this;
+	}
+
+	public Long getMusicSheetId() {
+	    return this.musicSheetId;
+	}
+	public MusicFavorite setFavoriteTime(Date favoriteTime) {
+	    this.favoriteTime = favoriteTime;
+	    return this;
+	}
+
+	public Date getFavoriteTime() {
+	    return this.favoriteTime;
+	}
+	public MusicFavorite setFavoriteFlag(Integer favoriteFlag) {
+	    this.favoriteFlag = favoriteFlag;
+	    return this;
+	}
+
+	public Integer getFavoriteFlag() {
+	    return this.favoriteFlag;
+	}
+
+	public int pageNo;
+    public int pageSize;
+    public String search;
+
+    public String getSearch() {
+        return search;
     }
 
-    public void setMusicSheetId(Long musicSheetId) {
-        this.musicSheetId = musicSheetId;
+    public void setSearch(String search) {
+        this.search = search;
     }
 
-    public Date getFavoriteTime() {
-        return favoriteTime;
+    public int getPageNo() {
+        return pageNo;
     }
 
-    public void setFavoriteTime(Date favoriteTime) {
-        this.favoriteTime = favoriteTime;
+    public void setPageNo(int pageNo) {
+        this.pageNo = pageNo;
     }
 
-    public Byte getFavoriteFlag() {
-        return favoriteFlag;
+    public int getPageSize() {
+        return pageSize;
     }
 
-    public void setFavoriteFlag(Byte favoriteFlag) {
-        this.favoriteFlag = favoriteFlag;
+    public void setPageSize(int pageSize) {
+        this.pageSize = pageSize;
     }
 
     @Override
     public String toString() {
-        return "MusicFavorite{" +
-				"id=" + id +
-						",userId='" + userId + "'" + 
-						",musicSheetId='" + musicSheetId + "'" + 
-						",favoriteTime='" + favoriteTime + "'" + 
-						",favoriteFlag='" + favoriteFlag + "'" + 
-		                '}';
+        return ToStringBuilder.reflectionToString(this);
     }
-	
+
 }

+ 326 - 373
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/MusicSheet.java

@@ -1,391 +1,344 @@
 package com.yonge.cooleshow.biz.dal.entity;
 
-import com.baomidou.mybatisplus.annotation.*;
+import com.yonge.cooleshow.common.entity.BaseEntity;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
-
-import java.io.Serializable;
+import org.apache.commons.lang3.builder.ToStringBuilder;
 import java.util.Date;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import org.springframework.format.annotation.DateTimeFormat;
-import java.math.BigDecimal;
 
 /**
  * 曲谱表
- */
-@TableName("music_sheet")
-@ApiModel(value = "MusicSheet对象", description = "曲谱表")
-public class MusicSheet implements Serializable {
-	private static final long serialVersionUID = 1L;
-    /** 
-    * 主键 
-    */
-    @ApiModelProperty("主键 ")
-    @TableId(value = "id_", type = IdType.AUTO)
-    private Long id;
-    /** 
-    * 曲谱名称 
-    */
-    @ApiModelProperty("曲谱名称 ")
-	@TableField(value = "music_sheet_name_")
-    private String musicSheetName;
-    /** 
-    * 曲谱来源(0:平台;非0:老师ID) 
-    */
-    @ApiModelProperty("曲谱来源(0:平台;非0:老师ID) ")
-	@TableField(value = "user_id_")
-    private Long userId;
-    /** 
-    * 作曲人 
-    */
-    @ApiModelProperty("作曲人 ")
-	@TableField(value = "composer_")
-    private String composer;
-    /** 
-    * 曲谱声部(适用的乐器,可能是多个,用逗号分隔) 
-    */
-    @ApiModelProperty("曲谱声部(适用的乐器,可能是多个,用逗号分隔) ")
-	@TableField(value = "music_subject_")
-    private String musicSubject;
-    /** 
-    * 曲谱音频文件类型(midi;mp3) 
-    */
-    @ApiModelProperty("曲谱音频文件类型(midi;mp3) ")
-	@TableField(value = "audio_type_")
-    private String audioType;
-    /** 
-    * 曲谱标签(多个标签用逗号分隔) 
-    */
-    @ApiModelProperty("曲谱标签(多个标签用逗号分隔) ")
-	@TableField(value = "music_tag_")
-    private String musicTag;
-    /** 
-    * 默认播放速度 
-    */
-    @ApiModelProperty("默认播放速度 ")
-	@TableField(value = "play_speed_")
-    private Integer playSpeed;
-    /** 
-    * 是否可以评测(0:否;1:是) 
-    */
-    @ApiModelProperty("是否可以评测(0:否;1:是) ")
-	@TableField(value = "can_evaluate_")
-    private Byte canEvaluate;
-    /** 
-    * 是否展示指法(0:否;1:是) 
-    */
-    @ApiModelProperty("是否展示指法(0:否;1:是) ")
-	@TableField(value = "show_fingering_")
-    private Byte showFingering;
-    /** 
-    * 收费类型(0:免费;1:会员;2:单曲收费) 
-    */
-    @ApiModelProperty("收费类型(0:免费;1:会员;2:单曲收费) ")
-	@TableField(value = "charge_type_")
-    private Byte chargeType;
-    /** 
-    * 审核状态 
-    */
-    @ApiModelProperty("审核状态 ")
-	@TableField(value = "audit_status_")
-    private Byte auditStatus;
-    /** 
-    * 排序号 
-    */
-    @ApiModelProperty("排序号 ")
-	@TableField(value = "sort_number_")
-    private Integer sortNumber;
-    /** 
-    * 是否置顶(0:否;1:是) 
-    */
-    @ApiModelProperty("是否置顶(0:否;1:是) ")
-	@TableField(value = "top_flag_")
-    private Byte topFlag;
-    /** 
-    * 是否热门曲谱(0:否;1:是) 
-    */
-    @ApiModelProperty("是否热门曲谱(0:否;1:是) ")
-	@TableField(value = "hot_flag_")
-    private Byte hotFlag;
-    /** 
-    * 曲谱价格 
-    */
-    @ApiModelProperty("曲谱价格 ")
-	@TableField(value = "music_price_")
-    private BigDecimal musicPrice;
-    /** 
-    * 音频文件存储路径 
-    */
-    @ApiModelProperty("音频文件存储路径 ")
-	@TableField(value = "audio_file_url_")
-    private String audioFileUrl;
-    /** 
-    * XML文件存储路径 
-    */
-    @ApiModelProperty("XML文件存储路径 ")
-	@TableField(value = "xml_file_url_")
-    private String xmlFileUrl;
-    /** 
-    * 是否自带节拍器(0:否;1:是) 
-    */
-    @ApiModelProperty("是否自带节拍器(0:否;1:是) ")
-	@TableField(value = "has_beat_")
-    private Byte hasBeat;
-    /** 
-    * 创建时间 
-    */
-    @ApiModelProperty("创建时间 ")
-	@TableField(value = "create_time_")
-    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
-    private Date createTime;
-    /** 
-    * 创建人(老师或者是后台平台用户) 
-    */
-    @ApiModelProperty("创建人(老师或者是后台平台用户) ")
-	@TableField(value = "create_by_")
-    private Long createBy;
-    /** 
-    * 更新时间 
-    */
-    @ApiModelProperty("更新时间 ")
-	@TableField(value = "update_time_")
-    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
-    private Date updateTime;
-    /** 
-    * 更新人(老师或者是后台平台用户) 
-    */
-    @ApiModelProperty("更新人(老师或者是后台平台用户) ")
-	@TableField(value = "update_by_")
-    private Long updateBy;
-    /** 
-    * 备注 
-    */
-    @ApiModelProperty("备注 ")
-	@TableField(value = "remark_")
-    private String remark;
-
-    public Long getId() {
-        return id;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
-
-    public String getMusicSheetName() {
-        return musicSheetName;
-    }
-
-    public void setMusicSheetName(String musicSheetName) {
-        this.musicSheetName = musicSheetName;
-    }
-
-    public Long getUserId() {
-        return userId;
-    }
-
-    public void setUserId(Long userId) {
-        this.userId = userId;
-    }
-
-    public String getComposer() {
-        return composer;
-    }
-
-    public void setComposer(String composer) {
-        this.composer = composer;
-    }
-
-    public String getMusicSubject() {
-        return musicSubject;
-    }
-
-    public void setMusicSubject(String musicSubject) {
-        this.musicSubject = musicSubject;
-    }
-
-    public String getAudioType() {
-        return audioType;
-    }
-
-    public void setAudioType(String audioType) {
-        this.audioType = audioType;
-    }
-
-    public String getMusicTag() {
-        return musicTag;
-    }
-
-    public void setMusicTag(String musicTag) {
-        this.musicTag = musicTag;
-    }
-
-    public Integer getPlaySpeed() {
-        return playSpeed;
-    }
-
-    public void setPlaySpeed(Integer playSpeed) {
-        this.playSpeed = playSpeed;
-    }
-
-    public Byte getCanEvaluate() {
-        return canEvaluate;
-    }
-
-    public void setCanEvaluate(Byte canEvaluate) {
-        this.canEvaluate = canEvaluate;
-    }
-
-    public Byte getShowFingering() {
-        return showFingering;
-    }
-
-    public void setShowFingering(Byte showFingering) {
-        this.showFingering = showFingering;
-    }
-
-    public Byte getChargeType() {
-        return chargeType;
-    }
-
-    public void setChargeType(Byte chargeType) {
-        this.chargeType = chargeType;
-    }
-
-    public Byte getAuditStatus() {
-        return auditStatus;
-    }
+ * @author yzp
+ * @date 2022-03-22 17:55:56
+ * @version v1.0
+ **/
+@ApiModel(value = "music_sheet-曲谱表")
+public class MusicSheet extends BaseEntity {
 
-    public void setAuditStatus(Byte auditStatus) {
-        this.auditStatus = auditStatus;
-    }
-
-    public Integer getSortNumber() {
-        return sortNumber;
-    }
-
-    public void setSortNumber(Integer sortNumber) {
-        this.sortNumber = sortNumber;
-    }
-
-    public Byte getTopFlag() {
-        return topFlag;
-    }
-
-    public void setTopFlag(Byte topFlag) {
-        this.topFlag = topFlag;
-    }
-
-    public Byte getHotFlag() {
-        return hotFlag;
-    }
-
-    public void setHotFlag(Byte hotFlag) {
-        this.hotFlag = hotFlag;
-    }
-
-    public BigDecimal getMusicPrice() {
-        return musicPrice;
-    }
-
-    public void setMusicPrice(BigDecimal musicPrice) {
-        this.musicPrice = musicPrice;
-    }
-
-    public String getAudioFileUrl() {
-        return audioFileUrl;
-    }
-
-    public void setAudioFileUrl(String audioFileUrl) {
-        this.audioFileUrl = audioFileUrl;
-    }
-
-    public String getXmlFileUrl() {
-        return xmlFileUrl;
-    }
-
-    public void setXmlFileUrl(String xmlFileUrl) {
-        this.xmlFileUrl = xmlFileUrl;
-    }
-
-    public Byte getHasBeat() {
-        return hasBeat;
-    }
-
-    public void setHasBeat(Byte hasBeat) {
-        this.hasBeat = hasBeat;
-    }
-
-    public Date getCreateTime() {
-        return createTime;
-    }
-
-    public void setCreateTime(Date createTime) {
-        this.createTime = createTime;
-    }
-
-    public Long getCreateBy() {
-        return createBy;
-    }
-
-    public void setCreateBy(Long createBy) {
-        this.createBy = createBy;
-    }
-
-    public Date getUpdateTime() {
-        return updateTime;
-    }
-
-    public void setUpdateTime(Date updateTime) {
-        this.updateTime = updateTime;
-    }
-
-    public Long getUpdateBy() {
-        return updateBy;
-    }
+    @TableId(value = "id_", type = IdType.AUTO)
+    @ApiModelProperty(value = "主键id")
+    private Long id;  //主键ID
 
-    public void setUpdateBy(Long updateBy) {
-        this.updateBy = updateBy;
-    }
+    @TableField("music_sheet_name_")
+    @ApiModelProperty(value = "曲谱名称")
+    private String musicSheetName;  //曲谱名称
 
-    public String getRemark() {
-        return remark;
-    }
+    @TableField("user_id_")
+    @ApiModelProperty(value = "曲谱来源(0:平台;非0:老师ID)")
+    private Long userId;  //曲谱来源(0:平台;非0:老师ID)
 
-    public void setRemark(String remark) {
-        this.remark = remark;
+    @TableField("composer_")
+    @ApiModelProperty(value = "作曲人")
+    private String composer;  //作曲人
+
+    @TableField("music_subject_")
+    @ApiModelProperty(value = "曲谱声部(适用的乐器,可能是多个,用逗号分隔)")
+    private String musicSubject;  //曲谱声部(适用的乐器,可能是多个,用逗号分隔)
+
+    @TableField("audio_type_")
+    @ApiModelProperty(value = "曲谱音频文件类型(midi;mp3)")
+    private String audioType;  //曲谱音频文件类型(midi;mp3)
+
+    @TableField("music_tag_")
+    @ApiModelProperty(value = "曲谱标签(多个标签用逗号分隔)")
+    private String musicTag;  //曲谱标签(多个标签用逗号分隔)
+
+    @TableField("play_speed_")
+    @ApiModelProperty(value = "默认播放速度")
+    private Integer playSpeed;  //默认播放速度
+
+    @TableField("can_evaluate_")
+    @ApiModelProperty(value = "是否可以评测(0:否;1:是)")
+    private Integer canEvaluate;  //是否可以评测(0:否;1:是)
+
+    @TableField("show_fingering_")
+    @ApiModelProperty(value = "是否展示指法(0:否;1:是)")
+    private Integer showFingering;  //是否展示指法(0:否;1:是)
+
+    @TableField("charge_type_")
+    @ApiModelProperty(value = "收费类型(0:免费;1:会员;2:单曲收费)")
+    private Integer chargeType;  //收费类型(0:免费;1:会员;2:单曲收费)
+
+    @TableField("audit_status_")
+    @ApiModelProperty(value = "审核状态")
+    private Integer auditStatus;  //审核状态
+
+    @TableField("sort_number_")
+    @ApiModelProperty(value = "排序号")
+    private Integer sortNumber;  //排序号
+
+    @TableField("top_flag_")
+    @ApiModelProperty(value = "是否置顶(0:否;1:是)")
+    private Integer topFlag;  //是否置顶(0:否;1:是)
+
+    @TableField("hot_flag_")
+    @ApiModelProperty(value = "是否热门曲谱(0:否;1:是)")
+    private Integer hotFlag;  //是否热门曲谱(0:否;1:是)
+
+    @TableField("music_price_")
+    @ApiModelProperty(value = "曲谱价格")
+    private java.math.BigDecimal musicPrice;  //曲谱价格
+
+    @TableField("audio_file_url_")
+    @ApiModelProperty(value = "音频文件存储路径")
+    private String audioFileUrl;  //音频文件存储路径
+
+    @TableField("xml_file_url_")
+    @ApiModelProperty(value = "XML文件存储路径")
+    private String xmlFileUrl;  //XML文件存储路径
+
+    @TableField("has_beat_")
+    @ApiModelProperty(value = "是否自带节拍器(0:否;1:是)")
+    private Integer hasBeat;  //是否自带节拍器(0:否;1:是)
+
+    @TableField("create_time_")
+    @ApiModelProperty(value = "创建时间")
+    private Date createTime;  //创建时间
+
+    @TableField("create_by_")
+    @ApiModelProperty(value = "创建人(老师或者是后台平台用户)")
+    private Long createBy;  //创建人(老师或者是后台平台用户)
+
+    @TableField("update_time_")
+    @ApiModelProperty(value = "更新时间")
+    private Date updateTime;  //更新时间
+
+    @TableField("update_by_")
+    @ApiModelProperty(value = "更新人(老师或者是后台平台用户)")
+    private Long updateBy;  //更新人(老师或者是后台平台用户)
+
+    @TableField("remark_")
+    @ApiModelProperty(value = "备注")
+    private String remark;  //备注
+
+
+	public MusicSheet setId(Long id) {
+	    this.id = id;
+	    return this;
+	}
+
+	public Long getId() {
+	    return this.id;
+	}
+	public MusicSheet setMusicSheetName(String musicSheetName) {
+	    this.musicSheetName = musicSheetName;
+	    return this;
+	}
+
+	public String getMusicSheetName() {
+	    return this.musicSheetName;
+	}
+	public MusicSheet setUserId(Long userId) {
+	    this.userId = userId;
+	    return this;
+	}
+
+	public Long getUserId() {
+	    return this.userId;
+	}
+	public MusicSheet setComposer(String composer) {
+	    this.composer = composer;
+	    return this;
+	}
+
+	public String getComposer() {
+	    return this.composer;
+	}
+	public MusicSheet setMusicSubject(String musicSubject) {
+	    this.musicSubject = musicSubject;
+	    return this;
+	}
+
+	public String getMusicSubject() {
+	    return this.musicSubject;
+	}
+	public MusicSheet setAudioType(String audioType) {
+	    this.audioType = audioType;
+	    return this;
+	}
+
+	public String getAudioType() {
+	    return this.audioType;
+	}
+	public MusicSheet setMusicTag(String musicTag) {
+	    this.musicTag = musicTag;
+	    return this;
+	}
+
+	public String getMusicTag() {
+	    return this.musicTag;
+	}
+	public MusicSheet setPlaySpeed(Integer playSpeed) {
+	    this.playSpeed = playSpeed;
+	    return this;
+	}
+
+	public Integer getPlaySpeed() {
+	    return this.playSpeed;
+	}
+	public MusicSheet setCanEvaluate(Integer canEvaluate) {
+	    this.canEvaluate = canEvaluate;
+	    return this;
+	}
+
+	public Integer getCanEvaluate() {
+	    return this.canEvaluate;
+	}
+	public MusicSheet setShowFingering(Integer showFingering) {
+	    this.showFingering = showFingering;
+	    return this;
+	}
+
+	public Integer getShowFingering() {
+	    return this.showFingering;
+	}
+	public MusicSheet setChargeType(Integer chargeType) {
+	    this.chargeType = chargeType;
+	    return this;
+	}
+
+	public Integer getChargeType() {
+	    return this.chargeType;
+	}
+	public MusicSheet setAuditStatus(Integer auditStatus) {
+	    this.auditStatus = auditStatus;
+	    return this;
+	}
+
+	public Integer getAuditStatus() {
+	    return this.auditStatus;
+	}
+	public MusicSheet setSortNumber(Integer sortNumber) {
+	    this.sortNumber = sortNumber;
+	    return this;
+	}
+
+	public Integer getSortNumber() {
+	    return this.sortNumber;
+	}
+	public MusicSheet setTopFlag(Integer topFlag) {
+	    this.topFlag = topFlag;
+	    return this;
+	}
+
+	public Integer getTopFlag() {
+	    return this.topFlag;
+	}
+	public MusicSheet setHotFlag(Integer hotFlag) {
+	    this.hotFlag = hotFlag;
+	    return this;
+	}
+
+	public Integer getHotFlag() {
+	    return this.hotFlag;
+	}
+	public MusicSheet setMusicPrice(java.math.BigDecimal musicPrice) {
+	    this.musicPrice = musicPrice;
+	    return this;
+	}
+
+	public java.math.BigDecimal getMusicPrice() {
+	    return this.musicPrice;
+	}
+	public MusicSheet setAudioFileUrl(String audioFileUrl) {
+	    this.audioFileUrl = audioFileUrl;
+	    return this;
+	}
+
+	public String getAudioFileUrl() {
+	    return this.audioFileUrl;
+	}
+	public MusicSheet setXmlFileUrl(String xmlFileUrl) {
+	    this.xmlFileUrl = xmlFileUrl;
+	    return this;
+	}
+
+	public String getXmlFileUrl() {
+	    return this.xmlFileUrl;
+	}
+	public MusicSheet setHasBeat(Integer hasBeat) {
+	    this.hasBeat = hasBeat;
+	    return this;
+	}
+
+	public Integer getHasBeat() {
+	    return this.hasBeat;
+	}
+	public MusicSheet setCreateTime(Date createTime) {
+	    this.createTime = createTime;
+	    return this;
+	}
+
+	public Date getCreateTime() {
+	    return this.createTime;
+	}
+	public MusicSheet setCreateBy(Long createBy) {
+	    this.createBy = createBy;
+	    return this;
+	}
+
+	public Long getCreateBy() {
+	    return this.createBy;
+	}
+	public MusicSheet setUpdateTime(Date updateTime) {
+	    this.updateTime = updateTime;
+	    return this;
+	}
+
+	public Date getUpdateTime() {
+	    return this.updateTime;
+	}
+	public MusicSheet setUpdateBy(Long updateBy) {
+	    this.updateBy = updateBy;
+	    return this;
+	}
+
+	public Long getUpdateBy() {
+	    return this.updateBy;
+	}
+	public MusicSheet setRemark(String remark) {
+	    this.remark = remark;
+	    return this;
+	}
+
+	public String getRemark() {
+	    return this.remark;
+	}
+
+	public int pageNo;
+    public int pageSize;
+    public String search;
+
+    public String getSearch() {
+        return search;
+    }
+
+    public void setSearch(String search) {
+        this.search = search;
+    }
+
+    public int getPageNo() {
+        return pageNo;
+    }
+
+    public void setPageNo(int pageNo) {
+        this.pageNo = pageNo;
+    }
+
+    public int getPageSize() {
+        return pageSize;
+    }
+
+    public void setPageSize(int pageSize) {
+        this.pageSize = pageSize;
     }
 
     @Override
     public String toString() {
-        return "MusicSheet{" +
-				"id=" + id +
-						",musicSheetName='" + musicSheetName + "'" + 
-						",userId='" + userId + "'" + 
-						",composer='" + composer + "'" + 
-						",musicSubject='" + musicSubject + "'" + 
-						",audioType='" + audioType + "'" + 
-						",musicTag='" + musicTag + "'" + 
-						",playSpeed='" + playSpeed + "'" + 
-						",canEvaluate='" + canEvaluate + "'" + 
-						",showFingering='" + showFingering + "'" + 
-						",chargeType='" + chargeType + "'" + 
-						",auditStatus='" + auditStatus + "'" + 
-						",sortNumber='" + sortNumber + "'" + 
-						",topFlag='" + topFlag + "'" + 
-						",hotFlag='" + hotFlag + "'" + 
-						",musicPrice='" + musicPrice + "'" + 
-						",audioFileUrl='" + audioFileUrl + "'" + 
-						",xmlFileUrl='" + xmlFileUrl + "'" + 
-						",hasBeat='" + hasBeat + "'" + 
-						",createTime='" + createTime + "'" + 
-						",createBy='" + createBy + "'" + 
-						",updateTime='" + updateTime + "'" + 
-						",updateBy='" + updateBy + "'" + 
-						",remark='" + remark + "'" + 
-		                '}';
+        return ToStringBuilder.reflectionToString(this);
     }
-	
+
 }

+ 115 - 108
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/MusicSheetAccompaniment.java

@@ -1,133 +1,140 @@
 package com.yonge.cooleshow.biz.dal.entity;
 
-import com.baomidou.mybatisplus.annotation.*;
+import com.yonge.cooleshow.common.entity.BaseEntity;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
-
-import java.io.Serializable;
+import org.apache.commons.lang3.builder.ToStringBuilder;
 import java.util.Date;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import org.springframework.format.annotation.DateTimeFormat;
 
 /**
  * 曲谱伴奏表
- */
-@TableName("music_sheet_accompaniment")
-@ApiModel(value = "MusicSheetAccompaniment对象", description = "曲谱伴奏表")
-public class MusicSheetAccompaniment implements Serializable {
-	private static final long serialVersionUID = 1L;
-    /** 
-    * 主键 
-    */
-    @ApiModelProperty("主键 ")
-    @TableId(value = "id_", type = IdType.AUTO)
-    private Long id;
-    /** 
-    * 曲谱ID 
-    */
-    @ApiModelProperty("曲谱ID ")
-	@TableField(value = "music_sheet_id_")
-    private Long musicSheetId;
-    /** 
-    * 声部 
-    */
-    @ApiModelProperty("声部 ")
-	@TableField(value = "music_subject_")
-    private String musicSubject;
-    /** 
-    * MP3原声音频文件URL 
-    */
-    @ApiModelProperty("MP3原声音频文件URL ")
-	@TableField(value = "audio_file_url_")
-    private String audioFileUrl;
-    /** 
-    * 排序号 
-    */
-    @ApiModelProperty("排序号 ")
-	@TableField(value = "sort_number_")
-    private Byte sortNumber;
-    /** 
-    * 创建时间 
-    */
-    @ApiModelProperty("创建时间 ")
-	@TableField(value = "create_time_")
-    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
-    private Date createTime;
-    /** 
-    * 创建人(老师或者是后台平台用户) 
-    */
-    @ApiModelProperty("创建人(老师或者是后台平台用户) ")
-	@TableField(value = "create_by_")
-    private Long createBy;
-
-    public Long getId() {
-        return id;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
+ * @author yzp
+ * @date 2022-03-22 17:55:56
+ * @version v1.0
+ **/
+@ApiModel(value = "music_sheet_accompaniment-曲谱伴奏表")
+public class MusicSheetAccompaniment extends BaseEntity {
 
-    public Long getMusicSheetId() {
-        return musicSheetId;
-    }
-
-    public void setMusicSheetId(Long musicSheetId) {
-        this.musicSheetId = musicSheetId;
-    }
-
-    public String getMusicSubject() {
-        return musicSubject;
-    }
-
-    public void setMusicSubject(String musicSubject) {
-        this.musicSubject = musicSubject;
-    }
-
-    public String getAudioFileUrl() {
-        return audioFileUrl;
-    }
-
-    public void setAudioFileUrl(String audioFileUrl) {
-        this.audioFileUrl = audioFileUrl;
-    }
-
-    public Byte getSortNumber() {
-        return sortNumber;
+    @TableId(value = "id_", type = IdType.AUTO)
+    @ApiModelProperty(value = "主键id")
+    private Long id;  //主键ID
+
+    @TableField("music_sheet_id_")
+    @ApiModelProperty(value = "曲谱ID")
+    private Long musicSheetId;  //曲谱ID
+
+    @TableField("music_subject_")
+    @ApiModelProperty(value = "声部")
+    private String musicSubject;  //声部
+
+    @TableField("audio_file_url_")
+    @ApiModelProperty(value = "MP3原声音频文件URL")
+    private String audioFileUrl;  //MP3原声音频文件URL
+
+    @TableField("sort_number_")
+    @ApiModelProperty(value = "排序号")
+    private Integer sortNumber;  //排序号
+
+    @TableField("create_time_")
+    @ApiModelProperty(value = "创建时间")
+    private Date createTime;  //创建时间
+
+    @TableField("create_by_")
+    @ApiModelProperty(value = "创建人(老师或者是后台平台用户)")
+    private Long createBy;  //创建人(老师或者是后台平台用户)
+
+
+	public MusicSheetAccompaniment setId(Long id) {
+	    this.id = id;
+	    return this;
+	}
+
+	public Long getId() {
+	    return this.id;
+	}
+	public MusicSheetAccompaniment setMusicSheetId(Long musicSheetId) {
+	    this.musicSheetId = musicSheetId;
+	    return this;
+	}
+
+	public Long getMusicSheetId() {
+	    return this.musicSheetId;
+	}
+	public MusicSheetAccompaniment setMusicSubject(String musicSubject) {
+	    this.musicSubject = musicSubject;
+	    return this;
+	}
+
+	public String getMusicSubject() {
+	    return this.musicSubject;
+	}
+	public MusicSheetAccompaniment setAudioFileUrl(String audioFileUrl) {
+	    this.audioFileUrl = audioFileUrl;
+	    return this;
+	}
+
+	public String getAudioFileUrl() {
+	    return this.audioFileUrl;
+	}
+	public MusicSheetAccompaniment setSortNumber(Integer sortNumber) {
+	    this.sortNumber = sortNumber;
+	    return this;
+	}
+
+	public Integer getSortNumber() {
+	    return this.sortNumber;
+	}
+	public MusicSheetAccompaniment setCreateTime(Date createTime) {
+	    this.createTime = createTime;
+	    return this;
+	}
+
+	public Date getCreateTime() {
+	    return this.createTime;
+	}
+	public MusicSheetAccompaniment setCreateBy(Long createBy) {
+	    this.createBy = createBy;
+	    return this;
+	}
+
+	public Long getCreateBy() {
+	    return this.createBy;
+	}
+
+	public int pageNo;
+    public int pageSize;
+    public String search;
+
+    public String getSearch() {
+        return search;
     }
 
-    public void setSortNumber(Byte sortNumber) {
-        this.sortNumber = sortNumber;
+    public void setSearch(String search) {
+        this.search = search;
     }
 
-    public Date getCreateTime() {
-        return createTime;
+    public int getPageNo() {
+        return pageNo;
     }
 
-    public void setCreateTime(Date createTime) {
-        this.createTime = createTime;
+    public void setPageNo(int pageNo) {
+        this.pageNo = pageNo;
     }
 
-    public Long getCreateBy() {
-        return createBy;
+    public int getPageSize() {
+        return pageSize;
     }
 
-    public void setCreateBy(Long createBy) {
-        this.createBy = createBy;
+    public void setPageSize(int pageSize) {
+        this.pageSize = pageSize;
     }
 
     @Override
     public String toString() {
-        return "MusicSheetAccompaniment{" +
-				"id=" + id +
-						",musicSheetId='" + musicSheetId + "'" + 
-						",musicSubject='" + musicSubject + "'" + 
-						",audioFileUrl='" + audioFileUrl + "'" + 
-						",sortNumber='" + sortNumber + "'" + 
-						",createTime='" + createTime + "'" + 
-						",createBy='" + createBy + "'" + 
-		                '}';
+        return ToStringBuilder.reflectionToString(this);
     }
-	
+
 }

+ 117 - 114
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/MusicSheetPurchaseRecord.java

@@ -1,149 +1,152 @@
 package com.yonge.cooleshow.biz.dal.entity;
 
-import com.baomidou.mybatisplus.annotation.*;
+import com.yonge.cooleshow.common.entity.BaseEntity;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
-
-import java.io.Serializable;
+import org.apache.commons.lang3.builder.ToStringBuilder;
 import java.util.Date;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import org.springframework.format.annotation.DateTimeFormat;
-import java.math.BigDecimal;
 
 /**
  * 曲谱购买记录表
- */
-@TableName("music_sheet_purchase_record")
-@ApiModel(value = "MusicSheetPurchaseRecord对象", description = "曲谱购买记录表")
-public class MusicSheetPurchaseRecord implements Serializable {
-	private static final long serialVersionUID = 1L;
-    /** 
-    * 主键 
-    */
-    @ApiModelProperty("主键 ")
+ * @author yzp
+ * @date 2022-03-22 17:55:57
+ * @version v1.0
+ **/
+@ApiModel(value = "music_sheet_purchase_record-曲谱购买记录表")
+public class MusicSheetPurchaseRecord extends BaseEntity {
+
     @TableId(value = "id_", type = IdType.AUTO)
-    private Long id;
-    /** 
-    * 曲谱ID 
-    */
-    @ApiModelProperty("曲谱ID ")
-	@TableField(value = "music_sheet_id_")
-    private Long musicSheetId;
-    /** 
-    * 老师ID 
-    */
-    @ApiModelProperty("老师ID ")
-	@TableField(value = "teacher_id_")
-    private Long teacherId;
-    /** 
-    * 订单流水号 
-    */
-    @ApiModelProperty("订单流水号 ")
-	@TableField(value = "order_no_")
-    private String orderNo;
-    /** 
-    * 学生ID 
-    */
-    @ApiModelProperty("学生ID ")
-	@TableField(value = "student_id_")
-    private Long studentId;
-    /** 
-    * 购买时间 
-    */
-    @ApiModelProperty("购买时间 ")
-	@TableField(value = "purchase_time_")
-    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
-    private Date purchaseTime;
-    /** 
-    * 购买价格 
-    */
-    @ApiModelProperty("购买价格 ")
-	@TableField(value = "purchase_price_")
-    private BigDecimal purchasePrice;
-    /** 
-    * 订单状态(1:已完成;0:取消) 
-    */
-    @ApiModelProperty("订单状态(1:已完成;0:取消) ")
-	@TableField(value = "order_status_")
-    private Byte orderStatus;
-
-    public Long getId() {
-        return id;
-    }
+    @ApiModelProperty(value = "主键id")
+    private Long id;  //主键ID
+
+    @TableField("music_sheet_id_")
+    @ApiModelProperty(value = "曲谱ID")
+    private Long musicSheetId;  //曲谱ID
+
+    @TableField("teacher_id_")
+    @ApiModelProperty(value = "老师ID")
+    private Long teacherId;  //老师ID
+
+    @TableField("order_no_")
+    @ApiModelProperty(value = "订单流水号")
+    private String orderNo;  //订单流水号
+
+    @TableField("student_id_")
+    @ApiModelProperty(value = "学生ID")
+    private Long studentId;  //学生ID
+
+    @TableField("purchase_time_")
+    @ApiModelProperty(value = "购买时间")
+    private Date purchaseTime;  //购买时间
+
+    @TableField("purchase_price_")
+    @ApiModelProperty(value = "购买价格")
+    private java.math.BigDecimal purchasePrice;  //购买价格
 
-    public void setId(Long id) {
-        this.id = id;
-    }
+    @TableField("order_status_")
+    @ApiModelProperty(value = "订单状态(1:已完成;0:取消)")
+    private Integer orderStatus;  //订单状态(1:已完成;0:取消)
 
-    public Long getMusicSheetId() {
-        return musicSheetId;
-    }
 
-    public void setMusicSheetId(Long musicSheetId) {
-        this.musicSheetId = musicSheetId;
-    }
+	public MusicSheetPurchaseRecord setId(Long id) {
+	    this.id = id;
+	    return this;
+	}
 
-    public Long getTeacherId() {
-        return teacherId;
-    }
+	public Long getId() {
+	    return this.id;
+	}
+	public MusicSheetPurchaseRecord setMusicSheetId(Long musicSheetId) {
+	    this.musicSheetId = musicSheetId;
+	    return this;
+	}
 
-    public void setTeacherId(Long teacherId) {
-        this.teacherId = teacherId;
-    }
+	public Long getMusicSheetId() {
+	    return this.musicSheetId;
+	}
+	public MusicSheetPurchaseRecord setTeacherId(Long teacherId) {
+	    this.teacherId = teacherId;
+	    return this;
+	}
 
-    public String getOrderNo() {
-        return orderNo;
-    }
+	public Long getTeacherId() {
+	    return this.teacherId;
+	}
+	public MusicSheetPurchaseRecord setOrderNo(String orderNo) {
+	    this.orderNo = orderNo;
+	    return this;
+	}
 
-    public void setOrderNo(String orderNo) {
-        this.orderNo = orderNo;
-    }
+	public String getOrderNo() {
+	    return this.orderNo;
+	}
+	public MusicSheetPurchaseRecord setStudentId(Long studentId) {
+	    this.studentId = studentId;
+	    return this;
+	}
 
-    public Long getStudentId() {
-        return studentId;
-    }
+	public Long getStudentId() {
+	    return this.studentId;
+	}
+	public MusicSheetPurchaseRecord setPurchaseTime(Date purchaseTime) {
+	    this.purchaseTime = purchaseTime;
+	    return this;
+	}
 
-    public void setStudentId(Long studentId) {
-        this.studentId = studentId;
-    }
+	public Date getPurchaseTime() {
+	    return this.purchaseTime;
+	}
+	public MusicSheetPurchaseRecord setPurchasePrice(java.math.BigDecimal purchasePrice) {
+	    this.purchasePrice = purchasePrice;
+	    return this;
+	}
 
-    public Date getPurchaseTime() {
-        return purchaseTime;
+	public java.math.BigDecimal getPurchasePrice() {
+	    return this.purchasePrice;
+	}
+	public MusicSheetPurchaseRecord setOrderStatus(Integer orderStatus) {
+	    this.orderStatus = orderStatus;
+	    return this;
+	}
+
+	public Integer getOrderStatus() {
+	    return this.orderStatus;
+	}
+
+	public int pageNo;
+    public int pageSize;
+    public String search;
+
+    public String getSearch() {
+        return search;
     }
 
-    public void setPurchaseTime(Date purchaseTime) {
-        this.purchaseTime = purchaseTime;
+    public void setSearch(String search) {
+        this.search = search;
     }
 
-    public BigDecimal getPurchasePrice() {
-        return purchasePrice;
+    public int getPageNo() {
+        return pageNo;
     }
 
-    public void setPurchasePrice(BigDecimal purchasePrice) {
-        this.purchasePrice = purchasePrice;
+    public void setPageNo(int pageNo) {
+        this.pageNo = pageNo;
     }
 
-    public Byte getOrderStatus() {
-        return orderStatus;
+    public int getPageSize() {
+        return pageSize;
     }
 
-    public void setOrderStatus(Byte orderStatus) {
-        this.orderStatus = orderStatus;
+    public void setPageSize(int pageSize) {
+        this.pageSize = pageSize;
     }
 
     @Override
     public String toString() {
-        return "MusicSheetPurchaseRecord{" +
-				"id=" + id +
-						",musicSheetId='" + musicSheetId + "'" + 
-						",teacherId='" + teacherId + "'" + 
-						",orderNo='" + orderNo + "'" + 
-						",studentId='" + studentId + "'" + 
-						",purchaseTime='" + purchaseTime + "'" + 
-						",purchasePrice='" + purchasePrice + "'" + 
-						",orderStatus='" + orderStatus + "'" + 
-		                '}';
+        return ToStringBuilder.reflectionToString(this);
     }
-	
+
 }

+ 87 - 74
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/VideoLessonEvaluate.java

@@ -1,103 +1,116 @@
 package com.yonge.cooleshow.biz.dal.entity;
 
-import com.baomidou.mybatisplus.annotation.*;
+import com.yonge.cooleshow.common.entity.BaseEntity;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
-
-import java.io.Serializable;
+import org.apache.commons.lang3.builder.ToStringBuilder;
 import java.util.Date;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import org.springframework.format.annotation.DateTimeFormat;
 
 /**
  * 视频课学员评价
- */
-@TableName("video_lesson_evaluate")
-@ApiModel(value = "VideoLessonEvaluate对象", description = "视频课学员评价")
-public class VideoLessonEvaluate implements Serializable {
-	private static final long serialVersionUID = 1L;
-    /** 
-    * 主键 
-    */
-    @ApiModelProperty("主键 ")
+ * @author yzp
+ * @date 2022-03-22 17:55:57
+ * @version v1.0
+ **/
+@ApiModel(value = "video_lesson_evaluate-视频课学员评价")
+public class VideoLessonEvaluate extends BaseEntity {
+
     @TableId(value = "id_", type = IdType.AUTO)
-    private Long id;
-    /** 
-    * 视频ID 
-    */
-    @ApiModelProperty("视频ID ")
-	@TableField(value = "video_id_")
-    private Long videoId;
-    /** 
-    * 学生ID 
-    */
-    @ApiModelProperty("学生ID ")
-	@TableField(value = "student_id_")
-    private Long studentId;
-    /** 
-    * 评价内容 
-    */
-    @ApiModelProperty("评价内容 ")
-	@TableField(value = "content_")
-    private String content;
-    /** 
-    * 评价时间 
-    */
-    @ApiModelProperty("评价时间 ")
-	@TableField(value = "evaluate_time_")
-    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
-    private Date evaluateTime;
-
-    public Long getId() {
-        return id;
-    }
+    @ApiModelProperty(value = "主键id")
+    private Long id;  //主键ID
 
-    public void setId(Long id) {
-        this.id = id;
-    }
+    @TableField("video_id_")
+    @ApiModelProperty(value = "视频ID")
+    private Long videoId;  //视频ID
 
-    public Long getVideoId() {
-        return videoId;
-    }
+    @TableField("student_id_")
+    @ApiModelProperty(value = "学生ID")
+    private Long studentId;  //学生ID
+
+    @TableField("content_")
+    @ApiModelProperty(value = "评价内容")
+    private String content;  //评价内容
+
+    @TableField("evaluate_time_")
+    @ApiModelProperty(value = "评价时间")
+    private Date evaluateTime;  //评价时间
 
-    public void setVideoId(Long videoId) {
-        this.videoId = videoId;
-    }
 
-    public Long getStudentId() {
-        return studentId;
+	public VideoLessonEvaluate setId(Long id) {
+	    this.id = id;
+	    return this;
+	}
+
+	public Long getId() {
+	    return this.id;
+	}
+	public VideoLessonEvaluate setVideoId(Long videoId) {
+	    this.videoId = videoId;
+	    return this;
+	}
+
+	public Long getVideoId() {
+	    return this.videoId;
+	}
+	public VideoLessonEvaluate setStudentId(Long studentId) {
+	    this.studentId = studentId;
+	    return this;
+	}
+
+	public Long getStudentId() {
+	    return this.studentId;
+	}
+	public VideoLessonEvaluate setContent(String content) {
+	    this.content = content;
+	    return this;
+	}
+
+	public String getContent() {
+	    return this.content;
+	}
+	public VideoLessonEvaluate setEvaluateTime(Date evaluateTime) {
+	    this.evaluateTime = evaluateTime;
+	    return this;
+	}
+
+	public Date getEvaluateTime() {
+	    return this.evaluateTime;
+	}
+
+	public int pageNo;
+    public int pageSize;
+    public String search;
+
+    public String getSearch() {
+        return search;
     }
 
-    public void setStudentId(Long studentId) {
-        this.studentId = studentId;
+    public void setSearch(String search) {
+        this.search = search;
     }
 
-    public String getContent() {
-        return content;
+    public int getPageNo() {
+        return pageNo;
     }
 
-    public void setContent(String content) {
-        this.content = content;
+    public void setPageNo(int pageNo) {
+        this.pageNo = pageNo;
     }
 
-    public Date getEvaluateTime() {
-        return evaluateTime;
+    public int getPageSize() {
+        return pageSize;
     }
 
-    public void setEvaluateTime(Date evaluateTime) {
-        this.evaluateTime = evaluateTime;
+    public void setPageSize(int pageSize) {
+        this.pageSize = pageSize;
     }
 
     @Override
     public String toString() {
-        return "VideoLessonEvaluate{" +
-				"id=" + id +
-						",videoId='" + videoId + "'" + 
-						",studentId='" + studentId + "'" + 
-						",content='" + content + "'" + 
-						",evaluateTime='" + evaluateTime + "'" + 
-		                '}';
+        return ToStringBuilder.reflectionToString(this);
     }
-	
+
 }

+ 221 - 240
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/VideoLessonGroup.java

@@ -1,255 +1,236 @@
 package com.yonge.cooleshow.biz.dal.entity;
 
-import com.baomidou.mybatisplus.annotation.*;
+import com.yonge.cooleshow.common.entity.BaseEntity;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
-
-import java.io.Serializable;
+import org.apache.commons.lang3.builder.ToStringBuilder;
 import java.util.Date;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import org.springframework.format.annotation.DateTimeFormat;
 
 /**
  * 视频课基本信息表
- */
-@TableName("video_lesson_group")
-@ApiModel(value = "VideoLessonGroup对象", description = "视频课基本信息表")
-public class VideoLessonGroup implements Serializable {
-	private static final long serialVersionUID = 1L;
-    /** 
-    * 主键 
-    */
-    @ApiModelProperty("主键 ")
-    @TableId(value = "id_", type = IdType.AUTO)
-    private Long id;
-    /** 
-    * 课程名称 
-    */
-    @ApiModelProperty("课程名称 ")
-	@TableField(value = "lesson_name_")
-    private String lessonName;
-    /** 
-    * 课程声部 
-    */
-    @ApiModelProperty("课程声部 ")
-	@TableField(value = "lesson_subject_")
-    private String lessonSubject;
-    /** 
-    * 课程介绍 
-    */
-    @ApiModelProperty("课程介绍 ")
-	@TableField(value = "lesson_desc_")
-    private String lessonDesc;
-    /** 
-    * 课程价格 
-    */
-    @ApiModelProperty("课程价格 ")
-	@TableField(value = "lesson_price_")
-    private Integer lessonPrice;
-    /** 
-    * 课程封面图片URL 
-    */
-    @ApiModelProperty("课程封面图片URL ")
-	@TableField(value = "lesson_cover_url_")
-    private String lessonCoverUrl;
-    /** 
-    * 老师ID 
-    */
-    @ApiModelProperty("老师ID ")
-	@TableField(value = "teacher_id_")
-    private Long teacherId;
-    /** 
-    * 课程节数 
-    */
-    @ApiModelProperty("课程节数 ")
-	@TableField(value = "lesson_count_")
-    private Integer lessonCount;
-    /** 
-    * 排序号 
-    */
-    @ApiModelProperty("排序号 ")
-	@TableField(value = "sort_number_")
-    private Integer sortNumber;
-    /** 
-    * 课程标签 
-    */
-    @ApiModelProperty("课程标签 ")
-	@TableField(value = "lesson_tag_")
-    private String lessonTag;
-    /** 
-    * 是否置顶 
-    */
-    @ApiModelProperty("是否置顶 ")
-	@TableField(value = "top_flag_")
-    private Byte topFlag;
-    /** 
-    * 是否热门课程 
-    */
-    @ApiModelProperty("是否热门课程 ")
-	@TableField(value = "hot_flag_")
-    private Byte hotFlag;
-    /** 
-    * 审核状态 
-    */
-    @ApiModelProperty("审核状态 ")
-	@TableField(value = "audit_status_")
-    private Byte auditStatus;
-    /** 
-    * 创建时间 
-    */
-    @ApiModelProperty("创建时间 ")
-	@TableField(value = "create_time_")
-    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
-    private Date createTime;
-    /** 
-    * 更新时间 
-    */
-    @ApiModelProperty("更新时间 ")
-	@TableField(value = "update_time_")
-    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
-    private Date updateTime;
-
-    public Long getId() {
-        return id;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
-
-    public String getLessonName() {
-        return lessonName;
-    }
-
-    public void setLessonName(String lessonName) {
-        this.lessonName = lessonName;
-    }
-
-    public String getLessonSubject() {
-        return lessonSubject;
-    }
-
-    public void setLessonSubject(String lessonSubject) {
-        this.lessonSubject = lessonSubject;
-    }
-
-    public String getLessonDesc() {
-        return lessonDesc;
-    }
-
-    public void setLessonDesc(String lessonDesc) {
-        this.lessonDesc = lessonDesc;
-    }
-
-    public Integer getLessonPrice() {
-        return lessonPrice;
-    }
-
-    public void setLessonPrice(Integer lessonPrice) {
-        this.lessonPrice = lessonPrice;
-    }
-
-    public String getLessonCoverUrl() {
-        return lessonCoverUrl;
-    }
-
-    public void setLessonCoverUrl(String lessonCoverUrl) {
-        this.lessonCoverUrl = lessonCoverUrl;
-    }
-
-    public Long getTeacherId() {
-        return teacherId;
-    }
-
-    public void setTeacherId(Long teacherId) {
-        this.teacherId = teacherId;
-    }
-
-    public Integer getLessonCount() {
-        return lessonCount;
-    }
+ * @author yzp
+ * @date 2022-03-22 17:55:57
+ * @version v1.0
+ **/
+@ApiModel(value = "video_lesson_group-视频课基本信息表")
+public class VideoLessonGroup extends BaseEntity {
 
-    public void setLessonCount(Integer lessonCount) {
-        this.lessonCount = lessonCount;
-    }
-
-    public Integer getSortNumber() {
-        return sortNumber;
-    }
-
-    public void setSortNumber(Integer sortNumber) {
-        this.sortNumber = sortNumber;
-    }
-
-    public String getLessonTag() {
-        return lessonTag;
-    }
-
-    public void setLessonTag(String lessonTag) {
-        this.lessonTag = lessonTag;
-    }
-
-    public Byte getTopFlag() {
-        return topFlag;
-    }
-
-    public void setTopFlag(Byte topFlag) {
-        this.topFlag = topFlag;
-    }
-
-    public Byte getHotFlag() {
-        return hotFlag;
-    }
-
-    public void setHotFlag(Byte hotFlag) {
-        this.hotFlag = hotFlag;
-    }
-
-    public Byte getAuditStatus() {
-        return auditStatus;
-    }
-
-    public void setAuditStatus(Byte auditStatus) {
-        this.auditStatus = auditStatus;
-    }
-
-    public Date getCreateTime() {
-        return createTime;
-    }
-
-    public void setCreateTime(Date createTime) {
-        this.createTime = createTime;
-    }
-
-    public Date getUpdateTime() {
-        return updateTime;
-    }
-
-    public void setUpdateTime(Date updateTime) {
-        this.updateTime = updateTime;
+    @TableId(value = "id_", type = IdType.AUTO)
+    @ApiModelProperty(value = "主键id")
+    private Long id;  //主键ID
+
+    @TableField("lesson_name_")
+    @ApiModelProperty(value = "课程名称")
+    private String lessonName;  //课程名称
+
+    @TableField("lesson_subject_")
+    @ApiModelProperty(value = "课程声部")
+    private String lessonSubject;  //课程声部
+
+    @TableField("lesson_desc_")
+    @ApiModelProperty(value = "课程介绍")
+    private String lessonDesc;  //课程介绍
+
+    @TableField("lesson_price_")
+    @ApiModelProperty(value = "课程价格")
+    private Integer lessonPrice;  //课程价格
+
+    @TableField("lesson_cover_url_")
+    @ApiModelProperty(value = "课程封面图片URL")
+    private String lessonCoverUrl;  //课程封面图片URL
+
+    @TableField("teacher_id_")
+    @ApiModelProperty(value = "老师ID")
+    private Long teacherId;  //老师ID
+
+    @TableField("lesson_count_")
+    @ApiModelProperty(value = "课程节数")
+    private Integer lessonCount;  //课程节数
+
+    @TableField("sort_number_")
+    @ApiModelProperty(value = "排序号")
+    private Integer sortNumber;  //排序号
+
+    @TableField("lesson_tag_")
+    @ApiModelProperty(value = "课程标签")
+    private String lessonTag;  //课程标签
+
+    @TableField("top_flag_")
+    @ApiModelProperty(value = "是否置顶")
+    private Integer topFlag;  //是否置顶
+
+    @TableField("hot_flag_")
+    @ApiModelProperty(value = "是否热门课程")
+    private Integer hotFlag;  //是否热门课程
+
+    @TableField("audit_status_")
+    @ApiModelProperty(value = "审核状态")
+    private Integer auditStatus;  //审核状态
+
+    @TableField("create_time_")
+    @ApiModelProperty(value = "创建时间")
+    private Date createTime;  //创建时间
+
+    @TableField("update_time_")
+    @ApiModelProperty(value = "更新时间")
+    private Date updateTime;  //更新时间
+
+
+	public VideoLessonGroup setId(Long id) {
+	    this.id = id;
+	    return this;
+	}
+
+	public Long getId() {
+	    return this.id;
+	}
+	public VideoLessonGroup setLessonName(String lessonName) {
+	    this.lessonName = lessonName;
+	    return this;
+	}
+
+	public String getLessonName() {
+	    return this.lessonName;
+	}
+	public VideoLessonGroup setLessonSubject(String lessonSubject) {
+	    this.lessonSubject = lessonSubject;
+	    return this;
+	}
+
+	public String getLessonSubject() {
+	    return this.lessonSubject;
+	}
+	public VideoLessonGroup setLessonDesc(String lessonDesc) {
+	    this.lessonDesc = lessonDesc;
+	    return this;
+	}
+
+	public String getLessonDesc() {
+	    return this.lessonDesc;
+	}
+	public VideoLessonGroup setLessonPrice(Integer lessonPrice) {
+	    this.lessonPrice = lessonPrice;
+	    return this;
+	}
+
+	public Integer getLessonPrice() {
+	    return this.lessonPrice;
+	}
+	public VideoLessonGroup setLessonCoverUrl(String lessonCoverUrl) {
+	    this.lessonCoverUrl = lessonCoverUrl;
+	    return this;
+	}
+
+	public String getLessonCoverUrl() {
+	    return this.lessonCoverUrl;
+	}
+	public VideoLessonGroup setTeacherId(Long teacherId) {
+	    this.teacherId = teacherId;
+	    return this;
+	}
+
+	public Long getTeacherId() {
+	    return this.teacherId;
+	}
+	public VideoLessonGroup setLessonCount(Integer lessonCount) {
+	    this.lessonCount = lessonCount;
+	    return this;
+	}
+
+	public Integer getLessonCount() {
+	    return this.lessonCount;
+	}
+	public VideoLessonGroup setSortNumber(Integer sortNumber) {
+	    this.sortNumber = sortNumber;
+	    return this;
+	}
+
+	public Integer getSortNumber() {
+	    return this.sortNumber;
+	}
+	public VideoLessonGroup setLessonTag(String lessonTag) {
+	    this.lessonTag = lessonTag;
+	    return this;
+	}
+
+	public String getLessonTag() {
+	    return this.lessonTag;
+	}
+	public VideoLessonGroup setTopFlag(Integer topFlag) {
+	    this.topFlag = topFlag;
+	    return this;
+	}
+
+	public Integer getTopFlag() {
+	    return this.topFlag;
+	}
+	public VideoLessonGroup setHotFlag(Integer hotFlag) {
+	    this.hotFlag = hotFlag;
+	    return this;
+	}
+
+	public Integer getHotFlag() {
+	    return this.hotFlag;
+	}
+	public VideoLessonGroup setAuditStatus(Integer auditStatus) {
+	    this.auditStatus = auditStatus;
+	    return this;
+	}
+
+	public Integer getAuditStatus() {
+	    return this.auditStatus;
+	}
+	public VideoLessonGroup setCreateTime(Date createTime) {
+	    this.createTime = createTime;
+	    return this;
+	}
+
+	public Date getCreateTime() {
+	    return this.createTime;
+	}
+	public VideoLessonGroup setUpdateTime(Date updateTime) {
+	    this.updateTime = updateTime;
+	    return this;
+	}
+
+	public Date getUpdateTime() {
+	    return this.updateTime;
+	}
+
+	public int pageNo;
+    public int pageSize;
+    public String search;
+
+    public String getSearch() {
+        return search;
+    }
+
+    public void setSearch(String search) {
+        this.search = search;
+    }
+
+    public int getPageNo() {
+        return pageNo;
+    }
+
+    public void setPageNo(int pageNo) {
+        this.pageNo = pageNo;
+    }
+
+    public int getPageSize() {
+        return pageSize;
+    }
+
+    public void setPageSize(int pageSize) {
+        this.pageSize = pageSize;
     }
 
     @Override
     public String toString() {
-        return "VideoLessonGroup{" +
-				"id=" + id +
-						",lessonName='" + lessonName + "'" + 
-						",lessonSubject='" + lessonSubject + "'" + 
-						",lessonDesc='" + lessonDesc + "'" + 
-						",lessonPrice='" + lessonPrice + "'" + 
-						",lessonCoverUrl='" + lessonCoverUrl + "'" + 
-						",teacherId='" + teacherId + "'" + 
-						",lessonCount='" + lessonCount + "'" + 
-						",sortNumber='" + sortNumber + "'" + 
-						",lessonTag='" + lessonTag + "'" + 
-						",topFlag='" + topFlag + "'" + 
-						",hotFlag='" + hotFlag + "'" + 
-						",auditStatus='" + auditStatus + "'" + 
-						",createTime='" + createTime + "'" + 
-						",updateTime='" + updateTime + "'" + 
-		                '}';
+        return ToStringBuilder.reflectionToString(this);
     }
-	
+
 }

+ 185 - 195
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/VideoLessonGroupDetail.java

@@ -1,210 +1,200 @@
 package com.yonge.cooleshow.biz.dal.entity;
 
-import com.baomidou.mybatisplus.annotation.*;
+import com.yonge.cooleshow.common.entity.BaseEntity;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
-
-import java.io.Serializable;
+import org.apache.commons.lang3.builder.ToStringBuilder;
 import java.util.Date;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import org.springframework.format.annotation.DateTimeFormat;
 
 /**
  * 视频课明细表
- */
-@TableName("video_lesson_group_detail")
-@ApiModel(value = "VideoLessonGroupDetail对象", description = "视频课明细表")
-public class VideoLessonGroupDetail implements Serializable {
-	private static final long serialVersionUID = 1L;
-    /** 
-    * 主键 
-    */
-    @ApiModelProperty("主键 ")
-    @TableId(value = "id_", type = IdType.AUTO)
-    private Long id;
-    /** 
-    * 课程组ID 
-    */
-    @ApiModelProperty("课程组ID ")
-	@TableField(value = "video_lesson_group_id_")
-    private Long videoLessonGroupId;
-    /** 
-    * 视频标题 
-    */
-    @ApiModelProperty("视频标题 ")
-	@TableField(value = "video_title_")
-    private String videoTitle;
-    /** 
-    * 视频内容 
-    */
-    @ApiModelProperty("视频内容 ")
-	@TableField(value = "video_content_")
-    private String videoContent;
-    /** 
-    * 视频文件URL 
-    */
-    @ApiModelProperty("视频文件URL ")
-	@TableField(value = "video_url_")
-    private String videoUrl;
-    /** 
-    * 视频封面图片URL 
-    */
-    @ApiModelProperty("视频封面图片URL ")
-	@TableField(value = "cover_url_")
-    private String coverUrl;
-    /** 
-    * 是否收费(1:收费;0:免费) 
-    */
-    @ApiModelProperty("是否收费(1:收费;0:免费) ")
-	@TableField(value = "charge_flag_")
-    private Byte chargeFlag;
-    /** 
-    * 排序号 
-    */
-    @ApiModelProperty("排序号 ")
-	@TableField(value = "sort_number_")
-    private Integer sortNumber;
-    /** 
-    * 创建人(老师ID) 
-    */
-    @ApiModelProperty("创建人(老师ID) ")
-	@TableField(value = "teacher_id_")
-    private Long teacherId;
-    /** 
-    * 创建时间 
-    */
-    @ApiModelProperty("创建时间 ")
-	@TableField(value = "create_time_")
-    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
-    private Date createTime;
-    /** 
-    * 更新人 
-    */
-    @ApiModelProperty("更新人 ")
-	@TableField(value = "update_by_")
-    private Long updateBy;
-    /** 
-    * 更新时间 
-    */
-    @ApiModelProperty("更新时间 ")
-	@TableField(value = "update_time_")
-    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
-    private Date updateTime;
-
-    public Long getId() {
-        return id;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
-
-    public Long getVideoLessonGroupId() {
-        return videoLessonGroupId;
-    }
-
-    public void setVideoLessonGroupId(Long videoLessonGroupId) {
-        this.videoLessonGroupId = videoLessonGroupId;
-    }
-
-    public String getVideoTitle() {
-        return videoTitle;
-    }
-
-    public void setVideoTitle(String videoTitle) {
-        this.videoTitle = videoTitle;
-    }
-
-    public String getVideoContent() {
-        return videoContent;
-    }
-
-    public void setVideoContent(String videoContent) {
-        this.videoContent = videoContent;
-    }
-
-    public String getVideoUrl() {
-        return videoUrl;
-    }
-
-    public void setVideoUrl(String videoUrl) {
-        this.videoUrl = videoUrl;
-    }
-
-    public String getCoverUrl() {
-        return coverUrl;
-    }
-
-    public void setCoverUrl(String coverUrl) {
-        this.coverUrl = coverUrl;
-    }
+ * @author yzp
+ * @date 2022-03-22 17:55:57
+ * @version v1.0
+ **/
+@ApiModel(value = "video_lesson_group_detail-视频课明细表")
+public class VideoLessonGroupDetail extends BaseEntity {
 
-    public Byte getChargeFlag() {
-        return chargeFlag;
-    }
-
-    public void setChargeFlag(Byte chargeFlag) {
-        this.chargeFlag = chargeFlag;
-    }
-
-    public Integer getSortNumber() {
-        return sortNumber;
-    }
-
-    public void setSortNumber(Integer sortNumber) {
-        this.sortNumber = sortNumber;
-    }
-
-    public Long getTeacherId() {
-        return teacherId;
-    }
-
-    public void setTeacherId(Long teacherId) {
-        this.teacherId = teacherId;
-    }
-
-    public Date getCreateTime() {
-        return createTime;
-    }
-
-    public void setCreateTime(Date createTime) {
-        this.createTime = createTime;
-    }
-
-    public Long getUpdateBy() {
-        return updateBy;
-    }
-
-    public void setUpdateBy(Long updateBy) {
-        this.updateBy = updateBy;
-    }
-
-    public Date getUpdateTime() {
-        return updateTime;
-    }
-
-    public void setUpdateTime(Date updateTime) {
-        this.updateTime = updateTime;
+    @TableId(value = "id_", type = IdType.AUTO)
+    @ApiModelProperty(value = "主键id")
+    private Long id;  //主键ID
+
+    @TableField("video_lesson_group_id_")
+    @ApiModelProperty(value = "课程组ID")
+    private Long videoLessonGroupId;  //课程组ID
+
+    @TableField("video_title_")
+    @ApiModelProperty(value = "视频标题")
+    private String videoTitle;  //视频标题
+
+    @TableField("video_content_")
+    @ApiModelProperty(value = "视频内容")
+    private String videoContent;  //视频内容
+
+    @TableField("video_url_")
+    @ApiModelProperty(value = "视频文件URL")
+    private String videoUrl;  //视频文件URL
+
+    @TableField("cover_url_")
+    @ApiModelProperty(value = "视频封面图片URL")
+    private String coverUrl;  //视频封面图片URL
+
+    @TableField("charge_flag_")
+    @ApiModelProperty(value = "是否收费(1:收费;0:免费)")
+    private Integer chargeFlag;  //是否收费(1:收费;0:免费)
+
+    @TableField("sort_number_")
+    @ApiModelProperty(value = "排序号")
+    private Integer sortNumber;  //排序号
+
+    @TableField("teacher_id_")
+    @ApiModelProperty(value = "创建人(老师ID)")
+    private Long teacherId;  //创建人(老师ID)
+
+    @TableField("create_time_")
+    @ApiModelProperty(value = "创建时间")
+    private Date createTime;  //创建时间
+
+    @TableField("update_by_")
+    @ApiModelProperty(value = "更新人")
+    private Long updateBy;  //更新人
+
+    @TableField("update_time_")
+    @ApiModelProperty(value = "更新时间")
+    private Date updateTime;  //更新时间
+
+
+	public VideoLessonGroupDetail setId(Long id) {
+	    this.id = id;
+	    return this;
+	}
+
+	public Long getId() {
+	    return this.id;
+	}
+	public VideoLessonGroupDetail setVideoLessonGroupId(Long videoLessonGroupId) {
+	    this.videoLessonGroupId = videoLessonGroupId;
+	    return this;
+	}
+
+	public Long getVideoLessonGroupId() {
+	    return this.videoLessonGroupId;
+	}
+	public VideoLessonGroupDetail setVideoTitle(String videoTitle) {
+	    this.videoTitle = videoTitle;
+	    return this;
+	}
+
+	public String getVideoTitle() {
+	    return this.videoTitle;
+	}
+	public VideoLessonGroupDetail setVideoContent(String videoContent) {
+	    this.videoContent = videoContent;
+	    return this;
+	}
+
+	public String getVideoContent() {
+	    return this.videoContent;
+	}
+	public VideoLessonGroupDetail setVideoUrl(String videoUrl) {
+	    this.videoUrl = videoUrl;
+	    return this;
+	}
+
+	public String getVideoUrl() {
+	    return this.videoUrl;
+	}
+	public VideoLessonGroupDetail setCoverUrl(String coverUrl) {
+	    this.coverUrl = coverUrl;
+	    return this;
+	}
+
+	public String getCoverUrl() {
+	    return this.coverUrl;
+	}
+	public VideoLessonGroupDetail setChargeFlag(Integer chargeFlag) {
+	    this.chargeFlag = chargeFlag;
+	    return this;
+	}
+
+	public Integer getChargeFlag() {
+	    return this.chargeFlag;
+	}
+	public VideoLessonGroupDetail setSortNumber(Integer sortNumber) {
+	    this.sortNumber = sortNumber;
+	    return this;
+	}
+
+	public Integer getSortNumber() {
+	    return this.sortNumber;
+	}
+	public VideoLessonGroupDetail setTeacherId(Long teacherId) {
+	    this.teacherId = teacherId;
+	    return this;
+	}
+
+	public Long getTeacherId() {
+	    return this.teacherId;
+	}
+	public VideoLessonGroupDetail setCreateTime(Date createTime) {
+	    this.createTime = createTime;
+	    return this;
+	}
+
+	public Date getCreateTime() {
+	    return this.createTime;
+	}
+	public VideoLessonGroupDetail setUpdateBy(Long updateBy) {
+	    this.updateBy = updateBy;
+	    return this;
+	}
+
+	public Long getUpdateBy() {
+	    return this.updateBy;
+	}
+	public VideoLessonGroupDetail setUpdateTime(Date updateTime) {
+	    this.updateTime = updateTime;
+	    return this;
+	}
+
+	public Date getUpdateTime() {
+	    return this.updateTime;
+	}
+
+	public int pageNo;
+    public int pageSize;
+    public String search;
+
+    public String getSearch() {
+        return search;
+    }
+
+    public void setSearch(String search) {
+        this.search = search;
+    }
+
+    public int getPageNo() {
+        return pageNo;
+    }
+
+    public void setPageNo(int pageNo) {
+        this.pageNo = pageNo;
+    }
+
+    public int getPageSize() {
+        return pageSize;
+    }
+
+    public void setPageSize(int pageSize) {
+        this.pageSize = pageSize;
     }
 
     @Override
     public String toString() {
-        return "VideoLessonGroupDetail{" +
-				"id=" + id +
-						",videoLessonGroupId='" + videoLessonGroupId + "'" + 
-						",videoTitle='" + videoTitle + "'" + 
-						",videoContent='" + videoContent + "'" + 
-						",videoUrl='" + videoUrl + "'" + 
-						",coverUrl='" + coverUrl + "'" + 
-						",chargeFlag='" + chargeFlag + "'" + 
-						",sortNumber='" + sortNumber + "'" + 
-						",teacherId='" + teacherId + "'" + 
-						",createTime='" + createTime + "'" + 
-						",updateBy='" + updateBy + "'" + 
-						",updateTime='" + updateTime + "'" + 
-		                '}';
+        return ToStringBuilder.reflectionToString(this);
     }
-	
+
 }

+ 115 - 109
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/VideoLessonPurchaseRecord.java

@@ -1,134 +1,140 @@
 package com.yonge.cooleshow.biz.dal.entity;
 
-import com.baomidou.mybatisplus.annotation.*;
+import com.yonge.cooleshow.common.entity.BaseEntity;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
-
-import java.io.Serializable;
+import org.apache.commons.lang3.builder.ToStringBuilder;
 import java.util.Date;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import org.springframework.format.annotation.DateTimeFormat;
-import java.math.BigDecimal;
 
 /**
  * 视频课购买记录表
- */
-@TableName("video_lesson_purchase_record")
-@ApiModel(value = "VideoLessonPurchaseRecord对象", description = "视频课购买记录表")
-public class VideoLessonPurchaseRecord implements Serializable {
-	private static final long serialVersionUID = 1L;
-    /** 
-    * 主键 
-    */
-    @ApiModelProperty("主键 ")
-    @TableId(value = "id_", type = IdType.AUTO)
-    private Long id;
-    /** 
-    * 视频课组ID 
-    */
-    @ApiModelProperty("视频课组ID ")
-	@TableField(value = "video_lesson_group_id_")
-    private Long videoLessonGroupId;
-    /** 
-    * 学生ID 
-    */
-    @ApiModelProperty("学生ID ")
-	@TableField(value = "student_id_")
-    private Long studentId;
-    /** 
-    * 购买时间 
-    */
-    @ApiModelProperty("购买时间 ")
-	@TableField(value = "purchase_time_")
-    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
-    private Date purchaseTime;
-    /** 
-    * 支付金额 
-    */
-    @ApiModelProperty("支付金额 ")
-	@TableField(value = "pay_money_")
-    private BigDecimal payMoney;
-    /** 
-    * 订单流水号 
-    */
-    @ApiModelProperty("订单流水号 ")
-	@TableField(value = "order_no_")
-    private String orderNo;
-    /** 
-    * 订单状态(1:已完成;0:取消) 
-    */
-    @ApiModelProperty("订单状态(1:已完成;0:取消) ")
-	@TableField(value = "order_status_")
-    private Byte orderStatus;
-
-    public Long getId() {
-        return id;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
+ * @author yzp
+ * @date 2022-03-22 17:55:57
+ * @version v1.0
+ **/
+@ApiModel(value = "video_lesson_purchase_record-视频课购买记录表")
+public class VideoLessonPurchaseRecord extends BaseEntity {
 
-    public Long getVideoLessonGroupId() {
-        return videoLessonGroupId;
-    }
-
-    public void setVideoLessonGroupId(Long videoLessonGroupId) {
-        this.videoLessonGroupId = videoLessonGroupId;
-    }
-
-    public Long getStudentId() {
-        return studentId;
-    }
-
-    public void setStudentId(Long studentId) {
-        this.studentId = studentId;
-    }
-
-    public Date getPurchaseTime() {
-        return purchaseTime;
-    }
-
-    public void setPurchaseTime(Date purchaseTime) {
-        this.purchaseTime = purchaseTime;
-    }
-
-    public BigDecimal getPayMoney() {
-        return payMoney;
+    @TableId(value = "id_", type = IdType.AUTO)
+    @ApiModelProperty(value = "主键id")
+    private Long id;  //主键ID
+
+    @TableField("video_lesson_group_id_")
+    @ApiModelProperty(value = "视频课组ID")
+    private Long videoLessonGroupId;  //视频课组ID
+
+    @TableField("student_id_")
+    @ApiModelProperty(value = "学生ID")
+    private Long studentId;  //学生ID
+
+    @TableField("purchase_time_")
+    @ApiModelProperty(value = "购买时间")
+    private Date purchaseTime;  //购买时间
+
+    @TableField("pay_money_")
+    @ApiModelProperty(value = "支付金额")
+    private java.math.BigDecimal payMoney;  //支付金额
+
+    @TableField("order_no_")
+    @ApiModelProperty(value = "订单流水号")
+    private String orderNo;  //订单流水号
+
+    @TableField("order_status_")
+    @ApiModelProperty(value = "订单状态(1:已完成;0:取消)")
+    private Integer orderStatus;  //订单状态(1:已完成;0:取消)
+
+
+	public VideoLessonPurchaseRecord setId(Long id) {
+	    this.id = id;
+	    return this;
+	}
+
+	public Long getId() {
+	    return this.id;
+	}
+	public VideoLessonPurchaseRecord setVideoLessonGroupId(Long videoLessonGroupId) {
+	    this.videoLessonGroupId = videoLessonGroupId;
+	    return this;
+	}
+
+	public Long getVideoLessonGroupId() {
+	    return this.videoLessonGroupId;
+	}
+	public VideoLessonPurchaseRecord setStudentId(Long studentId) {
+	    this.studentId = studentId;
+	    return this;
+	}
+
+	public Long getStudentId() {
+	    return this.studentId;
+	}
+	public VideoLessonPurchaseRecord setPurchaseTime(Date purchaseTime) {
+	    this.purchaseTime = purchaseTime;
+	    return this;
+	}
+
+	public Date getPurchaseTime() {
+	    return this.purchaseTime;
+	}
+	public VideoLessonPurchaseRecord setPayMoney(java.math.BigDecimal payMoney) {
+	    this.payMoney = payMoney;
+	    return this;
+	}
+
+	public java.math.BigDecimal getPayMoney() {
+	    return this.payMoney;
+	}
+	public VideoLessonPurchaseRecord setOrderNo(String orderNo) {
+	    this.orderNo = orderNo;
+	    return this;
+	}
+
+	public String getOrderNo() {
+	    return this.orderNo;
+	}
+	public VideoLessonPurchaseRecord setOrderStatus(Integer orderStatus) {
+	    this.orderStatus = orderStatus;
+	    return this;
+	}
+
+	public Integer getOrderStatus() {
+	    return this.orderStatus;
+	}
+
+	public int pageNo;
+    public int pageSize;
+    public String search;
+
+    public String getSearch() {
+        return search;
     }
 
-    public void setPayMoney(BigDecimal payMoney) {
-        this.payMoney = payMoney;
+    public void setSearch(String search) {
+        this.search = search;
     }
 
-    public String getOrderNo() {
-        return orderNo;
+    public int getPageNo() {
+        return pageNo;
     }
 
-    public void setOrderNo(String orderNo) {
-        this.orderNo = orderNo;
+    public void setPageNo(int pageNo) {
+        this.pageNo = pageNo;
     }
 
-    public Byte getOrderStatus() {
-        return orderStatus;
+    public int getPageSize() {
+        return pageSize;
     }
 
-    public void setOrderStatus(Byte orderStatus) {
-        this.orderStatus = orderStatus;
+    public void setPageSize(int pageSize) {
+        this.pageSize = pageSize;
     }
 
     @Override
     public String toString() {
-        return "VideoLessonPurchaseRecord{" +
-				"id=" + id +
-						",videoLessonGroupId='" + videoLessonGroupId + "'" + 
-						",studentId='" + studentId + "'" + 
-						",purchaseTime='" + purchaseTime + "'" + 
-						",payMoney='" + payMoney + "'" + 
-						",orderNo='" + orderNo + "'" + 
-						",orderStatus='" + orderStatus + "'" + 
-		                '}';
+        return ToStringBuilder.reflectionToString(this);
     }
-	
+
 }

+ 115 - 110
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/VideoLessonStudyRecord.java

@@ -1,135 +1,140 @@
 package com.yonge.cooleshow.biz.dal.entity;
 
-import com.baomidou.mybatisplus.annotation.*;
+import com.yonge.cooleshow.common.entity.BaseEntity;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
-
-import java.io.Serializable;
+import org.apache.commons.lang3.builder.ToStringBuilder;
 import java.util.Date;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import org.springframework.format.annotation.DateTimeFormat;
 
 /**
  * 视频课学习记录表
- */
-@TableName("video_lesson_study_record")
-@ApiModel(value = "VideoLessonStudyRecord对象", description = "视频课学习记录表")
-public class VideoLessonStudyRecord implements Serializable {
-	private static final long serialVersionUID = 1L;
-    /** 
-    * 主键 
-    */
-    @ApiModelProperty("主键 ")
-    @TableId(value = "id_", type = IdType.AUTO)
-    private Long id;
-    /** 
-    * 视频课组ID 
-    */
-    @ApiModelProperty("视频课组ID ")
-	@TableField(value = "video_lesson_group_id_")
-    private Long videoLessonGroupId;
-    /** 
-    * 视频ID 
-    */
-    @ApiModelProperty("视频ID ")
-	@TableField(value = "video_id_")
-    private Long videoId;
-    /** 
-    * 学生ID 
-    */
-    @ApiModelProperty("学生ID ")
-	@TableField(value = "student_id_")
-    private Long studentId;
-    /** 
-    * 是否学完(1:是;0:否) 
-    */
-    @ApiModelProperty("是否学完(1:是;0:否) ")
-	@TableField(value = "finish_flag_")
-    private Byte finishFlag;
-    /** 
-    * 学习开始时间 
-    */
-    @ApiModelProperty("学习开始时间 ")
-	@TableField(value = "start_time_")
-    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
-    private Date startTime;
-    /** 
-    * 学习完成时间 
-    */
-    @ApiModelProperty("学习完成时间 ")
-	@TableField(value = "finish_time_")
-    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
-    private Date finishTime;
-
-    public Long getId() {
-        return id;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
+ * @author yzp
+ * @date 2022-03-22 17:55:57
+ * @version v1.0
+ **/
+@ApiModel(value = "video_lesson_study_record-视频课学习记录表")
+public class VideoLessonStudyRecord extends BaseEntity {
 
-    public Long getVideoLessonGroupId() {
-        return videoLessonGroupId;
-    }
-
-    public void setVideoLessonGroupId(Long videoLessonGroupId) {
-        this.videoLessonGroupId = videoLessonGroupId;
-    }
-
-    public Long getVideoId() {
-        return videoId;
-    }
-
-    public void setVideoId(Long videoId) {
-        this.videoId = videoId;
-    }
-
-    public Long getStudentId() {
-        return studentId;
-    }
-
-    public void setStudentId(Long studentId) {
-        this.studentId = studentId;
-    }
-
-    public Byte getFinishFlag() {
-        return finishFlag;
+    @TableId(value = "id_", type = IdType.AUTO)
+    @ApiModelProperty(value = "主键id")
+    private Long id;  //主键ID
+
+    @TableField("video_lesson_group_id_")
+    @ApiModelProperty(value = "视频课组ID")
+    private Long videoLessonGroupId;  //视频课组ID
+
+    @TableField("video_id_")
+    @ApiModelProperty(value = "视频ID")
+    private Long videoId;  //视频ID
+
+    @TableField("student_id_")
+    @ApiModelProperty(value = "学生ID")
+    private Long studentId;  //学生ID
+
+    @TableField("finish_flag_")
+    @ApiModelProperty(value = "是否学完(1:是;0:否)")
+    private Integer finishFlag;  //是否学完(1:是;0:否)
+
+    @TableField("start_time_")
+    @ApiModelProperty(value = "学习开始时间")
+    private Date startTime;  //学习开始时间
+
+    @TableField("finish_time_")
+    @ApiModelProperty(value = "学习完成时间")
+    private Date finishTime;  //学习完成时间
+
+
+	public VideoLessonStudyRecord setId(Long id) {
+	    this.id = id;
+	    return this;
+	}
+
+	public Long getId() {
+	    return this.id;
+	}
+	public VideoLessonStudyRecord setVideoLessonGroupId(Long videoLessonGroupId) {
+	    this.videoLessonGroupId = videoLessonGroupId;
+	    return this;
+	}
+
+	public Long getVideoLessonGroupId() {
+	    return this.videoLessonGroupId;
+	}
+	public VideoLessonStudyRecord setVideoId(Long videoId) {
+	    this.videoId = videoId;
+	    return this;
+	}
+
+	public Long getVideoId() {
+	    return this.videoId;
+	}
+	public VideoLessonStudyRecord setStudentId(Long studentId) {
+	    this.studentId = studentId;
+	    return this;
+	}
+
+	public Long getStudentId() {
+	    return this.studentId;
+	}
+	public VideoLessonStudyRecord setFinishFlag(Integer finishFlag) {
+	    this.finishFlag = finishFlag;
+	    return this;
+	}
+
+	public Integer getFinishFlag() {
+	    return this.finishFlag;
+	}
+	public VideoLessonStudyRecord setStartTime(Date startTime) {
+	    this.startTime = startTime;
+	    return this;
+	}
+
+	public Date getStartTime() {
+	    return this.startTime;
+	}
+	public VideoLessonStudyRecord setFinishTime(Date finishTime) {
+	    this.finishTime = finishTime;
+	    return this;
+	}
+
+	public Date getFinishTime() {
+	    return this.finishTime;
+	}
+
+	public int pageNo;
+    public int pageSize;
+    public String search;
+
+    public String getSearch() {
+        return search;
     }
 
-    public void setFinishFlag(Byte finishFlag) {
-        this.finishFlag = finishFlag;
+    public void setSearch(String search) {
+        this.search = search;
     }
 
-    public Date getStartTime() {
-        return startTime;
+    public int getPageNo() {
+        return pageNo;
     }
 
-    public void setStartTime(Date startTime) {
-        this.startTime = startTime;
+    public void setPageNo(int pageNo) {
+        this.pageNo = pageNo;
     }
 
-    public Date getFinishTime() {
-        return finishTime;
+    public int getPageSize() {
+        return pageSize;
     }
 
-    public void setFinishTime(Date finishTime) {
-        this.finishTime = finishTime;
+    public void setPageSize(int pageSize) {
+        this.pageSize = pageSize;
     }
 
     @Override
     public String toString() {
-        return "VideoLessonStudyRecord{" +
-				"id=" + id +
-						",videoLessonGroupId='" + videoLessonGroupId + "'" + 
-						",videoId='" + videoId + "'" + 
-						",studentId='" + studentId + "'" + 
-						",finishFlag='" + finishFlag + "'" + 
-						",startTime='" + startTime + "'" + 
-						",finishTime='" + finishTime + "'" + 
-		                '}';
+        return ToStringBuilder.reflectionToString(this);
     }
-	
+
 }

+ 6 - 13
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/AlbumFavoriteService.java

@@ -1,21 +1,14 @@
 package com.yonge.cooleshow.biz.dal.service;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.service.IService;
 import com.yonge.cooleshow.biz.dal.entity.AlbumFavorite;
+import com.yonge.cooleshow.common.service.BaseService;
 
 /**
- * 专辑收藏表 服务类
+ * AlbumFavoriteService服务类
  * @author yzp
- * @date 2022-03-18
- */
-public interface AlbumFavoriteService extends IService<AlbumFavorite>  {
+ * @date 2022-03-22 16:07:40
+ * @version v1.0
+ **/
+public interface AlbumFavoriteService extends BaseService<Long,AlbumFavorite> {
 
-
-    /**
-     * 自定义分页
-     * @author yzp
- 	 * @date 2022-03-18
-     */
-    IPage<AlbumFavorite> selectPage(IPage<AlbumFavorite> page, AlbumFavorite albumFavorite);
 }

+ 6 - 13
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/AlbumMusicRelateService.java

@@ -1,21 +1,14 @@
 package com.yonge.cooleshow.biz.dal.service;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.service.IService;
 import com.yonge.cooleshow.biz.dal.entity.AlbumMusicRelate;
+import com.yonge.cooleshow.common.service.BaseService;
 
 /**
- * 专辑曲谱关联表 服务类
+ * AlbumMusicRelateService服务类
  * @author yzp
- * @date 2022-03-18
- */
-public interface AlbumMusicRelateService extends IService<AlbumMusicRelate>  {
+ * @date 2022-03-22 16:07:40
+ * @version v1.0
+ **/
+public interface AlbumMusicRelateService extends BaseService<Long,AlbumMusicRelate> {
 
-
-    /**
-     * 自定义分页
-     * @author yzp
- 	 * @date 2022-03-18
-     */
-    IPage<AlbumMusicRelate> selectPage(IPage<AlbumMusicRelate> page, AlbumMusicRelate albumMusicRelate);
 }

+ 50 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/ImGroupMemberService.java

@@ -0,0 +1,50 @@
+package com.yonge.cooleshow.biz.dal.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.yonge.cooleshow.biz.dal.dao.ImGroupMemberDao;
+import com.yonge.cooleshow.biz.dal.entity.ImGroupMember;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+/**
+ * 群成员表(ImGroupMember)表服务接口
+ *
+ * @author zx
+ * @since 2022-03-22 10:45:58
+ */
+public interface ImGroupMemberService extends IService<ImGroupMember> {
+
+    ImGroupMemberDao getDao();
+
+    /**
+    * @description: 添加群成员
+     * @param imGroupMembers
+    * @return void
+    * @author zx
+    * @date 2022/3/22 14:02
+    */
+    void insertBatch(List<ImGroupMember> imGroupMembers);
+
+    /**
+    * @description: 添加群成员
+     * @param imGroupId
+     * @param userId
+     * @param isAdmin
+     * @param roleType
+    * @return void
+    * @author zx
+    * @date 2022/3/22 15:59
+    */
+    void addGroupMember(Long imGroupId, Long userId, Boolean isAdmin, ImGroupMember.ImGroupMemberRoleType roleType);
+
+    /**
+    * @description: 删除群成员
+     * @param groupId
+    * @return void
+    * @author zx
+    * @date 2022/3/22 16:21
+    */
+    void delByGroupId(Long groupId);
+}
+

+ 17 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/ImGroupNoticeService.java

@@ -0,0 +1,17 @@
+package com.yonge.cooleshow.biz.dal.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.yonge.cooleshow.biz.dal.dao.ImGroupNoticeDao;
+import com.yonge.cooleshow.biz.dal.entity.ImGroupNotice;
+
+/**
+ * 群公告(ImGroupNotice)表服务接口
+ *
+ * @author zx
+ * @since 2022-03-22 10:45:59
+ */
+public interface ImGroupNoticeService extends IService<ImGroupNotice> {
+
+    ImGroupNoticeDao getDao();
+}
+

+ 34 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/ImGroupService.java

@@ -0,0 +1,34 @@
+package com.yonge.cooleshow.biz.dal.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.yonge.cooleshow.biz.dal.dao.ImGroupDao;
+import com.yonge.cooleshow.biz.dal.dto.ImGroupDto;
+import com.yonge.cooleshow.biz.dal.entity.ImGroup;
+
+/**
+ * 即时通讯群组(ImGroup)表服务接口
+ *
+ * @author zx
+ * @since 2022-03-22 10:45:57
+ */
+public interface ImGroupService extends IService<ImGroup> {
+
+    ImGroupDao getDao();
+
+    /**
+    * @description: 创建群聊
+     * @param imGroup
+    * @author zx
+    * @date 2022/3/22 11:17
+    */
+    void create(ImGroupDto imGroup) throws Exception;
+
+    /**
+    * @description: 关闭群聊、解散
+     * @param groupId
+    * @author zx
+    * @date 2022/3/22 11:17
+    */
+    void dismiss(Long groupId) throws Exception;
+}
+

+ 17 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/ImUserFriendService.java

@@ -0,0 +1,17 @@
+package com.yonge.cooleshow.biz.dal.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.yonge.cooleshow.biz.dal.dao.ImUserFriendDao;
+import com.yonge.cooleshow.biz.dal.entity.ImUserFriend;
+
+/**
+ * 用户通讯录表(ImUserFriend)表服务接口
+ *
+ * @author zx
+ * @since 2022-03-22 10:46:00
+ */
+public interface ImUserFriendService extends IService<ImUserFriend> {
+
+    ImUserFriendDao getDao();
+}
+

+ 6 - 13
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/MusicAlbumService.java

@@ -1,21 +1,14 @@
 package com.yonge.cooleshow.biz.dal.service;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.service.IService;
 import com.yonge.cooleshow.biz.dal.entity.MusicAlbum;
+import com.yonge.cooleshow.common.service.BaseService;
 
 /**
- * 专辑表 服务类
+ * MusicAlbumService服务类
  * @author yzp
- * @date 2022-03-18
- */
-public interface MusicAlbumService extends IService<MusicAlbum>  {
+ * @date 2022-03-22 16:07:40
+ * @version v1.0
+ **/
+public interface MusicAlbumService extends BaseService<Long,MusicAlbum> {
 
-
-    /**
-     * 自定义分页
-     * @author yzp
- 	 * @date 2022-03-18
-     */
-    IPage<MusicAlbum> selectPage(IPage<MusicAlbum> page, MusicAlbum musicAlbum);
 }

+ 6 - 13
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/MusicFavoriteService.java

@@ -1,21 +1,14 @@
 package com.yonge.cooleshow.biz.dal.service;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.service.IService;
 import com.yonge.cooleshow.biz.dal.entity.MusicFavorite;
+import com.yonge.cooleshow.common.service.BaseService;
 
 /**
- * 乐谱收藏表 服务类
+ * MusicFavoriteService服务类
  * @author yzp
- * @date 2022-03-18
- */
-public interface MusicFavoriteService extends IService<MusicFavorite>  {
+ * @date 2022-03-22 16:07:40
+ * @version v1.0
+ **/
+public interface MusicFavoriteService extends BaseService<Long,MusicFavorite> {
 
-
-    /**
-     * 自定义分页
-     * @author yzp
- 	 * @date 2022-03-18
-     */
-    IPage<MusicFavorite> selectPage(IPage<MusicFavorite> page, MusicFavorite musicFavorite);
 }

+ 6 - 13
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/MusicSheetAccompanimentService.java

@@ -1,21 +1,14 @@
 package com.yonge.cooleshow.biz.dal.service;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.service.IService;
 import com.yonge.cooleshow.biz.dal.entity.MusicSheetAccompaniment;
+import com.yonge.cooleshow.common.service.BaseService;
 
 /**
- * 曲谱伴奏表 服务类
+ * MusicSheetAccompanimentService服务类
  * @author yzp
- * @date 2022-03-18
- */
-public interface MusicSheetAccompanimentService extends IService<MusicSheetAccompaniment>  {
+ * @date 2022-03-22 16:07:40
+ * @version v1.0
+ **/
+public interface MusicSheetAccompanimentService extends BaseService<Long,MusicSheetAccompaniment> {
 
-
-    /**
-     * 自定义分页
-     * @author yzp
- 	 * @date 2022-03-18
-     */
-    IPage<MusicSheetAccompaniment> selectPage(IPage<MusicSheetAccompaniment> page, MusicSheetAccompaniment musicSheetAccompaniment);
 }

+ 6 - 13
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/MusicSheetPurchaseRecordService.java

@@ -1,21 +1,14 @@
 package com.yonge.cooleshow.biz.dal.service;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.service.IService;
 import com.yonge.cooleshow.biz.dal.entity.MusicSheetPurchaseRecord;
+import com.yonge.cooleshow.common.service.BaseService;
 
 /**
- * 曲谱购买记录表 服务类
+ * MusicSheetPurchaseRecordService服务类
  * @author yzp
- * @date 2022-03-18
- */
-public interface MusicSheetPurchaseRecordService extends IService<MusicSheetPurchaseRecord>  {
+ * @date 2022-03-22 16:07:40
+ * @version v1.0
+ **/
+public interface MusicSheetPurchaseRecordService extends BaseService<Long,MusicSheetPurchaseRecord> {
 
-
-    /**
-     * 自定义分页
-     * @author yzp
- 	 * @date 2022-03-18
-     */
-    IPage<MusicSheetPurchaseRecord> selectPage(IPage<MusicSheetPurchaseRecord> page, MusicSheetPurchaseRecord musicSheetPurchaseRecord);
 }

+ 6 - 13
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/MusicSheetService.java

@@ -1,21 +1,14 @@
 package com.yonge.cooleshow.biz.dal.service;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.service.IService;
 import com.yonge.cooleshow.biz.dal.entity.MusicSheet;
+import com.yonge.cooleshow.common.service.BaseService;
 
 /**
- * 曲谱表 服务类
+ * MusicSheetService服务类
  * @author yzp
- * @date 2022-03-18
- */
-public interface MusicSheetService extends IService<MusicSheet>  {
+ * @date 2022-03-22 16:07:40
+ * @version v1.0
+ **/
+public interface MusicSheetService extends BaseService<Long,MusicSheet> {
 
-
-    /**
-     * 自定义分页
-     * @author yzp
- 	 * @date 2022-03-18
-     */
-    IPage<MusicSheet> selectPage(IPage<MusicSheet> page, MusicSheet musicSheet);
 }

+ 6 - 13
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/VideoLessonEvaluateService.java

@@ -1,21 +1,14 @@
 package com.yonge.cooleshow.biz.dal.service;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.service.IService;
 import com.yonge.cooleshow.biz.dal.entity.VideoLessonEvaluate;
+import com.yonge.cooleshow.common.service.BaseService;
 
 /**
- * 视频课学员评价 服务类
+ * VideoLessonEvaluateService服务类
  * @author yzp
- * @date 2022-03-18
- */
-public interface VideoLessonEvaluateService extends IService<VideoLessonEvaluate>  {
+ * @date 2022-03-22 16:07:40
+ * @version v1.0
+ **/
+public interface VideoLessonEvaluateService extends BaseService<Long,VideoLessonEvaluate> {
 
-
-    /**
-     * 自定义分页
-     * @author yzp
- 	 * @date 2022-03-18
-     */
-    IPage<VideoLessonEvaluate> selectPage(IPage<VideoLessonEvaluate> page, VideoLessonEvaluate videoLessonEvaluate);
 }

+ 6 - 13
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/VideoLessonGroupDetailService.java

@@ -1,21 +1,14 @@
 package com.yonge.cooleshow.biz.dal.service;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.service.IService;
 import com.yonge.cooleshow.biz.dal.entity.VideoLessonGroupDetail;
+import com.yonge.cooleshow.common.service.BaseService;
 
 /**
- * 视频课明细表 服务类
+ * VideoLessonGroupDetailService服务类
  * @author yzp
- * @date 2022-03-18
- */
-public interface VideoLessonGroupDetailService extends IService<VideoLessonGroupDetail>  {
+ * @date 2022-03-22 16:07:41
+ * @version v1.0
+ **/
+public interface VideoLessonGroupDetailService extends BaseService<Long,VideoLessonGroupDetail> {
 
-
-    /**
-     * 自定义分页
-     * @author yzp
- 	 * @date 2022-03-18
-     */
-    IPage<VideoLessonGroupDetail> selectPage(IPage<VideoLessonGroupDetail> page, VideoLessonGroupDetail videoLessonGroupDetail);
 }

+ 6 - 13
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/VideoLessonGroupService.java

@@ -1,21 +1,14 @@
 package com.yonge.cooleshow.biz.dal.service;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.service.IService;
 import com.yonge.cooleshow.biz.dal.entity.VideoLessonGroup;
+import com.yonge.cooleshow.common.service.BaseService;
 
 /**
- * 视频课基本信息表 服务类
+ * VideoLessonGroupService服务类
  * @author yzp
- * @date 2022-03-18
- */
-public interface VideoLessonGroupService extends IService<VideoLessonGroup>  {
+ * @date 2022-03-22 16:07:40
+ * @version v1.0
+ **/
+public interface VideoLessonGroupService extends BaseService<Long,VideoLessonGroup> {
 
-
-    /**
-     * 自定义分页
-     * @author yzp
- 	 * @date 2022-03-18
-     */
-    IPage<VideoLessonGroup> selectPage(IPage<VideoLessonGroup> page, VideoLessonGroup videoLessonGroup);
 }

+ 6 - 13
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/VideoLessonPurchaseRecordService.java

@@ -1,21 +1,14 @@
 package com.yonge.cooleshow.biz.dal.service;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.service.IService;
 import com.yonge.cooleshow.biz.dal.entity.VideoLessonPurchaseRecord;
+import com.yonge.cooleshow.common.service.BaseService;
 
 /**
- * 视频课购买记录表 服务类
+ * VideoLessonPurchaseRecordService服务类
  * @author yzp
- * @date 2022-03-18
- */
-public interface VideoLessonPurchaseRecordService extends IService<VideoLessonPurchaseRecord>  {
+ * @date 2022-03-22 16:07:41
+ * @version v1.0
+ **/
+public interface VideoLessonPurchaseRecordService extends BaseService<Long,VideoLessonPurchaseRecord> {
 
-
-    /**
-     * 自定义分页
-     * @author yzp
- 	 * @date 2022-03-18
-     */
-    IPage<VideoLessonPurchaseRecord> selectPage(IPage<VideoLessonPurchaseRecord> page, VideoLessonPurchaseRecord videoLessonPurchaseRecord);
 }

+ 6 - 13
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/VideoLessonStudyRecordService.java

@@ -1,21 +1,14 @@
 package com.yonge.cooleshow.biz.dal.service;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.service.IService;
 import com.yonge.cooleshow.biz.dal.entity.VideoLessonStudyRecord;
+import com.yonge.cooleshow.common.service.BaseService;
 
 /**
- * 视频课学习记录表 服务类
+ * VideoLessonStudyRecordService服务类
  * @author yzp
- * @date 2022-03-18
- */
-public interface VideoLessonStudyRecordService extends IService<VideoLessonStudyRecord>  {
+ * @date 2022-03-22 16:07:41
+ * @version v1.0
+ **/
+public interface VideoLessonStudyRecordService extends BaseService<Long,VideoLessonStudyRecord> {
 
-
-    /**
-     * 自定义分页
-     * @author yzp
- 	 * @date 2022-03-18
-     */
-    IPage<VideoLessonStudyRecord> selectPage(IPage<VideoLessonStudyRecord> page, VideoLessonStudyRecord videoLessonStudyRecord);
 }

+ 15 - 12
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/AlbumFavoriteServiceImpl.java

@@ -1,22 +1,25 @@
 package com.yonge.cooleshow.biz.dal.service.impl;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
 import com.yonge.cooleshow.biz.dal.entity.AlbumFavorite;
 import com.yonge.cooleshow.biz.dal.dao.AlbumFavoriteDao;
 import com.yonge.cooleshow.biz.dal.service.AlbumFavoriteService;
+import org.springframework.stereotype.Service;
+import org.springframework.beans.factory.annotation.Autowired;
+import com.yonge.cooleshow.common.service.impl.BaseServiceImpl;
 
-
+/**
+ * AlbumFavoriteService服务实现类
+ * @author yzp
+ * @date 2022-03-22 16:13:50
+ * @version v1.0
+ **/
 @Service
-public class AlbumFavoriteServiceImpl extends ServiceImpl<AlbumFavoriteDao, AlbumFavorite> implements AlbumFavoriteService {
+public class AlbumFavoriteServiceImpl extends BaseServiceImpl<Long,AlbumFavorite> implements AlbumFavoriteService {
+    @Autowired
+    private AlbumFavoriteDao albumFavoriteDao;
 
-    /**
-     * 分页查询
-     */
-     @Override
-    public IPage<AlbumFavorite> selectPage(IPage<AlbumFavorite> page, AlbumFavorite albumFavorite){
-        return page.setRecords(baseMapper.selectPage(page, albumFavorite));
+    @Override
+    public BaseDAO<Long, AlbumFavorite> getDAO() {
+        return albumFavoriteDao;
     }
-	
 }

+ 15 - 12
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/AlbumMusicRelateServiceImpl.java

@@ -1,22 +1,25 @@
 package com.yonge.cooleshow.biz.dal.service.impl;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
 import com.yonge.cooleshow.biz.dal.entity.AlbumMusicRelate;
 import com.yonge.cooleshow.biz.dal.dao.AlbumMusicRelateDao;
 import com.yonge.cooleshow.biz.dal.service.AlbumMusicRelateService;
+import org.springframework.stereotype.Service;
+import org.springframework.beans.factory.annotation.Autowired;
+import com.yonge.cooleshow.common.service.impl.BaseServiceImpl;
 
-
+/**
+ * AlbumMusicRelateService服务实现类
+ * @author yzp
+ * @date 2022-03-22 16:13:50
+ * @version v1.0
+ **/
 @Service
-public class AlbumMusicRelateServiceImpl extends ServiceImpl<AlbumMusicRelateDao, AlbumMusicRelate> implements AlbumMusicRelateService {
+public class AlbumMusicRelateServiceImpl extends BaseServiceImpl<Long,AlbumMusicRelate> implements AlbumMusicRelateService {
+    @Autowired
+    private AlbumMusicRelateDao albumMusicRelateDao;
 
-    /**
-     * 分页查询
-     */
-     @Override
-    public IPage<AlbumMusicRelate> selectPage(IPage<AlbumMusicRelate> page, AlbumMusicRelate albumMusicRelate){
-        return page.setRecords(baseMapper.selectPage(page, albumMusicRelate));
+    @Override
+    public BaseDAO<Long, AlbumMusicRelate> getDAO() {
+        return albumMusicRelateDao;
     }
-	
 }

+ 65 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ImGroupMemberServiceImpl.java

@@ -0,0 +1,65 @@
+package com.yonge.cooleshow.biz.dal.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.yonge.cooleshow.biz.dal.dao.ImGroupMemberDao;
+import com.yonge.cooleshow.biz.dal.dao.TeacherDao;
+import com.yonge.cooleshow.biz.dal.dto.BasicUserInfo;
+import com.yonge.cooleshow.biz.dal.entity.ImGroupMember;
+import com.yonge.cooleshow.biz.dal.service.ImGroupMemberService;
+import com.yonge.cooleshow.common.exception.BizException;
+import org.apache.commons.collections.CollectionUtils;
+import org.springframework.stereotype.Service;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Set;
+
+/**
+ * 群成员表(ImGroupMember)表服务实现类
+ *
+ * @author zx
+ * @since 2022-03-22 10:45:58
+ */
+@Service("imGroupMemberService")
+public class ImGroupMemberServiceImpl extends ServiceImpl<ImGroupMemberDao, ImGroupMember> implements ImGroupMemberService {
+
+    private final static Logger log = LoggerFactory.getLogger(ImGroupMemberServiceImpl.class);
+
+    @Resource
+    private TeacherDao teacherDao;
+
+    @Override
+    public ImGroupMemberDao getDao() {
+        return this.baseMapper;
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void insertBatch(List<ImGroupMember> imGroupMembers) {
+        if(CollectionUtils.isEmpty(imGroupMembers)){
+            throw new BizException("群成员列表不可为空");
+        }
+        this.baseMapper.insertBatch(imGroupMembers);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void addGroupMember(Long imGroupId, Long userId, Boolean isAdmin, ImGroupMember.ImGroupMemberRoleType roleType){
+        List<ImGroupMember> imGroupMembers = new ArrayList<>();
+        BasicUserInfo basicUserInfo = teacherDao.getBasicUserInfo(userId);
+        imGroupMembers.add(new ImGroupMember(imGroupId,userId,basicUserInfo.getRealName(),isAdmin,roleType));
+        this.baseMapper.insertBatch(imGroupMembers);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void delByGroupId(Long groupId) {
+        this.baseMapper.delByGroupId(groupId);
+    }
+}
+

+ 29 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ImGroupNoticeServiceImpl.java

@@ -0,0 +1,29 @@
+package com.yonge.cooleshow.biz.dal.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.yonge.cooleshow.biz.dal.dao.ImGroupNoticeDao;
+import com.yonge.cooleshow.biz.dal.entity.ImGroupNotice;
+import com.yonge.cooleshow.biz.dal.service.ImGroupNoticeService;
+import org.springframework.stereotype.Service;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * 群公告(ImGroupNotice)表服务实现类
+ *
+ * @author zx
+ * @since 2022-03-22 10:45:59
+ */
+@Service("imGroupNoticeService")
+public class ImGroupNoticeServiceImpl extends ServiceImpl<ImGroupNoticeDao, ImGroupNotice> implements ImGroupNoticeService {
+
+    private final static Logger log = LoggerFactory.getLogger(ImGroupNoticeServiceImpl.class);
+
+    @Override
+    public ImGroupNoticeDao getDao() {
+        return this.baseMapper;
+    }
+
+}
+

+ 105 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ImGroupServiceImpl.java

@@ -0,0 +1,105 @@
+package com.yonge.cooleshow.biz.dal.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.yonge.cooleshow.biz.dal.config.RongCloudConfig;
+import com.yonge.cooleshow.biz.dal.dao.ImGroupDao;
+import com.yonge.cooleshow.biz.dal.dto.ImGroupDto;
+import com.yonge.cooleshow.biz.dal.entity.ImGroup;
+import com.yonge.cooleshow.biz.dal.entity.ImGroupMember;
+import com.yonge.cooleshow.biz.dal.service.ImGroupMemberService;
+import com.yonge.cooleshow.biz.dal.service.ImGroupService;
+import com.yonge.cooleshow.common.exception.BizException;
+import io.rong.models.Result;
+import io.rong.models.group.GroupMember;
+import io.rong.models.group.GroupModel;
+import org.apache.commons.collections.CollectionUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.util.*;
+
+/**
+ * 即时通讯群组(ImGroup)表服务实现类
+ *
+ * @author zx
+ * @since 2022-03-22 10:45:57
+ */
+@Service("imGroupService")
+public class ImGroupServiceImpl extends ServiceImpl<ImGroupDao, ImGroup> implements ImGroupService {
+
+    private final static Logger log = LoggerFactory.getLogger(ImGroupServiceImpl.class);
+
+    @Resource
+    private ImGroupMemberService imGroupMemberService;
+
+    @Override
+    public ImGroupDao getDao() {
+        return this.baseMapper;
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void create(ImGroupDto imGroup) throws Exception {
+        Set<Long> groupMemberIdList = imGroup.getGroupMemberList();
+        if(CollectionUtils.isNotEmpty(groupMemberIdList)){
+            groupMemberIdList.removeAll(Collections.singleton(null));
+        }
+        if (CollectionUtils.isEmpty(groupMemberIdList)){
+            throw new BizException("群成员不可为空");
+        }
+        //创建本地群聊
+        Date now = new Date();
+        imGroup.setType(ImGroup.ImGroupType.FAN);
+        imGroup.setMemberNum(1);
+        imGroup.setCreateTime(now);
+        imGroup.setUpdateTime(now);
+        this.baseMapper.insert(imGroup);
+        Long imGroupId = imGroup.getId();
+        //创建融云群
+        this.rtcCreate(groupMemberIdList,imGroupId,imGroup.getName());
+        //创建成功,添加群成员
+        imGroupMemberService.addGroupMember(imGroupId,imGroup.getCreateBy(),true,ImGroupMember.ImGroupMemberRoleType.TEACHER);
+    }
+
+    //创建融云群
+    private void rtcCreate(Set<Long> groupMemberIdList,Long imGroupId,String imGroupName) throws Exception {
+        List<GroupMember> groupMemberList = new ArrayList<>();
+        for (Long userId : groupMemberIdList) {
+            groupMemberList.add(new GroupMember(userId.toString(),imGroupId.toString(),null));
+        }
+        //创建融云群
+        GroupMember[] groupMembers = groupMemberList.toArray(new GroupMember[groupMemberList.size()]);
+        GroupModel groupModel = new GroupModel(imGroupId.toString(),0);
+        groupModel.setMembers(groupMembers);
+        groupModel.setName(imGroupName);
+        Result result = RongCloudConfig.rongCloud.group.create(groupModel);
+        if(!result.code.equals(200)){
+            log.error("创建群聊失败:{}",result.errorMessage);
+            throw new BizException("创建群聊失败,请联系管理员");
+        }
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void dismiss(Long groupId) throws Exception {
+        ImGroup imGroup = this.baseMapper.selectById(groupId);
+        if(Objects.isNull(imGroup)){
+            throw new BizException("操作失败:群组不存在");
+        }
+        //解散融云群
+        GroupModel groupModel = new GroupModel(groupId.toString(),0);
+        Result result = RongCloudConfig.rongCloud.group.dismiss(groupModel);
+        if(!result.code.equals(200)){
+            log.error("解散群聊失败:{}",result.errorMessage);
+            throw new BizException("解散群聊失败,请联系管理员");
+        }
+        //销毁成功,删除群
+        this.baseMapper.deleteById(groupId);
+        //删除群成员
+        imGroupMemberService.delByGroupId(groupId);
+    }
+}
+

+ 29 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ImUserFriendServiceImpl.java

@@ -0,0 +1,29 @@
+package com.yonge.cooleshow.biz.dal.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.yonge.cooleshow.biz.dal.dao.ImUserFriendDao;
+import com.yonge.cooleshow.biz.dal.entity.ImUserFriend;
+import com.yonge.cooleshow.biz.dal.service.ImUserFriendService;
+import org.springframework.stereotype.Service;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * 用户通讯录表(ImUserFriend)表服务实现类
+ *
+ * @author zx
+ * @since 2022-03-22 10:46:00
+ */
+@Service("imUserFriendService")
+public class ImUserFriendServiceImpl extends ServiceImpl<ImUserFriendDao, ImUserFriend> implements ImUserFriendService {
+
+    private final static Logger log = LoggerFactory.getLogger(ImUserFriendServiceImpl.class);
+
+    @Override
+    public ImUserFriendDao getDao() {
+        return this.baseMapper;
+    }
+
+}
+

+ 15 - 12
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/MusicAlbumServiceImpl.java

@@ -1,22 +1,25 @@
 package com.yonge.cooleshow.biz.dal.service.impl;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
 import com.yonge.cooleshow.biz.dal.entity.MusicAlbum;
 import com.yonge.cooleshow.biz.dal.dao.MusicAlbumDao;
 import com.yonge.cooleshow.biz.dal.service.MusicAlbumService;
+import org.springframework.stereotype.Service;
+import org.springframework.beans.factory.annotation.Autowired;
+import com.yonge.cooleshow.common.service.impl.BaseServiceImpl;
 
-
+/**
+ * MusicAlbumService服务实现类
+ * @author yzp
+ * @date 2022-03-22 16:13:50
+ * @version v1.0
+ **/
 @Service
-public class MusicAlbumServiceImpl extends ServiceImpl<MusicAlbumDao, MusicAlbum> implements MusicAlbumService {
+public class MusicAlbumServiceImpl extends BaseServiceImpl<Long,MusicAlbum> implements MusicAlbumService {
+    @Autowired
+    private MusicAlbumDao musicAlbumDao;
 
-    /**
-     * 分页查询
-     */
-     @Override
-    public IPage<MusicAlbum> selectPage(IPage<MusicAlbum> page, MusicAlbum musicAlbum){
-        return page.setRecords(baseMapper.selectPage(page, musicAlbum));
+    @Override
+    public BaseDAO<Long, MusicAlbum> getDAO() {
+        return musicAlbumDao;
     }
-	
 }

+ 15 - 12
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/MusicFavoriteServiceImpl.java

@@ -1,22 +1,25 @@
 package com.yonge.cooleshow.biz.dal.service.impl;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
 import com.yonge.cooleshow.biz.dal.entity.MusicFavorite;
 import com.yonge.cooleshow.biz.dal.dao.MusicFavoriteDao;
 import com.yonge.cooleshow.biz.dal.service.MusicFavoriteService;
+import org.springframework.stereotype.Service;
+import org.springframework.beans.factory.annotation.Autowired;
+import com.yonge.cooleshow.common.service.impl.BaseServiceImpl;
 
-
+/**
+ * MusicFavoriteService服务实现类
+ * @author yzp
+ * @date 2022-03-22 16:13:50
+ * @version v1.0
+ **/
 @Service
-public class MusicFavoriteServiceImpl extends ServiceImpl<MusicFavoriteDao, MusicFavorite> implements MusicFavoriteService {
+public class MusicFavoriteServiceImpl extends BaseServiceImpl<Long,MusicFavorite> implements MusicFavoriteService {
+    @Autowired
+    private MusicFavoriteDao musicFavoriteDao;
 
-    /**
-     * 分页查询
-     */
-     @Override
-    public IPage<MusicFavorite> selectPage(IPage<MusicFavorite> page, MusicFavorite musicFavorite){
-        return page.setRecords(baseMapper.selectPage(page, musicFavorite));
+    @Override
+    public BaseDAO<Long, MusicFavorite> getDAO() {
+        return musicFavoriteDao;
     }
-	
 }

+ 15 - 12
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/MusicSheetAccompanimentServiceImpl.java

@@ -1,22 +1,25 @@
 package com.yonge.cooleshow.biz.dal.service.impl;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
 import com.yonge.cooleshow.biz.dal.entity.MusicSheetAccompaniment;
 import com.yonge.cooleshow.biz.dal.dao.MusicSheetAccompanimentDao;
 import com.yonge.cooleshow.biz.dal.service.MusicSheetAccompanimentService;
+import org.springframework.stereotype.Service;
+import org.springframework.beans.factory.annotation.Autowired;
+import com.yonge.cooleshow.common.service.impl.BaseServiceImpl;
 
-
+/**
+ * MusicSheetAccompanimentService服务实现类
+ * @author yzp
+ * @date 2022-03-22 16:13:51
+ * @version v1.0
+ **/
 @Service
-public class MusicSheetAccompanimentServiceImpl extends ServiceImpl<MusicSheetAccompanimentDao, MusicSheetAccompaniment> implements MusicSheetAccompanimentService {
+public class MusicSheetAccompanimentServiceImpl extends BaseServiceImpl<Long,MusicSheetAccompaniment> implements MusicSheetAccompanimentService {
+    @Autowired
+    private MusicSheetAccompanimentDao musicSheetAccompanimentDao;
 
-    /**
-     * 分页查询
-     */
-     @Override
-    public IPage<MusicSheetAccompaniment> selectPage(IPage<MusicSheetAccompaniment> page, MusicSheetAccompaniment musicSheetAccompaniment){
-        return page.setRecords(baseMapper.selectPage(page, musicSheetAccompaniment));
+    @Override
+    public BaseDAO<Long, MusicSheetAccompaniment> getDAO() {
+        return musicSheetAccompanimentDao;
     }
-	
 }

+ 15 - 12
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/MusicSheetPurchaseRecordServiceImpl.java

@@ -1,22 +1,25 @@
 package com.yonge.cooleshow.biz.dal.service.impl;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
 import com.yonge.cooleshow.biz.dal.entity.MusicSheetPurchaseRecord;
 import com.yonge.cooleshow.biz.dal.dao.MusicSheetPurchaseRecordDao;
 import com.yonge.cooleshow.biz.dal.service.MusicSheetPurchaseRecordService;
+import org.springframework.stereotype.Service;
+import org.springframework.beans.factory.annotation.Autowired;
+import com.yonge.cooleshow.common.service.impl.BaseServiceImpl;
 
-
+/**
+ * MusicSheetPurchaseRecordService服务实现类
+ * @author yzp
+ * @date 2022-03-22 16:13:51
+ * @version v1.0
+ **/
 @Service
-public class MusicSheetPurchaseRecordServiceImpl extends ServiceImpl<MusicSheetPurchaseRecordDao, MusicSheetPurchaseRecord> implements MusicSheetPurchaseRecordService {
+public class MusicSheetPurchaseRecordServiceImpl extends BaseServiceImpl<Long,MusicSheetPurchaseRecord> implements MusicSheetPurchaseRecordService {
+    @Autowired
+    private MusicSheetPurchaseRecordDao musicSheetPurchaseRecordDao;
 
-    /**
-     * 分页查询
-     */
-     @Override
-    public IPage<MusicSheetPurchaseRecord> selectPage(IPage<MusicSheetPurchaseRecord> page, MusicSheetPurchaseRecord musicSheetPurchaseRecord){
-        return page.setRecords(baseMapper.selectPage(page, musicSheetPurchaseRecord));
+    @Override
+    public BaseDAO<Long, MusicSheetPurchaseRecord> getDAO() {
+        return musicSheetPurchaseRecordDao;
     }
-	
 }

+ 15 - 12
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/MusicSheetServiceImpl.java

@@ -1,22 +1,25 @@
 package com.yonge.cooleshow.biz.dal.service.impl;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
 import com.yonge.cooleshow.biz.dal.entity.MusicSheet;
 import com.yonge.cooleshow.biz.dal.dao.MusicSheetDao;
 import com.yonge.cooleshow.biz.dal.service.MusicSheetService;
+import org.springframework.stereotype.Service;
+import org.springframework.beans.factory.annotation.Autowired;
+import com.yonge.cooleshow.common.service.impl.BaseServiceImpl;
 
-
+/**
+ * MusicSheetService服务实现类
+ * @author yzp
+ * @date 2022-03-22 16:13:50
+ * @version v1.0
+ **/
 @Service
-public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet> implements MusicSheetService {
+public class MusicSheetServiceImpl extends BaseServiceImpl<Long,MusicSheet> implements MusicSheetService {
+    @Autowired
+    private MusicSheetDao musicSheetDao;
 
-    /**
-     * 分页查询
-     */
-     @Override
-    public IPage<MusicSheet> selectPage(IPage<MusicSheet> page, MusicSheet musicSheet){
-        return page.setRecords(baseMapper.selectPage(page, musicSheet));
+    @Override
+    public BaseDAO<Long, MusicSheet> getDAO() {
+        return musicSheetDao;
     }
-	
 }

+ 15 - 12
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/VideoLessonEvaluateServiceImpl.java

@@ -1,22 +1,25 @@
 package com.yonge.cooleshow.biz.dal.service.impl;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
 import com.yonge.cooleshow.biz.dal.entity.VideoLessonEvaluate;
 import com.yonge.cooleshow.biz.dal.dao.VideoLessonEvaluateDao;
 import com.yonge.cooleshow.biz.dal.service.VideoLessonEvaluateService;
+import org.springframework.stereotype.Service;
+import org.springframework.beans.factory.annotation.Autowired;
+import com.yonge.cooleshow.common.service.impl.BaseServiceImpl;
 
-
+/**
+ * VideoLessonEvaluateService服务实现类
+ * @author yzp
+ * @date 2022-03-22 16:13:51
+ * @version v1.0
+ **/
 @Service
-public class VideoLessonEvaluateServiceImpl extends ServiceImpl<VideoLessonEvaluateDao, VideoLessonEvaluate> implements VideoLessonEvaluateService {
+public class VideoLessonEvaluateServiceImpl extends BaseServiceImpl<Long,VideoLessonEvaluate> implements VideoLessonEvaluateService {
+    @Autowired
+    private VideoLessonEvaluateDao videoLessonEvaluateDao;
 
-    /**
-     * 分页查询
-     */
-     @Override
-    public IPage<VideoLessonEvaluate> selectPage(IPage<VideoLessonEvaluate> page, VideoLessonEvaluate videoLessonEvaluate){
-        return page.setRecords(baseMapper.selectPage(page, videoLessonEvaluate));
+    @Override
+    public BaseDAO<Long, VideoLessonEvaluate> getDAO() {
+        return videoLessonEvaluateDao;
     }
-	
 }

+ 15 - 12
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/VideoLessonGroupDetailServiceImpl.java

@@ -1,22 +1,25 @@
 package com.yonge.cooleshow.biz.dal.service.impl;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
 import com.yonge.cooleshow.biz.dal.entity.VideoLessonGroupDetail;
 import com.yonge.cooleshow.biz.dal.dao.VideoLessonGroupDetailDao;
 import com.yonge.cooleshow.biz.dal.service.VideoLessonGroupDetailService;
+import org.springframework.stereotype.Service;
+import org.springframework.beans.factory.annotation.Autowired;
+import com.yonge.cooleshow.common.service.impl.BaseServiceImpl;
 
-
+/**
+ * VideoLessonGroupDetailService服务实现类
+ * @author yzp
+ * @date 2022-03-22 16:13:51
+ * @version v1.0
+ **/
 @Service
-public class VideoLessonGroupDetailServiceImpl extends ServiceImpl<VideoLessonGroupDetailDao, VideoLessonGroupDetail> implements VideoLessonGroupDetailService {
+public class VideoLessonGroupDetailServiceImpl extends BaseServiceImpl<Long,VideoLessonGroupDetail> implements VideoLessonGroupDetailService {
+    @Autowired
+    private VideoLessonGroupDetailDao videoLessonGroupDetailDao;
 
-    /**
-     * 分页查询
-     */
-     @Override
-    public IPage<VideoLessonGroupDetail> selectPage(IPage<VideoLessonGroupDetail> page, VideoLessonGroupDetail videoLessonGroupDetail){
-        return page.setRecords(baseMapper.selectPage(page, videoLessonGroupDetail));
+    @Override
+    public BaseDAO<Long, VideoLessonGroupDetail> getDAO() {
+        return videoLessonGroupDetailDao;
     }
-	
 }

+ 15 - 12
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/VideoLessonGroupServiceImpl.java

@@ -1,22 +1,25 @@
 package com.yonge.cooleshow.biz.dal.service.impl;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
 import com.yonge.cooleshow.biz.dal.entity.VideoLessonGroup;
 import com.yonge.cooleshow.biz.dal.dao.VideoLessonGroupDao;
 import com.yonge.cooleshow.biz.dal.service.VideoLessonGroupService;
+import org.springframework.stereotype.Service;
+import org.springframework.beans.factory.annotation.Autowired;
+import com.yonge.cooleshow.common.service.impl.BaseServiceImpl;
 
-
+/**
+ * VideoLessonGroupService服务实现类
+ * @author yzp
+ * @date 2022-03-22 16:13:51
+ * @version v1.0
+ **/
 @Service
-public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao, VideoLessonGroup> implements VideoLessonGroupService {
+public class VideoLessonGroupServiceImpl extends BaseServiceImpl<Long,VideoLessonGroup> implements VideoLessonGroupService {
+    @Autowired
+    private VideoLessonGroupDao videoLessonGroupDao;
 
-    /**
-     * 分页查询
-     */
-     @Override
-    public IPage<VideoLessonGroup> selectPage(IPage<VideoLessonGroup> page, VideoLessonGroup videoLessonGroup){
-        return page.setRecords(baseMapper.selectPage(page, videoLessonGroup));
+    @Override
+    public BaseDAO<Long, VideoLessonGroup> getDAO() {
+        return videoLessonGroupDao;
     }
-	
 }

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

@@ -1,22 +1,25 @@
 package com.yonge.cooleshow.biz.dal.service.impl;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
 import com.yonge.cooleshow.biz.dal.entity.VideoLessonPurchaseRecord;
 import com.yonge.cooleshow.biz.dal.dao.VideoLessonPurchaseRecordDao;
 import com.yonge.cooleshow.biz.dal.service.VideoLessonPurchaseRecordService;
+import org.springframework.stereotype.Service;
+import org.springframework.beans.factory.annotation.Autowired;
+import com.yonge.cooleshow.common.service.impl.BaseServiceImpl;
 
-
+/**
+ * VideoLessonPurchaseRecordService服务实现类
+ * @author yzp
+ * @date 2022-03-22 16:13:51
+ * @version v1.0
+ **/
 @Service
-public class VideoLessonPurchaseRecordServiceImpl extends ServiceImpl<VideoLessonPurchaseRecordDao, VideoLessonPurchaseRecord> implements VideoLessonPurchaseRecordService {
+public class VideoLessonPurchaseRecordServiceImpl extends BaseServiceImpl<Long,VideoLessonPurchaseRecord> implements VideoLessonPurchaseRecordService {
+    @Autowired
+    private VideoLessonPurchaseRecordDao videoLessonPurchaseRecordDao;
 
-    /**
-     * 分页查询
-     */
-     @Override
-    public IPage<VideoLessonPurchaseRecord> selectPage(IPage<VideoLessonPurchaseRecord> page, VideoLessonPurchaseRecord videoLessonPurchaseRecord){
-        return page.setRecords(baseMapper.selectPage(page, videoLessonPurchaseRecord));
+    @Override
+    public BaseDAO<Long, VideoLessonPurchaseRecord> getDAO() {
+        return videoLessonPurchaseRecordDao;
     }
-	
 }

+ 16 - 12
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/VideoLessonStudyRecordServiceImpl.java

@@ -1,22 +1,26 @@
 package com.yonge.cooleshow.biz.dal.service.impl;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
 import com.yonge.cooleshow.biz.dal.entity.VideoLessonStudyRecord;
 import com.yonge.cooleshow.biz.dal.dao.VideoLessonStudyRecordDao;
 import com.yonge.cooleshow.biz.dal.service.VideoLessonStudyRecordService;
+import com.yonge.cooleshow.common.dal.BaseDAO;
+import org.springframework.stereotype.Service;
+import org.springframework.beans.factory.annotation.Autowired;
+import com.yonge.cooleshow.common.service.impl.BaseServiceImpl;
 
-
+/**
+ * VideoLessonStudyRecordService服务实现类
+ * @author yzp
+ * @date 2022-03-22 16:13:51
+ * @version v1.0
+ **/
 @Service
-public class VideoLessonStudyRecordServiceImpl extends ServiceImpl<VideoLessonStudyRecordDao, VideoLessonStudyRecord> implements VideoLessonStudyRecordService {
+public class VideoLessonStudyRecordServiceImpl extends BaseServiceImpl<Long,VideoLessonStudyRecord> implements VideoLessonStudyRecordService {
+    @Autowired
+    private VideoLessonStudyRecordDao videoLessonStudyRecordDao;
 
-    /**
-     * 分页查询
-     */
-     @Override
-    public IPage<VideoLessonStudyRecord> selectPage(IPage<VideoLessonStudyRecord> page, VideoLessonStudyRecord videoLessonStudyRecord){
-        return page.setRecords(baseMapper.selectPage(page, videoLessonStudyRecord));
+    @Override
+    public BaseDAO<Long, VideoLessonStudyRecord> getDAO() {
+        return videoLessonStudyRecordDao;
     }
-	
 }

+ 279 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/support/HttpHelper.java

@@ -0,0 +1,279 @@
+package com.yonge.cooleshow.biz.dal.support;
+
+import com.yonge.cooleshow.biz.dal.config.IMProperties;
+import io.rong.util.CodeUtil;
+import io.rong.util.GsonUtil;
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.PostConstruct;
+import javax.net.ssl.HttpsURLConnection;
+import javax.net.ssl.SSLContext;
+import javax.net.ssl.TrustManager;
+import javax.net.ssl.X509TrustManager;
+import java.io.ByteArrayOutputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.*;
+import java.nio.charset.StandardCharsets;
+import java.security.cert.X509Certificate;
+import java.util.HashMap;
+import java.util.Map;
+
+@Component
+public class HttpHelper {
+    private final static Logger log = LoggerFactory.getLogger(HttpHelper.class);
+
+    private static final String APPKEY = "RC-App-Key";
+    private static final String NONCE = "RC-Nonce";
+    private static final String TIMESTAMP = "RC-Timestamp";
+    private static final String SIGNATURE = "RC-Signature";
+
+    private SSLContext sslCtx = null;
+
+    @Autowired
+    IMProperties imProperties;
+
+    @PostConstruct
+    private void init() {
+        log.info("init HttpHelper");
+        try {
+            sslCtx = SSLContext.getInstance("TLS");
+            X509TrustManager tm = new X509TrustManager() {
+                public void checkClientTrusted(X509Certificate[] xcs, String string) {
+                }
+
+                public void checkServerTrusted(X509Certificate[] xcs, String string) {
+                }
+
+                public X509Certificate[] getAcceptedIssuers() {
+                    return null;
+                }
+            };
+            sslCtx.init(null, new TrustManager[]{tm}, null);
+        } catch (Exception e) {
+            log.error("SSLContext exception:{}", e.getMessage());
+        }
+
+        HttpsURLConnection.setDefaultHostnameVerifier((arg0, arg1) -> true);
+
+        HttpsURLConnection.setDefaultSSLSocketFactory(sslCtx.getSocketFactory());
+    }
+
+    // 设置body体
+    public void setBodyParameter(StringBuilder sb, HttpURLConnection conn)
+            throws IOException {
+        String str = sb.toString();
+        log.info("Call server api with url: {}, data: {}", conn.getURL().toString(), str);
+        DataOutputStream out = new DataOutputStream(conn.getOutputStream());
+        out.writeBytes(str);
+        out.flush();
+        out.close();
+    }
+
+    public HttpURLConnection createGetHttpConnection(String uri)
+            throws MalformedURLException, IOException {
+        URL url = new URL(uri);
+        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
+        conn.setConnectTimeout(30000);
+        conn.setRequestMethod("GET");
+        return conn;
+    }
+
+    public void setBodyParameter(String str, HttpURLConnection conn) throws IOException {
+        log.info("Call IM server api with url: {}, data: {}", conn.getURL().toString(), str);
+        DataOutputStream out = new DataOutputStream(conn.getOutputStream());
+        out.write(str.getBytes(StandardCharsets.UTF_8));
+        out.flush();
+        out.close();
+    }
+
+    public HttpURLConnection createWhiteBoardPostHttpConnection(String host, String uri, String contentType)
+            throws MalformedURLException, IOException, ProtocolException {
+
+        URL url = new URL(host + uri);
+        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
+        setConn(conn, contentType);
+        return conn;
+    }
+
+    public HttpURLConnection createCommonPostHttpConnection(String host, String appKey,
+                                                            String appSecret, String uri, String contentType)
+            throws IOException {
+        HttpURLConnection conn = getHttpURLConnection(host, appKey, appSecret, uri, contentType);
+        if (conn == null) return null;
+
+        conn.setConnectTimeout(30000);
+        conn.setReadTimeout(30000);
+        conn.setRequestMethod("POST");
+        return conn;
+    }
+
+    public HttpURLConnection createCommonGetHttpConnection(String host, String appKey,
+                                                           String appSecret, String uri, String contentType) throws IOException {
+        HttpURLConnection conn = getHttpURLConnection(host, appKey, appSecret, uri, contentType);
+        if (conn == null) return null;
+
+        conn.setConnectTimeout(10000);
+        conn.setReadTimeout(10000);
+        conn.setRequestMethod("GET");
+        return conn;
+    }
+
+    private HttpURLConnection getHttpURLConnection(String host, String appKey, String appSecret, String uri, String contentType) throws IOException {
+        String nonce = String.valueOf(Math.random() * 1000000);
+        String timestamp = String.valueOf(System.currentTimeMillis() / 1000);
+        StringBuilder toSign = new StringBuilder(appSecret).append(nonce).append(timestamp);
+        String sign = CodeUtil.hexSHA1(toSign.toString());
+        uri = host + uri;
+        URL url = new URL(uri);
+        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
+        if (conn == null) {
+            log.info("open url connectin fail, url={}", uri);
+            return null;
+        }
+
+        conn.setUseCaches(false);
+        conn.setDoInput(true);
+        conn.setDoOutput(true);
+        conn.setInstanceFollowRedirects(true);
+        conn.setRequestProperty(APPKEY, appKey);
+        conn.setRequestProperty(NONCE, nonce);
+        conn.setRequestProperty(TIMESTAMP, timestamp);
+        conn.setRequestProperty(SIGNATURE, sign);
+        conn.setRequestProperty("Content-Type", contentType);
+        return conn;
+    }
+
+    public HttpURLConnection createIMGetHttpConnection(String uri, String contentType) throws IOException {
+        return createCommonGetHttpConnection(imProperties.getHost(),
+                imProperties.getAppKey(), imProperties.getSecret(), uri,
+                contentType);
+    }
+
+    public HttpURLConnection createIMPostHttpConnection(String uri, String contentType) throws IOException {
+        return createCommonPostHttpConnection(imProperties.getHost(),
+                imProperties.getAppKey(), imProperties.getSecret(), uri,
+                contentType);
+    }
+
+    public byte[] readInputStream(InputStream inStream) throws Exception {
+        ByteArrayOutputStream outStream = new ByteArrayOutputStream();
+        byte[] buffer = new byte[1024];
+        int len = 0;
+        while ((len = inStream.read(buffer)) != -1) {
+            outStream.write(buffer, 0, len);
+        }
+        byte[] data = outStream.toByteArray();
+        outStream.close();
+        inStream.close();
+        return data;
+    }
+
+    public String returnResult(HttpURLConnection conn) throws Exception {
+        InputStream input;
+        String result;
+        try {
+            if (conn.getResponseCode() == 200 || conn.getResponseCode() == 201) {
+                input = conn.getInputStream();
+            } else {
+                input = conn.getErrorStream();
+            }
+            result = new String(readInputStream(input), StandardCharsets.UTF_8);
+        } catch (UnknownHostException e) {
+            result = getExceptionMessage("request:" + conn.getURL() + " ,UnknownHostException:" + e.getMessage());
+        } catch (SocketTimeoutException e) {
+            result = getExceptionMessage("request:" + conn.getURL() + " ,SocketTimeoutException:" + e.getMessage());
+        } catch (IOException e) {
+            result = getExceptionMessage("request:" + conn.getURL() + " ,IOException:" + e.getMessage());
+        }
+        log.info("IM server api response:{}", result);
+        return result;
+    }
+
+    private static String getExceptionMessage(String error) {
+        Map<String, Object> result = new HashMap<>();
+        result.put("code", 400);
+        result.put("msg", error);
+        return GsonUtil.toJson(result);
+    }
+
+    public String returnResult(HttpURLConnection conn, String body) throws Exception, IOException {
+        InputStream input = null;
+        if (conn.getResponseCode() == 200) {
+            input = conn.getInputStream();
+        } else {
+            input = conn.getErrorStream();
+        }
+        String result = new String(readInputStream(input), "UTF-8");
+        log.info("IM server api response:{}, {}, {}", conn.getURL(), body, result);
+        return result;
+    }
+
+    public HttpURLConnection createPostHttpConnection(String uri, String contentType) throws IOException {
+        URL url = new URL(uri);
+        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
+        if (conn == null) {
+            log.info("open url connection fail, url={}", uri);
+            return null;
+        }
+        setConn(conn, contentType);
+        return conn;
+    }
+
+    private void setConn(HttpURLConnection conn, String contentType) throws ProtocolException {
+        conn.setUseCaches(false);
+        conn.setDoInput(true);
+        conn.setDoOutput(true);
+        conn.setRequestMethod("POST");
+        conn.setInstanceFollowRedirects(true);
+        conn.setConnectTimeout(30000);
+        conn.setReadTimeout(30000);
+        conn.setRequestProperty("Content-Type", contentType);
+    }
+
+    public HttpURLConnection createIMRtcPostHttpConnection(String uri, String contentType, String roomId)
+            throws IOException {
+        return createCommonRtcPostHttpConnection(imProperties.getRtcHost(),
+                imProperties.getAppKey(), imProperties.getSecret(), uri,
+                contentType, roomId);
+    }
+
+    public HttpURLConnection createCommonRtcPostHttpConnection(String host, String appKey,
+                                                               String appSecret, String uri, String contentType, String roomId)
+            throws IOException {
+        String nonce = String.valueOf(Math.random() * 1000000);
+        String timestamp = String.valueOf(System.currentTimeMillis() / 1000);
+        StringBuilder toSign = new StringBuilder(appSecret).append(nonce).append(timestamp);
+        String sign = CodeUtil.hexSHA1(toSign.toString());
+        uri = host + uri;
+        URL url = new URL(uri);
+        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
+        if (conn == null) {
+            log.info("open url connectin fail, url={}", uri);
+            return null;
+        }
+
+        conn.setUseCaches(false);
+        conn.setDoInput(true);
+        conn.setDoOutput(true);
+        conn.setRequestMethod("POST");
+        conn.setInstanceFollowRedirects(true);
+        conn.setConnectTimeout(30000);
+        conn.setReadTimeout(30000);
+
+        conn.setRequestProperty("App-Key", appKey);
+        conn.setRequestProperty("Nonce", nonce);
+        conn.setRequestProperty("Timestamp", timestamp);
+        conn.setRequestProperty("Signature", sign);
+        if (StringUtils.isNotEmpty(roomId)) {
+            conn.setRequestProperty("Room-Id", roomId);
+        }
+        conn.setRequestProperty("Content-Type", contentType);
+        return conn;
+    }
+}

+ 469 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/support/IMHelper.java

@@ -0,0 +1,469 @@
+package com.yonge.cooleshow.biz.dal.support;
+
+import com.alibaba.fastjson.JSON;
+import com.yonge.cooleshow.biz.dal.entity.BaseMessage;
+import com.yonge.cooleshow.biz.dal.entity.IMApiResultInfo;
+import com.yonge.cooleshow.biz.dal.entity.IMTokenInfo;
+import io.rong.util.GsonUtil;
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Async;
+import org.springframework.stereotype.Component;
+
+import java.net.HttpURLConnection;
+import java.net.URLEncoder;
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * Created by weiqinxiao on 2019/2/28.
+ */
+@Component
+public class IMHelper {
+
+    private final static Logger log = LoggerFactory.getLogger(IMHelper.class);
+
+    private static final String UTF8 = "UTF-8";
+
+    @Autowired
+    HttpHelper httpHelper;
+
+    /**
+     * 获取 Token 方法
+     *
+     * @param userId:用户        Id,最大长度 64 字节.是用户在 App 中的唯一标识码,必须保证在同一个 App 内不重复,重复的用户 Id 将被当作是同一用户。(必传)
+     * @param name:用户名称,最大长度   128 字节.用来在 Push 推送时显示用户的名称.用户名称,最大长度 128 字节.用来在 Push 推送时显示用户的名称。(必传)
+     * @param portraitUri:用户头像 URI,最大长度 1024 字节.用来在 Push 推送时显示用户的头像。(必传)
+     * @return TokenResult
+     **/
+    public IMTokenInfo getToken(String userId, String name, String portraitUri) throws Exception {
+        if (userId == null) {
+            throw new IllegalArgumentException("Paramer 'userId' is required");
+        }
+
+        if (name == null) {
+            throw new IllegalArgumentException("Paramer 'name' is required");
+        }
+
+        if (portraitUri == null) {
+            throw new IllegalArgumentException("Paramer 'portraitUri' is required");
+        }
+
+        StringBuilder sb = new StringBuilder();
+        sb.append("&userId=").append(URLEncoder.encode(userId, UTF8));
+        sb.append("&name=").append(URLEncoder.encode(name, UTF8));
+        sb.append("&portraitUri=").append(URLEncoder.encode(portraitUri, UTF8));
+        String body = sb.toString();
+        if (body.indexOf("&") == 0) {
+            body = body.substring(1);
+        }
+
+        HttpURLConnection conn = httpHelper.createIMPostHttpConnection("/user/getToken.json", "application/x-www-form-urlencoded");
+        httpHelper.setBodyParameter(body, conn);
+
+        return JSON.parseObject(httpHelper.returnResult(conn, body), IMTokenInfo.class);
+    }
+
+    /**
+     * 创建群组方法(创建群组,并将用户加入该群组,用户将可以收到该群的消息,同一用户最多可加入 500 个群,每个群最大至 3000 人,App
+     * 内的群组数量没有限制.注:其实本方法是加入群组方法 /group/join 的别名。)
+     *
+     * @param userId:要加入群的用户 Id。(必传)
+     * @param groupId:创建群组   Id。(必传)
+     * @param groupName:群组   Id 对应的名称。(必传)
+     * @return CodeSuccessResult
+     **/
+    public IMApiResultInfo createGroup(String[] userId, String groupId, String groupName)
+            throws Exception {
+        if (userId == null) {
+            throw new IllegalArgumentException("Paramer 'userId' is required");
+        }
+
+        if (groupId == null) {
+            throw new IllegalArgumentException("Paramer 'groupId' is required");
+        }
+
+        if (groupName == null) {
+            throw new IllegalArgumentException("Paramer 'groupName' is required");
+        }
+
+        StringBuilder sb = new StringBuilder();
+
+        for (int i = 0; i < userId.length; i++) {
+            String child = userId[i];
+            sb.append("&userId=").append(URLEncoder.encode(child, UTF8));
+        }
+
+        sb.append("&groupId=").append(URLEncoder.encode(groupId, UTF8));
+        sb.append("&groupName=").append(URLEncoder.encode(groupName, UTF8));
+        String body = sb.toString();
+        if (body.indexOf("&") == 0) {
+            body = body.substring(1);
+        }
+
+        HttpURLConnection conn = httpHelper
+                .createIMPostHttpConnection("/group/create.json", "application/x-www-form-urlencoded");
+        httpHelper.setBodyParameter(body, conn);
+
+        return JSON.parseObject(httpHelper.returnResult(conn, body), IMApiResultInfo.class);
+    }
+
+
+    /**
+     * 将用户加入指定群组,用户将可以收到该群的消息,同一用户最多可加入 500 个群,每个群最大至 3000 人。
+     *
+     * @param userId:要加入群的用户  Id,可提交多个,最多不超过 1000 个。(必传)
+     * @param groupId:要加入的群   Id。(必传)
+     * @param groupName:要加入的群 Id 对应的名称。(必传)
+     * @return CodeSuccessResult
+     **/
+    @Async
+    public IMApiResultInfo joinGroup(String[] userId, String groupId, String groupName)
+            throws Exception {
+        if (userId == null) {
+            throw new IllegalArgumentException("Paramer 'userId' is required");
+        }
+
+        if (groupId == null) {
+            throw new IllegalArgumentException("Paramer 'groupId' is required");
+        }
+
+        if (groupName == null) {
+            throw new IllegalArgumentException("Paramer 'groupName' is required");
+        }
+
+        StringBuilder sb = new StringBuilder();
+
+        for (int i = 0; i < userId.length; i++) {
+            String child = userId[i];
+            sb.append("&userId=").append(URLEncoder.encode(child, UTF8));
+        }
+
+        sb.append("&groupId=").append(URLEncoder.encode(groupId, UTF8));
+        sb.append("&groupName=").append(URLEncoder.encode(groupName, UTF8));
+        String body = sb.toString();
+        if (body.indexOf("&") == 0) {
+            body = body.substring(1);
+        }
+
+        HttpURLConnection conn = httpHelper
+                .createIMPostHttpConnection("/group/join.json", "application/x-www-form-urlencoded");
+        httpHelper.setBodyParameter(body, conn);
+
+        return JSON.parseObject(httpHelper.returnResult(conn, body), IMApiResultInfo.class);
+    }
+
+
+    /**
+     * 退出群组方法(将用户从群中移除,不再接收该群组的消息.)
+     *
+     * @param userId:要退出群的用户 Id.(必传)
+     * @param groupId:要退出的群  Id.(必传)
+     * @return CodeSuccessResult
+     **/
+    public IMApiResultInfo quit(String[] userId, String groupId) throws Exception {
+        if (userId == null) {
+            throw new IllegalArgumentException("Paramer 'userId' is required");
+        }
+
+        if (groupId == null) {
+            throw new IllegalArgumentException("Paramer 'groupId' is required");
+        }
+
+        StringBuilder sb = new StringBuilder();
+
+        for (int i = 0; i < userId.length; i++) {
+            String child = userId[i];
+            sb.append("&userId=").append(URLEncoder.encode(child, UTF8));
+        }
+
+        sb.append("&groupId=").append(URLEncoder.encode(groupId, UTF8));
+        String body = sb.toString();
+        if (body.indexOf("&") == 0) {
+            body = body.substring(1);
+        }
+
+        HttpURLConnection conn = httpHelper
+                .createIMPostHttpConnection("/group/quit.json", "application/x-www-form-urlencoded");
+        httpHelper.setBodyParameter(body, conn);
+
+        return JSON.parseObject(httpHelper.returnResult(conn, body), IMApiResultInfo.class);
+    }
+
+
+    /**
+     * 解散群组方法。(将该群解散,所有用户都无法再接收该群的消息。)
+     *
+     * @param userId:操作解散群的用户 Id。(必传)
+     * @param groupId:要解散的群   Id。(必传)
+     * @return CodeSuccessResult
+     **/
+    public IMApiResultInfo dismiss(String userId, String groupId) throws Exception {
+        if (userId == null) {
+            throw new IllegalArgumentException("Paramer 'userId' is required");
+        }
+
+        if (groupId == null) {
+            throw new IllegalArgumentException("Paramer 'groupId' is required");
+        }
+
+        StringBuilder sb = new StringBuilder();
+        sb.append("&userId=").append(URLEncoder.encode(userId, UTF8));
+        sb.append("&groupId=").append(URLEncoder.encode(groupId, UTF8));
+        String body = sb.toString();
+        if (body.indexOf("&") == 0) {
+            body = body.substring(1, body.length());
+        }
+
+        HttpURLConnection conn = httpHelper
+                .createIMPostHttpConnection("/group/dismiss.json", "application/x-www-form-urlencoded");
+        httpHelper.setBodyParameter(body, conn);
+
+        return JSON.parseObject(httpHelper.returnResult(conn, body), IMApiResultInfo.class);
+    }
+
+
+    /**
+     * 发送群组消息方法(以一个用户身份向群组发送消息,单条消息最大 128k.每秒钟最多发送 20 条消息,每次最多向 3 个群组发送,如:一次向 3 个群组发送消息,示为 3 条消息。)
+     *
+     * @param fromUserId:发送人用户                         Id 。(必传)
+     * @param toGroupId:接收群Id,提供多个本参数可以实现向多群发送消息,最多不超过 3 个群组。(必传)
+     * @return CodeSuccessResult
+     **/
+    public IMApiResultInfo publishMessage(String fromUserId, String toGroupId, BaseMessage message) throws Exception {
+        String[] toGroupIds = new String[1];
+        toGroupIds[0] = toGroupId;
+        return publishMessage(fromUserId, null, toGroupIds, message, "", "", 0,
+                0, 0, 0, 0);
+    }
+
+    public IMApiResultInfo publishMessage(String fromUserId, String toGroupId, BaseMessage message, Integer isIncludeSender) throws Exception {
+        String[] toGroupIds = new String[1];
+        toGroupIds[0] = toGroupId;
+        return publishMessage(fromUserId, null, toGroupIds, message, "", "", 0,
+                0, isIncludeSender, 0, 0);
+    }
+
+    //定向消息 toUserId 指向对应的人
+    public IMApiResultInfo publishMessage(String fromUserId, String toUserId, String toGroupId, BaseMessage message) throws Exception {
+        String[] toGroupIds = new String[1];
+        toGroupIds[0] = toGroupId;
+        return publishMessage(fromUserId, toUserId, toGroupIds, message, "", "", 0,
+                0, 0, 0, 0);
+    }
+
+    public IMApiResultInfo publishMessage(String fromUserId, String toUserId, String[] toGroupId,
+                                          BaseMessage message, String pushContent, String pushData, Integer isPersisted,
+                                          Integer isCounted, Integer isIncludeSender, Integer isStatus, Integer isMentioned)
+            throws Exception {
+        if (fromUserId == null) {
+            throw new IllegalArgumentException("Paramer 'fromUserId' is required");
+        }
+
+        if (toGroupId == null) {
+            throw new IllegalArgumentException("Paramer 'toGroupId' is required");
+        }
+
+        if (message == null) {
+            throw new IllegalArgumentException("Paramer 'message' is required");
+        }
+
+        StringBuilder sb = new StringBuilder();
+        sb.append("&fromUserId=").append(URLEncoder.encode(fromUserId, UTF8));
+
+        //定向消息
+        if (toUserId != null) {
+            sb.append("&toUserId=").append(URLEncoder.encode(toUserId, UTF8));
+        }
+
+        for (int i = 0; i < toGroupId.length; i++) {
+            String child = toGroupId[i];
+            sb.append("&toGroupId=").append(URLEncoder.encode(child, UTF8));
+        }
+
+        String msgStr = message.toString();
+        log.info("publish msg: {}", msgStr);
+        sb.append("&objectName=").append(URLEncoder.encode(message.getObjectName(), UTF8));
+        sb.append("&content=").append(URLEncoder.encode(msgStr, UTF8));
+
+        if (pushContent != null) {
+            sb.append("&pushContent=").append(URLEncoder.encode(pushContent, UTF8));
+        }
+
+        if (pushData != null) {
+            sb.append("&pushData=").append(URLEncoder.encode(pushData, UTF8));
+        }
+
+        if (isPersisted != null) {
+            sb.append("&isPersisted=").append(URLEncoder.encode(isPersisted.toString(), UTF8));
+        }
+
+        if (isCounted != null) {
+            sb.append("&isCounted=").append(URLEncoder.encode(isCounted.toString(), UTF8));
+        }
+
+        if (isIncludeSender != null) {
+            sb.append("&isIncludeSender=")
+                    .append(URLEncoder.encode(isIncludeSender.toString(), UTF8));
+        }
+
+        if (isMentioned != null) {
+            sb.append("&isMentioned=").append(URLEncoder.encode(isMentioned.toString(), UTF8));
+        }
+
+        String body = sb.toString();
+        if (body.indexOf("&") == 0) {
+            body = body.substring(1, body.length());
+        }
+
+        String url;
+        if (isStatus != null && isStatus.intValue() == 1) {
+            url = "/statusmessage/group/publish.json";
+        } else {
+            url = "/message/group/publish.json";
+        }
+
+        HttpURLConnection conn = httpHelper
+                .createIMPostHttpConnection(url, "application/x-www-form-urlencoded");
+        httpHelper.setBodyParameter(body, conn);
+
+        return JSON.parseObject(httpHelper.returnResult(conn, body), IMApiResultInfo.class);
+    }
+
+    /**
+     * 创建聊天室
+     *
+     * @param chatRoomId:   要创建的聊天室 Id,长度不超过 64 字节
+     * @param chatRoomName: 聊天室的名称,每次可创建多个聊天室。
+     * @return IMApiResultInfo
+     * @throws Exception
+     */
+    public IMApiResultInfo createChatRoom(String chatRoomId, String chatRoomName) throws Exception {
+        if (chatRoomId == null) {
+            throw new RuntimeException("房间Uid不能为空");
+        }
+
+        if (chatRoomName == null) {
+            throw new RuntimeException("房间名称不能为空");
+        }
+
+        StringBuilder sb = new StringBuilder();
+        chatRoomId = "[" + chatRoomId + "]";
+        sb.append("&chatroom").append(URLEncoder.encode(chatRoomId, UTF8));
+        sb.append("=");
+        sb.append(URLEncoder.encode(chatRoomName, UTF8));
+        String body = sb.toString();
+        if (body.indexOf("&") == 0) {
+            body = body.substring(1);
+        }
+
+        HttpURLConnection conn = httpHelper
+                .createIMPostHttpConnection("/chatroom/create.json", "application/x-www-form-urlencoded");
+        httpHelper.setBodyParameter(body, conn);
+
+        return (IMApiResultInfo) GsonUtil.fromJson(httpHelper.returnResult(conn), IMApiResultInfo.class);
+    }
+
+
+    /**
+     * 销毁聊天室
+     *
+     * @param chatroomIds 聊天室 ID 列表(必传)
+     * @return
+     */
+    public IMApiResultInfo deleteChrm(List<String> chatroomIds)
+            throws Exception {
+        if (chatroomIds == null) {
+            throw new RuntimeException("房间Uid不能为空");
+        }
+        StringBuilder sb = new StringBuilder();
+        for (String child : chatroomIds) {
+            sb.append("&chatroomId=").append(URLEncoder.encode(child, UTF8));
+        }
+        String body = sb.toString();
+        if (body.indexOf("&") == 0) {
+            body = body.substring(1);
+        }
+        HttpURLConnection conn = httpHelper.createIMPostHttpConnection("/chatroom/destroy.json", "application/x-www-form-urlencoded");
+        httpHelper.setBodyParameter(body, conn);
+
+        return (IMApiResultInfo) GsonUtil.fromJson(httpHelper.returnResult(conn), IMApiResultInfo.class);
+
+    }
+
+    /**
+     * 发送房间消息
+     *
+     * @param fromUserId   发送人id
+     * @param toChatroomId 房间uid
+     * @param message      发送的消息
+     */
+    public IMApiResultInfo publishRoomMessage(String fromUserId, String toChatroomId, BaseMessage message) throws Exception {
+        String[] toChatroomIds = new String[1];
+        toChatroomIds[0] = toChatroomId;
+        return publishRoomMessage(fromUserId, toChatroomIds, message);
+    }
+
+    public IMApiResultInfo publishRoomMessage(String fromUserId, String[] toChatroomIds, BaseMessage message) throws Exception {
+        if (StringUtils.isBlank(fromUserId)) {
+            throw new RuntimeException("发送人不能为空");
+        }
+        if (Objects.isNull(toChatroomIds)) {
+            throw new RuntimeException("房间Uid不能为空");
+        }
+        if (Objects.isNull(message)) {
+            throw new RuntimeException("消息不能为空");
+        }
+
+        StringBuilder sb = new StringBuilder();
+        sb.append("&fromUserId=").append(URLEncoder.encode(fromUserId, UTF8));
+
+        for (String child : toChatroomIds) {
+            sb.append("&toChatroomId=").append(URLEncoder.encode(child, UTF8));
+        }
+
+        String msgStr = GsonUtil.toJson(message);
+        log.info("publish msg: {}", msgStr);
+        sb.append("&objectName=").append(URLEncoder.encode(message.getObjectName(), UTF8));
+        sb.append("&content=").append(URLEncoder.encode(msgStr, UTF8));
+
+        String body = sb.toString();
+        if (body.indexOf("&") == 0) {
+            body = body.substring(1);
+        }
+
+        HttpURLConnection conn = httpHelper
+                .createIMPostHttpConnection("/message/chatroom/publish.json", "application/x-www-form-urlencoded");
+        httpHelper.setBodyParameter(body, conn);
+
+        return (IMApiResultInfo) GsonUtil.fromJson(httpHelper.returnResult(conn), IMApiResultInfo.class);
+    }
+
+    /**
+     * 查询用户是否在聊天室
+     *
+     * @param chatroomId 要查询的聊天室 ID(必传)
+     * @param userId     要查询的用户 ID(必传)
+     */
+    public IMApiResultInfo isInChartRoom(String chatroomId, String userId) throws Exception {
+        if (chatroomId == null) {
+            throw new RuntimeException("房间Uid不能为空");
+        }
+        if (userId == null) {
+            throw new RuntimeException("用户不能为空");
+        }
+        String body = "&chatroomId=" + URLEncoder.encode(chatroomId, UTF8) +
+                "&userId=" + URLEncoder.encode(userId, UTF8);
+        if (body.indexOf("&") == 0) {
+            body = body.substring(1);
+        }
+
+        HttpURLConnection conn = httpHelper.createIMPostHttpConnection("/chatroom/user/exist.json", "application/x-www-form-urlencoded");
+        httpHelper.setBodyParameter(body, conn);
+
+        return (IMApiResultInfo) GsonUtil.fromJson(httpHelper.returnResult(conn), IMApiResultInfo.class);
+    }
+
+}

+ 93 - 23
cooleshow-user/user-biz/src/main/resources/config/mybatis/AlbumFavoriteMapper.xml

@@ -1,27 +1,97 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE  mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 
+    "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.yonge.cooleshow.biz.dal.dao.AlbumFavoriteDao">
+
 	<resultMap id="BaseResultMap" type="com.yonge.cooleshow.biz.dal.entity.AlbumFavorite">
-            <result column="id_" property="id" />
-	        <result column="user_id_" property="userId" />
-	        <result column="album_id_" property="albumId" />
-	        <result column="favorite_time_" property="favoriteTime" />
-	        <result column="favorite_flag_" property="favoriteFlag" />
-		</resultMap>  
-    
-    <!-- 表字段 -->
-    <sql id="baseColumns">
-         t.id_
-        , t.user_id_
-        , t.album_id_
-        , t.favorite_time_
-        , t.favorite_flag_
-        </sql> 
-    
-    <!-- 分页查询 -->
-    <select id="selectPage" resultMap="BaseResultMap">
-		SELECT         
-        	<include refid="baseColumns" />
-		FROM album_favorite t
+	     <id column="id_" jdbcType="BIGINT" property="id" />
+		 <result column="user_id_" jdbcType="BIGINT" property="userId" />
+		 <result column="album_id_" jdbcType="BIGINT" property="albumId" />
+		 <result column="favorite_time_" jdbcType="TIMESTAMP" property="favoriteTime" />
+		 <result column="favorite_flag_" jdbcType="TINYINT" property="favoriteFlag" />
+	</resultMap>
+
+	<sql id="Base_Column_List">
+		id_, user_id_, album_id_, favorite_time_, favorite_flag_
+	</sql>
+
+	<select id="get" parameterType="Long" resultMap="BaseResultMap">
+		 select
+		 <include refid="Base_Column_List" />
+		 from album_favorite
+		 where id_ = #{id}
 	</select>
+
+	<delete id="delete" parameterType="Long">
+		 delete from album_favorite
+		 where id_ = #{id}
+	</delete>
+	
+	<delete id="delete" parameterType="com.yonge.cooleshow.biz.dal.entity.AlbumFavorite">
+		 delete from album_favorite
+		 where 1=1
+		 	<if test="userId != null and userId != ''">
+				 and user_id_ = #{userId}
+			</if>
+		 	<if test="albumId != null and albumId != ''">
+				 and album_id_ = #{albumId}
+			</if>
+		 	<if test="favoriteTime != null and favoriteTime != ''">
+				 and favorite_time_ = #{favoriteTime}
+			</if>
+		 	<if test="favoriteFlag != null and favoriteFlag != ''">
+				 and favorite_flag_ = #{favoriteFlag}
+			</if>
+	</delete>
+	
+	<insert id="insert" parameterType="com.yonge.cooleshow.biz.dal.entity.AlbumFavorite">
+		 insert into album_favorite
+ 		 (user_id_,album_id_,favorite_time_,favorite_flag_)
+		 values 
+ 		 (#{userId},#{albumId},#{favoriteTime},#{favoriteFlag})
+	</insert>
+	
+	<update id="update" parameterType="com.yonge.cooleshow.biz.dal.entity.AlbumFavorite">
+		 update album_favorite
+ 		 <set>
+		 	   		<if test="userId != null">
+		 	   			 user_id_ = #{userId},
+					</if>
+		 	   		<if test="albumId != null">
+		 	   			 album_id_ = #{albumId},
+					</if>
+		 	   		<if test="favoriteTime != null">
+		 	   			 favorite_time_ = #{favoriteTime},
+					</if>
+		 	   		<if test="favoriteFlag != null">
+		 	   			 favorite_flag_ = #{favoriteFlag},
+					</if>
+ 		 </set>
+		 where id_ = #{id}
+	</update>
+
+	<select id="findAll" resultMap="com.yonge.cooleshow.biz.dal.entity.AlbumFavorite">
+        SELECT * FROM album_favorite
+        ORDER BY id_ desc
+    </select>
+
+	<select id="findList" parameterType="com.yonge.cooleshow.biz.dal.entity.AlbumFavorite" resultMap="BaseResultMap">
+		 select
+		 <include refid="Base_Column_List" />
+		 from album_favorite
+		 where 1=1 
+                    <if test="userId != null">
+                         and user_id_ = #{userId}
+                    </if>
+                    <if test="albumId != null">
+                         and album_id_ = #{albumId}
+                    </if>
+                    <if test="favoriteTime != null">
+                         and favorite_time_ = #{favoriteTime}
+                    </if>
+                    <if test="favoriteFlag != null">
+                         and favorite_flag_ = #{favoriteFlag}
+                    </if>
+	</select>
+
 </mapper>

+ 103 - 25
cooleshow-user/user-biz/src/main/resources/config/mybatis/AlbumMusicRelateMapper.xml

@@ -1,29 +1,107 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE  mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 
+    "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.yonge.cooleshow.biz.dal.dao.AlbumMusicRelateDao">
+
 	<resultMap id="BaseResultMap" type="com.yonge.cooleshow.biz.dal.entity.AlbumMusicRelate">
-            <result column="id_" property="id" />
-	        <result column="album_id_" property="albumId" />
-	        <result column="music_sheet_id_" property="musicSheetId" />
-	        <result column="sort_number_" property="sortNumber" />
-	        <result column="create_time_" property="createTime" />
-	        <result column="create_by_" property="createBy" />
-		</resultMap>  
-    
-    <!-- 表字段 -->
-    <sql id="baseColumns">
-         t.id_
-        , t.album_id_
-        , t.music_sheet_id_
-        , t.sort_number_
-        , t.create_time_
-        , t.create_by_
-        </sql> 
-    
-    <!-- 分页查询 -->
-    <select id="selectPage" resultMap="BaseResultMap">
-		SELECT         
-        	<include refid="baseColumns" />
-		FROM album_music_relate t
+	     <id column="id_" jdbcType="BIGINT" property="id" />
+		 <result column="album_id_" jdbcType="BIGINT" property="albumId" />
+		 <result column="music_sheet_id_" jdbcType="BIGINT" property="musicSheetId" />
+		 <result column="sort_number_" jdbcType="TINYINT" property="sortNumber" />
+		 <result column="create_time_" jdbcType="TIMESTAMP" property="createTime" />
+		 <result column="create_by_" jdbcType="BIGINT" property="createBy" />
+	</resultMap>
+
+	<sql id="Base_Column_List">
+		id_, album_id_, music_sheet_id_, sort_number_, create_time_, create_by_
+	</sql>
+
+	<select id="get" parameterType="Long" resultMap="BaseResultMap">
+		 select
+		 <include refid="Base_Column_List" />
+		 from album_music_relate
+		 where id_ = #{id}
 	</select>
+
+	<delete id="delete" parameterType="Long">
+		 delete from album_music_relate
+		 where id_ = #{id}
+	</delete>
+	
+	<delete id="delete" parameterType="com.yonge.cooleshow.biz.dal.entity.AlbumMusicRelate">
+		 delete from album_music_relate
+		 where 1=1
+		 	<if test="albumId != null and albumId != ''">
+				 and album_id_ = #{albumId}
+			</if>
+		 	<if test="musicSheetId != null and musicSheetId != ''">
+				 and music_sheet_id_ = #{musicSheetId}
+			</if>
+		 	<if test="sortNumber != null and sortNumber != ''">
+				 and sort_number_ = #{sortNumber}
+			</if>
+		 	<if test="createTime != null and createTime != ''">
+				 and create_time_ = #{createTime}
+			</if>
+		 	<if test="createBy != null and createBy != ''">
+				 and create_by_ = #{createBy}
+			</if>
+	</delete>
+	
+	<insert id="insert" parameterType="com.yonge.cooleshow.biz.dal.entity.AlbumMusicRelate">
+		 insert into album_music_relate
+ 		 (album_id_,music_sheet_id_,sort_number_,create_time_,create_by_)
+		 values 
+ 		 (#{albumId},#{musicSheetId},#{sortNumber},sysdate(),#{createBy})
+	</insert>
+	
+	<update id="update" parameterType="com.yonge.cooleshow.biz.dal.entity.AlbumMusicRelate">
+		 update album_music_relate
+ 		 <set>
+		 	   		<if test="albumId != null">
+		 	   			 album_id_ = #{albumId},
+					</if>
+		 	   		<if test="musicSheetId != null">
+		 	   			 music_sheet_id_ = #{musicSheetId},
+					</if>
+		 	   		<if test="sortNumber != null">
+		 	   			 sort_number_ = #{sortNumber},
+					</if>
+		 	   		<if test="createTime != null">
+		 	   			 create_time_ = #{createTime},
+					</if>
+		 	   		<if test="createBy != null">
+		 	   			 create_by_ = #{createBy},
+					</if>
+ 		 </set>
+		 where id_ = #{id}
+	</update>
+
+	<select id="findAll" resultMap="com.yonge.cooleshow.biz.dal.entity.AlbumMusicRelate">
+        SELECT * FROM album_music_relate
+        ORDER BY id_ desc
+    </select>
+
+	<select id="findList" parameterType="com.yonge.cooleshow.biz.dal.entity.AlbumMusicRelate" resultMap="BaseResultMap">
+		 select
+		 <include refid="Base_Column_List" />
+		 from album_music_relate
+		 where 1=1 
+                    <if test="albumId != null">
+                         and album_id_ = #{albumId}
+                    </if>
+                    <if test="musicSheetId != null">
+                         and music_sheet_id_ = #{musicSheetId}
+                    </if>
+                    <if test="sortNumber != null">
+                         and sort_number_ = #{sortNumber}
+                    </if>
+                    <if test="createTime != null">
+                         and create_time_ = #{createTime}
+                    </if>
+                    <if test="createBy != null">
+                         and create_by_ = #{createBy}
+                    </if>
+	</select>
+
 </mapper>

+ 44 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/ImGroupMapper.xml

@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.yonge.cooleshow.biz.dal.dao.ImGroupDao">
+    <resultMap id="BaseResultMap" type="com.yonge.cooleshow.biz.dal.entity.ImGroup">
+        <id column="id_" jdbcType="INTEGER" property="id"/>
+        <result column="name_" jdbcType="VARCHAR" property="name"/>
+        <result column="introduce_" jdbcType="VARCHAR" property="introduce"/>
+        <result column="member_num_" jdbcType="INTEGER" property="memberNum"/>
+        <result column="memo_" jdbcType="VARCHAR" property="memo"/>
+        <result column="img_" jdbcType="VARCHAR" property="img"/>
+        <result column="type_" jdbcType="VARCHAR" property="type" typeHandler="com.yonge.cooleshow.common.dal.CustomEnumTypeHandler"/>
+        <result column="create_by_" property="createBy"/>
+        <result column="create_time_" jdbcType="TIMESTAMP" property="createTime"/>
+        <result column="update_time_" jdbcType="TIMESTAMP" property="updateTime"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id_, name_, introduce_, member_num_, memo_, img_, type_,create_by_, create_time_, update_time_
+    </sql>
+
+    <update id="updateById" parameterType="com.yonge.cooleshow.biz.dal.entity.ImGroup">
+        update im_group
+        <set>
+            <if test="et.name != null">
+                name_ = #{et.name},
+            </if>
+            introduce_ = #{et.introduce},
+            memo_ = #{et.memo},
+            update_time_ = NOW()
+        </set>
+        where id_ = #{et.id}
+    </update>
+
+    <insert id="insertBatch" keyColumn="id_" keyProperty="id" useGeneratedKeys="true"
+            parameterType="com.yonge.cooleshow.biz.dal.entity.ImGroup">
+        INSERT INTO im_group(name_, introduce_, member_num_, memo_, img_, type_,create_by_, create_time_, update_time_)
+        VALUES
+        <foreach collection="entities" item="entity" separator=",">
+            (#{entity.name}, #{entity.introduce}, #{entity.memberNum}, #{entity.memo}, #{entity.img},
+             #{entity.type,typeHandler=com.yonge.cooleshow.common.dal.CustomEnumTypeHandler},#{createBy}, NOW(), NOW())
+        </foreach>
+    </insert>
+
+</mapper>

+ 35 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/ImGroupMemberMapper.xml

@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.yonge.cooleshow.biz.dal.dao.ImGroupMemberDao">
+    <resultMap id="BaseResultMap" type="com.yonge.cooleshow.biz.dal.entity.ImGroupMember">
+        <id column="id_" jdbcType="INTEGER" property="id"/>
+        <result column="im_group_id_" jdbcType="INTEGER" property="imGroupId"/>
+        <result column="user_id_" jdbcType="INTEGER" property="userId"/>
+        <result column="nickname_" jdbcType="VARCHAR" property="nickname"/>
+        <result column="is_admin_" jdbcType="VARCHAR" property="isAdmin"/>
+        <result column="role_type_" jdbcType="VARCHAR" property="roleType"/>
+        <result column="create_time_" jdbcType="TIMESTAMP" property="createTime"/>
+        <result column="update_time_" jdbcType="TIMESTAMP" property="updateTime"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id_ , im_group_id_, user_id_, nickname_, is_admin_, role_type_, create_time_, update_time_
+    </sql>
+
+    <insert id="insertBatch" keyColumn="id_" keyProperty="id" useGeneratedKeys="true"
+            parameterType="com.yonge.cooleshow.biz.dal.entity.ImGroupMember">
+        insert into im_group_member(im_group_id_, user_id_, nickname_, is_admin_, role_type_, create_time_,
+        update_time_)
+        values
+        <foreach collection="entities" item="entity" separator=",">
+            (#{entity.imGroupId}, #{entity.userId}, #{entity.nickname}, #{entity.isAdmin}, #{entity.roleType},NOW(), NOW())
+        </foreach>
+        ON DUPLICATE KEY UPDATE
+        user_id_ = VALUES(user_id_),
+        nickname_ = VALUES(nickname_),
+        role_type_ = VALUES(role_type_)
+    </insert>
+    <delete id="delByGroupId">
+        DELETE FROM im_group_member WHERE im_group_id_ = #{groupId}
+    </delete>
+</mapper>

+ 33 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/ImGroupNoticeMapper.xml

@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.yonge.cooleshow.biz.dal.dao.ImGroupNoticeDao">
+    <resultMap id="BaseResultMap" type="com.yonge.cooleshow.biz.dal.entity.ImGroupNotice">
+        <id column="id_" jdbcType="INTEGER" property="id"/>
+        <result column="im_group_id_" jdbcType="INTEGER" property="imGroupId"/>
+        <result column="title_" jdbcType="VARCHAR" property="title"/>
+        <result column="content_" jdbcType="VARCHAR" property="content"/>
+        <result column="is_top_" jdbcType="VARCHAR" property="isTop"/>
+        <result column="is_sent_to_new_member_" jdbcType="VARCHAR" property="isSentToNewMember"/>
+        <result column="del_flag_" jdbcType="VARCHAR" property="delFlag"/>
+        <result column="operator_id_" jdbcType="INTEGER" property="operatorId"/>
+        <result column="create_time_" jdbcType="TIMESTAMP" property="createTime"/>
+        <result column="update_time_" jdbcType="TIMESTAMP" property="updateTime"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id_
+        , im_group_id_, title_, content_, is_top_, is_sent_to_new_member_, del_flag_, operator_id_, create_time_, update_time_
+    </sql>
+
+    <insert id="insertBatch" keyColumn="id_" keyProperty="id" useGeneratedKeys="true"
+            parameterType="com.yonge.cooleshow.biz.dal.entity.ImGroupNotice">
+        insert into im_group_notice(im_group_id_, title_, content_, is_top_, is_sent_to_new_member_, del_flag_,
+        operator_id_, create_time_, update_time_)
+        values
+        <foreach collection="entities" item="entity" separator=",">
+            (#{entity.imGroupId}, #{entity.title}, #{entity.content}, #{entity.isTop}, #{entity.isSentToNewMember},
+            #{entity.delFlag}, #{entity.operatorId}, #{entity.createTime}, #{entity.updateTime})
+        </foreach>
+    </insert>
+
+</mapper>

+ 29 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/ImUserFriendMapper.xml

@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.yonge.cooleshow.biz.dal.dao.ImUserFriendDao">
+    <resultMap id="BaseResultMap" type="com.yonge.cooleshow.biz.dal.entity.ImUserFriend">
+        <id column="id_" jdbcType="INTEGER" property="id"/>
+        <result column="user_id_" jdbcType="INTEGER" property="userId"/>
+        <result column="friend_id_" jdbcType="INTEGER" property="friendId"/>
+        <result column="friend_nickname_" jdbcType="VARCHAR" property="friendNickname"/>
+        <result column="memo_" jdbcType="VARCHAR" property="memo"/>
+        <result column="create_time_" jdbcType="TIMESTAMP" property="createTime"/>
+        <result column="update_time_" jdbcType="TIMESTAMP" property="updateTime"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id_
+        , user_id_, friend_id_, friend_nickname_, memo_, create_time_, update_time_
+    </sql>
+
+    <insert id="insertBatch" keyColumn="id_" keyProperty="id" useGeneratedKeys="true"
+            parameterType="com.yonge.cooleshow.biz.dal.entity.ImUserFriend">
+        insert into im_user_friend(user_id_, friend_id_, friend_nickname_, memo_, create_time_, update_time_)
+        values
+        <foreach collection="entities" item="entity" separator=",">
+            (#{entity.userId}, #{entity.friendId}, #{entity.friendNickname}, #{entity.memo}, #{entity.createTime},
+            #{entity.updateTime})
+        </foreach>
+    </insert>
+
+</mapper>

Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini