yangdamao 2 years ago
parent
commit
90b8b60e09
26 changed files with 318 additions and 1 deletions
  1. 9 0
      zhongzheng-admin/src/main/java/com/zhongzheng/controller/goods/GoodsController.java
  2. 3 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/mapper/CourseMapper.java
  3. 5 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/mapper/CourseModuleMapper.java
  4. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/ICourseModuleService.java
  5. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/ICourseService.java
  6. 5 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/impl/CourseModuleServiceImpl.java
  7. 5 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/impl/CourseServiceImpl.java
  8. 8 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/mapper/GoodsSpecAttributeMapper.java
  9. 4 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/mapper/GoodsSpecAttributeRelationMapper.java
  10. 7 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/mapper/GoodsSpecMapper.java
  11. 4 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/mapper/GoodsSpecTemplateMapper.java
  12. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/IGoodsSpecAttributeRelationService.java
  13. 3 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/IGoodsSpecAttributeService.java
  14. 3 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/IGoodsSpecService.java
  15. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/IGoodsSpecTemplateService.java
  16. 159 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/impl/GoodsServiceImpl.java
  17. 5 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/impl/GoodsSpecAttributeRelationServiceImpl.java
  18. 10 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/impl/GoodsSpecAttributeServiceImpl.java
  19. 10 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/impl/GoodsSpecServiceImpl.java
  20. 5 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/impl/GoodsSpecTemplateServiceImpl.java
  21. 4 0
      zhongzheng-system/src/main/resources/mapper/modules/course/CourseMapper.xml
  22. 4 0
      zhongzheng-system/src/main/resources/mapper/modules/course/CourseModuleMapper.xml
  23. 20 0
      zhongzheng-system/src/main/resources/mapper/modules/goods/GoodsSpecAttributeMapper.xml
  24. 11 0
      zhongzheng-system/src/main/resources/mapper/modules/goods/GoodsSpecAttributeRelationMapper.xml
  25. 15 0
      zhongzheng-system/src/main/resources/mapper/modules/goods/GoodsSpecMapper.xml
  26. 11 0
      zhongzheng-system/src/main/resources/mapper/modules/goods/GoodsSpecTemplateMapper.xml

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

@@ -338,4 +338,13 @@ public class GoodsController extends BaseController {
     public AjaxResult<Void> goodsBatchCopyDisposeTenant() {
         return toAjax(iGoodsService.goodsBatchCopyDisposeTenant() ? 1 : 0);
     }
+
+    /**
+     * 修改商品课程关联
+     */
+    @ApiOperation("修改商品课程关联")
+    @PostMapping("/update/course")
+    public AjaxResult<Void> updateCourse() {
+        return toAjax(iGoodsService.goodsBatchCopyDisposeTenant() ? 1 : 0);
+    }
 }

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

@@ -56,4 +56,7 @@ public interface CourseMapper extends BaseMapper<Course> {
     Long checkCourseHaveStudy(@Param("courseId") Long courseId);
 
     List<ClassGradeVo> gradeIdUserSelect(@Param("goodsId") Long goodsId, @Param("gradeId") Long gradeId);
+
+    @InterceptorIgnore(tenantLine = "true")
+    Course getCourseByTenant(@Param("code") String code,@Param("newTenantId") Long newTenantId);
 }

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

@@ -1,12 +1,14 @@
 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.CourseChapterQueryBo;
 import com.zhongzheng.modules.course.bo.CourseModuleQueryBo;
 import com.zhongzheng.modules.course.domain.CourseModule;
 import com.zhongzheng.modules.course.vo.CourseChapterVo;
 import com.zhongzheng.modules.course.vo.CourseModuleVo;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -18,4 +20,7 @@ import java.util.List;
  */
 public interface CourseModuleMapper extends BaseMapper<CourseModule> {
     List<CourseModuleVo> selectListByBo(CourseModuleQueryBo bo);
+
+    @InterceptorIgnore(tenantLine = "true")
+    CourseModule getModuleByTenant(@Param("code") String code,@Param("newTenantId") Long newTenantId);
 }

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

@@ -54,4 +54,6 @@ public interface ICourseModuleService extends IService<CourseModule> {
 	Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
 
     boolean batchDelModule(GoodsBatchDelBo bo);
+
+    CourseModule getModuleByTenant(String code, Long newTenantId);
 }

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

