付智勇

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

@@ -68,4 +68,39 @@ userController.prototype.login = async(ctx, next) =>{ @@ -68,4 +68,39 @@ userController.prototype.login = async(ctx, next) =>{
68 } 68 }
69 69
70 } 70 }
  71 +
  72 +userController.prototype.getStu = async(ctx, next) =>{
  73 + const stuType = ctx.params.type;
  74 + if(!stuType){
  75 + return status.paramError('type');
  76 + }
  77 +
  78 + try {
  79 + let stu = await userService.getStu(stuType);
  80 + return stu
  81 + } catch (error) {
  82 + throw new Error(error)
  83 + }
  84 +}
  85 +userController.prototype.updateUserByUserId = async(ctx, next) =>{
  86 + const userId = ctx.params.userId;
  87 + const updateData = ctx.request.body;
  88 + if(!userId){
  89 + return status.paramError('userId');
  90 + }
  91 + if(!updateData){
  92 + return {code:0,msg:'修改内容不能为空'}
  93 + }
  94 + if(updateData.id||updateData.password||updateData.salt||updateData.userType){
  95 + return {code:3,msg:'用户id、密码、类型是不能修改的'}
  96 + }
  97 +
  98 + try {
  99 + let stu = await userService.updateUserByUserId(userId,updateData);
  100 + return stu
  101 + } catch (error) {
  102 + throw new Error(error)
  103 + }
  104 +}
  105 +
71 module.exports = new userController(); 106 module.exports = new userController();
  1 +var sequelize = require('../config');
  2 +var Sequelize = require('sequelize');
  3 +const uuid = require('../util/UuidUtil')
  4 +
  5 +
  6 +var user = sequelize.define('3m_meeting', {
  7 + id: {
  8 + type: Sequelize.STRING(32),
  9 + defaultValue:uuid.db32(),
  10 + allowNull: false,
  11 + unique: true,
  12 + primaryKey: true,
  13 + field: "id"
  14 + },
  15 + meetingNumber: {
  16 + type:Sequelize.STRING(32),
  17 + field: "meeting_number"
  18 + },
  19 + meetingName: {
  20 + type:Sequelize.STRING(128),
  21 + field: "meeting_name"
  22 + },
  23 + meetingContent:{
  24 + type:Sequelize.TEXT(0),
  25 + field: "meeting_content"
  26 + },
  27 + create_user:{
  28 + type:Sequelize.STRING(128),
  29 + field: "user_name"
  30 + },
  31 + createTime:{
  32 + type:Sequelize.DATE,
  33 + defaultValue:Sequelize.NOW,
  34 + field: "create_time"
  35 + },
  36 + beginTime:{
  37 + type:Sequelize.DATE,
  38 + defaultValue:Sequelize.NOW,
  39 + field: "begin_time"
  40 + },
  41 + endTime:{
  42 + type:Sequelize.DATE,
  43 + field: "end_time"
  44 + },
  45 + inviteUser:{
  46 + type:Sequelize.STRING(1024),
  47 + field: "invite_user"
  48 + },
  49 + meetingType:{
  50 + type:Sequelize.INTEGER(4),
  51 + field: "meeting_type"
  52 + },
  53 + meetingStatus:{
  54 + type:Sequelize.STRING(32),
  55 + field: "meeting_status"
  56 + },
  57 + userIp:{
  58 + type:Sequelize.INTEGER(11),
  59 + field: "user_ip"
  60 + },
  61 + meetingKey:{
  62 + type:Sequelize.STRING(128),
  63 + field: "meeting_key"
  64 + },
  65 +}, {
  66 + timestamps: false,
  67 + freezeTableName: true
  68 + });
  69 +
  70 +module.exports = user;
  1 +var sequelize = require('../config');
  2 +var Sequelize = require('sequelize');
  3 +const uuid = require('../util/UuidUtil')
  4 +
  5 +
  6 +var site = sequelize.define('3m_site', {
  7 + id: {
  8 + type: Sequelize.STRING(32),
  9 + defaultValue:uuid.db32(),
  10 + allowNull: false,
  11 + unique: true,
  12 + primaryKey: true,
  13 + field: "id"
  14 + },
  15 + siteId: {
  16 + type:Sequelize.STRING(32),
  17 + field: "siteid"
  18 + },
  19 + siteKey: {
  20 + type:Sequelize.STRING(128),
  21 + field: "site_key"
  22 + },
  23 + startDate:{
  24 + type:Sequelize.TEXT(0),
  25 + field: "startdate"
  26 + },
  27 + endDate:{
  28 + type:Sequelize.STRING(1024),
  29 + field: "enddate"
  30 + },
  31 + aseKey:{
  32 + type:Sequelize.STRING(128),
  33 + field: "ase_key"
  34 + },
  35 + mcuList:{
  36 + type:Sequelize.INTEGER(1),
  37 + field: "mcu_list"
  38 + },
  39 + msList:{
  40 + type:Sequelize.INTEGER(1),
  41 + field: "ms_list"
  42 + },
  43 + rsList:{
  44 + type:Sequelize.INTEGER(1),
  45 + field: "rs_list"
  46 + },
  47 + docList:{
  48 + type:Sequelize.STRING(32),
  49 + field: "doc_list"
  50 + }
  51 +}, {
  52 + timestamps: false,
  53 + freezeTableName: true
  54 + });
  55 +
  56 +module.exports = site;
