Commit befdb2b2 by guojuxing

Merge remote-tracking branch 'origin/developer' into developer

parents 79d07d59 3a380fd8
......@@ -30,6 +30,43 @@ public interface CustomSettingApiService {
*/
ServiceResponse<Map<String, Object>> getDetail(String tableName, String searchParams);
/**
* getDetail
* @Title: getDetail
* @Description: 查询详情
* @author taogs
* @param tableName
* @param searchParamMap
* @return com.gic.api.base.commons.ServiceResponse<java.util.Map<java.lang.String,java.lang.Object>>
* @throws
*/
ServiceResponse<Map<String, Object>> getDetail(String tableName, Map<String, Object> searchParamMap);
/**
* getDetail
* @Title: getDetail
* @Description: 查询详情
* @author taogs
* @param tableName
* @param fieldKey
* @param value
* @return com.gic.api.base.commons.ServiceResponse<java.util.Map<java.lang.String,java.lang.Object>>
* @throws
*/
ServiceResponse<Map<String, Object>> getDetail(String tableName, String fieldKey, Object value);
/**
* getDetail
* @Title: getDetail
* @Description: 查询详情
* @author taogs
* @param tableName
* @param id
* @return com.gic.api.base.commons.ServiceResponse<java.util.Map<java.lang.String,java.lang.Object>>
* @throws
*/
ServiceResponse<Map<String, Object>> getDetailByPrimaryKey(String tableName, String id);
/**
* page
......@@ -46,6 +83,20 @@ public interface CustomSettingApiService {
ServiceResponse<Page<Map>> page(String tableName, String searchParams, Integer currentPage, Integer pageSize);
/**
* page
* @Title: page
* @Description:
* @author taogs
* @param tableName
* @param searchParamMap
* @param currentPage
* @param pageSize
* @return com.gic.api.base.commons.ServiceResponse<com.gic.api.base.commons.Page<java.util.Map<java.lang.String,java.lang.Object>>>
* @throws
*/
ServiceResponse<Page<Map>> page(String tableName, Map<String, Object> searchParamMap, Integer currentPage, Integer pageSize);
/**
* delete
* @Title: delete
* @Description: 删除
......
package com.gic.enterprise.service.impl;
import com.gic.commons.util.EntityUtil;
import com.gic.enterprise.constant.FieldTypeEnum;
import com.gic.enterprise.dao.mapper.TabTableSettingFieldMapper;
import com.gic.enterprise.dto.TableSettingFieldDTO;
import com.gic.enterprise.entity.TabTableSettingField;
......@@ -47,7 +48,13 @@ public class TableSettingFieldServiceImpl implements TableSettingFieldService {
@Override
public void delTableField(Integer fieldId) {
TabTableSettingField field = new TabTableSettingField();
TabTableSettingField field = tabTableSettingFieldMapper.selectByPrimaryKey(fieldId);
if(field == null){
return;
}
if(field.getFieldKey().equals("id")){
return;
}
field.setFieldId(fieldId);
field.setDeleteFlag(1);
tabTableSettingFieldMapper.updateByPrimaryKeySelective(field);
......
package com.gic.enterprise.service.impl;
import com.gic.enterprise.dao.mapper.TabTableSettingMapper;
import com.gic.enterprise.dto.TableSettingFieldDTO;
import com.gic.enterprise.entity.TabTableSetting;
import com.gic.enterprise.service.TableSettingFieldService;
import com.gic.enterprise.service.TableSettingService;
import com.github.pagehelper.Page;
import org.apache.logging.log4j.LogManager;
......@@ -16,6 +18,8 @@ public class TableSettingServiceImpl implements TableSettingService {
private static final Logger log = LogManager.getLogger(TableSettingServiceImpl.class);
@Autowired
private TabTableSettingMapper tabTableSettingMapper;
@Autowired
private TableSettingFieldService tableSettingFieldService;
@Override
public String saveTableSetting(TabTableSetting tabTableSetting) {
......@@ -28,6 +32,8 @@ public class TableSettingServiceImpl implements TableSettingService {
}
tabTableSetting.setCreateTime(new Date());
tabTableSettingMapper.insertSelective(tabTableSetting);
Integer tableId = tabTableSetting.getTableId();
saveDefaultField(tableId);
} else {
tabTableSettingMapper.updateByPrimaryKeySelective(tabTableSetting);
}
......@@ -57,4 +63,21 @@ public class TableSettingServiceImpl implements TableSettingService {
public TabTableSetting getTableSetting(String tableName) {
return tabTableSettingMapper.getTableSettingByTableName(tableName);
}
private void saveDefaultField(Integer tableId){
TableSettingFieldDTO defaultField = new TableSettingFieldDTO();
defaultField.setFieldKey("id");
defaultField.setFieldName("主键");
defaultField.setFieldType("string");
defaultField.setTableId(tableId);
tableSettingFieldService.saveTableField(defaultField);
defaultField.setFieldKey("create_time");
defaultField.setFieldName("创建时间");
defaultField.setFieldType("date");
tableSettingFieldService.saveTableField(defaultField);
defaultField.setFieldKey("update_time");
defaultField.setFieldName("更新时间");
defaultField.setFieldType("date");
tableSettingFieldService.saveTableField(defaultField);
}
}
......@@ -63,12 +63,12 @@ public class CustomSettingApiServiceImpl implements CustomSettingApiService {
String[] split = repeateSetting.split(",");
List<Criteria> criteriaList = new ArrayList<>();
for(String field : split){
Criteria criteria = new Criteria(field, MongoOperTypeEnum.EQ, map.get(field));
Criteria criteria = Criteria.where(field).eq(map.get(field));
criteriaList.add(criteria);
}
if(map.get(PRIMARYKEY) != null){
Criteria criteria = new Criteria(PRIMARYKEY, MongoOperTypeEnum.NIN, map.get(PRIMARYKEY));
criteriaList.add(criteria);
Criteria nin = Criteria.where(PRIMARYKEY).nin(Arrays.asList(map.get(PRIMARYKEY)));
criteriaList.add(nin);
}
MongoQueryDTO queryDTO = new MongoQueryDTO();
queryDTO.setCriteria(criteriaList);
......@@ -131,18 +131,26 @@ public class CustomSettingApiServiceImpl implements CustomSettingApiService {
@Override
public ServiceResponse<Map<String, Object>> getDetail(String tableName, String searchParams) {
log.info("getDetail:{},{}", tableName, searchParams);
Map<String, Object> map = JSON.parseObject(searchParams, Map.class);
return getDetail(tableName, map);
}
@Override
public ServiceResponse<Map<String, Object>> getDetail(String tableName, Map<String, Object> searchParamMap) {
log.info("getDetail:{},{}", tableName, JSON.toJSONString(searchParamMap));
MongoQueryDTO queryDTO = new MongoQueryDTO();
if(MapUtils.isNotEmpty(map)){
if(MapUtils.isNotEmpty(searchParamMap)){
TabTableSetting tableSetting = tableSettingService.getTableSetting(tableName);
if(tableSetting == null){
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), tableName + "不存在");
}
List<Criteria> criteriaList = getCriteriaList(map, tableSetting);
List<Criteria> criteriaList = getCriteriaList(searchParamMap, tableSetting);
queryDTO.setCriteria(criteriaList);
}
queryDTO.setDataBaseName(DATABASENAME);
queryDTO.setConllectionName(tableName);
queryDTO.setSort("create_time=desc");
ServiceResponse<List<Map>> query = mongoOperApiService.query(queryDTO);
log.info("getDetail:{},{}", JSON.toJSONString(queryDTO), JSON.toJSONString(query));
if(query.isSuccess()){
......@@ -157,21 +165,44 @@ public class CustomSettingApiServiceImpl implements CustomSettingApiService {
}
@Override
public ServiceResponse<Map<String, Object>> getDetail(String tableName, String fieldKey, Object value) {
Map<String, Object> map = new HashMap<>();
map.put(fieldKey, value);
return getDetail(tableName, map);
}
@Override
public ServiceResponse<Map<String, Object>> getDetailByPrimaryKey(String tableName, String id) {
Map<String, Object> map = new HashMap<>();
map.put(PRIMARYKEY, id);
return getDetail(tableName, map);
}
@Override
public ServiceResponse<Page<Map>> page(String tableName, String searchParams, Integer currentPage, Integer pageSize) {
log.info("page参数:{},{},{},{}", tableName, searchParams, currentPage, pageSize);
Map<String, Object> map = JSON.parseObject(searchParams, Map.class);
return page(tableName, map, currentPage, pageSize);
}
@Override
public ServiceResponse<Page<Map>> page(String tableName, Map<String, Object> searchParamMap, Integer currentPage, Integer pageSize) {
log.info("page参数:{},{},{},{}", tableName, JSON.toJSONString(searchParamMap), currentPage, pageSize);
MongoQueryDTO queryDTO = new MongoQueryDTO();
if(MapUtils.isNotEmpty(map)){
if(MapUtils.isNotEmpty(searchParamMap)){
TabTableSetting tableSetting = tableSettingService.getTableSetting(tableName);
if(tableSetting == null){
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), tableName + "不存在");
}
List<Criteria> criteriaList = getCriteriaList(map, tableSetting);
List<Criteria> criteriaList = getCriteriaList(searchParamMap, tableSetting);
queryDTO.setCriteria(criteriaList);
}
queryDTO.setDataBaseName(DATABASENAME);
queryDTO.setConllectionName(tableName);
queryDTO.setCurrentPage(currentPage);
queryDTO.setPageSize(pageSize);
queryDTO.setSort("create_time=desc");
ServiceResponse<Page<Map>> pageServiceResponse = mongoOperApiService.queryByPage(queryDTO);
log.info("page:{},{}", JSON.toJSONString(queryDTO), JSON.toJSONString(pageServiceResponse));
return pageServiceResponse;
......@@ -179,6 +210,7 @@ public class CustomSettingApiServiceImpl implements CustomSettingApiService {
@Override
public ServiceResponse<Integer> delete(String tableName, String id) {
log.info("delete:{},{}", tableName, id);
ServiceResponse<Map<String, Object>> detail = getDetail(tableName, "{\"id\":\"" + id + "\"}");
Map<String, Object> map = detail.getResult();
map.put("update_time", new Date());
......
......@@ -51,7 +51,7 @@
#{createtorName,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP},
#{deleteFlag,jdbcType=INTEGER}, #{fields,jdbcType=LONGVARCHAR})
</insert>
<insert id="insertSelective" parameterType="com.gic.enterprise.entity.TabTableSetting">
<insert id="insertSelective" parameterType="com.gic.enterprise.entity.TabTableSetting" useGeneratedKeys="true" keyProperty="tableId">
insert into tab_table_setting
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="tableId != null">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment