提交 c332ffb0 编写于 作者: ibizdev's avatar ibizdev

ibiz4j 发布系统代码

上级 566f1b42
## v7.0.0-alpha.12 [2020-7-2]
### Bug修复
修复mpicker解析调整
修复表格列class逻辑调整
修复面板标签,隐藏表单项
修复嵌入视图导航服务逻辑调整
修复选择多数据视图选择数据异常
修复多行输入十行 高度问题
### 功能新增及优化
#### 模板
新增表单显示更多模式(658)
新增首页应用切换器(658)
新增状态向导面板(658)
优化门户操作栏
优化应用级数据状态同步功能
#### 基础文件
新增修改密码功能(654)
## v7.0.0-alpha.11 [2020-6-21]
### Bug修复
......
......@@ -76,6 +76,7 @@ import ContextMenuDrag from './components/context-menu-drag/context-menu-drag.vu
import AppOrgSelect from './components/app-org-select/app-org-select.vue'
import AppDepartmentSelect from './components/app-department-select/app-department-select.vue'
import AppGroupSelect from './components/app-group-select/app-group-select.vue'
import UpdatePwd from './components/app-update-password/app-update-password.vue'
// 全局挂载UI实体服务注册中心
window['uiServiceRegister'] = uiServiceRegister;
// 全局挂载功能服务注册中心
......@@ -163,5 +164,6 @@ export const AppComponents = {
v.component('app-breadcrumb',Breadcrumb);
v.component('app-transfer',AppTransfer);
v.component('context-menu-drag',ContextMenuDrag);
v.component('app-update-password',UpdatePwd);
},
};
\ No newline at end of file
......@@ -2,7 +2,7 @@
<div class="app-actionbar">
<div class="app-actionbar-item" v-for="(item,index) in items" :key="index">
<Badge v-if="item.counterService&&item.counterService.counterData" :count="item.counterService.counterData[item.counterId]" type="primary">
<i-button @click="handleClick(item.viewlogicname)">{{item.actionName}}</i-button>
<i-button @click="handleClick(item.viewlogicname)"><i v-if="item.icon" style="margin-right: 5px;" :class="item.icon"></i>{{item.actionName}}</i-button>
</Badge>
<i-button v-else @click="handleClick(item.viewlogicname)">{{item.actionName}}</i-button>
</div>
......
.update-password{
.password-item{
margin-top:10px;
padding:0 10px 0 10px;
.ivu-btn{
margin-top:15px;
}
}
.password-btn{
margin-top: 42px;
}
}
\ No newline at end of file
<template>
<div class="update-password">
<div class="password-item">
<label for>
原密码:
<Input type="password" v-model="oldPwd" @on-blur="oldPwdVaild"/>
</label>
</div>
<div class="password-item">
<label for>
新密码:
<Input type="password" v-model="newPwd" @on-blur="newPwdVaild"/>
</label>
</div>
<div class="password-item">
<label for>
确认密码:
<Input type="password" v-model="confirmPwd" :disabled="!this.newPwd" @on-blur="confirmVaild" />
</label>
</div>
<div class="password-item password-btn">
<Button type="primary" long :disabled="!oldPwd || !newPwd || !confirmPwd || disUpdate" @click="updatePwd">确认修改</Button>
</div>
</div>
</template>
<script lang = 'ts'>
import { Component, Vue, Prop, Model, Watch } from "vue-property-decorator";
import { Subject } from "rxjs";
import { AppModal } from "@/utils";
import EntityService from '@/service/entity-service';
@Component({})
export default class AppUpdatePassword extends Vue {
/**
* 原密码
*
* @public
* @memberof AppUpdatePassword
*/
public oldPwd: string = "";
/**
* 新密码
*
* @public
* @memberof AppUpdatePassword
*/
public newPwd: string = "";
/**
* 确认密码
*
* @public
* @memberof AppUpdatePassword
*/
public confirmPwd: string = "";
/**
* 是否能禁用确认修改
*
* @public
* @memberof AppUpdatePassword
*/
public disUpdate:boolean = true;
/**
* 校验输入的原密码是否为空
*
* @public
* @memberof AppUpdatePassword
*/
public oldPwdVaild(){
if(!this.oldPwd){
this.$Notice.error({
title:'原密码不能为空!',
duration: 3
});
}
}
/**
* 校验输入的新密码是否为空
*
* @public
* @memberof AppUpdatePassword
*/
public newPwdVaild(){
if(!this.newPwd){
this.$Notice.error({
title:'新密码不能为空!',
duration: 3
});
}
}
/**
* 校验确认密码与新密码是否一致
*
* @public
* @memberof AppUpdatePassword
*/
public confirmVaild() {
if (this.newPwd && this.confirmPwd) {
if (this.confirmPwd !== this.newPwd) {
this.$Notice.error({
title:'两次输入密码不一致!',
duration: 3
});
}else{
this.disUpdate=false;
}
}
}
/**
* 实体服务对象
*
* @protected
* @type {EntityService}
* @memberof AppUpdatePassword
*/
protected entityService: EntityService = new EntityService();
/**
* 修改密码
*
* @public
* @memberof AppUpdatePassword
*/
public updatePwd(){
const post: Promise<any> = this.entityService.changPassword(null,{oldPwd:this.oldPwd,newPwd:this.newPwd});
post.then((response:any) =>{
if (response && response.status === 200) {
this.$emit("close");
}
}).catch((error: any) =>{
this.$Notice.error({
title:'系统异常',
duration: 3
});
console.error(error);
})
}
}
</script>
<style lang="less">
@import './app-update-password.less';
</style>
\ No newline at end of file
......@@ -6,6 +6,10 @@
&nbsp;&nbsp;<avatar :src="user.avatar" />
</div>
<dropdown-menu class='menu' slot='list' style='font-size: 15px !important;'>
<dropdown-item name='updatepwd' style='font-size: 15px !important;'>
<span><Icon type="ios-create-outline" style='margin-right: 8px;'/></span>
<span>{{$t('components.appUser.changepwd')}}</span>
</dropdown-item>
<dropdown-item name='logout' style='font-size: 15px !important;'>
<span><i aria-hidden='true' class='ivu-icon ivu-icon-md-power' style='margin-right: 8px;'></i></span>
<span>{{$t('components.appUser.logout')}}</span>
......@@ -16,7 +20,7 @@
</template>
<script lang = 'ts'>
import { Vue, Component } from 'vue-property-decorator';
import { Subject } from 'rxjs';
@Component({
})
export default class AppUser extends Vue {
......@@ -46,6 +50,13 @@ export default class AppUser extends Vue {
this.logout();
}
});
}else if (Object.is(data, 'updatepwd')) {
let container: Subject<any> = this.$appmodal.openModal({ viewname: 'app-update-password', title: "修改密码", width: 500, height: 400, }, {}, {});
container.subscribe((result: any) => {
if (!result || !Object.is(result.ret, 'OK')) {
return;
}
});
}
}
......
......@@ -89,7 +89,6 @@ export default class FilterTree extends Vue {
};
if(this.datas.length == 0) {
this.onAddItem(root);
this.onAddItem(root);
}
return [root];
}
......
......@@ -157,6 +157,7 @@ export default {
name: 'System',
logout: 'Logout',
surelogout: 'Are you sure logout?',
changepwd: "Change Password",
},
appTheme: {
caption: {
......
......@@ -152,12 +152,13 @@ export default {
placeholder: '请输入密码',
message: '密码不能为空',
},
loginfailed: '登失败',
loginfailed: '登失败',
},
appUser: {
name: '系统管理员',
logout: '退出登陆',
surelogout: '确认要退出登陆?',
logout: '退出登录',
surelogout: '确认要退出登录?',
changepwd: "修改密码",
},
appTheme: {
caption: {
......
......@@ -5,6 +5,33 @@ export default {
username: "用户全局名",
personname: "用户姓名",
password: "密码",
usercode: "用户工号",
loginname: "登录名",
domains: "区属",
mdeptid: "主部门",
mdeptcode: "主部门代码",
mdeptname: "主部门名称",
bcode: "业务编码",
postid: "岗位标识",
postcode: "岗位代码",
postname: "岗位名称",
orgid: "单位",
orgcode: "单位代码",
orgname: "单位名称",
nickname: "昵称别名",
certcode: "证件号码",
sex: "性别",
birthday: "出生日期",
phone: "联系方式",
email: "邮件",
avatar: "社交账号",
addr: "地址",
usericon: "照片",
theme: "样式",
lang: "语言",
fontsize: "字号",
memo: "备注",
reserver: "保留",
},
views: {
mpickupview: {
......
......@@ -4,6 +4,33 @@ export default {
username: "用户全局名",
personname: "用户姓名",
password: "密码",
usercode: "用户工号",
loginname: "登录名",
domains: "区属",
mdeptid: "主部门",
mdeptcode: "主部门代码",
mdeptname: "主部门名称",
bcode: "业务编码",
postid: "岗位标识",
postcode: "岗位代码",
postname: "岗位名称",
orgid: "单位",
orgcode: "单位代码",
orgname: "单位名称",
nickname: "昵称别名",
certcode: "证件号码",
sex: "性别",
birthday: "出生日期",
phone: "联系方式",
email: "邮件",
avatar: "社交账号",
addr: "地址",
usericon: "照片",
theme: "样式",
lang: "语言",
fontsize: "字号",
memo: "备注",
reserver: "保留",
},
views: {
mpickupview: {
......
......@@ -931,4 +931,15 @@ export default class EntityService {
return Http.getInstance().put(`uaa/access-center/app-switcher/default`,data,isloading);
}
/**
* 修改密码
*
* @param context
* @param data
* @param isloading
*/
public async changPassword(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
return Http.getInstance().post(`v7/changepwd`,data,isloading);
}
}
\ No newline at end of file
......@@ -6,7 +6,7 @@
export const getAppView = (state: any) => (viewtag: string) => {
const createdview = state.createdviews.find((appview: any) => Object.is(appview.secondtag, viewtag));
if (!createdview) {
console.log(`----视图 ${viewtag} 不存在-----`)
console.warn(`获取应用视图实例,,视图「${viewtag}」不存在`)
return null;
}
return createdview;
......@@ -20,7 +20,7 @@ export const getAppView = (state: any) => (viewtag: string) => {
export const getViewDataChangeState = (state:any) => (viewtag: string) => {
const createdview = state.createdviews.find((appview: any) => Object.is(appview.secondtag, viewtag));
if (!createdview) {
console.log(`----视图 ${viewtag} 不存在-----`)
console.warn(`获取视图数据状态,,视图「${viewtag}」不存在`)
return false;
}
return createdview.viewdatachange;
......@@ -34,7 +34,7 @@ export const getViewDataChangeState = (state:any) => (viewtag: string) => {
export const getRefreshData = (state: any) => (viewtag: string) => {
const createdview = state.createdviews.find((appview: any) => Object.is(appview.secondtag, viewtag));
if (!createdview) {
console.log(`----视图 ${viewtag} 不存在-----`)
console.warn(`获取数据刷新状态,视图「${viewtag}」不存在`)
return null;
}
return createdview.refreshdata;
......
......@@ -6,15 +6,10 @@
* @param param1
*/
export const createdView = (state: any, { viewtag, secondtag }: { viewtag: string, secondtag: string }) => {
// 该视图是否被创建
// const index = state.createdviews.findIndex((view: any) => Object.is(view.secondtag, viewtag));
// if (index !== -1) {
// return;
// }
// 原始数据中是否存在
const appview = state.appviews.find((appview: any) => Object.is(appview.viewtag, viewtag));
if (!appview) {
console.log(`----视图标识 ${viewtag} 不存在-----`)
console.warn(`视图「${viewtag}」原始数据不存在`);
return;
}
const _appview: any = JSON.parse(JSON.stringify(appview));
......@@ -48,7 +43,7 @@ export const removeView = (state: any, viewtag: string) => {
export const setViewDataChange = (state: any, { viewtag, viewdatachange }: { viewtag: string, viewdatachange: boolean }) => {
const createdview = state.createdviews.find((appview: any) => Object.is(appview.secondtag, viewtag));
if (!createdview) {
console.log(`----视图标识 ${viewtag} 不存在-----`)
console.warn(`设置数据状态变更,视图「${viewtag}」不存在`)
return;
}
createdview.viewdatachange = viewdatachange;
......@@ -63,7 +58,7 @@ export const setViewDataChange = (state: any, { viewtag, viewdatachange }: { vie
export const refreshViewData = (state: any, { viewtag }: { viewtag: string }) => {
const createdview = state.createdviews.find((appview: any) => Object.is(appview.secondtag, viewtag));
if (!createdview) {
console.log(`----视图标识 ${viewtag} 不存在-----`)
console.warn(`刷新视图数据,视图「${viewtag}」不存在`)
return;
}
createdview.refreshdata += 1;
......
......@@ -27,6 +27,87 @@ export default class DefaultModel {
{
name: 'password',
},
{
name: 'usercode',
},
{
name: 'loginname',
},
{
name: 'domains',
},
{
name: 'mdeptid',
},
{
name: 'mdeptcode',
},
{
name: 'mdeptname',
},
{
name: 'bcode',
},
{
name: 'postid',
},
{
name: 'postcode',
},
{
name: 'postname',
},
{
name: 'orgid',
},
{
name: 'orgcode',
},
{
name: 'orgname',
},
{
name: 'nickname',
},
{
name: 'certcode',
},
{
name: 'sex',
},
{
name: 'birthday',
},
{
name: 'phone',
},
{
name: 'email',
},
{
name: 'avatar',
},
{
name: 'addr',
},
{
name: 'usericon',
},
{
name: 'theme',
},
{
name: 'lang',
},
{
name: 'fontsize',
},
{
name: 'memo',
},
{
name: 'reserver',
},
]
}
......
......@@ -27,6 +27,87 @@ export default class MPickupViewpickupviewpanelModel {
{
name: 'password',
},
{
name: 'usercode',
},
{
name: 'loginname',
},
{
name: 'domains',
},
{
name: 'mdeptid',
},
{
name: 'mdeptcode',
},
{
name: 'mdeptname',
},
{
name: 'bcode',
},
{
name: 'postid',
},
{
name: 'postcode',
},
{
name: 'postname',
},
{
name: 'orgid',
},
{
name: 'orgcode',
},
{
name: 'orgname',
},
{
name: 'nickname',
},
{
name: 'certcode',
},
{
name: 'sex',
},
{
name: 'birthday',
},
{
name: 'phone',
},
{
name: 'email',
},
{
name: 'avatar',
},
{
name: 'addr',
},
{
name: 'usericon',
},
{
name: 'theme',
},
{
name: 'lang',
},
{
name: 'fontsize',
},
{
name: 'memo',
},
{
name: 'reserver',
},
]
}
......
......@@ -27,6 +27,87 @@ export default class PickupViewpickupviewpanelModel {
{
name: 'password',
},
{
name: 'usercode',
},
{
name: 'loginname',
},
{
name: 'domains',
},
{
name: 'mdeptid',
},
{
name: 'mdeptcode',
},
{
name: 'mdeptname',
},
{
name: 'bcode',
},
{
name: 'postid',
},
{
name: 'postcode',
},
{
name: 'postname',
},
{
name: 'orgid',
},
{
name: 'orgcode',
},
{
name: 'orgname',
},
{
name: 'nickname',
},
{
name: 'certcode',
},
{
name: 'sex',
},
{
name: 'birthday',
},
{
name: 'phone',
},
{
name: 'email',
},
{
name: 'avatar',
},
{
name: 'addr',
},
{
name: 'usericon',
},
{
name: 'theme',
},
{
name: 'lang',
},
{
name: 'fontsize',
},
{
name: 'memo',
},
{
name: 'reserver',
},
]
}
......
此差异已折叠。
......@@ -68,6 +68,198 @@ public class SysUser extends EntityMP implements Serializable {
@JSONField(name = "password")
@JsonProperty("password")
private String password;
/**
* 用户工号
*/
@TableField(value = "usercode")
@JSONField(name = "usercode")
@JsonProperty("usercode")
private String usercode;
/**
* 登录名
*/
@TableField(value = "loginname")
@JSONField(name = "loginname")
@JsonProperty("loginname")
private String loginname;
/**
* 区属
*/
@TableField(value = "domains")
@JSONField(name = "domains")
@JsonProperty("domains")
private String domains;
/**
* 主部门
*/
@TableField(value = "mdeptid")
@JSONField(name = "mdeptid")
@JsonProperty("mdeptid")
private String mdeptid;
/**
* 主部门代码
*/
@TableField(value = "mdeptcode")
@JSONField(name = "mdeptcode")
@JsonProperty("mdeptcode")
private String mdeptcode;
/**
* 主部门名称
*/
@TableField(value = "mdeptname")
@JSONField(name = "mdeptname")
@JsonProperty("mdeptname")
private String mdeptname;
/**
* 业务编码
*/
@TableField(value = "bcode")
@JSONField(name = "bcode")
@JsonProperty("bcode")
private String bcode;
/**
* 岗位标识
*/
@TableField(value = "postid")
@JSONField(name = "postid")
@JsonProperty("postid")
private String postid;
/**
* 岗位代码
*/
@TableField(value = "postcode")
@JSONField(name = "postcode")
@JsonProperty("postcode")
private String postcode;
/**
* 岗位名称
*/
@TableField(value = "postname")
@JSONField(name = "postname")
@JsonProperty("postname")
private String postname;
/**
* 单位
*/
@DEField(preType = DEPredefinedFieldType.ORGID)
@TableField(value = "orgid")
@JSONField(name = "orgid")
@JsonProperty("orgid")
private String orgid;
/**
* 单位代码
*/
@TableField(value = "orgcode")
@JSONField(name = "orgcode")
@JsonProperty("orgcode")
private String orgcode;
/**
* 单位名称
*/
@DEField(preType = DEPredefinedFieldType.ORGNAME)
@TableField(value = "orgname")
@JSONField(name = "orgname")
@JsonProperty("orgname")
private String orgname;
/**
* 昵称别名
*/
@TableField(value = "nickname")
@JSONField(name = "nickname")
@JsonProperty("nickname")
private String nickname;
/**
* 证件号码
*/
@TableField(value = "certcode")
@JSONField(name = "certcode")
@JsonProperty("certcode")
private String certcode;
/**
* 性别
*/
@TableField(value = "sex")
@JSONField(name = "sex")
@JsonProperty("sex")
private String sex;
/**
* 出生日期
*/
@TableField(value = "birthday")
@JsonFormat(pattern="yyyy-MM-dd", locale = "zh" , timezone="GMT+8")
@JSONField(name = "birthday" , format="yyyy-MM-dd")
@JsonProperty("birthday")
private Timestamp birthday;
/**
* 联系方式
*/
@TableField(value = "phone")
@JSONField(name = "phone")
@JsonProperty("phone")
private String phone;
/**
* 邮件
*/
@TableField(value = "email")
@JSONField(name = "email")
@JsonProperty("email")
private String email;
/**
* 社交账号
*/
@TableField(value = "avatar")
@JSONField(name = "avatar")
@JsonProperty("avatar")
private String avatar;
/**
* 地址
*/
@TableField(value = "addr")
@JSONField(name = "addr")
@JsonProperty("addr")
private String addr;
/**
* 照片
*/
@TableField(value = "usericon")
@JSONField(name = "usericon")
@JsonProperty("usericon")
private String usericon;
/**
* 样式
*/
@TableField(value = "theme")
@JSONField(name = "theme")
@JsonProperty("theme")
private String theme;
/**
* 语言
*/
@TableField(value = "lang")
@JSONField(name = "lang")
@JsonProperty("lang")
private String lang;
/**
* 字号
*/
@TableField(value = "fontsize")
@JSONField(name = "fontsize")
@JsonProperty("fontsize")
private String fontsize;
/**
* 备注
*/
@TableField(value = "memo")
@JSONField(name = "memo")
@JsonProperty("memo")
private String memo;
/**
* 保留
*/
@TableField(value = "reserver")
@JSONField(name = "reserver")
@JsonProperty("reserver")
private String reserver;
......@@ -95,6 +287,216 @@ public class SysUser extends EntityMP implements Serializable {
this.modify("password",password);
}
/**
* 设置 [用户工号]
*/
public void setUsercode(String usercode){
this.usercode = usercode ;
this.modify("usercode",usercode);
}
/**
* 设置 [登录名]
*/
public void setLoginname(String loginname){
this.loginname = loginname ;
this.modify("loginname",loginname);
}
/**
* 设置 [区属]
*/
public void setDomains(String domains){
this.domains = domains ;
this.modify("domains",domains);
}
/**
* 设置 [主部门]
*/
public void setMdeptid(String mdeptid){
this.mdeptid = mdeptid ;
this.modify("mdeptid",mdeptid);
}
/**
* 设置 [主部门代码]
*/
public void setMdeptcode(String mdeptcode){
this.mdeptcode = mdeptcode ;
this.modify("mdeptcode",mdeptcode);
}
/**
* 设置 [主部门名称]
*/
public void setMdeptname(String mdeptname){
this.mdeptname = mdeptname ;
this.modify("mdeptname",mdeptname);
}
/**
* 设置 [业务编码]
*/
public void setBcode(String bcode){
this.bcode = bcode ;
this.modify("bcode",bcode);
}
/**
* 设置 [岗位标识]
*/
public void setPostid(String postid){
this.postid = postid ;
this.modify("postid",postid);
}
/**
* 设置 [岗位代码]
*/
public void setPostcode(String postcode){
this.postcode = postcode ;
this.modify("postcode",postcode);
}
/**
* 设置 [岗位名称]
*/
public void setPostname(String postname){
this.postname = postname ;
this.modify("postname",postname);
}
/**
* 设置 [单位代码]
*/
public void setOrgcode(String orgcode){
this.orgcode = orgcode ;
this.modify("orgcode",orgcode);
}
/**
* 设置 [昵称别名]
*/
public void setNickname(String nickname){
this.nickname = nickname ;
this.modify("nickname",nickname);
}
/**
* 设置 [证件号码]
*/
public void setCertcode(String certcode){
this.certcode = certcode ;
this.modify("certcode",certcode);
}
/**
* 设置 [性别]
*/
public void setSex(String sex){
this.sex = sex ;
this.modify("sex",sex);
}
/**
* 设置 [出生日期]
*/
public void setBirthday(Timestamp birthday){
this.birthday = birthday ;
this.modify("birthday",birthday);
}
/**
* 格式化日期 [出生日期]
*/
public String formatBirthday(){
if (this.birthday == null) {
return null;
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
return sdf.format(birthday);
}
/**
* 设置 [联系方式]
*/
public void setPhone(String phone){
this.phone = phone ;
this.modify("phone",phone);
}
/**
* 设置 [邮件]
*/
public void setEmail(String email){
this.email = email ;
this.modify("email",email);
}
/**
* 设置 [社交账号]
*/
public void setAvatar(String avatar){
this.avatar = avatar ;
this.modify("avatar",avatar);
}
/**
* 设置 [地址]
*/
public void setAddr(String addr){
this.addr = addr ;
this.modify("addr",addr);
}
/**
* 设置 [照片]
*/
public void setUsericon(String usericon){
this.usericon = usericon ;
this.modify("usericon",usericon);
}
/**
* 设置 [样式]
*/
public void setTheme(String theme){
this.theme = theme ;
this.modify("theme",theme);
}
/**
* 设置 [语言]
*/
public void setLang(String lang){
this.lang = lang ;
this.modify("lang",lang);
}
/**
* 设置 [字号]
*/
public void setFontsize(String fontsize){
this.fontsize = fontsize ;
this.modify("fontsize",fontsize);
}
/**
* 设置 [备注]
*/
public void setMemo(String memo){
this.memo = memo ;
this.modify("memo",memo);
}
/**
* 设置 [保留]
*/
public void setReserver(String reserver){
this.reserver = reserver ;
this.modify("reserver",reserver);
}
}
......
......@@ -56,6 +56,8 @@ public interface ISysUserService extends IService<SysUser>{
*/
boolean execute(String sql, Map param);
List<SysUser> getSysuserByIds(List<String> ids) ;
List<SysUser> getSysuserByEntities(List<SysUser> entities) ;
}
......@@ -184,6 +184,25 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
return true;
}
@Override
public List<SysUser> getSysuserByIds(List<String> ids) {
return this.listByIds(ids);
}
@Override
public List<SysUser> getSysuserByEntities(List<SysUser> entities) {
List ids =new ArrayList();
for(SysUser entity : entities){
Serializable id=entity.getUserid();
if(!ObjectUtils.isEmpty(id)){
ids.add(id);
}
}
if(ids.size()>0)
return this.listByIds(ids);
else
return entities;
}
}
......
......@@ -24,7 +24,7 @@
<!--数据查询[Default]-->
<sql id="Default" databaseId="mysql">
<![CDATA[ SELECT t1.`PASSWORD`, t1.`PERSONNAME`, t1.`USERID`, t1.`USERNAME` FROM `IBZUSER` t1
<![CDATA[ SELECT t1.`ADDR`, t1.`AVATAR`, t1.`BCODE`, t1.`BIRTHDAY`, t1.`CERTCODE`, t1.`DOMAINS`, t1.`EMAIL`, t1.`FONTSIZE`, t1.`LANG`, t1.`LOGINNAME`, t1.`MDEPTCODE`, t1.`MDEPTID`, t1.`MDEPTNAME`, t1.`MEMO`, t1.`NICKNAME`, t1.`ORGCODE`, t1.`ORGID`, t1.`ORGNAME`, t1.`PASSWORD`, t1.`PERSONNAME`, t1.`PHONE`, t1.`POSTCODE`, t1.`POSTID`, t1.`POSTNAME`, t1.`RESERVER`, t1.`SEX`, t1.`THEME`, t1.`USERCODE`, t1.`USERICON`, t1.`USERID`, t1.`USERNAME` FROM `IBZUSER` t1
]]>
</sql>
<!--数据查询[Default]-->
......
......@@ -49,7 +49,7 @@
"sysmoudle":{"id":"UAA","name":"uaa"},
"dedataset":[{"id":"Default" , "name":"DEFAULT"}],
"deaction":[{"id":"Create" , "name":"Create" , "type":"BUILTIN" },{"id":"Update" , "name":"Update" , "type":"BUILTIN" },{"id":"Remove" , "name":"Remove" , "type":"BUILTIN" },{"id":"Get" , "name":"Get" , "type":"BUILTIN" },{"id":"GetDraft" , "name":"GetDraft" , "type":"BUILTIN" },{"id":"CheckKey" , "name":"CheckKey" , "type":"BUILTIN" },{"id":"Save" , "name":"Save" , "type":"BUILTIN" }],
"datascope":[{"id":"all","name":"全部数据"}]
"datascope":[{"id":"all","name":"全部数据"}, {"id":"curorg","name":"当前单位"},{"id":"porg","name":"上级单位"},{"id":"sorg","name":"下级单位"} ]
}
, {
"dename":"SysRole",
......
......@@ -55,6 +55,223 @@ public class SysUserDTO extends DTOBase implements Serializable {
@JsonProperty("password")
private String password;
/**
* 属性 [USERCODE]
*
*/
@JSONField(name = "usercode")
@JsonProperty("usercode")
private String usercode;
/**
* 属性 [LOGINNAME]
*
*/
@JSONField(name = "loginname")
@JsonProperty("loginname")
private String loginname;
/**
* 属性 [DOMAINS]
*
*/
@JSONField(name = "domains")
@JsonProperty("domains")
private String domains;
/**
* 属性 [MDEPTID]
*
*/
@JSONField(name = "mdeptid")
@JsonProperty("mdeptid")
private String mdeptid;
/**
* 属性 [MDEPTCODE]
*
*/
@JSONField(name = "mdeptcode")
@JsonProperty("mdeptcode")
private String mdeptcode;
/**
* 属性 [MDEPTNAME]
*
*/
@JSONField(name = "mdeptname")
@JsonProperty("mdeptname")
private String mdeptname;
/**
* 属性 [BCODE]
*
*/
@JSONField(name = "bcode")
@JsonProperty("bcode")
private String bcode;
/**
* 属性 [POSTID]
*
*/
@JSONField(name = "postid")
@JsonProperty("postid")
private String postid;
/**
* 属性 [POSTCODE]
*
*/
@JSONField(name = "postcode")
@JsonProperty("postcode")
private String postcode;
/**
* 属性 [POSTNAME]
*
*/
@JSONField(name = "postname")
@JsonProperty("postname")
private String postname;
/**
* 属性 [ORGID]
*
*/
@JSONField(name = "orgid")
@JsonProperty("orgid")
private String orgid;
/**
* 属性 [ORGCODE]
*
*/
@JSONField(name = "orgcode")
@JsonProperty("orgcode")
private String orgcode;
/**
* 属性 [ORGNAME]
*
*/
@JSONField(name = "orgname")
@JsonProperty("orgname")
private String orgname;
/**
* 属性 [NICKNAME]
*
*/
@JSONField(name = "nickname")
@JsonProperty("nickname")
private String nickname;
/**
* 属性 [CERTCODE]
*
*/
@JSONField(name = "certcode")
@JsonProperty("certcode")
private String certcode;
/**
* 属性 [SEX]
*
*/
@JSONField(name = "sex")
@JsonProperty("sex")
private String sex;
/**
* 属性 [BIRTHDAY]
*
*/
@JsonFormat(pattern="yyyy-MM-dd", locale = "zh" , timezone="GMT+8")
@JSONField(name = "birthday" , format="yyyy-MM-dd")
@JsonProperty("birthday")
private Timestamp birthday;
/**
* 属性 [PHONE]
*
*/
@JSONField(name = "phone")
@JsonProperty("phone")
private String phone;
/**
* 属性 [EMAIL]
*
*/
@JSONField(name = "email")
@JsonProperty("email")
private String email;
/**
* 属性 [AVATAR]
*
*/
@JSONField(name = "avatar")
@JsonProperty("avatar")
private String avatar;
/**
* 属性 [ADDR]
*
*/
@JSONField(name = "addr")
@JsonProperty("addr")
private String addr;
/**
* 属性 [USERICON]
*
*/
@JSONField(name = "usericon")
@JsonProperty("usericon")
private String usericon;
/**
* 属性 [THEME]
*
*/
@JSONField(name = "theme")
@JsonProperty("theme")
private String theme;
/**
* 属性 [LANG]
*
*/
@JSONField(name = "lang")
@JsonProperty("lang")
private String lang;
/**
* 属性 [FONTSIZE]
*
*/
@JSONField(name = "fontsize")
@JsonProperty("fontsize")
private String fontsize;
/**
* 属性 [MEMO]
*
*/
@JSONField(name = "memo")
@JsonProperty("memo")
private String memo;
/**
* 属性 [RESERVER]
*
*/
@JSONField(name = "reserver")
@JsonProperty("reserver")
private String reserver;
/**
* 设置 [USERNAME]
......@@ -80,6 +297,206 @@ public class SysUserDTO extends DTOBase implements Serializable {
this.modify("password",password);
}
/**
* 设置 [USERCODE]
*/
public void setUsercode(String usercode){
this.usercode = usercode ;
this.modify("usercode",usercode);
}
/**
* 设置 [LOGINNAME]
*/
public void setLoginname(String loginname){
this.loginname = loginname ;
this.modify("loginname",loginname);
}
/**
* 设置 [DOMAINS]
*/
public void setDomains(String domains){
this.domains = domains ;
this.modify("domains",domains);
}
/**
* 设置 [MDEPTID]
*/
public void setMdeptid(String mdeptid){
this.mdeptid = mdeptid ;
this.modify("mdeptid",mdeptid);
}
/**
* 设置 [MDEPTCODE]
*/
public void setMdeptcode(String mdeptcode){
this.mdeptcode = mdeptcode ;
this.modify("mdeptcode",mdeptcode);
}
/**
* 设置 [MDEPTNAME]
*/
public void setMdeptname(String mdeptname){
this.mdeptname = mdeptname ;
this.modify("mdeptname",mdeptname);
}
/**
* 设置 [BCODE]
*/
public void setBcode(String bcode){
this.bcode = bcode ;
this.modify("bcode",bcode);
}
/**
* 设置 [POSTID]
*/
public void setPostid(String postid){
this.postid = postid ;
this.modify("postid",postid);
}
/**
* 设置 [POSTCODE]
*/
public void setPostcode(String postcode){
this.postcode = postcode ;
this.modify("postcode",postcode);
}
/**
* 设置 [POSTNAME]
*/
public void setPostname(String postname){
this.postname = postname ;
this.modify("postname",postname);
}
/**
* 设置 [ORGCODE]
*/
public void setOrgcode(String orgcode){
this.orgcode = orgcode ;
this.modify("orgcode",orgcode);
}
/**
* 设置 [NICKNAME]
*/
public void setNickname(String nickname){
this.nickname = nickname ;
this.modify("nickname",nickname);
}
/**
* 设置 [CERTCODE]
*/
public void setCertcode(String certcode){
this.certcode = certcode ;
this.modify("certcode",certcode);
}
/**
* 设置 [SEX]
*/
public void setSex(String sex){
this.sex = sex ;
this.modify("sex",sex);
}
/**
* 设置 [BIRTHDAY]
*/
public void setBirthday(Timestamp birthday){
this.birthday = birthday ;
this.modify("birthday",birthday);
}
/**
* 设置 [PHONE]
*/
public void setPhone(String phone){
this.phone = phone ;
this.modify("phone",phone);
}
/**
* 设置 [EMAIL]
*/
public void setEmail(String email){
this.email = email ;
this.modify("email",email);
}
/**
* 设置 [AVATAR]
*/
public void setAvatar(String avatar){
this.avatar = avatar ;
this.modify("avatar",avatar);
}
/**
* 设置 [ADDR]
*/
public void setAddr(String addr){
this.addr = addr ;
this.modify("addr",addr);
}
/**
* 设置 [USERICON]
*/
public void setUsericon(String usericon){
this.usericon = usericon ;
this.modify("usericon",usericon);
}
/**
* 设置 [THEME]
*/
public void setTheme(String theme){
this.theme = theme ;
this.modify("theme",theme);
}
/**
* 设置 [LANG]
*/
public void setLang(String lang){
this.lang = lang ;
this.modify("lang",lang);
}
/**
* 设置 [FONTSIZE]
*/
public void setFontsize(String fontsize){
this.fontsize = fontsize ;
this.modify("fontsize",fontsize);
}
/**
* 设置 [MEMO]
*/
public void setMemo(String memo){
this.memo = memo ;
this.modify("memo",memo);
}
/**
* 设置 [RESERVER]
*/
public void setReserver(String reserver){
this.reserver = reserver ;
this.modify("reserver",reserver);
}
}
......@@ -47,7 +47,7 @@ public class SysUserResource {
@Lazy
public SysUserMapping sysuserMapping;
@PreAuthorize("hasAnyAuthority('ROLE_SUPERADMIN','ibzuaa-SysUser-Create-all')")
@PreAuthorize("hasPermission(this.sysuserMapping.toDomain(#sysuserdto),'ibzuaa-SysUser-Create')")
@ApiOperation(value = "新建系统用户", tags = {"系统用户" }, notes = "新建系统用户")
@RequestMapping(method = RequestMethod.POST, value = "/sysusers")
@Transactional
......@@ -58,7 +58,7 @@ public class SysUserResource {
return ResponseEntity.status(HttpStatus.OK).body(dto);
}
@PreAuthorize("hasAnyAuthority('ROLE_SUPERADMIN','ibzuaa-SysUser-Create-all')")
@PreAuthorize("hasPermission(this.sysuserMapping.toDomain(#sysuserdtos),'ibzuaa-SysUser-Create')")
@ApiOperation(value = "批量新建系统用户", tags = {"系统用户" }, notes = "批量新建系统用户")
@RequestMapping(method = RequestMethod.POST, value = "/sysusers/batch")
public ResponseEntity<Boolean> createBatch(@RequestBody List<SysUserDTO> sysuserdtos) {
......@@ -66,7 +66,7 @@ public class SysUserResource {
return ResponseEntity.status(HttpStatus.OK).body(true);
}
@PreAuthorize("hasAnyAuthority('ROLE_SUPERADMIN','ibzuaa-SysUser-Update-all')")
@PreAuthorize("hasPermission(this.sysuserService.get(#sysuser_id),'ibzuaa-SysUser-Update')")
@ApiOperation(value = "更新系统用户", tags = {"系统用户" }, notes = "更新系统用户")
@RequestMapping(method = RequestMethod.PUT, value = "/sysusers/{sysuser_id}")
@Transactional
......@@ -78,7 +78,7 @@ public class SysUserResource {
return ResponseEntity.status(HttpStatus.OK).body(dto);
}
@PreAuthorize("hasAnyAuthority('ROLE_SUPERADMIN','ibzuaa-SysUser-Update-all')")
@PreAuthorize("hasPermission(this.sysuserService.getSysuserByEntities(this.sysuserMapping.toDomain(#sysuserdtos)),'ibzuaa-SysUser-Update')")
@ApiOperation(value = "批量更新系统用户", tags = {"系统用户" }, notes = "批量更新系统用户")
@RequestMapping(method = RequestMethod.PUT, value = "/sysusers/batch")
public ResponseEntity<Boolean> updateBatch(@RequestBody List<SysUserDTO> sysuserdtos) {
......@@ -86,7 +86,7 @@ public class SysUserResource {
return ResponseEntity.status(HttpStatus.OK).body(true);
}
@PreAuthorize("hasAnyAuthority('ROLE_SUPERADMIN','ibzuaa-SysUser-Remove-all')")
@PreAuthorize("hasPermission(this.sysuserService.get(#sysuser_id),'ibzuaa-SysUser-Remove')")
@ApiOperation(value = "删除系统用户", tags = {"系统用户" }, notes = "删除系统用户")
@RequestMapping(method = RequestMethod.DELETE, value = "/sysusers/{sysuser_id}")
@Transactional
......@@ -94,7 +94,7 @@ public class SysUserResource {
return ResponseEntity.status(HttpStatus.OK).body(sysuserService.remove(sysuser_id));
}
@PreAuthorize("hasAnyAuthority('ROLE_SUPERADMIN','ibzuaa-SysUser-Remove-all')")
@PreAuthorize("hasPermission(this.sysuserService.getSysuserByIds(#ids),'ibzuaa-SysUser-Remove')")
@ApiOperation(value = "批量删除系统用户", tags = {"系统用户" }, notes = "批量删除系统用户")
@RequestMapping(method = RequestMethod.DELETE, value = "/sysusers/batch")
public ResponseEntity<Boolean> removeBatch(@RequestBody List<String> ids) {
......@@ -102,7 +102,7 @@ public class SysUserResource {
return ResponseEntity.status(HttpStatus.OK).body(true);
}
@PreAuthorize("hasAnyAuthority('ROLE_SUPERADMIN','ibzuaa-SysUser-Get-all')")
@PostAuthorize("hasPermission(this.sysuserMapping.toDomain(returnObject.body),'ibzuaa-SysUser-Get')")
@ApiOperation(value = "获取系统用户", tags = {"系统用户" }, notes = "获取系统用户")
@RequestMapping(method = RequestMethod.GET, value = "/sysusers/{sysuser_id}")
public ResponseEntity<SysUserDTO> get(@PathVariable("sysuser_id") String sysuser_id) {
......@@ -123,14 +123,14 @@ public class SysUserResource {
return ResponseEntity.status(HttpStatus.OK).body(sysuserService.checkKey(sysuserMapping.toDomain(sysuserdto)));
}
@PreAuthorize("hasAnyAuthority('ROLE_SUPERADMIN','ibzuaa-SysUser-Save-all')")
@PreAuthorize("hasPermission(this.sysuserMapping.toDomain(#sysuserdto),'ibzuaa-SysUser-Save')")
@ApiOperation(value = "保存系统用户", tags = {"系统用户" }, notes = "保存系统用户")
@RequestMapping(method = RequestMethod.POST, value = "/sysusers/save")
public ResponseEntity<Boolean> save(@RequestBody SysUserDTO sysuserdto) {
return ResponseEntity.status(HttpStatus.OK).body(sysuserService.save(sysuserMapping.toDomain(sysuserdto)));
}
@PreAuthorize("hasAnyAuthority('ROLE_SUPERADMIN','ibzuaa-SysUser-Save-all')")
@PreAuthorize("hasPermission(this.sysuserMapping.toDomain(#sysuserdtos),'ibzuaa-SysUser-Save')")
@ApiOperation(value = "批量保存系统用户", tags = {"系统用户" }, notes = "批量保存系统用户")
@RequestMapping(method = RequestMethod.POST, value = "/sysusers/savebatch")
public ResponseEntity<Boolean> saveBatch(@RequestBody List<SysUserDTO> sysuserdtos) {
......@@ -138,7 +138,7 @@ public class SysUserResource {
return ResponseEntity.status(HttpStatus.OK).body(true);
}
@PreAuthorize("hasAnyAuthority('ROLE_SUPERADMIN','ibzuaa-SysUser-searchDefault-all')")
@PreAuthorize("hasAnyAuthority('ROLE_SUPERADMIN','ibzuaa-SysUser-searchDefault-all') and hasPermission(#context,'ibzuaa-SysUser-Get')")
@ApiOperation(value = "获取DEFAULT", tags = {"系统用户" } ,notes = "获取DEFAULT")
@RequestMapping(method= RequestMethod.GET , value="/sysusers/fetchdefault")
public ResponseEntity<List<SysUserDTO>> fetchDefault(SysUserSearchContext context) {
......@@ -151,7 +151,7 @@ public class SysUserResource {
.body(list);
}
@PreAuthorize("hasAnyAuthority('ROLE_SUPERADMIN','ibzuaa-SysUser-searchDefault-all')")
@PreAuthorize("hasAnyAuthority('ROLE_SUPERADMIN','ibzuaa-SysUser-searchDefault-all') and hasPermission(#context,'ibzuaa-SysUser-Get')")
@ApiOperation(value = "查询DEFAULT", tags = {"系统用户" } ,notes = "查询DEFAULT")
@RequestMapping(method= RequestMethod.POST , value="/sysusers/searchdefault")
public ResponseEntity<Page<SysUserDTO>> searchDefault(@RequestBody SysUserSearchContext context) {
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册