概念是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

workLocationAreasotherWorkLocationArea

//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的更多相关文章

  1. Linux 文件系统(二)---运行过程及结构间的关系

    (内核2.4.37) 一.首先.看看磁盘.超级块,inode节点在物理上总体的分布情况: (图示来自:www.daoluan.net) 对于一个分区,相应一个文件系统,一个文件系统事实上本质上还是磁盘 ...

  2. wordpress建站过程2——结构

    开始wordpress之前,我们需要了解,wordpress的结构和调用方式. 当一个wordpress开始之后,他会读取[当前主题]的index.php.所以一旦主题切换了,它读的就是其他主题的in ...

  3. 过程 : 系统语言和jobPost 语言版本

    在前台,用户选择语言会是checkbox list,可以选择多个.如果英文是主要语言,那么 ·选择英文而已,jobPosts 只显示英文版本 ·如果jobPost有英文和中文,只显示英文 ·如果job ...

  4. 再次理解HTTP请求过程[概念原理篇]

    我曾多次阅读http协议,但是理解依然不深,在此,再次阅读,再次理解.加深两点:解析头部信息\r\n,分解头部和主体用\r\n\r\n.之所以一次请求会看到网络里有很多请求,是因为浏览器代替访问了多次 ...

  5. 【项目管理】 PMBOK 基础概念 (引论 PMBOK 笔记)

    好紧张, 3月28考试, 全力学 PMP ~~ 一. 项目 1. 项目的定义 项目 : 项目是为创造 独特 的 产品, 服务 或 成果 而进行的 临时性 工作; -- 独特 : 独特性是项目的特征, ...

  6. 重学C语言之结构体

    概念 结构体是一种构造类型,由若干个成员组成,成员可以是基本数据类型,或是另一个结构体 声明结构体 struct 结构体名 { 成员列表 }; 结构体名表示结构的类型名. 声明一个结构体表示创建一种新 ...

  7. C语言博客作业--结构体,文件

    1.本章学习总结(2分) 1.1 学习内容总结 (1)结构体如何定义.成员如何赋值 结构体的一般形式为:      struct  结构体名     {      数据类型 成员名1:      数据 ...

  8. .NET 云原生架构师训练营(对象过程建模)--学习笔记

    目录 UML OPM OPM优化 UML 1997年发布UML标准 主要域 视图 图 主要概念 结构 静态视图 类图 类.关联.泛化.依赖关系.实现.接口 用例视图 用例图 用例.参与者.关联.扩展. ...

  9. DQL、DML、DDL、DCL的概念与区别

    SQL(Structure Query Language)语言是数据库的核心语言. SQL的发展是从1974年开始的,其发展过程如下:1974年-----由Boyce和Chamberlin提出,当时称 ...

随机推荐

  1. linux 中环境变量配置错误导致部分命令不能使用包括vi

    1,使用 /bin/vi  /etc/profile 可以打开环境变量 2,修改正确后,重启

  2. PHP实现仿Google分页效果的分页函数

    本文实例讲述了PHP实现仿Google分页效果的分页函数.分享给大家供大家参考.具体如下: /** * 分页函数 * @param int $total 总页数 * @param int $pages ...

  3. zepto.js swipe实现触屏tab菜单

    今天我们来说下zepto.js,有兴趣的朋友可以先进这个网站“http://zeptojs.com/” ,这个可以说是手机里的jquery,但是它取消了hover,加上了swipe及tap这两个触屏功 ...

  4. 推荐系统中的Graph Model

    转自:http://www.cnblogs.com/wentingtu/archive/2012/05/28/2521166.html 推荐中对graph model的研究主要有两个方面,一个是如何构 ...

  5. windows下安装php5.2.*,php5.3.*,php5.4.*版本的memcache扩展

    注:如使用集成环境成功率低,请自行配置php apache,表示win7下wamp php5.4.3基础上配置拓展,成功率极低.费时. 拓展安装调试方法: 编写调试php文件 <?php  me ...

  6. Flex移动皮肤开发(二)

    范例文件 mobile-skinning-part2.zip 在这个讨论创建 Flex 移动 skin 的系列的 第 1 部分 中,我讨论了 Flex 团队在 Mobile 主题中所做的性能优化的原理 ...

  7. Oracle RAC学习笔记01-集群理论

    Oracle RAC学习笔记01-集群理论 1.集群相关理论概述 2.Oracle Clusterware 3.Oracle RAC 原理 写在前面: 最近一直在看张晓明的大话Oracle RAC,真 ...

  8. C语言函数名与函数指针详解

    一.通常的函数调用 一个通常的函数调用的例子: /* 自行包含头文件 */ void MyFun(int x); /* 此处的声明也可写成:void MyFun(int) */ int main(in ...

  9. css3弹性盒子模型——回顾。

    1.box-flex属性规定框的子元素是否可伸缩其尺寸. 父元素必须要声明display:box;子元素才可以用box-flex. 语法:box-flex:value; 示例: <style&g ...

  10. ECMAScript 6 笔记(五)

    Iterator和for...of循环 1. Iterator(遍历器)的概念 Iterator接口的目的,就是为所有数据结构,提供了一种统一的访问机制,即for...of循环 遍历器(Iterato ...