Merge pull request #37 from lingting-gzm/master

 LovBody与LovSearch有 id 与Lov关联改为使用 keyword与lov关联
This commit is contained in:
b2baccline
2020-09-29 13:55:35 +08:00
8 changed files with 82 additions and 69 deletions

View File

@@ -1,6 +1,6 @@
package com.hccake.ballcat.admin.modules.lov.enums;
import com.baomidou.mybatisplus.core.enums.IEnum;
import com.baomidou.mybatisplus.annotation.IEnum;
import lombok.AllArgsConstructor;
import lombok.Getter;
@@ -11,21 +11,11 @@ import lombok.Getter;
*/
@Getter
@AllArgsConstructor
public enum HttpMethod implements IEnum<String> {
public enum HttpMethod {
/**
* http 请求方式
*/
GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS, TRACE,;
@Override
public String getValue() {
return toString();
}
@Override
public String toString() {
return name();
}
}

View File

@@ -1,6 +1,6 @@
package com.hccake.ballcat.admin.modules.lov.enums;
import com.baomidou.mybatisplus.core.enums.IEnum;
import com.baomidou.mybatisplus.annotation.IEnum;
import lombok.AllArgsConstructor;
import lombok.Getter;
@@ -11,18 +11,13 @@ import lombok.Getter;
*/
@Getter
@AllArgsConstructor
public enum HttpParamsPosition implements IEnum<String> {
public enum HttpParamsPosition {
/**
* 定义http请求时 参数设置的位置
*/
DATA, PARAMS,;
@Override
public String getValue() {
return toString();
}
@Override
public String toString() {
return name().toLowerCase();

View File

@@ -1,6 +1,6 @@
package com.hccake.ballcat.admin.modules.lov.enums;
import com.baomidou.mybatisplus.core.enums.IEnum;
import com.baomidou.mybatisplus.annotation.IEnum;
import lombok.AllArgsConstructor;
import lombok.Getter;
@@ -9,16 +9,11 @@ import lombok.Getter;
*/
@Getter
@AllArgsConstructor
public enum Tag implements IEnum<String> {
public enum Tag {
/**
* 标签类型
*/
INPUT_TEXT, INPUT_NUMBER, SELECT, DICT_SELECT;
@Override
public String getValue() {
return name();
}
}

View File

@@ -28,8 +28,8 @@ public class LovBody extends Model<LovBody> {
@ApiModelProperty("编号")
private Long id;
@ApiModelProperty("所属lov")
private Long lovId;
@ApiModelProperty("关键字,唯一,通过关键字关联lov")
private String keyword;
@ApiModelProperty("标题")
private String title;

View File

@@ -31,8 +31,8 @@ public class LovSearch extends Model<LovSearch> {
@ApiModelProperty("编号")
private Long id;
@ApiModelProperty("所属lov")
private Long lovId;
@ApiModelProperty("关键字,唯一,通过关键字关联lov")
private String keyword;
@NotEmpty
@ApiModelProperty("标签文字")

View File

@@ -49,7 +49,7 @@ public class LovServiceImpl extends ServiceImpl<LovMapper, Lov> implements LovSe
List<Long> removeIds = new ArrayList<>();
// 获取现有lov body
List<LovBody> lovBodyList = bodyService
.list(Wrappers.<LovBody>lambdaQuery().eq(LovBody::getLovId, lov.getId()));
.list(Wrappers.<LovBody>lambdaQuery().eq(LovBody::getKeyword, lov.getKeyword()));
// 获取现有的id
Set<Long> ids = bodyList.stream().map(LovBody::getId).collect(Collectors.toSet());
@@ -61,13 +61,13 @@ public class LovServiceImpl extends ServiceImpl<LovMapper, Lov> implements LovSe
}
bodyService.removeByIds(removeIds);
bodyService.saveOrUpdateBatch(
bodyList.stream().map(body -> body.setLovId(lov.getId())).collect(Collectors.toList()));
bodyList.stream().map(body -> body.setKeyword(lov.getKeyword())).collect(Collectors.toList()));
// 清空已有需要删除的id
removeIds.clear();
// 获取现有lov body
List<LovSearch> lovSearchList = searchService
.list(Wrappers.<LovSearch>lambdaQuery().eq(LovSearch::getLovId, lov.getId()));
.list(Wrappers.<LovSearch>lambdaQuery().eq(LovSearch::getKeyword, lov.getKeyword()));
// 获取现有的id
ids = searchList.stream().map(LovSearch::getId).collect(Collectors.toSet());
@@ -79,7 +79,7 @@ public class LovServiceImpl extends ServiceImpl<LovMapper, Lov> implements LovSe
}
searchService.removeByIds(removeIds);
searchService.saveOrUpdateBatch(
searchList.stream().map(body -> body.setLovId(lov.getId())).collect(Collectors.toList()));
searchList.stream().map(body -> body.setKeyword(lov.getKeyword())).collect(Collectors.toList()));
return true;
}
return false;
@@ -95,9 +95,9 @@ public class LovServiceImpl extends ServiceImpl<LovMapper, Lov> implements LovSe
public boolean save(Lov lov, List<LovBody> bodyList, List<LovSearch> searchList) {
return save(lov)
&& bodyService.saveBatch(
bodyList.stream().map(body -> body.setLovId(lov.getId())).collect(Collectors.toList()))
&& searchService.saveBatch(
searchList.stream().map(search -> search.setLovId(lov.getId())).collect(Collectors.toList()));
bodyList.stream().map(body -> body.setKeyword(lov.getKeyword())).collect(Collectors.toList()))
&& searchService.saveBatch(searchList.stream().map(search -> search.setKeyword(lov.getKeyword()))
.collect(Collectors.toList()));
}
@Override
@@ -108,9 +108,9 @@ public class LovServiceImpl extends ServiceImpl<LovMapper, Lov> implements LovSe
.setKeyword(lov.getKeyword()).setMultiple(lov.getMultiple()).setPosition(lov.getPosition())
.setRet(lov.getRet()).setSearch(lov.getSearch()).setUrl(lov.getUrl()).setRetField(lov.getRetField())
.setRetFieldDataType(lov.getRetFieldDataType());
vo.setBodyList(bodyService.list(Wrappers.<LovBody>lambdaQuery().eq(LovBody::getLovId, lov.getId())));
vo.setBodyList(bodyService.list(Wrappers.<LovBody>lambdaQuery().eq(LovBody::getKeyword, lov.getKeyword())));
vo.setSearchList(
searchService.list(Wrappers.<LovSearch>lambdaQuery().eq(LovSearch::getLovId, lov.getId())));
searchService.list(Wrappers.<LovSearch>lambdaQuery().eq(LovSearch::getKeyword, lov.getKeyword())));
return vo;
}
return null;