@@ -57,7 +57,6 @@ var user = sequelize.define('3m_user', { @@ -57,7 +57,6 @@ var user = sequelize.define('3m_user', {
57 }, 57 },
58 endTime:{ 58 endTime:{
59 type:Sequelize.DATE, 59 type:Sequelize.DATE,
60 - defaultValue:Sequelize.NOW,  
61 field: "end_time" 60 field: "end_time"
62 }, 61 },
63 content:{ 62 content:{
@@ -22,6 +22,26 @@ router.post('/login',async(ctx, next)=>{ @@ -22,6 +22,26 @@ router.post('/login',async(ctx, next)=>{
22 } 22 }
23 }) 23 })
24 24
  25 +router.get('/getStu/:type',async(ctx, next)=>{
  26 + try{
  27 + var data = await userContoller.getStu(ctx, next);
  28 + status.successTemp(ctx,200,data);
  29 + }catch(e){
  30 + status.catchError(ctx,400,e.message);
  31 + }
  32 +})
  33 +
  34 +router.put('/updateUserByUserId/:userId',async(ctx, next)=>{
  35 + try{
  36 + let updateBackData = await userContoller.updateUserByUserId(ctx, next);
  37 + status.successTemp(ctx,200,updateBackData);
  38 + }catch(e){
  39 + console.log(e)
  40 + status.catchError(ctx,400,e.message);
  41 + }
  42 +})
  43 +
  44 +
25 45
26 46
27 module.exports = router 47 module.exports = router
1 var userModel = require('../model/userModel'); 1 var userModel = require('../model/userModel');
2 var status = require('../util/resTemplate'); 2 var status = require('../util/resTemplate');
3 var saitMd5 = require('../util/saltMD5'); 3 var saitMd5 = require('../util/saltMD5');
4 -var Sequelize = new require('sequelize'); 4 +var sequelize = require('../config');
5 var tokenUtil = require('../util/tokenUtil'); 5 var tokenUtil = require('../util/tokenUtil');
6 var co = require('co'); 6 var co = require('co');
7 7
@@ -32,7 +32,7 @@ try{ @@ -32,7 +32,7 @@ try{
32 32
33 userService.prototype.login = async(name,pw) => { 33 userService.prototype.login = async(name,pw) => {
34 try{ 34 try{
35 - var User = await userModel.find({where:{loginName:name}}) 35 + let User = await userModel.find({where:{loginName:name}})
36 console.dir(User) 36 console.dir(User)
37 if(!User){ 37 if(!User){
38 return {code:0,msg:'用户不存在'} 38 return {code:0,msg:'用户不存在'}
@@ -45,11 +45,41 @@ userService.prototype.login = async(name,pw) => { @@ -45,11 +45,41 @@ userService.prototype.login = async(name,pw) => {
45 console.log(err) 45 console.log(err)
46 throw new Error(err); 46 throw new Error(err);
47 } 47 }
48 - // try{  
49 -  
50 - // }catch (err){  
51 - // return {code:0,msg:err};  
52 - // } 48 +}
  49 +
  50 +userService.prototype.getStu = async(type)=>{
  51 + try {
  52 + let User = await userModel.findAll({where:{userType:type}});
  53 + return User
  54 + } catch (error) {
  55 + throw new Error(err);
  56 + }
  57 +}
  58 +userService.prototype.updateUserByUserId = async(userId,data)=>{
  59 + try {
  60 + var t = await sequelize.transaction({ autocommit: true })
  61 + let oldUser = await userModel.findAll({where:{id:userId}},{transaction: t});
  62 + if(!oldUser){
  63 + t.rollback()
  64 + return {msg:'用户不存在'}
  65 + }
  66 + if(data.loginName){
  67 + let loginNameUser = await userModel.findAll({where:{loginName:data.loginName}},{transaction: t});
  68 + if(loginNameUser[0]){
  69 + t.rollback()
  70 + return {code:1,msg:'用户名已存在'}
  71 + }
  72 + }
  73 + let updateUser = await userModel.update(data,{where:{id:userId}},{transaction: t});
  74 + let updateAfterUser = await userModel.find({where:{id:userId}},{transaction: t});
  75 + await t.commit();
  76 + delete updateAfterUser.password;
  77 + delete updateAfterUser.salt
  78 + return updateAfterUser
  79 + } catch (error) {
  80 + t.rollback();
  81 + throw new Error(error);
  82 + }
53 } 83 }
54 84
55 85
@@ -9,20 +9,14 @@ module.exports = { @@ -9,20 +9,14 @@ module.exports = {
9 }, 9 },
10 paramError:(paramName,text,selfData,code) => { 10 paramError:(paramName,text,selfData,code) => {
11 var content = !text ? '是无效字段':text; 11 var content = !text ? '是无效字段':text;
12 - if(!data){ 12 + if(!selfData){
13 return { 13 return {
14 - code:code,  
15 - data:{  
16 msg:paramName+content 14 msg:paramName+content
17 } 15 }
18 - };  
19 }else { 16 }else {
20 return { 17 return {
21 - code:code,  
22 - data:{  
23 - msg:data 18 + msg:selfData
24 } 19 }
25 - };;  
26 } 20 }
27 }, 21 },
28 catchError:(ctx,code,e) =>{ 22 catchError:(ctx,code,e) =>{
@@ -37,7 +31,7 @@ module.exports = { @@ -37,7 +31,7 @@ module.exports = {
37 successTemp: (ctx,code,data)=>{ 31 successTemp: (ctx,code,data)=>{
38 ctx.response.status= 200; 32 ctx.response.status= 200;
39 ctx.response.body= { 33 ctx.response.body= {
40 - code:code, 34 + code:data.code ? data.code:200,
41 returnData:{ 35 returnData:{
42 data:data 36 data:data
43 } 37 }