@@ -85,4 +85,6 @@ public interface ICourseService extends IService<Course> {
 	List<ClassGradeVo> gradeIdUserSelect(Long goodsId, Long gradeId);
 
 	List<GoodsUserVo> goodsProgressList(CourseQueryBo bo);
+
+    Course getCourseByTenant(String code, Long newTenantId);
 }

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

@@ -209,6 +209,11 @@ public class CourseModuleServiceImpl extends ServiceImpl<CourseModuleMapper, Cou
                 .in(CourseModule::getModuleId,bo.getIds()));
     }
 
+    @Override
+    public CourseModule getModuleByTenant(String code, Long newTenantId) {
+        return baseMapper.getModuleByTenant(code,newTenantId);
+    }
+
     private boolean checkNameUnique(CourseModule entity) {
         CourseModule info = getOne(new LambdaQueryWrapper<CourseModule>()
                 .eq(CourseModule::getPrefixName,entity.getPrefixName()).eq(CourseModule::getModuleName,entity.getModuleName()).last("limit 1"));

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

@@ -550,6 +550,11 @@ public class CourseServiceImpl extends ServiceImpl<CourseMapper, Course> impleme
         return goodsUserVos;
     }
 
+    @Override
+    public Course getCourseByTenant(String code, Long newTenantId) {
+        return baseMapper.getCourseByTenant(code,newTenantId);
+    }
+
     @Override
     public List<CourseUserVo> courseList(CourseQueryBo bo) {
         List<CourseUserVo> courseUserVos = baseMapper.courseList(bo);

+ 8 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/mapper/GoodsSpecAttributeMapper.java

@@ -1,9 +1,11 @@
 package com.zhongzheng.modules.goods.mapper;
 
 
+import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.zhongzheng.modules.goods.bo.GoodsSpecAttributeAddBo;
 import com.zhongzheng.modules.goods.domain.GoodsSpecAttribute;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -16,4 +18,10 @@ import java.util.List;
 public interface GoodsSpecAttributeMapper extends BaseMapper<GoodsSpecAttribute> {
 
     Integer saveBatchEntity(List<GoodsSpecAttributeAddBo> specAttrList);
+
+    @InterceptorIgnore(tenantLine = "true")
+    List<Long> getIdsByTenant(@Param("specIds") List<Long> specIds);
+
+    @InterceptorIgnore(tenantLine = "true")
+    Integer deleteByIdsTenant(@Param("specAttrIds") List<Long> specAttrIds);
 }

+ 4 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/mapper/GoodsSpecAttributeRelationMapper.java

@@ -1,8 +1,10 @@
 package com.zhongzheng.modules.goods.mapper;
 
 
+import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.zhongzheng.modules.goods.domain.GoodsSpecAttributeRelation;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * 【请填写功能名称】Mapper接口
@@ -12,4 +14,6 @@ import com.zhongzheng.modules.goods.domain.GoodsSpecAttributeRelation;
  */
 public interface GoodsSpecAttributeRelationMapper extends BaseMapper<GoodsSpecAttributeRelation> {
 
+    @InterceptorIgnore(tenantLine = "true")
+    Integer deleteByTemplateIdTenant(@Param("specTemplateId") Long specTemplateId,@Param("newTenantId") Long newTenantId);
 }

+ 7 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/mapper/GoodsSpecMapper.java

@@ -1,8 +1,10 @@
 package com.zhongzheng.modules.goods.mapper;
 
+import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.zhongzheng.modules.goods.bo.GoodsSpecAddBo;
 import com.zhongzheng.modules.goods.domain.GoodsSpec;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -16,4 +18,9 @@ public interface GoodsSpecMapper extends BaseMapper<GoodsSpec> {
 
     Integer saveBatchEntity(List<GoodsSpecAddBo> boList);
 
+    @InterceptorIgnore(tenantLine = "true")
+    List<Long> getIdsByTenant(@Param("specTemplateId") Long specTemplateId,@Param("newTenantId") Long newTenantId);
+
+    @InterceptorIgnore(tenantLine = "true")
+    void deleteByIdsByTenant(@Param("specIds") List<Long> specIds);
 }

+ 4 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/mapper/GoodsSpecTemplateMapper.java

@@ -1,7 +1,9 @@
 package com.zhongzheng.modules.goods.mapper;
 
+import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.zhongzheng.modules.goods.domain.GoodsSpecTemplate;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * 【请填写功能名称】Mapper接口
@@ -11,4 +13,6 @@ import com.zhongzheng.modules.goods.domain.GoodsSpecTemplate;
  */
 public interface GoodsSpecTemplateMapper extends BaseMapper<GoodsSpecTemplate> {
 
+    @InterceptorIgnore(tenantLine = "true")
+    GoodsSpecTemplate getSpecTpByTenant(@Param("name")String name,@Param("createTime")Long createTime,@Param("newTenantId") Long newTenantId);
 }

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

@@ -49,4 +49,6 @@ public interface IGoodsSpecAttributeRelationService extends IService<GoodsSpecAt
 	 * @return
 	 */
 	Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+
+    void deleteByTemplateIdTenant(Long specTemplateId, Long newTenantId);
 }

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/IGoodsSpecAttributeService.java

