Explorar o código

性能验证 批量保存接口

ZhuJiaHao hai 5 meses
pai
achega
e606fad68c

+ 5 - 0
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/pv/api/IExperimentalConfigService.java

@@ -79,4 +79,9 @@ public interface IExperimentalConfigService {
 	@RequestMapping(value = "/save", method = { RequestMethod.POST })
 	public APIResult<Void> save(
  			@RequestBody(required = true) @Valid ExperimentalConfigPo experimentalConfigPo);
+
+
+
+	@RequestMapping(value = "/batchSave", method = { RequestMethod.POST })
+	public APIResult<Void> batchSave(@RequestBody List<ExperimentalConfigPo> requestList);
 }

+ 0 - 3
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/pv/persistence/dao/ExperimentalQueryDao.java

@@ -15,7 +15,4 @@ import java.util.List;
  *</pre>
  */
 public interface ExperimentalQueryDao extends IQueryDao<String, ExperimentalPo> {
-
-    public List<ExperimentalPo> queryByKey(String key);
-
 }

+ 0 - 6
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/pv/persistence/dao/impl/ExperimentalQueryDaoImpl.java

@@ -27,10 +27,4 @@ public class ExperimentalQueryDaoImpl extends MyBatisQueryDaoImpl<String, Experi
     public String getNamespace() {
         return ExperimentalPo.class.getName();
     }
-
-
-    @Override
-    public List<ExperimentalPo> queryByKey(String key) {
-        return this.query(key);
-    }
 }

+ 46 - 3
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/pv/provider/ExperimentalConfigProvider.java

@@ -1,10 +1,14 @@
 package com.lc.ibps.components.pv.provider;
 
-import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 import javax.annotation.Resource;
 
+import com.lc.ibps.form.dao.ExperimentalMapperDao;
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestParam;
@@ -12,7 +16,6 @@ import org.springframework.web.bind.annotation.RequestParam;
 import com.lc.ibps.api.base.constants.StateEnum;
 import com.lc.ibps.api.base.query.QueryFilter;
 import com.lc.ibps.base.core.constants.StringPool;
-import com.lc.ibps.base.core.util.BeanUtils;
 import com.lc.ibps.cloud.entity.APIPageList;
 import com.lc.ibps.cloud.entity.APIRequest;
 import com.lc.ibps.cloud.entity.APIResult;
@@ -44,6 +47,9 @@ public class ExperimentalConfigProvider extends GenericProvider implements IExpe
 	@Resource
 	private ExperimentalConfigRepository experimentalConfigRepository;
 
+	@Autowired
+	private ExperimentalMapperDao experimentalDao;
+
 	@ApiOperation(value = "性能验证配置信息列表(分页条件查询)数据", notes = "性能验证配置信息列表(分页条件查询)数据")
 	@Override
 	public APIResult<APIPageList<ExperimentalConfigPo>> query(
@@ -119,5 +125,42 @@ public class ExperimentalConfigProvider extends GenericProvider implements IExpe
 		}
 		return result;
 	}
-	
+
+
+	@Override
+	public APIResult<Void> batchSave(@RequestBody List<ExperimentalConfigPo> requestList) {
+		APIResult<Void> result = new APIResult<Void>();
+		try{
+			if(CollectionUtils.isNotEmpty(requestList)){
+				for(ExperimentalConfigPo po:requestList){
+					//遍历前端传入的数据数据,如果id为空则创建,否则更新
+					List<String> allConfigIds = experimentalDao.getAllConfigIds();
+					if(StringUtils.isNotEmpty(po.getId())){
+						//更新
+						experimentalDao.updateConfigforTarget(po.getId(),po.getTarget(),po.getTargetKey());
+					}else {
+						//创建
+						//该创建只插入target_ 和 target_key_ ,其它内容在配置页面去填写后在更新
+						experimentalDao.createConfigforTarget(po.getTarget(),po.getTargetKey());
+					}
+				}
+
+				//删除操作
+				//查询出t_xnyzpzxx表的所有主键,和传入的id对比,如果在传入id种不存在,则删除操作
+				List<String> allIdList = experimentalDao.getAllConfigIds();
+				List<String> requestIdList = requestList.stream().map(ExperimentalConfigPo::getId).collect(Collectors.toList());
+				List<String> deleteIdList = allIdList.stream().filter(element -> !requestIdList.contains(element)).collect(Collectors.toList());
+				if(CollectionUtils.isNotEmpty(deleteIdList)){
+					String[] deleteIds = deleteIdList.toArray(new String[deleteIdList.size()]);
+					this.remove(deleteIds);
+				}
+
+			}
+			result.setMessage("批量保存性能验证配置成功");
+		}catch (Exception e){
+			setExceptionResult(result, StateEnum.ERROR.getCode(), StateEnum.ERROR.getText(), e);
+			logger.error("",e);
+		}
+		return result;
+	}
 }

