Userspace.java 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587
  1. package com.uas.sso.entity;
  2. import com.alibaba.fastjson.annotation.JSONField;
  3. import java.io.Serializable;
  4. import java.sql.Timestamp;
  5. import java.util.List;
  6. import javax.persistence.*;
  7. import com.uas.sso.core.Const;
  8. import org.codehaus.jackson.annotate.JsonIgnore;
  9. /**
  10. * 企业实体
  11. *
  12. * @author wangmh
  13. * @date 2018/1/4
  14. */
  15. @Entity
  16. @Table(name = "sso$userspace")
  17. public class Userspace implements Serializable {
  18. /**
  19. *
  20. */
  21. private static final long serialVersionUID = 1L;
  22. /**
  23. * 企业uu号
  24. */
  25. @Id
  26. @Column(name = "spaceuu")
  27. private Long spaceUU;
  28. /**
  29. * 企业名称
  30. */
  31. @Column(name = "space_name", nullable = false, unique = true, length = 99)
  32. private String spaceName;
  33. /**
  34. * 法定代表人
  35. */
  36. @Column(name = "corporation", length = 20)
  37. private String corporation;
  38. /**
  39. * 注册日期
  40. */
  41. @Column(name = "space_register_date")
  42. private Timestamp registerDate;
  43. /**
  44. * 管理员uu号
  45. */
  46. @Column(name = "adminuu")
  47. private Long adminUU;
  48. /**
  49. * 管理员
  50. */
  51. @ManyToOne(cascade = {CascadeType.MERGE, CascadeType.REFRESH})
  52. @JoinColumn(name = "adminuu", insertable=false, updatable=false)
  53. private User admin;
  54. /**
  55. * 营业执照号
  56. */
  57. @Column(name = "business_code", unique = true, length = 100)
  58. private String businessCode;
  59. /**
  60. * 营业执照
  61. */
  62. @Column(name = "business_code_image")
  63. private String businessCodeImage;
  64. /**
  65. * 注册地址
  66. */
  67. @Column(name = "reg_address")
  68. private String regAddress;
  69. /**
  70. * 注册地址所在省份、州、直辖市、行政区
  71. */
  72. @Column(name = "reg_province", length = 50)
  73. private String regProvince;
  74. /**
  75. * 注册地址所在城市
  76. */
  77. @Column(name = "reg_city", length = 50)
  78. private String regCity;
  79. /**
  80. * 注册地址所在区域
  81. */
  82. @Column(name = "reg_district", length = 50)
  83. private String regDistrict;
  84. /**
  85. * 注册地址所在街道
  86. */
  87. @Column(name = "reg_street", length = 200)
  88. private String regStreet;
  89. /**
  90. * 公司地址经度
  91. */
  92. @Column(name = "company_longitude", length = 50)
  93. private String companyLongitude;
  94. /**
  95. * 公司地址纬度
  96. */
  97. @Column(name = "company_latitude", length = 50)
  98. private String companyLatitude;
  99. /**
  100. * 公司所在国家
  101. */
  102. @Column(name = "company_country", length = 50)
  103. private String companyCountry;
  104. /**
  105. * 公司所在省份、州、直辖市、行政区
  106. */
  107. @Column(name = "company_province", length = 50)
  108. private String companyProvince;
  109. /**
  110. * 公司所在城市
  111. */
  112. @Column(name = "company_city")
  113. private String companyCity;
  114. /**
  115. * 公司地址
  116. */
  117. @Column(name = "company_address")
  118. private String companyAddress;
  119. /**
  120. * 企业信息认证状态
  121. */
  122. @Column(name = "valid_code", nullable = false)
  123. private Short validCode;
  124. /**
  125. * logo图片
  126. */
  127. @Column(name = "logo_image")
  128. private String logoImage;
  129. /**
  130. * 企业联系电话
  131. */
  132. @Column(name = "telephone", length = 20)
  133. private String telephone;
  134. /**
  135. * 主营业务范围
  136. */
  137. @Column(name = "main_business")
  138. private String mainBusiness;
  139. /**
  140. * 对公银行账户
  141. */
  142. @Column(name = "bank_account")
  143. private String bankAccount;
  144. /**
  145. * 对公银行账户开户行
  146. */
  147. @Column(name = "bank")
  148. private String bank;
  149. /**
  150. * 企业域名
  151. */
  152. @Column(name = "domain")
  153. private String domain;
  154. /**
  155. * 行业
  156. */
  157. @Column(name = "profession")
  158. private String profession;
  159. /**
  160. * 经营范围标签,逗号分隔
  161. */
  162. @Column(name = "tags")
  163. private String tags;
  164. /**
  165. * 企业注册地区
  166. */
  167. @Column(name = "area")
  168. private String area;
  169. /**
  170. * 邀请人企业uu号
  171. */
  172. @Column(name = "invite_space_uu")
  173. private Long inviteSpaceUU;
  174. /**
  175. * 邀请人uu号
  176. */
  177. @Column(name = "invite_user_uu")
  178. private Long inviteUserUU;
  179. /**
  180. * 私钥
  181. */
  182. @Column(name = "access_secret")
  183. private String accessSecret;
  184. /**
  185. * 企业对应erp的地址
  186. */
  187. @Column(name = "website")
  188. private String website;
  189. /**
  190. * 企业下的用户
  191. */
  192. @com.fasterxml.jackson.annotation.JsonIgnore
  193. @ManyToMany
  194. @JoinTable(name = "sso$user_userspace",
  195. joinColumns = {@JoinColumn(name="space_uu", referencedColumnName="spaceuu")},
  196. inverseJoinColumns = {@JoinColumn(name="user_uu", referencedColumnName="useruu")})
  197. private List<User> users;
  198. /**
  199. * 企业开通的应用
  200. */
  201. @ManyToMany(fetch = FetchType.LAZY)
  202. @JoinTable(name = "sso$app_userspace",
  203. joinColumns = {@JoinColumn(name="space_uu", referencedColumnName="spaceuu")},
  204. inverseJoinColumns = {@JoinColumn(name="app_uid", referencedColumnName="uid_")})
  205. private List<App> apps;
  206. public Userspace() {
  207. }
  208. public Userspace(Long spaceUU) {
  209. this.spaceUU = spaceUU;
  210. }
  211. public Userspace(String spaceName) {
  212. this.spaceName = spaceName;
  213. }
  214. public Long getSpaceUU() {
  215. return spaceUU;
  216. }
  217. public void setSpaceUU(Long spaceUU) {
  218. this.spaceUU = spaceUU;
  219. }
  220. public String getSpaceName() {
  221. if (spaceName.contains(Const.REPEAT_SEPARATOR)) {
  222. return spaceName.substring(0, spaceName.indexOf(Const.REPEAT_SEPARATOR));
  223. }
  224. return spaceName;
  225. }
  226. public void setSpaceName(String spaceName) {
  227. this.spaceName = spaceName;
  228. }
  229. public String getCorporation() {
  230. return corporation;
  231. }
  232. public void setCorporation(String corporation) {
  233. this.corporation = corporation;
  234. }
  235. public Timestamp getRegisterDate() {
  236. return registerDate;
  237. }
  238. public void setRegisterDate(Timestamp registerDate) {
  239. this.registerDate = registerDate;
  240. }
  241. public Long getAdminUU() {
  242. return adminUU;
  243. }
  244. public void setAdminUU(Long adminUU) {
  245. this.adminUU = adminUU;
  246. }
  247. public User getAdmin() {
  248. return admin;
  249. }
  250. public void setAdmin(User admin) {
  251. this.admin = admin;
  252. }
  253. public String getBusinessCode() {
  254. if (businessCode.contains(Const.REPEAT_SEPARATOR)) {
  255. return businessCode.substring(0, businessCode.indexOf(Const.REPEAT_SEPARATOR));
  256. }
  257. return businessCode;
  258. }
  259. public void setBusinessCode(String businessCode) {
  260. this.businessCode = businessCode;
  261. }
  262. public String getBusinessCodeImage() {
  263. return businessCodeImage;
  264. }
  265. public void setBusinessCodeImage(String businessCodeImage) {
  266. this.businessCodeImage = businessCodeImage;
  267. }
  268. public String getRegAddress() {
  269. return regAddress;
  270. }
  271. public void setRegAddress(String regAddress) {
  272. this.regAddress = regAddress;
  273. }
  274. public String getRegProvince() {
  275. return regProvince;
  276. }
  277. public void setRegProvince(String regProvince) {
  278. this.regProvince = regProvince;
  279. }
  280. public String getRegCity() {
  281. return regCity;
  282. }
  283. public void setRegCity(String regCity) {
  284. this.regCity = regCity;
  285. }
  286. public String getRegDistrict() {
  287. return regDistrict;
  288. }
  289. public void setRegDistrict(String regDistrict) {
  290. this.regDistrict = regDistrict;
  291. }
  292. public String getRegStreet() {
  293. return regStreet;
  294. }
  295. public void setRegStreet(String regStreet) {
  296. this.regStreet = regStreet;
  297. }
  298. public String getCompanyLongitude() {
  299. return companyLongitude;
  300. }
  301. public void setCompanyLongitude(String companyLongitude) {
  302. this.companyLongitude = companyLongitude;
  303. }
  304. public String getCompanyLatitude() {
  305. return companyLatitude;
  306. }
  307. public void setCompanyLatitude(String companyLatitude) {
  308. this.companyLatitude = companyLatitude;
  309. }
  310. public String getCompanyCountry() {
  311. return companyCountry;
  312. }
  313. public void setCompanyCountry(String companyCountry) {
  314. this.companyCountry = companyCountry;
  315. }
  316. public String getCompanyProvince() {
  317. return companyProvince;
  318. }
  319. public void setCompanyProvince(String companyProvince) {
  320. this.companyProvince = companyProvince;
  321. }
  322. public String getCompanyCity() {
  323. return companyCity;
  324. }
  325. public void setCompanyCity(String companyCity) {
  326. this.companyCity = companyCity;
  327. }
  328. public String getCompanyAddress() {
  329. return companyAddress;
  330. }
  331. public void setCompanyAddress(String companyAddress) {
  332. this.companyAddress = companyAddress;
  333. }
  334. public Short getValidCode() {
  335. return validCode;
  336. }
  337. public void setValidCode(Short validCode) {
  338. this.validCode = validCode;
  339. }
  340. public String getLogoImage() {
  341. return logoImage;
  342. }
  343. public void setLogoImage(String logoImage) {
  344. this.logoImage = logoImage;
  345. }
  346. public String getTelephone() {
  347. return telephone;
  348. }
  349. public void setTelephone(String telephone) {
  350. this.telephone = telephone;
  351. }
  352. public String getMainBusiness() {
  353. return mainBusiness;
  354. }
  355. public void setMainBusiness(String mainBusiness) {
  356. this.mainBusiness = mainBusiness;
  357. }
  358. public String getBankAccount() {
  359. return bankAccount;
  360. }
  361. public void setBankAccount(String bankAccount) {
  362. this.bankAccount = bankAccount;
  363. }
  364. public String getBank() {
  365. return bank;
  366. }
  367. public void setBank(String bank) {
  368. this.bank = bank;
  369. }
  370. public String getDomain() {
  371. return domain;
  372. }
  373. public void setDomain(String domain) {
  374. this.domain = domain;
  375. }
  376. @JsonIgnore
  377. @JSONField(serialize = false)
  378. public List<User> getUsers() {
  379. return users;
  380. }
  381. public void setUsers(List<User> users) {
  382. this.users = users;
  383. }
  384. @JsonIgnore
  385. @JSONField(serialize = false)
  386. public List<App> getApps() {
  387. return apps;
  388. }
  389. public void setApps(List<App> apps) {
  390. this.apps = apps;
  391. }
  392. public String getProfession() {
  393. return profession;
  394. }
  395. public void setProfession(String profession) {
  396. this.profession = profession;
  397. }
  398. public String getTags() {
  399. return tags;
  400. }
  401. public void setTags(String tags) {
  402. this.tags = tags;
  403. }
  404. public String getArea() {
  405. return area;
  406. }
  407. public void setArea(String area) {
  408. this.area = area;
  409. }
  410. public Long getInviteSpaceUU() {
  411. return inviteSpaceUU;
  412. }
  413. public void setInviteSpaceUU(Long inviteSpaceUU) {
  414. this.inviteSpaceUU = inviteSpaceUU;
  415. }
  416. public Long getInviteUserUU() {
  417. return inviteUserUU;
  418. }
  419. public void setInviteUserUU(Long inviteUserUU) {
  420. this.inviteUserUU = inviteUserUU;
  421. }
  422. @JsonIgnore
  423. @JSONField(serialize = false)
  424. public String getAccessSecret() {
  425. return accessSecret;
  426. }
  427. public void setAccessSecret(String accessSecret) {
  428. this.accessSecret = accessSecret;
  429. }
  430. public String getWebsite() {
  431. return website;
  432. }
  433. public void setWebsite(String website) {
  434. this.website = website;
  435. }
  436. /**
  437. * 将企业信息变成视图
  438. * @return
  439. */
  440. public UserSpaceView toView() {
  441. UserSpaceView userSpaceView = new UserSpaceView();
  442. userSpaceView.setSpaceUU(this.getSpaceUU());
  443. userSpaceView.setSpaceName(this.getSpaceName());
  444. userSpaceView.setCorporation(this.getCorporation());
  445. userSpaceView.setRegisterDate(this.getRegisterDate());
  446. userSpaceView.setAdmin(this.getAdmin().toView());
  447. userSpaceView.setBusinessCode(this.getBusinessCode());
  448. userSpaceView.setBusinessCodeImage(this.getBusinessCodeImage());
  449. userSpaceView.setRegAddress(this.getRegAddress());
  450. userSpaceView.setValidCode(this.getValidCode());
  451. userSpaceView.setLogoImage(this.getLogoImage());
  452. userSpaceView.setTelephone(this.getTelephone());
  453. userSpaceView.setProfession(this.getProfession());
  454. userSpaceView.setTags(this.getTags());
  455. userSpaceView.setArea(this.getArea());
  456. return userSpaceView;
  457. }
  458. @Override
  459. public boolean equals(Object o) {
  460. if (this == o) return true;
  461. if (o == null || getClass() != o.getClass()) return false;
  462. Userspace userspace = (Userspace) o;
  463. return spaceUU.equals(userspace.spaceUU);
  464. }
  465. @Override
  466. public int hashCode() {
  467. return spaceUU.hashCode();
  468. }
  469. }