ZhaoBiaoExtraction.java 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316
  1. package com.bidizhaobiao.data.bigdata.base.entity.mongo;
  2. import org.bson.types.ObjectId;
  3. import org.mongodb.morphia.annotations.Entity;
  4. import org.mongodb.morphia.annotations.Id;
  5. import org.mongodb.morphia.annotations.Property;
  6. import java.lang.reflect.Field;
  7. import java.lang.reflect.Method;
  8. @Entity(value = "zhaobiao_extraction", noClassnameStored = true)
  9. public class ZhaoBiaoExtraction {
  10. @Id
  11. private ObjectId id;
  12. // 项目名称
  13. @Property("project_name")
  14. private String projectName;
  15. // 项目编号
  16. @Property("project_code")
  17. private String projectCode;
  18. // 项目地址
  19. @Property("project_addr")
  20. private String projectAddr;
  21. // 公告文档发布日期
  22. @Property("page_time")
  23. private String pageTime;
  24. // 项目归属地区
  25. @Property("area")
  26. private String area;
  27. // 项目归属省份
  28. @Property("province")
  29. private String province;
  30. // 项目归属城市
  31. @Property("city")
  32. private String city;
  33. // 项目归属区县
  34. @Property("district")
  35. private String district;
  36. // 项目归属行业分类(小类)
  37. @Property("industry")
  38. private String industry;
  39. // 项目归属行业分类(大类)
  40. @Property("info_type")
  41. private String infoType;
  42. // 招标预算(或招标控制价)
  43. @Property("bidding_budget")
  44. private String biddingBudget;
  45. // 文章UUID
  46. @Property("document_id")
  47. private String documentId;
  48. // 文章标题(源标题)
  49. @Property("document_title")
  50. private String documentTitle;
  51. // 招标人
  52. @Property("tenderee")
  53. private String tenderee;
  54. // 招标人地址
  55. @Property("tenderee_addr")
  56. private String tendereeAddr;
  57. // 招标人电话
  58. @Property("tenderee_phone")
  59. private String tendereePhone;
  60. // 招标联系人
  61. @Property("tenderee_contact")
  62. private String tendereeContact;
  63. // 代理机构
  64. @Property("agency")
  65. private String agency;
  66. // 代理机构电话
  67. @Property("agency_phone")
  68. private String agencyPhone;
  69. // 代理联系人
  70. @Property("agency_contact")
  71. private String agencyContact;
  72. // 项目子名称
  73. @Property("sub_project_name")
  74. private String subProjectName;
  75. // 项目子编号
  76. @Property("sub_project_code")
  77. private String subProjectCode;
  78. private String upgradeStatus; // 这个属性用于旧数据的升级(null和0:待升级、-1:升级中、1:已升级)
  79. private String docId; // 公告id
  80. public ObjectId getId() {
  81. return id;
  82. }
  83. public void setId(ObjectId id) {
  84. this.id = id;
  85. }
  86. public String getProjectName() {
  87. return projectName;
  88. }
  89. public void setProjectName(String projectName) {
  90. this.projectName = projectName;
  91. }
  92. public String getProjectCode() {
  93. return projectCode;
  94. }
  95. public void setProjectCode(String projectCode) {
  96. this.projectCode = projectCode;
  97. }
  98. public String getProjectAddr() {
  99. return projectAddr;
  100. }
  101. public void setProjectAddr(String projectAddr) {
  102. this.projectAddr = projectAddr;
  103. }
  104. public String getPageTime() {
  105. return pageTime;
  106. }
  107. public void setPageTime(String pageTime) {
  108. this.pageTime = pageTime;
  109. }
  110. public String getProvince() {
  111. return province;
  112. }
  113. public void setProvince(String province) {
  114. this.province = province;
  115. }
  116. public String getIndustry() {
  117. return industry;
  118. }
  119. public void setIndustry(String industry) {
  120. this.industry = industry;
  121. }
  122. public String getBiddingBudget() {
  123. return biddingBudget;
  124. }
  125. public void setBiddingBudget(String biddingBudget) {
  126. this.biddingBudget = biddingBudget;
  127. }
  128. public String getDocumentId() {
  129. return documentId;
  130. }
  131. public void setDocumentId(String documentId) {
  132. this.documentId = documentId;
  133. }
  134. public String getDocumentTitle() {
  135. return documentTitle;
  136. }
  137. public void setDocumentTitle(String documentTitle) {
  138. this.documentTitle = documentTitle;
  139. }
  140. public String getTenderee() {
  141. return tenderee;
  142. }
  143. public void setTenderee(String tenderee) {
  144. this.tenderee = tenderee;
  145. }
  146. public String getTendereeAddr() {
  147. return tendereeAddr;
  148. }
  149. public void setTendereeAddr(String tendereeAddr) {
  150. this.tendereeAddr = tendereeAddr;
  151. }
  152. public String getTendereePhone() {
  153. return tendereePhone;
  154. }
  155. public void setTendereePhone(String tendereePhone) {
  156. this.tendereePhone = tendereePhone;
  157. }
  158. public String getTendereeContact() {
  159. return tendereeContact;
  160. }
  161. public void setTendereeContact(String tendereeContact) {
  162. this.tendereeContact = tendereeContact;
  163. }
  164. public String getAgency() {
  165. return agency;
  166. }
  167. public void setAgency(String agency) {
  168. this.agency = agency;
  169. }
  170. public String getAgencyPhone() {
  171. return agencyPhone;
  172. }
  173. public void setAgencyPhone(String agencyPhone) {
  174. this.agencyPhone = agencyPhone;
  175. }
  176. public String getAgencyContact() {
  177. return agencyContact;
  178. }
  179. public void setAgencyContact(String agencyContact) {
  180. this.agencyContact = agencyContact;
  181. }
  182. public String getSubProjectName() {
  183. return subProjectName;
  184. }
  185. public void setSubProjectName(String subProjectName) {
  186. this.subProjectName = subProjectName;
  187. }
  188. public String getSubProjectCode() {
  189. return subProjectCode;
  190. }
  191. public void setSubProjectCode(String subProjectCode) {
  192. this.subProjectCode = subProjectCode;
  193. }
  194. public String getInfoType() {
  195. return infoType;
  196. }
  197. public void setInfoType(String infoType) {
  198. this.infoType = infoType;
  199. }
  200. public String getArea() {
  201. return area;
  202. }
  203. public void setArea(String area) {
  204. this.area = area;
  205. }
  206. public String getCity() {
  207. return city;
  208. }
  209. public void setCity(String city) {
  210. this.city = city;
  211. }
  212. public String getDistrict() {
  213. return district;
  214. }
  215. public void setDistrict(String district) {
  216. this.district = district;
  217. }
  218. public String getDocId() {
  219. return docId;
  220. }
  221. public void setDocId(String docId) {
  222. this.docId = docId;
  223. }
  224. public String getUpgradeStatus() {
  225. return upgradeStatus;
  226. }
  227. public void setUpgradeStatus(String upgradeStatus) {
  228. this.upgradeStatus = upgradeStatus;
  229. }
  230. public void addAll(ZhaoBiaoExtraction zhaoBiaoExtraction) {
  231. try {
  232. Field[] newFields = zhaoBiaoExtraction.getClass().getDeclaredFields();
  233. Field[] thisFields = this.getClass().getDeclaredFields();
  234. for (Field newField : newFields) {
  235. String newFieldName = newField.getName();
  236. if (newFieldName.equals("id")) {
  237. continue;
  238. }
  239. for (Field thisField : thisFields) {
  240. String thisFieldName = thisField.getName();
  241. if (thisFieldName.equals(newFieldName)) {
  242. thisField.setAccessible(true);
  243. newField.setAccessible(true);
  244. if (newField.get(zhaoBiaoExtraction) != null) {
  245. Method thisMethod = this.getClass().getMethod("set" + thisFieldName.substring(0, 1).toUpperCase() + thisFieldName.substring(1), newField.getType());
  246. thisMethod.invoke(this, newField.get(zhaoBiaoExtraction));
  247. }
  248. break;
  249. }
  250. }
  251. }
  252. } catch(Exception e) {
  253. e.printStackTrace();
  254. }
  255. }
  256. }