he2802 2 jaren geleden
bovenliggende
commit
e4259c20de
100 gewijzigde bestanden met toevoegingen van 2642 en 173 verwijderingen
  1. 1 1
      zhongzheng-admin/src/main/java/com/zhongzheng/controller/bank/QuestionController.java
  2. 1 1
      zhongzheng-admin/src/main/java/com/zhongzheng/controller/base/CertificateTpController.java
  3. 1 1
      zhongzheng-admin/src/main/java/com/zhongzheng/controller/base/ProfileTpController.java
  4. 37 0
      zhongzheng-admin/src/main/java/com/zhongzheng/controller/common/CommonController.java
  5. 1 1
      zhongzheng-admin/src/main/java/com/zhongzheng/controller/course/CourseChapterController.java
  6. 18 0
      zhongzheng-admin/src/main/java/com/zhongzheng/controller/goods/GoodsController.java
  7. 8 0
      zhongzheng-api/src/main/java/com/zhongzheng/controller/order/OrderController.java
  8. 8 4
      zhongzheng-api/src/main/java/com/zhongzheng/controller/user/LoginController.java
  9. 11 0
      zhongzheng-api/src/main/java/com/zhongzheng/controller/user/UserController.java
  10. 1 1
      zhongzheng-api/src/main/resources/application-dev.yml
  11. 3 0
      zhongzheng-common/src/main/java/com/zhongzheng/common/core/domain/entity/SysMenu.java
  12. 3 0
      zhongzheng-common/src/main/java/com/zhongzheng/common/core/domain/entity/SysUser.java
  13. 19 0
      zhongzheng-common/src/main/java/com/zhongzheng/common/core/redis/RedisCache.java
  14. 3 0
      zhongzheng-framework/src/main/java/com/zhongzheng/framework/config/SecurityConfig.java
  15. 86 0
      zhongzheng-framework/src/main/java/com/zhongzheng/framework/web/service/SysTenantServiceImpl.java
  16. 42 0
      zhongzheng-framework/src/main/java/com/zhongzheng/framework/web/service/UserServiceImpl.java
  17. 15 5
      zhongzheng-framework/src/main/java/com/zhongzheng/framework/web/service/WxLoginService.java
  18. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/domain/Exam.java
  19. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/domain/ExamQuestion.java
  20. 1 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/domain/Question.java
  21. 1 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/domain/QuestionBusiness.java
  22. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/domain/QuestionChapter.java
  23. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/domain/QuestionChapterExam.java
  24. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/domain/QuestionModule.java
  25. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/domain/QuestionModuleChapter.java
  26. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/mapper/QuestionMapper.java
  27. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/service/IQuestionService.java
  28. 2 2
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/service/impl/QuestionServiceImpl.java
  29. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/base/domain/Certificate.java
  30. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/base/domain/CertificateCommon.java
  31. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/base/domain/CertificateTp.java
  32. 1 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/base/domain/ProfileField.java
  33. 1 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/base/domain/ProfileTp.java
  34. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/base/domain/ProfileTpBusiness.java
  35. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/base/mapper/CertificateTpMapper.java
  36. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/base/mapper/ProfileTpMapper.java
  37. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/base/service/ICertificateTpService.java
  38. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/base/service/IProfileTpService.java
  39. 3 3
      zhongzheng-system/src/main/java/com/zhongzheng/modules/base/service/impl/CertificateTpServiceImpl.java
  40. 4 4
      zhongzheng-system/src/main/java/com/zhongzheng/modules/base/service/impl/ProfileTpServiceImpl.java
  41. 1 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/domain/Course.java
  42. 1 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/domain/CourseBusiness.java
  43. 1 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/domain/CourseChapter.java
  44. 1 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/domain/CourseChapterBusiness.java
  45. 1 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/domain/CourseChapterSection.java
  46. 1 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/domain/CourseEducationTier.java
  47. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/domain/CourseEducationType.java
  48. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/domain/CourseHandouts.java
  49. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/domain/CourseHandoutsBusiness.java
  50. 1 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/domain/CourseMenu.java
  51. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/domain/CourseMenuExam.java
  52. 2 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/domain/CourseModule.java
  53. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/domain/CourseModuleBusiness.java
  54. 3 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/domain/CourseModuleChapter.java
  55. 1 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/domain/CourseProjectType.java
  56. 1 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/domain/CourseSection.java
  57. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/domain/CourseSectionBusiness.java
  58. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/domain/CourseStreaming.java
  59. 1 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/domain/CourseStreamingBusiness.java
  60. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/domain/CourseSubject.java
  61. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/domain/CourseSubjectProject.java
  62. 1 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/domain/Major.java
  63. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/domain/MajorProject.java
  64. 5 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/mapper/CourseBusinessMapper.java
  65. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/mapper/CourseChapterMapper.java
  66. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/mapper/CourseEducationTypeMapper.java
  67. 4 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/mapper/CourseMapper.java
  68. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/mapper/CourseModuleMapper.java
  69. 5 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/mapper/CourseProjectTypeMapper.java
  70. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/mapper/CourseStreamingMapper.java
  71. 5 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/mapper/MajorMapper.java
  72. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/ICourseBusinessService.java
  73. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/ICourseChapterService.java
  74. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/ICourseEducationTypeService.java
  75. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/ICourseProjectTypeService.java
  76. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/IMajorService.java
  77. 5 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/impl/CourseBusinessServiceImpl.java
  78. 2 2
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/impl/CourseChapterServiceImpl.java
  79. 5 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/impl/CourseEducationTypeServiceImpl.java
  80. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/impl/CourseModuleServiceImpl.java
  81. 5 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/impl/CourseProjectTypeServiceImpl.java
  82. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/impl/CourseStreamingServiceImpl.java
  83. 5 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/impl/MajorServiceImpl.java
  84. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/domain/ExamPaper.java
  85. 21 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/bo/GoodsBatchCopyTenantBo.java
  86. 39 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/bo/GoodsStudyUrlBo.java
  87. 27 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/bo/UserGoodsListBo.java
  88. 1 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/domain/Goods.java
  89. 1 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/domain/GoodsCourse.java
  90. 1 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/domain/GoodsCourseTeacher.java
  91. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/domain/GoodsSpec.java
  92. 1 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/domain/GoodsSpecAttribute.java
  93. 1 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/domain/GoodsSpecAttributeRelation.java
  94. 1 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/domain/GoodsSpecTemplate.java
  95. 5 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/mapper/GoodsCourseMapper.java
  96. 12 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/mapper/GoodsMapper.java
  97. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/IGoodsCourseService.java
  98. 8 4
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/IGoodsService.java
  99. 5 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/impl/GoodsCourseServiceImpl.java
  100. 2123 130
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/impl/GoodsServiceImpl.java

+ 1 - 1
zhongzheng-admin/src/main/java/com/zhongzheng/controller/bank/QuestionController.java

