Antiloveg 8 years ago
parent
commit
e9582c4c35

+ 8 - 3
src/main/java/com/goafanti/admin/controller/AdminDemandApiController.java

@@ -32,6 +32,7 @@ import com.goafanti.common.enums.DeleteStatus;
 import com.goafanti.common.enums.DemandAuditStatus;
 import com.goafanti.common.enums.DemandDataCategory;
 import com.goafanti.common.enums.DemandFields;
+import com.goafanti.common.enums.DemandImportFields;
 import com.goafanti.common.model.AftFile;
 import com.goafanti.common.model.Demand;
 import com.goafanti.common.utils.LoggerUtils;
@@ -496,22 +497,26 @@ public class AdminDemandApiController extends CertifyApiController {
 		Field[] field = DemandImportBo.class.getDeclaredFields();
 		for (DemandImportBo bo : data) {
 			for (Field f : field) {
-				f.setAccessible(true);
 				try {
-					if (!f.getName().equals("keywords") && (f.get(bo) == null || "".equals(f.get(bo)))) {
+					Object fo = f.get(bo);
+					f.setAccessible(true);
+					String fn = f.getName();
+					if (!fn.equals("keywords") && (fo == null || "".equals(fo))) {
 						res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "",
-								AchievementImportFields.getFieldDesc(f.getName())));
+								DemandImportFields.getFieldDesc(fn)));
 						return res;
 					}
 				} catch (IllegalArgumentException | IllegalAccessException e) {
 				}
 			}
+
 			String[] keywords = bo.getKeyword().trim().split(",|,");
 			if (null == keywords || keywords.length < 1) {
 				res.getError()
 						.add(buildError(ErrorConstants.PARAM_ERROR, "", AchievementImportFields.KEYWORD.getDesc()));
 				return res;
 			}
+
 			List<String> list = new ArrayList<>();
 			for (String s : keywords) {
 				if (!StringUtils.isBlank(s)) {

+ 59 - 0
src/main/java/com/goafanti/common/enums/DemandImportFields.java

@@ -0,0 +1,59 @@
+package com.goafanti.common.enums;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public enum DemandImportFields {
+	DATACATEGORY("dataCategory", " 数据类别"),
+	NAME("name", "科技成果名称"),
+	KEYWORD("keyword", "关键词"),
+	DEMANDTYPE("demandType", "需求类型"),
+	PROBLEMDES("problemDes", "问题说明"),
+	EMPLOYERNAME("employerName", "雇主名称"),
+	EMPLOYERCONTACTS("employerContacts", "雇主联系人名称"),
+	
+	EMPLOYERCONTACTSMOBILE("employerContactsMobile", "雇主联系人电话"),
+	EMPLOYERCONTACTSMAILBOX("employerContactsMailbox", "雇主联系人邮箱"),
+	
+	OTHER("", "未知参数");
+	
+	private String	code;
+	private String	desc;
+	
+	private static Map<String, DemandImportFields> status = new HashMap<String, DemandImportFields>();
+	
+	private DemandImportFields(String code, String desc) {
+		this.code = code;
+		this.desc = desc;
+	}
+	
+	static {
+		for (DemandImportFields value : DemandImportFields.values()) {
+			status.put(value.getCode(), value);
+		}
+	}
+	
+	public static DemandImportFields getField(String code) {
+		if (containsType(code)) {
+			return status.get(code);
+		}
+		return OTHER;
+	}
+	
+	public static String getFieldDesc(String code) {
+		return getField(code).getDesc();
+	}
+
+	public static boolean containsType(String code) {
+		return status.containsKey(code);
+	}
+	
+	public String getCode() {
+		return code;
+	}
+
+	public String getDesc() {
+		return desc;
+	}
+
+}