Browse Source

添加审核固定话术

liujunchi 3 years ago
parent
commit
7295cefacb

+ 76 - 0
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/AuditReasonController.java

@@ -0,0 +1,76 @@
+package com.yonge.cooleshow.admin.controller;
+
+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.AuditReasonVo;
+import com.yonge.cooleshow.biz.dal.dto.search.AuditReasonSearch;
+import com.yonge.cooleshow.biz.dal.entity.AuditReason;
+import com.yonge.cooleshow.biz.dal.service.AuditReasonService;
+
+@RestController
+@RequestMapping("/auditReason")
+@Api(value = "审核原因表", tags = "审核原因表")
+public class AuditReasonController extends BaseController {
+
+    @Autowired
+    private AuditReasonService auditReasonService;
+
+	/**
+     * 查询单条
+     */
+    @GetMapping("/detail/{id}")
+    @ApiOperation(value = "详情", notes = "传入id")
+    public HttpResponseResult<AuditReasonVo> detail(@PathVariable("id") Long id) {
+    	return succeed(auditReasonService.detail(id));
+	}
+    
+    /**
+     * 查询分页
+     */
+    @PostMapping("/page")
+    @ApiOperation(value = "查询分页", notes = "传入auditReasonSearch")
+    public HttpResponseResult<PageInfo<AuditReasonVo>> page(@RequestBody AuditReasonSearch query) {
+		IPage<AuditReasonVo> pages = auditReasonService.selectPage(PageUtil.getPage(query), query);
+        return succeed(PageUtil.pageInfo(pages));
+	}
+    
+    /**
+	 * 新增
+	 */
+	@PostMapping("/save")
+	@ApiOperation(value = "新增", notes = "传入auditReason")
+	public HttpResponseResult save(@Valid @RequestBody AuditReason auditReason) {
+    	return status(auditReasonService.save(auditReason));
+	}
+    
+    /**
+	 * 修改
+	 */
+	@PostMapping("/update")
+	@ApiOperation(value = "修改", notes = "传入auditReason")
+	public HttpResponseResult update(@Valid @RequestBody AuditReason auditReason) {
+        return status(auditReasonService.updateById(auditReason));
+	}
+
+
+ 	/**
+	 * 删除
+	 */
+	@PostMapping("/remove/{id}")
+	@ApiOperation(value = "删除", notes = "传入ids")
+	public HttpResponseResult remove(@PathVariable Long id) {
+
+		return status(auditReasonService.del(id));
+	}
+}

+ 30 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/AuditReasonDao.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.AuditReason;
+import com.yonge.cooleshow.biz.dal.vo.AuditReasonVo;
+import com.yonge.cooleshow.biz.dal.dto.search.AuditReasonSearch;
+
+
+public interface AuditReasonDao extends BaseMapper<AuditReason>{
+	/**
+	 * 查询详情
+     * @author liweifan
+     * @date 2022-08-12 09:33:55
+     * @return: com.yonge.cooleshow.biz.dal.vo.AuditReasonVo
+	 */
+	AuditReasonVo detail(@Param("id") Long id);
+
+	/**
+	 * 分页查询
+     * @author liweifan
+     * @date 2022-08-12 09:33:55
+     * @return: com.yonge.cooleshow.biz.dal.vo.AuditReasonVo
+	 */
+	List<AuditReasonVo> selectPage(@Param("page") IPage page, @Param("param") AuditReasonSearch auditReason);
+	
+}

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

@@ -0,0 +1,13 @@
+package com.yonge.cooleshow.biz.dal.dto;
+
+import com.yonge.cooleshow.biz.dal.entity.AuditReason;
+import io.swagger.annotations.ApiModel;
+
+/**
+ * @Author: liweifan
+ * @Data: 2022-08-12 09:33:55
+ */
+@ApiModel(value = "AuditReasonDto对象", description = "审核原因表数据传输对象")
+public class AuditReasonDto extends AuditReason{
+	private static final long serialVersionUID = 1L;
+}

+ 12 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/LiveCourseGroupDto.java

@@ -91,6 +91,18 @@ public class LiveCourseGroupDto implements Serializable {
         @ApiModelProperty(value = "教学计划/最多200字")
         private String plan;
 
+        @ApiModelProperty("教学计划id")
+        private Long planId;
+
+
+        public Long getPlanId() {
+            return planId;
+        }
+
+        public void setPlanId(Long planId) {
+            this.planId = planId;
+        }
+
         public Integer getClassNum() {
             return classNum;
         }

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

@@ -0,0 +1,26 @@
+package com.yonge.cooleshow.biz.dal.dto.search;
+
+import com.yonge.toolset.base.page.QueryInfo;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * @Author: liweifan
+ * @Data: 2022-08-12 09:33:55
+ */
+@ApiModel(value = "AuditReasonSearch对象", description = "审核原因表查询对象")
+public class AuditReasonSearch extends QueryInfo{
+	private static final long serialVersionUID = 1L;
+
+
+	@ApiModelProperty("审核原因分类 TEACHER: 达人认证,MUSIC:乐谱审核/下架,VIDEO:视频课审核/下架,STYLE:个人风采审核,LIVE:直播课下架")
+	private String type;
+
+	public String getType() {
+		return type;
+	}
+
+	public void setType(String type) {
+		this.type = type;
+	}
+}

+ 115 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/AuditReason.java

@@ -0,0 +1,115 @@
+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 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;
+
+/**
+ * 审核原因表
+ */
+@TableName("audit_reason")
+@ApiModel(value = "AuditReason对象", description = "审核原因表")
+public class AuditReason implements Serializable {
+	private static final long serialVersionUID = 1L;
+    @ApiModelProperty("id ")
+    @TableId(value = "id_", type = IdType.AUTO)
+    private Long id;
+    @ApiModelProperty("审核原因 ")
+	@TableField(value = "name_")
+    private String name;
+    @ApiModelProperty("审核原因分类 TEACHER: 达人认证,MUSIC:乐谱审核/下架,VIDEO:视频课审核/下架,STYLE:个人风采审核,LIVE:直播课下架")
+	@TableField(value = "type_")
+    private String type;
+    @ApiModelProperty("假删标识(0:正常,1:删除) ")
+	@TableField(value = "del_flag_")
+    private Boolean delFlag;
+    @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;
+    @ApiModelProperty("更新人(后台平台用户) ")
+	@TableField(value = "update_by_")
+    private Long updateBy;
+    @ApiModelProperty("创建人(后台平台用户) ")
+	@TableField(value = "create_by_")
+    private Long createBy;
+
+	public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+    
+	public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+    
+	public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+    
+	public Boolean getDelFlag() {
+        return delFlag;
+    }
+
+    public void setDelFlag(Boolean delFlag) {
+        this.delFlag = delFlag;
+    }
+    
+	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;
+    }
+    
+	public Long getUpdateBy() {
+        return updateBy;
+    }
+
+    public void setUpdateBy(Long updateBy) {
+        this.updateBy = updateBy;
+    }
+    
+	public Long getCreateBy() {
+        return createBy;
+    }
+
+    public void setCreateBy(Long createBy) {
+        this.createBy = createBy;
+    }
+    
+}

+ 31 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/AuditReasonService.java

@@ -0,0 +1,31 @@
+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.AuditReasonVo;
+import com.yonge.cooleshow.biz.dal.dto.search.AuditReasonSearch;
+import com.yonge.cooleshow.biz.dal.entity.AuditReason;
+
+/**
+ * 审核原因表 服务类
+ * @author liweifan
+ * @date 2022-08-12
+ */
+public interface AuditReasonService extends IService<AuditReason>  {
+
+	/**
+     * 查询详情
+     * @author liweifan
+ 	 * @date 2022-08-12
+     */
+	AuditReasonVo detail(Long id);
+
+    /**
+     * 分页查询
+     * @author liweifan
+ 	 * @date 2022-08-12
+     */
+    IPage<AuditReasonVo> selectPage(IPage<AuditReasonVo> page, AuditReasonSearch query);
+
+	boolean del(Long id);
+}

+ 7 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/CourseGroupService.java

@@ -342,5 +342,12 @@ public interface CourseGroupService extends IService<CourseGroup> {
      * @return
      */
     List<Subject> liveSubject();
+
+    /**
+     * 修改直播课程组
+     *
+     * @param dto
+     */
+    void updateLiveCourse(LiveCourseGroupDto dto);
 }
 

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

@@ -0,0 +1,37 @@
+package com.yonge.cooleshow.biz.dal.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import com.yonge.cooleshow.biz.dal.entity.AuditReason;
+import com.yonge.cooleshow.biz.dal.vo.AuditReasonVo;
+import com.yonge.cooleshow.biz.dal.dto.search.AuditReasonSearch;
+import com.yonge.cooleshow.biz.dal.dao.AuditReasonDao;
+import com.yonge.cooleshow.biz.dal.service.AuditReasonService;
+
+
+@Service
+public class AuditReasonServiceImpl extends ServiceImpl<AuditReasonDao, AuditReason> implements AuditReasonService {
+    private final static Logger log = LoggerFactory.getLogger(AuditReasonServiceImpl.class);
+
+	@Override
+    public AuditReasonVo detail(Long id) {
+        return baseMapper.detail(id);
+    }
+    
+    @Override
+    public IPage<AuditReasonVo> selectPage(IPage<AuditReasonVo> page, AuditReasonSearch query){
+        return page.setRecords(baseMapper.selectPage(page, query));
+    }
+
+    @Override
+    public boolean del(Long id) {
+        AuditReason auditReason = new AuditReason();
+        auditReason.setId(id);
+        auditReason.setDelFlag(true);
+        return this.updateById(auditReason);
+    }
+
+}

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

@@ -282,6 +282,39 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
         cacheTime.delete();
     }
 