View File

@@ -1,30 +0,0 @@
package com.hccake.extend;
import com.hccake.extend.kafka.KafkaConsumerBuilder;
import org.apache.kafka.clients.consumer.KafkaConsumer;
import org.apache.kafka.common.serialization.StringDeserializer;
/**
* @author lingting 2020/6/23 17:07
*/
public class KafkaTest {
public static void main(String[] args) {
// KafkaProducer<String, String> producer = new KafkaProducerBuilder()
KafkaConsumer<Object, Object> consumer = new KafkaConsumerBuilder().keyDeserializer(StringDeserializer.class)
.valueDeserializer(StringDeserializer.class).groupId("group-id").addTopic("first")
// .keySerializer(StringSerializer.class)
// .valueSerializer(StringSerializer.class)
.addBootstrapServers("192.168.1.3:50211").addBootstrapServers("192.168.1.3:50212").build();
// producer.send("first", "测试消息");
// while (true) {
// ConsumerRecords<Object, Object> records = consumer.poll(Duration.ofSeconds(5));
// records.forEach(record -> {
// System.out.println(record.key());
// System.out.println(record.value());
// });
// }
}
}

63
doc/update_sql/0.0.6.sql Normal file
View File

@@ -0,0 +1,63 @@
-- lov 模块
DROP TABLE IF EXISTS `sys_lov`;
CREATE TABLE `sys_lov`
(
`id` int(11) NOT NULL AUTO_INCREMENT,
`keyword` varchar(50) DEFAULT NULL COMMENT '关键字唯一加载lov数据时通过关键字加载',
`url` varchar(255) DEFAULT NULL COMMENT '获取数据时请求路径',
`method` varchar(10) DEFAULT NULL COMMENT 'http请求方式',
`position` varchar(10) DEFAULT NULL COMMENT 'http请求参数设置位置',
`key` varchar(20) DEFAULT NULL COMMENT '数据的key',
`fixed_params` varchar(255) DEFAULT '{}' COMMENT '固定请求参数,请设置 jsonString, 默认值 {}',
`multiple` bit(1) DEFAULT NULL COMMENT '是否需要多选',
`search` bit(1) DEFAULT NULL COMMENT '是否需要搜索框',
`ret` bit(1) DEFAULT NULL COMMENT '是否需要返回数据, false则不会有确定按钮',
`ret_field` varchar(50) DEFAULT NULL COMMENT '返回数据的字段',
`ret_field_data_type` tinyint(1) DEFAULT NULL COMMENT '返回字段数据类型 1 String 2 Number',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`),
UNIQUE KEY `keyword` (`keyword`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4
ROW_FORMAT = DYNAMIC COMMENT ='lov';
DROP TABLE IF EXISTS `sys_lov_body`;
CREATE TABLE `sys_lov_body`
(
`id` int(11) NOT NULL AUTO_INCREMENT,
`keyword` varchar(50) DEFAULT NULL COMMENT '关键字唯一通过关键字关联lov',
`title` varchar(100) DEFAULT NULL COMMENT '标题',
`field` varchar(50) DEFAULT NULL COMMENT '字段, 同一lov下field不可重复`',
`index` int(255) DEFAULT NULL COMMENT '索引,字段排序',
`property` varchar(255) DEFAULT '{}' COMMENT '自定义属性,请设置 jsonString, 默认值 {}',
`custom` bit(1) DEFAULT NULL COMMENT '是否自定义html',
`html` text COMMENT '如果 custom=true 则当前值不能为空',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`id`),
UNIQUE KEY (`keyword`, `field`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4
ROW_FORMAT = DYNAMIC COMMENT ='lov body';
DROP TABLE IF EXISTS `sys_lov_search`;
CREATE TABLE `sys_lov_search`
(
`id` int(11) NOT NULL AUTO_INCREMENT,
`keyword` varchar(50) DEFAULT NULL COMMENT '关键字唯一通过关键字关联lov',
`label` varchar(100) DEFAULT NULL COMMENT '标签文字',
`field` varchar(50) DEFAULT NULL COMMENT '字段',
`placeholder` varchar(255) DEFAULT NULL COMMENT 'placeholder',
`tag` varchar(50) DEFAULT NULL COMMENT 'html 标签',
`options` text COMMENT 'tag=SELECT时的选项',
`min` int(1) DEFAULT NULL COMMENT 'tag=INPUT_NUMBER时的选项设置数字最小值',
`max` int(1) DEFAULT NULL COMMENT 'tag=INPUT_NUMBER时的选项设置数字最大值',
`dict_code` varchar(50) DEFAULT NULL COMMENT 'tag=DICT_SELECT时的选项设置dict-code',
`custom` bit(1) DEFAULT NULL COMMENT '是否自定义html',
`html` text COMMENT '如果 custom=true 则当前值不能为空',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`id`),
UNIQUE KEY (`keyword`, `field`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4
ROW_FORMAT = DYNAMIC COMMENT ='lov search';