HpRewardPositionAPI.java 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593
  1. /**
  2. * Copyright &copy; 2015-2020 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
  3. */
  4. package com.jeeplus.modules.api.hpposition.entity;
  5. import com.fasterxml.jackson.annotation.JsonFormat;
  6. import com.jeeplus.common.utils.StringUtils;
  7. import com.jeeplus.common.utils.excel.annotation.ExcelField;
  8. import com.jeeplus.core.persistence.DataEntity;
  9. import com.jeeplus.modules.hpcompany.entity.HpCompany;
  10. import com.jeeplus.modules.hpposition.entity.HpPositionAddress;
  11. import com.jeeplus.modules.sys.utils.DictUtils;
  12. import com.jeeplus.modules.utils.GPS;
  13. import com.jeeplus.modules.utils.GPSConverterUtils;
  14. import java.util.Date;
  15. import java.util.List;
  16. /**
  17. * 入职奖励岗位Entity
  18. *
  19. * @author zwq
  20. * @version 2019-04-08
  21. */
  22. public class HpRewardPositionAPI extends DataEntity<HpRewardPositionAPI> {
  23. private static final long serialVersionUID = 1L;
  24. private String positionName; // 岗位名称
  25. private HpCompany hpCompany; // 所属公司
  26. private String positionType; // 职位类别(0:服务员 1:校园活动 2:实习 3:调研 4:送餐员 5:导购 6:网络编辑 7:普工 8:设计 9:文员助理 10:派单 11:销售 12:安保 13:礼仪 14:促销 15:翻译 16:客服 17:演出 18:家教导师 19:模特 20:快递分拣 21:厨师 22:物流仓储 23:贸易采购 24:技工 25:保洁 26:才艺技能 27:其它)
  27. private String positionFeature; // 职位性质(0:全职 1:兼职 2:实习)
  28. private String recruitNumber; // 招聘人数(null视为若干)
  29. private String basicSalary; // 基础薪资(0:1000~2000 1:2001~3000 2:3001~4000 3:4001~5000 4:5001~6000 5:6001~7000 6:7001~8000 7:8001~9000 8:9001~10000 9:10000以上)
  30. private String workTime; // 工作时间
  31. private String salaryStructure; // 薪资结构
  32. private String otherInformation; // 其他
  33. private String totalSalary; // 综合薪资(0:1000~2000 1:2001~3000 2:3001~4000 3:4001~5000 4:5001~6000 5:6001~7000 6:7001~8000 7:8001~9000 8:9001~10000 9:10000以上)
  34. private String totalSalaryValue; //综合薪资value(用于查询)
  35. private String workEnvironment; // 工作环境
  36. private String payDay; // 发工资日
  37. private String positionDetail; // 职位描述
  38. private String offerType; // 招聘形式(1:开心直招 2:企业直招 )
  39. private Boolean isPublishNationwide; // 是否全国发布(0:不是 1:是)
  40. private String qualification; // 学历要求(0:不限 1:小学 2:中学 3:高中 4:大专 5:本科 6:研究生 7:博士 8:博士后 15:其他)
  41. private String workExperience; // 工作经验(0:不限 1:1~2年 2:2~3年 3:3~5年 4:5年以上)
  42. private Integer gender; // 性别要求(0:不限 1:男 2:女)
  43. private String ageRange; // 年龄要求
  44. private Boolean isPhysical; // 是否体检(0:否 1:是)
  45. private String profressionSkill; // 专业技能
  46. private String otherRequirement; // 其他要求
  47. private Integer maleReward; // 奖励金额(男)
  48. private Integer femaleReward; // 奖励金额(女)
  49. private String rewardCondition; // 奖励条件
  50. private String workDinner; // 工作餐(0:不提供工作餐 1:提供工作餐 2:提供午餐,晚餐)
  51. private String accommodation; // 住宿(0:不提供住宿 1:提供住宿 2:提供住宿(需付费))
  52. private String socialSecurity; // 社保(0:不缴纳社保 1:缴纳五险 2:缴纳五险一金 6:缴纳六金)
  53. private String regularBus; // 交通(0:不提供班车 1:不提供班车,有交通补贴 2:提供班车 )
  54. private String busDetail; // 班车详情
  55. private String specialWelfare; // 其他福利(0:季度旅游 1:节日福利 2:年底双薪 3:加班补助 4:其他)
  56. private String otherWelfare; // 其他福利选择其他项时可填其他福利描述
  57. private String contactPerson; // 联系人
  58. private String contactPhone; // 联系电话
  59. private Boolean isPublish; // 是否发布(0:未发布 1:已发布)
  60. private Date publishTime; // 发布时间(岗位招聘开始时间),岗位招聘对外显示条件为发布时间到截至时间,且岗位未暂停招聘
  61. private Date endTime; // 截至时间(岗位招聘结束时间,不填即为长期招聘)
  62. private Boolean isPause; // 是否暂停(0:不是 1:是)
  63. private Boolean isHot; // 是否热门(0:不是 1:是)
  64. private Integer positionCategory; //岗位类型(0:全职 1:兼职 2:入职奖励 3:高薪急聘 4:拼团岗位 5:福利岗位)
  65. private String reward; //入职奖励金额(实际返费)
  66. private List<HpPositionAddress> hpPositionAddressList; //岗位地址
  67. private HpPositionAddress hpPositionAddress; //岗位地址对象
  68. private String longitude;//经度
  69. private String latitude;//纬度
  70. private String sort; //距离排序(1:正序;2:倒序)
  71. public HpRewardPositionAPI() {
  72. super();
  73. this.setIdType(IDTYPE_AUTO);
  74. }
  75. public HpPositionAddress getHpPositionAddress() {
  76. return hpPositionAddress;
  77. }
  78. public void setHpPositionAddress(HpPositionAddress hpPositionAddress) {
  79. this.hpPositionAddress = hpPositionAddress;
  80. }
  81. public HpRewardPositionAPI(String id) {
  82. super(id);
  83. }
  84. @ExcelField(title = "岗位名称", align = 2, sort = 1)
  85. public String getPositionName() {
  86. return positionName;
  87. }
  88. public void setPositionName(String positionName) {
  89. this.positionName = positionName;
  90. }
  91. public HpCompany getHpCompany() {
  92. return hpCompany;
  93. }
  94. public void setHpCompany(HpCompany hpCompany) {
  95. this.hpCompany = hpCompany;
  96. }
  97. @ExcelField(title = "职位类别(0:服务员 1:校园活动 2:实习 3:调研 4:送餐员 5:导购 6:网络编辑 7:普工 8:设计 9:文员助理 10:派单 11:销售 12:安保 13:礼仪 14:促销 15:翻译 16:客服 17:演出 18:家教导师 19:模特 20:快递分拣 21:厨师 22:物流仓储 23:贸易采购 24:技工 25:保洁 26:才艺技能 27:其它)", align = 2, sort = 3)
  98. public String getPositionType() {
  99. if (StringUtils.isNotBlank(positionType)) {
  100. positionType = DictUtils.getDictLabel(positionType, "fullposition_type", "");
  101. }
  102. return positionType;
  103. }
  104. public void setPositionType(String positionType) {
  105. this.positionType = positionType;
  106. }
  107. @ExcelField(title = "职位性质(0:全职 1:兼职 2:实习)", align = 2, sort = 4)
  108. public String getPositionFeature() {
  109. if (StringUtils.isNotBlank(positionFeature)) {
  110. positionFeature = DictUtils.getDictLabel(positionFeature, "position_feature", "");
  111. }
  112. return positionFeature;
  113. }
  114. public void setPositionFeature(String positionFeature) {
  115. this.positionFeature = positionFeature;
  116. }
  117. @ExcelField(title = "招聘人数(null视为若干)", align = 2, sort = 5)
  118. public String getRecruitNumber() {
  119. return recruitNumber;
  120. }
  121. public void setRecruitNumber(String recruitNumber) {
  122. this.recruitNumber = recruitNumber;
  123. }
  124. @ExcelField(title = "基础薪资(0:1000~2000 1:2001~3000 2:3001~4000 3:4001~5000 4:5001~6000 5:6001~7000 6:7001~8000 7:8001~9000 8:9001~10000 9:10000以上)", align = 2, sort = 6)
  125. public String getBasicSalary() {
  126. if (StringUtils.isNotBlank(basicSalary)) {
  127. basicSalary = DictUtils.getDictLabel(basicSalary, "basic_salary", "") + "元";
  128. }
  129. return basicSalary;
  130. }
  131. public void setBasicSalary(String basicSalary) {
  132. this.basicSalary = basicSalary;
  133. }
  134. @ExcelField(title = "工作时间", align = 2, sort = 7)
  135. public String getWorkTime() {
  136. return workTime;
  137. }
  138. public void setWorkTime(String workTime) {
  139. this.workTime = workTime;
  140. }
  141. @ExcelField(title = "薪资结构", align = 2, sort = 8)
  142. public String getSalaryStructure() {
  143. return salaryStructure;
  144. }
  145. public void setSalaryStructure(String salaryStructure) {
  146. this.salaryStructure = salaryStructure;
  147. }
  148. @ExcelField(title = "其他", align = 2, sort = 9)
  149. public String getOtherInformation() {
  150. return otherInformation;
  151. }
  152. public void setOtherInformation(String otherInformation) {
  153. this.otherInformation = otherInformation;
  154. }
  155. @ExcelField(title = "综合薪资(0:1000~2000 1:2001~3000 2:3001~4000 3:4001~5000 4:5001~6000 5:6001~7000 6:7001~8000 7:8001~9000 8:9001~10000 9:10000以上)", align = 2, sort = 10)
  156. public String getTotalSalary() {
  157. if (StringUtils.isNotBlank(totalSalary)) {
  158. totalSalary = DictUtils.getDictLabel(totalSalary, "basic_salary", "") + "元";
  159. }
  160. return totalSalary;
  161. }
  162. public void setTotalSalary(String totalSalary) {
  163. this.totalSalary = totalSalary;
  164. }
  165. @ExcelField(title = "工作环境", align = 2, sort = 11)
  166. public String getWorkEnvironment() {
  167. return workEnvironment;
  168. }
  169. public void setWorkEnvironment(String workEnvironment) {
  170. this.workEnvironment = workEnvironment;
  171. }
  172. @ExcelField(title = "发工资日", align = 2, sort = 12)
  173. public String getPayDay() {
  174. return payDay;
  175. }
  176. public void setPayDay(String payDay) {
  177. this.payDay = payDay;
  178. }
  179. @ExcelField(title = "职位描述", align = 2, sort = 13)
  180. public String getPositionDetail() {
  181. return positionDetail;
  182. }
  183. public void setPositionDetail(String positionDetail) {
  184. this.positionDetail = positionDetail;
  185. }
  186. @ExcelField(title = "招聘形式(1:开心直招 2:企业直招 )", align = 2, sort = 14)
  187. public String getOfferType() {
  188. if (StringUtils.isNotBlank(offerType)) {
  189. offerType = DictUtils.getDictLabel(offerType, "offer_type", "");
  190. }
  191. return offerType;
  192. }
  193. public void setOfferType(String offerType) {
  194. this.offerType = offerType;
  195. }
  196. @ExcelField(title = "是否全国发布(0:不是 1:是)", align = 2, sort = 15)
  197. public Boolean getIsPublishNationwide() {
  198. return isPublishNationwide;
  199. }
  200. public void setIsPublishNationwide(Boolean isPublishNationwide) {
  201. this.isPublishNationwide = isPublishNationwide;
  202. }
  203. @ExcelField(title = "学历要求(0:不限 1:小学 2:中学 3:高中 4:大专 5:本科 6:研究生 7:博士 8:博士后 15:其他)", align = 2, sort = 16)
  204. public String getQualification() {
  205. if (StringUtils.isNotBlank(qualification)) {
  206. qualification = DictUtils.getDictLabel(qualification, "qualification", "");
  207. }
  208. return qualification;
  209. }
  210. public void setQualification(String qualification) {
  211. this.qualification = qualification;
  212. }
  213. @ExcelField(title = "工作经验(0:不限 1:1~2年 2:2~3年 3:3~5年 4:5年以上)", align = 2, sort = 17)
  214. public String getWorkExperience() {
  215. if (StringUtils.isNotBlank(workExperience)) {
  216. workExperience = DictUtils.getDictLabel(workExperience, "work_experience", "");
  217. }
  218. return workExperience;
  219. }
  220. public void setWorkExperience(String workExperience) {
  221. this.workExperience = workExperience;
  222. }
  223. @ExcelField(title = "性别要求(0:不限 1:男 2:女)", align = 2, sort = 18)
  224. public Integer getGender() {
  225. return gender;
  226. }
  227. public void setGender(Integer gender) {
  228. this.gender = gender;
  229. }
  230. @ExcelField(title = "年龄要求", align = 2, sort = 19)
  231. public String getAgeRange() {
  232. return ageRange;
  233. }
  234. public void setAgeRange(String ageRange) {
  235. this.ageRange = ageRange;
  236. }
  237. @ExcelField(title = "是否体检(0:是 1:否)", align = 2, sort = 20)
  238. public Boolean getIsPhysical() {
  239. return isPhysical;
  240. }
  241. public void setIsPhysical(Boolean isPhysical) {
  242. this.isPhysical = isPhysical;
  243. }
  244. @ExcelField(title = "专业技能", align = 2, sort = 21)
  245. public String getProfressionSkill() {
  246. return profressionSkill;
  247. }
  248. public void setProfressionSkill(String profressionSkill) {
  249. this.profressionSkill = profressionSkill;
  250. }
  251. @ExcelField(title = "其他要求", align = 2, sort = 22)
  252. public String getOtherRequirement() {
  253. return otherRequirement;
  254. }
  255. public void setOtherRequirement(String otherRequirement) {
  256. this.otherRequirement = otherRequirement;
  257. }
  258. @ExcelField(title = "奖励金额(男)", align = 2, sort = 23)
  259. public Integer getMaleReward() {
  260. return maleReward;
  261. }
  262. public void setMaleReward(Integer maleReward) {
  263. this.maleReward = maleReward;
  264. }
  265. @ExcelField(title = "奖励金额(女)", align = 2, sort = 24)
  266. public Integer getFemaleReward() {
  267. return femaleReward;
  268. }
  269. public void setFemaleReward(Integer femaleReward) {
  270. this.femaleReward = femaleReward;
  271. }
  272. @ExcelField(title = "奖励条件", align = 2, sort = 25)
  273. public String getRewardCondition() {
  274. return rewardCondition;
  275. }
  276. public void setRewardCondition(String rewardCondition) {
  277. this.rewardCondition = rewardCondition;
  278. }
  279. @ExcelField(title = "工作餐(0:不提供工作餐 1:提供工作餐 2:提供午餐,晚餐)", align = 2, sort = 26)
  280. public String getWorkDinner() {
  281. if ("0".equals(workDinner)) {
  282. return null;
  283. }
  284. workDinner = DictUtils.getDictLabel(workDinner, "work_dinner", "");
  285. return workDinner;
  286. }
  287. public void setWorkDinner(String workDinner) {
  288. this.workDinner = workDinner;
  289. }
  290. @ExcelField(title = "住宿(0:不提供住宿 1:提供住宿 2:提供住宿(需付费))", align = 2, sort = 27)
  291. public String getAccommodation() {
  292. if ("0".equals(accommodation)) {
  293. return null;
  294. }
  295. accommodation = DictUtils.getDictLabel(accommodation, "accommodation", "");
  296. return accommodation;
  297. }
  298. public void setAccommodation(String accommodation) {
  299. this.accommodation = accommodation;
  300. }
  301. @ExcelField(title = "社保(0:不缴纳社保 1:缴纳五险 2:缴纳五险一金 6:缴纳六金)", align = 2, sort = 28)
  302. public String getSocialSecurity() {
  303. if ("0".equals(socialSecurity)) {
  304. return null;
  305. }
  306. socialSecurity = DictUtils.getDictLabel(socialSecurity, "social_security", "");
  307. return socialSecurity;
  308. }
  309. public void setSocialSecurity(String socialSecurity) {
  310. this.socialSecurity = socialSecurity;
  311. }
  312. @ExcelField(title = "交通(0:不提供班车 1:不提供班车,有交通补贴 2:提供班车 )", align = 2, sort = 29)
  313. public String getRegularBus() {
  314. if ("0".equals(regularBus)) {
  315. return null;
  316. }
  317. regularBus = DictUtils.getDictLabel(regularBus, "regular_bus", "");
  318. return regularBus;
  319. }
  320. public void setRegularBus(String regularBus) {
  321. this.regularBus = regularBus;
  322. }
  323. @ExcelField(title = "班车详情", align = 2, sort = 30)
  324. public String getBusDetail() {
  325. return busDetail;
  326. }
  327. public void setBusDetail(String busDetail) {
  328. this.busDetail = busDetail;
  329. }
  330. @ExcelField(title = "其他福利(0:季度旅游 1:节日福利 2:年底双薪 3:加班补助 4:其他)", align = 2, sort = 31)
  331. public String getSpecialWelfare() {
  332. if (StringUtils.isNotBlank(specialWelfare)) {
  333. String[] specialWelfareArray = specialWelfare.split(",");
  334. StringBuilder stringBuilder = new StringBuilder();
  335. for (int i = 0; i < specialWelfareArray.length; i++) {
  336. String specialWelfare = DictUtils.getDictLabel(specialWelfareArray[i], "special_welfare", "");
  337. stringBuilder.append(specialWelfare + ",");
  338. }
  339. specialWelfare = stringBuilder.toString();
  340. specialWelfare = specialWelfare.substring(0, specialWelfare.lastIndexOf(","));
  341. return specialWelfare;
  342. }
  343. return specialWelfare;
  344. }
  345. public void setSpecialWelfare(String specialWelfare) {
  346. this.specialWelfare = specialWelfare;
  347. }
  348. @ExcelField(title = "其他福利选择其他项时可填其他福利描述", align = 2, sort = 32)
  349. public String getOtherWelfare() {
  350. return otherWelfare;
  351. }
  352. public void setOtherWelfare(String otherWelfare) {
  353. this.otherWelfare = otherWelfare;
  354. }
  355. @ExcelField(title = "联系人", align = 2, sort = 33)
  356. public String getContactPerson() {
  357. return contactPerson;
  358. }
  359. public void setContactPerson(String contactPerson) {
  360. this.contactPerson = contactPerson;
  361. }
  362. @ExcelField(title = "联系电话", align = 2, sort = 34)
  363. public String getContactPhone() {
  364. return contactPhone;
  365. }
  366. public void setContactPhone(String contactPhone) {
  367. this.contactPhone = contactPhone;
  368. }
  369. @ExcelField(title = "是否发布(0:未发布 1:已发布)", align = 2, sort = 37)
  370. public Boolean getIsPublish() {
  371. return isPublish;
  372. }
  373. public void setIsPublish(Boolean isPublish) {
  374. this.isPublish = isPublish;
  375. }
  376. @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  377. @ExcelField(title = "发布时间(岗位招聘开始时间),岗位招聘对外显示条件为发布时间到截至时间,且岗位未暂停招聘", align = 2, sort = 38)
  378. public Date getPublishTime() {
  379. return publishTime;
  380. }
  381. public void setPublishTime(Date publishTime) {
  382. this.publishTime = publishTime;
  383. }
  384. @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  385. @ExcelField(title = "截至时间(岗位招聘结束时间,不填即为长期招聘)", align = 2, sort = 39)
  386. public Date getEndTime() {
  387. return endTime;
  388. }
  389. public void setEndTime(Date endTime) {
  390. this.endTime = endTime;
  391. }
  392. @ExcelField(title = "是否暂停(0:不是 1:是)", align = 2, sort = 40)
  393. public Boolean getIsPause() {
  394. return isPause;
  395. }
  396. public void setIsPause(Boolean isPause) {
  397. this.isPause = isPause;
  398. }
  399. @ExcelField(title = "是否热门(0:不是 1:是)", align = 2, sort = 41)
  400. public Boolean getIsHot() {
  401. return isHot;
  402. }
  403. public void setIsHot(Boolean isHot) {
  404. this.isHot = isHot;
  405. }
  406. public Integer getPositionCategory() {
  407. return positionCategory;
  408. }
  409. public void setPositionCategory(Integer positionCategory) {
  410. this.positionCategory = positionCategory;
  411. }
  412. public String getReward() {
  413. if (getMaleReward() != null && getFemaleReward() != null) {
  414. if (getMaleReward().equals(getFemaleReward())) {
  415. if (getMaleReward() != 0) {
  416. return String.valueOf(getMaleReward());
  417. }
  418. } else {
  419. if (getMaleReward() == 0) {
  420. return "女返" + getFemaleReward();
  421. }
  422. if (getFemaleReward() == 0) {
  423. return "男返" + getMaleReward();
  424. }
  425. return "男返" + getMaleReward() + ",女返" + getFemaleReward();
  426. }
  427. }
  428. return reward;
  429. }
  430. public void setReward(String reward) {
  431. this.reward = reward;
  432. }
  433. public List<HpPositionAddress> getHpPositionAddressList() {
  434. return hpPositionAddressList;
  435. }
  436. public void setHpPositionAddressList(List<HpPositionAddress> hpPositionAddressList) {
  437. this.hpPositionAddressList = hpPositionAddressList;
  438. }
  439. public String getLongitude() {
  440. if (StringUtils.isNotBlank(longitude)) {
  441. GPS gps = GPSConverterUtils.gcj02_To_Bd09(Double.parseDouble(latitude), Double.parseDouble(longitude));
  442. return String.valueOf(gps.getLon());
  443. }
  444. return longitude;
  445. }
  446. public void setLongitude(String longitude) {
  447. this.longitude = longitude;
  448. }
  449. public String getLatitude() {
  450. if (StringUtils.isNotBlank(latitude)) {
  451. GPS gps = GPSConverterUtils.gcj02_To_Bd09(Double.parseDouble(latitude), Double.parseDouble(longitude));
  452. return String.valueOf(gps.getLat());
  453. }
  454. return latitude;
  455. }
  456. public void setLatitude(String latitude) {
  457. this.latitude = latitude;
  458. }
  459. public String getTotalSalaryValue() {
  460. return totalSalaryValue;
  461. }
  462. public void setTotalSalaryValue(String totalSalaryValue) {
  463. this.totalSalaryValue = totalSalaryValue;
  464. }
  465. public String getSort() {
  466. return sort;
  467. }
  468. public void setSort(String sort) {
  469. this.sort = sort;
  470. }
  471. @Override
  472. @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  473. public Date getCreateDate() {
  474. return createDate;
  475. }
  476. @Override
  477. public void setCreateDate(Date createDate) {
  478. this.createDate = createDate;
  479. }
  480. @Override
  481. @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  482. public Date getUpdateDate() {
  483. return super.getUpdateDate();
  484. }
  485. @Override
  486. public void setUpdateDate(Date updateDate) {
  487. super.setUpdateDate(updateDate);
  488. }
  489. }