付智勇

1、用户修改 2、事务添加 3、响应体修改

... ... @@ -68,4 +68,39 @@ userController.prototype.login = async(ctx, next) =>{
}
}
userController.prototype.getStu = async(ctx, next) =>{
const stuType = ctx.params.type;
if(!stuType){
return status.paramError('type');
}
try {
let stu = await userService.getStu(stuType);
return stu
} catch (error) {
throw new Error(error)
}
}
userController.prototype.updateUserByUserId = async(ctx, next) =>{
const userId = ctx.params.userId;
const updateData = ctx.request.body;
if(!userId){
return status.paramError('userId');
}
if(!updateData){
return {code:0,msg:'修改内容不能为空'}
}
if(updateData.id||updateData.password||updateData.salt||updateData.userType){
return {code:3,msg:'用户id、密码、类型是不能修改的'}
}
try {
let stu = await userService.updateUserByUserId(userId,updateData);
return stu
} catch (error) {
throw new Error(error)
}
}
module.exports = new userController();
\ No newline at end of file
... ...
var sequelize = require('../config');
var Sequelize = require('sequelize');
const uuid = require('../util/UuidUtil')
var user = sequelize.define('3m_meeting', {
id: {
type: Sequelize.STRING(32),
defaultValue:uuid.db32(),
allowNull: false,
unique: true,
primaryKey: true,
field: "id"
},
meetingNumber: {
type:Sequelize.STRING(32),
field: "meeting_number"
},
meetingName: {
type:Sequelize.STRING(128),
field: "meeting_name"
},
meetingContent:{
type:Sequelize.TEXT(0),
field: "meeting_content"
},
create_user:{
type:Sequelize.STRING(128),
field: "user_name"
},
createTime:{
type:Sequelize.DATE,
defaultValue:Sequelize.NOW,
field: "create_time"
},
beginTime:{
type:Sequelize.DATE,
defaultValue:Sequelize.NOW,
field: "begin_time"
},
endTime:{
type:Sequelize.DATE,
field: "end_time"
},
inviteUser:{
type:Sequelize.STRING(1024),
field: "invite_user"
},
meetingType:{
type:Sequelize.INTEGER(4),
field: "meeting_type"
},
meetingStatus:{
type:Sequelize.STRING(32),
field: "meeting_status"
},
userIp:{
type:Sequelize.INTEGER(11),
field: "user_ip"
},
meetingKey:{
type:Sequelize.STRING(128),
field: "meeting_key"
},
}, {
timestamps: false,
freezeTableName: true
});
module.exports = user;
\ No newline at end of file
... ...
var sequelize = require('../config');
var Sequelize = require('sequelize');
const uuid = require('../util/UuidUtil')
var site = sequelize.define('3m_site', {
id: {
type: Sequelize.STRING(32),
defaultValue:uuid.db32(),
allowNull: false,
unique: true,
primaryKey: true,
field: "id"
},
siteId: {
type:Sequelize.STRING(32),
field: "siteid"
},
siteKey: {
type:Sequelize.STRING(128),
field: "site_key"
},
startDate:{
type:Sequelize.TEXT(0),
field: "startdate"
},
endDate:{
type:Sequelize.STRING(1024),
field: "enddate"
},
aseKey:{
type:Sequelize.STRING(128),
field: "ase_key"
},
mcuList:{
type:Sequelize.INTEGER(1),
field: "mcu_list"
},
msList:{
type:Sequelize.INTEGER(1),
field: "ms_list"
},
rsList:{
type:Sequelize.INTEGER(1),
field: "rs_list"
},
docList:{
type:Sequelize.STRING(32),
field: "doc_list"
}
}, {
timestamps: false,
freezeTableName: true
});
module.exports = site;
\ No newline at end of file
... ...
... ... @@ -57,7 +57,6 @@ var user = sequelize.define('3m_user', {
},
endTime:{
type:Sequelize.DATE,
defaultValue:Sequelize.NOW,
field: "end_time"
},
content:{
... ...
... ... @@ -22,6 +22,26 @@ router.post('/login',async(ctx, next)=>{
}
})
router.get('/getStu/:type',async(ctx, next)=>{
try{
var data = await userContoller.getStu(ctx, next);
status.successTemp(ctx,200,data);
}catch(e){
status.catchError(ctx,400,e.message);
}
})
router.put('/updateUserByUserId/:userId',async(ctx, next)=>{
try{
let updateBackData = await userContoller.updateUserByUserId(ctx, next);
status.successTemp(ctx,200,updateBackData);
}catch(e){
console.log(e)
status.catchError(ctx,400,e.message);
}
})
module.exports = router
... ...
var userModel = require('../model/userModel');
var status = require('../util/resTemplate');
var saitMd5 = require('../util/saltMD5');
var Sequelize = new require('sequelize');
var sequelize = require('../config');
var tokenUtil = require('../util/tokenUtil');
var co = require('co');
... ... @@ -32,7 +32,7 @@ try{
userService.prototype.login = async(name,pw) => {
try{
var User = await userModel.find({where:{loginName:name}})
let User = await userModel.find({where:{loginName:name}})
console.dir(User)
if(!User){
return {code:0,msg:'用户不存在'}
... ... @@ -45,11 +45,41 @@ userService.prototype.login = async(name,pw) => {
console.log(err)
throw new Error(err);
}
// try{
// }catch (err){
// return {code:0,msg:err};
// }
}
userService.prototype.getStu = async(type)=>{
try {
let User = await userModel.findAll({where:{userType:type}});
return User
} catch (error) {
throw new Error(err);
}
}
userService.prototype.updateUserByUserId = async(userId,data)=>{
try {
var t = await sequelize.transaction({ autocommit: true })
let oldUser = await userModel.findAll({where:{id:userId}},{transaction: t});
if(!oldUser){
t.rollback()
return {msg:'用户不存在'}
}
if(data.loginName){
let loginNameUser = await userModel.findAll({where:{loginName:data.loginName}},{transaction: t});
if(loginNameUser[0]){
t.rollback()
return {code:1,msg:'用户名已存在'}
}
}
let updateUser = await userModel.update(data,{where:{id:userId}},{transaction: t});
let updateAfterUser = await userModel.find({where:{id:userId}},{transaction: t});
await t.commit();
delete updateAfterUser.password;
delete updateAfterUser.salt
return updateAfterUser
} catch (error) {
t.rollback();
throw new Error(error);
}
}
... ...
... ... @@ -9,20 +9,14 @@ module.exports = {
},
paramError:(paramName,text,selfData,code) => {
var content = !text ? '是无效字段':text;
if(!data){
if(!selfData){
return {
code:code,
data:{
msg:paramName+content
}
};
}else {
return {
code:code,
data:{
msg:data
msg:selfData
}
};;
}
},
catchError:(ctx,code,e) =>{
... ... @@ -37,7 +31,7 @@ module.exports = {
successTemp: (ctx,code,data)=>{
ctx.response.status= 200;
ctx.response.body= {
code:code,
code:data.code ? data.code:200,
returnData:{
data:data
}
... ...