@@ -76,7 +76,7 @@ public class QuestionController extends BaseController {
     @GetMapping("/list")
     public TableDataInfo<QuestionVo> list(QuestionQueryBo bo) {
         startPage();
-        List<QuestionVo> list = iQuestionService.selectList(bo);
+        List<QuestionVo> list = iQuestionService.selectListByBo(bo);
         return getDataTable(list);
     }
 

+ 1 - 1
zhongzheng-admin/src/main/java/com/zhongzheng/controller/base/CertificateTpController.java

@@ -51,7 +51,7 @@ public class CertificateTpController extends BaseController {
     @GetMapping("/list")
     public TableDataInfo<CertificateTpVo> list(CertificateTpQueryBo bo) {
         startPage();
-        List<CertificateTpVo> list = iCertificateTpService.selectList(bo);
+        List<CertificateTpVo> list = iCertificateTpService.selectListByBo(bo);
         return getDataTable(list);
     }
 

+ 1 - 1
zhongzheng-admin/src/main/java/com/zhongzheng/controller/base/ProfileTpController.java

@@ -50,7 +50,7 @@ public class ProfileTpController extends BaseController {
     @GetMapping("/list")
     public TableDataInfo<ProfileTpVo> list(ProfileTpQueryBo bo) {
         startPage();
-        List<ProfileTpVo> list = iProfileTpService.selectList(bo);
+        List<ProfileTpVo> list = iProfileTpService.selectListByBo(bo);
         return getDataTable(list);
     }
 

+ 37 - 0
zhongzheng-admin/src/main/java/com/zhongzheng/controller/common/CommonController.java

@@ -16,8 +16,11 @@ import com.zhongzheng.framework.config.ServerConfig;
 import com.zhongzheng.framework.web.service.WxLoginService;
 import com.zhongzheng.modules.course.vo.CourseMenuVo;
 import com.zhongzheng.modules.goods.bo.GoodsQueryBo;
+import com.zhongzheng.modules.goods.bo.GoodsStudyUrlBo;
+import com.zhongzheng.modules.goods.bo.UserGoodsListBo;
 import com.zhongzheng.modules.goods.service.IGoodsService;
 import com.zhongzheng.modules.goods.vo.GoodsJzsVo;
+import com.zhongzheng.modules.goods.vo.UserGoodsListVo;
 import com.zhongzheng.modules.grade.bo.ClassGradeBatchQueryBo;
 import com.zhongzheng.modules.grade.bo.ClassGradeQueryBo;
 import com.zhongzheng.modules.grade.bo.RollBackPeriodBo;
@@ -32,6 +35,8 @@ import com.zhongzheng.modules.order.domain.OrderGoods;
 import com.zhongzheng.modules.order.service.IOrderGoodsService;
 import com.zhongzheng.modules.order.service.IOrderService;
 import com.zhongzheng.modules.order.service.impl.OrderServiceImpl;
+import com.zhongzheng.modules.system.bo.SysTenantAdminBo;
+import com.zhongzheng.modules.system.service.ISysTenantService;
 import com.zhongzheng.modules.system.service.ISysUserService;
 import com.zhongzheng.modules.user.vo.UserExportVo;
 import com.zhongzheng.modules.wx.bo.WxShareGoodsBo;
@@ -84,6 +89,8 @@ public class CommonController
     private IWxPayService iWxPayService;
     @Autowired
     private  IClassGradeService iClassGradeService;
+    @Autowired
+    private ISysTenantService iSysTenantService;
 
     /**
      * 通用下载请求
@@ -210,6 +217,29 @@ public class CommonController
         return AjaxResult.success();
     }
 
+    @ApiOperation("旧系统获取用户商品信息")
+    @PostMapping("common/get/goods")
+    public AjaxResult getUserGoodsList(@RequestBody UserGoodsListBo bo)
+    {
+        if(!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(),bo.getSign())){
+            return AjaxResult.error("签名错误");
+        }
+        List<UserGoodsListVo> voList = iGoodsService.getUserGoodsList(bo);
+
+        return AjaxResult.success(voList);
+    }
+
+    @ApiOperation("旧系统获取商品学习中心路径")
+    @PostMapping("common/get/goods/studyUrl")
+    public AjaxResult getGoodsStudyUrl(@RequestBody GoodsStudyUrlBo bo)
+    {
+        if(!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(),bo.getSign())){
+            return AjaxResult.error("签名错误");
+        }
+        String studyUrl = iGoodsService.getGoodsStudyUrl(bo);
+        return AjaxResult.success(studyUrl);
+    }
+
     @ApiOperation("批量查询官方班级人数")
     @PostMapping("common/free/batch/officialGradeCount")
     public AjaxResult batchOfficialGradeCount(@RequestBody ClassGradeBatchQueryBo bo)
@@ -260,4 +290,11 @@ public class CommonController
         iWxPayService.shareToOldSys(order,goodsList);
         return AjaxResult.success();
     }
+
+    @ApiOperation("创建新机构后台")
+    @PostMapping("common/create/tenant/admin")
+    public AjaxResult createTenantAdmin(@RequestBody SysTenantAdminBo bo) {
+        iSysTenantService.createTenantAdmin(bo);
+        return AjaxResult.success();
+    }
 }

+ 1 - 1
zhongzheng-admin/src/main/java/com/zhongzheng/controller/course/CourseChapterController.java

@@ -57,7 +57,7 @@ public class CourseChapterController extends BaseController {
     @GetMapping("/list")
     public TableDataInfo<CourseChapterVo> list(CourseChapterQueryBo bo) {
         startPage();
-        List<CourseChapterVo> list = iCourseChapterService.selectList(bo);
+        List<CourseChapterVo> list = iCourseChapterService.selectListByBo(bo);
         return getDataTable(list);
     }
 

+ 18 - 0
zhongzheng-admin/src/main/java/com/zhongzheng/controller/goods/GoodsController.java

@@ -320,4 +320,22 @@ public class GoodsController extends BaseController {
     public AjaxResult<Void> addGoodsExamTime(@RequestBody List<BankGoodsExamAddBo> addBo) {
         return toAjax(iQuestionService.addGoodsExamTime(addBo) ? 1 : 0);
     }
+
+    /**
+     * 商品批量复制(新机构)
+     */
+    @ApiOperation("商品批量复制(全量)")
+    @PostMapping("/batch/copy/all")
+    public AjaxResult<Void> goodsBatchCopyTenant(@RequestBody GoodsBatchCopyTenantBo bo) {
+        return toAjax(iGoodsService.goodsBatchCopyTenant(bo) ? 1 : 0);
+    }
+
+    /**
+     * 商品关系ID处理(全量复制后的处理方法)
+     */
+    @ApiOperation("商品关系ID处理(全量复制后的处理方法)")
+    @GetMapping("/batch/copy/dispose")
+    public AjaxResult<Void> goodsBatchCopyDisposeTenant() {
+        return toAjax(iGoodsService.goodsBatchCopyDisposeTenant() ? 1 : 0);
+    }
 }

+ 8 - 0
zhongzheng-api/src/main/java/com/zhongzheng/controller/order/OrderController.java

@@ -118,6 +118,14 @@ public class OrderController extends BaseController {
         return AjaxResult.success(iOrderService.resumeSmallOrder(bo));
     }
 
+    @ApiOperation("继续支付公众号订单")
+    @PostMapping("/resumePlaceGzhOrder")
+    public AjaxResult resumePlaceGzhOrder(@RequestBody OrderAddBo bo) {
+        ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest());
+        bo.setUserId(loginUser.getUser().getUserId());
+        return AjaxResult.success(iOrderService.resumePlaceGzhOrder(bo));
+    }
+
     /**
      * 新增订单
      */

+ 8 - 4
zhongzheng-api/src/main/java/com/zhongzheng/controller/user/LoginController.java

@@ -2,10 +2,7 @@ package com.zhongzheng.controller.user;
 
 import com.zhongzheng.common.core.controller.BaseController;
 import com.zhongzheng.common.core.domain.AjaxResult;
-import com.zhongzheng.modules.user.bo.UserAppAccountLoginBo;
-import com.zhongzheng.modules.user.bo.UserAppForgetBo;
-import com.zhongzheng.modules.user.bo.UserAppRegisterBo;
-import com.zhongzheng.modules.user.bo.UserAppSmsLoginBo;
+import com.zhongzheng.modules.user.bo.*;
 import com.zhongzheng.modules.user.service.IUserService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -60,4 +57,11 @@ public class LoginController extends BaseController {
         Map<String,Object> map = iUserService.accountLogin(bo);
         return AjaxResult.success(map);
     }
+
+    @ApiOperation("手机号码自动登入")
+    @PostMapping("/telphone_login")
+    public AjaxResult telphone_login(@RequestBody UserAppTelphoneLoginBo bo) {
+        Map<String,Object> map = iUserService.telphone_login(bo);
+        return AjaxResult.success(map);
+    }
 }

+ 11 - 0
zhongzheng-api/src/main/java/com/zhongzheng/controller/user/UserController.java

@@ -128,4 +128,15 @@ public class UserController extends BaseController {
         bo.setUserId(loginUser.getUser().getUserId());
         return toAjax(iUserService.updatePwd(bo)? 1 : 0);
     }
+
+    /**
+     * 修改用户活动邀请码
+     */
+    @ApiOperation("修改用户活动邀请码")
+    @PostMapping("/edit/shareActivityCode")
+    public AjaxResult<Void> editShareActivityCode(@RequestBody UserEditBo bo){
+        ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest());
+        bo.setUserId(loginUser.getUser().getUserId());
+        return toAjax(iUserService.editShareActivityCode(bo) ? 1 : 0);
+    }
 }

+ 1 - 1
zhongzheng-api/src/main/resources/application-dev.yml

@@ -131,7 +131,7 @@ certificate:
 
 liveGotoURL: http://120.79.166.78:19014/
 
-enCodeVersion: develop
+enCodeVersion: trial
 
 oldStudySys:
     syncPath: http://gdxypx.xy.com/System/PostUserStudyRecords

+ 3 - 0
zhongzheng-common/src/main/java/com/zhongzheng/common/core/domain/entity/SysMenu.java

@@ -112,6 +112,9 @@ public class SysMenu implements Serializable
     /** 备注 */
     private String remark;
 
+    /** 备注 */
+    private Long tenantId;
+
     /** 请求参数 */
     @TableField(exist = false)
     private Map<String, Object> params = new HashMap<>();

+ 3 - 0
zhongzheng-common/src/main/java/com/zhongzheng/common/core/domain/entity/SysUser.java

@@ -30,6 +30,7 @@ import java.util.Map;
 @Data
 @NoArgsConstructor
 @Accessors(chain = true)
+@TableName("sys_user")
 public class SysUser implements Serializable
 {
     private static final long serialVersionUID = 1L;
@@ -157,6 +158,8 @@ public class SysUser implements Serializable
     @TableField(exist = false)
     private String roleName;
 
+    private Long tenantId;
+
     /** 上一次登录IP */
     private String preLoginIp;
     /** 上一次登录时间 */

+ 19 - 0
zhongzheng-common/src/main/java/com/zhongzheng/common/core/redis/RedisCache.java

@@ -69,6 +69,12 @@ public class RedisCache
 
     }
 
+    public <T> void setCacheObjectTenant(final String key, final T value, final Integer timeout, final TimeUnit timeUnit)
+    {
+        redisTemplate.opsForValue().set(key, value, timeout, timeUnit);
+
+    }
+
     /**
      * 设置有效时间
      *
@@ -113,6 +119,19 @@ public class RedisCache
         return operation.get(unionKey);
     }
 
+    /**
+     * 获得缓存的基本对象。
+     *
+     * @param key 缓存键值
+     * @return 缓存键值对应的数据
+     */
+    public <T> T getCacheObjectNoTenant(final String key)
+    {
+        ValueOperations<String, T> operation = redisTemplate.opsForValue();
+        return operation.get(key);
+    }
+
+
     /**
      * 删除单个对象
      *

+ 3 - 0
zhongzheng-framework/src/main/java/com/zhongzheng/framework/config/SecurityConfig.java

@@ -125,6 +125,9 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter
                 .antMatchers("/profile/**").anonymous()
                 .antMatchers("/common/jzs/**").anonymous()
                 .antMatchers("/common/rollback/period").anonymous()
+                .antMatchers("/common/get/goods").anonymous()
+                .antMatchers("/common/get/goods/studyUrl").anonymous()
+                .antMatchers("/common/create/tenant/admin").anonymous()
                 .antMatchers("/common/free/**").anonymous()
                 .antMatchers("/common/download**").anonymous()
                 .antMatchers("/common/download/resource**").anonymous()

+ 86 - 0
zhongzheng-framework/src/main/java/com/zhongzheng/framework/web/service/SysTenantServiceImpl.java

@@ -4,9 +4,12 @@ import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.lang.Validator;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.github.pagehelper.Page;
+import com.zhongzheng.common.core.domain.entity.SysMenu;
 import com.zhongzheng.common.core.domain.entity.SysUser;
 import com.zhongzheng.common.exception.CustomException;
 import com.zhongzheng.common.utils.DateUtils;
@@ -14,17 +17,22 @@ import com.zhongzheng.common.utils.SecurityUtils;
 import com.zhongzheng.common.utils.ServletUtils;
 import com.zhongzheng.framework.mybatisplus.CustomTenantLineHandler;
 import com.zhongzheng.modules.system.bo.SysTenantAddBo;
+import com.zhongzheng.modules.system.bo.SysTenantAdminBo;
 import com.zhongzheng.modules.system.bo.SysTenantEditBo;
 import com.zhongzheng.modules.system.bo.SysTenantQueryBo;
 import com.zhongzheng.modules.system.domain.SysTenant;
 import com.zhongzheng.modules.system.mapper.SysTenantMapper;
+import com.zhongzheng.modules.system.service.ISysMenuService;
 import com.zhongzheng.modules.system.service.ISysTenantService;
 import com.zhongzheng.modules.system.service.ISysUserService;
 import com.zhongzheng.modules.system.vo.SysTenantVo;
+import org.apache.commons.lang3.RandomStringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 import java.util.stream.Collectors;
@@ -41,6 +49,9 @@ public class SysTenantServiceImpl extends ServiceImpl<SysTenantMapper, SysTenant
     @Autowired
     private ISysUserService userService;
 
+    @Autowired
+    private ISysMenuService menuService;
+
     @Override
     public SysTenantVo queryById(Long tenantId){
         SysTenant db = this.baseMapper.selectById(tenantId);
@@ -109,6 +120,81 @@ public class SysTenantServiceImpl extends ServiceImpl<SysTenantMapper, SysTenant
         return this.removeByIds(ids);
     }
 
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void createTenantAdmin(SysTenantAdminBo bo) {
+        //中正后台企业ID
+        Long tenantId = 867735392558919680L;
+        //设置新机构
+        SysTenant sysTenant = getById(tenantId);
+        sysTenant.setTenantName(bo.getTenantName());
+        //生成tenantId
+        Long newTenantId = createTenantId();
+        sysTenant.setTenantId(newTenantId);
+        if (!save(sysTenant)){
+            throw new CustomException("创建企业失败");
+        }
+        //创建账号
+        SysUser admin = userService.selectUserByTenant("admin",tenantId);
+        admin.setTenantId(newTenantId);
+        admin.setUserId(null);
+        if (!userService.save(admin)){
+            throw new CustomException("创建后台账号失败");
+        }
+        //创建菜单
+        List<SysMenu> list = menuService.listSysMenuByTenant(tenantId);
+        if (CollectionUtils.isEmpty(list)){
+            return;
+        }
+        List<SysMenu> oldMenus = list.stream().map(item -> BeanUtil.toBean(item, SysMenu.class)).collect(Collectors.toList());
+        list.forEach(item -> {
+            item.setMenuId(null);
+            item.setTenantId(newTenantId);
+        });
+        if (!menuService.saveBatch(list)){
+            throw new CustomException("添加菜单失败");
+        }
+        //新菜单
+        List<SysMenu> newMenus = menuService.listSysMenuByTenant(newTenantId);
+        //匹配parent_id
+        for (SysMenu newMenu : newMenus) {
+            if (newMenu.getParentId() == 0){
+                continue;
+            }
+            List<SysMenu> collect = oldMenus.stream().filter(x -> x.getMenuName().equals(newMenu.getMenuName())
+                    && x.getCreateTime().equals(newMenu.getCreateTime()) && x.getOrderNum().equals(newMenu.getOrderNum())).collect(Collectors.toList());
+            if (CollectionUtils.isEmpty(collect) || collect.size() > 1){
+                throw new CustomException("菜单匹配失败:"+newMenu.getMenuName());
+            }
+            SysMenu sysMenu = collect.stream().findFirst().orElse(null);
+            SysMenu parentMenu = oldMenus.stream().filter(x -> x.getMenuId().equals(sysMenu.getParentId())).findFirst().orElse(null);
+            List<SysMenu> collect2 = newMenus.stream().filter(x -> x.getMenuName().equals(parentMenu.getMenuName())
+                    && x.getCreateTime().equals(parentMenu.getCreateTime()) && x.getOrderNum().equals(parentMenu.getOrderNum())).collect(Collectors.toList());
+            if (CollectionUtils.isEmpty(collect2) || collect2.size() > 1){
+                throw new CustomException("菜单匹配失败:"+newMenu.getMenuName());
+            }
+            newMenu.setParentId(collect2.get(0).getMenuId());
+        }
+        //修改父ID
+//        menuService.updateBatchById(newMenus);
+        newMenus.forEach(item -> {
+            menuService.updateParentById(item);
+        });
+
+    }
+
+    private Long createTenantId(){
+        String randomNumeric = RandomStringUtils.randomNumeric(18);
+        int count = count(new LambdaQueryWrapper<SysTenant>()
+                .eq(SysTenant::getTenantId, Long.valueOf(randomNumeric)));
+        if (count == 0){
+            return Long.valueOf(randomNumeric);
+        }else {
+            createTenantId();
+        }
+        return Long.valueOf(randomNumeric);
+    }
+
     private boolean checkNameUnique(SysTenant entity) {
         SysTenant info = getOne(new LambdaQueryWrapper<SysTenant>()
                 .eq(SysTenant::getTenantName,entity.getTenantName())

+ 42 - 0
zhongzheng-framework/src/main/java/com/zhongzheng/framework/web/service/UserServiceImpl.java

@@ -3,9 +3,13 @@ package com.zhongzheng.framework.web.service;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.convert.Convert;
 import cn.hutool.core.lang.Validator;
+import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -907,6 +911,44 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
         return list1;
     }
 
+    @Override
+    public boolean editShareActivityCode(UserEditBo bo) {
+        if (ObjectUtils.isNotNull(bo.getShareActivityCode())){
+            return update(new LambdaUpdateWrapper<User>()
+            .eq(User::getUserId,bo.getUserId())
+            .set(User::getShareActivityCode,bo.getShareActivityCode()));
+        }
+        return false;
+    }
+
+    @Override
+    public User queryUserByTelphoneTenant(String telphone,Long tenantId) {
+        return baseMapper.queryUserByTelphoneTenant(telphone,tenantId);
+    }
+
+    @Override
+    public Map<String, Object> telphone_login(UserAppTelphoneLoginBo bo) {
+        Object cacheObject = redisCache.getCacheObjectNoTenant(bo.getSign());
+        if (ObjectUtil.isNull(cacheObject)){
+            throw new CustomException("该账号不存在!");
+        }
+        UserPhoneBo phoneBo = JSONObject.parseObject(cacheObject.toString(), UserPhoneBo.class);
+        if(Validator.isEmpty(phoneBo.getTelphone())){
+            throw new CustomException("账号不能为空");
+        }
+        User user = baseMapper.queryUserByTelphoneTenant(phoneBo.getTelphone(), phoneBo.getTenantId());
+        if(Validator.isEmpty(user)){
+            throw new CustomException("该账号不存在");
+        }
+        ClientLoginUser loginUser = new ClientLoginUser();
+        loginUser.setUser(user);
+        Map<String,Object> map = new HashMap<>();
+        map.put(Constants.TOKEN,wxTokenService.createToken(loginUser));
+        map.put("user_account",user.getUserAccount());
+        map.put("full_info",Validator.isEmpty(user.getIdCard())?false:true); //是否完善身份信息
+        return map;
+    }
+
     private Long findSubjectId(String subject){
         if(subject!=null){
             String key = "SUB_"+subject;

+ 15 - 5
zhongzheng-framework/src/main/java/com/zhongzheng/framework/web/service/WxLoginService.java

@@ -1011,18 +1011,28 @@ public class WxLoginService implements IWxLoginService {
 
         if(goodsVo.getGoodsType()==2){
             pageUrl = "pages2/bank/detail";
-            sceneParam.append("id=").append(goodsVo.getGoodsId()).append("&");
-            sceneParam.append("sc=").append(bo.getShareCode());
+            sceneParam.append("id=").append(goodsVo.getGoodsId());
+            if (ObjectUtils.isNotNull(bo.getShareCode())){
+                sceneParam.append("&").append("sc=").append(bo.getShareCode());
+            }
+            if (StringUtils.isNotBlank(bo.getShareActivityCode())){
+                sceneParam.append("&").append("sac=").append(bo.getShareActivityCode());
+            }
         }
         if(goodsVo.getGoodsType()==1||goodsVo.getGoodsType()==6){
             pageUrl = "pages3/course/detail";
             sceneParam.append("id=").append(goodsVo.getGoodsId()).append("&");
-            sceneParam.append("goodsType=").append(goodsVo.getGoodsType()).append("&");
-            sceneParam.append("sc=").append(bo.getShareCode());
+            sceneParam.append("gt=").append(goodsVo.getGoodsType());
+            if (ObjectUtils.isNotNull(bo.getShareCode())){
+                sceneParam.append("&").append("sc=").append(bo.getShareCode());
+            }
+            if (StringUtils.isNotBlank(bo.getShareActivityCode())){
+                sceneParam.append("&").append("sac=").append(bo.getShareActivityCode());
+            }
         }
         obj.put("page", pageUrl);
         obj.put("scene",sceneParam.toString());
-        obj.put("env_version",enCodeVersion);
+        obj.put("env_version","trial");
         String result = HttpUtils.sendPost(url, obj);
         if (result.contains("errcode")){
             List<String> codes = Arrays.asList("40001", "42001");

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/domain/Exam.java

@@ -69,6 +69,8 @@ private static final long serialVersionUID=1L;
     /** 开启模拟考 1启动(考试类型才能启动) 0关闭 */
     private Integer simulateStatus;
 
+    private Long tenantId;
+
     /** 模拟考配置参数 */
     @TableField(exist = false)
     private ExamSimulateConfigBo simulateConfig;

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/domain/ExamQuestion.java

@@ -36,4 +36,6 @@ private static final long serialVersionUID=1L;
     private BigDecimal score;
     /** 多选 每项部分分,默认0分则不开启 */
     private BigDecimal partScore;
+
+    private Long tenantId;
 }

+ 1 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/domain/Question.java

@@ -61,4 +61,5 @@ private static final long serialVersionUID=1L;
     private String importNo;
     /** 导入顺序 */
     private Long importSort;
+    private Long tenantId;
 }

+ 1 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/domain/QuestionBusiness.java

@@ -42,6 +42,7 @@ private static final long serialVersionUID=1L;
     /** $column.columnComment */
     private Long majorId;
 
+    private Long tenantId;
     private Integer type;
 
     @TableField(exist = false)

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/domain/QuestionChapter.java

@@ -44,4 +44,6 @@ private static final long serialVersionUID=1L;
     private Long publishStatus;
     /** 编码 */
     private String code;
+
+    private Long tenantId;
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/domain/QuestionChapterExam.java

@@ -32,4 +32,6 @@ private static final long serialVersionUID=1L;
     /** $column.columnComment */
     @TableId(value = "id")
     private Long id;
+
+    private Long tenantId;
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/domain/QuestionModule.java

@@ -42,4 +42,6 @@ private static final long serialVersionUID=1L;
     private Integer status;
     /** 编码 */
     private String code;
+
+    private Long tenantId;
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/domain/QuestionModuleChapter.java

@@ -32,4 +32,6 @@ private static final long serialVersionUID=1L;
     private Long chapterExamId;
     /** 排序 */
     private Long sort;
+    private Long tenantId;
+
 }

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/mapper/QuestionMapper.java

