Skip to main content

一、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参数

参数名示例值参数类型是否必填参数描述
token45886ca41a375e9c164fbfd8bd66aff8Text认证令牌
developerathenaText-
timestamp1672367429Text-

请求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