增加APP版本记录
parent
6d71b6d03b
commit
8719fffb03
2
ruoyi
2
ruoyi
|
|
@ -1 +1 @@
|
|||
Subproject commit 0558928c522bdda5a1c3ae88ace3f4970ad3ed33
|
||||
Subproject commit 6a52c42db8cf808d63dcb49723ee3866cf381505
|
||||
|
|
@ -0,0 +1,53 @@
|
|||
package com.gunshi.project.xyt.controller;
|
||||
|
||||
import com.gunshi.core.result.R;
|
||||
import com.gunshi.project.xyt.model.AppVersionRecord;
|
||||
import com.gunshi.project.xyt.service.AppVersionRecordService;
|
||||
import com.ruoyi.common.config.RuoYiConfig;
|
||||
import com.ruoyi.common.utils.file.FileUploadUtils;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 描述: APP版本记录
|
||||
* author: xusan
|
||||
* date: 2024-11-12 10:14:50
|
||||
*/
|
||||
@Tag(name = "APP版本记录")
|
||||
@RestController
|
||||
@RequestMapping(value="/appVersionRecord")
|
||||
public class AppVersionRecordController {
|
||||
|
||||
@Autowired
|
||||
private AppVersionRecordService service;
|
||||
|
||||
@PostMapping("/upload")
|
||||
public R upload(@RequestParam("file") MultipartFile file, @RequestParam("version") String version, @RequestParam("versionDesc") String versionDesc) throws Exception
|
||||
{
|
||||
Map<String,String> map = new HashMap<>();
|
||||
if (!file.isEmpty())
|
||||
{
|
||||
String url = FileUploadUtils.upload(RuoYiConfig.getUploadPath(),file,null);
|
||||
if (service.insertData(version,versionDesc,url))
|
||||
{
|
||||
map.put("url", url);
|
||||
return R.ok(map);
|
||||
}
|
||||
}
|
||||
return R.error(400,"上传失败");
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Operation(summary = "最新记录")
|
||||
@GetMapping("/latest")
|
||||
public R<AppVersionRecord> latest() {
|
||||
return R.ok(service.getLatest());
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
package com.gunshi.project.xyt.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.gunshi.project.xyt.model.AppVersionRecord;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* 描述: APP版本记录
|
||||
* author: xusan
|
||||
* date: 2024-11-12 10:14:50
|
||||
*/
|
||||
@Mapper
|
||||
public interface AppVersionRecordMapper extends BaseMapper<AppVersionRecord> {
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,72 @@
|
|||
package com.gunshi.project.xyt.model;
|
||||
|
||||
|
||||
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.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import com.gunshi.core.dateformat.DateFormatString;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.Size;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 描述: APP版本记录
|
||||
* author: xusan
|
||||
* date: 2024-11-12 10:14:50
|
||||
*/
|
||||
@Schema(description="APP版本记录")
|
||||
@Data
|
||||
@TableName("public.app_version_record")
|
||||
public class AppVersionRecord implements Serializable {
|
||||
|
||||
public final static String thisTableName = "AppVersionRecord";
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@TableId(value="id", type= IdType.AUTO)
|
||||
@Schema(description="主键")
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 版本号
|
||||
*/
|
||||
@TableField(value="version")
|
||||
@Schema(description="版本号")
|
||||
@Size(max = 20,message = "版本号最大长度要小于 20")
|
||||
private String version;
|
||||
|
||||
/**
|
||||
* 版本描述
|
||||
*/
|
||||
@TableField(value="version_desc")
|
||||
@Schema(description="版本描述")
|
||||
private String versionDesc;
|
||||
|
||||
/**
|
||||
* url
|
||||
*/
|
||||
@TableField(value="url")
|
||||
@Schema(description="地址")
|
||||
private String url;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField(value="create_time")
|
||||
@Schema(description="创建时间")
|
||||
@JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8")
|
||||
private Date createTime;
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
package com.gunshi.project.xyt.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.gunshi.project.xyt.mapper.AppVersionRecordMapper;
|
||||
import com.gunshi.project.xyt.model.AppVersionRecord;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 描述: APP版本记录
|
||||
* author: xusan
|
||||
* date: 2024-11-12 10:14:50
|
||||
*/
|
||||
@Service
|
||||
@Slf4j
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public class AppVersionRecordService extends ServiceImpl<AppVersionRecordMapper, AppVersionRecord>
|
||||
{
|
||||
|
||||
public boolean insertData(String version,String versionDesc,String url) {
|
||||
AppVersionRecord record = new AppVersionRecord();
|
||||
record.setId(IdWorker.getId());
|
||||
record.setVersion(version);
|
||||
record.setVersionDesc(versionDesc);
|
||||
record.setUrl(url);
|
||||
record.setCreateTime(new Date());
|
||||
return this.baseMapper.insert(record) > 0;
|
||||
}
|
||||
|
||||
public AppVersionRecord getLatest() {
|
||||
AppVersionRecord record = null;
|
||||
List<AppVersionRecord> list = this.lambdaQuery().orderByDesc(AppVersionRecord::getCreateTime).list();
|
||||
if(!CollectionUtils.isEmpty(list)){
|
||||
record = list.get(0);
|
||||
}
|
||||
return record;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue