소스 검색

添加视频库 及任务列表 任务排期的相关联动

lqc 4 년 전
부모
커밋
8b5c496433

+ 4 - 0
src/main/java/com/mokamrp/privates/controller/pangu/FosterwxMobileController.java

@@ -337,6 +337,10 @@ public class FosterwxMobileController extends BaseController<FosterwxMobile> {
                 if (null != fosterwxTaskTemplate) {
                     fosterwxTaskSchedule.setTemplateName(fosterwxTaskTemplate.getTemplateName());
                 }
+                FosterwxTaskList fosterwxTaskList = fosterwxTaskListService.getById(fosterwxTaskSchedule.getTaskId());
+                if (null != fosterwxTaskList) {
+                    fosterwxTaskSchedule.setVideoUrl(fosterwxTaskList.getVideoUrl());
+                }
             });
 
             res.put(date, fosterwxTaskScheduleList);

+ 27 - 5
src/main/java/com/mokamrp/privates/controller/pangu/FosterwxTaskListController.java

@@ -12,14 +12,12 @@ import com.mokamrp.privates.entity.pangu.FosterwxTaskListHandle;
 import com.mokamrp.privates.help.AjaxResult;
 import com.mokamrp.privates.help.Analysis;
 import com.mokamrp.privates.interceptor.AuthUser;
-import com.mokamrp.privates.mapper.pangu.pojo.FosterwxMobile;
-import com.mokamrp.privates.mapper.pangu.pojo.FosterwxMobileTaskTimeList;
-import com.mokamrp.privates.mapper.pangu.pojo.FosterwxTaskList;
-import com.mokamrp.privates.mapper.pangu.pojo.FosterwxTaskSchedule;
+import com.mokamrp.privates.mapper.pangu.pojo.*;
 import com.mokamrp.privates.mapper.pojo.User;
 import com.mokamrp.privates.service.pangu.FosterwxMobileService;
 import com.mokamrp.privates.service.pangu.FosterwxTaskListService;
 import com.mokamrp.privates.service.pangu.FosterwxTaskScheduleService;
+import com.mokamrp.privates.service.pangu.FosterwxTeachingVideoService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.validation.BindingResult;
@@ -56,6 +54,9 @@ public class FosterwxTaskListController extends BaseController<FosterwxTaskList>
     @Autowired
     private FosterwxMobileService fosterwxMobileService;
 
