1.修复新增用户没有pushkey的问题

2.将重置pushkey改为修改pushkey
pull/549/head
jiang 2022-07-19 18:13:19 +08:00
parent 7f5a18d6b5
commit fc0ad32f81
6 changed files with 142 additions and 37 deletions

View File

@ -25,5 +25,5 @@ public interface IUserService {
PageInfo<User> getUsers(int page, int count);
int resetPushKey(int id);
int changePushKey(int id, String pushKey);
}

View File

@ -75,7 +75,7 @@ public class UserServiceImpl implements IUserService {
}
@Override
public int resetPushKey(int id) {
return userMapper.resetPushKey(id);
public int changePushKey(int id, String pushKey) {
return userMapper.changePushKey(id,pushKey);
}
}

View File

@ -60,6 +60,6 @@ public interface UserMapper {
@ResultMap(value="roleMap")
List<User> getUsers();
@Delete("update user set pushKey=MD5(NOW()+#{id}) where id=#{id}")
int resetPushKey(int id);
@Update("update user set pushKey=#{pushKey} where id=#{id}")
int changePushKey(int id, String pushKey);
}

View File

@ -124,7 +124,8 @@ public class UserController {
User user = new User();
user.setUsername(username);
user.setPassword(DigestUtils.md5DigestAsHex(password.getBytes()));
//新增用户的pushKey的生成规则为md5(时间戳+用户名)
user.setPushKey(DigestUtils.md5DigestAsHex((System.currentTimeMillis()+password).getBytes()));
Role role = roleService.getRoleById(roleId);
if (role == null) {
@ -138,6 +139,7 @@ public class UserController {
user.setUpdateTime(DateUtil.getNow());
int addResult = userService.addUser(user);
result.setCode(addResult > 0 ? 0 : -1);
result.setMsg(addResult > 0 ? "success" : "fail");
result.setData(addResult);
@ -196,12 +198,13 @@ public class UserController {
return userService.getUsers(page, count);
}
@ApiOperation("重置pushkey")
@ApiOperation("修改pushkey")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", required = true, value = "用户Id", dataTypeClass = Integer.class),
@ApiImplicitParam(name = "userId", required = true, value = "用户Id", dataTypeClass = Integer.class),
@ApiImplicitParam(name = "pushKey", required = true, value = "新的pushKey", dataTypeClass = String.class),
})
@RequestMapping("/resetPushKey")
public ResponseEntity<WVPResult<String>> resetPushKey(@RequestParam Integer id) {
@RequestMapping("/changePushKey")
public ResponseEntity<WVPResult<String>> changePushKey(@RequestParam Integer userId,@RequestParam String pushKey) {
// 获取当前登录用户id
int currenRoleId = SecurityUtils.getUserInfo().getRole().getId();
WVPResult<String> result = new WVPResult<>();
@ -211,7 +214,7 @@ public class UserController {
result.setMsg("用户无权限");
return new ResponseEntity<>(result, HttpStatus.FORBIDDEN);
}
int resetPushKeyResult = userService.resetPushKey(id);
int resetPushKeyResult = userService.changePushKey(userId,pushKey);
result.setCode(resetPushKeyResult > 0 ? 0 : -1);
result.setMsg(resetPushKeyResult > 0 ? "success" : "fail");

View File

@ -21,7 +21,7 @@
<template slot-scope="scope">
<el-button size="medium" icon="el-icon-edit" type="text" @click="edit(scope.row)"></el-button>
<el-divider direction="vertical"></el-divider>
<el-button size="medium" icon="el-icon-refresh" type="text" @click="resetPushKey(scope.row)">pushkey</el-button>
<el-button size="medium" icon="el-icon-edit" type="text" @click="changePushKey(scope.row)">pushkey</el-button>
<el-divider direction="vertical"></el-divider>
<el-button size="medium" icon="el-icon-delete" type="text" @click="deleteUser(scope.row)"
style="color: #f56c6c">删除
@ -30,6 +30,7 @@
</el-table-column>
</el-table>
<changePasswordForAdmin ref="changePasswordForAdmin"></changePasswordForAdmin>
<changePushKey ref="changePushKey"></changePushKey>
<addUser ref="addUser"></addUser>
<el-pagination
style="float: right"
@ -47,6 +48,7 @@
<script>
import uiHeader from '../layout/UiHeader.vue'
import changePasswordForAdmin from './dialog/changePasswordForAdmin.vue'
import changePushKey from './dialog/changePushKey.vue'
import addUser from '../components/dialog/addUser.vue'
export default {
@ -54,6 +56,7 @@ export default {
components: {
uiHeader,
changePasswordForAdmin,
changePushKey,
addUser
},
data() {
@ -118,7 +121,7 @@ export default {
message: "密码修改成功",
type: "success",
});
setTimeout(this.getDeviceList, 200)
setTimeout(this.getUserList, 200)
})
},
@ -148,34 +151,31 @@ export default {
},
resetPushKey: function (row) {
let msg = "确定重置pushkey"
if (row.online !== 0) {
msg = "<strong>确定重置pushkey</strong>"
}
this.$confirm(msg, '提示', {
dangerouslyUseHTMLString: true,
confirmButtonText: '确定',
cancelButtonText: '取消',
center: true,
type: 'warning'
}).then(() => {
this.$axios({
method: 'get',
url: `/api/user/resetPushKey?id=${row.id}`
}).then((res) => {
this.getUserList();
}).catch((error) => {
console.error(error);
changePushKey: function (row) {
this.$refs.changePushKey.openDialog(row, () => {
this.$refs.changePushKey.close();
this.$message({
showClose: true,
message: "pushKey修改成功",
type: "success",
});
}).catch(() => {
});
setTimeout(this.getUserList, 200)
})
},
addUser: function () {
this.$refs.addUser.openDialog()
// this.$refs.addUser.openDialog()
this.$refs.addUser.openDialog( () => {
this.$refs.addUser.close();
this.$message({
showClose: true,
message: "用户添加成功",
type: "success",
});
setTimeout(this.getUserList, 200)
})
}
}
}

View File

@ -0,0 +1,102 @@
<template>
<div id="changepushKey" v-loading="isLoging">
<el-dialog
title="修改密码"
width="42%"
top="2rem"
:close-on-click-modal="false"
:visible.sync="showDialog"
:destroy-on-close="true"
@close="close()"
>
<div id="shared" style="margin-right: 18px;">
<el-form ref="pushKeyForm" :rules="rules" status-icon label-width="86px">
<el-form-item label="新pushKey" prop="newPushKey" >
<el-input v-model="newPushKey" autocomplete="off"></el-input>
</el-form-item>
<el-form-item>
<div style="float: right;">
<el-button type="primary" @click="onSubmit"></el-button>
<el-button @click="close"></el-button>
</div>
</el-form-item>
</el-form>
</div>
</el-dialog>
</div>
</template>
<script>
export default {
name: "changePushKey",
props: {},
computed: {},
created() {},
data() {
let validatePass1 = (rule, value, callback) => {
if (value === '') {
callback(new Error('请输入新pushKey'));
} else {
callback();
}
};
return {
newPushKey: null,
confirmpushKey: null,
userId: null,
showDialog: false,
isLoging: false,
listChangeCallback: null,
form: {},
rules: {
newpushKey: [{ required: true, validator: validatePass1, trigger: "blur" }],
},
};
},
methods: {
openDialog: function (row, callback) {
console.log(row)
this.showDialog = true;
this.listChangeCallback = callback;
if (row != null) {
this.form = row;
}
},
onSubmit: function () {
this.$axios({
method: 'post',
url:"/api/user/changePushKey",
params: {
pushKey: this.newPushKey,
userId: this.form.id,
}
}).then((res)=> {
console.log(res.data)
if (res.data.msg === "success"){
this.$message({
showClose: true,
message: '修改成功',
type: 'success'
});
this.showDialog = false;
this.listChangeCallback();
}else {
this.$message({
showClose: true,
message: '修改密码失败,是否已登录(接口鉴权关闭无法修改密码)',
type: 'error'
});
}
}).catch((error)=> {
console.error(error)
});
},
close: function () {
this.showDialog = false;
this.newpushKey = null;
this.userId=null;
this.adminId=null;
},
},
};
</script>