liujunchi пре 2 година
родитељ
комит
1a0c4b41b7

+ 69 - 0
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/CourseCoursewareController.java

@@ -0,0 +1,69 @@
+package com.yonge.cooleshow.admin.controller;
+
+import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
+import com.yonge.cooleshow.common.controller.BaseController;
+import com.yonge.cooleshow.common.entity.HttpResponseResult;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yonge.toolset.base.page.PageInfo;
+import com.yonge.toolset.mybatis.support.PageUtil;
+
+import com.yonge.toolset.base.util.StringUtil;
+import io.swagger.annotations.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+
+import com.yonge.cooleshow.biz.dal.vo.CourseCoursewareVo;
+import com.yonge.cooleshow.biz.dal.dto.search.CourseCoursewareSearch;
+import com.yonge.cooleshow.biz.dal.entity.CourseCourseware;
+import com.yonge.cooleshow.biz.dal.service.CourseCoursewareService;
+
+import java.util.Date;
+
+@RestController
+@RequestMapping("/courseCourseware")
+@Api(value = "课件表", tags = "课件表")
+public class CourseCoursewareController extends BaseController {
+
+    @Autowired
+    private CourseCoursewareService courseCoursewareService;
+    
+    /**
+     * 查询分页
+     */
+    @PostMapping("/page")
+    @ApiOperation(value = "查询分页", notes = "传入courseCoursewareSearch")
+    public HttpResponseResult<PageInfo<CourseCoursewareVo>> page(@RequestBody CourseCoursewareSearch query) {
+		IPage<CourseCoursewareVo> pages = courseCoursewareService.selectPage(PageUtil.getPage(query), query);
+        return succeed(PageUtil.pageInfo(pages));
+	}
+    
+    /**
+	 * 新增或修改
+	 */
+    @PostMapping("/submit")
+    @ApiOperation(value = "新增或修改", notes = "传入courseCourseware")
+	public HttpResponseResult submit(@Valid @RequestBody CourseCourseware courseCourseware) {
+		if (courseCourseware.getUserId() == null) {
+			return failed("老师id不能为空");
+		}
+		if (courseCourseware.getId() != null) {
+			courseCourseware.setUpdateTime(new Date());
+		} else {
+			courseCourseware.setUpdateTime(new Date());
+			courseCourseware.setCreateTime(new Date());
+		}
+		courseCourseware.setClientType(ClientEnum.TEACHER);
+        return status(courseCoursewareService.saveOrUpdate(courseCourseware));
+    }
+
+ 	/**
+	 * 删除
+	 */
+	@PostMapping("/remove/{id}")
+	@ApiOperation(value = "删除", notes = "传入id")
+	public HttpResponseResult remove(@PathVariable Long id ) {
+		return status(courseCoursewareService.removeById(id));
+	}
+}

+ 30 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/CourseCoursewareDao.java

@@ -0,0 +1,30 @@
+package com.yonge.cooleshow.biz.dal.dao;
+
+import java.util.List;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.Param;
+import com.yonge.cooleshow.biz.dal.entity.CourseCourseware;
+import com.yonge.cooleshow.biz.dal.vo.CourseCoursewareVo;
+import com.yonge.cooleshow.biz.dal.dto.search.CourseCoursewareSearch;
+
+
+public interface CourseCoursewareDao extends BaseMapper<CourseCourseware>{
+	/**
+	 * 查询详情
+     * @author liweifan
+     * @date 2022-11-02 10:17:44
+     * @return: com.yonge.cooleshow.biz.dal.vo.CourseCoursewareVo
+	 */
+	CourseCoursewareVo detail(@Param("id") Long id);
+
+	/**
+	 * 分页查询
+     * @author liweifan
+     * @date 2022-11-02 10:17:44
+     * @return: com.yonge.cooleshow.biz.dal.vo.CourseCoursewareVo
+	 */
+	List<CourseCoursewareVo> selectPage(@Param("page") IPage page, @Param("param") CourseCoursewareSearch courseCourseware);
+	
+}

