1.0.0 初始化项目

dev
yinq 3 months ago
parent 49b1d65af7
commit a50cdefaf1

@ -5,12 +5,12 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-cloud-plus</artifactId>
<artifactId>hwbm-cloud</artifactId>
<version>${revision}</version>
<name>RuoYi-Cloud-Plus</name>
<name>hwbm-cloud</name>
<url>https://gitee.com/dromara/RuoYi-Cloud-Plus</url>
<description>Dromara RuoYi-Cloud-Plus微服务系统</description>
<description>海威经营管理系统</description>
<properties>
<revision>2.5.0</revision>
@ -56,6 +56,8 @@
<warm-flow.version>1.8.1</warm-flow.version>
<!-- mq配置 -->
<rocketmq.version>2.3.4</rocketmq.version>
<!-- MyBatis-Plus-Join -->
<mybatis-pj.version>1.5.4</mybatis-pj.version>
<!-- 插件版本 -->
<maven-compiler-plugin.version>3.14.0</maven-compiler-plugin.version>

@ -3,7 +3,7 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-cloud-plus</artifactId>
<artifactId>hwbm-cloud</artifactId>
<version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>

@ -3,7 +3,7 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-cloud-plus</artifactId>
<artifactId>hwbm-cloud</artifactId>
<version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>

@ -3,7 +3,7 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-cloud-plus</artifactId>
<artifactId>hwbm-cloud</artifactId>
<version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>

@ -50,6 +50,12 @@
<version>${dynamic-ds.version}</version>
</dependency>
<dependency>
<groupId>com.github.yulichang</groupId>
<artifactId>mybatis-plus-join-boot-starter</artifactId>
<version>${mybatis-pj.version}</version>
</dependency>
<!-- Mysql Connector -->
<dependency>
<groupId>com.mysql</groupId>

@ -4,11 +4,11 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ReflectionKit;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.toolkit.Db;
import com.github.yulichang.base.MPJBaseMapper;
import org.apache.ibatis.logging.Log;
import org.apache.ibatis.logging.LogFactory;
import org.dromara.common.core.utils.MapstructUtils;
@ -30,7 +30,7 @@ import java.util.stream.Collectors;
* @since 2021-05-13
*/
@SuppressWarnings("unchecked")
public interface BaseMapperPlus<T, V> extends BaseMapper<T> {
public interface BaseMapperPlus<T, V> extends MPJBaseMapper<T> {
Log log = LogFactory.getLog(BaseMapperPlus.class);

@ -3,7 +3,7 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-cloud-plus</artifactId>
<artifactId>hwbm-cloud</artifactId>
<version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>

@ -3,7 +3,7 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-cloud-plus</artifactId>
<artifactId>hwbm-cloud</artifactId>
<version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>

@ -3,7 +3,7 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-cloud-plus</artifactId>
<artifactId>hwbm-cloud</artifactId>
<version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
@ -14,6 +14,7 @@
<module>ruoyi-job</module>
<module>ruoyi-resource</module>
<module>ruoyi-workflow</module>
<module>ruoyi-oa</module>
</modules>
<artifactId>ruoyi-modules</artifactId>

@ -113,4 +113,14 @@ public class ${ClassName}Controller extends BaseController {
@PathVariable("${pkColumn.javaField}s") ${pkColumn.javaType}[] ${pkColumn.javaField}s) {
return toAjax(${className}Service.deleteWithValidByIds(List.of(${pkColumn.javaField}s), true));
}
/**
* 下拉框查询${functionName}列表
*/
@GetMapping("/get${ClassName}List")
public R<List<${ClassName}Vo>> get${ClassName}List(${ClassName}Bo bo) {
List<${ClassName}Vo> list = ${className}Service.queryList(bo);
return R.ok(list);
}
}

@ -50,7 +50,7 @@ public class ${ClassName} extends ${Entity} {
@Version
#end
#if($column.isPk==1)
@TableId(value = "$column.columnName")
@TableId(value = "$column.columnName", type = IdType.AUTO)
#end
private $column.javaType $column.javaField;

@ -1,5 +1,10 @@
package ${packageName}.mapper;
import java.util.List;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import ${packageName}.domain.${ClassName};
import ${packageName}.domain.vo.${ClassName}Vo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
@ -12,4 +17,21 @@ import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
*/
public interface ${ClassName}Mapper extends BaseMapperPlus<${ClassName}, ${ClassName}Vo> {
/**
* 查询${functionName}列表
*
* @param page 分页
* @param queryWrapper 条件
* @return ${functionName}集合
*/
public Page<${ClassName}Vo> selectCustom${ClassName}VoList(@Param("page") Page<${ClassName}Vo> page, @Param(Constants.WRAPPER) MPJLambdaWrapper<${ClassName}> queryWrapper);
/**
* 查询${functionName}列表
*
* @param queryWrapper 条件
* @return ${functionName}集合
*/
public List<${ClassName}Vo> selectCustom${ClassName}VoList(@Param(Constants.WRAPPER) MPJLambdaWrapper<${ClassName}> queryWrapper);
}

@ -7,10 +7,10 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
#end
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.github.yulichang.toolkit.JoinWrappers;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import ${packageName}.domain.bo.${ClassName}Bo;
import ${packageName}.domain.vo.${ClassName}Vo;
@ -28,7 +28,6 @@ import java.util.Collection;
* @author ${author}
* @date ${datetime}
*/
@Slf4j
@RequiredArgsConstructor
@Service
public class ${ClassName}ServiceImpl implements I${ClassName}Service {
@ -56,7 +55,7 @@ public class ${ClassName}ServiceImpl implements I${ClassName}Service {
*/
@Override
public TableDataInfo<${ClassName}Vo> queryPageList(${ClassName}Bo bo, PageQuery pageQuery) {
LambdaQueryWrapper<${ClassName}> lqw = buildQueryWrapper(bo);
MPJLambdaWrapper<${ClassName}> lqw = buildQueryWrapper(bo);
Page<${ClassName}Vo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
@ -70,13 +69,14 @@ public class ${ClassName}ServiceImpl implements I${ClassName}Service {
*/
@Override
public List<${ClassName}Vo> queryList(${ClassName}Bo bo) {
LambdaQueryWrapper<${ClassName}> lqw = buildQueryWrapper(bo);
MPJLambdaWrapper<${ClassName}> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<${ClassName}> buildQueryWrapper(${ClassName}Bo bo) {
private MPJLambdaWrapper<${ClassName}> buildQueryWrapper(${ClassName}Bo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<${ClassName}> lqw = Wrappers.lambdaQuery();
MPJLambdaWrapper<${ClassName}> lqw = JoinWrappers.lambda(${ClassName}.class)
.selectAll(${ClassName}.class)
#foreach($column in $columns)
#if($column.query)
#set($queryType=$column.queryType)
@ -91,16 +91,16 @@ public class ${ClassName}ServiceImpl implements I${ClassName}Service {
#else
#set($condition='bo.get'+$AttrName+'() != null')
#end
lqw.$mpMethod($condition, ${ClassName}::get$AttrName, bo.get$AttrName());
.$mpMethod($condition, ${ClassName}::get$AttrName, bo.get$AttrName())
#else
lqw.between(params.get("begin$AttrName") != null && params.get("end$AttrName") != null,
${ClassName}::get$AttrName ,params.get("begin$AttrName"), params.get("end$AttrName"));
.between(params.get("begin$AttrName") != null && params.get("end$AttrName") != null,
${ClassName}::get$AttrName ,params.get("begin$AttrName"), params.get("end$AttrName"))
#end
#end
#end
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
#if($column.isPk==1)
lqw.orderByAsc(${ClassName}::get$AttrName);
#end
.orderByAsc(${ClassName}::get$AttrName);
#end
return lqw;
}

@ -61,3 +61,16 @@ export const del${BusinessName} = (${pkColumn.javaField}: string | number | Arra
method: 'delete'
});
};
/**
* 下拉框查询${functionName}列表
* @param query
* @returns {*}
*/
export function get${ClassName}List (query) {
return request({
url: '/${moduleName}/${businessName}/get${ClassName}List',
method: 'get',
params: query
});
};

@ -78,11 +78,11 @@
<el-col :span="1.5">
<el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['${moduleName}:${businessName}:export']">导出</el-button>
</el-col>
<right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
<right-toolbar v-model:showSearch="showSearch" :columns="columns" :search="true" @queryTable="getList"></right-toolbar>
</el-row>
</template>
<el-table v-loading="loading" border :data="${businessName}List" @selection-change="handleSelectionChange">
<el-table v-loading="loading" :data="${businessName}List" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
#foreach($column in $columns)
#set($javaField=$column.javaField)
@ -93,21 +93,21 @@
#set($comment=$column.columnComment)
#end
#if($column.pk)
<el-table-column label="${comment}" align="center" prop="${javaField}" v-if="${column.list}" />
<el-table-column label="${comment}" align="center" prop="${javaField}" v-if="${column.list}" v-if="columns[${foreach.index}].visible"/>
#elseif($column.list && $column.htmlType == "datetime")
<el-table-column label="${comment}" align="center" prop="${javaField}" width="180">
<el-table-column label="${comment}" align="center" prop="${javaField}" width="180" v-if="columns[${foreach.index}].visible">
<template #default="scope">
<span>{{ parseTime(scope.row.${javaField}, '{y}-{m}-{d}') }}</span>
<span>{{ parseTime(scope.row.${javaField}, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
</template>
</el-table-column>
#elseif($column.list && $column.htmlType == "imageUpload")
<el-table-column label="${comment}" align="center" prop="${javaField}Url" width="100">
<el-table-column label="${comment}" align="center" prop="${javaField}Url" width="100" v-if="columns[${foreach.index}].visible">
<template #default="scope">
<image-preview :src="scope.row.${javaField}Url" :width="50" :height="50"/>
</template>
</el-table-column>
#elseif($column.list && $column.dictType && "" != $column.dictType)
<el-table-column label="${comment}" align="center" prop="${javaField}">
<el-table-column label="${comment}" align="center" prop="${javaField}" v-if="columns[${foreach.index}].visible">
<template #default="scope">
#if($column.htmlType == "checkbox")
<dict-tag :options="${column.dictType}" :value="scope.row.${javaField} ? scope.row.${javaField}.split(',') : []"/>
@ -117,7 +117,7 @@
</template>
</el-table-column>
#elseif($column.list && "" != $javaField)
<el-table-column label="${comment}" align="center" prop="${javaField}" />
<el-table-column label="${comment}" align="center" prop="${javaField}" v-if="columns[${foreach.index}].visible"/>
#end
#end
<el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width">
@ -136,7 +136,7 @@
</el-card>
<!-- 添加或修改${functionName}对话框 -->
<el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
<el-form ref="${businessName}FormRef" :model="form" :rules="rules" label-width="80px">
<el-form ref="${businessName}FormRef" :model="form" :rules="rules" label-width="120px">
#foreach($column in $columns)
#set($field=$column.javaField)
#if(($column.insert || $column.edit) && !$column.pk)
@ -281,6 +281,19 @@ const dialog = reactive<DialogOption>({
title: ''
});
// 列显隐信息
const columns = ref<FieldOption[]>([
#foreach ($column in $columns)
#set($parentheseIndex=$column.columnComment.indexOf(""))
#if($parentheseIndex != -1)
#set($comment=$column.columnComment.substring(0, $parentheseIndex))
#else
#set($comment=$column.columnComment)
#end
{ key: ${foreach.index}, label: `${comment}`, visible: true },
#end
]);
const initFormData: ${BusinessName}Form = {
#foreach ($column in $columns)
#if($column.insert || $column.edit)

@ -3,5 +3,12 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="${packageName}.mapper.${ClassName}Mapper">
<resultMap type="${packageName}.domain.vo.${ClassName}Vo" id="${ClassName}Result">
</resultMap>
<select id="selectCustom${ClassName}VoList" resultMap="${ClassName}Result">
select#foreach($column in $columns) $column.columnName#if($foreach.count != $columns.size()),#end#end from ${tableName} t
${ew.getCustomSqlSegment}
</select>
</mapper>

@ -3,7 +3,7 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-cloud-plus</artifactId>
<artifactId>hwbm-cloud</artifactId>
<version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>

@ -40,9 +40,9 @@ spring.sql.init.platform=mysql
db.num=1
### Connect URL of DB:
db.url.0=jdbc:mysql://127.0.0.1:3306/ry-config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true
db.url.0=jdbc:mysql://1.13.177.47:3306/ry-config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true
db.user.0=root
db.password.0=root
db.password.0=Haiwei123456
### the maximum retry times for push
nacos.config.push.maxRetryTime=50

Loading…
Cancel
Save