@@ -52,4 +52,7 @@ public interface IGoodsSpecAttributeService extends IService<GoodsSpecAttribute>
 
     Integer saveBatchEntity(List<GoodsSpecAttributeAddBo> specAttrList);
 
+    List<Long> getIdsByTenant(List<Long> specIds);
+
+	void deleteByIdsTenant(List<Long> specAttrIds);
 }

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/IGoodsSpecService.java

@@ -53,4 +53,7 @@ public interface IGoodsSpecService extends IService<GoodsSpec> {
 
     Integer saveBatchEntity(List<GoodsSpecAddBo> bos);
 
+    List<Long> getIdsByTenant(Long specTemplateId, Long newTenantId);
+
+    void deleteByIdsTenant(List<Long> specIds);
 }

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

@@ -54,4 +54,6 @@ public interface IGoodsSpecTemplateService extends IService<GoodsSpecTemplate> {
 	List<GoodsSpecAttributeRelationVo> addSpec(GoodsSpecTemplateAddBo bo);
 
 	GoodsVo getSpecTemplate(Long specTemplateId, String specAttrIds);
+
+    GoodsSpecTemplate getSpecTpByTenant(String name,Long createTime,Long newTenantId);
 }

+ 159 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/impl/GoodsServiceImpl.java

@@ -1224,7 +1224,7 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
         }
         Long tenantId = 867735392558919680L;
         Long newTenantId = bo.getTenantId();
-        List<Goods> oldGoodsList = goodsList.stream().map(x -> BeanUtil.toBean(x, Goods.class)).collect(Collectors.toList());
+        List<GoodsSpecAttributeRelation> newRelationList = new ArrayList<>();
         for (Goods goods : goodsList) {
             //判断商品是否存在
             GoodsVo newGoods = this.baseMapper.queryGoodsByIdTenant(goods.getGoodsId(),newTenantId);
@@ -1469,13 +1469,153 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
 
             //规格模板
             if (ObjectUtils.isNotNull(goods.getSpecTemplateId())){
+                List<GoodsSpecAttributeRelation> attributeRelationList = goodsSpecAttributeRelationService
+                        .list(new LambdaQueryWrapper<GoodsSpecAttributeRelation>()
+                        .eq(GoodsSpecAttributeRelation::getGoodsId, goods.getGoodsId()));
+                if (CollectionUtils.isNotEmpty(attributeRelationList)){
+                    for (GoodsSpecAttributeRelation relation : attributeRelationList) {
+                        GoodsSpecTemplate specTemplate = goodsSpecTemplateService.getById(relation.getSpecTemplateId());
+                        GoodsSpecTemplate newSpecTemplate = goodsSpecTemplateService.getSpecTpByTenant(specTemplate.getName(),specTemplate.getCreateTime(),newTenantId);
+                       if (ObjectUtils.isNotNull(newSpecTemplate)){
+                           //更新
+                           List<Long> specIds = goodsSpecService.getIdsByTenant(newSpecTemplate.getSpecTemplateId(),newTenantId);
+                           if (CollectionUtils.isNotEmpty(specIds)){
+                               //删除关联信息
+                               List<Long> specAttrIds = goodsSpecAttributeService.getIdsByTenant(specIds);
+                                if (CollectionUtils.isNotEmpty(specAttrIds)){
+                                    goodsSpecAttributeService.deleteByIdsTenant(specAttrIds);
+                                    goodsSpecAttributeRelationService.deleteByTemplateIdTenant(newSpecTemplate.getSpecTemplateId(),newTenantId);
+                                }
+                               goodsSpecService.deleteByIdsTenant(specIds);
+                           }
+                           //新增关联
+                           List<GoodsSpec> specList = goodsSpecService.list(new LambdaQueryWrapper<GoodsSpec>()
+                                   .eq(GoodsSpec::getSpecTemplateId, specTemplate.getSpecTemplateId()));
+                           if (CollectionUtils.isNotEmpty(specList)){
+                               specList.forEach(item -> {
+                                   Long oldSpecId = item.getSpecId();
+                                   item.setSpecId(null);
+                                   item.setSpecTemplateId(newSpecTemplate.getSpecTemplateId());
+                                   item.setTenantId(newTenantId);
+                                   goodsSpecService.save(item);
+                                   List<GoodsSpecAttribute> specAttributeList = goodsSpecAttributeService
+                                           .list(new LambdaQueryWrapper<GoodsSpecAttribute>()
+                                           .eq(GoodsSpecAttribute::getSpecId, oldSpecId));
+                                    if (CollectionUtils.isNotEmpty(specAttributeList)){
+                                        List<GoodsSpecAttributeRelation> relationList = goodsSpecAttributeRelationService
+                                                .list(new LambdaQueryWrapper<GoodsSpecAttributeRelation>()
+                                                .eq(GoodsSpecAttributeRelation::getSpecTemplateId, specTemplate.getSpecTemplateId()));
+                                        if (CollectionUtils.isNotEmpty(relationList)){
+                                            newRelationList.addAll(relationList);
+                                        }
+                                        List<GoodsSpecAttribute> collect = specAttributeList.stream().map(attrItem -> {
+                                            attrItem.setSpecAttributeId(null);
+                                            attrItem.setSpecId(item.getSpecId());
+                                            attrItem.setTenantId(newTenantId);
+                                            return attrItem;
+                                        }).collect(Collectors.toList());
+                                        goodsSpecAttributeService.saveBatch(collect);
+                                    }
+                               });
+                           }
+
+                       }else {
+                           Long oldSpecTemplateId = specTemplate.getSpecTemplateId();
+                           //新增
+                           specTemplate.setSpecTemplateId(null);
+                           specTemplate.setTenantId(newTenantId);
+                           goodsSpecTemplateService.save(specTemplate);
+                           //新增关联
+                           List<GoodsSpec> specList = goodsSpecService.list(new LambdaQueryWrapper<GoodsSpec>()
+                                   .eq(GoodsSpec::getSpecTemplateId, oldSpecTemplateId));
+                           if (CollectionUtils.isNotEmpty(specList)){
+                               specList.forEach(item -> {
+                                   Long oldSpecId = item.getSpecId();
+                                   item.setSpecId(null);
+                                   item.setSpecTemplateId(specTemplate.getSpecTemplateId());
+                                   item.setTenantId(newTenantId);
+                                   goodsSpecService.save(item);
+                                   List<GoodsSpecAttribute> specAttributeList = goodsSpecAttributeService
+                                           .list(new LambdaQueryWrapper<GoodsSpecAttribute>()
+                                                   .eq(GoodsSpecAttribute::getSpecId, oldSpecId));
+                                   if (CollectionUtils.isNotEmpty(specAttributeList)){
+                                       List<GoodsSpecAttributeRelation> relationList = goodsSpecAttributeRelationService
+                                               .list(new LambdaQueryWrapper<GoodsSpecAttributeRelation>()
+                                                       .eq(GoodsSpecAttributeRelation::getSpecTemplateId,oldSpecTemplateId));
+                                       if (CollectionUtils.isNotEmpty(relationList)){
+                                           newRelationList.addAll(relationList);
+                                       }
+                                       List<GoodsSpecAttribute> collect = specAttributeList.stream().map(attrItem -> {
+                                           attrItem.setSpecAttributeId(null);
+                                           attrItem.setSpecId(item.getSpecId());
+                                           attrItem.setTenantId(newTenantId);
+                                           return attrItem;
+                                       }).collect(Collectors.toList());
+                                       goodsSpecAttributeService.saveBatch(collect);
+                                   }
+                               });
+                           }
+                       }
+
+                    }
+                }
 
             }
 
+            //商品课程
+
         }
         return false;
     }
 
+    private void disposeGoodsCourse(Goods goods,Long newTenantId){
+        List<GoodsCourse> goodsCourseList = iGoodsCourseService
+                .list(new LambdaQueryWrapper<GoodsCourse>()
+                .eq(GoodsCourse::getGoodsId, goods.getGoodsId()));
+        for (GoodsCourse goodsCourse : goodsCourseList) {
+            Course course = iCourseService.getById(goodsCourse.getCourseId());
+            if(ObjectUtils.isNotNull(course)){
+                Long oldCourseId = course.getCourseId();
+                Long newCourseId = 0L;
+                Course newCourse = iCourseService.getCourseByTenant(course.getCode(),newTenantId);
+                if (ObjectUtils.isNotNull(newCourse)){
+                    newCourseId = newCourse.getCourseId();
+                }else {
+                    course.setCourseId(null);
+                    course.setTenantId(newTenantId);
+                    course.setEducationTypeId(getNewEducationTypeId(course.getEducationTypeId(),newTenantId));
+                    course.setProjectId(getNewProjectTypeId(course.getProjectId(),newTenantId));
+                    course.setSubjectId(getNewSubjectId(course.getSubjectId(), newTenantId));
+                    course.setProjectId(getNewProjectTypeId(course.getProjectId(), newTenantId));
+                    course.setMajorId(getNewMajorId(course.getMajorId(),newTenantId));
+                    iCourseService.save(course);
+                    newCourseId = course.getCourseId();
+                }
+                List<CourseMenu> courseMenuList = iCourseMenuService.list(new LambdaQueryWrapper<CourseMenu>()
+                        .eq(CourseMenu::getCourseId, oldCourseId));
+                if (CollectionUtils.isNotEmpty(courseMenuList)){
+                    for (CourseMenu courseMenu : courseMenuList) {
+                        courseMenu.setCourseId(newCourseId);
+                        Long menuId = courseMenu.getMenuId();
+                        switch (courseMenu.getType()){
+                            case 1:
+                                //模块
+                                CourseModule module = iCourseModuleService.getById(menuId);
+                                if (ObjectUtils.isNotNull(module)){
+                                    CourseModule newModule = iCourseModuleService.getModuleByTenant(module.getCode(),newTenantId);
+                                    if (ObjectUtils.isNotNull(newModule)){
+                                        courseMenu.setMenuId(newModule.getTenantId());
+                                    }
+                                }
+
+                        }
+                    }
+                }
+            }
+        }
+
+    }
+
     private Long getNewCertificateId(Long certificateId,Long newTenantId){
         CertificateCommon certificateCommon = iCertificateCommonService.getById(certificateId);
         if (ObjectUtils.isNotNull(certificateCommon)){
@@ -1551,6 +1691,24 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
         return newProject.getId();
     }
 
+    private Long getNewMajorId(Long majorId,Long newTenantId){
+        //专业
+        Major major = iMajorService.getById(majorId);
+        if (ObjectUtils.isNull(major)){
+            return null;
+        }
+        Major newMajor = iMajorService.getMajorByTenant(major.getEncoder(), newTenantId);
+        if (ObjectUtil.isNull(newMajor)){
+            //新增专业
+            major.setId(null);
+            major.setTenantId(newTenantId);
+            iMajorService.save(major);
+
+            return major.getId();
+        }
+        return newMajor.getId();
+    }
+
     private Long getNewBusinessId(Long businessId,Long newTenantId){
         //业务层次
         CourseBusiness business = iCourseBusinessService.getById(businessId);

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

@@ -106,4 +106,9 @@ public class GoodsSpecAttributeRelationServiceImpl extends ServiceImpl<GoodsSpec
         }
         return this.removeByIds(ids);
     }
+
+    @Override
+    public void deleteByTemplateIdTenant(Long specTemplateId, Long newTenantId) {
+      baseMapper.deleteByTemplateIdTenant(specTemplateId, newTenantId);
+    }
 }

+ 10 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/impl/GoodsSpecAttributeServiceImpl.java

@@ -105,4 +105,14 @@ public class GoodsSpecAttributeServiceImpl extends ServiceImpl<GoodsSpecAttribut
     public Integer saveBatchEntity(List<GoodsSpecAttributeAddBo> specAttrList) {
         return baseMapper.saveBatchEntity(specAttrList);
     }
+
+    @Override
+    public List<Long> getIdsByTenant(List<Long> specIds) {
+        return baseMapper.getIdsByTenant(specIds);
+    }
+
+    @Override
+    public void deleteByIdsTenant(List<Long> specAttrIds) {
+        baseMapper.deleteByIdsTenant(specAttrIds);
+    }
 }

+ 10 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/impl/GoodsSpecServiceImpl.java

@@ -115,5 +115,15 @@ public class GoodsSpecServiceImpl extends ServiceImpl<GoodsSpecMapper, GoodsSpec
         return baseMapper.saveBatchEntity(bos);
     }
 