+ 13 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/CourseCoursewareDto.java

@@ -0,0 +1,13 @@
+package com.yonge.cooleshow.biz.dal.dto;
+
+import com.yonge.cooleshow.biz.dal.entity.CourseCourseware;
+import io.swagger.annotations.ApiModel;
+
+/**
+ * @Author: liweifan
+ * @Data: 2022-11-02 10:17:44
+ */
+@ApiModel(value = "CourseCoursewareDto对象", description = "课件表数据传输对象")
+public class CourseCoursewareDto extends CourseCourseware{
+	private static final long serialVersionUID = 1L;
+}

+ 62 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/search/CourseCoursewareSearch.java

@@ -0,0 +1,62 @@
+package com.yonge.cooleshow.biz.dal.dto.search;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
+import com.yonge.cooleshow.biz.dal.enums.CoursewareEnum;
+import com.yonge.toolset.base.page.QueryInfo;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * @Author: liweifan
+ * @Data: 2022-11-02 10:17:44
+ */
+@ApiModel(value = "CourseCoursewareSearch对象", description = "课件表查询对象")
+public class CourseCoursewareSearch extends QueryInfo{
+	private static final long serialVersionUID = 1L;
+
+	@ApiModelProperty("老师id")
+	private Long userId;
+
+	@ApiModelProperty("文件名")
+	private String coursewareName;
+
+	@ApiModelProperty("课件类型 AUDIO:音频 IMG:图片 ")
+	private CoursewareEnum coursewareType;
+
+
+	@ApiModelProperty(value = "用户类型 STUDENT,TEACHER ",hidden = true)
+	private ClientEnum clientType;
+
+	public ClientEnum getClientType() {
+		return clientType;
+	}
+
+	public void setClientType(ClientEnum clientType) {
+		this.clientType = clientType;
+	}
+
+	public Long getUserId() {
+		return userId;
+	}
+
+	public void setUserId(Long userId) {
+		this.userId = userId;
+	}
+
+	public String getCoursewareName() {
+		return coursewareName;
+	}
+
+	public void setCoursewareName(String coursewareName) {
+		this.coursewareName = coursewareName;
+	}
+
+	public CoursewareEnum getCoursewareType() {
+		return coursewareType;
+	}
+
+	public void setCoursewareType(CoursewareEnum coursewareType) {
+		this.coursewareType = coursewareType;
+	}
+}

+ 124 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/CourseCourseware.java

@@ -0,0 +1,124 @@
+package com.yonge.cooleshow.biz.dal.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
+import com.yonge.cooleshow.biz.dal.enums.CoursewareEnum;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+/**
+ * 课件表
+ */
+@TableName("course_courseware")
+@ApiModel(value = "CourseCourseware对象", description = "课件表")
+public class CourseCourseware implements Serializable {
+	private static final long serialVersionUID = 1L;
+    @ApiModelProperty("主键 ")
+    @TableId(value = "id_", type = IdType.AUTO)
+    private Long id;
+    @ApiModelProperty("用户id ")
+	@TableField(value = "user_id_")
+    private Long userId;
+    @ApiModelProperty(value = "用户类型 STUDENT,TEACHER ",hidden = true)
+	@TableField(value = "client_type_")
+    private ClientEnum clientType;
+    @ApiModelProperty(value = "课件名称 ",required = true)
+	@TableField(value = "courseware_name_")
+    @NotBlank(message = "课件名称不能为空")
+    private String coursewareName;
+    @ApiModelProperty(value = "课件类型 AUDIO:音频 IMG:图片 ",required = true)
+	@TableField(value = "courseware_type_")
+    @NotNull(message = "课件类型不能为空")
+    private CoursewareEnum coursewareType;
+    @ApiModelProperty(value = "文件地址 ",required = true)
+	@TableField(value = "file_url_")
+    @NotBlank(message = "文件地址不能为空")
+    private String fileUrl;
+    @ApiModelProperty("创建时间 ")
+	@TableField(value = "create_time_")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+    private Date createTime;
+    @ApiModelProperty("更新时间 ")
+	@TableField(value = "update_time_")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+    private Date updateTime;
+
+	public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+    
+	public Long getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Long userId) {
+        this.userId = userId;
+    }
+
+    public ClientEnum getClientType() {
+        return clientType;
+    }
+
+    public void setClientType(ClientEnum clientType) {
+        this.clientType = clientType;
+    }
+
+    public CoursewareEnum getCoursewareType() {
+        return coursewareType;
+    }
+
+    public void setCoursewareType(CoursewareEnum coursewareType) {
+        this.coursewareType = coursewareType;
+    }
+
+    public String getCoursewareName() {
+        return coursewareName;
+    }
+
+    public void setCoursewareName(String coursewareName) {
+        this.coursewareName = coursewareName;
+    }
+
+    
+	public String getFileUrl() {
+        return fileUrl;
+    }
+
+    public void setFileUrl(String fileUrl) {
+        this.fileUrl = fileUrl;
+    }
+    
+	public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+    
+	public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+    
+}

+ 34 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/enums/CoursewareEnum.java

@@ -0,0 +1,34 @@
+package com.yonge.cooleshow.biz.dal.enums;
+
+import com.baomidou.mybatisplus.annotation.EnumValue;
+import com.yonge.toolset.base.enums.BaseEnum;
+
+/**
+ * Description
+ *
+ * @author liujunchi
+ * @date 2022-04-28
+ */
+public enum CoursewareEnum implements BaseEnum<String, CoursewareEnum> {
+    AUDIO("音频"),
+    IMG("图片"),
+
+    ;
+    @EnumValue
+    private String code;
+    private String msg;
+
+    CoursewareEnum(String msg) {
+        this.code = this.name();
+        this.msg = msg;
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+    public String getMsg() {
+        return msg;
+    }
+
+}

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

@@ -0,0 +1,29 @@
+package com.yonge.cooleshow.biz.dal.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.yonge.cooleshow.biz.dal.vo.CourseCoursewareVo;
+import com.yonge.cooleshow.biz.dal.dto.search.CourseCoursewareSearch;
+import com.yonge.cooleshow.biz.dal.entity.CourseCourseware;
+
+/**
+ * 课件表 服务类
+ * @author liweifan
+ * @date 2022-11-02
+ */
+public interface CourseCoursewareService extends IService<CourseCourseware>  {
+
+	/**
+     * 查询详情
+     * @author liweifan
+ 	 * @date 2022-11-02
+     */
+	CourseCoursewareVo detail(Long id);
+
+    /**
+     * 分页查询
+     * @author liweifan
+ 	 * @date 2022-11-02
+     */
+    IPage<CourseCoursewareVo> selectPage(IPage<CourseCoursewareVo> page, CourseCoursewareSearch query);
+}

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

@@ -0,0 +1,58 @@
+package com.yonge.cooleshow.biz.dal.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.yonge.cooleshow.biz.dal.entity.SysUser;
+import com.yonge.cooleshow.biz.dal.mapper.SysUserMapper;
+import com.yonge.cooleshow.biz.dal.service.SysUserService;
+import org.apache.commons.collections.CollectionUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import com.yonge.cooleshow.biz.dal.entity.CourseCourseware;
+import com.yonge.cooleshow.biz.dal.vo.CourseCoursewareVo;
+import com.yonge.cooleshow.biz.dal.dto.search.CourseCoursewareSearch;
+import com.yonge.cooleshow.biz.dal.dao.CourseCoursewareDao;
+import com.yonge.cooleshow.biz.dal.service.CourseCoursewareService;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.stream.Collectors;
+
+
+@Service
+public class CourseCoursewareServiceImpl extends ServiceImpl<CourseCoursewareDao, CourseCourseware> implements CourseCoursewareService {
+    private final static Logger log = LoggerFactory.getLogger(CourseCoursewareServiceImpl.class);
+
+
+    @Autowired
+    private SysUserMapper userMapper;
+
+	@Override
+    public CourseCoursewareVo detail(Long id) {
+        return baseMapper.detail(id);
+    }
+    
+    @Override
+    public IPage<CourseCoursewareVo> selectPage(IPage<CourseCoursewareVo> page, CourseCoursewareSearch query){
+        IPage<CourseCoursewareVo> courseCoursewareVoIPage = page.setRecords(baseMapper.selectPage(page, query));
+        List<CourseCoursewareVo> records = courseCoursewareVoIPage.getRecords();
+        if (CollectionUtils.isEmpty(records)) {
+            return courseCoursewareVoIPage;
+        }
+        Set<Long> userIdList = records.stream().map(CourseCoursewareVo::getUserId).collect(Collectors.toSet());
+        List<SysUser> sysUsers = userMapper.selectBatchIds(userIdList);
+        if (CollectionUtils.isEmpty(sysUsers)) {
+            return courseCoursewareVoIPage;
+        }
+        Map<Long, String> userIdUsernameMap = sysUsers.stream().collect(Collectors.toMap(SysUser::getId, SysUser::getUsername));
+        for (CourseCoursewareVo record : records) {
+            record.setUsername(userIdUsernameMap.get(record.getUserId()));
+        }
+        courseCoursewareVoIPage.setRecords(records);
+        return courseCoursewareVoIPage;
+    }
+	
+}

+ 25 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/CourseCoursewareVo.java

@@ -0,0 +1,25 @@
+package com.yonge.cooleshow.biz.dal.vo;
+
+import com.yonge.cooleshow.biz.dal.entity.CourseCourseware;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * @Author: liweifan
+ * @Data: 2022-11-02 10:17:44
+ */
+@ApiModel(value = "CourseCoursewareVo对象", description = "课件表查询视图对象")
+public class CourseCoursewareVo extends CourseCourseware{
+	private static final long serialVersionUID = 1L;
+
+	@ApiModelProperty("用户名")
+	private String username;
+
+	public String getUsername() {
+		return username;
+	}
+
+	public void setUsername(String username) {
+		this.username = username;
+	}
+}

+ 53 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/CourseCoursewareMapper.xml

@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE  mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.yonge.cooleshow.biz.dal.dao.CourseCoursewareDao">
+	<resultMap id="BaseResultMap" type="com.yonge.cooleshow.biz.dal.entity.CourseCourseware">
+            <result column="id_" property="id" />
+	        <result column="user_id_" property="userId" />
+	        <result column="client_type_" property="clientType" />
+	        <result column="courseware_name_" property="coursewareName" />
+	        <result column="courseware_type_" property="coursewareType" />
+	        <result column="file_url_" property="fileUrl" />
+	        <result column="create_time_" property="createTime" />
+	        <result column="update_time_" property="updateTime" />
+		</resultMap>  
+    
+    <!-- 表字段 -->
+    <sql id="baseColumns">
+         t.id_ as id
+        , t.user_id_ as userId
+        , t.client_type_ as clientType
+        , t.courseware_name_ as coursewareName
+        , t.courseware_type_ as coursewareType
+        , t.file_url_ as fileUrl
+        , t.create_time_ as createTime
+        , t.update_time_ as updateTime
+        </sql> 
+    
+    <select id="detail" resultType="com.yonge.cooleshow.biz.dal.vo.CourseCoursewareVo">
+        SELECT
+            <include refid="baseColumns"/>
+        FROM course_courseware t
+        where t.id_ = #{id}
+    </select>
+    
+    <select id="selectPage" resultType="com.yonge.cooleshow.biz.dal.vo.CourseCoursewareVo">
+		SELECT         
+        	<include refid="baseColumns" />
+		FROM course_courseware t
+        <where>
+            <if test="param.coursewareName != null and param.coursewareName != ''">
+                and t.courseware_name_ like '%${param.coursewareName}%'
+            </if>
+            <if test="param.coursewareType != null">
+                and t.courseware_type_ = #{param.coursewareType}
+            </if>
+            <if test="param.userId != null">
+                and t.user_id_ = #{param.userId}
+            </if>
+            <if test="param.clientType != null">
+                and t.client_type_ = #{param.clientType}
+            </if>
+        </where>
+	</select>
+</mapper>

+ 82 - 0
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/CourseCoursewareController.java

@@ -0,0 +1,82 @@
+package com.yonge.cooleshow.teacher.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
+import com.yonge.cooleshow.auth.api.entity.SysUser;
+import com.yonge.cooleshow.biz.dal.dto.search.CourseCoursewareSearch;
+import com.yonge.cooleshow.biz.dal.entity.CourseCourseware;
+import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
+import com.yonge.cooleshow.biz.dal.service.CourseCoursewareService;
+import com.yonge.cooleshow.biz.dal.vo.CourseCoursewareVo;
+import com.yonge.cooleshow.common.controller.BaseController;
+import com.yonge.cooleshow.common.entity.HttpResponseResult;
+import com.yonge.toolset.base.page.PageInfo;
+import com.yonge.toolset.mybatis.support.PageUtil;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.validation.Valid;
+import java.util.Date;
+
+@RestController
+@RequestMapping("/courseCourseware")
+@Api(value = "课件表", tags = "课件表")
+public class CourseCoursewareController extends BaseController {
+
+    @Autowired
+    private CourseCoursewareService courseCoursewareService;
+
+	@Autowired
+	private SysUserFeignService sysUserFeignService;
+    /**
+     * 查询分页
+     */
+    @PostMapping("/page")
+    @ApiOperation(value = "查询分页", notes = "传入courseCoursewareSearch")
+    public HttpResponseResult<PageInfo<CourseCoursewareVo>> page(@RequestBody CourseCoursewareSearch query) {
+		SysUser user = sysUserFeignService.queryUserInfo();
+		if (user == null || null == user.getId()) {
+			return failed(HttpStatus.FORBIDDEN, "请登录");
+		}
+		query.setUserId(user.getId());
+		IPage<CourseCoursewareVo> pages = courseCoursewareService.selectPage(PageUtil.getPage(query), query);
+        return succeed(PageUtil.pageInfo(pages));
+	}
+    
+    /**
+	 * 新增或修改
+	 */
+    @PostMapping("/submit")
+    @ApiOperation(value = "新增或修改", notes = "传入courseCourseware")
+	public HttpResponseResult submit(@Valid @RequestBody CourseCourseware courseCourseware) {
+		SysUser user = sysUserFeignService.queryUserInfo();
+		if (user == null || null == user.getId()) {
+			return failed(HttpStatus.FORBIDDEN, "请登录");
+		}
+		courseCourseware.setUserId(user.getId());
+		if (courseCourseware.getId() != null) {
+			courseCourseware.setUpdateTime(new Date());
+		} else {
+			courseCourseware.setUpdateTime(new Date());
+			courseCourseware.setCreateTime(new Date());
+		}
+		courseCourseware.setClientType(ClientEnum.TEACHER);
+        return status(courseCoursewareService.saveOrUpdate(courseCourseware));
+    }
+
+ 	/**
+	 * 删除
+	 */
+	@PostMapping("/remove/{id}")
+	@ApiOperation(value = "删除", notes = "传入id")
+	public HttpResponseResult remove(@PathVariable Long id ) {
+		return status(courseCoursewareService.removeById(id));
+	}
+}

+ 82 - 0
cooleshow-user/user-website/src/main/java/com/yonge/cooleshow/website/controller/CourseCoursewareController.java

@@ -0,0 +1,82 @@
+package com.yonge.cooleshow.website.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
+import com.yonge.cooleshow.auth.api.entity.SysUser;
+import com.yonge.cooleshow.biz.dal.dto.search.CourseCoursewareSearch;
+import com.yonge.cooleshow.biz.dal.entity.CourseCourseware;
+import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
+import com.yonge.cooleshow.biz.dal.service.CourseCoursewareService;
+import com.yonge.cooleshow.biz.dal.vo.CourseCoursewareVo;
+import com.yonge.cooleshow.common.controller.BaseController;
+import com.yonge.cooleshow.common.entity.HttpResponseResult;
+import com.yonge.toolset.base.page.PageInfo;
+import com.yonge.toolset.mybatis.support.PageUtil;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.validation.Valid;
+import java.util.Date;
+
+@RestController
+@RequestMapping("/courseCourseware")
+@Api(value = "课件表", tags = "课件表")
+public class CourseCoursewareController extends BaseController {
+
+    @Autowired
+    private CourseCoursewareService courseCoursewareService;
+
+	@Autowired
+	private SysUserFeignService sysUserFeignService;
+    /**
+     * 查询分页
+     */
+    @PostMapping("/page")
+    @ApiOperation(value = "查询分页", notes = "传入courseCoursewareSearch")
+    public HttpResponseResult<PageInfo<CourseCoursewareVo>> page(@RequestBody CourseCoursewareSearch query) {
+		SysUser user = sysUserFeignService.queryUserInfo();
+		if (user == null || null == user.getId()) {
+			return failed(HttpStatus.FORBIDDEN, "请登录");
+		}
+		query.setUserId(user.getId());
+		IPage<CourseCoursewareVo> pages = courseCoursewareService.selectPage(PageUtil.getPage(query), query);
+        return succeed(PageUtil.pageInfo(pages));
+	}
+    
+    /**
+	 * 新增或修改
+	 */
+    @PostMapping("/submit")
+    @ApiOperation(value = "新增或修改", notes = "传入courseCourseware")
+	public HttpResponseResult submit(@Valid @RequestBody CourseCourseware courseCourseware) {
+		SysUser user = sysUserFeignService.queryUserInfo();
+		if (user == null || null == user.getId()) {
+			return failed(HttpStatus.FORBIDDEN, "请登录");
+		}
+		courseCourseware.setUserId(user.getId());
+		if (courseCourseware.getId() != null) {
+			courseCourseware.setUpdateTime(new Date());
+		} else {
+			courseCourseware.setUpdateTime(new Date());
+			courseCourseware.setCreateTime(new Date());
+		}
+		courseCourseware.setClientType(ClientEnum.TEACHER);
+        return status(courseCoursewareService.saveOrUpdate(courseCourseware));
+    }
+
+ 	/**
+	 * 删除
+	 */
+	@PostMapping("/remove/{id}")
+	@ApiOperation(value = "删除", notes = "传入id")
+	public HttpResponseResult remove(@PathVariable Long id ) {
+		return status(courseCoursewareService.removeById(id));
+	}
+}

+ 4 - 4
service.md

@@ -1,9 +1,9 @@
 - [ ] gateway-server
 - [ ] auth-server
-- [ ] admin-server
-- [ ] teacher-server
+- [x] admin-server
+- [x] teacher-server
 - [ ] student-server
-- [ ] website-server
+- [x] website-server
 - [ ] task-server
 - [ ] websocket-server
 - [ ] audio-analysis
@@ -11,5 +11,5 @@
 - [ ] classroom-server
 - [ ] cms-server
 - [ ] mall-admin
-- [x] mall-server
+- [ ] mall-server
 - [ ] EOF