Commit 4672a7f7 by 王昆

gsb

parent 33370d64
......@@ -8,7 +8,7 @@ class APIBase extends DocBase {
this.logCtl = system.getObject("web.common.oplogCtl");
this.apitradeSvr = system.getObject("service.common.apitradeSve");
}
async isExistInNoAuthMainfest(gname, methodname) {
var fullname = gname + "." + methodname;
var lst = [
......@@ -18,41 +18,46 @@ class APIBase extends DocBase {
return x >= 0;
}
async checkAcck(gname, methodname, pobj, query, req) {
var apptocheck=null;
var apptocheck = null;
var isExistInNoAuth = await this.isExistInNoAuthMainfest(gname, methodname);
if (!isExistInNoAuth) {//在验证请单里面,那么就检查访问token
if (!isExistInNoAuth) { //在验证请单里面,那么就检查访问token
var ak = req.headers["accesskey"];
apptocheck = await this.cacheManager["ApiAccessKeyCheckCache"].cache(ak, { status: true }, 3000);
apptocheck = await this.cacheManager["ApiAccessKeyCheckCache"].cache(ak, {
status: true
}, 3000);
}
return {apptocheck:apptocheck,ispass:isExistInNoAuth || apptocheck};
return {
apptocheck: apptocheck,
ispass: isExistInNoAuth || apptocheck
};
}
async doexec(gname, methodname, pobj, query, req) {
try {
//检查访问token
var isPassResult = await this.checkAcck(gname, methodname, pobj, query, req);
if (!isPassResult.ispass) {
return system.getResultFail(system.tokenFail, "访问token失效,请重新获取");
}
// var isPassResult = await this.checkAcck(gname, methodname, pobj, query, req);
// if (!isPassResult.ispass) {
// return system.getResultFail(system.tokenFail, "访问token失效,请重新获取");
// }
var rtn = await this[methodname](pobj, query);
if(isPassResult.apptocheck){
var app=isPassResult.apptocheck.app;
if(methodname && methodname.indexOf("recvNotificationForCacheCount")<0){
this.apitradeSvr.create({
srcappkey: app.appkey,
tradeType: "consume",
op: req.classname + "/" + methodname,
params: JSON.stringify(pobj),
clientIp: req.clientIp,
agent: req.uagent,
destappkey:settings.appKey,
});
}
// if(isPassResult.apptocheck){
// var app=isPassResult.apptocheck.app;
// if(methodname && methodname.indexOf("recvNotificationForCacheCount")<0){
// this.apitradeSvr.create({
// srcappkey: app.appkey,
// tradeType: "consume",
// op: req.classname + "/" + methodname,
// params: JSON.stringify(pobj),
// clientIp: req.clientIp,
// agent: req.uagent,
// destappkey:settings.appKey,
// });
// }
}
// }
return rtn;
} catch (e) {
console.log(e.stack,"api调用出现异常,请联系管理员..........")
console.log(e.stack, "api调用出现异常,请联系管理员..........")
this.logCtl.error({
optitle: "api调用出现异常,请联系管理员",
op: pobj.classname + "/" + methodname,
......@@ -62,6 +67,12 @@ class APIBase extends DocBase {
return system.getResultFail(-200, "出现异常,请联系管理员");
}
}
}
module.exports = APIBase;
trim(o) {
if (!o) {
return "";
}
return o.toString().trim();
}
}
module.exports = APIBase;
\ No newline at end of file
......@@ -129,6 +129,7 @@ class CtlBase {
// if(key==null){
// return system.getResultFail(system.tokenFail,"appKey授权有误");
// }
console.log(methodname, '---------methodname---------------');
var rtn = await this[methodname](pobj, query, req);
// await this. apitradeSvr .create({
// appkey: pobj.appKey,
......
......@@ -6,7 +6,7 @@ var glob = require("glob");
class DbFactory{
constructor(){
const dbConfig=settings.database();
const dbConfighb=settings.databasehb();
// const dbConfighb=settings.databasehb();
this.db=new Sequelize(dbConfig.dbname,
dbConfig.user,
dbConfig.password,
......
......@@ -5,6 +5,35 @@ class LabourDao extends Dao{
super(Dao.getModelName(LabourDao));
}
//更新审核状态
async updatestatus(id, cur_type, t) {
var sql = [];
var cur_status = "";
if (cur_type == 1){
cur_status = "展示中";
}
else if (cur_type == 2){
cur_status = "已下架";
}
else if (cur_type == 3){
cur_status = "已过期";
}
else if (cur_type == 4){
cur_status = "审核未通过";
}
// UPDATE xgg_merchant_account SET available_amt = available_amt - :amt, frozen_amt = frozen_amt + :amt WHERE id = 1 AND available_amt - :amt >= 0
sql.push("UPDATE");
sql.push("labour_info");
sql.push("SET");
sql.push("cur_type = :cur_type, cur_status = :cur_status");
sql.push("WHERE id = :id");
return await this.customUpdate(sql.join(" "), {
id: id,
cur_type: cur_type,
cur_status: cur_status,
}, t);
}
}
module.exports=LabourDao;
......@@ -14,18 +14,43 @@ class RecruitDao extends Dao{
var currentPage=obj.current_page || 1;
try {
var sql = "SELECT * FROM recruit_info WHERE recruit_name LIKE :name order by publish_date desc limit :one,:two";
var list = await this.customQuery(sql, {name : "%" + recruit_name + "%",one:(currentPage - 1) * pageSize,two:pageSize});
if (list == null || list.length == 0) {
return system.getResult(null,"没有信息");
}else {
return system.getResult(list);
}
var list = await this.customQuery(sql, {name : "%" + recruit_name + "%",one:(currentPage - 1) * pageSize,two:pageSize}) || [];
return system.getResult(list);
}catch (e) {
console.log(e);
return system.getResult(null,"操作失败");
}
}
//更新审核状态
async updatestatus(id, cur_type, t) {
var sql = [];
var cur_status = "";
if (cur_type == 1){
cur_status = "展示中";
}
else if (cur_type == 2){
cur_status = "已下架";
}
else if (cur_type == 3){
cur_status = "已过期";
}
else if (cur_type == 4){
cur_status = "审核未通过";
}
// UPDATE xgg_merchant_account SET available_amt = available_amt - :amt, frozen_amt = frozen_amt + :amt WHERE id = 1 AND available_amt - :amt >= 0
sql.push("UPDATE");
sql.push("recruit_info");
sql.push("SET");
sql.push("cur_type = :cur_type, cur_status = :cur_status");
sql.push("WHERE id = :id");
return await this.customUpdate(sql.join(" "), {
id: id,
cur_type: cur_type,
cur_status: cur_status,
}, t);
}
}
module.exports=RecruitDao;
......@@ -47,6 +47,6 @@ class UsersDao extends Dao{
}
module.exports=UsersDao;
var tesk = new UsersDao();
var res = tesk.nameList();
console.log(res);
// var tesk = new UsersDao();
// var res = tesk.nameList();
// console.log(res);
......@@ -13,11 +13,13 @@ module.exports = (db, DataTypes) => {
situation_memo: DataTypes.STRING,
phone_no: DataTypes.STRING(20),
user_id: DataTypes.INTEGER,
cur_type: DataTypes.INTEGER,
cur_status: DataTypes.STRING(16),
publish_date: DataTypes.DATE,
},{
paranoid: true,//假的删除
underscored: true,
version: true,
version: false,
freezeTableName: true,
//freezeTableName: true,
// define the table's name
......
......@@ -14,6 +14,8 @@ module.exports = (db, DataTypes) => {
situation_memo: DataTypes.STRING,
phone_no: DataTypes.STRING(20),
user_id: DataTypes.INTEGER,
cur_type: DataTypes.INTEGER,
cur_status: DataTypes.STRING(16),
publish_date: DataTypes.DATE,
},{
paranoid: true,//假的删除
......
......@@ -20,7 +20,7 @@ module.exports = (db, DataTypes) => {
work_address: DataTypes.STRING(200),
publish_date: DataTypes.DATE,
end_date: DataTypes.DATE,
pic_path: DataTypes.STRING(200),
pic_path: DataTypes.STRING(2000),
recrui_require: DataTypes.STRING,
phone_no: DataTypes.STRING(20),
counter_mark: DataTypes.STRING(100),
......@@ -30,7 +30,7 @@ module.exports = (db, DataTypes) => {
},{
paranoid: true,//假的删除
underscored: true,
version: true,
version: false,
freezeTableName: true,
//freezeTableName: true,
// define the table's name
......
......@@ -21,7 +21,7 @@ module.exports = (db, DataTypes) => {
work_address: DataTypes.STRING(200),
publish_date: DataTypes.DATE,
end_date: DataTypes.DATE,
pic_path: DataTypes.STRING(200),
pic_path: DataTypes.STRING(2000),
recrui_require: DataTypes.STRING,
phone_no: DataTypes.STRING(20),
counter_mark: DataTypes.STRING(100),
......
......@@ -5,16 +5,28 @@ module.exports = (db, DataTypes) => {
return db.define("users", {
phone_no: DataTypes.STRING(16),
com_type: DataTypes.INTEGER,
com_name: DataTypes.STRING(1000),
user_type: DataTypes.STRING(50),
user_identity: DataTypes.STRING(50),
user_name: DataTypes.STRING(1000),
id_card: DataTypes.STRING(20),
user_photo: DataTypes.STRING(255),
cert_no: DataTypes.STRING(50),
user_post: DataTypes.STRING(50),
status_type: DataTypes.INTEGER,
status_name: DataTypes.STRING(16),
legal_name: DataTypes.STRING(50),
bus_term: DataTypes.STRING(50),
user_address: DataTypes.STRING(1000),
cert_path: DataTypes.STRING(255),
user_path: DataTypes.STRING(255),
com_path: DataTypes.STRING(255),
card_path: DataTypes.STRING(2000),
cert_path: DataTypes.STRING(2000),
reg_time: DataTypes.DATE,
cattes_time: DataTypes.DATE,
uattes_time: DataTypes.DATE,
memo1_text: DataTypes.STRING,
memo2_text: DataTypes.STRING,
is_real: {
type:DataTypes.INTEGER,
defaultValue: 0,
......@@ -26,7 +38,7 @@ module.exports = (db, DataTypes) => {
},{
paranoid: true,//假的删除
underscored: true,
version: true,
version: false,
freezeTableName: true,
//freezeTableName: true,
// define the table's name
......
const system=require("../../../system");
const settings=require("../../../../config/settings");
const ServiceBase=require("../../sve.base")
var WXPay = require('wx-pay');
const uuidv4 = require('uuid/v4');
class ApiTradeService extends ServiceBase{
constructor(){
......
......@@ -23,6 +23,7 @@ class LabourService extends ServiceBase {
labour.user_id = params.user_id;
labour.publish_date= params.publish_date;
labour = await labour.save();
labour = await this.dao.findById(id);
}
else{
labour = await this.dao.create(params);
......@@ -31,17 +32,129 @@ class LabourService extends ServiceBase {
return system.getResultSuccess(labour);
}
async findAllList(obj){//获取全部供人信息,返回符合条件的列表
var pageSize=obj.page_size || 10;
var currentPage=obj.current_page || 1;
try {
var sqlwhere = {
order: [["publish_date", 'desc']],
limit: pageSize,
offset: (currentPage - 1) * pageSize,
raw: true
};
var list = await this.dao.model.findAndCountAll(sqlwhere) || [];
return system.getResult(list);
}catch (e) {
console.log(e);
return system.getResult(null,"操作失败");
}
}
async findListByUserid(obj){//获取userid供人信息,返回符合条件的列表
if (!obj.user_id){
return system.getResult(null,"参数错误!");
}
var user_id = obj.user_id;
var pageSize=obj.page_size || 10;
var currentPage=obj.current_page || 1;
try {
var sqlwhere = {
where: {user_id:user_id},
order: [["publish_date", 'desc']],
limit: pageSize,
offset: (currentPage - 1) * pageSize,
raw: true
};
var list = await this.dao.model.findAndCountAll(sqlwhere) || [];
return system.getResult(list);
}catch (e) {
console.log(e);
return system.getResult(null,"操作失败");
}
}
async findlabourByWhere(obj){//根据条件获取招工信息
var pageSize=obj.page_size || 10;
var currentPage=obj.current_page || 1;
var where = {};
if (obj.id){
where.id = obj.id;
}
if (obj.user_id){
where.user_id = obj.user_id;
}
if (obj.phone_no){
where.phone_no = obj.phone_no;
}
if (obj.labour_type && obj.labour_type != "全部"){
where.labour_type = obj.labour_type;
}
if (obj.work_address && obj.work_address != "全部"){
where.work_address = obj.work_address;
}
if (obj.cur_status && obj.cur_status != "全部"){
where.cur_status = obj.cur_status;
}
try {
var sqlwhere = {
where: where,
order: [["publish_date", 'desc']],
limit: pageSize,
offset: (currentPage - 1) * pageSize,
raw: true
};
var list = await this.dao.model.findAndCountAll(sqlwhere) || [];
return system.getResult(list);
}catch (e) {
console.log(e);
return system.getResult(null,"操作失败");
}
}
async updatestatus(obj){//更新状态信息
try{
var whereobj = {where:{id: obj.id}};
var setobj = {};
setobj.cur_status = obj.cur_status;
if (obj.cur_status == "展示中"){
setobj.cur_type = 1;
}
else if (obj.cur_status == "已下架"){
setobj.cur_type = 2;
}
else if (obj.cur_status == "已过期"){
setobj.cur_type = 3;
}
else if (obj.cur_status == "审核未通过"){
setobj.cur_type = 4;
}
var self = this;
var v = await this.db.transaction(async function (t) {
await self.dao.updateByWhere(setobj,whereobj,t);
});
return 1;
}
catch (e){
console.log(e);
return 0;
}
}
}
module.exports = LabourService;
// var tesk = new RecruitService();
// var tesk = new LabourService();
// var par = {
// user_id:1,
// oper_type:0,
// oper_name:"登录",
// oper_date:(new Date()).Format("yyyy-MM-dd hh:mm:ss"),
// id:1,
// cur_type:1
// };
// tesk.SaveLogInfo(par).then(function(result){
// tesk.updatestatus(par).then(function(result){
// console.log((result));
// }).catch(function(e){
// console.log(e);
......
......@@ -36,6 +36,7 @@ class RecruitService extends ServiceBase {
recruit.cur_type = params.cur_type;
recruit.cur_status = params.cur_status;
recruit = await recruit.save();
recruit = await this.dao.findById(id);
}
else{
recruit = await this.dao.create(params);
......@@ -54,12 +55,9 @@ class RecruitService extends ServiceBase {
offset: (currentPage - 1) * pageSize,
raw: true
};
var list = await this.dao.model.findAll(sqlwhere);
if (list == null || list.length == 0) {
return system.getResult(null,"没有信息");
}else {
return system.getResult(list);
}
//var list = await this.dao.model.findAll(sqlwhere);
var list = await this.dao.model.findAndCountAll(sqlwhere) || [];
return system.getResult(list);
}catch (e) {
console.log(e);
return system.getResult(null,"操作失败");
......@@ -81,12 +79,8 @@ class RecruitService extends ServiceBase {
offset: (currentPage - 1) * pageSize,
raw: true
};
var list = await this.dao.model.findAll(sqlwhere);
if (list == null || list.length == 0) {
return system.getResult(null,"没有信息");
}else {
return system.getResult(list);
}
var list = await this.dao.model.findAndCountAll(sqlwhere) || [];
return system.getResult(list);
}catch (e) {
console.log(e);
return system.getResult(null,"操作失败");
......@@ -94,7 +88,27 @@ class RecruitService extends ServiceBase {
}
async findListByName(obj){//获取岗位名称招聘信息,返回符合条件的列表
return await this.dao.findListByName(obj);
//return await this.dao.findListByName(obj);
if (!obj.recruit_name){
return system.getResult(null,"参数错误!");
}
var recruit_name = obj.recruit_name;
var pageSize=obj.page_size || 10;
var currentPage=obj.current_page || 1;
try{
var sqlwhere = {
where:{recruit_name:{[this.db.Op.like]: "%" + recruit_name + "%"}},
order: [["publish_date", 'desc']],
limit: pageSize,
offset: (currentPage - 1) * pageSize,
raw: true
};
var list = await this.dao.model.findAndCountAll(sqlwhere) || [];
return system.getResult(list);
}
catch{
return system.getResult(null,"操作失败");
}
}
async findListByMark(obj){//获取标签招聘信息,返回符合条件的列表
......@@ -112,29 +126,121 @@ class RecruitService extends ServiceBase {
offset: (currentPage - 1) * pageSize,
raw: true
};
var list = await this.dao.model.findAll(sqlwhere);
if (list == null || list.length == 0) {
return system.getResult(null,"没有信息");
}else {
return system.getResult(list);
var list = await this.dao.model.findAndCountAll(sqlwhere) || [];
return system.getResult(list);
}catch (e) {
return system.getResult(null,"操作失败");
}
}
async findRecruitByWhere(obj){//根据条件获取招聘信息
var pageSize=obj.page_size || 10;
var currentPage=obj.current_page || 1;
var where = {};
if (obj.id){
where.id = obj.id;
}
if (obj.recruit_name){
where.recruit_name = obj.recruit_name;
}
if (obj.recruit_type && obj.recruit_type != "全部"){
where.recruit_type = obj.recruit_type;
}
if (obj.pay_name && obj.pay_name != "全部"){
where.pay_name = obj.pay_name;
}
if (obj.rfee_type && obj.rfee_type != "全部"){
if (obj.rfee_type == "面议"){
where.rfee_type = 0;
}
else if (obj.rfee_type == "时返"){
where.rfee_type = 3;
}
else if (obj.rfee_type == "月返"){
where.rfee_type = 1;
}
else if (obj.rfee_type == "日返"){
where.rfee_type = 2;
}
else if (obj.rfee_type == "一次返"){
where.rfee_type = 4;
}
}
if (obj.work_address && obj.work_address != "全部"){
where.work_address = {[this.db.Op.like]: "%" + obj.work_address + "%"};
}
if (obj.user_id){
where.user_id = obj.user_id;
}
if (obj.phone_no){
where.phone_no = obj.phone_no;
}
if (obj.cur_status && obj.cur_status != "全部"){
where.cur_status = obj.cur_status;
}
try {
var sqlwhere = {
where: where,
order: [["publish_date", 'desc']],
limit: pageSize,
offset: (currentPage - 1) * pageSize,
raw: true
};
var list = await this.dao.model.findAndCountAll(sqlwhere) || [];
return system.getResult(list);
}catch (e) {
console.log(e);
return system.getResult(null,"操作失败");
}
}
async updatestatus(obj){//更新状态信息
try{
var whereobj = {where:{id: obj.id}};
var setobj = {};
setobj.cur_status = obj.cur_status;
if (obj.cur_status == "展示中"){
setobj.cur_type = 1;
}
else if (obj.cur_status == "已下架"){
setobj.cur_type = 2;
}
else if (obj.cur_status == "已过期"){
setobj.cur_type = 3;
}
else if (obj.cur_status == "审核未通过"){
setobj.cur_type = 4;
}
var self = this;
var v = await this.db.transaction(async function (t) {
await self.dao.updateByWhere(setobj,whereobj,t);
});
return 1;
}
catch (e){
console.log(e);
return 0;
}
}
}
module.exports = RecruitService;
// var tesk = new RecruitService();
// var par = {
// counter_mark:"高返费",
// page_size:5,
// current_page:1
// id:1,
// cur_type:1,
// recruit_name:"物流"
// };
// tesk.findListByMark(par).then(function(result){
// tesk.findListByName(par).then(function(result){
// console.log((result));
// }).catch(function(e){
// console.log(e);
......
......@@ -11,39 +11,6 @@ class ServiceBase {
this.restS=system.getObject("util.restClient");
}
async apiCallWithAk(url,params){
var acckapp=await this.cacheManager["ApiAccessKeyCache"].cache(settings.appKey);
var acck=acckapp.accessKey;
//按照访问token
var restResult=await this.restS.execPostWithAK(params,url,acck);
if(restResult){
if(restResult.status==0){
var resultRtn=restResult.data;
return resultRtn;
}else{
await this.cacheManager["ApiAccessKeyCache"].invalidate(settings.appKey);
return null;
}
}
return null;
}
async apiCallWithAkNoWait(url,params){
var acckapp=await this.cacheManager["ApiAccessKeyCache"].cache(settings.appKey);
var acck=acckapp.accessKey;
//按照访问token
this.restS.execPostWithAK(params,url,acck).then((restResult)=>{
if(restResult){
if(restResult.status==0){
var resultRtn=restResult.data;
return resultRtn;
}else{
this.cacheManager["ApiAccessKeyCache"].invalidate(settings.appKey);
return null;
}
}
return null;
});
}
static getDaoName(ClassObj) {
return ClassObj["name"].substring(0, ClassObj["name"].lastIndexOf("Service")).toLowerCase() + "Dao";
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment