jingyuanchao 2 жил өмнө
parent
commit
5aba357600
16 өөрчлөгдсөн 358 нэмэгдсэн , 132 устгасан
  1. 16 0
      soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/IdName.java
  2. 4 0
      soc-common/soc-common-core/src/main/java/com/xunmei/common/core/web/domain/BaseEntity.java
  3. 21 13
      soc-modules/soc-modules-system/src/main/java/com/xunmei/system/controller/SysKnowledgeController.java
  4. 24 13
      soc-modules/soc-modules-system/src/main/java/com/xunmei/system/controller/SysLearningMaterialsController.java
  5. 3 26
      soc-modules/soc-modules-system/src/main/java/com/xunmei/system/domain/SysLearningMaterials.java
  6. 58 0
      soc-modules/soc-modules-system/src/main/java/com/xunmei/system/domain/vo/SysLearningMaterialsPageVo.java
  7. 30 0
      soc-modules/soc-modules-system/src/main/java/com/xunmei/system/dto/SysLearningMaterialsPageDto.java
  8. 3 0
      soc-modules/soc-modules-system/src/main/java/com/xunmei/system/mapper/SysKnowledgeMapper.java
  9. 6 0
      soc-modules/soc-modules-system/src/main/java/com/xunmei/system/mapper/SysLearningMaterialsMapper.java
  10. 10 0
      soc-modules/soc-modules-system/src/main/java/com/xunmei/system/service/ISysKnowledgeService.java
  11. 4 1
      soc-modules/soc-modules-system/src/main/java/com/xunmei/system/service/ISysLearningMaterialsService.java
  12. 2 1
      soc-modules/soc-modules-system/src/main/java/com/xunmei/system/service/impl/SysDeptServiceImpl.java
  13. 19 0
      soc-modules/soc-modules-system/src/main/java/com/xunmei/system/service/impl/SysKnowledgeServiceImpl.java
  14. 42 18
      soc-modules/soc-modules-system/src/main/java/com/xunmei/system/service/impl/SysLearningMaterialsServiceImpl.java
  15. 66 59
      soc-modules/soc-modules-system/src/main/resources/mapper/system/SysKnowledgeMapper.xml
  16. 50 1
      soc-modules/soc-modules-system/src/main/resources/mapper/system/SysLearningMaterialsMapper.xml

+ 16 - 0
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/IdName.java

@@ -0,0 +1,16 @@
+package com.xunmei.common.core.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+public class IdName<K, V> {
+    private K id;
+    private V name;
+}

+ 4 - 0
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/web/domain/BaseEntity.java

