renqianlong 1 år sedan
förälder
incheckning
eb36f917fc

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

@@ -131,7 +131,32 @@ public class RedisCache
         String unionKey = key;
         return operation.get(unionKey);
     }
+    /**
+     * 缓存基本的对象,Integer、String、实体类等
+     *
+     * @param key 缓存的键值
+     * @param value 缓存的值
+     */
+    public <T> void setBsCacheObject(final String key, final T value)
+    {
+        String unionKey = key;
+        redisTemplate.opsForValue().set(unionKey, value);
+    }
 
+    /**
+     * 缓存基本的对象,Integer、String、实体类等
+     *
+     * @param key 缓存的键值
+     * @param value 缓存的值
+     * @param timeout 时间
+     * @param timeUnit 时间颗粒度
+     */
+    public <T> void setBsCacheObject(final String key, final T value, final Integer timeout, final TimeUnit timeUnit)
+    {
+        String unionKey = key;
+        redisTemplate.opsForValue().set(unionKey, value, timeout, timeUnit);
+
+    }
     /**
      * 获得缓存的基本对象。
      *
@@ -162,6 +187,17 @@ public class RedisCache
         return redisTemplate.delete(unionKey);
     }
 
+    /**
+     * 删除单个对象
+     *
+     * @param key
+     */
+    public boolean deleteBsObject(final String key)
+    {
+        String unionKey = key;
+        return redisTemplate.delete(unionKey);
+    }
+
     /**
      * 删除集合对象
      *

+ 11 - 11
zhongzheng-framework/src/main/java/com/zhongzheng/framework/mybatisplus/CustomCompanyLineHandler.java

@@ -65,17 +65,17 @@ public class CustomCompanyLineHandler implements TenantLineHandler {
             }
         }
         return new LongValue(companyId);
-}
+    }
 
-/**
- * 获取租户字段名(数据库的租户ID字段名)
- *
- * @return
- */
-@Override
-public String getTenantIdColumn() {
-    return COMPANY_ID_COLUMN;
-}
+    /**
+     * 获取租户字段名(数据库的租户ID字段名)
+     *
+     * @return
+     */
+    @Override
+    public String getTenantIdColumn() {
+        return COMPANY_ID_COLUMN;
+    }
 
 
     /**
@@ -86,7 +86,7 @@ public String getTenantIdColumn() {
      */
     @Override
     public boolean ignoreTable(String tableName) {
-       Boolean flag = IGNORE_TABLE_NAMES.contains(tableName) || !tableName.contains("bs_");
+        Boolean flag = IGNORE_TABLE_NAMES.contains(tableName) || !tableName.contains("bs_company") || !tableName.contains("bs_staff");
         return flag;
     }
 }

+ 2 - 2
zhongzheng-framework/src/main/java/com/zhongzheng/framework/web/service/BsTokenService.java

@@ -116,7 +116,7 @@ public class BsTokenService
         if (Validator.isNotEmpty(token))
         {
             String userKey = getTokenKey(token);
-            redisCache.deleteObject(userKey);
+            redisCache.deleteBsObject(userKey);
         }
     }
 
@@ -175,7 +175,7 @@ public class BsTokenService
         loginUser.setExpireTime(loginUser.getLoginTime() + expireTime * MILLIS_MINUTE);
         // 根据uuid将loginUser缓存
         String userKey = getTokenKey(loginUser.getToken());
-        redisCache.setCacheObject(userKey, loginUser, expireTime, TimeUnit.MINUTES);
+        redisCache.setBsCacheObject(userKey, loginUser, expireTime, TimeUnit.MINUTES);
     }
 
     /**

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bs/company/bo/CompanyQueryBo.java

@@ -97,4 +97,7 @@ public class CompanyQueryBo extends BaseEntity {
 	/** 公司以及部门联系人 */
 	@ApiModelProperty("公司以及部门联系人")
 	private String AllTypeName;
+	/** 公司以及部门联系人 */
+	@ApiModelProperty("公司id")
+	private Long companyId;
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bs/company/domain/Company.java

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

+ 7 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/bs/company/mapper/CompanyMapper.java

@@ -1,7 +1,12 @@
 package com.zhongzheng.modules.bs.company.mapper;
 
+import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
 import com.zhongzheng.modules.bs.company.domain.Company;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zhongzheng.modules.bs.company.domain.CompanyDepartment;
+import com.zhongzheng.modules.bs.company.vo.CompanyVo;
+
+import java.util.List;
 
 /**
  * 企业Mapper接口
@@ -10,5 +15,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  * @date 2024-03-18
  */
 public interface CompanyMapper extends BaseMapper<Company> {
-
+    @InterceptorIgnore(tenantLine = "true")
+    List<CompanyVo> selectCompanyList(Company company);
 }

+ 14 - 22
zhongzheng-system/src/main/java/com/zhongzheng/modules/bs/company/service/impl/CompanyServiceImpl.java

@@ -6,6 +6,7 @@ import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.zhongzheng.common.exception.CustomException;
 import com.zhongzheng.common.utils.DateUtils;
+import com.zhongzheng.common.utils.ServletUtils;
 import com.zhongzheng.modules.bs.company.domain.CompanyCertificate;
 import com.zhongzheng.modules.bs.company.domain.CompanyDepartment;
 import com.zhongzheng.modules.bs.company.service.ICompanyCertificateService;
@@ -55,27 +56,14 @@ public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> impl
 
     @Override
     public List<CompanyVo> queryList(CompanyQueryBo bo) {
-        LambdaQueryWrapper<Company> lqw = Wrappers.lambdaQuery();
-        lqw.like(StrUtil.isNotBlank(bo.getCompanyName()), Company::getCompanyName, bo.getCompanyName());
-        lqw.eq(StrUtil.isNotBlank(bo.getCreditCode()), Company::getCreditCode, bo.getCreditCode());
-        lqw.eq(bo.getCompanyType() != null, Company::getCompanyType, bo.getCompanyType());
-        lqw.eq(bo.getRegisteredCapital() != null, Company::getRegisteredCapital, bo.getRegisteredCapital());
-        lqw.eq(StrUtil.isNotBlank(bo.getLegalRepresentative()), Company::getLegalRepresentative, bo.getLegalRepresentative());
-        lqw.eq(StrUtil.isNotBlank(bo.getCompanyAddress()), Company::getCompanyAddress, bo.getCompanyAddress());
-        lqw.eq(bo.getEstablishDate() != null, Company::getEstablishDate, bo.getEstablishDate());
-        lqw.eq(bo.getOperateDate() != null, Company::getOperateDate, bo.getOperateDate());
-        lqw.eq(StrUtil.isNotBlank(bo.getRegistrationAuthority()), Company::getRegistrationAuthority, bo.getRegistrationAuthority());
-        lqw.eq(StrUtil.isNotBlank(bo.getExperienceScope()), Company::getExperienceScope, bo.getExperienceScope());
-        lqw.eq(StrUtil.isNotBlank(bo.getCompanyContacts()), Company::getCompanyContacts, bo.getCompanyContacts());
-        lqw.eq(StrUtil.isNotBlank(bo.getContactPhone()), Company::getContactPhone, bo.getContactPhone());
-        lqw.eq(StrUtil.isNotBlank(bo.getDepartment()), Company::getDepartment, bo.getDepartment());
-        lqw.eq(StrUtil.isNotBlank(bo.getPosition()), Company::getPosition, bo.getPosition());
-        lqw.eq(StrUtil.isNotBlank(bo.getCompanyRemarks()), Company::getCompanyRemarks, bo.getCompanyRemarks());
-        lqw.eq(bo.getCompanyLevel() != null, Company::getCompanyLevel, bo.getCompanyLevel());
-        lqw.eq(ObjectUtil.isNotEmpty(bo.getFatherId()), Company::getFatherId, bo.getFatherId());
-        lqw.eq( Company::getStatus, 1);
-        return entity2Vo(this.list(lqw));
-
+        Long companyId = Long.valueOf((ServletUtils.getRequest().getHeader("companyId")));
+        Company company = this.baseMapper.selectById(companyId);
+        CompanyVo bean = BeanUtil.toBean(company, CompanyVo.class);
+        Company company1 = new Company();
+        company1.setFatherId(companyId);
+        List<CompanyVo> companyVos = this.baseMapper.selectCompanyList(company1);
+        companyVos.add(bean);
+        return companyVos;
     }
 
     /**
@@ -102,7 +90,7 @@ public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> impl
     public Boolean insertByAddBo(CompanyAddBo bo) {
         Company add = BeanUtil.toBean(bo, Company.class);
         validEntityBeforeSave(add);
-        if(ObjectUtil.isAllNotEmpty(bo.getEstablishDate(),bo.getOperateDate())){
+        if (ObjectUtil.isAllNotEmpty(bo.getEstablishDate(), bo.getOperateDate())) {
             Date issuancedate = new Date(bo.getEstablishDate() * 1000L);
             Date effectivedate = new Date(bo.getOperateDate() * 1000L);
             if (effectivedate.compareTo(issuancedate) < 0) {
@@ -170,6 +158,10 @@ public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> impl
     @Override
     public List<CompanyVo> selectCompanyDepartment(CompanyQueryBo bo) {
         List<CompanyVo> companyVos = this.queryList(bo);
+        Company company = new Company();
+        company.setFatherId(Long.valueOf((ServletUtils.getRequest().getHeader("companyId"))));
+        List<CompanyVo> sonCompanyVos = this.baseMapper.selectCompanyList(company);
+        companyVos.addAll(sonCompanyVos);
         if (ObjectUtil.isNotEmpty(companyVos)) {
             companyVos.forEach(item -> {
                 //判断当前企业是否关联企业证书和员工信息

+ 32 - 15
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/impl/CourseSubjectServiceImpl.java

@@ -10,13 +10,16 @@ import com.github.pagehelper.Page;
 import com.zhongzheng.common.utils.DateUtils;
 import com.zhongzheng.common.utils.ServletUtils;
 import com.zhongzheng.modules.course.bo.*;
+import com.zhongzheng.modules.course.domain.CourseEducationType;
 import com.zhongzheng.modules.course.domain.CourseSubject;
 import com.zhongzheng.modules.course.domain.CourseSubjectProject;
 import com.zhongzheng.modules.course.mapper.CourseSubjectMapper;
+import com.zhongzheng.modules.course.service.ICourseEducationTypeService;
 import com.zhongzheng.modules.course.service.ICourseSubjectProjectService;
 import com.zhongzheng.modules.course.service.ICourseSubjectService;
 import com.zhongzheng.modules.course.vo.CourseProjectTypeVo;
 import com.zhongzheng.modules.course.vo.CourseSubjectVo;
+import com.zhongzheng.modules.goods.vo.GoodsType;
 import com.zhongzheng.modules.grade.bo.ClassGradeListBo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -39,7 +42,7 @@ public class CourseSubjectServiceImpl extends ServiceImpl<CourseSubjectMapper, C
     private ICourseSubjectProjectService courseSubjectProjectService;
 
     @Override
-    public CourseSubjectVo queryById(Long id){
+    public CourseSubjectVo queryById(Long id) {
         CourseSubject db = this.baseMapper.selectById(id);
         CourseSubjectVo courseSubjectVo = BeanUtil.toBean(db, CourseSubjectVo.class);
         CourseProjectTypeQueryBo courseProjectTypeQueryBo = new CourseProjectTypeQueryBo();
@@ -55,26 +58,40 @@ public class CourseSubjectServiceImpl extends ServiceImpl<CourseSubjectMapper, C
     @Override
     public List<CourseSubjectVo> queryList(CourseSubjectQueryBo bo) {
         List<CourseSubjectVo> courseSubjectVos = entity2Vo(baseMapper.queryList(bo));
+        List<GoodsType> goodsTypeList = new ArrayList<>();
+        GoodsType goodsType = new GoodsType();
+        goodsType.setGoodsType(1);
+        goodsType.setGoodsTypeName("课程");
+        goodsTypeList.add(goodsType);
+        GoodsType goodsType1 = new GoodsType();
+        goodsType1.setGoodsType(2);
+        goodsType1.setGoodsTypeName("题库");
+        goodsTypeList.add(goodsType1);
+        GoodsType goodsType2 = new GoodsType();
+        goodsType2.setGoodsType(6);
+        goodsType2.setGoodsTypeName("直播");
+        goodsTypeList.add(goodsType2);
         for (CourseSubjectVo courseSubjectVo : courseSubjectVos) {
             courseSubjectVo.setCourseProjectTypes(baseMapper.queryProject(courseSubjectVo.getId()));
+            courseSubjectVo.setGoodsTypeList(goodsTypeList);
         }
         return courseSubjectVos;
     }
 
     /**
-    * 实体类转化成视图对象
-    *
-    * @param collection 实体类集合
-    * @return
-    */
+     * 实体类转化成视图对象
+     *
+     * @param collection 实体类集合
+     * @return
+     */
     private List<CourseSubjectVo> entity2Vo(Collection<CourseSubjectVo> collection) {
         List<CourseSubjectVo> voList = collection.stream()
                 .map(any -> BeanUtil.toBean(any, CourseSubjectVo.class))
                 .collect(Collectors.toList());
         if (collection instanceof Page) {
-            Page<CourseSubjectVo> page = (Page<CourseSubjectVo>)collection;
+            Page<CourseSubjectVo> page = (Page<CourseSubjectVo>) collection;
             Page<CourseSubjectVo> pageVo = new Page<>();
-            BeanUtil.copyProperties(page,pageVo);
+            BeanUtil.copyProperties(page, pageVo);
             pageVo.addAll(voList);
             voList = pageVo;
         }
@@ -91,7 +108,7 @@ public class CourseSubjectServiceImpl extends ServiceImpl<CourseSubjectMapper, C
         status.add(0);
         courseSubjectQueryBo.setStatus(status);
         courseSubjectQueryBo.setCourseSubjectProjects(bo.getCourseSubjectProjects());
-        if (baseMapper.countNum(courseSubjectQueryBo)>0){
+        if (baseMapper.countNum(courseSubjectQueryBo) > 0) {
             throw new RuntimeException("该科目下已存在重复科目名称");
         }
         CourseSubject add = BeanUtil.toBean(bo, CourseSubject.class);
@@ -116,14 +133,14 @@ public class CourseSubjectServiceImpl extends ServiceImpl<CourseSubjectMapper, C
         courseSubjectQueryBo.setSubjectName(bo.getSubjectName());
         courseSubjectQueryBo.setId(bo.getId());
         Collection<CourseSubjectVo> courseSubjectVos = baseMapper.queryList(courseSubjectQueryBo);
-        if (CollectionUtils.isEmpty(courseSubjectVos)){
+        if (CollectionUtils.isEmpty(courseSubjectVos)) {
             CourseSubjectQueryBo courseSubjectQuery = new CourseSubjectQueryBo();
             courseSubjectQuery.setSubjectName(bo.getSubjectName());
             List<Integer> status = new ArrayList<>();
             status.add(1);
             courseSubjectQuery.setStatus(status);
             courseSubjectQueryBo.setCourseSubjectProjects(bo.getCourseSubjectProjects());
-            if (baseMapper.countNum(courseSubjectQueryBo)>0){
+            if (baseMapper.countNum(courseSubjectQueryBo) > 0) {
                 throw new RuntimeException("该科目下已存在重复科目名称");
             }
         }
@@ -150,13 +167,13 @@ public class CourseSubjectServiceImpl extends ServiceImpl<CourseSubjectMapper, C
      *
      * @param entity 实体类数据
      */
-    private void validEntityBeforeSave(CourseSubject entity){
+    private void validEntityBeforeSave(CourseSubject entity) {
         //TODO 做一些数据校验,如唯一约束
     }
 
     @Override
     public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
-        if(isValid){
+        if (isValid) {
             //TODO 做一些业务上的校验,判断是否需要校验
         }
         return this.removeByIds(ids);
@@ -166,7 +183,7 @@ public class CourseSubjectServiceImpl extends ServiceImpl<CourseSubjectMapper, C
     public List<CourseSubjectVo> queryListAll(CourseSubjectQueryBo bo) {
         Collection<CourseSubjectVo> courseSubjectVos = baseMapper.queryList(bo);
         //查询没有绑定业务类型得科目
-        if (bo.getEducationId() != null || bo.getBusinessId() != null || bo.getProjectId() !=null){
+        if (bo.getEducationId() != null || bo.getBusinessId() != null || bo.getProjectId() != null) {
             CourseSubjectQueryBo courseSubjectQueryBo = new CourseSubjectQueryBo();
             courseSubjectQueryBo.setWrong(1L);
             courseSubjectVos.addAll(baseMapper.queryList(courseSubjectQueryBo));
@@ -176,7 +193,7 @@ public class CourseSubjectServiceImpl extends ServiceImpl<CourseSubjectMapper, C
 
     @Override
     public CourseSubject getSubjectByTenant(String encoder, Long newTenantId) {
-        return baseMapper.getSubjectByTenant(encoder,newTenantId);
+        return baseMapper.getSubjectByTenant(encoder, newTenantId);
     }
 
     @Override

+ 6 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/vo/CourseSubjectVo.java

@@ -2,7 +2,9 @@ package com.zhongzheng.modules.course.vo;
 
 import com.zhongzheng.common.annotation.Excel;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.zhongzheng.modules.course.domain.CourseEducationType;
 import com.zhongzheng.modules.goods.vo.CompanyGoodsVo;
+import com.zhongzheng.modules.goods.vo.GoodsType;
 import com.zhongzheng.modules.goods.vo.GoodsVo;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -47,6 +49,10 @@ public class CourseSubjectVo {
 	@Excel(name = "绑定项目类型")
 	@ApiModelProperty("绑定项目类型")
 	private List<CourseProjectTypeVo> courseProjectTypes;
+	/** 备注 */
+	@Excel(name = "科目教育类型列表")
+	@ApiModelProperty("科目教育类型列表")
+	private List<GoodsType> goodsTypeList;
 	/** 排序 */
 	@Excel(name = "排序")
 	@ApiModelProperty("排序")

+ 26 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/vo/GoodsType.java

@@ -0,0 +1,26 @@
+package com.zhongzheng.modules.goods.vo;
+
+import com.zhongzheng.common.annotation.Excel;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+
+/**
+ * 商品视图对象 mall_package
+ *
+ * @author hjl
+ * @date 2021-10-12
+ */
+@Data
+@ApiModel("商品类型对象")
+public class GoodsType {
+	private static final long serialVersionUID = 1L;
+
+	@Excel(name = "供应方" , readConverterExp = "商品类型 1视频2题库 6直播  ")
+	@ApiModelProperty("商品类型 1视频2题库 6直播 ")
+	private Integer goodsType;
+
+	@ApiModelProperty("关联题库ids")
+	private String goodsTypeName;
+}

+ 27 - 1
zhongzheng-system/src/main/resources/mapper/modules/company/CompanyMapper.xml

@@ -30,6 +30,32 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="createTime" column="create_time"/>
         <result property="updateTime" column="update_time"/>
     </resultMap>
-
+    <resultMap type="com.zhongzheng.modules.bs.company.vo.CompanyVo" id="CompanyVoResult">
+        <result property="companyId" column="company_id"/>
+        <result property="tenantId" column="tenant_id"/>
+        <result property="companyName" column="company_name"/>
+        <result property="creditCode" column="credit_code"/>
+        <result property="companyType" column="company_type"/>
+        <result property="registeredCapital" column="registered_capital"/>
+        <result property="legalRepresentative" column="legal_representative"/>
+        <result property="companyAddress" column="company_address"/>
+        <result property="establishDate" column="establish_date"/>
+        <result property="operateDate" column="operate_date"/>
+        <result property="longFlag" column="long_flag"/>
+        <result property="registrationAuthority" column="registration_authority"/>
+        <result property="experienceScope" column="experience_scope"/>
+        <result property="companyContacts" column="company_contacts"/>
+        <result property="contactPhone" column="contact_phone"/>
+        <result property="department" column="department"/>
+        <result property="position" column="position"/>
+        <result property="companyRemarks" column="company_remarks"/>
+        <result property="companyLevel" column="company_level"/>
+        <result property="businessImg" column="business_img"/>
+        <result property="fatherId" column="father_id"/>
+        <result property="status" column="status"/>
+    </resultMap>
+<select id="selectCompanyList" parameterType="com.zhongzheng.modules.bs.company.domain.Company" resultMap="CompanyVoResult">
+    select * from bs_company where status=1 and father_id=#{fatherId}
+</select>
 
 </mapper>