+
+    @Override
+    public void updateLiveCourse(LiveCourseGroupDto dto) {
+        CourseGroup courseGroup = this.getById(dto.getId());
+        if (!courseGroup.getStatus().equals(CourseGroupEnum.NOT_SALE.getCode()) && !courseGroup.getStatus().equals(CourseGroupEnum.OUT_SALE.getCode())) {
+            throw new BizException("只有未开售和下架状态的课程能修改");
+        }
+        //写入课程组表
+        CourseGroup group = new CourseGroup();
+        group.setId(dto.getId());
+        group.setName(dto.getName());
+        group.setCourseIntroduce(dto.getCourseIntroduce());
+        if (courseGroup.getStatus().equals(CourseGroupEnum.OUT_SALE.getCode())) {
+            group.setStatus(CourseGroupEnum.APPLY.getCode());
+        }
+        group.setSalesStartDate(dto.getSalesStartDate());
+        group.setSalesEndDate(dto.getSalesEndDate());
+        group.setBackgroundPic(dto.getBackgroundPic());
+        this.saveOrUpdate(group);
+
+        //修改课程计划表
+        List<CoursePlan> planList = new ArrayList<>();
+        dto.getCoursePlanList().forEach(o -> {
+            CoursePlan plan = new CoursePlan();
+            plan.setCourseGroupId(group.getId());
+            plan.setClassNum(o.getClassNum());
+            plan.setPlan(o.getPlan());
+            plan.setId(o.getPlanId());
+            planList.add(plan);
+        });
+        coursePlanService.saveOrUpdateBatch(planList);
+    }
+
     /**
      * 取消课程组-下架课程组
      *
@@ -1320,6 +1353,7 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
         return parentSubjectList;
     }
 
+
     private void sendOutSaleMessage(LiveSaleOutDto dto, CourseGroup liveCourseGroupVo) {
         // 发送课程下架通知
         try {

+ 13 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/AuditReasonVo.java

@@ -0,0 +1,13 @@
+package com.yonge.cooleshow.biz.dal.vo;
+
+import com.yonge.cooleshow.biz.dal.entity.AuditReason;
+import io.swagger.annotations.ApiModel;
+
+/**
+ * @Author: liweifan
+ * @Data: 2022-08-12 09:33:55
+ */
+@ApiModel(value = "AuditReasonVo对象", description = "审核原因表查询视图对象")
+public class AuditReasonVo extends AuditReason{
+	private static final long serialVersionUID = 1L;
+}

+ 45 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/AuditReasonMapper.xml

@@ -0,0 +1,45 @@
+<?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.AuditReasonDao">
+	<resultMap id="BaseResultMap" type="com.yonge.cooleshow.biz.dal.entity.AuditReason">
+            <result column="id_" property="id" />
+	        <result column="name_" property="name" />
+	        <result column="type_" property="type" />
+	        <result column="del_flag_" property="delFlag" />
+	        <result column="create_time_" property="createTime" />
+	        <result column="update_time_" property="updateTime" />
+	        <result column="update_by_" property="updateBy" />
+	        <result column="create_by_" property="createBy" />
+		</resultMap>  
+    
+    <!-- 表字段 -->
+    <sql id="baseColumns">
+         t.id_ as id
+        , t.name_ as name
+        , t.type_ as type
+        , t.del_flag_ as delFlag
+        , t.create_time_ as createTime
+        , t.update_time_ as updateTime
+        , t.update_by_ as updateBy
+        , t.create_by_ as createBy
+        </sql> 
+    
+    <select id="detail" resultType="com.yonge.cooleshow.biz.dal.vo.AuditReasonVo">
+        SELECT
+            <include refid="baseColumns"/>
+        FROM audit_reason t
+        where t.id_ = #{id}
+    </select>
+    
+    <select id="selectPage" resultType="com.yonge.cooleshow.biz.dal.vo.AuditReasonVo">
+		SELECT         
+        	<include refid="baseColumns" />
+		FROM audit_reason t
+        <where>
+            t.del_flag_ = 0
+            <if test="param.type != null and param.type != ''">
+                and t.type_ = #{param.type}
+            </if>
+        </where>
+	</select>
+</mapper>

+ 9 - 6
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/TeacherCourseGroupController.java

@@ -89,12 +89,6 @@ public class TeacherCourseGroupController extends BaseController {
         return succeed(courseGroupService.queryPageLiveCourseGroup(param));
     }
 
-    @ApiOperation("直播课拥有的声部信息")
-    @GetMapping("/liveSubject")
-    public HttpResponseResult<List<Subject>> liveSubject() {
-        List<Subject> subjectList = courseGroupService.liveSubject();
-        return succeed(subjectList);
-    }
 
 
     @ApiOperation("创建直播课程组-新增课程组")
@@ -104,6 +98,15 @@ public class TeacherCourseGroupController extends BaseController {
         return succeed();
     }
 
+
+    @ApiOperation("修改直播课程组")
+    @PostMapping("/updateLiveCourse")
+    public HttpResponseResult<Object> updateLiveCourse(@RequestBody LiveCourseGroupDto dto) {
+        courseGroupService.updateLiveCourse(dto);
+        return succeed();
+    }
+
+
     @ApiOperation("创建直播课程组-锁定课程时间-将课时写到缓存当作锁定的时间")
     @PostMapping("/lockCourseToCache")
     public HttpResponseResult<List<CourseTimeEntity>> lockCourseToCache(@RequestBody CheckCourseTimeDto dto) {