@@ -40,22 +40,26 @@ public class BaseEntity implements Serializable {
     /**
      * 创建者
      */
+    @TableField(value = "create_by")
     private String createBy;
 
     /**
      * 创建时间
      */
+    @TableField(value = "create_time")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date createTime;
 
     /**
      * 更新者
      */
+    @TableField(value = "update_by")
     private String updateBy;
 
     /**
      * 更新时间
      */
+    @TableField(value = "update_time")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date updateTime;
 

+ 21 - 13
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/controller/SysKnowledgeController.java

@@ -4,6 +4,7 @@ import java.util.List;
 import java.io.IOException;
 import javax.servlet.http.HttpServletResponse;
 
+import com.xunmei.common.core.domain.IdName;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -31,26 +32,24 @@ import com.xunmei.common.core.web.page.TableDataInfo;
  * @author xunmei
  * @date 2023-08-21
  */
-@Api(tags = {"SysKnowledge" })
+@Api(tags = {"SysKnowledge"})
 @RestController
 @RequestMapping("/knowledge")
 public class SysKnowledgeController extends BaseController {
     @Autowired
     private ISysKnowledgeService sysKnowledgeService;
 
-/**
- * 查询知识库标签列表
- */
-@ApiOperation(value = "查询SysKnowledge列表")
-@RequiresPermissions("system:knowledge:list")
-@GetMapping("/list")
+    /**
+     * 查询知识库标签列表
+     */
+    @ApiOperation(value = "查询SysKnowledge列表")
+    @RequiresPermissions("system:knowledge:list")
+    @GetMapping("/list")
     public TableDataInfo list(SysKnowledge sysKnowledge) {
-
-        return sysKnowledgeService.selectPage( sysKnowledge);
+        return sysKnowledgeService.selectPage(sysKnowledge);
     }
 
 
-
     /**
      * 获取知识库标签详细信息
      */
@@ -66,7 +65,7 @@ public class SysKnowledgeController extends BaseController {
      */
     @ApiOperation(value = "新增SysKnowledge")
     @RequiresPermissions("system:knowledge:add")
-    @Log(title = "知识库标签" , businessType = BusinessType.INSERT)
+    @Log(title = "知识库标签", businessType = BusinessType.INSERT)
     @PostMapping
     public AjaxResult add(@RequestBody SysKnowledge sysKnowledge) {
         return toAjax(sysKnowledgeService.insertSysKnowledge(sysKnowledge));
@@ -77,7 +76,7 @@ public class SysKnowledgeController extends BaseController {
      */
     @ApiOperation(value = "修改SysKnowledge")
     @RequiresPermissions("system:knowledge:edit")
-    @Log(title = "知识库标签" , businessType = BusinessType.UPDATE)
+    @Log(title = "知识库标签", businessType = BusinessType.UPDATE)
     @PutMapping
     public AjaxResult edit(@RequestBody SysKnowledge sysKnowledge) {
         return toAjax(sysKnowledgeService.updateSysKnowledge(sysKnowledge));
@@ -88,9 +87,18 @@ public class SysKnowledgeController extends BaseController {
      */
     @ApiOperation(value = "删除SysKnowledge")
     @RequiresPermissions("system:knowledge:remove")
-    @Log(title = "知识库标签" , businessType = BusinessType.DELETE)
+    @Log(title = "知识库标签", businessType = BusinessType.DELETE)
     @DeleteMapping("/{ids}")
     public AjaxResult remove(@PathVariable Long[] ids) {
         return toAjax(sysKnowledgeService.deleteSysKnowledgeByIds(ids));
     }
+
+    /**
+     * 查询知识库标签列表
+     */
+    @ApiOperation(value = "查询SysKnowledge列表")
+    @GetMapping("/dataList")
+    public List<IdName<String,String>> dataList() {
+        return sysKnowledgeService.dataList();
+    }
 }

+ 24 - 13
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/controller/SysLearningMaterialsController.java

@@ -4,6 +4,7 @@ import java.util.List;
 import java.io.IOException;
 import javax.servlet.http.HttpServletResponse;
 
+import com.xunmei.system.dto.SysLearningMaterialsPageDto;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -31,25 +32,24 @@ import com.xunmei.common.core.web.page.TableDataInfo;
  * @author xunmei
  * @date 2023-08-21
  */
-@Api(tags = {"SysLearningMaterials" })
+@Api(tags = {"SysLearningMaterials"})
 @RestController
 @RequestMapping("/materials")
 public class SysLearningMaterialsController extends BaseController {
     @Autowired
     private ISysLearningMaterialsService sysLearningMaterialsService;
 
-/**
- * 查询学习资料列表
- */
-@ApiOperation(value = "查询SysLearningMaterials列表")
-@RequiresPermissions("system:materials:list")
-@GetMapping("/list")
-    public TableDataInfo list(SysLearningMaterials sysLearningMaterials) {
-        return sysLearningMaterialsService.selectPage( sysLearningMaterials);
+    /**
+     * 查询学习资料列表
+     */
+    @ApiOperation(value = "查询SysLearningMaterials列表")
+    @RequiresPermissions("system:materials:list")
+    @GetMapping("/list")
+    public TableDataInfo list(SysLearningMaterialsPageDto sysLearningMaterials) {
+        return sysLearningMaterialsService.selectPage(sysLearningMaterials);
     }
 
 
-
     /**
      * 获取学习资料详细信息
      */
@@ -65,7 +65,7 @@ public class SysLearningMaterialsController extends BaseController {
      */
     @ApiOperation(value = "新增SysLearningMaterials")
     @RequiresPermissions("system:materials:add")
-    @Log(title = "学习资料" , businessType = BusinessType.INSERT)
+    @Log(title = "学习资料", businessType = BusinessType.INSERT)
     @PostMapping
     public AjaxResult add(@RequestBody SysLearningMaterials sysLearningMaterials) {
         return toAjax(sysLearningMaterialsService.insertSysLearningMaterials(sysLearningMaterials));
@@ -76,7 +76,7 @@ public class SysLearningMaterialsController extends BaseController {
      */
     @ApiOperation(value = "修改SysLearningMaterials")
     @RequiresPermissions("system:materials:edit")
-    @Log(title = "学习资料" , businessType = BusinessType.UPDATE)
+    @Log(title = "学习资料", businessType = BusinessType.UPDATE)
     @PutMapping
     public AjaxResult edit(@RequestBody SysLearningMaterials sysLearningMaterials) {
         return toAjax(sysLearningMaterialsService.updateSysLearningMaterials(sysLearningMaterials));
@@ -87,9 +87,20 @@ public class SysLearningMaterialsController extends BaseController {
      */
     @ApiOperation(value = "删除SysLearningMaterials")
     @RequiresPermissions("system:materials:remove")
-    @Log(title = "学习资料" , businessType = BusinessType.DELETE)
+    @Log(title = "学习资料", businessType = BusinessType.DELETE)
     @DeleteMapping("/{ids}")
     public AjaxResult remove(@PathVariable Long[] ids) {
         return toAjax(sysLearningMaterialsService.deleteSysLearningMaterialsByIds(ids));
     }
+
+    /**
+     * 修改学习资料,设置未公开/公开
+     */
+    @ApiOperation(value = "修改SysLearningMaterials")
+    @RequiresPermissions("system:materials:edit")
+    @Log(title = "学习资料", businessType = BusinessType.UPDATE)
+    @GetMapping("/{id}/{isOpen}")
+    public AjaxResult editOpen(@PathVariable Long id, @PathVariable Integer isOpen) {
+        return toAjax(sysLearningMaterialsService.editOpen(id, isOpen));
+    }
 }

+ 3 - 26
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/domain/SysLearningMaterials.java

@@ -55,6 +55,9 @@ public class SysLearningMaterials extends BaseEntity {
     @ApiModelProperty(value = "附件")
     private String file;
 
+    @ApiModelProperty(value = "备注")
+    private String remark;
+
     @TableLogic(value = "0", delval = "1")
     @ApiModelProperty(value = "是否删除,0:未删除,1:已删除")
     private Integer deleted;
@@ -63,44 +66,18 @@ public class SysLearningMaterials extends BaseEntity {
     @Override
     public String toString() {
         return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
-
-
                 .append("id", getId())
-
-
                 .append("title", getTitle())
-
-
                 .append("knowledgeId", getKnowledgeId())
-
-
                 .append("orgId", getOrgId())
-
-
                 .append("orgName", getOrgName())
-
-
                 .append("orgPath", getOrgPath())
-
-
                 .append("isOpen", getIsOpen())
-
-
                 .append("file", getFile())
-
-
                 .append("deleted", getDeleted())
-
-
                 .append("createBy", getCreateBy())
-
-
                 .append("createTime", getCreateTime())
-
-
                 .append("updateBy", getUpdateBy())
-
-
                 .append("updateTime", getUpdateTime())
                 .toString();
     }

+ 58 - 0
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/domain/vo/SysLearningMaterialsPageVo.java

@@ -0,0 +1,58 @@
+package com.xunmei.system.domain.vo;
+
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.xunmei.common.core.web.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.util.Date;
+
+/**
+ * @author jingyuanchao
+ * @date 2023/8/22 10:26
+ */
+@Data
+@Accessors(chain = true)
+@ApiModel(value = "SysLearningMaterials分页Vo", description = "学习资料分页Vo")
+public class SysLearningMaterialsPageVo {
+
+    @JsonSerialize(using = com.fasterxml.jackson.databind.ser.std.ToStringSerializer.class)
+    private Long id;
+
+    @ApiModelProperty(value = "资料标题")
+    private String title;
+
+    @JsonSerialize(using = com.fasterxml.jackson.databind.ser.std.ToStringSerializer.class)
+    @ApiModelProperty(value = "资料类型名称(知识库标签名称)")
+    private String knowledgeName;
+
+    @ApiModelProperty(value = "所属机构")
+    private Long orgId;
+
+    @ApiModelProperty(value = "机构名称")
+    private String orgName;
+
+    @ApiModelProperty(value = "是否公开,0:未公开,1:已公开")
+    private Integer isOpen;
+
+    @ApiModelProperty(value = "上传人")
+    private String createBy;
+
+    @ApiModelProperty(value = "上传时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+    @ApiModelProperty(value = "更新时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date updateTime;
+
+    @ApiModelProperty(value = "附件")
+    private String file;
+
+    @ApiModelProperty(value = "备注")
+    private String remark;
+}

+ 30 - 0
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/dto/SysLearningMaterialsPageDto.java

@@ -0,0 +1,30 @@
+package com.xunmei.system.dto;
+
+import com.xunmei.common.core.web.domain.BaseEntity;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.util.List;
+
+/**
+ * @author jingyuanchao
+ * @date 2023/8/22 11:09
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class SysLearningMaterialsPageDto extends BaseEntity {
+    @ApiModelProperty(value = "资料类型(知识库标签)")
+    private Long knowledgeId;
+    @ApiModelProperty(value = "公开状态,0:未公开,1:已公开")
+    private Integer isOpen;
+    @ApiModelProperty(value = "资料标题")
+    private String title;
+    @ApiModelProperty(value = "资料标题")
+    private Long orgId;
+
+    @ApiModelProperty(value = "上级机构id集合",notes = "学习资料分页列表默认查询上级机构且公开的数据")
+    private List<Long> orgIdList;
+}

+ 3 - 0
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/mapper/SysKnowledgeMapper.java

@@ -59,4 +59,7 @@ public interface SysKnowledgeMapper extends BaseMapper<SysKnowledge> {
      * @return 结果
      */
     public int deleteSysKnowledgeByIds(Long[] ids);
+
+    List<SysKnowledge> dataList();
+
 }

+ 6 - 0
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/mapper/SysLearningMaterialsMapper.java

@@ -2,8 +2,12 @@ package com.xunmei.system.mapper;
 
 import java.util.List;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.xunmei.system.domain.SysLearningMaterials;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.xunmei.system.domain.vo.SysLearningMaterialsPageVo;
+import com.xunmei.system.dto.SysLearningMaterialsPageDto;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * 学习资料Mapper接口
@@ -59,4 +63,6 @@ public interface SysLearningMaterialsMapper extends BaseMapper<SysLearningMateri
      * @return 结果
      */
     public int deleteSysLearningMaterialsByIds(Long[] ids);
+
+    Page<SysLearningMaterialsPageVo> selectPageData(@Param("page") Page<SysLearningMaterialsPageVo> page, @Param("request") SysLearningMaterialsPageDto sysLearningMaterials);
 }

+ 10 - 0
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/service/ISysKnowledgeService.java

@@ -2,6 +2,7 @@ package com.xunmei.system.service;
 
 import java.util.List;
 
+import com.xunmei.common.core.domain.IdName;
 import com.xunmei.system.domain.SysKnowledge;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -69,4 +70,13 @@ public interface ISysKnowledgeService extends IService<SysKnowledge> {
      * @return Page
      */
     public TableDataInfo selectPage(SysKnowledge sysKnowledge);
+
+    /**
+     * 查询知识库标签列表数据
+     *
+     * @param
+     * @return List
+     */
+    List<IdName<String, String>> dataList();
+
 }

+ 4 - 1
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/service/ISysLearningMaterialsService.java

@@ -6,6 +6,7 @@ import com.xunmei.system.domain.SysLearningMaterials;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.xunmei.common.core.web.page.TableDataInfo;
+import com.xunmei.system.dto.SysLearningMaterialsPageDto;
 
 /**
  * 学习资料Service接口
@@ -68,5 +69,7 @@ public interface ISysLearningMaterialsService extends IService<SysLearningMateri
      * @param sysLearningMaterials 查询条件对象
      * @return Page
      */
-    public TableDataInfo selectPage(SysLearningMaterials sysLearningMaterials);
+    public TableDataInfo selectPage(SysLearningMaterialsPageDto sysLearningMaterials);
+
+    int editOpen(Long id, Integer isOpen);
 }

+ 2 - 1
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/service/impl/SysDeptServiceImpl.java

@@ -1,5 +1,6 @@
 package com.xunmei.system.service.impl;
 
+import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -82,7 +83,7 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> impl
         List<SysOrg> trees = new ArrayList<>();
         for (SysOrg tree : treeList) {
             // 找出父节点
-            if (-1 == tree.getParentId()) {
+            if (ObjectUtil.equal(-1, tree.getParentId())) {
                 // 调用递归方法填充子节点列表
                 trees.add(findChildren(tree, treeList));
             }

+ 19 - 0
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/service/impl/SysKnowledgeServiceImpl.java

@@ -1,9 +1,11 @@
 package com.xunmei.system.service.impl;
 
+import java.util.Collections;
 import java.util.List;
 
 import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.xunmei.common.core.domain.IdName;
 import com.xunmei.common.core.utils.DateUtils;
 import com.xunmei.common.core.utils.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -11,6 +13,7 @@ import org.springframework.stereotype.Service;
 import com.xunmei.system.service.ISysOrgService;
 
 import java.util.Arrays;
+import java.util.stream.Collectors;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -133,4 +136,20 @@ public class SysKnowledgeServiceImpl extends ServiceImpl<SysKnowledgeMapper, Sys
     public int deleteSysKnowledgeById(Long id) {
         return sysKnowledgeMapper.deleteById(id);
     }
+
+    /**
+     * 查询知识库标签列表数据
+     *
+     * @param
+     * @return List
+     */
+    @Override
+    public List<IdName<String, String>> dataList() {
+        final List<SysKnowledge> sysKnowledge = sysKnowledgeMapper.dataList();
+        if (sysKnowledge == null || sysKnowledge.isEmpty()) {
+            return Collections.emptyList();
+        }
+        return sysKnowledge.stream().map(e -> new IdName<>(e.getId().toString(), e.getName())).collect(Collectors.toList());
+
+    }
 }

+ 42 - 18
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/service/impl/SysLearningMaterialsServiceImpl.java

@@ -1,14 +1,21 @@
 package com.xunmei.system.service.impl;
 
+import java.util.ArrayList;
 import java.util.List;
 
+import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.xunmei.common.core.utils.DateUtils;
+import com.xunmei.common.security.utils.SecurityUtils;
+import com.xunmei.system.api.domain.SysOrg;
+import com.xunmei.system.domain.vo.SysLearningMaterialsPageVo;
+import com.xunmei.system.dto.SysLearningMaterialsPageDto;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.xunmei.system.service.ISysOrgService;
 
 import java.util.Arrays;
+import java.util.stream.Stream;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -32,30 +39,17 @@ public class SysLearningMaterialsServiceImpl extends ServiceImpl<SysLearningMate
     private ISysOrgService orgService;
 
     @Override
-    public TableDataInfo selectPage(SysLearningMaterials sysLearningMaterials) {
-        //未删除
-        sysLearningMaterials.setDeleted(0);
-        Page<SysLearningMaterials> page;
+    public TableDataInfo selectPage(SysLearningMaterialsPageDto sysLearningMaterials) {
+        Page<SysLearningMaterialsPageVo> page;
         //分页
-        if (sysLearningMaterials.getPageNum() != null && sysLearningMaterials.getPageSize() != null) {
+        if (ObjectUtil.isAllNotEmpty(sysLearningMaterials.getPageNum(), sysLearningMaterials.getPageSize())) {
             page = new Page<>(sysLearningMaterials.getPageNum(), sysLearningMaterials.getPageSize());
         } else {
             page = new Page<>();
         }
-        //查询条件
-        LambdaQueryWrapper<SysLearningMaterials> query = new LambdaQueryWrapper<SysLearningMaterials>(sysLearningMaterials);
-        //下穿
-        if (sysLearningMaterials.getCheckSub()) {
-            String orgPath = orgService.selectPathById(sysLearningMaterials.getOrgId());
-            sysLearningMaterials.setOrgId(null);
-            query.likeRight(SysLearningMaterials::getOrgPath, orgPath);
-        }
-        //时间范围查询
-        if (sysLearningMaterials.getParams().get("beginTime") != null && sysLearningMaterials.getParams().get("endTime") != null) {
-            query.between(SysLearningMaterials::getCreateTime, sysLearningMaterials.getParams().get("beginTime"), sysLearningMaterials.getParams().get("endTime"));
-        }
+        dealParentOrgId(sysLearningMaterials);
         //获取数据
-        page = sysLearningMaterialsMapper.selectPage(page, query);
+        page = sysLearningMaterialsMapper.selectPageData(page, sysLearningMaterials);
         //抓换为TableDataInfo适配前端
         TableDataInfo tableDataInfo = new TableDataInfo();
         tableDataInfo.setMsg("操作成功");
@@ -65,6 +59,14 @@ public class SysLearningMaterialsServiceImpl extends ServiceImpl<SysLearningMate
         return tableDataInfo;
     }
 
+    private void dealParentOrgId(SysLearningMaterialsPageDto sysLearningMaterials) {
+        SysOrg sysOrg = orgService.selectSysOrgById(sysLearningMaterials.getOrgId());
+        String[] split = sysOrg.getPath().split("-");
+        List<Long> list = new ArrayList<>();
+        Stream.of(split).forEach(s -> list.add(Long.valueOf(s)));
+        sysLearningMaterials.setOrgIdList(list);
+    }
+
 
     /**
      * 查询学习资料
@@ -96,7 +98,16 @@ public class SysLearningMaterialsServiceImpl extends ServiceImpl<SysLearningMate
      */
     @Override
     public int insertSysLearningMaterials(SysLearningMaterials sysLearningMaterials) {
+        sysLearningMaterials.setCreateBy(String.valueOf(SecurityUtils.getUserId()));
         sysLearningMaterials.setCreateTime(DateUtils.getNowDate());
+        sysLearningMaterials.setUpdateBy(String.valueOf(SecurityUtils.getUserId()));
+        sysLearningMaterials.setUpdateTime(DateUtils.getNowDate());
+        sysLearningMaterials.setIsOpen(0);
+        final SysOrg sysOrg = orgService.selectSysOrgById(sysLearningMaterials.getOrgId());
+        if (sysOrg != null) {
+            sysLearningMaterials.setOrgName(sysOrg.getName());
+            sysLearningMaterials.setOrgPath(sysOrg.getPath());
+        }
         return sysLearningMaterialsMapper.insert(sysLearningMaterials);
     }
 
@@ -108,6 +119,7 @@ public class SysLearningMaterialsServiceImpl extends ServiceImpl<SysLearningMate
      */
     @Override
     public int updateSysLearningMaterials(SysLearningMaterials sysLearningMaterials) {
+        sysLearningMaterials.setUpdateBy(String.valueOf(SecurityUtils.getUserId()));
         sysLearningMaterials.setUpdateTime(DateUtils.getNowDate());
         return sysLearningMaterialsMapper.updateById(sysLearningMaterials);
     }
@@ -133,4 +145,16 @@ public class SysLearningMaterialsServiceImpl extends ServiceImpl<SysLearningMate
     public int deleteSysLearningMaterialsById(Long id) {
         return sysLearningMaterialsMapper.deleteById(id);
     }
+
+    @Override
+    public int editOpen(Long id, Integer isOpen) {
+        SysLearningMaterials sysLearningMaterials = sysLearningMaterialsMapper.selectById(id);
+        if (sysLearningMaterials != null) {
+            sysLearningMaterials.setIsOpen(isOpen);
+            sysLearningMaterials.setUpdateBy(String.valueOf(SecurityUtils.getUserId()));
+            sysLearningMaterials.setUpdateTime(DateUtils.getNowDate());
+            return sysLearningMaterialsMapper.updateById(sysLearningMaterials);
+        }
+        return 0;
+    }
 }

+ 66 - 59
soc-modules/soc-modules-system/src/main/resources/mapper/system/SysKnowledgeMapper.xml

@@ -5,13 +5,13 @@
 <mapper namespace="com.xunmei.system.mapper.SysKnowledgeMapper">
 
     <resultMap type="com.xunmei.system.domain.SysKnowledge" id="SysKnowledgeResult">
-                <result property="id" column="id"/>
-                <result property="name" column="name"/>
-                <result property="createBy" column="create_by"/>
-                <result property="createTime" column="create_time"/>
-                <result property="updateBy" column="update_by"/>
-                <result property="updateTime" column="update_time"/>
-                <result property="deleted" column="deleted"/>
+        <result property="id" column="id"/>
+        <result property="name" column="name"/>
+        <result property="createBy" column="create_by"/>
+        <result property="createTime" column="create_time"/>
+        <result property="updateBy" column="update_by"/>
+        <result property="updateTime" column="update_time"/>
+        <result property="deleted" column="deleted"/>
     </resultMap>
 
     <sql id="selectSysKnowledgeVo">
@@ -23,81 +23,88 @@
             resultMap="SysKnowledgeResult">
         <include refid="selectSysKnowledgeVo"/>
         <where>
-                        <if test="name != null  and name != ''">
-                            and name like concat('%', #{name}, '%')
-                        </if>
-                        <if test="deleted != null ">
-                            and deleted = #{deleted}
-                        </if>
+            <if test="name != null  and name != ''">
+                and name like concat('%', #{name}, '%')
+            </if>
+            <if test="deleted != null ">
+                and deleted = #{deleted}
+            </if>
         </where>
     </select>
 
     <select id="selectSysKnowledgeById" parameterType="Long"
             resultMap="SysKnowledgeResult">
-            <include refid="selectSysKnowledgeVo"/>
-            where id = #{id}
+        <include refid="selectSysKnowledgeVo"/>
+        where id = #{id}
+    </select>
+    <select id="dataList" resultType="com.xunmei.system.domain.SysKnowledge">
+        select id as id, `name` as name
+        from sys_knowledge
+        where deleted = 0
     </select>
 
-    <insert id="insertSysKnowledge" parameterType="com.xunmei.system.domain.SysKnowledge"            useGeneratedKeys="true" keyProperty="id">
+    <insert id="insertSysKnowledge" parameterType="com.xunmei.system.domain.SysKnowledge" useGeneratedKeys="true"
+            keyProperty="id">
         insert into sys_knowledge
         <trim prefix="(" suffix=")" suffixOverrides=",">
-                    <if test="name != null and name != ''">name,
-                    </if>
-                    <if test="createBy != null">create_by,
-                    </if>
-                    <if test="createTime != null">create_time,
-                    </if>
-                    <if test="updateBy != null">update_by,
-                    </if>
-                    <if test="updateTime != null">update_time,
-                    </if>
-                    <if test="deleted != null">deleted,
-                    </if>
+            <if test="name != null and name != ''">name,
+            </if>
+            <if test="createBy != null">create_by,
+            </if>
+            <if test="createTime != null">create_time,
+            </if>
+            <if test="updateBy != null">update_by,
+            </if>
+            <if test="updateTime != null">update_time,
+            </if>
+            <if test="deleted != null">deleted,
+            </if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
-                    <if test="name != null and name != ''">#{name},
-                    </if>
-                    <if test="createBy != null">#{createBy},
-                    </if>
-                    <if test="createTime != null">#{createTime},
-                    </if>
-                    <if test="updateBy != null">#{updateBy},
-                    </if>
-                    <if test="updateTime != null">#{updateTime},
-                    </if>
-                    <if test="deleted != null">#{deleted},
-                    </if>
+            <if test="name != null and name != ''">#{name},
+            </if>
+            <if test="createBy != null">#{createBy},
+            </if>
+            <if test="createTime != null">#{createTime},
+            </if>
+            <if test="updateBy != null">#{updateBy},
+            </if>
+            <if test="updateTime != null">#{updateTime},
+            </if>
+            <if test="deleted != null">#{deleted},
+            </if>
         </trim>
     </insert>
 
     <update id="updateSysKnowledge" parameterType="com.xunmei.system.domain.SysKnowledge">
         update sys_knowledge
         <trim prefix="SET" suffixOverrides=",">
-                    <if test="name != null and name != ''">name =
-                        #{name},
-                    </if>
-                    <if test="createBy != null">create_by =
-                        #{createBy},
-                    </if>
-                    <if test="createTime != null">create_time =
-                        #{createTime},
-                    </if>
-                    <if test="updateBy != null">update_by =
-                        #{updateBy},
-                    </if>
-                    <if test="updateTime != null">update_time =
-                        #{updateTime},
-                    </if>
-                    <if test="deleted != null">deleted =
-                        #{deleted},
-                    </if>
+            <if test="name != null and name != ''">name =
+                #{name},
+            </if>
+            <if test="createBy != null">create_by =
+                #{createBy},
+            </if>
+            <if test="createTime != null">create_time =
+                #{createTime},
+            </if>
+            <if test="updateBy != null">update_by =
+                #{updateBy},
+            </if>
+            <if test="updateTime != null">update_time =
+                #{updateTime},
+            </if>
+            <if test="deleted != null">deleted =
+                #{deleted},
+            </if>
         </trim>
         where id = #{id}
     </update>
 
     <delete id="deleteSysKnowledgeById" parameterType="Long">
         delete
-        from sys_knowledge where id = #{id}
+        from sys_knowledge
+        where id = #{id}
     </delete>
 
     <delete id="deleteSysKnowledgeByIds" parameterType="String">

+ 50 - 1
soc-modules/soc-modules-system/src/main/resources/mapper/system/SysLearningMaterialsMapper.xml

@@ -36,10 +36,19 @@
                create_by,
                create_time,
                update_by,
-               updateTime
+               update_time
         from sys_learning_materials
     </sql>
 
+    <sql id="pageRequest">
+        <if test="request.knowledgeId != null">
+            and m.knowledge_id = #{request.knowledgeId}
+        </if>
+        <if test="request.title != null ">
+            and m.title = #{request.title}
+        </if>
+    </sql>
+
     <select id="selectSysLearningMaterialsList" parameterType="com.xunmei.system.domain.SysLearningMaterials"
             resultMap="SysLearningMaterialsResult">
         <include refid="selectSysLearningMaterialsVo"/>
@@ -82,6 +91,46 @@
         <include refid="selectSysLearningMaterialsVo"/>
         where id = #{id}
     </select>
+    <select id="selectPageData" resultType="com.xunmei.system.domain.vo.SysLearningMaterialsPageVo">
+        select m.id,
+        title,
+        k.name as knowledgeName,
+        org_id,
+        org_name,
+        is_open,
+        file,
+        remark as remark,
+        m.create_by,
+        m.create_time,
+        m.update_time as updateTime
+        from sys_learning_materials m
+        inner join sys_knowledge k on m.knowledge_id = k.id
+        where m.deleted = 0
+        and k.deleted = 0
+        <choose>
+            <when test="request.checkSub==false">
+                and m.org_id = #{request.orgId}
+            </when>
+            <otherwise>
+                and m.org_path like concat((select path from sys_org where id=#{request.orgId}), '%')
+            </otherwise>
+        </choose>
+        <include refid="pageRequest"/>
+        <if test="request.isOpen != null ">
+            and m.is_open = #{request.isOpen}
+        </if>
+        <if test="request.orgIdList != null and  request.orgIdList.size()>0">
+            or (
+            m.org_id in
+            <foreach collection="request.orgIdList" item="item" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+            and m.is_open = 1
+            <include refid="pageRequest"/>
+            )
+        </if>
+        order by m.org_id, m.create_time desc
+    </select>
 
     <insert id="insertSysLearningMaterials" parameterType="com.xunmei.system.domain.SysLearningMaterials">
         insert into sys_learning_materials