+ 7 - 9
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/pv/provider/ExperimentalProvider.java

@@ -7,8 +7,7 @@ import java.util.Map;
 
 import javax.annotation.Resource;
 
-import com.lc.ibps.base.db.model.DefaultQueryFilter;
-import com.lc.ibps.form.dao.ExperimentalDao;
+import com.lc.ibps.form.dao.ExperimentalMapperDao;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -17,7 +16,6 @@ import org.springframework.web.bind.annotation.RequestParam;
 import com.lc.ibps.api.base.constants.StateEnum;
 import com.lc.ibps.api.base.query.QueryFilter;
 import com.lc.ibps.base.core.constants.StringPool;
-import com.lc.ibps.base.core.util.BeanUtils;
 import com.lc.ibps.cloud.entity.APIPageList;
 import com.lc.ibps.cloud.entity.APIRequest;
 import com.lc.ibps.cloud.entity.APIResult;
@@ -50,7 +48,7 @@ public class ExperimentalProvider extends GenericProvider implements IExperiment
 	private ExperimentalRepository experimentalRepository;
 
 	@Autowired
-	private ExperimentalDao experimentalDao;
+	private ExperimentalMapperDao experimentalMapperDao;
 
 	@ApiOperation(value = "性能验证实验信息列表(分页条件查询)数据", notes = "性能验证实验信息列表(分页条件查询)数据")
 	@Override
@@ -142,19 +140,19 @@ public class ExperimentalProvider extends GenericProvider implements IExperiment
 		List<Map<Object,String>> result = new ArrayList<>();
 		switch (level) {
 			case 1:
-				resultList = experimentalDao.treeForLevel1();
+				resultList = experimentalMapperDao.treeForLevel1();
 				break;
 			case 2:
-				resultList = experimentalDao.treeForLevel2(name1);
+				resultList = experimentalMapperDao.treeForLevel2(name1);
 				break;
 			case 3:
-				resultList = experimentalDao.treeForLevel3(name1,name2);
+				resultList = experimentalMapperDao.treeForLevel3(name1,name2);
 				break;
 			case 4:
-				resultList = experimentalDao.treeForLevel4(name1,name2,name3);
+				resultList = experimentalMapperDao.treeForLevel4(name1,name2,name3);
 				break;
 			case 5:
-				result = experimentalDao.treeForLevel5(name1,name2,name3,name4);
+				result = experimentalMapperDao.treeForLevel5(name1,name2,name3,name4);
 				break;
 			default:
 				//apiResult.setState(200);

+ 0 - 2
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/pv/repository/ExperimentalRepository.java

@@ -22,6 +22,4 @@ public interface ExperimentalRepository extends IRepository<String, Experimental
 	 * void
 	 */
 	public ExperimentalPo loadCascade(String id);
-
-	public List<ExperimentalPo> queryByKey(String key);
 }

+ 9 - 9
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/pv/repository/impl/ExperimentalRepositoryImpl.java

@@ -1,6 +1,5 @@
 package com.lc.ibps.components.pv.repository.impl;
 
-import java.util.Collections;
 import java.util.List;
 
 import javax.annotation.Resource;