+    @Autowired
+    private FosterwxTeachingVideoService fosterwxTeachingVideoService;
+
     /*
      * @fast
      * 默认生成的控制器所继承的父类中有index/add/edit/del四个基础方法,均为post json请求
@@ -142,8 +143,9 @@ public class FosterwxTaskListController extends BaseController<FosterwxTaskList>
     @PostMapping("/import")
     @Transactional(rollbackFor = Exception.class)
     public Object uploadFile(@RequestParam Integer templateId, @RequestBody MultipartFile file, @AuthUser User authUser) {
-        Map<Integer, String> field = new HashMap<>(1);
+        Map<Integer, String> field = new HashMap<>(2);
         field.put(0, "taskContent");
+        field.put(1, "videoId|default");
         List<Map<String, String>> row;
         VoltaHandle<ArrayList<Map<String, String>>> voltaRes = Analysis.analysis(file, field);
         if (voltaRes.getErr() != null) {
@@ -165,12 +167,32 @@ public class FosterwxTaskListController extends BaseController<FosterwxTaskList>
             i.set(num);
         }
 
+        // 先检查视频id 是否存在
+        StringBuffer errInfo = new StringBuffer();
+        row.forEach(map -> {
+            if (null != map.get("videoId") && !map.get("videoId").isEmpty()) {
+                FosterwxTeachingVideo fosterwxTeachingVideo = fosterwxTeachingVideoService.getById(map.get("videoId"));
+                if (null == fosterwxTeachingVideo) {
+                    errInfo.append("视频id:").append(map.get("videoId")).append("不存在").append("<br>");
+                }
+            }
+        });
+
+        if (errInfo.length() > 0) {
+            return AjaxResult.error(errInfo.toString());
+        }
+
         row.forEach(map -> {
             i.getAndIncrement();
             FosterwxTaskList fosterwxTaskList = new FosterwxTaskList();
             fosterwxTaskList.setTemplateId(templateId);
             fosterwxTaskList.setTaskName("Day" + i);
             fosterwxTaskList.setTaskContent(map.get("taskContent"));
+            if (null != map.get("videoId") && !map.get("videoId").isEmpty()) {
+                FosterwxTeachingVideo fosterwxTeachingVideo = fosterwxTeachingVideoService.getById(map.get("videoId"));
+                fosterwxTaskList.setVideoId(fosterwxTeachingVideo.getId());
+                fosterwxTaskList.setVideoUrl(fosterwxTeachingVideo.getVideoUrl());
+            }
             fosterwxTaskList.setDelFlg(1);
             fosterwxTaskList.setCreateUid(authUser.getId());
             fosterwxTaskList.setUpdateUid(authUser.getId());

+ 93 - 0
src/main/java/com/mokamrp/privates/controller/pangu/FosterwxTeachingVideoController.java

@@ -0,0 +1,93 @@
+package com.mokamrp.privates.controller.pangu;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.mokamrp.privates.constant.Constants;
+import com.mokamrp.privates.constant.HttpStatus;
+import com.mokamrp.privates.controller.BaseController;
+import com.mokamrp.privates.entity.AddHandle;
+import com.mokamrp.privates.entity.DelHandle;
+import com.mokamrp.privates.entity.ResHandle;
+import com.mokamrp.privates.entity.pangu.FosterwxTeachingVideoHandle;
+import com.mokamrp.privates.help.AjaxResult;
+import com.mokamrp.privates.interceptor.AuthUser;
+import com.mokamrp.privates.mapper.pangu.pojo.FosterwxTeachingVideo;
+import com.mokamrp.privates.mapper.pojo.User;
+import com.mokamrp.privates.service.pangu.FosterwxTeachingVideoService;
+import org.apache.poi.ss.formula.functions.T;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.validation.BindingResult;
+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.time.LocalDateTime;
+import java.util.Arrays;
+import java.util.List;
+
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author leon
+ * @since 2021-09-14
+ */
+@RestController
+@RequestMapping("/pangu/fosterwxTeachingVideo")
+public class FosterwxTeachingVideoController extends BaseController<FosterwxTeachingVideo> {
+
+    @Autowired
+    public FosterwxTeachingVideoService fosterwxTeachingVideoService;
+
+    /*
+     * @fast
+     * 默认生成的控制器所继承的父类中有index/add/edit/del四个基础方法,均为post json请求
+     * 如果需要定制化,需要将BaseController中对应的方法复制到当前控制器,然后进行修改
+     */
+
+    @PostMapping("/list")
+    public Object list(@Valid @RequestBody FosterwxTeachingVideoHandle handle, BindingResult bindingResult) {
+        if (bindingResult.hasErrors()) {
+            return AjaxResult.error(HttpStatus.ERROR, bindingResult.getFieldError().getDefaultMessage());
+        }
+        ResHandle<List<FosterwxTeachingVideo>> res = fosterwxTeachingVideoService.getList(handle);
+        return AjaxResult.success(res);
+    }
+
+
+    @PostMapping("/delPro")
+    @Transactional(rollbackFor = Exception.class)
+    public Object delPro(@RequestBody DelHandle<T> delHandle, @AuthUser User user) {
+        fosterwxTeachingVideoService.update(new FosterwxTeachingVideo() {{
+            setDelFlg(0);
+            setUpdateAt(LocalDateTime.now());
+            setUpdateUid(user.getId());
+        }}, new LambdaQueryWrapper<FosterwxTeachingVideo>().in(FosterwxTeachingVideo::getId, Arrays.asList(delHandle.getIds().split(","))));
+
+        return AjaxResult.success("删除成功");
+    }
+
+    @PostMapping("/addPro")
+    public Object add(@Valid @RequestBody AddHandle<FosterwxTeachingVideo> addHandle, @AuthUser User user, BindingResult bindingResult) {
+        if (bindingResult.hasErrors()) {
+            return AjaxResult.error(HttpStatus.ERROR, bindingResult.getFieldError().getDefaultMessage());
+        }
+        this.onInsert(addHandle.getRaw());
+        addHandle.getRaw().setUpdateUid(user.getId());
+        addHandle.getRaw().setCreateUid(user.getId());
+        addHandle.getRaw().setCreateName(user.getName());
+        Boolean res = service.save(addHandle.getRaw());
+        if (res) {
+            return AjaxResult.success(Constants.SUCCESS, res);
+        } else {
+            return AjaxResult.error("新增失败", res);
+        }
+    }
+
+
+}
+

