ZhongBiaoExtraction.java 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446
  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 = "zhongbiao_extraction", noClassnameStored = true)
  9. public class ZhongBiaoExtraction {
  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. // 文章UUID
  43. @Property("document_id")
  44. private String documentId;
  45. // 文章标题(源标题)
  46. @Property("document_title")
  47. private String documentTitle;
  48. // 招标人
  49. @Property("tenderee")
  50. private String tenderee;
  51. // 招标人地址
  52. @Property("tenderee_addr")
  53. private String tendereeAddr;
  54. // 招标人电话
  55. @Property("tenderee_phone")
  56. private String tendereePhone;
  57. // 招标联系人
  58. @Property("tenderee_contact")
  59. private String tendereeContact;
  60. // 代理机构
  61. @Property("agency")
  62. private String agency;
  63. // 代理机构电话
  64. @Property("agency_phone")
  65. private String agencyPhone;
  66. // 代理联系人
  67. @Property("agency_contact")
  68. private String agencyContact;
  69. // 项目子名称
  70. @Property("sub_project_name")
  71. private String subProjectName;
  72. // 项目子编号
  73. @Property("sub_project_code")
  74. private String subProjectCode;
  75. // 中标人
  76. @Property("win_tenderer")
  77. private String winTenderer;
  78. // 中标价
  79. @Property("win_bid_price")
  80. private String winBidPrice;
  81. // 中标人联系人
  82. @Property("win_tenderer_manager")
  83. private String winTendererManager;
  84. // 中标人联系人电话
  85. @Property("win_tenderer_phone")
  86. private String winTendererPhone;
  87. // 第二中标人
  88. @Property("second_tenderer")
  89. private String secondTenderer;
  90. // 第二中标价
  91. @Property("second_bid_price")
  92. private String secondBidPrice;
  93. // 第二中标人联系人
  94. @Property("second_tenderer_manager")
  95. private String secondTendererManager;
  96. // 第二中标人联系人
  97. @Property("second_tenderer_phone")
  98. private String secondTendererPhone;
  99. // 第三中标人
  100. @Property("third_tenderer")
  101. private String thirdTenderer;
  102. // 第三中标价
  103. @Property("third_bid_price")
  104. private String thirdBidPrice;
  105. // 第三中标人联系人
  106. @Property("third_tenderer_manager")
  107. private String thirdTendererManager;
  108. // 第三中标人联系人
  109. @Property("third_tenderer_Phone")
  110. private String thirdTendererPhone;
  111. // 是否废标
  112. @Property("is_effective")
  113. private boolean isEffective;
  114. /**
  115. * 公告id
  116. */
  117. private String docId;
  118. private String upgradeStatus; // 这个属性用于旧数据的升级(null和0:待升级、-1:升级中、1:已升级)
  119. public ObjectId getId() {
  120. return id;
  121. }
  122. public void setId(ObjectId id) {
  123. this.id = id;
  124. }
  125. public String getProjectName() {
  126. return projectName;
  127. }
  128. public void setProjectName(String projectName) {
  129. this.projectName = projectName;
  130. }
  131. public String getProjectCode() {
  132. return projectCode;
  133. }
  134. public void setProjectCode(String projectCode) {
  135. this.projectCode = projectCode;
  136. }
  137. public String getProjectAddr() {
  138. return projectAddr;
  139. }
  140. public void setProjectAddr(String projectAddr) {
  141. this.projectAddr = projectAddr;
  142. }
  143. public String getPageTime() {
  144. return pageTime;
  145. }
  146. public void setPageTime(String pageTime) {
  147. this.pageTime = pageTime;
  148. }
  149. public String getProvince() {
  150. return province;
  151. }
  152. public void setProvince(String province) {
  153. this.province = province;
  154. }
  155. public String getIndustry() {
  156. return industry;
  157. }
  158. public void setIndustry(String industry) {
  159. this.industry = industry;
  160. }
  161. public String getDocumentId() {
  162. return documentId;
  163. }
  164. public void setDocumentId(String documentId) {
  165. this.documentId = documentId;
  166. }
  167. public String getDocumentTitle() {
  168. return documentTitle;
  169. }
  170. public void setDocumentTitle(String documentTitle) {
  171. this.documentTitle = documentTitle;
  172. }
  173. public String getTenderee() {
  174. return tenderee;
  175. }
  176. public void setTenderee(String tenderee) {
  177. this.tenderee = tenderee;
  178. }
  179. public String getTendereeAddr() {
  180. return tendereeAddr;
  181. }
  182. public void setTendereeAddr(String tendereeAddr) {
  183. this.tendereeAddr = tendereeAddr;
  184. }
  185. public String getTendereePhone() {
  186. return tendereePhone;
  187. }
  188. public void setTendereePhone(String tendereePhone) {
  189. this.tendereePhone = tendereePhone;
  190. }
  191. public String getTendereeContact() {
  192. return tendereeContact;
  193. }
  194. public void setTendereeContact(String tendereeContact) {
  195. this.tendereeContact = tendereeContact;
  196. }
  197. public String getAgency() {
  198. return agency;
  199. }
  200. public void setAgency(String agency) {
  201. this.agency = agency;
  202. }
  203. public String getAgencyPhone() {
  204. return agencyPhone;
  205. }
  206. public void setAgencyPhone(String agencyPhone) {
  207. this.agencyPhone = agencyPhone;
  208. }
  209. public String getAgencyContact() {
  210. return agencyContact;
  211. }
  212. public void setAgencyContact(String agencyContact) {
  213. this.agencyContact = agencyContact;
  214. }
  215. public String getSubProjectName() {
  216. return subProjectName;
  217. }
  218. public void setSubProjectName(String subProjectName) {
  219. this.subProjectName = subProjectName;
  220. }
  221. public String getSubProjectCode() {
  222. return subProjectCode;
  223. }
  224. public void setSubProjectCode(String subProjectCode) {
  225. this.subProjectCode = subProjectCode;
  226. }
  227. public String getWinTenderer() {
  228. return winTenderer;
  229. }
  230. public void setWinTenderer(String winTenderer) {
  231. this.winTenderer = winTenderer;
  232. }
  233. public String getWinBidPrice() {
  234. return winBidPrice;
  235. }
  236. public void setWinBidPrice(String winBidPrice) {
  237. this.winBidPrice = winBidPrice;
  238. }
  239. public String getWinTendererManager() {
  240. return winTendererManager;
  241. }
  242. public void setWinTendererManager(String winTendererManager) {
  243. this.winTendererManager = winTendererManager;
  244. }
  245. public String getSecondTenderer() {
  246. return secondTenderer;
  247. }
  248. public void setSecondTenderer(String secondTenderer) {
  249. this.secondTenderer = secondTenderer;
  250. }
  251. public String getSecondBidPrice() {
  252. return secondBidPrice;
  253. }
  254. public void setSecondBidPrice(String secondBidPrice) {
  255. this.secondBidPrice = secondBidPrice;
  256. }
  257. public String getSecondTendererManager() {
  258. return secondTendererManager;
  259. }
  260. public void setSecondTendererManager(String secondTendererManager) {
  261. this.secondTendererManager = secondTendererManager;
  262. }
  263. public String getThirdTenderer() {
  264. return thirdTenderer;
  265. }
  266. public void setThirdTenderer(String thirdTenderer) {
  267. this.thirdTenderer = thirdTenderer;
  268. }
  269. public String getThirdBidPrice() {
  270. return thirdBidPrice;
  271. }
  272. public void setThirdBidPrice(String thirdBidPrice) {
  273. this.thirdBidPrice = thirdBidPrice;
  274. }
  275. public String getThirdTendererManager() {
  276. return thirdTendererManager;
  277. }
  278. public void setThirdTendererManager(String thirdTendererManager) {
  279. this.thirdTendererManager = thirdTendererManager;
  280. }
  281. public void setIsEffective(boolean isEffective) {
  282. this.isEffective = isEffective;
  283. }
  284. public String getInfoType() {
  285. return infoType;
  286. }
  287. public void setInfoType(String infoType) {
  288. this.infoType = infoType;
  289. }
  290. public String getArea() {
  291. return area;
  292. }
  293. public void setArea(String area) {
  294. this.area = area;
  295. }
  296. public String getCity() {
  297. return city;
  298. }
  299. public void setCity(String city) {
  300. this.city = city;
  301. }
  302. public String getDistrict() {
  303. return district;
  304. }
  305. public void setDistrict(String district) {
  306. this.district = district;
  307. }
  308. public String getWinTendererPhone() {
  309. return winTendererPhone;
  310. }
  311. public void setWinTendererPhone(String winTendererPhone) {
  312. this.winTendererPhone = winTendererPhone;
  313. }
  314. public String getSecondTendererPhone() {
  315. return secondTendererPhone;
  316. }
  317. public void setSecondTendererPhone(String secondTendererPhone) {
  318. this.secondTendererPhone = secondTendererPhone;
  319. }
  320. public String getThirdTendererPhone() {
  321. return thirdTendererPhone;
  322. }
  323. public void setThirdTendererPhone(String thirdTendererPhone) {
  324. this.thirdTendererPhone = thirdTendererPhone;
  325. }
  326. public String getDocId() {
  327. return docId;
  328. }
  329. public void setDocId(String docId) {
  330. this.docId = docId;
  331. }
  332. public String getUpgradeStatus() {
  333. return upgradeStatus;
  334. }
  335. public void setUpgradeStatus(String upgradeStatus) {
  336. this.upgradeStatus = upgradeStatus;
  337. }
  338. public void addAll(ZhongBiaoExtraction zhongBiaoExtraction) {
  339. try {
  340. Field[] newFields = zhongBiaoExtraction.getClass().getDeclaredFields();
  341. Field[] thisFields = this.getClass().getDeclaredFields();
  342. for (Field newField : newFields) {
  343. String newFieldName = newField.getName();
  344. if (newFieldName.equals("id")) {
  345. continue;
  346. }
  347. for (Field thisField : thisFields) {
  348. String thisFieldName = thisField.getName();
  349. if (thisFieldName.equals(newFieldName)) {
  350. thisField.setAccessible(true);
  351. newField.setAccessible(true);
  352. if (newField.get(zhongBiaoExtraction) != null) {
  353. Method thisMethod = this.getClass().getMethod("set" + thisFieldName.substring(0, 1).toUpperCase() + thisFieldName.substring(1), newField.getType());
  354. thisMethod.invoke(this, newField.get(zhongBiaoExtraction));
  355. }
  356. break;
  357. }
  358. }
  359. }
  360. } catch(Exception e) {
  361. e.printStackTrace();
  362. }
  363. }
  364. }