@@ -8,6 +7,8 @@ import javax.annotation.Resource;
 import com.lc.ibps.components.pv.domain.ExperimentalConfigDetail;
 import com.lc.ibps.components.pv.persistence.entity.ExperimentalConfigDetailPo;
 import com.lc.ibps.components.pv.repository.ExperimentalConfigDetailRepository;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.ApplicationContext;
 import org.springframework.stereotype.Repository;
 
 import com.lc.ibps.base.core.util.string.StringUtil;
@@ -42,15 +43,20 @@ public class ExperimentalRepositoryImpl extends AbstractRepository<String, Exper
 	@Resource
 	private ExperimentalConfigDetailRepository experimentalConfigDetailRepository;
 
+	@Autowired
+	private ApplicationContext applicationContext;
+
 	public Experimental newInstance() {
 		ExperimentalPo po = new ExperimentalPo();
-		Experimental experimental = AppUtil.getBean(Experimental.class);
+		//Experimental experimental = AppUtil.getBean(Experimental.class);
+		Experimental experimental = applicationContext.getBean(Experimental.class);
 		experimental.setData(po);
 		return experimental;
 	}
 
 	public Experimental newInstance(ExperimentalPo po) {
-		Experimental experimental = AppUtil.getBean(Experimental.class);
+		//Experimental experimental = AppUtil.getBean(Experimental.class);
+		Experimental experimental = applicationContext.getBean(Experimental.class);
 		experimental.setData(po);
 		return experimental;
 	} 
@@ -86,10 +92,4 @@ public class ExperimentalRepositoryImpl extends AbstractRepository<String, Exper
 		}
 		return experimentalPo;
 	}
-
-
-	@Override
-	public List<ExperimentalPo> queryByKey(String key) {
-		return experimentalQueryDao.queryByKey(key);
-	}
 }

+ 8 - 1
ibps-provider-root/modules/provider-form/src/main/java/com/lc/ibps/form/dao/ExperimentalDao.java → ibps-provider-root/modules/provider-form/src/main/java/com/lc/ibps/form/dao/ExperimentalMapperDao.java

@@ -8,7 +8,7 @@ import java.util.List;
 import java.util.Map;
 
 @Mapper
-public interface ExperimentalDao {
+public interface ExperimentalMapperDao {
 
     List<String> treeForLevel1();
 
@@ -25,4 +25,11 @@ public interface ExperimentalDao {
                               @Param("name2")String name2,
                               @Param("name3")String name3,
                               @Param("name4")String name4);
+
+    int createConfigforTarget(@Param("target")String target,@Param("targetKey")String targetKey);
+
+
+    int updateConfigforTarget(@Param("id")String id,@Param("target")String target, @Param("targetKey")String targetKey);
+
+    List<String> getAllConfigIds();
 }

+ 25 - 1
ibps-provider-root/modules/provider-form/src/main/resources/com/lc/ibps/form/mapping/ExperimentalDao.map.xml → ibps-provider-root/modules/provider-form/src/main/resources/com/lc/ibps/form/mapping/ExperimentalMapperDao.xml

@@ -1,6 +1,6 @@
 <?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.lc.ibps.form.dao.ExperimentalDao">
+<mapper namespace="com.lc.ibps.form.dao.ExperimentalMapperDao">
     <select id="treeForLevel1"  resultType="string">
         select DISTINCT left(jie_shu_shi_jian_,4) as ID_ from t_xnyzsyxx
     </select>
@@ -64,4 +64,28 @@
         and liu_cheng_shen_pi is not null
         and liu_cheng_shen_pi != ''
     </select>
+
+    <insert id="createConfigforTarget" parameterType="string">
+        insert into t_xnyzpzxx (id_,target_,target_key_)
+        values
+        (
+            (select * from(select ifnull(MAX(CAST(id_ AS UNSIGNED)), 0) + 1 FROM t_xnyzpzxx) as tt),
+            #{target},
+            #{targetKey}
+        )
+    </insert>
+
+    <update id="updateConfigforTarget" parameterType="string">
+        update t_xnyzpzxx set
+        target_ = #{target},
+        target_key_ = #{targetKey},
+        update_time_ = now()
+        where id_ = #{id}
+    </update>
+
+    <select id="getAllConfigIds" resultType="string">
+        select id_ from t_xnyzpzxx
+    </select>
+
+
 </mapper>