Commit 567364e3 hc

版本

1 个父辈 7e817916
package com.neotel.smfcore.core.version.bean;
import com.neotel.smfcore.common.base.BasePo;
import lombok.*;
// 版本信息
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Version extends BasePo {
// 版本号
private String versionNo;
// 名称 NameEnum
private String name;
// 设备类型
private String type;
}
package com.neotel.smfcore.core.version.controller;
import cn.hutool.core.util.ObjectUtil;
import com.neotel.smfcore.common.bean.ResultBean;
import com.neotel.smfcore.core.version.bean.Version;
import com.neotel.smfcore.core.version.enums.NameEnum;
import com.neotel.smfcore.core.version.service.IVersionManager;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
/**
* 版本控制器
*/
@Slf4j
@RestController
@RequiredArgsConstructor
@Api(tags = "版本管理")
@RequestMapping("api/version")
public class VersionController {
@Autowired
private IVersionManager versionManager;
@ApiOperation("获取版本")
@RequestMapping
public ResultBean getVersion(Version query) {
// 默认原材料
Version version = versionManager.findByTypeAndName(query.getType(), NameEnum.RAW);
if (ObjectUtil.isNull(version)) {
log.info("未找到原材料版本");
return ResultBean.newErrorResult(-1, "", "未找到版本");
}
return ResultBean.newOkResult(version);
}
@ApiOperation("提交版本")
@RequestMapping("/save")
public ResultBean editVersion(@RequestBody(required = false) Version query) {
// 默认原材料
query.setName(NameEnum.RAW);
if (ObjectUtil.isEmpty(query.getVersionNo())) {
return ResultBean.newErrorResult(-1, "", "版本号不能为空");
}
if (ObjectUtil.isEmpty(query.getName())) {
return ResultBean.newErrorResult(-1, "", "name不能为空");
}
if (ObjectUtil.isEmpty(query.getType())) {
return ResultBean.newErrorResult(-1, "", "类型不能为空");
}
versionManager.save(query);
return ResultBean.newOkResult("");
}
}
package com.neotel.smfcore.core.version.enums;
public class NameEnum {
public static final String RAW = "RAW";
}
package com.neotel.smfcore.core.version.service;
import com.neotel.smfcore.common.base.IBaseManager;
import com.neotel.smfcore.core.version.bean.Version;
public interface IVersionManager extends IBaseManager<Version> {
Version findByName(String raw);
Version findByTypeAndName(String type, String raw);
}
package com.neotel.smfcore.core.version.service.dao;
import com.neotel.smfcore.common.base.IBaseDao;
import com.neotel.smfcore.core.version.bean.Version;
public interface IVersionDao extends IBaseDao {
Version findByName(String name);
Version findByTypeAndName(String type, String name);
}
package com.neotel.smfcore.core.version.service.dao.impl;
import com.neotel.smfcore.common.base.AbstractBaseDao;
import com.neotel.smfcore.core.version.bean.Version;
import com.neotel.smfcore.core.version.service.dao.IVersionDao;
import lombok.extern.slf4j.Slf4j;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
@Service
@Slf4j
public class VersionDaoImpl extends AbstractBaseDao implements IVersionDao {
@Override
public Class getEntityClass() {
return Version.class;
}
@Override
public Version findByName(String name) {
return findOne(Query.query(Criteria.where("name").is(name)));
}
@Override
public Version findByTypeAndName(String type, String name) {
return findOne(Query.query(Criteria.where("name").is(name)
.and("type").is(type)));
}
}
package com.neotel.smfcore.core.version.service.impl;
import cn.hutool.core.util.ObjectUtil;
import com.neotel.smfcore.common.bean.PageData;
import com.neotel.smfcore.common.exception.ValidateException;
import com.neotel.smfcore.core.version.bean.Version;
import com.neotel.smfcore.core.version.enums.NameEnum;
import com.neotel.smfcore.core.version.service.IVersionManager;
import com.neotel.smfcore.core.version.service.dao.IVersionDao;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Pageable;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.List;
@Service
@Slf4j
public class VersionManagerImpl implements IVersionManager {
@Autowired
private IVersionDao versionDao;
@Override
public Version findByName(String name) {
return versionDao.findByName(name);
}
@Override
public Version findByTypeAndName(String type, String name) {
return versionDao.findByTypeAndName(type, name);
}
@Override
public Version save(Version newVersion) {
// 默认原材料
Version version = versionDao.findByTypeAndName(newVersion.getType(), newVersion.getName());
if (ObjectUtil.isNull(version)) {
return versionDao.save(newVersion);
}
version.setVersionNo(newVersion.getVersionNo());
return versionDao.save(version);
}
@Override
public Version get(String id) {
return null;
}
@Override
public void delete(Version object) throws ValidateException {
}
@Override
public PageData<Version> findByPage(Query query, Pageable pageable) {
return null;
}
@Override
public List<Version> findByQuery(Query query) {
return Collections.emptyList();
}
}
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!