一、OMS项目
标题: | 内容 |
---|---|
完成情况: | 最后版本 10月份职场迭代 |
涉及数据表: | job_fair_apply_attendees (招聘活动报名表)job_fair_apply_pages(招聘活动报名页) job_fair_attendee_option_content(招聘活动用户提交数据表) job_fair_modules(招聘活动模板模块) job_fair_page_option(报名页与词条的关系) job_fair_template_module(模板与模块的关系) job_fair_templates(招聘活动模板库)job_fair_unit_contents(招聘活动模块内容表)job_fair_units(招聘活动)job_join_user(职场用户信息) |
需求文档地址: | 详情见蓝湖 10月份职场迭代 |
详细设计文档地址: | 详情见蓝湖 10月份职场迭代 |
API文档地址: | http://47.107.239.240:8380/oms-api-wiki/#oms-api |
交接相关人员 | 李晓东 |
———————————————— |
服务器地址
测试环境 http://47.112.148.159:8681
线上环境 http://oms.laoyaoba.com/
预发布环境 http://omspreview.laoyaoba.com/
启动方式
git clone git@git.dev.jiweinet.com:jiweiwang/oms-api.git
cd oms-api
# 修改配置 docker-compose.yml 本地环境
docker-compose up -d
创建模板流程
创建模板(包含 创建招聘活动->创建活动报名页->默认使用招聘活动模板库关系->默认模板与模块的关系->默认招聘活动模板模块->调用表单接口创建初始化表单->返回组件相关信息记录到报名页与词条的关系和招聘活动报名页)
模板==招聘活动
报名页与表单服务关系 (活动报名页表中包含 表单 form_id,form_version 字段 同时 报名页与词条的关系 记录所有表单 组件基础数据 )
新增报名记录 ( job_fair_apply_attendees 生成一条报名记录 报名详细表单数据 记录在job_fair_attendee_option_content )
空宣、双选会 与报名模板关系 (空宣、双选会 中记录报名模板 unit_id 关联报名模板)
广告位轮播 与 报名模板关系 (slideshow 使用 bind_id 绑定 报名模板)
导出 oms 职位信息
select position.company_name as "公司名称", position.name as "职位名称", job_field.`name` as "职能分类",(case when position.`educ`=0 then "不限"
when position.educ=1 then "大专" when position.educ=2 then "本科" when position.educ=3 then "硕士" when position.educ=4 then "博士" when position.educ=5 then "MBA" end) as "学历要求", CONCAT (position.salary_min_month,"-",position.salary_max_month,"月") as "薪资范围", position.city as "工作地点", (case when position.`years` =9 then "不限" when position.`years` =1 then "应届生" when position.`years` =2 then "1~3年"
when position.`years` =3 then "3~5年" when position.`years` =4 then "5~10年" when position.`years` =5 then "10年以上" end) as "
工作年限",position.delivery_num as "投递数",(case when position.`type_id` =1 then "校招" when position.`type_id`=2 then "实习" when position.`type_id`=3 then "社招" end) as "职位类型",position.`intro` as "职位描述", position.`created_at` as "发布时间" from position left join `job_field` on position.`job_field_id` = job_field.`id`
导出oms 注册用户信息
select (case when wechat_name IS NOT NULL then wechat_name else "微信用户" end ) as 微信昵称,mobile as 手机号,(case when gender=1 then "男"
when gender=2 then "女" else "男" end) as 性别,created_at as 注册时间 ,last_use_time as 最后一次登录时间 ,(case when last_use_platform=1 then "Android"
when last_use_platform=2 then "IOS" when last_use_platform=3 then "web" when last_use_platform=4 then "小程序" end)as 最后一次登录渠道 from job_join_user order by `last_use_time` desc
二、任务导出项目
标题: | 内容 |
---|---|
完成情况: | 最后版本 10月份职场迭代 |
涉及数据表: | sibylla_task 简历导出任务表 sibylla_task_relation 任务关联表 |
需求文档地址: | 详情见蓝湖 10月份职场迭代 |
详细设计文档地址: | 详情见蓝湖 10月份职场迭代 |
API文档地址: | http://47.107.239.240:8380/oms-api-wiki/#oms-api |
交接相关人员 | 李晓东 |
———————————————— |
环境信息
测试环境 http://47.119.124.57:8848/
正式环境 http://47.119.124.57:8980/
启动方式
# 生产环境位于47.119.124.57
cd /home/work/sibylla
# 拉取最新版应用镜像
docker pull docker.ijiwei.com/jiwei/sibylla:latest
docker tag docker.ijiwei.com/jiwei/sibylla:latest sibylla:latest
docker image rm docker.ijiwei.com/jiwei/sibylla:latest
# 启动
docker run --name="Sibylla" --rm -d -p 8980:8848 -e RUN_HOST=http://47.119.124.57:8980 -v $(pwd)/log:/app/log sibylla:latest
项目介绍
基于 go 1.17 环境开发 简历、附件、资讯优化任务服务
结构流程: 预读加载历史任务-》扫描任务线程-》检测处理任务-》线程池分配任务-》任务处理-》处理过期任务资源线程
word 类库
参考:https://www.zhihu.com/column/c_1396325672374104064 从零写个office
三、oa开通注册vip用户
标题: | 内容 |
---|---|
完成情况: | 已完成 |
涉及数据表: | oa_wait_register_user |
需求文档地址: | 详情见蓝湖 10月份职场迭代 |
详细设计文档地址: | 详情见蓝湖 10月份职场迭代 |
API文档地址: | 本章文档 |
交接相关人员 | 朱思嘉 |
———————————————— |
环境信息
测试环境 http://jiweidev.jiweinet.com:8186
正式环境 http://mis.jiweinet.com
预发布环境 http://47.106.230.107:8186
API文档
/oa注册用户
接口URL
http://jiweidev.jiweinet.com:8186/oa_api/oa_register_user/store
请求方式
POST
Content-Type
json
请求Header参数
参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
token | 45886ca41a375e9c164fbfd8bd66aff8 | Text | 是 | 认证令牌 |
developer | athena | Text | 是 | - |
timestamp | 1672367429 | Text | 是 | - |
请求Body参数
{
"phone" : 13333881144,
"nickname":"李世星",
"long": 12
}
成功响应示例
{
"code": 0,
"msg": "生成VIP成功,到期时间为2025年01月18日",
"time": 1676012688,
"data": {
"user_id": 5182255,
"nickname": "hahahaa"
}
}
错误响应示例
{
"code": 1,
"msg": "参数错误",
"time": 1676012704,
"data": []
}
OA java脚本
package weaver.interfaces.workflow.action.javacode;
import com.weaver.util.httpclient.entity.HttpResponseWrapper;
import com.weaver.util.httpclient.service.SyncHttpClientService;
import weaver.conn.RecordSet;
import weaver.general.BaseBean;
import weaver.interfaces.workflow.action.Action;
import weaver.soa.workflow.request.RequestInfo;
import com.alibaba.fastjson.JSONObject;
/**
* 在线自定义action接口
*/
public class Action20221219030304 extends BaseBean implements Action {
/**
* 流程路径节点后选择aciton后,会在节点提交后执行此方法。
*/
public String execute(RequestInfo request) {
String requestId = request.getRequestid();
String tablename = request.getRequestManager().getBillTableName(); //获取表单名称
writeLog("Action20221219030304");
//查找表单内容
RecordSet rs = new RecordSet();
rs.execute("select * from " + tablename + " where requestid = " + requestId);
rs.next();
String mainid = rs.getString("id"); //id:表单主键
rs = new RecordSet();
rs.execute("select * from " + tablename + "_dt1 where mainid = " + mainid + " limit 1");
rs.next();
String phone = rs.getString("sjh"); //开通VIP手机号
String nickname = rs.getString("xm"); //开通VIP昵称
writeLog("[Action20221219030304] : mainid (" + mainid + ") in Table." + tablename);
JSONObject jsonObj = new JSONObject();
jsonObj.put("phone", phone);
jsonObj.put("nickname",nickname);
jsonObj.put("long", "12");
writeLog("[Action20221219030304 jsonObj] info : phone-" + phone + " nickname-"+ nickname + "long-"+ "12");
SyncHttpClientService syncHttpClientService = new SyncHttpClientService();
HttpResponseWrapper httpResponseWrapper = syncHttpClientService.doPostParamForJson("http://jiweidev.jiweinet.com:8186/oa_api/oa_register_user/store", jsonObj);
int statusCode = httpResponseWrapper.getStatusCode();
if ( (400 == statusCode ) || (200 == statusCode)) {
writeLog("[Action20221219030304 apiResponse] success : " + httpResponseWrapper.getRespStr());
JSONObject jsonObject = httpResponseWrapper.getRespJsonResult();
String success = jsonObject.get("code").toString();
String msg = jsonObject.get("msg").toString();
if ("0".equals(success)) {
writeLog("[Action20221219030304 openSuccess] success : " +msg);
rs = new RecordSet();
rs.execute("update " + tablename + "_dt1 set sfkt = 0 where mainid = " + mainid);
rs.next();
return "1";
} else {
writeLog("[Action20221219030304 openError] Error : " +msg);
rs = new RecordSet();
rs.execute("update " + tablename + "_dt1 set sfkt = 1 where mainid = " + mainid);
rs.next();
return "0";
}
} else {
writeLog("[Action20221219030304 apiResponse] faild : " + httpResponseWrapper.getStatusCode());
return "0";
}
}
}
四、ACP签到
标题: | 内容 |
---|---|
完成情况: | 最后版本 2023策略论坛 |
涉及数据库: | jiwei_checkin |
涉及数据表: | activity_tag_key_relation(活动与标签关系) checkin_activity(签到活动表) checkin_condition(签到下发查询数据条件表) checkin_guest(签到系统人员表)checkin_logs(签到记录表)checkin_place(签到场地表)checkin_room(展厅表)guest_key_value_relation(嘉宾标签关系)guest_notes_black_list(标签过滤表)guest_room_access_relation(嘉宾展厅权限)guest_room_matching(嘉宾标签匹配策略)guest_tag_key(附加信息tagkey)guest_types(签到嘉宾类型吧表)manager(管理员)manager_device(管理员设备表)manager_role_relation(角色与管理员关系)menu(管理员菜单)permissions(管理员权限)role_menu_relation(角色和菜单关系)role_permission_relation(角色权限关系) |
需求文档地址: | 详情见蓝湖 10月份职场迭代 |
详细设计文档地址: | 详情见蓝湖 10月份职场迭代 |
API文档地址: | http://47.107.239.240:8380/acp-api-wiki/#acp-api-wiki http://47.107.239.240:8380/acp-admin-wiki/#jiwei |
交接相关人员 | 荀立强 |
———————————————— |
环境信息
测试环境 acp-api 47.107.239.240:8281 acp-admin-api 47.112.148.159:8284 前端访问地址 acp-admin 47.107.239.240:8081 acp 47.112.148.159:8281
正式环境 acp-api 47.119.124.57:9011 acp-admin-api 172.18.88.110:9011 前端访问地址 acp-admin 47.112.148.159:8281 acp 47.119.124.57:8281
启动方式
# 生产环境位于47.119.124.57
cd /home/www/web/acp-api
# 拉取最新版应用镜像
docker pull docker.ijiwei.com/acp/acp-api:latest
docker tag docker.ijiwei.com/acp/acp-api:latest acp-api:latest
docker image rm docker.ijiwei.com/acp/acp-api:latest
# 使用目录下docker-compose.yml启动
docker-compose up -d
项目流程
ACP-Admin 创建管理会议生成code-》mis管理绑定会议code-》同步报名参会名单-》acp-sync录入名单到acp系统中-》使用acp-admin会议生成的管理人员账号登录acp进行管理和签到
acp中会议权限匹配策略
guest_room_matching 嘉宾权限匹配策略表 label为报名嘉宾的参数选项列:(是否参加分析师大会) value 匹配值 *为 不限制条件 其他值为匹配参会选项的实际选项值 room_label 为 会议展厅的label名 is_extra 是否需要匹配为描述信息
导出报名记录SQL
导出签到处为维度记录
select activity.`label` as 活动,checkin_place.`label` as 签到处,checkin_guest.name as 嘉宾,checkin_guest.`company` as 公司信息, guest_types.`label` as 嘉宾类型, checkin_guest.`order_num` as 订单号,if(checkin.`type`=1,"扫码","手动") as 签到类型,date_format( checkin.check_time,'%Y年%m月%d日%H时%i分%s秒')as 签到时间 from `checkin_guest` LEFT JOIN `checkin_logs` as checkin on checkin.`guest_id` = `checkin_guest`.id LEFT JOIN `checkin_activity` as activity on checkin_guest.activity_id = activity.id
LEFT JOIN `checkin_place`on checkin.`place_id` = `checkin_place`.id LEFT JOIN `guest_types`
on checkin.`guest_type_id` = `guest_types`.`id` where checkin.activity_id = 3 order by checkin.check_time desc
导出签到展厅为维度记录
select activity.`label` as 活动,checkin_room.`name` as 签到展厅地址,checkin_room.`label` as 签到展厅, `guest_room_access_relation`.`extra` as 座位信息, checkin_guest.name as 嘉宾,checkin_guest.`company` as 公司信息, guest_types.`label` as 嘉宾类型, checkin_guest.`order_num` as 订单号,if(checkin.`type`=1,"扫码","手动") as 签到类型,date_format( checkin.check_time,'%Y年%m月%d日%H时%i分%s秒')as 签到时间 from `checkin_guest` LEFT JOIN `room_access_log` as checkin on checkin.`guest_id` = `checkin_guest`.id LEFT JOIN `checkin_activity` as activity on checkin_guest.activity_id = activity.id
LEFT JOIN `checkin_room`on checkin.`room_id` = `checkin_room`.id LEFT JOIN `guest_types`
on checkin_guest.`type_id` = `guest_types`.`id` left join `guest_room_access_relation` on `checkin_guest`.id = `guest_room_access_relation`.`guest_id` where checkin.activity_id = 3 order by checkin.check_time desc