过程 : 概念 : 结构 jobbox jobPost
概念是employer创建jobPost时,可以publish或unpublish。 sort expired后,会通过server tast 去更新成history。所有的publish和unpublish sql是没有记入这状态,都是靠sort的expiredDate来分析。
操作过程是 JobPost 只负责post Job,employer会选择publish 哪个JobPost,而不能unpublish。employer 如果要看到所有publish JobPost,应该去advertisement找。
publish是当employer创建jobPost时,可以publish(创建连接sort),但是jobPost 在 sort expired后,会通过server tast 去更新成unpublish。
这里的server task 是在一段短时间内去更新history “jobPost_id unpublish”, 过程是去sorts?$filter id ne null and expiredDate gt 今天,接着去更新history 。在短时间内过期的jobPost 数量不会多,
这里没有indeed的JobPost 活动概念,indeed是每个jobPost都是一个活动,可以open和close。没做是因为mr teh通常不要这功能,突然要的话只是加sql和改前台
一个sort只能有一个jobPost,因为employer不可能要求买多个sort,同时放同个JobPost,这样不逻辑。但是在sql结构上没办法做出一对一表的关系和sort 被移除关系时,jobPost也要,entity不支持,自己搞也特别麻烦。最后选者插红绿灯,sort 和 jobPost 在sql上多对多的关系,但是用unique来block,同时在名字写成 singleSorts 和 singleJobPosts。
jobPost结构
workingDayFrom,workingDayTo,workingHourFrom,workingHourTo,JobPostLanguageVersion.moreWorkingdatetimeDescription
//无需解释
JobSpecialization_id,JobSpecializationRole_id,otherJobSpecialization,otherJobSpecializationRole
//post job 来有2个fereign key,因为一定会有job specialization 和 role
//在设计上,这2个是指令,role 会watch specialization
//如果jobSpecialization 是other的话,需要填写otherJobSpecialization(不需要多语言,因为这是给admin看的)
//同样的role 是 other 的话,需要填写otherJobSpecializationRole(不需要多语言,因为这是给admin看的)
//tree 的other 结构一定是有other 在层中,没有其他role
workLocationAreas,otherWorkLocationArea
//workLocationAreas 不是column,是多对多的关系。post job可以add 多个地区,
//但是如果admin没有提供post job 需要的地区,这时可以选择other,同时需要填写string(给admin看的,下次优化时,可以添加进tree里)
//可以多选地区,是多对多的表。如果employer在选malaysia时,会把全部的id给记入(不会很多这样的post job)
//candidate 在search时,可以点击malaysia 这时,这时是用一个id而已,如果多选就记入多个id,去odata搜索
//admin在写working location area tree 时(可以层中层,),第一层一定要写other(不然会bug),如果选择other,必须填写otherWorkLocationArea
salaryType,minSalary,maxSalary,minSalaryMYR,maxSalaryMYR,salaryCurrency
//所有的input type = number 都是null,搜索sql 会慢点。
//salaryType 是工资的类型,目前是月薪,seek 是年薪和每小时的工资
//以上会做成指令,过程是:
//post job 时,需要填写minSalary 和 maxSalary,这时会看salaryCurrency是不是MYR,是的话不会去ajax 拿兑换率资料
//同时watch ng-model 再同步minSalaryMYR,maxSalaryMYR
//如果不是MYR,就会ajax 和 promise 计算兑换的MYR 金额,再同步
yearlyBonusByMonth, JobPostLanguageVersion.moreBonusDescription
ownTransportss,JobPostLanguageVersion.moreOwnTransport
languageSkillss,JobPostLanguageVersion.moreLanguageSkill
benefitss,JobPostLanguageVersion.moreBenefit
claimss,JobPostLanguageVersion.moreClaim
//由于moreAble资料是顾客填写的,所以必须多语言。在search时,只能用系统提供的字(目前没有要求search)
//分开多个colum记入,好处是可以search,post job 记入的字,日后添加去hardcode
availableQuantity,positionLevelPrefix,positionLevelSuffix,employmentTypess,qualificationss,minRelatedWorkingExperienceYear,minAge,maxAge,skill,skillProficiency,preferredGender,isUrgent
//以上无需解释
JobPostLanguageVersion{
typeEnum
positionTitle
travelNeededDescription
moreWorkingDatetimeDescription
moreBonusDescription
moreOwnTransport
moreLanguageSkill
moreBenefit
moreClaim
bonusDescription
additionalBenefitCK
jobResponsibilityCK
moreAboutJobCK
jobRequirementCK
}
//以上的语言对象里的colum,无需解释
employer操作有
create :有个paste 功能,在之前需要有angular.copy的对象,在paste时,需要把某些值给删除
search :可以过滤date,job specialization 和position title
view :在ui router 是 jobPosts/5,目前只有post job资料,前台设计不会一起设计。applications 需等到candidate apply后才会讨论
edit : 在ui router 是 jobPosts/5/edit
publish : 在 ui router是 jobPosts/publish/5,这样的URL是设计是为了在JobPosts 有一个遮罩层来选择publish。这里的过程是去ajax 2次,
1是sorts?$filter singleJobPosts.length eq 0 and expiredDate lt 今天 (还不确定)
2是tickets?$filter leftUnit gt 0
在ticket的sql结构是会有product的资料,因为employer只可以存ticket,所以没有必要和product概念一样。ticket没有继承,所以需要把product的资料给ticket,而ticket 会多一个leftUnit
preview : 开多一个tag会view, 在没有publish的情况下也可以有一个display page
delete : 就delete
在display jobPosts 有position title,company,new candidate,publishing, total candidate和 function
过程 : 概念 : 结构 jobbox jobPost的更多相关文章
- Linux 文件系统(二)---运行过程及结构间的关系
(内核2.4.37) 一.首先.看看磁盘.超级块,inode节点在物理上总体的分布情况: (图示来自:www.daoluan.net) 对于一个分区,相应一个文件系统,一个文件系统事实上本质上还是磁盘 ...
- wordpress建站过程2——结构
开始wordpress之前,我们需要了解,wordpress的结构和调用方式. 当一个wordpress开始之后,他会读取[当前主题]的index.php.所以一旦主题切换了,它读的就是其他主题的in ...
- 过程 : 系统语言和jobPost 语言版本
在前台,用户选择语言会是checkbox list,可以选择多个.如果英文是主要语言,那么 ·选择英文而已,jobPosts 只显示英文版本 ·如果jobPost有英文和中文,只显示英文 ·如果job ...
- 再次理解HTTP请求过程[概念原理篇]
我曾多次阅读http协议,但是理解依然不深,在此,再次阅读,再次理解.加深两点:解析头部信息\r\n,分解头部和主体用\r\n\r\n.之所以一次请求会看到网络里有很多请求,是因为浏览器代替访问了多次 ...
- 【项目管理】 PMBOK 基础概念 (引论 PMBOK 笔记)
好紧张, 3月28考试, 全力学 PMP ~~ 一. 项目 1. 项目的定义 项目 : 项目是为创造 独特 的 产品, 服务 或 成果 而进行的 临时性 工作; -- 独特 : 独特性是项目的特征, ...
- 重学C语言之结构体
概念 结构体是一种构造类型,由若干个成员组成,成员可以是基本数据类型,或是另一个结构体 声明结构体 struct 结构体名 { 成员列表 }; 结构体名表示结构的类型名. 声明一个结构体表示创建一种新 ...
- C语言博客作业--结构体,文件
1.本章学习总结(2分) 1.1 学习内容总结 (1)结构体如何定义.成员如何赋值 结构体的一般形式为: struct 结构体名 { 数据类型 成员名1: 数据 ...
- .NET 云原生架构师训练营(对象过程建模)--学习笔记
目录 UML OPM OPM优化 UML 1997年发布UML标准 主要域 视图 图 主要概念 结构 静态视图 类图 类.关联.泛化.依赖关系.实现.接口 用例视图 用例图 用例.参与者.关联.扩展. ...
- DQL、DML、DDL、DCL的概念与区别
SQL(Structure Query Language)语言是数据库的核心语言. SQL的发展是从1974年开始的,其发展过程如下:1974年-----由Boyce和Chamberlin提出,当时称 ...
随机推荐
- UVa 10405 & POJ 1458 Longest Common Subsequence
求最长公共子序列LCS,用动态规划求解. UVa的字符串可能含有空格,开始用scanf("%s", s);就WA了一次...那就用gets吧,怪不得要一行放一个字符串呢. (本来想 ...
- APPcache
<!DOCTYPE html> <html manifest="example.appcache"> <head> <title>& ...
- Python3基础 内嵌函数 简单示例
镇场诗: 诚听如来语,顿舍世间名与利.愿做地藏徒,广演是经阎浮提. 愿尽吾所学,成就一良心博客.愿诸后来人,重现智慧清净体.-------------------------------------- ...
- 一个完整的PHP类包含的七种语法说明
类中的七种语法说明 -属性 -静态属性 -方法 -静态方法 -类常量 -构造函数 -析构函数 <?php class Student { // 类里的属性.方法和函数的访问权限有 (函数和方法是 ...
- 配置Log4J(转载)
Log4J的配置文件(Configuration File)就是用来设置记录器的级别.存放器和布局的,它可接key=value格式的设置或xml格式的设置信息.通过配置,可以创建出Log4J的运行环境 ...
- Zepto.js-表单方法
加载模块:form.js serialize serialize() ⇒ string 在Ajax post请求中将用作提交的表单元素的值编译成 URL编码的 字符串. serializeArray ...
- Java数据库连接--JDBC调用存储过程,事务管理和高级应用
相关链接:Jdbc调用存储过程 一.JDBC常用的API深入详解及存储过程的调用 1.存储过程的介绍 我们常用的操作数据库语言SQL语句在执行的时候要先进行编译,然后执行,而存储过程是在大型数据库系统 ...
- 自用LogSystem入库分享
.mytitle { background: #2B6695; color: white; font-family: "微软雅黑", "宋体", "黑 ...
- 使用 visualstudio code 编辑器调试执行在 homestead 环境中的 laravel 程序
由于之前做 .net 开发比较熟悉 visualstudio,所以自 visualstudio code 发布后就一直在不同场合使用 vscode ,比如前端.node等等.最近在做 laravel ...
- [html] 学习笔记-Canvas使用路径
想要绘制其他图形,需要使用路径,使用路径包含4个步骤,开始创建路径.创建图形的路径.路径创建完成后关闭路径.设定绘制样式,之后就可以调用绘制方法绘制路径了. 1.绘制圆形 <!DOCTYPE h ...