浏览代码

新增版本管理

wangliang 4 月之前
父节点
当前提交
a3c32e4d68

+ 16 - 69
distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/TBTaskPdf.java

@@ -1,15 +1,19 @@
 package com.qmth.distributed.print.business.entity;
 
-import com.baomidou.mybatisplus.annotation.*;
-
-import java.io.Serializable;
-
+import com.baomidou.mybatisplus.annotation.FieldStrategy;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import com.qmth.teachcloud.common.base.BaseEntity;
 import com.qmth.teachcloud.common.enums.CreatePdfTypeEnum;
 import com.qmth.teachcloud.common.enums.TaskResultEnum;
 import com.qmth.teachcloud.common.enums.TaskStatusEnum;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
+import java.io.Serializable;
+
 /**
  * <p>
  * pdf生成日志表
@@ -20,24 +24,24 @@ import io.swagger.annotations.ApiModelProperty;
  */
 @TableName("t_b_task_pdf")
 @ApiModel(value = "TBTaskPdf对象", description = "pdf生成日志表")
-public class TBTaskPdf implements Serializable {
+public class TBTaskPdf extends BaseEntity implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
-    @ApiModelProperty(value = "主键(与exam_detail表id一致)")
-    @TableId(value = "id", type = IdType.INPUT)
-    private Long id;
-
     @ApiModelProperty(value = "学校ID")
+    @JsonSerialize(using = ToStringSerializer.class)
     private Long schoolId;
 
     @ApiModelProperty(value = "学期ID")
+    @JsonSerialize(using = ToStringSerializer.class)
     private Long semesterId;
 
     @ApiModelProperty(value = "考试ID")
+    @JsonSerialize(using = ToStringSerializer.class)
     private Long examId;
 
     @ApiModelProperty(value = "印刷计划ID")
+    @JsonSerialize(using = ToStringSerializer.class)
     private Long printPlanId;
 
     @ApiModelProperty(value = "课程名称")
@@ -58,18 +62,6 @@ public class TBTaskPdf implements Serializable {
     @TableField(updateStrategy = FieldStrategy.IGNORED)
     private TaskResultEnum result;
 
-    @ApiModelProperty(value = "创建人")
-    private Long createId;
-
-    @ApiModelProperty(value = "创建时间")
-    private Long createTime;
-
-    @ApiModelProperty(value = "更新人")
-    private Long updateId;
-
-    @ApiModelProperty(value = "更新时间")
-    private Long updateTime;
-
     @ApiModelProperty(value = "备注")
     private String remark;
 
@@ -81,15 +73,15 @@ public class TBTaskPdf implements Serializable {
     }
 
     public TBTaskPdf(Long id, Long schoolId, Long semesterId, Long examId, Long printPlanId, String courseNameCode, String paperNumber, Long createId) {
-        this.id = id;
+        setId(id);
         this.schoolId = schoolId;
         this.semesterId = semesterId;
         this.examId = examId;
         this.printPlanId = printPlanId;
         this.courseNameCode = courseNameCode;
         this.paperNumber = paperNumber;
-        this.createId = createId;
-        this.createTime = System.currentTimeMillis();
+        setCreateId(createId);
+        setCreateTime(System.currentTimeMillis());
         this.status = TaskStatusEnum.INIT;
         this.createType = CreatePdfTypeEnum.ALL;
     }
@@ -102,14 +94,6 @@ public class TBTaskPdf implements Serializable {
         this.diffTime = diffTime;
     }
 
-    public Long getId() {
-        return id;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
-
     public Long getSchoolId() {
         return schoolId;
     }
@@ -190,38 +174,6 @@ public class TBTaskPdf implements Serializable {
         this.result = result;
     }
 
-    public Long getCreateId() {
-        return createId;
-    }
-
-    public void setCreateId(Long createId) {
-        this.createId = createId;
-    }
-
-    public Long getCreateTime() {
-        return createTime;
-    }
-
-    public void setCreateTime(Long createTime) {
-        this.createTime = createTime;
-    }
-
-    public Long getUpdateId() {
-        return updateId;
-    }
-
-    public void setUpdateId(Long updateId) {
-        this.updateId = updateId;
-    }
-
-    public Long getUpdateTime() {
-        return updateTime;
-    }
-
-    public void setUpdateTime(Long updateTime) {
-        this.updateTime = updateTime;
-    }
-
     public String getRemark() {
         return remark;
     }
@@ -233,7 +185,6 @@ public class TBTaskPdf implements Serializable {
     @Override
     public String toString() {
         return "TBTaskPdf{" +
-                "id=" + id +
                 ", schoolId=" + schoolId +
                 ", semesterId=" + semesterId +
                 ", examId=" + examId +
@@ -243,10 +194,6 @@ public class TBTaskPdf implements Serializable {
                 ", status=" + status +
                 ", summary=" + summary +
                 ", result=" + result +
-                ", createId=" + createId +
-                ", createTime=" + createTime +
-                ", updateId=" + updateId +
-                ", updateTime=" + updateTime +
                 ", remark=" + remark +
                 "}";
     }

+ 49 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/TBVersion.java

@@ -0,0 +1,49 @@
+package com.qmth.distributed.print.business.entity;
+
+import com.qmth.teachcloud.common.base.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import org.hibernate.validator.constraints.Length;
+
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 版本管理表
+ * </p>
+ *
+ * @author wangliang
+ * @since 2025-02-27
+ */
+@ApiModel(value = "TBVersion对象", description = "版本管理表")
+public class TBVersion extends BaseEntity implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "服务端版本")
+    @NotNull(message = "服务端版本不能为空")
+    @Length(min = 1, max = 100, message = "不能超过100字符")
+    private String softVersion;
+
+    @ApiModelProperty(value = "客户端版本")
+    @NotNull(message = "客户端版本不能为空")
+    @Length(min = 1, max = 100, message = "不能超过100字符")
+    private String clientVersion;
+
+    public String getSoftVersion() {
+        return softVersion;
+    }
+
+    public void setSoftVersion(String softVersion) {
+        this.softVersion = softVersion;
+    }
+
+    public String getClientVersion() {
+        return clientVersion;
+    }
+
+    public void setClientVersion(String clientVersion) {
+        this.clientVersion = clientVersion;
+    }
+}

+ 26 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/TBVersionMapper.java

@@ -0,0 +1,26 @@
+package com.qmth.distributed.print.business.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.qmth.distributed.print.business.entity.TBVersion;
+
+import java.util.Map;
+
+/**
+ * <p>
+ * 版本管理表 Mapper 接口
+ * </p>
+ *
+ * @author wangliang
+ * @since 2025-02-27
+ */
+public interface TBVersionMapper extends BaseMapper<TBVersion> {
+
+    /**
+     * 版本管理分页列表
+     *
+     * @param iPage
+     * @return
+     */
+    public IPage<TBVersion> versionList(IPage<Map> iPage);
+}

+ 26 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/TBVersionService.java

@@ -0,0 +1,26 @@
+package com.qmth.distributed.print.business.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.qmth.distributed.print.business.entity.TBVersion;
+
+import java.util.Map;
+
+/**
+ * <p>
+ * 版本管理表 服务类
+ * </p>
+ *
+ * @author wangliang
+ * @since 2025-02-27
+ */
+public interface TBVersionService extends IService<TBVersion> {
+
+    /**
+     * 版本管理分页列表
+     *
+     * @param iPage
+     * @return
+     */
+    public IPage<TBVersion> versionList(IPage<Map> iPage);
+}

+ 33 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/TBVersionServiceImpl.java

@@ -0,0 +1,33 @@
+package com.qmth.distributed.print.business.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.qmth.distributed.print.business.entity.TBVersion;
+import com.qmth.distributed.print.business.mapper.TBVersionMapper;
+import com.qmth.distributed.print.business.service.TBVersionService;
+import org.springframework.stereotype.Service;
+
+import java.util.Map;
+
+/**
+ * <p>
+ * 版本管理表 服务实现类
+ * </p>
+ *
+ * @author wangliang
+ * @since 2025-02-27
+ */
+@Service
+public class TBVersionServiceImpl extends ServiceImpl<TBVersionMapper, TBVersion> implements TBVersionService {
+
+    /**
+     * 版本管理分页列表
+     *
+     * @param iPage
+     * @return
+     */
+    @Override
+    public IPage<TBVersion> versionList(IPage<Map> iPage) {
+        return this.baseMapper.versionList(iPage);
+    }
+}

+ 8 - 0
distributed-print-business/src/main/resources/mapper/TBVersionMapper.xml

@@ -0,0 +1,8 @@
+<?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.qmth.distributed.print.business.mapper.TBVersionMapper">
+
+    <select id="versionList" resultType="com.qmth.distributed.print.business.entity.TBVersion">
+        select * from t_b_version t order by t.id
+    </select>
+</mapper>

+ 13 - 0
distributed-print/install/mysql/upgrade/3.4.4.sql

@@ -103,3 +103,16 @@ UPDATE `sys_privilege` SET `url` = '/api/admin/mark/question/subjective/picture/
 UPDATE `sys_privilege` SET `url` = '/api/admin/mark/class/update' WHERE (`id` = '963');
 
 ALTER TABLE `mark_question` ADD COLUMN `course_id` BIGINT(20) NULL COMMENT '课程ID' AFTER `exam_id`;
+
+INSERT INTO sys_privilege
+(id, name, url, `type`, parent_id, `sequence`, property, related, enable, default_auth, front_display)
+VALUES(1189, '版本管理列表', '/api/admin/version/list', 'URL', 1, 18, 'SYS', NULL, 1, 1, 1);
+INSERT INTO sys_privilege
+(id, name, url, `type`, parent_id, `sequence`, property, related, enable, default_auth, front_display)
+VALUES(1190, '版本管理新增/修改', '/api/admin/version/save', 'URL', 1, 18, 'SYS', NULL, 1, 1, 1);
+INSERT INTO sys_privilege
+(id, name, url, `type`, parent_id, `sequence`, property, related, enable, default_auth, front_display)
+VALUES(1191, '版本管理编辑', '/api/admin/version/edit', 'URL', 1, 18, 'SYS', NULL, 1, 1, 1);
+INSERT INTO sys_privilege
+(id, name, url, `type`, parent_id, `sequence`, property, related, enable, default_auth, front_display)
+VALUES(1192, '版本管理删除', '/api/admin/version/delete', 'URL', 1, 18, 'SYS', NULL, 1, 1, 1);

+ 0 - 20
distributed-print/src/main/java/com/qmth/distributed/print/api/BasicTeachClazzController.java

@@ -1,20 +0,0 @@
-package com.qmth.distributed.print.api;
-
-
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * <p>
- * 基础教学班表 前端控制器
- * </p>
- *
- * @author CaoZixuan
- * @since 2024-02-22
- */
-@RestController
-@RequestMapping("/basic-teach-clazz")
-public class BasicTeachClazzController {
-
-}

+ 86 - 0
distributed-print/src/main/java/com/qmth/distributed/print/api/TBVersionController.java

@@ -0,0 +1,86 @@
+package com.qmth.distributed.print.api;
+
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.qmth.boot.api.constant.ApiConstant;
+import com.qmth.distributed.print.business.bean.result.EditResult;
+import com.qmth.distributed.print.business.entity.TBVersion;
+import com.qmth.distributed.print.business.service.TBVersionService;
+import com.qmth.teachcloud.common.contant.SystemConstant;
+import com.qmth.teachcloud.common.entity.SysUser;
+import com.qmth.teachcloud.common.util.Result;
+import com.qmth.teachcloud.common.util.ResultUtil;
+import com.qmth.teachcloud.common.util.ServletUtil;
+import io.swagger.annotations.*;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.validation.Valid;
+import javax.validation.constraints.Max;
+import javax.validation.constraints.Min;
+import java.util.Objects;
+
+/**
+ * <p>
+ * 版本管理表 前端控制器
+ * </p>
+ *
+ * @author wangliang
+ * @since 2025-02-27
+ */
+@Api(tags = "版本管理Controller")
+@RestController
+@RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + SystemConstant.PREFIX_URL_VERSION)
+public class TBVersionController {
+    private final static Logger log = LoggerFactory.getLogger(TBVersionController.class);
+
+    @Resource
+    TBVersionService tbVersionService;
+
+    @ApiOperation(value = "版本管理列表")
+    @RequestMapping(value = "/list", method = RequestMethod.POST)
+    @ApiResponses({@ApiResponse(code = 200, message = "分页查询", response = TBVersion.class)})
+    public Result versionList(@ApiParam(value = "分页页码", required = true) @RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
+                              @ApiParam(value = "分页数", required = true) @RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) {
+        return ResultUtil.ok(tbVersionService.versionList(new Page<>(pageNumber, pageSize)));
+    }
+
+    @ApiOperation(value = "版本管理新增/修改")
+    @RequestMapping(value = "/save", method = RequestMethod.POST)
+    @ApiResponses({@ApiResponse(code = 200, message = "新增", response = EditResult.class)})
+    public Result save(@ApiParam(value = "版本信息", required = true) @Valid @RequestBody TBVersion tbVersion, BindingResult bindingResult) {
+        if (bindingResult.hasErrors()) {
+            return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
+        }
+        SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
+        if (Objects.isNull(tbVersion.getId())) {
+            tbVersion.insertInfo(sysUser.getId());
+        } else {
+            TBVersion tbVersionDb = tbVersionService.getById(tbVersion.getId());
+            Objects.requireNonNull(tbVersionDb, "未找到版本信息");
+            tbVersion.updateInfo(sysUser.getId());
+        }
+        return ResultUtil.ok(tbVersionService.saveOrUpdate(tbVersion));
+    }
+
+    @ApiOperation(value = "版本管理编辑")
+    @RequestMapping(value = "/edit", method = RequestMethod.POST)
+    @ApiResponses({@ApiResponse(code = 200, message = "编辑", response = TBVersion.class)})
+    public Result edit(@ApiParam(value = "主键", required = true) @RequestParam Long id) {
+        TBVersion tbVersion = tbVersionService.getById(id);
+        Objects.requireNonNull(tbVersion, "未找到版本信息");
+        return ResultUtil.ok(tbVersionService.getById(id));
+    }
+
+    @ApiOperation(value = "版本管理删除")
+    @RequestMapping(value = "/delete", method = RequestMethod.POST)
+    @ApiResponses({@ApiResponse(code = 200, message = "删除", response = EditResult.class)})
+    public Result delete(@ApiParam(value = "主键", required = true) @RequestParam Long id) {
+        TBVersion tbVersion = tbVersionService.getById(id);
+        Objects.requireNonNull(tbVersion, "未找到版本信息");
+        return ResultUtil.ok(tbVersionService.removeById(id));
+    }
+}

+ 1 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/contant/SystemConstant.java

@@ -83,7 +83,7 @@ public class SystemConstant {
     public static final String PREFIX_URL_PROFESSIONAL = "/admin/basic/professional";
     public static final String PREFIX_URL_CULTURE_PROGRAM = "/admin/obe/culture/program";
     public static final String PREFIX_URL_OBE = "/admin/obe";
-    public static final String PREFIX_URL_JOB = "/admin/job";
+    public static final String PREFIX_URL_VERSION = "/admin/version";
 
     /**
      * 教研分析api前缀