Commit 7b195970 by lixinming

no message

parent 4d1c5323
...@@ -30,19 +30,9 @@ import { sendPassNotice } from "../sms"; ...@@ -30,19 +30,9 @@ import { sendPassNotice } from "../sms";
* @param shi 市 * @param shi 市
* @param pageNumber 当前页 * @param pageNumber 当前页
*/ */
export async function pendingReviewList({name, memberType, documentId, phone, mail, sheng, shi, pageNumber}) { export async function pendingReviewList({name, memberType, documentId, phone, mail, sheng, shi, pageNumber, examineState}) {
/**查询条件 */ /**查询条件 */
let selectParam:any = { let selectParam:any = {
// "$or":[
// {
// userRegisterState:{"$lt":USERREGISTERSTATE.驳回修改},
// registerFlow:{"$gt":REGISTERFLOW.完成第一步}
// },
// {
// userRegisterState:USERREGISTERSTATE.驳回修改,
// registerFlow:REGISTERFLOW.完成第一步
// }
// ],
isAdmin:STATE. isAdmin:STATE.
}; //审批列表展示状态除通过外的数据 }; //审批列表展示状态除通过外的数据
if (name) { if (name) {
...@@ -54,6 +44,13 @@ export async function pendingReviewList({name, memberType, documentId, phone, ma ...@@ -54,6 +44,13 @@ export async function pendingReviewList({name, memberType, documentId, phone, ma
]} ]}
]; ];
} }
if (examineState) {
if (examineState == 1) {
selectParam.userRegisterState = {"$or":[USERREGISTERSTATE.待审核, USERREGISTERSTATE.重新提交]}
} else {
selectParam.userRegisterState = USERREGISTERSTATE.驳回修改
}
}
let memberTypeLen = Object.keys(MEMBERTYPEECCENUM).filter(key => isNaN(Number(key))).length; let memberTypeLen = Object.keys(MEMBERTYPEECCENUM).filter(key => isNaN(Number(key))).length;
if (memberType.length == 0 || memberType.length == memberTypeLen) { if (memberType.length == 0 || memberType.length == memberTypeLen) {
......
...@@ -39,7 +39,7 @@ export async function unitMemberList({unitName, mail, phone, joinStartTime, join ...@@ -39,7 +39,7 @@ export async function unitMemberList({unitName, mail, phone, joinStartTime, join
userRegisterState : USERREGISTERSTATE.通过, userRegisterState : USERREGISTERSTATE.通过,
isBlackUser:STATE. isBlackUser:STATE.
}; };
if (unitName) selectParam.unitName = unitName; if (unitName) selectParam.unitName = {"$regex":unitName};
if (mail) selectParam.mail = mail; if (mail) selectParam.mail = mail;
if (phone) selectParam.phone = phone; if (phone) selectParam.phone = phone;
if (joinStartTime) { if (joinStartTime) {
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* 用户逻辑 * 用户逻辑
*/ */
import { ADMINTYPE, CODETYPE, MEMBERSTATE, REGISTERSTART, STATE, USERREGISTERSTATE } from "../../config/enum"; import { ADMINTYPE, CODETYPE, MEMBERSTATE, MEMBERTYPE, REGISTERSTART, STATE, UNITMEMBERTYPE, USERREGISTERSTATE } from "../../config/enum";
import { ERRORENUM } from "../../config/errorEnum"; import { ERRORENUM } from "../../config/errorEnum";
import { addOneData } from "../../data/add"; import { addOneData } from "../../data/add";
import { TABLEENUM } from "../../data/models/model"; import { TABLEENUM } from "../../data/models/model";
...@@ -31,7 +31,8 @@ export async function login({loginId, pwd}) { ...@@ -31,7 +31,8 @@ export async function login({loginId, pwd}) {
if (userInfo.isInput && !userInfo.inputUserChangePwd) { if (userInfo.isInput && !userInfo.inputUserChangePwd) {
return { return {
isInput:userInfo.isInput, isInput:userInfo.isInput,
phone:userInfo.phone phone:userInfo.phone,
userId:userInfo.userId
} }
} }
...@@ -81,28 +82,52 @@ export async function logout({userId}) { ...@@ -81,28 +82,52 @@ export async function logout({userId}) {
* @param param0 * @param param0
* @returns * @returns
*/ */
export async function changePwd({phone, pwd, confirmation, code}) { export async function changePwd({userId, phone, pwd, confirmation, code}) {
if (pwd.search(/^[A-Za-z0-9]{6,18}$/) < 0) throw new BizError(ERRORENUM.密码只能由618位字符和数字组成); if (pwd.search(/^[A-Za-z0-9]{6,18}$/) < 0) throw new BizError(ERRORENUM.密码只能由618位字符和数字组成);
if (pwd != confirmation) throw new BizError(ERRORENUM.两次密码不一致); if (pwd != confirmation) throw new BizError(ERRORENUM.两次密码不一致);
let codeInfo = await findOnce(TABLEENUM.验证码表, {codeNum:code, phone, type:CODETYPE.修改密码, isUse:false}); let codeInfo = await findOnce(TABLEENUM.验证码表, {codeNum:code, phone, type:CODETYPE.修改密码, isUse:false});
if (!codeInfo || !codeInfo.codeNum) { if (!codeInfo || !codeInfo.codeNum) {
throw new BizError(ERRORENUM.验证码错误); throw new BizError(ERRORENUM.验证码错误);
} }
if (!userId) {
let userInfo = await findOnce(TABLEENUM.用户表, {phone}, ["userId", "isInput", "inputUserChangePwd"]); let userInfo = await findOnce(TABLEENUM.用户表, {phone}, ["userId", "isInput", "inputUserChangePwd", "unitMemberType", "memberType"]);
if (!userInfo || !userInfo.userId) throw new BizError(ERRORENUM.手机号不正确); if (!userInfo || !userInfo.userId) throw new BizError(ERRORENUM.手机号不正确);
// let pwdStr = generatePwd(userInfo.userId, pwd); todo if (userInfo.isInput && !userInfo.inputUserChangePwd && (userInfo.memberType == MEMBERTYPE.单位会员 && userInfo.unitMemberType == UNITMEMBERTYPE.院校)) {
let pwdStr = pwd; throw new BizError(ERRORENUM.密码修改错误);
let updateInfo:any = {pwd:pwdStr}; }
if (userInfo.isInput && !userInfo.inputUserChangePwd) { // let pwdStr = generatePwd(userInfo.userId, pwd); todo
updateInfo.inputUserChangePwd = true; let pwdStr = pwd;
let updateInfo:any = {pwd:pwdStr};
await updateOneData(TABLEENUM.用户表, {userId:userInfo.userId}, updateInfo);
await updateOneData(TABLEENUM.验证码表, {codeNum:code, phone, type:CODETYPE.修改密码, isUse:false}, {isUse:true});
} else {
//首次登录
let userInfo = await findOnce(TABLEENUM.用户表, {userId}, ["userId", "isInput" ,"inputUserChangePwd", "phone", "memberType", "unitMemberType"]);
if (!userInfo.userId) {
throw new BizError(ERRORENUM.账号不存在)
}
let checkUserInfo = await findOnce(TABLEENUM.用户表, {phone}, ["userId"]);
if (checkUserInfo && checkUserInfo.userId) throw new BizError(ERRORENUM.该手机号已被注册);
if (!userInfo.isInput ) {
throw new BizError(ERRORENUM.密码修改错误);
}else if ((userInfo.inputUserChangePwd == true) && (userInfo.memberType == MEMBERTYPE.单位会员 && userInfo.unitMemberType == UNITMEMBERTYPE.院校)) {
throw new BizError(ERRORENUM.密码修改错误);
} else {
let pwdStr = pwd;
let updateInfo:any = {pwd:pwdStr};
if (userInfo.isInput && !userInfo.inputUserChangePwd) {
updateInfo.phone = phone;
updateInfo.inputUserChangePwd = true;
}
await updateOneData(TABLEENUM.用户表, {userId:userInfo.userId}, updateInfo);
await updateOneData(TABLEENUM.验证码表, {codeNum:code, phone, type:CODETYPE.修改密码, isUse:false}, {isUse:true});
}
} }
await updateOneData(TABLEENUM.用户表, {userId:userInfo.userId}, updateInfo);
await updateOneData(TABLEENUM.验证码表, {codeNum:code, phone, type:CODETYPE.修改密码, isUse:false}, {isUse:true});
return successResult(); return successResult();
} }
...@@ -112,27 +137,70 @@ export async function changePwd({phone, pwd, confirmation, code}) { ...@@ -112,27 +137,70 @@ export async function changePwd({phone, pwd, confirmation, code}) {
* @param phone * @param phone
* @returns * @returns
*/ */
export async function memberChangePwdSendCode({phone}) { export async function memberChangePwdSendCode({userId, phone}) {
let userInfo = await findOnce(TABLEENUM.用户表, {phone}, ["userId"]); if (!userId) {
if (!userInfo || !userInfo.userId) throw new BizError(ERRORENUM.不存在该手机号的账号); let userInfo = await findOnce(TABLEENUM.用户表, {phone}, ["userId"]);
const NowMs = new Date().valueOf(); if (!userInfo || !userInfo.userId) throw new BizError(ERRORENUM.不存在该手机号的账号);
let codeSelectParam = { phone, isUse:false, type:CODETYPE.修改密码, sendMs:{"$gt":getTodayMs()} } const NowMs = new Date().valueOf();
let lastCodeInfo = await findOnceToSort(TABLEENUM.验证码表, codeSelectParam, {sendMs:-1}); let codeSelectParam = { phone, isUse:false, type:CODETYPE.修改密码, sendMs:{"$gt":getTodayMs()} }
let lastCodeInfo = await findOnceToSort(TABLEENUM.验证码表, codeSelectParam, {sendMs:-1});
if (lastCodeInfo && lastCodeInfo.codeNum) {
if ( (lastCodeInfo.sendMs + (60*1000)) > NowMs ) throw new BizError(ERRORENUM.频繁操作请稍后再试); if (lastCodeInfo && lastCodeInfo.codeNum) {
/**校验今日同类型验证码次数 */ if ( (lastCodeInfo.sendMs + (60*1000)) > NowMs ) throw new BizError(ERRORENUM.频繁操作请稍后再试);
let todayNotUseCount = await findCount(TABLEENUM.验证码表, codeSelectParam); /**校验今日同类型验证码次数 */
if (todayNotUseCount >= 4) throw new BizError(ERRORENUM.发送验证码次数超限制, `${phone} 注册验证码超过限制3`); let todayNotUseCount = await findCount(TABLEENUM.验证码表, codeSelectParam);
} if (todayNotUseCount >= 4) throw new BizError(ERRORENUM.发送验证码次数超限制, `${phone} 注册验证码超过限制3`);
}
const Code = generateSMSCode();//生成短信验证码 const Code = generateSMSCode();//生成短信验证码
/**发送短信模块 */ /**发送短信模块 */
await sendALSMS(Code, phone); await sendALSMS(Code, phone);
let addInfo = {codeNum:Code, phone, sendMs:NowMs, type:CODETYPE.修改密码, isUse:false}; let addInfo = {codeNum:Code, phone, sendMs:NowMs, type:CODETYPE.修改密码, isUse:false};
await addOneData(TABLEENUM.验证码表, addInfo); await addOneData(TABLEENUM.验证码表, addInfo);
return {code:""}; return {code:""};
}
let userInfo = await findOnce(TABLEENUM.用户表, {userId}, ["userId", "isInput" ,"inputUserChangePwd", "phone", "memberType", "unitMemberType"]);
if (!userInfo.userId) {
throw new BizError(ERRORENUM.账号不存在)
}
if (userInfo.isInput && userInfo.inputUserChangePwd == false && userInfo.memberType == MEMBERTYPE.单位会员 && userInfo.unitMemberType == UNITMEMBERTYPE.院校) {
//首次修改密码
const NowMs = new Date().valueOf();
let codeSelectParam = { phone, isUse:false, type:CODETYPE.修改密码, sendMs:{"$gt":getTodayMs()} };
let lastCodeInfo = await findOnceToSort(TABLEENUM.验证码表, codeSelectParam, {sendMs:-1});
if (lastCodeInfo && lastCodeInfo.codeNum) {
if ( (lastCodeInfo.sendMs + (60*1000)) > NowMs ) throw new BizError(ERRORENUM.频繁操作请稍后再试);
/**校验今日同类型验证码次数 */
let todayNotUseCount = await findCount(TABLEENUM.验证码表, codeSelectParam);
if (todayNotUseCount >= 4) throw new BizError(ERRORENUM.发送验证码次数超限制, `${phone} 注册验证码超过限制3`);
}
const Code = generateSMSCode();//生成短信验证码
/**发送短信模块 */
await sendALSMS(Code, phone);
let addInfo = {codeNum:Code, phone, sendMs:NowMs, type:CODETYPE.修改密码, isUse:false};
await addOneData(TABLEENUM.验证码表, addInfo);
return {code:""};
} else {
//非导入用户
if (phone != userInfo.phone) throw new BizError(ERRORENUM.与预览手机号码不一致);
const NowMs = new Date().valueOf();
let codeSelectParam = { phone, isUse:false, type:CODETYPE.修改密码, sendMs:{"$gt":getTodayMs()} };
let lastCodeInfo = await findOnceToSort(TABLEENUM.验证码表, codeSelectParam, {sendMs:-1});
if (lastCodeInfo && lastCodeInfo.codeNum) {
if ( (lastCodeInfo.sendMs + (60*1000)) > NowMs ) throw new BizError(ERRORENUM.频繁操作请稍后再试);
/**校验今日同类型验证码次数 */
let todayNotUseCount = await findCount(TABLEENUM.验证码表, codeSelectParam);
if (todayNotUseCount >= 4) throw new BizError(ERRORENUM.发送验证码次数超限制, `${phone} 注册验证码超过限制3`);
}
const Code = generateSMSCode();//生成短信验证码
/**发送短信模块 */
await sendALSMS(Code, phone);
let addInfo = {codeNum:Code, phone, sendMs:NowMs, type:CODETYPE.修改密码, isUse:false};
await addOneData(TABLEENUM.验证码表, addInfo);
return {code:""};
}
} }
...@@ -70,7 +70,10 @@ export enum ERRORENUM { ...@@ -70,7 +70,10 @@ export enum ERRORENUM {
权限错误, 权限错误,
注册已暂时关闭, 注册已暂时关闭,
不可以提前下载发票, 不可以提前下载发票,
请先提供发票信息 请先提供发票信息,
与预览手机号码不一致,
账号不存在,
密码修改错误
} }
export enum ERRORCODEENUM { export enum ERRORCODEENUM {
......
...@@ -343,6 +343,7 @@ export const Config = { ...@@ -343,6 +343,7 @@ export const Config = {
subUrl:'/changepwd', subUrl:'/changepwd',
notMiddleware:true, notMiddleware:true,
param:[ param:[
{key:"userId", type:"String", desc:"userId", notMustHave:true},
{key:"phone", type:"String", desc:"绑定手机号"}, {key:"phone", type:"String", desc:"绑定手机号"},
{key:"pwd", type:"String", desc:"密码"}, {key:"pwd", type:"String", desc:"密码"},
{key:"confirmation", type:"String", desc:"二次确认密码"}, {key:"confirmation", type:"String", desc:"二次确认密码"},
...@@ -354,6 +355,7 @@ export const Config = { ...@@ -354,6 +355,7 @@ export const Config = {
subUrl:'/getchangepwdcode', subUrl:'/getchangepwdcode',
notMiddleware:true, notMiddleware:true,
param:[ param:[
{key:"userId", type:"String", desc:"userId", notMustHave:true},
{key:"phone", type:"String", desc:"绑定手机号"} {key:"phone", type:"String", desc:"绑定手机号"}
], ],
bindBiz:userBiz.memberChangePwdSendCode bindBiz:userBiz.memberChangePwdSendCode
...@@ -554,7 +556,8 @@ export const Config = { ...@@ -554,7 +556,8 @@ export const Config = {
{key:"mail", type:"String", desc:"邮箱", isNull:true}, {key:"mail", type:"String", desc:"邮箱", isNull:true},
{key:"sheng", type:"String", desc:"省", isNull:true}, {key:"sheng", type:"String", desc:"省", isNull:true},
{key:"shi", type:"String", desc:"市", isNull:true}, {key:"shi", type:"String", desc:"市", isNull:true},
{key:"pageNumber", type:"Number", desc:"当前页"} {key:"pageNumber", type:"Number", desc:"当前页"},
{key:"examineState", type:"Number", desc:"审核状态", isNull:true},
], ],
bindBiz:examineBiz.pendingReviewList bindBiz:examineBiz.pendingReviewList
}, },
......
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