集成mybatis-plus、引入lombok
This commit is contained in:
parent
300fb5e83f
commit
70012d0746
|
@ -0,0 +1,103 @@
|
|||
package com.ruoyi.web.controller.system;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.PutMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.system.domain.SysStudent;
|
||||
import com.ruoyi.system.service.ISysStudentService;
|
||||
|
||||
/**
|
||||
* 学生信息Controller
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/system/student")
|
||||
public class SysStudentController extends BaseController
|
||||
{
|
||||
@Autowired
|
||||
private ISysStudentService sysStudentService;
|
||||
|
||||
/**
|
||||
* 查询学生信息列表
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('system:student:list')")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo list(SysStudent sysStudent)
|
||||
{
|
||||
startPage();
|
||||
List<SysStudent> list = sysStudentService.queryList(sysStudent);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出学生信息列表
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('system:student:export')")
|
||||
@Log(title = "学生信息", businessType = BusinessType.EXPORT)
|
||||
@GetMapping("/export")
|
||||
public AjaxResult export(SysStudent sysStudent)
|
||||
{
|
||||
List<SysStudent> list = sysStudentService.queryList(sysStudent);
|
||||
ExcelUtil<SysStudent> util = new ExcelUtil<SysStudent>(SysStudent.class);
|
||||
return util.exportExcel(list, "student");
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取学生信息详细信息
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('system:student:query')")
|
||||
@GetMapping(value = "/{studentId}")
|
||||
public AjaxResult getInfo(@PathVariable("studentId") Long studentId)
|
||||
{
|
||||
return AjaxResult.success(sysStudentService.getById(studentId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增学生信息
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('system:student:add')")
|
||||
@Log(title = "学生信息", businessType = BusinessType.INSERT)
|
||||
@PostMapping
|
||||
public AjaxResult add(@RequestBody SysStudent sysStudent)
|
||||
{
|
||||
return toAjax(sysStudentService.save(sysStudent));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改学生信息
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('system:student:edit')")
|
||||
@Log(title = "学生信息", businessType = BusinessType.UPDATE)
|
||||
@PutMapping
|
||||
public AjaxResult edit(@RequestBody SysStudent sysStudent)
|
||||
{
|
||||
return toAjax(sysStudentService.updateById(sysStudent));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除学生信息
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('system:student:remove')")
|
||||
@Log(title = "学生信息", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{studentIds}")
|
||||
public AjaxResult remove(@PathVariable Long[] studentIds)
|
||||
{
|
||||
return toAjax(sysStudentService.removeByIds(Arrays.asList(studentIds)));
|
||||
}
|
||||
}
|
|
@ -99,8 +99,17 @@ token:
|
|||
# 令牌有效期(默认30分钟)
|
||||
expireTime: 30
|
||||
|
||||
# MyBatis配置
|
||||
mybatis:
|
||||
## MyBatis配置
|
||||
#mybatis:
|
||||
# # 搜索指定包别名
|
||||
# typeAliasesPackage: com.ruoyi.**.domain
|
||||
# # 配置mapper的扫描,找到所有的mapper.xml映射文件
|
||||
# mapperLocations: classpath*:mapper/**/*Mapper.xml
|
||||
# # 加载全局的配置文件
|
||||
# configLocation: classpath:mybatis/mybatis-config.xml
|
||||
|
||||
# MyBatis Plus配置
|
||||
mybatis-plus:
|
||||
# 搜索指定包别名
|
||||
typeAliasesPackage: com.ruoyi.**.domain
|
||||
# 配置mapper的扫描,找到所有的mapper.xml映射文件
|
||||
|
|
|
@ -1,24 +1,22 @@
|
|||
Application Version: ${ruoyi.version}
|
||||
Spring Boot Version: ${spring-boot.version}
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// _ooOoo_ //
|
||||
// o8888888o //
|
||||
// 88" . "88 //
|
||||
// (| ^_^ |) //
|
||||
// O\ = /O //
|
||||
// ____/`---'\____ //
|
||||
// .' \\| |// `. //
|
||||
// / \\||| : |||// \ //
|
||||
// / _||||| -:- |||||- \ //
|
||||
// | | \\\ - /// | | //
|
||||
// | \_| ''\---/'' | | //
|
||||
// \ .-\__ `-` ___/-. / //
|
||||
// ___`. .' /--.--\ `. . ___ //
|
||||
// ."" '< `.___\_<|>_/___.' >'"". //
|
||||
// | | : `- \`.;`\ _ /`;.`/ - ` : | | //
|
||||
// \ \ `-. \_ __\ /__ _/ .-` / / //
|
||||
// ========`-.____`-.___\_____/___.-`____.-'======== //
|
||||
// `=---=' //
|
||||
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ //
|
||||
// 佛祖保佑 永不宕机 永无BUG //
|
||||
////////////////////////////////////////////////////////////////////
|
||||
/**
|
||||
* .::::.
|
||||
* .::::::::.
|
||||
* ::::::::::: DEAR CODER!! LET ME SERVE YOU , COME ON BABY!!
|
||||
* ..:::::::::::'
|
||||
* '::::::::::::'
|
||||
* .::::::::::
|
||||
* '::::::::::::::..
|
||||
* ..::::::::::::.
|
||||
* ``::::::::::::::::
|
||||
* ::::``:::::::::' .:::.
|
||||
* ::::' ':::::' .::::::::.
|
||||
* .::::' :::: .:::::::'::::.
|
||||
* .:::' ::::: .:::::::::' ':::::.
|
||||
* .::' :::::.:::::::::' ':::::.
|
||||
* .::' ::::::::::::::' ``::::.
|
||||
* ...::: ::::::::::::' ``::.
|
||||
* ```` ':. ':::::::::' ::::..
|
||||
* '.:::::' ':'````..
|
||||
*/
|
|
@ -126,6 +126,21 @@
|
|||
<artifactId>javax.servlet-api</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
<artifactId>lombok</artifactId>
|
||||
<version>${lombok.version}</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
<!-- mybatis-plus 增强CRUD -->
|
||||
<dependency>
|
||||
<groupId>com.baomidou</groupId>
|
||||
<artifactId>mybatis-plus-boot-starter</artifactId>
|
||||
<version>3.4.1</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
</dependencies>
|
||||
|
||||
</project>
|
|
@ -1,132 +0,0 @@
|
|||
package com.ruoyi.framework.config;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import javax.sql.DataSource;
|
||||
import org.apache.ibatis.io.VFS;
|
||||
import org.apache.ibatis.session.SqlSessionFactory;
|
||||
import org.mybatis.spring.SqlSessionFactoryBean;
|
||||
import org.mybatis.spring.boot.autoconfigure.SpringBootVFS;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.core.env.Environment;
|
||||
import org.springframework.core.io.DefaultResourceLoader;
|
||||
import org.springframework.core.io.Resource;
|
||||
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
|
||||
import org.springframework.core.io.support.ResourcePatternResolver;
|
||||
import org.springframework.core.type.classreading.CachingMetadataReaderFactory;
|
||||
import org.springframework.core.type.classreading.MetadataReader;
|
||||
import org.springframework.core.type.classreading.MetadataReaderFactory;
|
||||
import org.springframework.util.ClassUtils;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
|
||||
/**
|
||||
* Mybatis支持*匹配扫描包
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
@Configuration
|
||||
public class MyBatisConfig
|
||||
{
|
||||
@Autowired
|
||||
private Environment env;
|
||||
|
||||
static final String DEFAULT_RESOURCE_PATTERN = "**/*.class";
|
||||
|
||||
public static String setTypeAliasesPackage(String typeAliasesPackage)
|
||||
{
|
||||
ResourcePatternResolver resolver = (ResourcePatternResolver) new PathMatchingResourcePatternResolver();
|
||||
MetadataReaderFactory metadataReaderFactory = new CachingMetadataReaderFactory(resolver);
|
||||
List<String> allResult = new ArrayList<String>();
|
||||
try
|
||||
{
|
||||
for (String aliasesPackage : typeAliasesPackage.split(","))
|
||||
{
|
||||
List<String> result = new ArrayList<String>();
|
||||
aliasesPackage = ResourcePatternResolver.CLASSPATH_ALL_URL_PREFIX
|
||||
+ ClassUtils.convertClassNameToResourcePath(aliasesPackage.trim()) + "/" + DEFAULT_RESOURCE_PATTERN;
|
||||
Resource[] resources = resolver.getResources(aliasesPackage);
|
||||
if (resources != null && resources.length > 0)
|
||||
{
|
||||
MetadataReader metadataReader = null;
|
||||
for (Resource resource : resources)
|
||||
{
|
||||
if (resource.isReadable())
|
||||
{
|
||||
metadataReader = metadataReaderFactory.getMetadataReader(resource);
|
||||
try
|
||||
{
|
||||
result.add(Class.forName(metadataReader.getClassMetadata().getClassName()).getPackage().getName());
|
||||
}
|
||||
catch (ClassNotFoundException e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (result.size() > 0)
|
||||
{
|
||||
HashSet<String> hashResult = new HashSet<String>(result);
|
||||
allResult.addAll(hashResult);
|
||||
}
|
||||
}
|
||||
if (allResult.size() > 0)
|
||||
{
|
||||
typeAliasesPackage = String.join(",", (String[]) allResult.toArray(new String[0]));
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new RuntimeException("mybatis typeAliasesPackage 路径扫描错误,参数typeAliasesPackage:" + typeAliasesPackage + "未找到任何包");
|
||||
}
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
}
|
||||
return typeAliasesPackage;
|
||||
}
|
||||
|
||||
public Resource[] resolveMapperLocations(String[] mapperLocations)
|
||||
{
|
||||
ResourcePatternResolver resourceResolver = new PathMatchingResourcePatternResolver();
|
||||
List<Resource> resources = new ArrayList<Resource>();
|
||||
if (mapperLocations != null)
|
||||
{
|
||||
for (String mapperLocation : mapperLocations)
|
||||
{
|
||||
try
|
||||
{
|
||||
Resource[] mappers = resourceResolver.getResources(mapperLocation);
|
||||
resources.addAll(Arrays.asList(mappers));
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
// ignore
|
||||
}
|
||||
}
|
||||
}
|
||||
return resources.toArray(new Resource[resources.size()]);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception
|
||||
{
|
||||
String typeAliasesPackage = env.getProperty("mybatis.typeAliasesPackage");
|
||||
String mapperLocations = env.getProperty("mybatis.mapperLocations");
|
||||
String configLocation = env.getProperty("mybatis.configLocation");
|
||||
typeAliasesPackage = setTypeAliasesPackage(typeAliasesPackage);
|
||||
VFS.addImplClass(SpringBootVFS.class);
|
||||
|
||||
final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
|
||||
sessionFactory.setDataSource(dataSource);
|
||||
sessionFactory.setTypeAliasesPackage(typeAliasesPackage);
|
||||
sessionFactory.setMapperLocations(resolveMapperLocations(StringUtils.split(mapperLocations, ",")));
|
||||
sessionFactory.setConfigLocation(new DefaultResourceLoader().getResource(configLocation));
|
||||
return sessionFactory.getObject();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,62 @@
|
|||
package com.ruoyi.framework.config;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.DbType;
|
||||
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
|
||||
import com.baomidou.mybatisplus.extension.plugins.inner.BlockAttackInnerInterceptor;
|
||||
import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor;
|
||||
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
||||
|
||||
/**
|
||||
* Mybatis Plus 配置
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
@EnableTransactionManagement(proxyTargetClass = true)
|
||||
@Configuration
|
||||
public class MybatisPlusConfig
|
||||
{
|
||||
@Bean
|
||||
public MybatisPlusInterceptor mybatisPlusInterceptor()
|
||||
{
|
||||
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
|
||||
// 分页插件
|
||||
interceptor.addInnerInterceptor(paginationInnerInterceptor());
|
||||
// 乐观锁插件
|
||||
interceptor.addInnerInterceptor(optimisticLockerInnerInterceptor());
|
||||
// 阻断插件
|
||||
interceptor.addInnerInterceptor(blockAttackInnerInterceptor());
|
||||
return interceptor;
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页插件,自动识别数据库类型 https://baomidou.com/guide/interceptor-pagination.html
|
||||
*/
|
||||
public PaginationInnerInterceptor paginationInnerInterceptor()
|
||||
{
|
||||
PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor();
|
||||
// 设置数据库类型为mysql
|
||||
paginationInnerInterceptor.setDbType(DbType.MYSQL);
|
||||
// 设置最大单页限制数量,默认 500 条,-1 不受限制
|
||||
paginationInnerInterceptor.setMaxLimit(-1L);
|
||||
return paginationInnerInterceptor;
|
||||
}
|
||||
|
||||
/**
|
||||
* 乐观锁插件 https://baomidou.com/guide/interceptor-optimistic-locker.html
|
||||
*/
|
||||
public OptimisticLockerInnerInterceptor optimisticLockerInnerInterceptor()
|
||||
{
|
||||
return new OptimisticLockerInnerInterceptor();
|
||||
}
|
||||
|
||||
/**
|
||||
* 如果是对全表的删除或更新操作,就会终止该操作 https://baomidou.com/guide/interceptor-block-attack.html
|
||||
*/
|
||||
public BlockAttackInnerInterceptor blockAttackInnerInterceptor()
|
||||
{
|
||||
return new BlockAttackInnerInterceptor();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,130 @@
|
|||
package com.ruoyi.system.domain;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
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.ruoyi.common.annotation.Excel;
|
||||
|
||||
/**
|
||||
* 学生信息对象 sys_student
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
@TableName(value = "sys_student")
|
||||
public class SysStudent implements Serializable
|
||||
{
|
||||
@TableField(exist = false)
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** 编号 */
|
||||
@TableId(type = IdType.AUTO)
|
||||
private Long studentId;
|
||||
|
||||
/** 学生名称 */
|
||||
@Excel(name = "学生名称")
|
||||
private String studentName;
|
||||
|
||||
/** 年龄 */
|
||||
@Excel(name = "年龄")
|
||||
private Integer studentAge;
|
||||
|
||||
/** 爱好(0代码 1音乐 2电影) */
|
||||
@Excel(name = "爱好", readConverterExp = "0=代码,1=音乐,2=电影")
|
||||
private String studentHobby;
|
||||
|
||||
/** 性别(0男 1女 2未知) */
|
||||
@Excel(name = "性别", readConverterExp = "0=男,1=女,2=未知")
|
||||
private String studentSex;
|
||||
|
||||
/** 状态(0正常 1停用) */
|
||||
@Excel(name = "状态", readConverterExp = "0=正常,1=停用")
|
||||
private String studentStatus;
|
||||
|
||||
/** 生日 */
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
@Excel(name = "生日", width = 30, dateFormat = "yyyy-MM-dd")
|
||||
private Date studentBirthday;
|
||||
|
||||
public void setStudentId(Long studentId)
|
||||
{
|
||||
this.studentId = studentId;
|
||||
}
|
||||
|
||||
public Long getStudentId()
|
||||
{
|
||||
return studentId;
|
||||
}
|
||||
public void setStudentName(String studentName)
|
||||
{
|
||||
this.studentName = studentName;
|
||||
}
|
||||
|
||||
public String getStudentName()
|
||||
{
|
||||
return studentName;
|
||||
}
|
||||
public void setStudentAge(Integer studentAge)
|
||||
{
|
||||
this.studentAge = studentAge;
|
||||
}
|
||||
|
||||
public Integer getStudentAge()
|
||||
{
|
||||
return studentAge;
|
||||
}
|
||||
public void setStudentHobby(String studentHobby)
|
||||
{
|
||||
this.studentHobby = studentHobby;
|
||||
}
|
||||
|
||||
public String getStudentHobby()
|
||||
{
|
||||
return studentHobby;
|
||||
}
|
||||
public void setStudentSex(String studentSex)
|
||||
{
|
||||
this.studentSex = studentSex;
|
||||
}
|
||||
|
||||
public String getStudentSex()
|
||||
{
|
||||
return studentSex;
|
||||
}
|
||||
public void setStudentStatus(String studentStatus)
|
||||
{
|
||||
this.studentStatus = studentStatus;
|
||||
}
|
||||
|
||||
public String getStudentStatus()
|
||||
{
|
||||
return studentStatus;
|
||||
}
|
||||
public void setStudentBirthday(Date studentBirthday)
|
||||
{
|
||||
this.studentBirthday = studentBirthday;
|
||||
}
|
||||
|
||||
public Date getStudentBirthday()
|
||||
{
|
||||
return studentBirthday;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("studentId", getStudentId())
|
||||
.append("studentName", getStudentName())
|
||||
.append("studentAge", getStudentAge())
|
||||
.append("studentHobby", getStudentHobby())
|
||||
.append("studentSex", getStudentSex())
|
||||
.append("studentStatus", getStudentStatus())
|
||||
.append("studentBirthday", getStudentBirthday())
|
||||
.toString();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
package com.ruoyi.system.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.ruoyi.system.domain.SysStudent;
|
||||
|
||||
/**
|
||||
* 学生信息Mapper接口
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
public interface SysStudentMapper extends BaseMapper<SysStudent>
|
||||
{
|
||||
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
package com.ruoyi.system.service;
|
||||
|
||||
import java.util.List;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.ruoyi.system.domain.SysStudent;
|
||||
|
||||
/**
|
||||
* 学生信息Service接口
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
public interface ISysStudentService extends IService<SysStudent>
|
||||
{
|
||||
/**
|
||||
* 查询学生信息列表
|
||||
*
|
||||
* @param sysStudent 学生信息
|
||||
* @return 学生信息集合
|
||||
*/
|
||||
public List<SysStudent> queryList(SysStudent sysStudent);
|
||||
}
|
|
@ -0,0 +1,42 @@
|
|||
package com.ruoyi.system.service.impl;
|
||||
|
||||
import java.util.List;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import com.ruoyi.system.domain.SysStudent;
|
||||
import com.ruoyi.system.mapper.SysStudentMapper;
|
||||
import com.ruoyi.system.service.ISysStudentService;
|
||||
|
||||
/**
|
||||
* 学生信息Service业务层处理
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
@Service
|
||||
public class SysStudentServiceImpl extends ServiceImpl<SysStudentMapper, SysStudent> implements ISysStudentService
|
||||
{
|
||||
@Override
|
||||
public List<SysStudent> queryList(SysStudent sysStudent)
|
||||
{
|
||||
// 注意:mybatis-plus lambda 模式不支持 eclipse 的编译器
|
||||
// LambdaQueryWrapper<SysStudent> queryWrapper = Wrappers.lambdaQuery();
|
||||
// queryWrapper.eq(SysStudent::getStudentName, sysStudent.getStudentName());
|
||||
QueryWrapper<SysStudent> queryWrapper = Wrappers.query();
|
||||
if (StringUtils.isNotEmpty(sysStudent.getStudentName()))
|
||||
{
|
||||
queryWrapper.eq("student_name", sysStudent.getStudentName());
|
||||
}
|
||||
if (StringUtils.isNotNull(sysStudent.getStudentAge()))
|
||||
{
|
||||
queryWrapper.eq("student_age", sysStudent.getStudentAge());
|
||||
}
|
||||
if (StringUtils.isNotEmpty(sysStudent.getStudentHobby()))
|
||||
{
|
||||
queryWrapper.eq("student_hobby", sysStudent.getStudentHobby());
|
||||
}
|
||||
return this.list(queryWrapper);
|
||||
}
|
||||
}
|
53
AutoSprout-ui/src/api/system/student.js
Normal file
53
AutoSprout-ui/src/api/system/student.js
Normal file
|
@ -0,0 +1,53 @@
|
|||
import request from '@/utils/request'
|
||||
|
||||
// 查询学生信息列表
|
||||
export function listStudent(query) {
|
||||
return request({
|
||||
url: '/system/student/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询学生信息详细
|
||||
export function getStudent(studentId) {
|
||||
return request({
|
||||
url: '/system/student/' + studentId,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增学生信息
|
||||
export function addStudent(data) {
|
||||
return request({
|
||||
url: '/system/student',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改学生信息
|
||||
export function updateStudent(data) {
|
||||
return request({
|
||||
url: '/system/student',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除学生信息
|
||||
export function delStudent(studentId) {
|
||||
return request({
|
||||
url: '/system/student/' + studentId,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
// 导出学生信息
|
||||
export function exportStudent(query) {
|
||||
return request({
|
||||
url: '/system/student/export',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
338
AutoSprout-ui/src/views/system/student/index.vue
Normal file
338
AutoSprout-ui/src/views/system/student/index.vue
Normal file
|
@ -0,0 +1,338 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="学生名称" prop="studentName">
|
||||
<el-input
|
||||
v-model="queryParams.studentName"
|
||||
placeholder="请输入学生名称"
|
||||
clearable
|
||||
size="small"
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="年龄" prop="studentAge">
|
||||
<el-input
|
||||
v-model="queryParams.studentAge"
|
||||
placeholder="请输入年龄"
|
||||
clearable
|
||||
size="small"
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="爱好" prop="studentHobby">
|
||||
<el-input
|
||||
v-model="queryParams.studentHobby"
|
||||
placeholder="请输入爱好"
|
||||
clearable
|
||||
size="small"
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="性别" prop="studentSex">
|
||||
<el-select v-model="queryParams.studentSex" placeholder="请选择性别" clearable size="small">
|
||||
<el-option label="请选择字典生成" value="" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="状态" prop="studentStatus">
|
||||
<el-select v-model="queryParams.studentStatus" placeholder="请选择状态" clearable size="small">
|
||||
<el-option label="请选择字典生成" value="" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="生日" prop="studentBirthday">
|
||||
<el-date-picker clearable size="small"
|
||||
v-model="queryParams.studentBirthday"
|
||||
type="date"
|
||||
value-format="yyyy-MM-dd"
|
||||
placeholder="选择生日">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="handleAdd"
|
||||
v-hasPermi="['system:student:add']"
|
||||
>新增</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="success"
|
||||
plain
|
||||
icon="el-icon-edit"
|
||||
size="mini"
|
||||
:disabled="single"
|
||||
@click="handleUpdate"
|
||||
v-hasPermi="['system:student:edit']"
|
||||
>修改</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="danger"
|
||||
plain
|
||||
icon="el-icon-delete"
|
||||
size="mini"
|
||||
:disabled="multiple"
|
||||
@click="handleDelete"
|
||||
v-hasPermi="['system:student:remove']"
|
||||
>删除</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="warning"
|
||||
plain
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handleExport"
|
||||
v-hasPermi="['system:student:export']"
|
||||
>导出</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="studentList" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="编号" align="center" prop="studentId" />
|
||||
<el-table-column label="学生名称" align="center" prop="studentName" />
|
||||
<el-table-column label="年龄" align="center" prop="studentAge" />
|
||||
<el-table-column label="爱好" align="center" prop="studentHobby" />
|
||||
<el-table-column label="性别" align="center" prop="studentSex" />
|
||||
<el-table-column label="状态" align="center" prop="studentStatus" />
|
||||
<el-table-column label="生日" align="center" prop="studentBirthday" width="180">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.studentBirthday, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="handleUpdate(scope.row)"
|
||||
v-hasPermi="['system:student:edit']"
|
||||
>修改</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDelete(scope.row)"
|
||||
v-hasPermi="['system:student:remove']"
|
||||
>删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
|
||||
<!-- 添加或修改学生信息对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||
<el-form-item label="学生名称" prop="studentName">
|
||||
<el-input v-model="form.studentName" placeholder="请输入学生名称" />
|
||||
</el-form-item>
|
||||
<el-form-item label="年龄" prop="studentAge">
|
||||
<el-input v-model="form.studentAge" placeholder="请输入年龄" />
|
||||
</el-form-item>
|
||||
<el-form-item label="爱好" prop="studentHobby">
|
||||
<el-input v-model="form.studentHobby" placeholder="请输入爱好" />
|
||||
</el-form-item>
|
||||
<el-form-item label="性别" prop="studentSex">
|
||||
<el-select v-model="form.studentSex" placeholder="请选择性别">
|
||||
<el-option label="请选择字典生成" value="" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="状态">
|
||||
<el-radio-group v-model="form.studentStatus">
|
||||
<el-radio label="1">请选择字典生成</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="生日" prop="studentBirthday">
|
||||
<el-date-picker clearable size="small"
|
||||
v-model="form.studentBirthday"
|
||||
type="date"
|
||||
value-format="yyyy-MM-dd"
|
||||
placeholder="选择生日">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listStudent, getStudent, delStudent, addStudent, updateStudent, exportStudent } from "@/api/system/student";
|
||||
|
||||
export default {
|
||||
name: "Student",
|
||||
components: {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
// 选中数组
|
||||
ids: [],
|
||||
// 非单个禁用
|
||||
single: true,
|
||||
// 非多个禁用
|
||||
multiple: true,
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
// 总条数
|
||||
total: 0,
|
||||
// 学生信息表格数据
|
||||
studentList: [],
|
||||
// 弹出层标题
|
||||
title: "",
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
studentName: null,
|
||||
studentAge: null,
|
||||
studentHobby: null,
|
||||
studentSex: null,
|
||||
studentStatus: null,
|
||||
studentBirthday: null
|
||||
},
|
||||
// 表单参数
|
||||
form: {},
|
||||
// 表单校验
|
||||
rules: {
|
||||
}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
/** 查询学生信息列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
listStudent(this.queryParams).then(response => {
|
||||
this.studentList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
// 取消按钮
|
||||
cancel() {
|
||||
this.open = false;
|
||||
this.reset();
|
||||
},
|
||||
// 表单重置
|
||||
reset() {
|
||||
this.form = {
|
||||
studentId: null,
|
||||
studentName: null,
|
||||
studentAge: null,
|
||||
studentHobby: null,
|
||||
studentSex: null,
|
||||
studentStatus: "0",
|
||||
studentBirthday: null
|
||||
};
|
||||
this.resetForm("form");
|
||||
},
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.resetForm("queryForm");
|
||||
this.handleQuery();
|
||||
},
|
||||
// 多选框选中数据
|
||||
handleSelectionChange(selection) {
|
||||
this.ids = selection.map(item => item.studentId)
|
||||
this.single = selection.length!==1
|
||||
this.multiple = !selection.length
|
||||
},
|
||||
/** 新增按钮操作 */
|
||||
handleAdd() {
|
||||
this.reset();
|
||||
this.open = true;
|
||||
this.title = "添加学生信息";
|
||||
},
|
||||
/** 修改按钮操作 */
|
||||
handleUpdate(row) {
|
||||
this.reset();
|
||||
const studentId = row.studentId || this.ids
|
||||
getStudent(studentId).then(response => {
|
||||
this.form = response.data;
|
||||
this.open = true;
|
||||
this.title = "修改学生信息";
|
||||
});
|
||||
},
|
||||
/** 提交按钮 */
|
||||
submitForm() {
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
if (this.form.studentId != null) {
|
||||
updateStudent(this.form).then(response => {
|
||||
this.msgSuccess("修改成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
} else {
|
||||
addStudent(this.form).then(response => {
|
||||
this.msgSuccess("新增成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
const studentIds = row.studentId || this.ids;
|
||||
this.$confirm('是否确认删除学生信息编号为"' + studentIds + '"的数据项?', "警告", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning"
|
||||
}).then(function() {
|
||||
return delStudent(studentIds);
|
||||
}).then(() => {
|
||||
this.getList();
|
||||
this.msgSuccess("删除成功");
|
||||
})
|
||||
},
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
const queryParams = this.queryParams;
|
||||
this.$confirm('是否确认导出所有学生信息数据项?', "警告", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning"
|
||||
}).then(function() {
|
||||
return exportStudent(queryParams);
|
||||
}).then(response => {
|
||||
this.download(response.msg);
|
||||
})
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
|
@ -29,6 +29,11 @@
|
|||
<artifactId>Autosprout-system</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
<artifactId>lombok</artifactId>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
</project>
|
|
@ -2,8 +2,7 @@ package com.ruoyi.device.domain;
|
|||
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
import lombok.Data;
|
||||
import com.ruoyi.common.annotation.Excel;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
|
||||
|
@ -13,6 +12,7 @@ import com.ruoyi.common.core.domain.BaseEntity;
|
|||
* @author 邱贞招
|
||||
* @date 2023-11-11
|
||||
*/
|
||||
@Data
|
||||
public class AsDevice extends BaseEntity
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
@ -98,225 +98,4 @@ public class AsDevice extends BaseEntity
|
|||
@Excel(name = "版本号")
|
||||
private Long version;
|
||||
|
||||
public void setDeviceId(Long deviceId)
|
||||
{
|
||||
this.deviceId = deviceId;
|
||||
}
|
||||
|
||||
public Long getDeviceId()
|
||||
{
|
||||
return deviceId;
|
||||
}
|
||||
public void setPicture(String picture)
|
||||
{
|
||||
this.picture = picture;
|
||||
}
|
||||
|
||||
public String getPicture()
|
||||
{
|
||||
return picture;
|
||||
}
|
||||
public void setDeviceName(String deviceName)
|
||||
{
|
||||
this.deviceName = deviceName;
|
||||
}
|
||||
|
||||
public String getDeviceName()
|
||||
{
|
||||
return deviceName;
|
||||
}
|
||||
public void setClassifyId(Long classifyId)
|
||||
{
|
||||
this.classifyId = classifyId;
|
||||
}
|
||||
|
||||
public Long getClassifyId()
|
||||
{
|
||||
return classifyId;
|
||||
}
|
||||
public void setClassifyName(String classifyName)
|
||||
{
|
||||
this.classifyName = classifyName;
|
||||
}
|
||||
|
||||
public String getClassifyName()
|
||||
{
|
||||
return classifyName;
|
||||
}
|
||||
public void setModelId(Long modelId)
|
||||
{
|
||||
this.modelId = modelId;
|
||||
}
|
||||
|
||||
public Long getModelId()
|
||||
{
|
||||
return modelId;
|
||||
}
|
||||
public void setModel(String model)
|
||||
{
|
||||
this.model = model;
|
||||
}
|
||||
|
||||
public String getModel()
|
||||
{
|
||||
return model;
|
||||
}
|
||||
public void setMac(String mac)
|
||||
{
|
||||
this.mac = mac;
|
||||
}
|
||||
|
||||
public String getMac()
|
||||
{
|
||||
return mac;
|
||||
}
|
||||
public void setActivationTime(Date activationTime)
|
||||
{
|
||||
this.activationTime = activationTime;
|
||||
}
|
||||
|
||||
public Date getActivationTime()
|
||||
{
|
||||
return activationTime;
|
||||
}
|
||||
public void setOnlineStatus(String onlineStatus)
|
||||
{
|
||||
this.onlineStatus = onlineStatus;
|
||||
}
|
||||
|
||||
public String getOnlineStatus()
|
||||
{
|
||||
return onlineStatus;
|
||||
}
|
||||
public void setUserId(Long userId)
|
||||
{
|
||||
this.userId = userId;
|
||||
}
|
||||
|
||||
public Long getUserId()
|
||||
{
|
||||
return userId;
|
||||
}
|
||||
public void setUserName(String userName)
|
||||
{
|
||||
this.userName = userName;
|
||||
}
|
||||
|
||||
public String getUserName()
|
||||
{
|
||||
return userName;
|
||||
}
|
||||
public void setNickName(String nickName)
|
||||
{
|
||||
this.nickName = nickName;
|
||||
}
|
||||
|
||||
public String getNickName()
|
||||
{
|
||||
return nickName;
|
||||
}
|
||||
public void setRegularWatering(String regularWatering)
|
||||
{
|
||||
this.regularWatering = regularWatering;
|
||||
}
|
||||
|
||||
public String getRegularWatering()
|
||||
{
|
||||
return regularWatering;
|
||||
}
|
||||
public void setSoilMoistureOpen(String soilMoistureOpen)
|
||||
{
|
||||
this.soilMoistureOpen = soilMoistureOpen;
|
||||
}
|
||||
|
||||
public String getSoilMoistureOpen()
|
||||
{
|
||||
return soilMoistureOpen;
|
||||
}
|
||||
public void setSoilMoistureClose(String soilMoistureClose)
|
||||
{
|
||||
this.soilMoistureClose = soilMoistureClose;
|
||||
}
|
||||
|
||||
public String getSoilMoistureClose()
|
||||
{
|
||||
return soilMoistureClose;
|
||||
}
|
||||
public void setWaterIntensity(String waterIntensity)
|
||||
{
|
||||
this.waterIntensity = waterIntensity;
|
||||
}
|
||||
|
||||
public String getWaterIntensity()
|
||||
{
|
||||
return waterIntensity;
|
||||
}
|
||||
public void setPulseMode(String pulseMode)
|
||||
{
|
||||
this.pulseMode = pulseMode;
|
||||
}
|
||||
|
||||
public String getPulseMode()
|
||||
{
|
||||
return pulseMode;
|
||||
}
|
||||
public void setPulseModeParam(String pulseModeParam)
|
||||
{
|
||||
this.pulseModeParam = pulseModeParam;
|
||||
}
|
||||
|
||||
public String getPulseModeParam()
|
||||
{
|
||||
return pulseModeParam;
|
||||
}
|
||||
public void setScreenRestTime(String screenRestTime)
|
||||
{
|
||||
this.screenRestTime = screenRestTime;
|
||||
}
|
||||
|
||||
public String getScreenRestTime()
|
||||
{
|
||||
return screenRestTime;
|
||||
}
|
||||
public void setVersion(Long version)
|
||||
{
|
||||
this.version = version;
|
||||
}
|
||||
|
||||
public Long getVersion()
|
||||
{
|
||||
return version;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("deviceId", getDeviceId())
|
||||
.append("picture", getPicture())
|
||||
.append("deviceName", getDeviceName())
|
||||
.append("classifyId", getClassifyId())
|
||||
.append("classifyName", getClassifyName())
|
||||
.append("modelId", getModelId())
|
||||
.append("model", getModel())
|
||||
.append("mac", getMac())
|
||||
.append("activationTime", getActivationTime())
|
||||
.append("onlineStatus", getOnlineStatus())
|
||||
.append("userId", getUserId())
|
||||
.append("userName", getUserName())
|
||||
.append("nickName", getNickName())
|
||||
.append("regularWatering", getRegularWatering())
|
||||
.append("soilMoistureOpen", getSoilMoistureOpen())
|
||||
.append("soilMoistureClose", getSoilMoistureClose())
|
||||
.append("waterIntensity", getWaterIntensity())
|
||||
.append("pulseMode", getPulseMode())
|
||||
.append("pulseModeParam", getPulseModeParam())
|
||||
.append("screenRestTime", getScreenRestTime())
|
||||
.append("version", getVersion())
|
||||
.append("createBy", getCreateBy())
|
||||
.append("createTime", getCreateTime())
|
||||
.append("updateBy", getUpdateBy())
|
||||
.append("updateTime", getUpdateTime())
|
||||
.append("remark", getRemark())
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
package com.ruoyi.device.domain;
|
||||
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
import com.ruoyi.common.annotation.Excel;
|
||||
import lombok.Data;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
|
||||
/**
|
||||
|
@ -11,6 +10,7 @@ import com.ruoyi.common.core.domain.BaseEntity;
|
|||
* @author qiuzhenzhao
|
||||
* @date 2023-11-11
|
||||
*/
|
||||
@Data
|
||||
public class AsDeviceClassify extends BaseEntity
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
@ -23,35 +23,12 @@ public class AsDeviceClassify extends BaseEntity
|
|||
@Excel(name = "分类名称")
|
||||
private String classifyName;
|
||||
|
||||
public void setClassifyId(Long classifyId)
|
||||
{
|
||||
this.classifyId = classifyId;
|
||||
}
|
||||
/** 型号数 */
|
||||
@Excel(name = "型号数")
|
||||
private String modelNum;
|
||||
|
||||
public Long getClassifyId()
|
||||
{
|
||||
return classifyId;
|
||||
}
|
||||
public void setClassifyName(String classifyName)
|
||||
{
|
||||
this.classifyName = classifyName;
|
||||
}
|
||||
/** 设备数 */
|
||||
@Excel(name = "设备数")
|
||||
private String deviceNum;
|
||||
|
||||
public String getClassifyName()
|
||||
{
|
||||
return classifyName;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("classifyId", getClassifyId())
|
||||
.append("classifyName", getClassifyName())
|
||||
.append("createBy", getCreateBy())
|
||||
.append("createTime", getCreateTime())
|
||||
.append("updateBy", getUpdateBy())
|
||||
.append("updateTime", getUpdateTime())
|
||||
.append("remark", getRemark())
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
package com.ruoyi.device.domain;
|
||||
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
import lombok.Data;
|
||||
import com.ruoyi.common.annotation.Excel;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
|
||||
|
@ -11,6 +10,7 @@ import com.ruoyi.common.core.domain.BaseEntity;
|
|||
* @author qiuzhenzhao
|
||||
* @date 2023-11-11
|
||||
*/
|
||||
@Data
|
||||
public class AsDeviceVersion extends BaseEntity
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
@ -39,74 +39,4 @@ public class AsDeviceVersion extends BaseEntity
|
|||
@Excel(name = "描述")
|
||||
private String describe;
|
||||
|
||||
public void setVersionId(Long versionId)
|
||||
{
|
||||
this.versionId = versionId;
|
||||
}
|
||||
|
||||
public Long getVersionId()
|
||||
{
|
||||
return versionId;
|
||||
}
|
||||
public void setModelId(Long modelId)
|
||||
{
|
||||
this.modelId = modelId;
|
||||
}
|
||||
|
||||
public Long getModelId()
|
||||
{
|
||||
return modelId;
|
||||
}
|
||||
public void setVersion(String version)
|
||||
{
|
||||
this.version = version;
|
||||
}
|
||||
|
||||
public String getVersion()
|
||||
{
|
||||
return version;
|
||||
}
|
||||
public void setSize(Long size)
|
||||
{
|
||||
this.size = size;
|
||||
}
|
||||
|
||||
public Long getSize()
|
||||
{
|
||||
return size;
|
||||
}
|
||||
public void setRequire(String require)
|
||||
{
|
||||
this.require = require;
|
||||
}
|
||||
|
||||
public String getRequire()
|
||||
{
|
||||
return require;
|
||||
}
|
||||
public void setDescribe(String describe)
|
||||
{
|
||||
this.describe = describe;
|
||||
}
|
||||
|
||||
public String getDescribe()
|
||||
{
|
||||
return describe;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("versionId", getVersionId())
|
||||
.append("modelId", getModelId())
|
||||
.append("version", getVersion())
|
||||
.append("createBy", getCreateBy())
|
||||
.append("createTime", getCreateTime())
|
||||
.append("updateBy", getUpdateBy())
|
||||
.append("updateTime", getUpdateTime())
|
||||
.append("size", getSize())
|
||||
.append("require", getRequire())
|
||||
.append("describe", getDescribe())
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
package com.ruoyi.device.domain;
|
||||
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
import lombok.Data;
|
||||
import com.ruoyi.common.annotation.Excel;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
|
||||
|
@ -11,6 +10,7 @@ import com.ruoyi.common.core.domain.BaseEntity;
|
|||
* @author qiuzhenzhao
|
||||
* @date 2023-11-11
|
||||
*/
|
||||
@Data
|
||||
public class AsModel extends BaseEntity
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
@ -49,105 +49,4 @@ public class AsModel extends BaseEntity
|
|||
@Excel(name = "产品介绍")
|
||||
private String introduce;
|
||||
|
||||
public void setModelId(Long modelId)
|
||||
{
|
||||
this.modelId = modelId;
|
||||
}
|
||||
|
||||
public Long getModelId()
|
||||
{
|
||||
return modelId;
|
||||
}
|
||||
public void setClassifyId(Long classifyId)
|
||||
{
|
||||
this.classifyId = classifyId;
|
||||
}
|
||||
|
||||
public Long getClassifyId()
|
||||
{
|
||||
return classifyId;
|
||||
}
|
||||
public void setModelName(String modelName)
|
||||
{
|
||||
this.modelName = modelName;
|
||||
}
|
||||
|
||||
public String getModelName()
|
||||
{
|
||||
return modelName;
|
||||
}
|
||||
public void setModel(String model)
|
||||
{
|
||||
this.model = model;
|
||||
}
|
||||
|
||||
public String getModel()
|
||||
{
|
||||
return model;
|
||||
}
|
||||
public void setPicture(String picture)
|
||||
{
|
||||
this.picture = picture;
|
||||
}
|
||||
|
||||
public String getPicture()
|
||||
{
|
||||
return picture;
|
||||
}
|
||||
public void setIdCode(String idCode)
|
||||
{
|
||||
this.idCode = idCode;
|
||||
}
|
||||
|
||||
public String getIdCode()
|
||||
{
|
||||
return idCode;
|
||||
}
|
||||
public void setClassifyName(String classifyName)
|
||||
{
|
||||
this.classifyName = classifyName;
|
||||
}
|
||||
|
||||
public String getClassifyName()
|
||||
{
|
||||
return classifyName;
|
||||
}
|
||||
public void setVersionId(Long versionId)
|
||||
{
|
||||
this.versionId = versionId;
|
||||
}
|
||||
|
||||
public Long getVersionId()
|
||||
{
|
||||
return versionId;
|
||||
}
|
||||
public void setIntroduce(String introduce)
|
||||
{
|
||||
this.introduce = introduce;
|
||||
}
|
||||
|
||||
public String getIntroduce()
|
||||
{
|
||||
return introduce;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("modelId", getModelId())
|
||||
.append("classifyId", getClassifyId())
|
||||
.append("modelName", getModelName())
|
||||
.append("model", getModel())
|
||||
.append("picture", getPicture())
|
||||
.append("idCode", getIdCode())
|
||||
.append("classifyName", getClassifyName())
|
||||
.append("versionId", getVersionId())
|
||||
.append("introduce", getIntroduce())
|
||||
.append("createBy", getCreateBy())
|
||||
.append("createTime", getCreateTime())
|
||||
.append("updateBy", getUpdateBy())
|
||||
.append("updateTime", getUpdateTime())
|
||||
.append("remark", getRemark())
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,12 +2,15 @@ package com.ruoyi.device.service.impl;
|
|||
|
||||
import java.util.List;
|
||||
import com.ruoyi.common.utils.DateUtils;
|
||||
import com.ruoyi.device.mapper.AsDeviceMapper;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.ruoyi.device.mapper.AsDeviceClassifyMapper;
|
||||
import com.ruoyi.device.domain.AsDeviceClassify;
|
||||
import com.ruoyi.device.service.IAsDeviceClassifyService;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
* 设备分类Service业务层处理
|
||||
*
|
||||
|
@ -17,9 +20,12 @@ import com.ruoyi.device.service.IAsDeviceClassifyService;
|
|||
@Service
|
||||
public class AsDeviceClassifyServiceImpl implements IAsDeviceClassifyService
|
||||
{
|
||||
@Autowired
|
||||
@Resource
|
||||
private AsDeviceClassifyMapper asDeviceClassifyMapper;
|
||||
|
||||
@Resource
|
||||
private AsDeviceMapper asDeviceMapper;
|
||||
|
||||
/**
|
||||
* 查询设备分类
|
||||
*
|
||||
|
@ -41,6 +47,8 @@ public class AsDeviceClassifyServiceImpl implements IAsDeviceClassifyService
|
|||
@Override
|
||||
public List<AsDeviceClassify> selectAsDeviceClassifyList(AsDeviceClassify asDeviceClassify)
|
||||
{
|
||||
//型号数,设备数
|
||||
// asDeviceMapper
|
||||
return asDeviceClassifyMapper.selectAsDeviceClassifyList(asDeviceClassify);
|
||||
}
|
||||
|
||||
|
|
17
pom.xml
17
pom.xml
|
@ -30,6 +30,8 @@
|
|||
<poi.version>4.1.2</poi.version>
|
||||
<velocity.version>2.3</velocity.version>
|
||||
<jwt.version>0.9.1</jwt.version>
|
||||
<lombok.version>1.18.4</lombok.version>
|
||||
<hutool.version>5.7.20</hutool.version>
|
||||
</properties>
|
||||
|
||||
<!-- 依赖声明 -->
|
||||
|
@ -134,6 +136,21 @@
|
|||
<artifactId>kaptcha</artifactId>
|
||||
<version>${kaptcha.version}</version>
|
||||
</dependency>
|
||||
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
|
||||
<dependency>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
<artifactId>lombok</artifactId>
|
||||
<version>${lombok.version}</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
<!-- https://mvnrepository.com/artifact/cn.hutool/hutool-all -->
|
||||
<dependency>
|
||||
<groupId>cn.hutool</groupId>
|
||||
<artifactId>hutool-all</artifactId>
|
||||
<version>${hutool.version}</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
<!-- 定时任务-->
|
||||
<dependency>
|
||||
|
|
Loading…
Reference in New Issue
Block a user