@@ -20,7 +20,7 @@ import java.util.List;
  * @date 2021-10-21
  */
 public interface QuestionMapper extends BaseMapper<Question> {
-    List<QuestionVo> selectList(QuestionQueryBo bo);
+    List<QuestionVo> selectListByBo(QuestionQueryBo bo);
 
     List<GoodsUserQuestionVo> listGoodsUserQuestionVo(GoodsQueryBo bo);
 

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/service/IQuestionService.java

@@ -35,7 +35,7 @@ public interface IQuestionService extends IService<Question> {
 	 */
 	QuestionVo queryById(Long questionId);
 
-	List<QuestionVo> selectList(QuestionQueryBo bo);
+	List<QuestionVo> selectListByBo(QuestionQueryBo bo);
 
 
 	List<GoodsUserQuestionVo> listUserFreeGoodsList(GoodsQueryBo bo);

+ 2 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/service/impl/QuestionServiceImpl.java

@@ -155,8 +155,8 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> i
     }
 
     @Override
-    public List<QuestionVo> selectList(QuestionQueryBo bo) {
-        return questionMapper.selectList(bo);
+    public List<QuestionVo> selectListByBo(QuestionQueryBo bo) {
+        return questionMapper.selectListByBo(bo);
     }
 
     @Override

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/base/domain/Certificate.java

@@ -40,4 +40,6 @@ private static final long serialVersionUID=1L;
     private String code;
     /** 备注 */
     private String remark;
+
+    private Long tenantId;
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/base/domain/CertificateCommon.java

@@ -42,4 +42,6 @@ private static final long serialVersionUID=1L;
     private String remark;
     /** 证书类型ID */
     private Long certificateTypeId;
+
+    private Long tenantId;
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/base/domain/CertificateTp.java

@@ -48,4 +48,6 @@ private static final long serialVersionUID=1L;
     private String keyValue;
     /** 证书ID */
     private Long certificateId;
+
+    private Long tenantId;
 }

+ 1 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/base/domain/ProfileField.java

@@ -40,4 +40,5 @@ private static final long serialVersionUID=1L;
     private Long updateTime;
     /** 输入类型 1输入框 2下拉选择 3上传文件 4下载文件 5时间选择器 */
     private Long inputType;
+    private Long tenantId;
 }

+ 1 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/base/domain/ProfileTp.java

@@ -47,4 +47,5 @@ private static final long serialVersionUID=1L;
     /** 商品id拼接,多个,拼接 */
     @TableField(updateStrategy = FieldStrategy.IGNORED)
     private String goodsIds;
+    private Long tenantId;
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/base/domain/ProfileTpBusiness.java

@@ -34,4 +34,6 @@ private static final long serialVersionUID=1L;
     private Long businessId;
     /** 项目ID */
     private Long projectId;
+
+    private Long tenantId;
 }

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/base/mapper/CertificateTpMapper.java

@@ -16,5 +16,5 @@ import java.util.List;
  * @date 2022-02-16
  */
 public interface CertificateTpMapper extends BaseMapper<CertificateTp> {
-    List<CertificateTpVo> selectList(CertificateTpQueryBo bo);
+    List<CertificateTpVo> selectListByBo(CertificateTpQueryBo bo);
 }

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/base/mapper/ProfileTpMapper.java

@@ -16,5 +16,5 @@ import java.util.List;
  * @date 2021-11-19
  */
 public interface ProfileTpMapper extends BaseMapper<ProfileTp> {
-    List<ProfileTpVo> selectList(ProfileTpQueryBo bo);
+    List<ProfileTpVo> selectListByBo(ProfileTpQueryBo bo);
 }

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/base/service/ICertificateTpService.java

@@ -45,7 +45,7 @@ public interface ICertificateTpService extends IService<CertificateTp> {
 
 	String makeCertificatePhoto(ClassGradeUserQueryBo bo);
 
-	List<CertificateTpVo> selectList(CertificateTpQueryBo bo);
+	List<CertificateTpVo> selectListByBo(CertificateTpQueryBo bo);
 
 	/**
 	 * 校验并删除数据

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/base/service/IProfileTpService.java

@@ -28,7 +28,7 @@ public interface IProfileTpService extends IService<ProfileTp> {
 	 */
 	List<ProfileTpVo> queryList(ProfileTpQueryBo bo);
 
-	List<ProfileTpVo> selectList(ProfileTpQueryBo bo);
+	List<ProfileTpVo> selectListByBo(ProfileTpQueryBo bo);
 
 	List<String> selectAllUseGoods(ProfileTpQueryBo bo);
 

+ 3 - 3
zhongzheng-system/src/main/java/com/zhongzheng/modules/base/service/impl/CertificateTpServiceImpl.java

@@ -180,7 +180,7 @@ public class CertificateTpServiceImpl extends ServiceImpl<CertificateTpMapper, C
             CertificateTpQueryBo queryBo = new CertificateTpQueryBo();
             queryBo.setTpIds(tpIds);
             queryBo.setStatus(new ArrayList<Integer>(Arrays.asList(1)));
-            List<CertificateTpVo> list = selectList(queryBo);
+            List<CertificateTpVo> list = selectListByBo(queryBo);
             String nowDate = DateUtils.getDate();
             for(CertificateTpVo tpVo : list){
                 if("certificate01".equals(tpVo.getKeyValue())){
@@ -662,8 +662,8 @@ public class CertificateTpServiceImpl extends ServiceImpl<CertificateTpMapper, C
     }
 
     @Override
-    public List<CertificateTpVo> selectList(CertificateTpQueryBo bo) {
-        return this.baseMapper.selectList(bo);
+    public List<CertificateTpVo> selectListByBo(CertificateTpQueryBo bo) {
+        return this.baseMapper.selectListByBo(bo);
     }
 
     /**

+ 4 - 4
zhongzheng-system/src/main/java/com/zhongzheng/modules/base/service/impl/ProfileTpServiceImpl.java

@@ -61,13 +61,13 @@ public class ProfileTpServiceImpl extends ServiceImpl<ProfileTpMapper, ProfileTp
     }
 
     @Override
-    public List<ProfileTpVo> selectList(ProfileTpQueryBo bo) {
-        return profileTpMapper.selectList(bo);
+    public List<ProfileTpVo> selectListByBo(ProfileTpQueryBo bo) {
+        return profileTpMapper.selectListByBo(bo);
     }
 
     @Override
     public List<String> selectAllUseGoods(ProfileTpQueryBo bo) {
-        List<ProfileTpVo> list = profileTpMapper.selectList(bo);
+        List<ProfileTpVo> list = profileTpMapper.selectListByBo(bo);
         List<String> strList = new ArrayList<>();
         for(int i=0;i<list.size();i++){
             if(Validator.isNotEmpty(list.get(i).getGoodsIds())){
@@ -163,7 +163,7 @@ public class ProfileTpServiceImpl extends ServiceImpl<ProfileTpMapper, ProfileTp
         ProfileTpQueryBo profileTpQueryBo = new ProfileTpQueryBo();
         profileTpQueryBo.setGoodsId(goodsId);
         profileTpQueryBo.setStatus(new ArrayList<Integer>(Arrays.asList(1)));
-        List<ProfileTpVo> profileTpVos = profileTpMapper.selectList(profileTpQueryBo);
+        List<ProfileTpVo> profileTpVos = profileTpMapper.selectListByBo(profileTpQueryBo);
         if (!CollectionUtils.isEmpty(profileTpVos)){
             return profileTpVos.get(0);
         }else {

+ 1 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/domain/Course.java

@@ -69,4 +69,5 @@ private static final long serialVersionUID=1L;
     private Long projectId;
     /** 1显示 0隐藏 */
     private Integer courseShow;
+    private Long tenantId;
 }

+ 1 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/domain/CourseBusiness.java

@@ -72,4 +72,5 @@ private static final long serialVersionUID=1L;
     private Integer periodType;
     /** 学时审核层级:1初审,2初审和复审 */
     private Integer periodNumber;
+    private Long tenantId;
 }

+ 1 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/domain/CourseChapter.java

@@ -48,4 +48,5 @@ private static final long serialVersionUID=1L;
     private String code;
     /** 导入编号 */
     private String importNo;
+    private Long tenantId;
 }

+ 1 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/domain/CourseChapterBusiness.java

@@ -36,6 +36,7 @@ private static final long serialVersionUID=1L;
     private Long subjectId;
     /** 项目ID */
     private Long projectId;
+    private Long tenantId;
 
     @TableField(exist = false)
     private String educationName;

+ 1 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/domain/CourseChapterSection.java

@@ -31,6 +31,7 @@ private static final long serialVersionUID=1L;
     private Long sectionId;
     /** 章ID */
     private Long chapterId;
+    private Long tenantId;
 
     private Long sort;
 }

+ 1 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/domain/CourseEducationTier.java

@@ -30,4 +30,5 @@ private static final long serialVersionUID=1L;
     private Long educationId;
     /** 1,2,3,4 逗号隔开 代表层次1项目类型,2业务类型,3院校,4专业 */
     private String tireStatus;
+    private Long tenantId;
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/domain/CourseEducationType.java

@@ -43,4 +43,6 @@ private static final long serialVersionUID=1L;
     private Long updateTime;
     /** 排序 */
     private Integer sort;
+
+    private Long tenantId;
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/domain/CourseHandouts.java

@@ -49,4 +49,6 @@ private static final long serialVersionUID=1L;
 
     /** 0不可下载 1下载 */
     private Integer canDownload;
+
+    private Long tenantId;
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/domain/CourseHandoutsBusiness.java

@@ -42,4 +42,6 @@ private static final long serialVersionUID=1L;
 
     /** 科目ID */
     private Long subjectId;
+
+    private Long tenantId;
 }

+ 1 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/domain/CourseMenu.java

@@ -44,4 +44,5 @@ private static final long serialVersionUID=1L;
     private Integer status;
     /** 排序 */
     private Integer sort;
+    private Long tenantId;
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/domain/CourseMenuExam.java

@@ -44,4 +44,6 @@ private static final long serialVersionUID=1L;
     /** 修改时间 */
     @TableField(fill = FieldFill.INSERT_UPDATE)
     private Long updateTime;
+
+    private Long tenantId;
 }

+ 2 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/domain/CourseModule.java

@@ -24,7 +24,7 @@ public class CourseModule implements Serializable {
 private static final long serialVersionUID=1L;
 
     /** $column.columnComment */
-    @TableId(value = "module_id")
+    @TableId(value = "module_id", type = IdType.AUTO)
     private Long moduleId;
     /** 前缀名称 */
     private String prefixName;
@@ -48,4 +48,5 @@ private static final long serialVersionUID=1L;
     private Integer examType;
     /** 赠送卷ID */
     private Long freeExamId;
+    private Long tenantId;
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/domain/CourseModuleBusiness.java

@@ -37,6 +37,8 @@ private static final long serialVersionUID=1L;
     /** 项目ID */
     private Long projectId;
 
+    private Long tenantId;
+
     @TableField(exist = false)
     private String educationName;
     @TableField(exist = false)

+ 3 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/domain/CourseModuleChapter.java

@@ -24,12 +24,14 @@ public class CourseModuleChapter implements Serializable {
 private static final long serialVersionUID=1L;
 
     /** $column.columnComment */
-    @TableId(value = "id")
+    @TableId(value = "id", type = IdType.AUTO)
     private Long id;
     /** 模块id */
     private Long moduleId;
     /** 章ID */
     private Long chapterId;
 
+    private Long tenantId;
+
     private Long sort;
 }

+ 1 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/domain/CourseProjectType.java

@@ -44,4 +44,5 @@ private static final long serialVersionUID=1L;
     private Long updateTime;
     /** 排序 */
     private Integer sort;
+    private Long tenantId;
 }

+ 1 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/domain/CourseSection.java

@@ -73,4 +73,5 @@ private static final long serialVersionUID=1L;
     private Long realDuration;
     /** 讲师ID */
     private Long teacherId;
+    private Long tenantId;
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/domain/CourseSectionBusiness.java

@@ -37,6 +37,8 @@ private static final long serialVersionUID=1L;
     /** 项目ID */
     private Long projectId;
 
+    private Long tenantId;
+
     @TableField(exist = false)
     private String educationName;
     @TableField(exist = false)

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/domain/CourseStreaming.java

@@ -58,4 +58,6 @@ private static final long serialVersionUID=1L;
     private Integer status;
     /** 本地保利威视频ID */
     private Long polyvId;
+
+    private Long tenantId;
 }

+ 1 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/domain/CourseStreamingBusiness.java

@@ -34,6 +34,7 @@ private static final long serialVersionUID=1L;
     private Long businessId;
     /** 项目ID */
     private Long projectId;
+    private Long tenantId;
 
     @TableField(exist = false)
     private String educationName;

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/domain/CourseSubject.java

@@ -42,4 +42,6 @@ private static final long serialVersionUID=1L;
     private String subjectName;
     /** 排序 */
     private Integer sort;
+
+    private Long tenantId;
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/domain/CourseSubjectProject.java

@@ -31,6 +31,8 @@ private static final long serialVersionUID=1L;
     /** 科目ID */
     private Long subjectId;
 
+    private Long tenantId;
+
     @TableField(fill = FieldFill.INSERT)
     private Long createTime;
     /** 修改时间 */

+ 1 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/domain/Major.java

@@ -46,4 +46,5 @@ private static final long serialVersionUID=1L;
     private String encoder;
     /** 排序 */
     private Integer sort;
+    private Long tenantId;
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/domain/MajorProject.java

@@ -30,6 +30,8 @@ private static final long serialVersionUID=1L;
     private Long projectId;
     /** 科目ID */
     private Long majorId;
+
+    private Long tenantId;
     /** 添加时间 */
     @TableField(fill = FieldFill.INSERT)
     private Long createTime;

+ 5 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/mapper/CourseBusinessMapper.java

@@ -1,9 +1,11 @@
 package com.zhongzheng.modules.course.mapper;
 
+import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.zhongzheng.modules.course.bo.CourseBusinessQueryBo;
 import com.zhongzheng.modules.course.domain.CourseBusiness;
 import com.zhongzheng.modules.course.vo.CourseBusinessVo;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.Collection;
 
@@ -18,4 +20,7 @@ public interface CourseBusinessMapper extends BaseMapper<CourseBusiness> {
     Collection<CourseBusinessVo> queryList(CourseBusinessQueryBo bo);
 
     String queryFullName(CourseBusinessQueryBo bo);
+
+    @InterceptorIgnore(tenantLine = "true")
+    CourseBusiness getBusinessByTenant(@Param("encoder") String encoder,@Param("newTenantId") Long newTenantId);
 }

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/mapper/CourseChapterMapper.java

