Compare commits

...

2 Commits

Author SHA1 Message Date
Binlin B Wang f96474e739 Merge remote-tracking branch 'origin/master' 2022-07-19 16:41:28 +08:00
Binlin B Wang 0d61d9bf47 自定义查询字段提交 2022-07-19 16:41:05 +08:00
7 changed files with 117 additions and 13 deletions

View File

@ -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<String, Object> modeMap = new HashMap<>();
List<UniCon> uniCons = uniQuery.getUniCons();
List<UniColumnInfo> 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<Integer> edit(@Validated @RequestBody UniQuery uniQuery) {
if (uniQuery.getInfoList().size() == 0){
return Result.error("字段信息为空,请提取字段信息!");
}
return queryService.updateQueryInfo(uniQuery);
}

View File

@ -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<UniColumnInfo> infoList);
int deleteUniColumnInfo(@Param("queryId") long queryId);
}

View File

@ -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;
}
}

View File

@ -56,6 +56,19 @@ public class UniQuery extends BaseEntity {
private Integer pageSize;
private List<UniColumnInfo> infoList;
public List<UniColumnInfo> getInfoList() {
if (infoList == null){
infoList = new ArrayList<>();
}
return infoList;
}
public void setInfoList(List<UniColumnInfo> infoList) {
this.infoList = infoList;
}
public String getTopJson() {
return topJson;
}

View File

@ -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<Integer> 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<UniColumnInfo> infoList = uniQuery.getInfoList().stream().peek(info ->
info.setQueryId(uniQuery.getId())
).collect(Collectors.toList());
uniColumnInfoDao.deleteUniColumnInfo(uniQuery.getId());
uniColumnInfoDao.insertUniColumnInfo(infoList);
}
@Override

View File

@ -15,6 +15,7 @@
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<collection property="uniCons" javaType="java.util.List" notNullColumn="id" resultMap="UniConResult"/>
<collection property="infoList" javaType="java.util.List" notNullColumn="id" resultMap="UniColumnInfoResult"/>
</resultMap>
<resultMap type="com.ebts.generator.entity.UniCon" id="UniConResult">
<result property="id" column="uc_id" />
@ -27,6 +28,10 @@
<result property="ucType" column="uc_type" />
<result property="type" column="type" />
</resultMap>
<resultMap type="com.ebts.generator.entity.UniColumnInfo" id="UniColumnInfoResult">
<result property="prop" column="prop"/>
<result property="label" column="label"/>
</resultMap>
<select id="UniQuery" resultType="java.util.Map">
${paramSQL}
</select>
@ -79,9 +84,10 @@
<select id="selectQueryInfo" parameterType="Long" resultMap="QueryResult">
select uq.id, uq.uq_name, uq.uq_sql, uq.uq_describe, uq.create_by, uq.is_release, uq.create_time, uq.update_by, uq.update_time,
uc.id as uc_id, uc.uq_id, uc.uc_name, uc.uc_key, uc.uc_con, uc.uc_mock, uc.uc_describe ,uc.uc_type,uc.type
uc.id as uc_id, uc.uq_id, uc.uc_name, uc.uc_key, uc.uc_con, uc.uc_mock, uc.uc_describe ,uc.uc_type,uc.type,uci.prop,uci.label
from gen_uni_query uq
left join gen_uni_con uc on uc.uq_id = uq.id
left join gen_uni_con uc on uc.uq_id = uq.id
left join gen_uni_column_info uci on uci.query_id = uq.id
where uq.id = #{id}
</select>

View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ebts.generator.dao.UniColumnInfoDao">
<insert id="insertUniColumnInfo" parameterType="java.util.List">
insert into gen_uni_column_info (query_id,prop,label) values
<foreach collection="list" item="item" index="index" separator=",">
(#{item.queryId},#{item.prop},#{item.label})
</foreach>
</insert>
<delete id="deleteUniColumnInfo">
delete from gen_uni_column_info where query_id = #{queryId}
</delete>
</mapper>