+    @Override
+    public List<Long> getIdsByTenant(Long specTemplateId, Long newTenantId) {
+        return baseMapper.getIdsByTenant(specTemplateId, newTenantId);
+    }
+
+    @Override
+    public void deleteByIdsTenant(List<Long> specIds) {
+        baseMapper.deleteByIdsByTenant(specIds);
+    }
+
 
 }

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

@@ -485,4 +485,9 @@ public class GoodsSpecTemplateServiceImpl extends ServiceImpl<GoodsSpecTemplateM
         return BeanUtil.toBean(goods,GoodsVo.class);
     }
 
+    @Override
+    public GoodsSpecTemplate getSpecTpByTenant(String name,Long createTime, Long newTenantId) {
+        return baseMapper.getSpecTpByTenant(name,createTime, newTenantId);
+    }
+
 }

+ 4 - 0
zhongzheng-system/src/main/resources/mapper/modules/course/CourseMapper.xml

@@ -747,4 +747,8 @@
         </if>
         and cg.`status` =1  and cgu.change_grade = 0 and cgu.`status` = 1
     </select>
+
+    <select id="getCourseByTenant" parameterType="map" resultType="com.zhongzheng.modules.course.domain.Course">
+        select * from course where code = #{code} and tenant_id = #{newTenantId}
+    </select>
 </mapper>

+ 4 - 0
zhongzheng-system/src/main/resources/mapper/modules/course/CourseModuleMapper.xml

@@ -147,6 +147,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         ORDER BY c.module_id DESC
     </select>
 
+    <select id="getModuleByTenant" parameterType="map" resultType="com.zhongzheng.modules.course.domain.CourseModule">
+        select * from course_module where code = #{code} and tenant_id = #{newTenantId}
+    </select>
+
 
     <select id="selectList_COUNT" resultType="Long">
         SELECT

+ 20 - 0
zhongzheng-system/src/main/resources/mapper/modules/goods/GoodsSpecAttributeMapper.xml

@@ -13,4 +13,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         </foreach>
     </insert>
 
+    <select id="getIdsByTenant" parameterType="java.lang.Long" resultType="java.lang.Long">
+        select spec_attribute_id from goods_spec_attribute where 1 = 1
+        <if test="specIds != null and specIds.size()!=0 ">
+            AND spec_id in
+            <foreach collection="specIds" item="item" index="index" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
+    </select>
+
+    <delete id="deleteByIdsTenant" parameterType="java.lang.Long" >
+        DELETE FROM goods_spec_attribute WHERE 1 = 1
+        <if test="specAttrIds != null and specAttrIds.size()!=0 ">
+            AND spec_attribute_id in
+            <foreach collection="specAttrIds" item="item" index="index" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
+    </delete>
+
 </mapper>

+ 11 - 0
zhongzheng-system/src/main/resources/mapper/modules/goods/GoodsSpecAttributeRelationMapper.xml

@@ -0,0 +1,11 @@
+<?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.zhongzheng.modules.goods.mapper.GoodsSpecAttributeRelationMapper">
+
+   <delete id="deleteByTemplateIdTenant" parameterType="map">
+       DELETE FROM goods_spec_attribute_relation WHERE spec_template_id = #{specTemplateId} and tenant_id = #{newTenantId}
+   </delete>
+
+</mapper>

+ 15 - 0
zhongzheng-system/src/main/resources/mapper/modules/goods/GoodsSpecMapper.xml

@@ -13,4 +13,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         </foreach>
     </insert>
 
+    <select id="getIdsByTenant" parameterType="map" resultType="java.lang.Long">
+        select spec_id from goods_spec where spec_template_id = #{specTemplateId} and tenant_id = #{newTenantId}
+    </select>
+
+    <delete id="deleteByIdsByTenant" parameterType="java.lang.Long">
+        DELETE FROM goods_spec WHERE 1 = 1
+        <if test="specIds != null and specIds.size()!=0 ">
+            AND spec_id in
+            <foreach collection="specIds" item="item" index="index" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
+    </delete>
+
+
 </mapper>

+ 11 - 0
zhongzheng-system/src/main/resources/mapper/modules/goods/GoodsSpecTemplateMapper.xml

@@ -0,0 +1,11 @@
+<?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.zhongzheng.modules.goods.mapper.GoodsSpecTemplateMapper">
+
+   <select id="getSpecTpByTenant" parameterType="map" resultType="com.zhongzheng.modules.goods.domain.GoodsSpecTemplate">
+       select * from goods_spec_template where `name` = #{name} and create_time = #{createTime} and tenant_id = #{newTenantId}
+   </select>
+
+</mapper>