+ 21 - 0
src/main/java/com/mokamrp/privates/entity/pangu/FosterwxTeachingVideoHandle.java

@@ -0,0 +1,21 @@
+package com.mokamrp.privates.entity.pangu;
+
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author leon
+ * @since 2021-09-14
+ */
+@Data
+public class FosterwxTeachingVideoHandle extends Model<FosterwxTeachingVideoHandle> {
+
+    private Integer page;
+    private Integer pagesize;
+    private Integer id;
+    private String title;
+}

+ 3 - 1
src/main/java/com/mokamrp/privates/mapper/pangu/FosterwxTaskListMapper.xml

@@ -8,6 +8,8 @@
         <result column="template_id" property="templateId"/>
         <result column="task_name" property="taskName"/>
         <result column="task_content" property="taskContent"/>
+        <result column="video_id" property="videoId" />
+        <result column="video_url" property="videoUrl" />
         <result column="del_flg" property="delFlg"/>
         <result column="create_uid" property="createUid"/>
         <result column="update_uid" property="updateUid"/>
@@ -18,7 +20,7 @@
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
         id
-        , template_id, task_name, task_content, del_flg, create_uid, update_uid, create_at, update_at
+        , template_id, task_name, task_content, video_url, del_flg, create_uid, update_uid, create_at, update_at
     </sql>
     <select id="getList" resultType="com.mokamrp.privates.mapper.pangu.pojo.FosterwxTaskList">
         SELECT *

+ 21 - 0
src/main/java/com/mokamrp/privates/mapper/pangu/FosterwxTeachingVideoMapper.java

@@ -0,0 +1,21 @@
+package com.mokamrp.privates.mapper.pangu;
+
+import com.mokamrp.privates.mapper.pangu.pojo.FosterwxTeachingVideo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.springframework.stereotype.Component;
+import org.apache.ibatis.annotations.Param;
+import java.util.List;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author leon
+ * @since 2021-09-14
+ */
+@Component
+public interface FosterwxTeachingVideoMapper extends BaseMapper<FosterwxTeachingVideo> {
+    public List<FosterwxTeachingVideo> getList(Page<FosterwxTeachingVideo> pageObj);
+}

+ 25 - 0
src/main/java/com/mokamrp/privates/mapper/pangu/FosterwxTeachingVideoMapper.xml

@@ -0,0 +1,25 @@
+<?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.mokamrp.privates.mapper.pangu.FosterwxTeachingVideoMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.mokamrp.privates.mapper.pangu.pojo.FosterwxTeachingVideo">
+        <id column="id" property="id" />
+        <result column="title" property="title" />
+        <result column="video_url" property="videoUrl" />
+        <result column="del_flg" property="delFlg" />
+        <result column="create_uid" property="createUid" />
+        <result column="create_name" property="createName" />
+        <result column="update_uid" property="updateUid" />
+        <result column="create_at" property="createAt" />
+        <result column="update_at" property="updateAt" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, title, video_url, del_flg, create_uid, create_name, update_uid, create_at, update_at
+    </sql>
+    <select id="getList" resultType="com.mokamrp.privates.mapper.pangu.pojo.FosterwxTeachingVideo">
+        SELECT * FROM pan_fosterwx_teaching_video
+    </select>
+</mapper>

+ 31 - 0
src/main/java/com/mokamrp/privates/mapper/pangu/pojo/FosterwxTaskList.java

@@ -43,6 +43,16 @@ public class FosterwxTaskList extends Model<FosterwxTaskList> {
     private String taskContent;
 
     /**
+     * 视频链接
+     */
+    private Integer videoId;
+
+    /**
+     * 视频链接
+     */
+    private String videoUrl;
+
+    /**
      * 删除标志
      */
     private Integer delFlg;
@@ -67,6 +77,9 @@ public class FosterwxTaskList extends Model<FosterwxTaskList> {
      */
     private LocalDateTime updateAt;
 
+    public FosterwxTaskList() {
+    }
+
 
     public Integer getId() {
         return id;
@@ -100,6 +113,22 @@ public class FosterwxTaskList extends Model<FosterwxTaskList> {
         this.taskContent = taskContent;
     }
 
+    public Integer getVideoId() {
+        return videoId;
+    }
+
+    public void setVideoId(Integer videoId) {
+        this.videoId = videoId;
+    }
+
+    public String getVideoUrl() {
+        return videoUrl;
+    }
+
+    public void setVideoUrl(String videoUrl) {
+        this.videoUrl = videoUrl;
+    }
+
     public Integer getDelFlg() {
         return delFlg;
     }
@@ -152,6 +181,8 @@ public class FosterwxTaskList extends Model<FosterwxTaskList> {
                 ", templateId=" + templateId +
                 ", taskName=" + taskName +
                 ", taskContent=" + taskContent +
+                ", videoId=" + videoId +
+                ", videoUrl=" + videoUrl +
                 ", delFlg=" + delFlg +
                 ", createUid=" + createUid +
                 ", updateUid=" + updateUid +

+ 3 - 0
src/main/java/com/mokamrp/privates/mapper/pangu/pojo/FosterwxTaskSchedule.java

@@ -133,6 +133,9 @@ public class FosterwxTaskSchedule extends Model<FosterwxTaskSchedule> {
     @TableField(exist = false)
     private String templateName;
 
+    @TableField(exist = false)
+    private String videoUrl;
+
 
     public Integer getId() {
         return id;

+ 161 - 0
src/main/java/com/mokamrp/privates/mapper/pangu/pojo/FosterwxTeachingVideo.java

@@ -0,0 +1,161 @@
+package com.mokamrp.privates.mapper.pangu.pojo;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author leon
+ * @since 2021-09-14
+ */
+@TableName("pan_fosterwx_teaching_video")
+public class FosterwxTeachingVideo extends Model<FosterwxTeachingVideo> {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * id
+     */
+      @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 视频标题
+     */
+    private String title;
+
+    /**
+     * 视频链接
+     */
+    private String videoUrl;
+
+    /**
+     * 删除标志
+     */
+    private Integer delFlg;
+
+    /**
+     * 创建人
+     */
+    private Integer createUid;
+
+    /**
+     * 创建人姓名
+     */
+    private String createName;
+
+    /**
+     * 更新人
+     */
+    private Integer updateUid;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createAt;
+
+    /**
+     * 更新时间
+     */
+    private LocalDateTime updateAt;
+
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public String getTitle() {
+        return title;
+    }
+
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    public String getVideoUrl() {
+        return videoUrl;
+    }
+
+    public void setVideoUrl(String videoUrl) {
+        this.videoUrl = videoUrl;
+    }
+
+    public Integer getDelFlg() {
+        return delFlg;
+    }
+
+    public void setDelFlg(Integer delFlg) {
+        this.delFlg = delFlg;
+    }
+
+    public Integer getCreateUid() {
+        return createUid;
+    }
+
+    public void setCreateUid(Integer createUid) {
+        this.createUid = createUid;
+    }
+
+    public String getCreateName() {
+        return createName;
+    }
+
+    public void setCreateName(String createName) {
+        this.createName = createName;
+    }
+
+    public Integer getUpdateUid() {
+        return updateUid;
+    }
+
+    public void setUpdateUid(Integer updateUid) {
+        this.updateUid = updateUid;
+    }
+
+    public LocalDateTime getCreateAt() {
+        return createAt;
+    }
+
+    public void setCreateAt(LocalDateTime createAt) {
+        this.createAt = createAt;
+    }
+
+    public LocalDateTime getUpdateAt() {
+        return updateAt;
+    }
+
+    public void setUpdateAt(LocalDateTime updateAt) {
+        this.updateAt = updateAt;
+    }
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+    @Override
+    public String toString() {
+        return "FosterwxTeachingVideo{" +
+        "id=" + id +
+        ", title=" + title +
+        ", videoUrl=" + videoUrl +
+        ", delFlg=" + delFlg +
+        ", createUid=" + createUid +
+        ", createName=" + createName +
+        ", updateUid=" + updateUid +
+        ", createAt=" + createAt +
+        ", updateAt=" + updateAt +
+        "}";
+    }
+}

+ 21 - 0
src/main/java/com/mokamrp/privates/service/pangu/FosterwxTeachingVideoService.java

@@ -0,0 +1,21 @@
+package com.mokamrp.privates.service.pangu;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.mokamrp.privates.entity.ResHandle;
+import com.mokamrp.privates.entity.pangu.FosterwxTeachingVideoHandle;
+import com.mokamrp.privates.mapper.pangu.pojo.FosterwxTeachingVideo;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author leon
+ * @since 2021-09-14
+ */
+public interface FosterwxTeachingVideoService extends IService<FosterwxTeachingVideo> {
+    //.@leon 获取数据列表
+    public ResHandle<List<FosterwxTeachingVideo>> getList(FosterwxTeachingVideoHandle handle);
+}

+ 54 - 0
src/main/java/com/mokamrp/privates/service/pangu/impl/FosterwxTeachingVideoServiceImpl.java

@@ -0,0 +1,54 @@
+package com.mokamrp.privates.service.pangu.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mokamrp.privates.entity.ResHandle;
+import com.mokamrp.privates.entity.pangu.FosterwxTeachingVideoHandle;
+import com.mokamrp.privates.mapper.pangu.FosterwxTeachingVideoMapper;
+import com.mokamrp.privates.mapper.pangu.pojo.FosterwxTeachingVideo;
+import com.mokamrp.privates.service.pangu.FosterwxTeachingVideoService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.awt.*;
+import java.util.List;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author leon
+ * @since 2021-09-14
+ */
+@Service
+public class FosterwxTeachingVideoServiceImpl extends ServiceImpl<FosterwxTeachingVideoMapper, FosterwxTeachingVideo> implements FosterwxTeachingVideoService {
+
+    @Autowired
+    public FosterwxTeachingVideoMapper fosterwxTeachingVideoMapper;
+
+    /**
+     * 获取数据列表 支持分页
+     * @param handle
+     * @return
+     */
+    public ResHandle<List<FosterwxTeachingVideo>> getList(FosterwxTeachingVideoHandle handle) {
+        Integer pagesize = handle.getPagesize();
+        Integer page = handle.getPage();
+        Page<FosterwxTeachingVideo> pageObj = new Page<FosterwxTeachingVideo>(page, pagesize);
+        LambdaQueryWrapper<FosterwxTeachingVideo> fosterwxTeachingVideoLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        if (null != handle.getTitle() && !handle.getTitle().isEmpty()) {
+            fosterwxTeachingVideoLambdaQueryWrapper.like(FosterwxTeachingVideo::getTitle, handle.getTitle());
+        }
+        fosterwxTeachingVideoLambdaQueryWrapper.eq(FosterwxTeachingVideo::getDelFlg, 1);
+        List<FosterwxTeachingVideo> list = fosterwxTeachingVideoMapper.selectList(fosterwxTeachingVideoLambdaQueryWrapper);
+        ResHandle<List<FosterwxTeachingVideo>> resHandle = new ResHandle<>();
+        resHandle.setList(list);
+        resHandle.setTotal(pageObj.getTotal());
+        return resHandle;
+    }
+}

BIN
src/main/resources/static/任务列表.xls


+ 1 - 1
src/test/java/com/mokamrp/AutoMPPangu.java

@@ -47,7 +47,7 @@ public class AutoMPPangu {
 				.setColumnNaming(NamingStrategy.underline_to_camel)
 				.setNaming(NamingStrategy.underline_to_camel) // 数据库表映射到实体的命名策略,下划线转驼峰命名
 				.setTablePrefix("pan_") //表名前缀
-				.setInclude("pan_fosterwx_mobile_task_time_list");  //生成的表
+				.setInclude("pan_fosterwx_task_list");  //生成的表
 		
 		//4. 包名策略配置 
 		PackageConfig pkConfig = new PackageConfig();