From 0d61d9bf479be891ec8ee58320585996abcca92f Mon Sep 17 00:00:00 2001 From: Binlin B Wang Date: Tue, 19 Jul 2022 16:41:05 +0800 Subject: [PATCH] =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../generator/controller/QueryController.java | 7 ++++ .../ebts/generator/dao/UniColumnInfoDao.java | 17 +++++++++ .../ebts/generator/entity/UniColumnInfo.java | 36 +++++++++++++++++++ .../com/ebts/generator/entity/UniQuery.java | 13 +++++++ .../service/impl/QueryServiceImpl.java | 31 ++++++++++------ .../mapper/generator/QueryMapper.xml | 10 ++++-- .../mapper/generator/UniColumnInfoMapper.xml | 16 +++++++++ 7 files changed, 117 insertions(+), 13 deletions(-) create mode 100644 ebts/ebts-generator/src/main/java/com/ebts/generator/dao/UniColumnInfoDao.java create mode 100644 ebts/ebts-generator/src/main/java/com/ebts/generator/entity/UniColumnInfo.java create mode 100644 ebts/ebts-generator/src/main/resources/mapper/generator/UniColumnInfoMapper.xml diff --git a/ebts/ebts-generator/src/main/java/com/ebts/generator/controller/QueryController.java b/ebts/ebts-generator/src/main/java/com/ebts/generator/controller/QueryController.java index af29741..a3c4fad 100644 --- a/ebts/ebts-generator/src/main/java/com/ebts/generator/controller/QueryController.java +++ b/ebts/ebts-generator/src/main/java/com/ebts/generator/controller/QueryController.java @@ -4,6 +4,7 @@ import com.ebts.common.core.controller.BaseController; import com.ebts.common.core.entity.Result; import com.ebts.common.utils.MapExcelUtil; import com.ebts.common.utils.StringUtils; +import com.ebts.generator.entity.UniColumnInfo; import com.ebts.generator.utils.sql.GenSqlUtil; import com.github.pagehelper.PageHelper; import com.ebts.generator.entity.UniCon; @@ -46,9 +47,12 @@ public class QueryController extends BaseController { UniQuery uniQuery = result.getData(); Map modeMap = new HashMap<>(); List uniCons = uniQuery.getUniCons(); + List infoList = uniQuery.getInfoList(); + uniQuery.setInfoList(null); uniQuery.setUniCons(null); modeMap.put("info", uniQuery); modeMap.put("list", uniCons); + modeMap.put("infoList", infoList); return Result.ok(modeMap); } else { return Result.error(result.getMsg()); @@ -64,6 +68,9 @@ public class QueryController extends BaseController { @PreAuthorize("@ebts.hasPermi('query:edit')") @PutMapping public Result edit(@Validated @RequestBody UniQuery uniQuery) { + if (uniQuery.getInfoList().size() == 0){ + return Result.error("字段信息为空,请提取字段信息!"); + } return queryService.updateQueryInfo(uniQuery); } diff --git a/ebts/ebts-generator/src/main/java/com/ebts/generator/dao/UniColumnInfoDao.java b/ebts/ebts-generator/src/main/java/com/ebts/generator/dao/UniColumnInfoDao.java new file mode 100644 index 0000000..da8143a --- /dev/null +++ b/ebts/ebts-generator/src/main/java/com/ebts/generator/dao/UniColumnInfoDao.java @@ -0,0 +1,17 @@ +package com.ebts.generator.dao; + +import com.ebts.generator.entity.UniColumnInfo; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface UniColumnInfoDao { + + + int insertUniColumnInfo(@Param("list") List infoList); + + int deleteUniColumnInfo(@Param("queryId") long queryId); + + + +} diff --git a/ebts/ebts-generator/src/main/java/com/ebts/generator/entity/UniColumnInfo.java b/ebts/ebts-generator/src/main/java/com/ebts/generator/entity/UniColumnInfo.java new file mode 100644 index 0000000..cade8c6 --- /dev/null +++ b/ebts/ebts-generator/src/main/java/com/ebts/generator/entity/UniColumnInfo.java @@ -0,0 +1,36 @@ +package com.ebts.generator.entity; + +import lombok.Builder; +import lombok.Data; + +//@Data +//@Builder +public class UniColumnInfo { + private long queryId; + private String prop; + private String label; + + public long getQueryId() { + return queryId; + } + + public void setQueryId(long queryId) { + this.queryId = queryId; + } + + public String getProp() { + return prop; + } + + public void setProp(String prop) { + this.prop = prop; + } + + public String getLabel() { + return label; + } + + public void setLabel(String label) { + this.label = label; + } +} diff --git a/ebts/ebts-generator/src/main/java/com/ebts/generator/entity/UniQuery.java b/ebts/ebts-generator/src/main/java/com/ebts/generator/entity/UniQuery.java index 702212d..3fe3921 100644 --- a/ebts/ebts-generator/src/main/java/com/ebts/generator/entity/UniQuery.java +++ b/ebts/ebts-generator/src/main/java/com/ebts/generator/entity/UniQuery.java @@ -56,6 +56,19 @@ public class UniQuery extends BaseEntity { private Integer pageSize; + private List infoList; + + public List getInfoList() { + if (infoList == null){ + infoList = new ArrayList<>(); + } + return infoList; + } + + public void setInfoList(List infoList) { + this.infoList = infoList; + } + public String getTopJson() { return topJson; } diff --git a/ebts/ebts-generator/src/main/java/com/ebts/generator/service/impl/QueryServiceImpl.java b/ebts/ebts-generator/src/main/java/com/ebts/generator/service/impl/QueryServiceImpl.java index be30de5..2d91f5f 100644 --- a/ebts/ebts-generator/src/main/java/com/ebts/generator/service/impl/QueryServiceImpl.java +++ b/ebts/ebts-generator/src/main/java/com/ebts/generator/service/impl/QueryServiceImpl.java @@ -6,7 +6,9 @@ import com.ebts.common.core.entity.Result; import com.ebts.common.core.entity.entity.Menu; import com.ebts.common.utils.SecurityUtils; import com.ebts.generator.dao.QueryDao; +import com.ebts.generator.dao.UniColumnInfoDao; import com.ebts.generator.dao.UniQueryDao; +import com.ebts.generator.entity.UniColumnInfo; import com.ebts.generator.entity.UniCon; import com.ebts.generator.entity.UniQuery; import com.ebts.generator.service.QueryService; @@ -21,6 +23,7 @@ import org.springframework.transaction.interceptor.TransactionAspectSupport; import javax.annotation.Resource; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** * Author 18209 @@ -37,6 +40,9 @@ public class QueryServiceImpl implements QueryService { @Resource private UniQueryDao uniQueryDao; + @Resource + private UniColumnInfoDao uniColumnInfoDao; + /** * 查询万能查询的基本信息和条件信息 @@ -90,18 +96,21 @@ public class QueryServiceImpl implements QueryService { @Override @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) public Result updateQueryInfo(UniQuery uniQuery) { - int uqrenewal = uniQueryDao.updateUniQuery(uniQuery); - if (uqrenewal > 0) { - if (uniQuery.getUniCons() != null && uniQuery.getUniCons().size() > 0) { - queryDao.deleteUniCon(uniQuery.getId()); - Integer ucrenewal = queryDao.insertUniCon(uniQuery.getUniCons()); - if (ucrenewal == 0) { - return Result.error(ReturnConstants.OP_ERROR); - } - } - return Result.ok(); + uniQueryDao.updateUniQuery(uniQuery); + if (uniQuery.getUniCons() != null && uniQuery.getUniCons().size() > 0) { + queryDao.deleteUniCon(uniQuery.getId()); + queryDao.insertUniCon(uniQuery.getUniCons()); + resetColumnInfo(uniQuery); } - return Result.error(ReturnConstants.OP_ERROR); + return Result.ok(); + } + + void resetColumnInfo(UniQuery uniQuery){ + List infoList = uniQuery.getInfoList().stream().peek(info -> + info.setQueryId(uniQuery.getId()) + ).collect(Collectors.toList()); + uniColumnInfoDao.deleteUniColumnInfo(uniQuery.getId()); + uniColumnInfoDao.insertUniColumnInfo(infoList); } @Override diff --git a/ebts/ebts-generator/src/main/resources/mapper/generator/QueryMapper.xml b/ebts/ebts-generator/src/main/resources/mapper/generator/QueryMapper.xml index 536a74c..a4aa6ac 100644 --- a/ebts/ebts-generator/src/main/resources/mapper/generator/QueryMapper.xml +++ b/ebts/ebts-generator/src/main/resources/mapper/generator/QueryMapper.xml @@ -15,6 +15,7 @@ + @@ -27,6 +28,10 @@ + + + + @@ -79,9 +84,10 @@ diff --git a/ebts/ebts-generator/src/main/resources/mapper/generator/UniColumnInfoMapper.xml b/ebts/ebts-generator/src/main/resources/mapper/generator/UniColumnInfoMapper.xml new file mode 100644 index 0000000..7cf2ca6 --- /dev/null +++ b/ebts/ebts-generator/src/main/resources/mapper/generator/UniColumnInfoMapper.xml @@ -0,0 +1,16 @@ + + + + + + insert into gen_uni_column_info (query_id,prop,label) values + + (#{item.queryId},#{item.prop},#{item.label}) + + + + delete from gen_uni_column_info where query_id = #{queryId} + +