@@ -17,6 +17,6 @@ import java.util.List;
  * @date 2021-10-09
  */
 public interface CourseChapterMapper extends BaseMapper<CourseChapter> {
-    List<CourseChapterVo> selectList(CourseChapterQueryBo bo);
+    List<CourseChapterVo> selectListByBo(CourseChapterQueryBo bo);
     CourseChapterVo getInfo(Long chapterId);
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/mapper/CourseEducationTypeMapper.java

@@ -17,4 +17,6 @@ import java.util.List;
 public interface CourseEducationTypeMapper extends BaseMapper<CourseEducationType> {
    List<CourseEducationTypeVo> selectUserEduList(@Param("userId") Long userId,@Param("goodsType") Integer goodsType);
    List<BaseFilterVo> selectUserAllBusinessList(@Param("userId") Long userId);
+
+    CourseEducationType getEducationTypeBytenant(@Param("encoder") String encoder,@Param("newTenantId") Long newTenantId);
 }

+ 4 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/mapper/CourseMapper.java

@@ -1,6 +1,7 @@
 package com.zhongzheng.modules.course.mapper;
 
 
+import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.zhongzheng.common.core.domain.entity.SysRole;
 import com.zhongzheng.modules.course.bo.CourseMenuQueryBo;
@@ -47,6 +48,9 @@ public interface CourseMapper extends BaseMapper<Course> {
     //不传班级可能出现用户重复购买情况
     ClassGradeVo gradeIdSelect(@Param("userId") Long userId, @Param("goodsId") Long goodsId, @Param("gradeId") Long gradeId);
 
+    @InterceptorIgnore(tenantLine = "true")
+    ClassGradeVo gradeIdSelectTenant(@Param("userId") Long userId, @Param("goodsId") Long goodsId, @Param("gradeId") Long gradeId,@Param("tenantId") Long tenantId);
+
     Long goodsRebuildStatus(CourseQueryBo bo);
 
     Long checkCourseHaveStudy(@Param("courseId") Long courseId);

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/mapper/CourseModuleMapper.java

@@ -17,5 +17,5 @@ import java.util.List;
  * @date 2021-10-09
  */
 public interface CourseModuleMapper extends BaseMapper<CourseModule> {
-    List<CourseModuleVo> selectList(CourseModuleQueryBo bo);
+    List<CourseModuleVo> selectListByBo(CourseModuleQueryBo bo);
 }

+ 5 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/mapper/CourseProjectTypeMapper.java

@@ -1,9 +1,11 @@
 package com.zhongzheng.modules.course.mapper;
 
+import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
 import com.zhongzheng.modules.course.bo.CourseProjectTypeQueryBo;
 import com.zhongzheng.modules.course.domain.CourseProjectType;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.zhongzheng.modules.course.vo.CourseProjectTypeVo;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.Collection;
 
@@ -16,4 +18,7 @@ import java.util.Collection;
 public interface CourseProjectTypeMapper extends BaseMapper<CourseProjectType> {
 
     Collection<CourseProjectTypeVo> queryList(CourseProjectTypeQueryBo bo);
+
+    @InterceptorIgnore(tenantLine = "true")
+    CourseProjectType getProjectByTenant(@Param("encoder") String encoder,@Param("newTenantId") Long newTenantId);
 }

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/mapper/CourseStreamingMapper.java

@@ -16,5 +16,5 @@ import java.util.List;
  * @date 2021-10-11
  */
 public interface CourseStreamingMapper extends BaseMapper<CourseStreaming> {
-    List<CourseStreamingVo> selectList(CourseStreamingQueryBo bo);
+    List<CourseStreamingVo> selectListByBo(CourseStreamingQueryBo bo);
 }

+ 5 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/mapper/MajorMapper.java

@@ -1,11 +1,13 @@
 package com.zhongzheng.modules.course.mapper;
 
+import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
 import com.zhongzheng.modules.course.bo.CourseProjectTypeQueryBo;
 import com.zhongzheng.modules.course.bo.MajorQueryBo;
 import com.zhongzheng.modules.course.domain.Major;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.zhongzheng.modules.course.vo.CourseProjectTypeVo;
 import com.zhongzheng.modules.course.vo.MajorProjectVo;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.Collection;
 import java.util.List;
@@ -23,4 +25,7 @@ public interface MajorMapper extends BaseMapper<Major> {
     Collection<Major> queryList(MajorQueryBo bo);
 
     Integer countNum(MajorQueryBo bo);
+
+    @InterceptorIgnore(tenantLine = "true")
+    Major getMajorByTenant(@Param("encoder") String encoder,@Param("newTenantId") Long newTenantId);
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/ICourseBusinessService.java

@@ -61,4 +61,6 @@ public interface ICourseBusinessService extends IService<CourseBusiness> {
 	boolean editRefundPeriodUserIds(CourseBusinessEditBo bo);
 
 	String queryFullName(CourseBusinessQueryBo bo);
+
+    CourseBusiness getBusinessByTenant(String encoder, Long newTenantId);
 }

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/ICourseChapterService.java

@@ -31,7 +31,7 @@ public interface ICourseChapterService extends IService<CourseChapter> {
 	 */
 	List<CourseChapterVo> queryList(CourseChapterQueryBo bo);
 
-	List<CourseChapterVo> selectList(CourseChapterQueryBo bo);
+	List<CourseChapterVo> selectListByBo(CourseChapterQueryBo bo);
 
 	/**
 	 * 根据新增业务对象插入课程大章

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/ICourseEducationTypeService.java

@@ -54,4 +54,6 @@ public interface ICourseEducationTypeService extends IService<CourseEducationTyp
 	 * @return
 	 */
 	Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+
+    CourseEducationType getEducationTypeBytenant(String encoder, Long newTenantId);
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/ICourseProjectTypeService.java

@@ -49,4 +49,6 @@ public interface ICourseProjectTypeService extends IService<CourseProjectType> {
 	 * @return
 	 */
 	Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+
+    CourseProjectType getProjectByTenant(String encoder, Long newTenantId);
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/IMajorService.java

@@ -49,4 +49,6 @@ public interface IMajorService extends IService<Major> {
 	 * @return
 	 */
 	Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+
+    Major getMajorByTenant(String encoder, Long newTenantId);
 }

+ 5 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/impl/CourseBusinessServiceImpl.java

@@ -232,4 +232,9 @@ public class CourseBusinessServiceImpl extends ServiceImpl<CourseBusinessMapper,
         return baseMapper.queryFullName(bo);
     }
 
+    @Override
+    public CourseBusiness getBusinessByTenant(String encoder, Long newTenantId) {
+        return baseMapper.getBusinessByTenant(encoder,newTenantId);
+    }
+
 }

+ 2 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/impl/CourseChapterServiceImpl.java

@@ -77,8 +77,8 @@ public class CourseChapterServiceImpl extends ServiceImpl<CourseChapterMapper, C
     }
 
     @Override
-    public List<CourseChapterVo> selectList(CourseChapterQueryBo bo) {
-        return courseChapterMapper.selectList(bo);
+    public List<CourseChapterVo> selectListByBo(CourseChapterQueryBo bo) {
+        return courseChapterMapper.selectListByBo(bo);
     }
 
     /**

+ 5 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/impl/CourseEducationTypeServiceImpl.java

@@ -183,4 +183,9 @@ public class CourseEducationTypeServiceImpl extends ServiceImpl<CourseEducationT
         }
         return this.removeByIds(ids);
     }
+
+    @Override
+    public CourseEducationType getEducationTypeBytenant(String encoder, Long newTenantId) {
+        return baseMapper.getEducationTypeBytenant(encoder,newTenantId);
+    }
 }

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/impl/CourseModuleServiceImpl.java

@@ -63,7 +63,7 @@ public class CourseModuleServiceImpl extends ServiceImpl<CourseModuleMapper, Cou
 
     @Override
     public List<CourseModuleVo> selectList(CourseModuleQueryBo bo) {
-        return courseModuleMapper.selectList(bo);
+        return courseModuleMapper.selectListByBo(bo);
     }
 
     @Override

+ 5 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/impl/CourseProjectTypeServiceImpl.java

@@ -128,4 +128,9 @@ public class CourseProjectTypeServiceImpl extends ServiceImpl<CourseProjectTypeM
         }
         return this.removeByIds(ids);
     }
+
+    @Override
+    public CourseProjectType getProjectByTenant(String encoder, Long newTenantId) {
+        return baseMapper.getProjectByTenant(encoder,newTenantId);
+    }
 }

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/impl/CourseStreamingServiceImpl.java

@@ -59,7 +59,7 @@ public class CourseStreamingServiceImpl extends ServiceImpl<CourseStreamingMappe
 
     @Override
     public List<CourseStreamingVo> selectList(CourseStreamingQueryBo bo) {
-        return courseStreamingMapper.selectList(bo);
+        return courseStreamingMapper.selectListByBo(bo);
     }
 
     @Override

+ 5 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/impl/MajorServiceImpl.java

@@ -172,4 +172,9 @@ public class MajorServiceImpl extends ServiceImpl<MajorMapper, Major> implements
         }
         return this.removeByIds(ids);
     }
+
+    @Override
+    public Major getMajorByTenant(String encoder, Long newTenantId) {
+        return baseMapper.getMajorByTenant(encoder,newTenantId);
+    }
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/domain/ExamPaper.java

@@ -40,4 +40,6 @@ private static final long serialVersionUID=1L;
     private String remark;
     /** 编码SJ */
     private String encoder;
+
+    private Long tenantId;
 }

+ 21 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/bo/GoodsBatchCopyTenantBo.java

@@ -0,0 +1,21 @@
+package com.zhongzheng.modules.goods.bo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @author yangdamao
+ * @date 2022年12月28日 9:28
+ */
+@Data
+public class GoodsBatchCopyTenantBo implements Serializable {
+
+    @ApiModelProperty("机构ID")
+    private Long tenantId;
+
+    @ApiModelProperty("商品IDS")
+    private List<Long> goodsIds;
+}

+ 39 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/bo/GoodsStudyUrlBo.java

@@ -0,0 +1,39 @@
+package com.zhongzheng.modules.goods.bo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+
+/**
+ * @author yangdamao
+ * @date 2022年12月26日 13:51
+ */
+@Data
+public class GoodsStudyUrlBo implements Serializable {
+
+    @ApiModelProperty("商品ID")
+    @NotBlank(message = "商品ID不能为空")
+    private Long goodsId;
+
+    @ApiModelProperty("用户手机号码")
+    @NotBlank(message = "用户手机号码不能为空")
+    private String telphone;
+
+    @ApiModelProperty("当前时间戳")
+    @NotBlank(message = "当前时间戳不能为空")
+    private Long stamp;
+
+    @ApiModelProperty("签名")
+    @NotBlank(message = "签名不能为空")
+    private String sign;
+
+    @ApiModelProperty("跳转端:1 PC端,2 H5")
+    @NotBlank(message = "跳转端口不能为空")
+    private Integer skipPort;
+
+    @ApiModelProperty("企业ID")
+    @NotBlank(message = "企业ID")
+    private Long tenantId;
+}

+ 27 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/bo/UserGoodsListBo.java

@@ -0,0 +1,27 @@
+package com.zhongzheng.modules.goods.bo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+
+/**
+ * @author yangdamao
+ * @date 2022年12月22日 9:35
+ */
+@Data
+public class UserGoodsListBo implements Serializable {
+
+    @ApiModelProperty("手机号")
+    @NotBlank(message = "手机号")
+    private String telphone;
+
+    @ApiModelProperty("当前时间戳")
+    @NotBlank(message = "当前时间戳不能为空")
+    private Long stamp;
+
+    @ApiModelProperty("签名")
+    @NotBlank(message = "签名不能为空")
+    private String sign;
+}

+ 1 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/domain/Goods.java

@@ -145,4 +145,5 @@ private static final long serialVersionUID=1L;
     private Integer showStatus;
     /** 显示排序字段 */
     private Long showSort;
+    private Long tenantId;
 }

+ 1 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/domain/GoodsCourse.java

@@ -37,4 +37,5 @@ private static final long serialVersionUID=1L;
     private Integer courseShow;
     /** 别名 */
     private String aliasName;
+    private Long tenantId;
 }

+ 1 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/domain/GoodsCourseTeacher.java

@@ -40,4 +40,5 @@ private static final long serialVersionUID=1L;
     private Integer status;
     /** 商品ID */
     private Long goodsId;
+    private Long tenantId;
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/domain/GoodsSpec.java

@@ -42,4 +42,6 @@ private static final long serialVersionUID=1L;
     /** 更新时间 */
     @TableField(fill = FieldFill.INSERT_UPDATE)
     private Long updateTime;
+
+    private Long tenantId;
 }

+ 1 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/domain/GoodsSpecAttribute.java

@@ -42,4 +42,5 @@ private static final long serialVersionUID=1L;
     /** 更新时间 */
     @TableField(fill = FieldFill.INSERT_UPDATE)
     private Long updateTime;
+    private Long tenantId;
 }

+ 1 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/domain/GoodsSpecAttributeRelation.java

@@ -40,4 +40,5 @@ private static final long serialVersionUID=1L;
     /** 更新时间 */
     @TableField(fill = FieldFill.INSERT_UPDATE)
     private Long updateTime;
+    private Long tenantId;
 }

+ 1 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/domain/GoodsSpecTemplate.java

@@ -42,4 +42,5 @@ private static final long serialVersionUID=1L;
     /** 更新时间 */
     @TableField(fill = FieldFill.INSERT_UPDATE)
     private Long updateTime;
+    private Long tenantId;
 }

+ 5 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/mapper/GoodsCourseMapper.java

@@ -1,5 +1,6 @@
 package com.zhongzheng.modules.goods.mapper;
 
+import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.zhongzheng.modules.course.vo.CourseVo;
 import com.zhongzheng.modules.goods.bo.GoodsCourseQueryBo;
@@ -8,6 +9,7 @@ import com.zhongzheng.modules.goods.domain.GoodsCourse;
 import com.zhongzheng.modules.goods.vo.GoodsCourseMoreVo;
 import com.zhongzheng.modules.goods.vo.GoodsCourseVo;
 import com.zhongzheng.modules.goods.vo.GoodsVo;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -21,4 +23,7 @@ public interface GoodsCourseMapper extends BaseMapper<GoodsCourse> {
     List<CourseVo> getList(GoodsCourseQueryBo bo);
     List<GoodsCourseMoreVo> selectListMore(GoodsCourseQueryBo bo);
     List<GoodsCourseVo> selectGoodsList(Long courseId);
+
+    @InterceptorIgnore(tenantLine = "true")
+    List<Long> getCourseIdsByGoodsAndTenant(@Param("goodsId") Long goodsId,@Param("tenantId") Long tenantId);
 }

+ 12 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/mapper/GoodsMapper.java

@@ -1,5 +1,6 @@
 package com.zhongzheng.modules.goods.mapper;
 
+import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.zhongzheng.modules.course.bo.CourseQueryBo;
 import com.zhongzheng.modules.course.vo.CourseVo;
@@ -8,6 +9,8 @@ import com.zhongzheng.modules.exam.vo.ExamNumberGoodsVo;
 import com.zhongzheng.modules.goods.bo.GoodsQueryBo;
 import com.zhongzheng.modules.goods.domain.Goods;
 import com.zhongzheng.modules.goods.vo.GoodsVo;
+import com.zhongzheng.modules.goods.vo.UserGoodsListVo;
+import com.zhongzheng.modules.goods.vo.UserOrderGoodsVo;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -40,4 +43,13 @@ public interface GoodsMapper extends BaseMapper<Goods> {
     GoodsVo getSectionNum(CourseQueryBo bo);
 
     Long getSectionNum(Long goodsId);
+
+    @InterceptorIgnore(tenantLine = "true")
+    List<UserGoodsListVo> getOrderGoodsListByUser(Long userId);
+
+    @InterceptorIgnore(tenantLine = "true")
+    UserOrderGoodsVo countUserOrderGoods(@Param("goodsId") Long goodsId, @Param("userId") Long userId,@Param("tenantId")Long tenantId);
+
+    @InterceptorIgnore(tenantLine = "true")
+    GoodsVo queryGoodsByIdTenant(@Param("goodsId") Long goodsId,@Param("tenantId")Long tenantId);
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/IGoodsCourseService.java

@@ -57,4 +57,6 @@ public interface IGoodsCourseService extends IService<GoodsCourse> {
 	 * @return
 	 */
 	Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+
+    List<Long> getCourseIdsByGoodsAndTenant(Long goodsId, Long trainOrgId);
 }

+ 8 - 4
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/IGoodsService.java

@@ -9,10 +9,7 @@ import com.zhongzheng.modules.exam.bo.ExamNumberGoodsQueryBo;
 import com.zhongzheng.modules.exam.vo.ExamNumberGoodsVo;
 import com.zhongzheng.modules.goods.bo.*;
 import com.zhongzheng.modules.goods.domain.Goods;
-import com.zhongzheng.modules.goods.vo.BankGoodsExamVo;
-import com.zhongzheng.modules.goods.vo.GoodsSpecTemplateVo;
-import com.zhongzheng.modules.goods.vo.GoodsJzsVo;
-import com.zhongzheng.modules.goods.vo.GoodsVo;
+import com.zhongzheng.modules.goods.vo.*;
 import com.zhongzheng.modules.grade.vo.SyncGoodsExport;
 
 import java.util.Collection;
@@ -102,4 +99,11 @@ public interface IGoodsService extends IService<Goods> {
 
     boolean cancelSpecTemplate(GoodsSpecTempEditBo bo);
 
+    List<UserGoodsListVo> getUserGoodsList(UserGoodsListBo bo);
+
+    String getGoodsStudyUrl(GoodsStudyUrlBo bo);
+
+    boolean goodsBatchCopyTenant(GoodsBatchCopyTenantBo bo);
+
+	boolean goodsBatchCopyDisposeTenant();
 }

+ 5 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/impl/GoodsCourseServiceImpl.java

@@ -117,4 +117,9 @@ public class GoodsCourseServiceImpl extends ServiceImpl<GoodsCourseMapper, Goods
         }
         return this.removeByIds(ids);
     }
+
+    @Override
+    public List<Long> getCourseIdsByGoodsAndTenant(Long goodsId, Long trainOrgId) {
+        return baseMapper.getCourseIdsByGoodsAndTenant(goodsId,trainOrgId);
+    }
 }

File diff suppressed because it is too large
+ 2123 - 130
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/impl/GoodsServiceImpl.java


Some files were not shown because too many files changed in this diff