Browse Source

企业圈索引

hejq 8 years ago
parent
commit
be4e7ff362

+ 6 - 1
search-api-b2b/src/main/java/com/uas/search/b2b/service/SearchService.java

@@ -181,7 +181,12 @@ public interface SearchService {
 		/**
 		 * 品牌表
 		 */
-		PRODUCT$BRAND("PRODUCT$BRAND");
+		PRODUCT$BRAND("PRODUCT$BRAND"),
+		
+		/**
+		 * 企业圈表
+		 */
+		AC$US$DETAIL("AC$US$DETAIL");
 		// TODO
 
 		private Table_name(String phrase) {

+ 13 - 0
search-console-b2b/src/main/java/com/uas/search/console/b2b/dao/UserSpaceDetailSimpleInfoDao.java

@@ -0,0 +1,13 @@
+package com.uas.search.console.b2b.dao;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+import com.uas.search.console.b2b.model.UserSpaceDetailSimpleInfo;
+
+@Repository
+public interface UserSpaceDetailSimpleInfoDao
+		extends JpaRepository<UserSpaceDetailSimpleInfo, Long>, JpaSpecificationExecutor<UserSpaceDetailSimpleInfo> {
+
+}

+ 115 - 0
search-console-b2b/src/main/java/com/uas/search/console/b2b/model/UserSpaceDetailSimpleInfo.java

@@ -0,0 +1,115 @@
+package com.uas.search.console.b2b.model;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.Table;
+
+/**
+ * 账户中心企业圈
+ * 
+ * @author hejq
+ * @time 创建时间:2017年4月21日
+ */
+@Table(name = UserSpaceDetailSimpleInfo.TABLE_NAME)
+@Entity
+public class UserSpaceDetailSimpleInfo {
+
+	/**
+	 * 表名
+	 */
+	public static final String TABLE_NAME = "AC$US$DETAIL";
+
+	/**
+	 * 字段名
+	 */
+	public static final String NAME_FIELD = "name";
+
+	public static final String SHORTNAME_FIELD = "shortname";
+
+	public static final String INDUSTRY_FIELD = "industry";
+
+	public static final String ID_FIELD = "id";
+	
+	public static final String ADMINNAME_FIELD = "adminname";
+
+	@Id
+	@Column(name = ID_FIELD)
+	private Long id;
+
+	@Column(name = NAME_FIELD)
+	private String name;
+
+	@Column(name = SHORTNAME_FIELD)
+	private String shortname;
+
+	@Column(name = INDUSTRY_FIELD)
+	private String industry;
+
+	@Column(name = ADMINNAME_FIELD)
+	private String adminname;
+
+	public Long getId() {
+		return id;
+	}
+
+	public void setId(Long id) {
+		this.id = id;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public String getShortname() {
+		return shortname;
+	}
+
+	public void setShortname(String shortname) {
+		this.shortname = shortname;
+	}
+
+	public String getIndustry() {
+		return industry;
+	}
+
+	public void setIndustry(String industry) {
+		this.industry = industry;
+	}
+
+	public String getAdminname() {
+		return adminname;
+	}
+
+	public void setAdminname(String adminname) {
+		this.adminname = adminname;
+	}
+
+	/**
+	 * 获取所有可以搜索的字段列名(索引的field名)
+	 * 
+	 * @return 可以搜索的字段列名
+	 */
+	public static List<String> getKeywordFields() {
+		List<String> fields = new ArrayList<>();
+		fields.add(NAME_FIELD);
+		fields.add(SHORTNAME_FIELD);
+		fields.add(INDUSTRY_FIELD);
+		fields.add(ADMINNAME_FIELD);
+		return fields;
+	}
+
+	@Override
+	public String toString() {
+		return "UserSpaceDetailSimpleInfo [id=" + id + ", name=" + name + ", shortname=" + shortname + ", industry="
+				+ industry + ", adminname=" + adminname + "]";
+	}
+
+}

+ 4 - 0
search-console-b2b/src/main/java/com/uas/search/console/b2b/util/ClassAndTableNameUtils.java

@@ -44,6 +44,7 @@ import com.uas.search.console.b2b.dao.PurchaseTenderSimpleInfoDao;
 import com.uas.search.console.b2b.dao.SaleArcheckSimpleInfoDao;
 import com.uas.search.console.b2b.dao.SaleQuotationSimpleInfoDao;
 import com.uas.search.console.b2b.dao.SaleSendSimpleInfoDao;
+import com.uas.search.console.b2b.dao.UserSpaceDetailSimpleInfoDao;
 import com.uas.search.console.b2b.dao.VendorSimpleInfoDao;
 import com.uas.search.console.b2b.model.DeputyOrderSimpleInfo;
 import com.uas.search.console.b2b.model.EnterpriseSearchSimpleInfo;
@@ -75,6 +76,7 @@ import com.uas.search.console.b2b.model.PurchaseTenderSimpleInfo;
 import com.uas.search.console.b2b.model.SaleArcheckSimpleInfo;
 import com.uas.search.console.b2b.model.SaleQuotationSimpleInfo;
 import com.uas.search.console.b2b.model.SaleSendSimpleInfo;
+import com.uas.search.console.b2b.model.UserSpaceDetailSimpleInfo;
 import com.uas.search.console.b2b.model.VendorSimpleInfo;
 
 /**
@@ -130,6 +132,7 @@ public class ClassAndTableNameUtils {
 		entityClasses.add(PagingReleaseDetailSimpleInfo.class);
 		entityClasses.add(VendorSimpleInfo.class);
 		entityClasses.add(ProductBrandSimpleInfo.class);
+		entityClasses.add(UserSpaceDetailSimpleInfo.class);
 		// TODO 其他表
 
 		// entityClasses和entityDaoClasses对于表的添加顺序必须一致
@@ -165,6 +168,7 @@ public class ClassAndTableNameUtils {
 		entityDaoClasses.add(PagingReleaseDetailSimpleInfoDao.class);
 		entityDaoClasses.add(VendorSimpleInfoDao.class);
 		entityDaoClasses.add(ProductBrandSimpleInfoDao.class);
+		entityDaoClasses.add(UserSpaceDetailSimpleInfoDao.class);
 		// TODO 其他表的Dao
 	}
 

+ 37 - 0
search-console-b2b/src/main/java/com/uas/search/console/b2b/util/DocumentToObjectUtils.java

@@ -64,6 +64,7 @@ import com.uas.search.console.b2b.model.SaleQuotationSimpleInfo;
 import com.uas.search.console.b2b.model.SaleSendItemSimpleInfo;
 import com.uas.search.console.b2b.model.SaleSendSimpleInfo;
 import com.uas.search.console.b2b.model.UserSimpleInfo;
+import com.uas.search.console.b2b.model.UserSpaceDetailSimpleInfo;
 import com.uas.search.console.b2b.model.VendorSimpleInfo;
 
 /**
@@ -150,14 +151,50 @@ public class DocumentToObjectUtils {
 			return (T) toVendorSimpleInfo(document);
 		} else if (clazz == ProductBrandSimpleInfo.class) {
 			return (T) toProductBrandSimpleInfo(document);
+		} else if (clazz == UserSpaceDetailSimpleInfo.class) {
+			return (T) toUserSpaceDetail(document);
 		}
 
+
 		// TODO 其他表
 		else {
 			throw new SearchException("不支持将Document转为类型:" + clazz.getName());
 		}
 	}
 
+	private static UserSpaceDetailSimpleInfo toUserSpaceDetail(Document document) {
+		if (document == null) {
+			return null;
+		}
+		Table_name tableName = ClassAndTableNameUtils.toTableName(UserSpaceDetailSimpleInfo.class);
+		UserSpaceDetailSimpleInfo userSpaceDetail = new UserSpaceDetailSimpleInfo();
+		if (null != document.get(ClassAndTableNameUtils.combineField(tableName, UserSpaceDetailSimpleInfo.ID_FIELD))) {
+			userSpaceDetail.setId(Long.valueOf(
+					document.get(ClassAndTableNameUtils.combineField(tableName, UserSpaceDetailSimpleInfo.ID_FIELD))));
+		}
+		if (null != document
+				.get(ClassAndTableNameUtils.combineField(tableName, UserSpaceDetailSimpleInfo.NAME_FIELD))) {
+			userSpaceDetail.setName(
+					document.get(ClassAndTableNameUtils.combineField(tableName, UserSpaceDetailSimpleInfo.NAME_FIELD)));
+		}
+		if (null != document
+				.get(ClassAndTableNameUtils.combineField(tableName, UserSpaceDetailSimpleInfo.SHORTNAME_FIELD))) {
+			userSpaceDetail.setShortname(document
+					.get(ClassAndTableNameUtils.combineField(tableName, UserSpaceDetailSimpleInfo.SHORTNAME_FIELD)));
+		}
+		if (null != document
+				.get(ClassAndTableNameUtils.combineField(tableName, UserSpaceDetailSimpleInfo.INDUSTRY_FIELD))) {
+			userSpaceDetail.setIndustry(document
+					.get(ClassAndTableNameUtils.combineField(tableName, UserSpaceDetailSimpleInfo.INDUSTRY_FIELD)));
+		}
+		if (null != document
+				.get(ClassAndTableNameUtils.combineField(tableName, UserSpaceDetailSimpleInfo.ADMINNAME_FIELD))) {
+			userSpaceDetail.setAdminname(document
+					.get(ClassAndTableNameUtils.combineField(tableName, UserSpaceDetailSimpleInfo.ADMINNAME_FIELD)));
+		}
+		return userSpaceDetail;
+	}
+
 	private static DeputyOrderSimpleInfo toDeputyOrder(Document document) {
 		if (document == null) {
 			return null;

+ 47 - 0
search-console-b2b/src/main/java/com/uas/search/console/b2b/util/ObjectToDocumentUtils.java

@@ -43,6 +43,7 @@ import com.uas.search.console.b2b.model.PurchaseTenderSimpleInfo;
 import com.uas.search.console.b2b.model.SaleArcheckSimpleInfo;
 import com.uas.search.console.b2b.model.SaleQuotationSimpleInfo;
 import com.uas.search.console.b2b.model.SaleSendSimpleInfo;
+import com.uas.search.console.b2b.model.UserSpaceDetailSimpleInfo;
 import com.uas.search.console.b2b.model.VendorSimpleInfo;
 
 import net.sf.ehcache.search.SearchException;
@@ -128,6 +129,8 @@ public class ObjectToDocumentUtils {
 			return toDocument((VendorSimpleInfo) object);
 		} else if (object instanceof ProductBrandSimpleInfo) {
 			return toDocument((ProductBrandSimpleInfo) object);
+		} else if (object instanceof UserSpaceDetailSimpleInfo) {
+			return toDocument((UserSpaceDetailSimpleInfo) object);
 		}
 		// TODO 其他表
 		else {
@@ -1933,4 +1936,48 @@ public class ObjectToDocumentUtils {
 
 		return document;
 	}
+
+	/**
+	 * 将UserSpaceDetailSimpleInfo转成document
+	 * 
+	 * @param userSpaceDetailSimpleInfo
+	 * @return
+	 */
+	public static Document toDocument(UserSpaceDetailSimpleInfo userSpaceDetailSimpleInfo) {
+		if (userSpaceDetailSimpleInfo == null || userSpaceDetailSimpleInfo.getId() == null) {
+			return null;
+		}
+		Table_name tableName = ClassAndTableNameUtils.toTableName(UserSpaceDetailSimpleInfo.class);
+		Document document = new Document();
+		// 不能用LongField,否则后续实时更新索引时,方法updateDocument(new Term("", ""),
+		// doc)无法根据id进行更新
+		document.add(new StringField(ClassAndTableNameUtils.combineField(tableName, UserSpaceDetailSimpleInfo.ID_FIELD),
+				String.valueOf(userSpaceDetailSimpleInfo.getId()), Store.YES));
+		if (null != userSpaceDetailSimpleInfo.getName()) {
+			document.add(new StringField(
+					ClassAndTableNameUtils.combineField(tableName, UserSpaceDetailSimpleInfo.NAME_FIELD),
+					String.valueOf(userSpaceDetailSimpleInfo.getName()), Store.YES));
+		}
+		if (null != userSpaceDetailSimpleInfo.getShortname()) {
+			document.add(new StringField(
+					ClassAndTableNameUtils.combineField(tableName, UserSpaceDetailSimpleInfo.SHORTNAME_FIELD),
+					String.valueOf(userSpaceDetailSimpleInfo.getShortname()), Store.YES));
+		}
+		if (null != userSpaceDetailSimpleInfo.getIndustry()) {
+			document.add(new StringField(
+					ClassAndTableNameUtils.combineField(tableName, UserSpaceDetailSimpleInfo.INDUSTRY_FIELD),
+					String.valueOf(userSpaceDetailSimpleInfo.getIndustry()), Store.YES));
+		}
+		if (null != userSpaceDetailSimpleInfo.getAdminname()) {
+			document.add(new StringField(
+					ClassAndTableNameUtils.combineField(tableName, UserSpaceDetailSimpleInfo.ADMINNAME_FIELD),
+					String.valueOf(userSpaceDetailSimpleInfo.getAdminname()), Store.YES));
+		}
+		// 排序字段
+		document.add(new NumericDocValuesField(
+				ClassAndTableNameUtils.combineField(tableName, UserSpaceDetailSimpleInfo.ID_FIELD),
+				userSpaceDetailSimpleInfo.getId()));
+
+		return document;
+	}
 }