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

ibiz4j 发布系统代码 [ibiz-task,任务调度]

上级 100e2a1a
...@@ -9,7 +9,8 @@ ...@@ -9,7 +9,8 @@
"dev-build": "node --max_old_space_size=8102 ./node_modules/@vue/cli-service/bin/vue-cli-service build --mode development", "dev-build": "node --max_old_space_size=8102 ./node_modules/@vue/cli-service/bin/vue-cli-service build --mode development",
"test:unit": "vue-cli-service test:unit", "test:unit": "vue-cli-service test:unit",
"test:e2e": "vue-cli-service test:e2e", "test:e2e": "vue-cli-service test:e2e",
"lint": "vue-cli-service lint" "lint": "vue-cli-service lint",
"format-code": "prettier-eslint --write \"src/**/*.js\" \"src/**/*.vue\" \"src/**/*.tsx\" \"src/**/*.ts\" \"src/**/*.less\""
}, },
"dependencies": { "dependencies": {
"@fullcalendar/core": "^4.4.0", "@fullcalendar/core": "^4.4.0",
...@@ -66,5 +67,12 @@ ...@@ -66,5 +67,12 @@
"script-loader": "^0.7.2", "script-loader": "^0.7.2",
"typescript": "~3.5.3", "typescript": "~3.5.3",
"vue-template-compiler": "^2.6.10" "vue-template-compiler": "^2.6.10"
},
"eslintConfig": {
"root": true,
"extends": [
"gitee",
"stylelint-config-prettier"
]
} }
} }
...@@ -98,6 +98,7 @@ import AppAlert from './components/app-alert/app-alert.vue' ...@@ -98,6 +98,7 @@ import AppAlert from './components/app-alert/app-alert.vue'
import AppAlertGroup from './components/app-alert-group/app-alert-group.vue' import AppAlertGroup from './components/app-alert-group/app-alert-group.vue'
import AppRawItem from './components/app-rawitem/app-rawitem.vue' import AppRawItem from './components/app-rawitem/app-rawitem.vue'
import AppImageRomate from './components/app-image-romate/app-image-romate.vue' import AppImageRomate from './components/app-image-romate/app-image-romate.vue'
import { MenuIcon } from './components/menu-icon/menu-icon'
// 全局挂载UI实体服务注册中心 // 全局挂载UI实体服务注册中心
window['uiServiceRegister'] = uiServiceRegister; window['uiServiceRegister'] = uiServiceRegister;
...@@ -210,6 +211,7 @@ export const AppComponents = { ...@@ -210,6 +211,7 @@ export const AppComponents = {
v.component('app-alert', AppAlert); v.component('app-alert', AppAlert);
v.component('app-alert-group', AppAlertGroup); v.component('app-alert-group', AppAlertGroup);
v.component('app-rawitem',AppRawItem); v.component('app-rawitem',AppRawItem);
v.component('app-image-romate', AppImageRomate) v.component('app-image-romate', AppImageRomate);
v.component('menu-icon', MenuIcon);
}, },
}; };
\ No newline at end of file
...@@ -341,6 +341,7 @@ export default class AppPicker extends Vue { ...@@ -341,6 +341,7 @@ export default class AppPicker extends Vue {
public onSelectOpen(flag: boolean): void { public onSelectOpen(flag: boolean): void {
this.open = flag; this.open = flag;
if (this.open) { if (this.open) {
this.items = [];
//设置下拉列表的最大宽度 //设置下拉列表的最大宽度
this.setDropdownWidth(); this.setDropdownWidth();
this.onSearch(this.curvalue, null, true); this.onSearch(this.curvalue, null, true);
......
import { Vue, Component, Prop } from 'vue-property-decorator';
import './menu-icon.less';
/**
* 平台菜单按钮适配
*
* @export
* @class MenuIcon
* @extends {Vue}
*/
@Component({})
export class MenuIcon extends Vue {
/**
* 项数据
*
* @type {*}
* @memberof MenuIcon
*/
@Prop()
public item: any;
/**
* 绘制图标
*
* @returns {*}
* @memberof MenuIcon
*/
public render(): any {
if (this.item) {
if (this.item.iconcls) {
return <i class={this.item.iconcls} />
}
if (this.item.icon) {
return <img src={this.item.icon} />
}
}
return <span />
}
}
\ No newline at end of file
...@@ -97,6 +97,15 @@ export class SearchViewEngine extends ViewEngine { ...@@ -97,6 +97,15 @@ export class SearchViewEngine extends ViewEngine {
if (this.view && !this.view.isExpandSearchForm) { if (this.view && !this.view.isExpandSearchForm) {
Object.assign(arg, { query: this.view.query }); Object.assign(arg, { query: this.view.query });
} }
// 快速分组和快速搜索栏
let otherQueryParam:any = {};
if(this.view && this.view.quickGroupData){
Object.assign(otherQueryParam,this.view.quickGroupData);
}
if(this.view && this.view.quickFormData){
Object.assign(otherQueryParam,this.view.quickFormData);
}
Object.assign(arg,{viewparams:otherQueryParam});
} }
......
...@@ -186,11 +186,11 @@ export default class JobsInfoEditViewBase extends Vue { ...@@ -186,11 +186,11 @@ export default class JobsInfoEditViewBase extends Vue {
@Watch('viewparam',{immediate: true, deep: true}) @Watch('viewparam',{immediate: true, deep: true})
onParamData(newVal: any, oldVal: any) { onParamData(newVal: any, oldVal: any) {
if(newVal){ if(newVal){
for(let key in this.viewparams){ this.viewparams = {};
delete this.viewparams[key]; if(typeof newVal == 'string') {
}
if(typeof this.viewparams == 'string') {
Object.assign(this.viewparams, JSON.parse(this.viewparam)); Object.assign(this.viewparams, JSON.parse(this.viewparam));
}else{
this.viewparams = Util.deepCopy(this.viewparam);
} }
} }
......
...@@ -248,11 +248,11 @@ export default class JobsInfoGridViewBase extends Vue { ...@@ -248,11 +248,11 @@ export default class JobsInfoGridViewBase extends Vue {
@Watch('viewparam',{immediate: true, deep: true}) @Watch('viewparam',{immediate: true, deep: true})
onParamData(newVal: any, oldVal: any) { onParamData(newVal: any, oldVal: any) {
if(newVal){ if(newVal){
for(let key in this.viewparams){ this.viewparams = {};
delete this.viewparams[key]; if(typeof newVal == 'string') {
}
if(typeof this.viewparams == 'string') {
Object.assign(this.viewparams, JSON.parse(this.viewparam)); Object.assign(this.viewparams, JSON.parse(this.viewparam));
}else{
this.viewparams = Util.deepCopy(this.viewparam);
} }
} }
......
...@@ -170,11 +170,11 @@ export default class JobsLogEditViewBase extends Vue { ...@@ -170,11 +170,11 @@ export default class JobsLogEditViewBase extends Vue {
@Watch('viewparam',{immediate: true, deep: true}) @Watch('viewparam',{immediate: true, deep: true})
onParamData(newVal: any, oldVal: any) { onParamData(newVal: any, oldVal: any) {
if(newVal){ if(newVal){
for(let key in this.viewparams){ this.viewparams = {};
delete this.viewparams[key]; if(typeof newVal == 'string') {
}
if(typeof this.viewparams == 'string') {
Object.assign(this.viewparams, JSON.parse(this.viewparam)); Object.assign(this.viewparams, JSON.parse(this.viewparam));
}else{
this.viewparams = Util.deepCopy(this.viewparam);
} }
} }
......
...@@ -197,11 +197,11 @@ export default class JobsLogGridViewBase extends Vue { ...@@ -197,11 +197,11 @@ export default class JobsLogGridViewBase extends Vue {
@Watch('viewparam',{immediate: true, deep: true}) @Watch('viewparam',{immediate: true, deep: true})
onParamData(newVal: any, oldVal: any) { onParamData(newVal: any, oldVal: any) {
if(newVal){ if(newVal){
for(let key in this.viewparams){ this.viewparams = {};
delete this.viewparams[key]; if(typeof newVal == 'string') {
}
if(typeof this.viewparams == 'string') {
Object.assign(this.viewparams, JSON.parse(this.viewparam)); Object.assign(this.viewparams, JSON.parse(this.viewparam));
}else{
this.viewparams = Util.deepCopy(this.viewparam);
} }
} }
......
...@@ -186,11 +186,11 @@ export default class JobsRegistryEditViewBase extends Vue { ...@@ -186,11 +186,11 @@ export default class JobsRegistryEditViewBase extends Vue {
@Watch('viewparam',{immediate: true, deep: true}) @Watch('viewparam',{immediate: true, deep: true})
onParamData(newVal: any, oldVal: any) { onParamData(newVal: any, oldVal: any) {
if(newVal){ if(newVal){
for(let key in this.viewparams){ this.viewparams = {};
delete this.viewparams[key]; if(typeof newVal == 'string') {
}
if(typeof this.viewparams == 'string') {
Object.assign(this.viewparams, JSON.parse(this.viewparam)); Object.assign(this.viewparams, JSON.parse(this.viewparam));
}else{
this.viewparams = Util.deepCopy(this.viewparam);
} }
} }
......
...@@ -227,11 +227,11 @@ export default class JobsRegistryGridViewBase extends Vue { ...@@ -227,11 +227,11 @@ export default class JobsRegistryGridViewBase extends Vue {
@Watch('viewparam',{immediate: true, deep: true}) @Watch('viewparam',{immediate: true, deep: true})
onParamData(newVal: any, oldVal: any) { onParamData(newVal: any, oldVal: any) {
if(newVal){ if(newVal){
for(let key in this.viewparams){ this.viewparams = {};
delete this.viewparams[key]; if(typeof newVal == 'string') {
}
if(typeof this.viewparams == 'string') {
Object.assign(this.viewparams, JSON.parse(this.viewparam)); Object.assign(this.viewparams, JSON.parse(this.viewparam));
}else{
this.viewparams = Util.deepCopy(this.viewparam);
} }
} }
......
...@@ -167,11 +167,11 @@ export default class TaskIndexViewBase extends Vue { ...@@ -167,11 +167,11 @@ export default class TaskIndexViewBase extends Vue {
@Watch('viewparam',{immediate: true, deep: true}) @Watch('viewparam',{immediate: true, deep: true})
onParamData(newVal: any, oldVal: any) { onParamData(newVal: any, oldVal: any) {
if(newVal){ if(newVal){
for(let key in this.viewparams){ this.viewparams = {};
delete this.viewparams[key]; if(typeof newVal == 'string') {
}
if(typeof this.viewparams == 'string') {
Object.assign(this.viewparams, JSON.parse(this.viewparam)); Object.assign(this.viewparams, JSON.parse(this.viewparam));
}else{
this.viewparams = Util.deepCopy(this.viewparam);
} }
} }
......
...@@ -246,7 +246,7 @@ ...@@ -246,7 +246,7 @@
} }
} }
.view-container.degridview, .view-container.degridview9, .view-container.dewfgridview, .view-container.delistview, .view-container.delistview9, .view-container.dedataview, .view-container.dedataview9{ .view-container.degridview, .view-container.degridview9, .view-container.dewfgridview, .view-container.delistview, .view-container.delistview9, .view-container.dedataview, .view-container.dedataview9,.view-container.dechartview,.view-container.dechartview9{
>.view-card.view-no-caption{ >.view-card.view-no-caption{
>.ivu-card-body{ >.ivu-card-body{
height: 100%; height: 100%;
......
...@@ -109,7 +109,13 @@ export class Interceptors { ...@@ -109,7 +109,13 @@ export class Interceptors {
error = error ? error : { response: {} }; error = error ? error : { response: {} };
let { response: res } = error; let { response: res } = error;
let { data: _data } = res; let { data: _data } = res;
// 处理异常
if(res.headers && res.headers['x-ibz-error']){
res.data.errorKey = res.headers['x-ibz-error'];
}
if(res.headers && res.headers['x-ibz-params']){
res.data.entityName = res.headers['x-ibz-params'];
}
if (res.status === 401) { if (res.status === 401) {
this.doNoLogin(_data.data); this.doNoLogin(_data.data);
} }
......
...@@ -734,9 +734,17 @@ export default class TaskIndexViewBase extends Vue implements ControlInterface { ...@@ -734,9 +734,17 @@ export default class TaskIndexViewBase extends Vue implements ControlInterface {
item.items.map((singleItem:any) =>{ item.items.map((singleItem:any) =>{
if(!singleItem.hidden){ if(!singleItem.hidden){
item.hidden = false; item.hidden = false;
}else{
if(singleItem.items && singleItem.items.length >0){
singleItem.items.map((grandsonItem:any) =>{
if(!grandsonItem.hidden){
item.hidden = false;
}
})
}
} }
if(singleItem.items && singleItem.items.length >0){ if(item.items && item.items.length >0){
this.computeParentMenus(singleItem.items); this.computeParentMenus(item.items);
} }
}) })
} }
......
...@@ -310,4 +310,23 @@ export default class ControlService { ...@@ -310,4 +310,23 @@ export default class ControlService {
} }
}) })
} }
/**
* 根据后台标识获取数据标识名称
*
* @param prop 后台标识
* @memberof ControlService
*/
public getNameByProp(prop: any) {
let model: any = this.getMode();
if(!model || !prop) {
return false;
}
let dataItems: any[] = model.getDataItems();
prop = prop.replace(/([A-Z])/g,"_$1").toLowerCase();
let data: any = dataItems.find((item:any) => {
return Object.is(prop, item.prop);
});
return data.name;
}
} }
\ No newline at end of file
...@@ -315,7 +315,6 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -315,7 +315,6 @@ export default class MainBase extends Vue implements ControlInterface {
} }
/** /**
* 代码表服务对象 * 代码表服务对象
* *
...@@ -324,6 +323,14 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -324,6 +323,14 @@ export default class MainBase extends Vue implements ControlInterface {
*/ */
public codeListService:CodeListService = new CodeListService({ $store: this.$store }); public codeListService:CodeListService = new CodeListService({ $store: this.$store });
/**
* 主信息表格列
*
* @type {string}
* @memberof MainBase
*/
public majorInfoColName:string = "handler";
/** /**
* 界面UI服务对象 * 界面UI服务对象
* *
...@@ -874,16 +881,18 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -874,16 +881,18 @@ export default class MainBase extends Vue implements ControlInterface {
this.errorMessages = []; this.errorMessages = [];
let validateState = true; let validateState = true;
let index = -1; let index = -1;
for(let item of this.items){ for (let item of this.items) {
index++; let tempMessage: string = '';
if(item.rowDataState === "create" || item.rowDataState === "update"){ index++;
for(let property of Object.keys(this.rules)){ if (item.rowDataState === "create" || item.rowDataState === "update") {
if(!await this.validate(property,item,index)){ for (let property of Object.keys(this.rules)) {
validateState = false; if (!await this.validate(property, item, index)) {
this.errorMessages.push(this.gridItemsModel[index][property].error); validateState = false;
} tempMessage = tempMessage + '<p>' + this.gridItemsModel[index][property].error + '<p>';
}
}
} }
} this.errorMessages.push(tempMessage);
} }
return validateState; return validateState;
} }
...@@ -1020,9 +1029,9 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1020,9 +1029,9 @@ export default class MainBase extends Vue implements ControlInterface {
}); });
if (_datas.length < 5) { if (_datas.length < 5) {
dataInfo = dataInfo + ' '+(this.$t('app.gridpage.totle') as string) + _datas.length + (this.$t('app.gridpage.records') as string)+(this.$t('app.gridpage.data') as string); dataInfo = dataInfo + ' ' + (this.$t('app.gridpage.totle') as string) + _datas.length + (this.$t('app.gridpage.records') as string) + (this.$t('app.gridpage.data') as string);
} else { } else {
dataInfo = dataInfo + '...' + ' '+(this.$t('app.gridpage.totle') as string) + _datas.length + (this.$t('app.gridpage.desc2') as string); dataInfo = ' ... ' + (this.$t('app.gridpage.totle') as string) + _datas.length + (this.$t('app.gridpage.records') as string) + (this.$t('app.gridpage.data') as string);
} }
const removeData = () => { const removeData = () => {
...@@ -1334,7 +1343,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1334,7 +1343,7 @@ export default class MainBase extends Vue implements ControlInterface {
return; return;
} }
if (Object.is('load', action)) { if (Object.is('load', action)) {
this.load(data); this.load(data,true);
} }
if (Object.is('remove', action)) { if (Object.is('remove', action)) {
this.remove(data); this.remove(data);
...@@ -1831,11 +1840,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1831,11 +1840,7 @@ export default class MainBase extends Vue implements ControlInterface {
} }
if (!await this.validateAll()) { if (!await this.validateAll()) {
if(this.errorMessages && this.errorMessages.length > 0) { if(this.errorMessages && this.errorMessages.length > 0) {
let descMessage: string = ''; this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: this.errorMessages[0] });
this.errorMessages.forEach((message: any) => {
descMessage = descMessage + '<p>' + message + '<p>';
})
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: descMessage });
} else { } else {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: (this.$t('app.commonWords.rulesException') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: (this.$t('app.commonWords.rulesException') as string) });
} }
...@@ -1876,10 +1881,46 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1876,10 +1881,46 @@ export default class MainBase extends Vue implements ControlInterface {
if(errorItems.length === 0 && successItems.length >0 && !this.isformDruipart){ if(errorItems.length === 0 && successItems.length >0 && !this.isformDruipart){
this.$Notice.success({ title: '', desc: (this.$t('app.commonWords.saveSuccess') as string) }); this.$Notice.success({ title: '', desc: (this.$t('app.commonWords.saveSuccess') as string) });
}else{ }else{
errorItems.forEach((item:any,index:number)=>{ errorItems.forEach((item: any, index: number) => {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: errorMessage[index].data.message }); if(errorMessage[index] && errorMessage[index].data) {
console.error(errorMessage[index]); if(Object.is(errorMessage[index].data.errorKey, 'DupCheck')) {
}); let errorProp: string = errorMessage[index].data.message.match(/\[[a-zA-Z]*\]/)[0];
let name: string = errorProp ? this.service.getNameByProp(errorProp.substr(1, errorProp.length-2)) : '';
if(name) {
let desc: any = this.allColumns.find((column: any) =>{
return Object.is(column.name, name);
});
this.$Notice.error({
title: (this.$t('app.commonWords.createFailed') as string),
desc: (desc ? desc.label : '') + " : " + item[name] + (this.$t('app.commonWords.isExist') as string) + '!',
});
} else {
this.$Notice.error({
title: (this.$t('app.commonWords.createFailed') as string),
desc: errorMessage[index].data.message?errorMessage[index].data.message:(this.$t('app.commonWords.sysException') as string),
});
}
} else if(Object.is(errorMessage[index].data.errorKey, 'DuplicateKeyException')){
let name: string = this.service.getNameByProp("id");
if(name){
let desc: any = this.allColumns.find((column: any) =>{
return Object.is(column.name, name);
});
this.$Notice.error({
title: (this.$t('app.commonWords.createFailed') as string),
desc: (desc ? desc.label : '') + " : " + item[name] + (this.$t('app.commonWords.isExist') as string) + '!',
});
}
}else {
this.$Notice.error({
title: (this.$t('app.commonWords.saveFailed') as string),
desc: errorMessage[index].data.message?errorMessage[index].data.message:(this.$t('app.commonWords.sysException') as string),
});
}
} else {
this.$Notice.error({ title: (this.$t('app.commonWords.saveFailed') as string), desc: (item[this.majorInfoColName]?item[this.majorInfoColName]:"") + (this.$t('app.commonWords.saveFailed') as string) + '!' });
}
});
} }
return successItems; return successItems;
} }
...@@ -2138,15 +2179,19 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -2138,15 +2179,19 @@ export default class MainBase extends Vue implements ControlInterface {
let startOp = (val:boolean)=>{ let startOp = (val:boolean)=>{
if(falg.isPast){ if(falg.isPast){
if(opValue){ if(opValue){
falg.isPast = falg && val; falg.isPast = falg.isPast && val;
}else{ }else{
falg.isPast = falg || val; falg.isPast = falg.isPast || val;
} }
}else{ }else{
falg.isPast = val; falg.isPast = val;
} }
} }
rule[name].forEach((item:any) => { rule[name].forEach((item:any) => {
if((value === null || value === undefined || value === "") && (item.type != 'GROUP')){
startOp(true);
return falg;
}
// 常规规则 // 常规规则
if(item.type == 'SIMPLE'){ if(item.type == 'SIMPLE'){
startOp(!this.$verify.checkFieldSimpleRule(value,item.condOP,item.paramValue,item.ruleInfo,item.paramType,this.curEditRowData,item.isKeyCond)); startOp(!this.$verify.checkFieldSimpleRule(value,item.condOP,item.paramValue,item.ruleInfo,item.paramType,this.curEditRowData,item.isKeyCond));
...@@ -2169,7 +2214,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -2169,7 +2214,7 @@ export default class MainBase extends Vue implements ControlInterface {
} }
// 分组 // 分组
if(item.type == 'GROUP'){ if(item.type == 'GROUP'){
falg = this.verifyDeRules('group',item,"AND",value) falg = this.verifyDeRules('group',item,item.condOP?item.condOP:"AND",value)
if(item.isNotMode){ if(item.isNotMode){
falg.isPast = !falg.isPast; falg.isPast = !falg.isPast;
} }
......
...@@ -301,7 +301,6 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -301,7 +301,6 @@ export default class MainBase extends Vue implements ControlInterface {
} }
/** /**
* 代码表服务对象 * 代码表服务对象
* *
...@@ -310,6 +309,14 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -310,6 +309,14 @@ export default class MainBase extends Vue implements ControlInterface {
*/ */
public codeListService:CodeListService = new CodeListService({ $store: this.$store }); public codeListService:CodeListService = new CodeListService({ $store: this.$store });
/**
* 主信息表格列
*
* @type {string}
* @memberof MainBase
*/
public majorInfoColName:string = "handler";
/** /**
* 界面UI服务对象 * 界面UI服务对象
* *
...@@ -851,16 +858,18 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -851,16 +858,18 @@ export default class MainBase extends Vue implements ControlInterface {
this.errorMessages = []; this.errorMessages = [];
let validateState = true; let validateState = true;
let index = -1; let index = -1;
for(let item of this.items){ for (let item of this.items) {
index++; let tempMessage: string = '';
if(item.rowDataState === "create" || item.rowDataState === "update"){ index++;
for(let property of Object.keys(this.rules)){ if (item.rowDataState === "create" || item.rowDataState === "update") {
if(!await this.validate(property,item,index)){ for (let property of Object.keys(this.rules)) {
validateState = false; if (!await this.validate(property, item, index)) {
this.errorMessages.push(this.gridItemsModel[index][property].error); validateState = false;
} tempMessage = tempMessage + '<p>' + this.gridItemsModel[index][property].error + '<p>';
}
}
} }
} this.errorMessages.push(tempMessage);
} }
return validateState; return validateState;
} }
...@@ -997,9 +1006,9 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -997,9 +1006,9 @@ export default class MainBase extends Vue implements ControlInterface {
}); });
if (_datas.length < 5) { if (_datas.length < 5) {
dataInfo = dataInfo + ' '+(this.$t('app.gridpage.totle') as string) + _datas.length + (this.$t('app.gridpage.records') as string)+(this.$t('app.gridpage.data') as string); dataInfo = dataInfo + ' ' + (this.$t('app.gridpage.totle') as string) + _datas.length + (this.$t('app.gridpage.records') as string) + (this.$t('app.gridpage.data') as string);
} else { } else {
dataInfo = dataInfo + '...' + ' '+(this.$t('app.gridpage.totle') as string) + _datas.length + (this.$t('app.gridpage.desc2') as string); dataInfo = ' ... ' + (this.$t('app.gridpage.totle') as string) + _datas.length + (this.$t('app.gridpage.records') as string) + (this.$t('app.gridpage.data') as string);
} }
const removeData = () => { const removeData = () => {
...@@ -1303,7 +1312,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1303,7 +1312,7 @@ export default class MainBase extends Vue implements ControlInterface {
return; return;
} }
if (Object.is('load', action)) { if (Object.is('load', action)) {
this.load(data); this.load(data,true);
} }
if (Object.is('remove', action)) { if (Object.is('remove', action)) {
this.remove(data); this.remove(data);
...@@ -1799,11 +1808,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1799,11 +1808,7 @@ export default class MainBase extends Vue implements ControlInterface {
} }
if (!await this.validateAll()) { if (!await this.validateAll()) {
if(this.errorMessages && this.errorMessages.length > 0) { if(this.errorMessages && this.errorMessages.length > 0) {
let descMessage: string = ''; this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: this.errorMessages[0] });
this.errorMessages.forEach((message: any) => {
descMessage = descMessage + '<p>' + message + '<p>';
})
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: descMessage });
} else { } else {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: (this.$t('app.commonWords.rulesException') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: (this.$t('app.commonWords.rulesException') as string) });
} }
...@@ -1844,10 +1849,46 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1844,10 +1849,46 @@ export default class MainBase extends Vue implements ControlInterface {
if(errorItems.length === 0 && successItems.length >0 && !this.isformDruipart){ if(errorItems.length === 0 && successItems.length >0 && !this.isformDruipart){
this.$Notice.success({ title: '', desc: (this.$t('app.commonWords.saveSuccess') as string) }); this.$Notice.success({ title: '', desc: (this.$t('app.commonWords.saveSuccess') as string) });
}else{ }else{
errorItems.forEach((item:any,index:number)=>{ errorItems.forEach((item: any, index: number) => {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: errorMessage[index].data.message }); if(errorMessage[index] && errorMessage[index].data) {
console.error(errorMessage[index]); if(Object.is(errorMessage[index].data.errorKey, 'DupCheck')) {
}); let errorProp: string = errorMessage[index].data.message.match(/\[[a-zA-Z]*\]/)[0];
let name: string = errorProp ? this.service.getNameByProp(errorProp.substr(1, errorProp.length-2)) : '';
if(name) {
let desc: any = this.allColumns.find((column: any) =>{
return Object.is(column.name, name);
});
this.$Notice.error({
title: (this.$t('app.commonWords.createFailed') as string),
desc: (desc ? desc.label : '') + " : " + item[name] + (this.$t('app.commonWords.isExist') as string) + '!',
});
} else {
this.$Notice.error({
title: (this.$t('app.commonWords.createFailed') as string),
desc: errorMessage[index].data.message?errorMessage[index].data.message:(this.$t('app.commonWords.sysException') as string),
});
}
} else if(Object.is(errorMessage[index].data.errorKey, 'DuplicateKeyException')){
let name: string = this.service.getNameByProp("id");
if(name){
let desc: any = this.allColumns.find((column: any) =>{
return Object.is(column.name, name);
});
this.$Notice.error({
title: (this.$t('app.commonWords.createFailed') as string),
desc: (desc ? desc.label : '') + " : " + item[name] + (this.$t('app.commonWords.isExist') as string) + '!',
});
}
}else {
this.$Notice.error({
title: (this.$t('app.commonWords.saveFailed') as string),
desc: errorMessage[index].data.message?errorMessage[index].data.message:(this.$t('app.commonWords.sysException') as string),
});
}
} else {
this.$Notice.error({ title: (this.$t('app.commonWords.saveFailed') as string), desc: (item[this.majorInfoColName]?item[this.majorInfoColName]:"") + (this.$t('app.commonWords.saveFailed') as string) + '!' });
}
});
} }
return successItems; return successItems;
} }
...@@ -2106,15 +2147,19 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -2106,15 +2147,19 @@ export default class MainBase extends Vue implements ControlInterface {
let startOp = (val:boolean)=>{ let startOp = (val:boolean)=>{
if(falg.isPast){ if(falg.isPast){
if(opValue){ if(opValue){
falg.isPast = falg && val; falg.isPast = falg.isPast && val;
}else{ }else{
falg.isPast = falg || val; falg.isPast = falg.isPast || val;
} }
}else{ }else{
falg.isPast = val; falg.isPast = val;
} }
} }
rule[name].forEach((item:any) => { rule[name].forEach((item:any) => {
if((value === null || value === undefined || value === "") && (item.type != 'GROUP')){
startOp(true);
return falg;
}
// 常规规则 // 常规规则
if(item.type == 'SIMPLE'){ if(item.type == 'SIMPLE'){
startOp(!this.$verify.checkFieldSimpleRule(value,item.condOP,item.paramValue,item.ruleInfo,item.paramType,this.curEditRowData,item.isKeyCond)); startOp(!this.$verify.checkFieldSimpleRule(value,item.condOP,item.paramValue,item.ruleInfo,item.paramType,this.curEditRowData,item.isKeyCond));
...@@ -2137,7 +2182,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -2137,7 +2182,7 @@ export default class MainBase extends Vue implements ControlInterface {
} }
// 分组 // 分组
if(item.type == 'GROUP'){ if(item.type == 'GROUP'){
falg = this.verifyDeRules('group',item,"AND",value) falg = this.verifyDeRules('group',item,item.condOP?item.condOP:"AND",value)
if(item.isNotMode){ if(item.isNotMode){
falg.isPast = !falg.isPast; falg.isPast = !falg.isPast;
} }
......
...@@ -255,7 +255,6 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -255,7 +255,6 @@ export default class MainBase extends Vue implements ControlInterface {
} }
/** /**
* 代码表服务对象 * 代码表服务对象
* *
...@@ -264,6 +263,14 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -264,6 +263,14 @@ export default class MainBase extends Vue implements ControlInterface {
*/ */
public codeListService:CodeListService = new CodeListService({ $store: this.$store }); public codeListService:CodeListService = new CodeListService({ $store: this.$store });
/**
* 主信息表格列
*
* @type {string}
* @memberof MainBase
*/
public majorInfoColName:string = "app";
/** /**
* 界面UI服务对象 * 界面UI服务对象
* *
...@@ -769,16 +776,18 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -769,16 +776,18 @@ export default class MainBase extends Vue implements ControlInterface {
this.errorMessages = []; this.errorMessages = [];
let validateState = true; let validateState = true;
let index = -1; let index = -1;
for(let item of this.items){ for (let item of this.items) {
index++; let tempMessage: string = '';
if(item.rowDataState === "create" || item.rowDataState === "update"){ index++;
for(let property of Object.keys(this.rules)){ if (item.rowDataState === "create" || item.rowDataState === "update") {
if(!await this.validate(property,item,index)){ for (let property of Object.keys(this.rules)) {
validateState = false; if (!await this.validate(property, item, index)) {
this.errorMessages.push(this.gridItemsModel[index][property].error); validateState = false;
} tempMessage = tempMessage + '<p>' + this.gridItemsModel[index][property].error + '<p>';
}
}
} }
} this.errorMessages.push(tempMessage);
} }
return validateState; return validateState;
} }
...@@ -915,9 +924,9 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -915,9 +924,9 @@ export default class MainBase extends Vue implements ControlInterface {
}); });
if (_datas.length < 5) { if (_datas.length < 5) {
dataInfo = dataInfo + ' '+(this.$t('app.gridpage.totle') as string) + _datas.length + (this.$t('app.gridpage.records') as string)+(this.$t('app.gridpage.data') as string); dataInfo = dataInfo + ' ' + (this.$t('app.gridpage.totle') as string) + _datas.length + (this.$t('app.gridpage.records') as string) + (this.$t('app.gridpage.data') as string);
} else { } else {
dataInfo = dataInfo + '...' + ' '+(this.$t('app.gridpage.totle') as string) + _datas.length + (this.$t('app.gridpage.desc2') as string); dataInfo = ' ... ' + (this.$t('app.gridpage.totle') as string) + _datas.length + (this.$t('app.gridpage.records') as string) + (this.$t('app.gridpage.data') as string);
} }
const removeData = () => { const removeData = () => {
...@@ -1229,7 +1238,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1229,7 +1238,7 @@ export default class MainBase extends Vue implements ControlInterface {
return; return;
} }
if (Object.is('load', action)) { if (Object.is('load', action)) {
this.load(data); this.load(data,true);
} }
if (Object.is('remove', action)) { if (Object.is('remove', action)) {
this.remove(data); this.remove(data);
...@@ -1721,11 +1730,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1721,11 +1730,7 @@ export default class MainBase extends Vue implements ControlInterface {
} }
if (!await this.validateAll()) { if (!await this.validateAll()) {
if(this.errorMessages && this.errorMessages.length > 0) { if(this.errorMessages && this.errorMessages.length > 0) {
let descMessage: string = ''; this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: this.errorMessages[0] });
this.errorMessages.forEach((message: any) => {
descMessage = descMessage + '<p>' + message + '<p>';
})
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: descMessage });
} else { } else {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: (this.$t('app.commonWords.rulesException') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: (this.$t('app.commonWords.rulesException') as string) });
} }
...@@ -1766,10 +1771,46 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1766,10 +1771,46 @@ export default class MainBase extends Vue implements ControlInterface {
if(errorItems.length === 0 && successItems.length >0 && !this.isformDruipart){ if(errorItems.length === 0 && successItems.length >0 && !this.isformDruipart){
this.$Notice.success({ title: '', desc: (this.$t('app.commonWords.saveSuccess') as string) }); this.$Notice.success({ title: '', desc: (this.$t('app.commonWords.saveSuccess') as string) });
}else{ }else{
errorItems.forEach((item:any,index:number)=>{ errorItems.forEach((item: any, index: number) => {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: errorMessage[index].data.message }); if(errorMessage[index] && errorMessage[index].data) {
console.error(errorMessage[index]); if(Object.is(errorMessage[index].data.errorKey, 'DupCheck')) {
}); let errorProp: string = errorMessage[index].data.message.match(/\[[a-zA-Z]*\]/)[0];
let name: string = errorProp ? this.service.getNameByProp(errorProp.substr(1, errorProp.length-2)) : '';
if(name) {
let desc: any = this.allColumns.find((column: any) =>{
return Object.is(column.name, name);
});
this.$Notice.error({
title: (this.$t('app.commonWords.createFailed') as string),
desc: (desc ? desc.label : '') + " : " + item[name] + (this.$t('app.commonWords.isExist') as string) + '!',
});
} else {
this.$Notice.error({
title: (this.$t('app.commonWords.createFailed') as string),
desc: errorMessage[index].data.message?errorMessage[index].data.message:(this.$t('app.commonWords.sysException') as string),
});
}
} else if(Object.is(errorMessage[index].data.errorKey, 'DuplicateKeyException')){
let name: string = this.service.getNameByProp("id");
if(name){
let desc: any = this.allColumns.find((column: any) =>{
return Object.is(column.name, name);
});
this.$Notice.error({
title: (this.$t('app.commonWords.createFailed') as string),
desc: (desc ? desc.label : '') + " : " + item[name] + (this.$t('app.commonWords.isExist') as string) + '!',
});
}
}else {
this.$Notice.error({
title: (this.$t('app.commonWords.saveFailed') as string),
desc: errorMessage[index].data.message?errorMessage[index].data.message:(this.$t('app.commonWords.sysException') as string),
});
}
} else {
this.$Notice.error({ title: (this.$t('app.commonWords.saveFailed') as string), desc: (item[this.majorInfoColName]?item[this.majorInfoColName]:"") + (this.$t('app.commonWords.saveFailed') as string) + '!' });
}
});
} }
return successItems; return successItems;
} }
...@@ -2028,15 +2069,19 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -2028,15 +2069,19 @@ export default class MainBase extends Vue implements ControlInterface {
let startOp = (val:boolean)=>{ let startOp = (val:boolean)=>{
if(falg.isPast){ if(falg.isPast){
if(opValue){ if(opValue){
falg.isPast = falg && val; falg.isPast = falg.isPast && val;
}else{ }else{
falg.isPast = falg || val; falg.isPast = falg.isPast || val;
} }
}else{ }else{
falg.isPast = val; falg.isPast = val;
} }
} }
rule[name].forEach((item:any) => { rule[name].forEach((item:any) => {
if((value === null || value === undefined || value === "") && (item.type != 'GROUP')){
startOp(true);
return falg;
}
// 常规规则 // 常规规则
if(item.type == 'SIMPLE'){ if(item.type == 'SIMPLE'){
startOp(!this.$verify.checkFieldSimpleRule(value,item.condOP,item.paramValue,item.ruleInfo,item.paramType,this.curEditRowData,item.isKeyCond)); startOp(!this.$verify.checkFieldSimpleRule(value,item.condOP,item.paramValue,item.ruleInfo,item.paramType,this.curEditRowData,item.isKeyCond));
...@@ -2059,7 +2104,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -2059,7 +2104,7 @@ export default class MainBase extends Vue implements ControlInterface {
} }
// 分组 // 分组
if(item.type == 'GROUP'){ if(item.type == 'GROUP'){
falg = this.verifyDeRules('group',item,"AND",value) falg = this.verifyDeRules('group',item,item.condOP?item.condOP:"AND",value)
if(item.isNotMode){ if(item.isNotMode){
falg.isPast = !falg.isPast; falg.isPast = !falg.isPast;
} }
......
...@@ -53,6 +53,9 @@ public class webSecurityConfig extends WebSecurityConfigurerAdapter { ...@@ -53,6 +53,9 @@ public class webSecurityConfig extends WebSecurityConfigurerAdapter {
@Value("${ibiz.file.previewpath:ibizutil/preview}") @Value("${ibiz.file.previewpath:ibizutil/preview}")
private String previewpath; private String previewpath;
@Value("${ibiz.auth.excludesPattern:}")
private String[] excludesPattern;
@Autowired @Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception { public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
...@@ -116,9 +119,15 @@ public class webSecurityConfig extends WebSecurityConfigurerAdapter { ...@@ -116,9 +119,15 @@ public class webSecurityConfig extends WebSecurityConfigurerAdapter {
// 文件操作 // 文件操作
.antMatchers("/"+downloadpath+"/**").permitAll() .antMatchers("/"+downloadpath+"/**").permitAll()
.antMatchers("/"+uploadpath).permitAll() .antMatchers("/"+uploadpath).permitAll()
.antMatchers("/"+previewpath+"/**").permitAll() .antMatchers("/"+previewpath+"/**");
// 所有请求都需要认证
.anyRequest().authenticated() for (String excludePattern : excludesPattern) {
authenticationTokenFilter.addExcludePattern(excludePattern);
httpSecurity.authorizeRequests().antMatchers(excludePattern).permitAll();
}
// 所有请求都需要认证
httpSecurity.authorizeRequests().anyRequest().authenticated()
// 防止iframe 造成跨域 // 防止iframe 造成跨域
.and().headers().frameOptions().disable(); .and().headers().frameOptions().disable();
......
...@@ -52,6 +52,7 @@ public class JobsInfoSearchContext extends QueryWrapperContext<JobsInfo> { ...@@ -52,6 +52,7 @@ public class JobsInfoSearchContext extends QueryWrapperContext<JobsInfo> {
/** /**
* 启用快速搜索 * 启用快速搜索
*/ */
@Override
public void setQuery(String query) public void setQuery(String query)
{ {
this.query=query; this.query=query;
......
...@@ -38,6 +38,7 @@ public class JobsLockSearchContext extends QueryWrapperContext<JobsLock> { ...@@ -38,6 +38,7 @@ public class JobsLockSearchContext extends QueryWrapperContext<JobsLock> {
/** /**
* 启用快速搜索 * 启用快速搜索
*/ */
@Override
public void setQuery(String query) public void setQuery(String query)
{ {
this.query=query; this.query=query;
......
...@@ -52,6 +52,7 @@ public class JobsLogSearchContext extends QueryWrapperContext<JobsLog> { ...@@ -52,6 +52,7 @@ public class JobsLogSearchContext extends QueryWrapperContext<JobsLog> {
/** /**
* 启用快速搜索 * 启用快速搜索
*/ */
@Override
public void setQuery(String query) public void setQuery(String query)
{ {
this.query=query; this.query=query;
......
...@@ -45,6 +45,7 @@ public class JobsRegistrySearchContext extends QueryWrapperContext<JobsRegistry> ...@@ -45,6 +45,7 @@ public class JobsRegistrySearchContext extends QueryWrapperContext<JobsRegistry>
/** /**
* 启用快速搜索 * 启用快速搜索
*/ */
@Override
public void setQuery(String query) public void setQuery(String query)
{ {
this.query=query; this.query=query;
......
...@@ -17,9 +17,9 @@ import java.io.Serializable; ...@@ -17,9 +17,9 @@ import java.io.Serializable;
import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
public interface JobsInfoMapper extends BaseMapper<JobsInfo>{ public interface JobsInfoMapper extends BaseMapper<JobsInfo> {
Page<JobsInfo> searchDefault(IPage page, @Param("srf") JobsInfoSearchContext context, @Param("ew") Wrapper<JobsInfo> wrapper) ; Page<JobsInfo> searchDefault(IPage page, @Param("srf") JobsInfoSearchContext context, @Param("ew") Wrapper<JobsInfo> wrapper);
@Override @Override
JobsInfo selectById(Serializable id); JobsInfo selectById(Serializable id);
@Override @Override
...@@ -30,13 +30,13 @@ public interface JobsInfoMapper extends BaseMapper<JobsInfo>{ ...@@ -30,13 +30,13 @@ public interface JobsInfoMapper extends BaseMapper<JobsInfo>{
int update(@Param(Constants.ENTITY) JobsInfo entity, @Param("ew") Wrapper<JobsInfo> updateWrapper); int update(@Param(Constants.ENTITY) JobsInfo entity, @Param("ew") Wrapper<JobsInfo> updateWrapper);
@Override @Override
int deleteById(Serializable id); int deleteById(Serializable id);
/** /**
* 自定义查询SQL * 自定义查询SQL
* @param sql * @param sql
* @return * @return
*/ */
@Select("${sql}") @Select("${sql}")
List<JSONObject> selectBySQL(@Param("sql") String sql, @Param("et")Map param); List<JSONObject> selectBySQL(@Param("sql") String sql, @Param("et")Map param);
/** /**
* 自定义更新SQL * 自定义更新SQL
......
...@@ -17,9 +17,9 @@ import java.io.Serializable; ...@@ -17,9 +17,9 @@ import java.io.Serializable;
import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
public interface JobsLockMapper extends BaseMapper<JobsLock>{ public interface JobsLockMapper extends BaseMapper<JobsLock> {
Page<JobsLock> searchDefault(IPage page, @Param("srf") JobsLockSearchContext context, @Param("ew") Wrapper<JobsLock> wrapper) ; Page<JobsLock> searchDefault(IPage page, @Param("srf") JobsLockSearchContext context, @Param("ew") Wrapper<JobsLock> wrapper);
@Override @Override
JobsLock selectById(Serializable id); JobsLock selectById(Serializable id);
@Override @Override
...@@ -30,13 +30,13 @@ public interface JobsLockMapper extends BaseMapper<JobsLock>{ ...@@ -30,13 +30,13 @@ public interface JobsLockMapper extends BaseMapper<JobsLock>{
int update(@Param(Constants.ENTITY) JobsLock entity, @Param("ew") Wrapper<JobsLock> updateWrapper); int update(@Param(Constants.ENTITY) JobsLock entity, @Param("ew") Wrapper<JobsLock> updateWrapper);
@Override @Override
int deleteById(Serializable id); int deleteById(Serializable id);
/** /**
* 自定义查询SQL * 自定义查询SQL
* @param sql * @param sql
* @return * @return
*/ */
@Select("${sql}") @Select("${sql}")
List<JSONObject> selectBySQL(@Param("sql") String sql, @Param("et")Map param); List<JSONObject> selectBySQL(@Param("sql") String sql, @Param("et")Map param);
/** /**
* 自定义更新SQL * 自定义更新SQL
......
...@@ -17,9 +17,9 @@ import java.io.Serializable; ...@@ -17,9 +17,9 @@ import java.io.Serializable;
import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
public interface JobsLogMapper extends BaseMapper<JobsLog>{ public interface JobsLogMapper extends BaseMapper<JobsLog> {
Page<JobsLog> searchDefault(IPage page, @Param("srf") JobsLogSearchContext context, @Param("ew") Wrapper<JobsLog> wrapper) ; Page<JobsLog> searchDefault(IPage page, @Param("srf") JobsLogSearchContext context, @Param("ew") Wrapper<JobsLog> wrapper);
@Override @Override
JobsLog selectById(Serializable id); JobsLog selectById(Serializable id);
@Override @Override
...@@ -30,13 +30,13 @@ public interface JobsLogMapper extends BaseMapper<JobsLog>{ ...@@ -30,13 +30,13 @@ public interface JobsLogMapper extends BaseMapper<JobsLog>{
int update(@Param(Constants.ENTITY) JobsLog entity, @Param("ew") Wrapper<JobsLog> updateWrapper); int update(@Param(Constants.ENTITY) JobsLog entity, @Param("ew") Wrapper<JobsLog> updateWrapper);
@Override @Override
int deleteById(Serializable id); int deleteById(Serializable id);
/** /**
* 自定义查询SQL * 自定义查询SQL
* @param sql * @param sql
* @return * @return
*/ */
@Select("${sql}") @Select("${sql}")
List<JSONObject> selectBySQL(@Param("sql") String sql, @Param("et")Map param); List<JSONObject> selectBySQL(@Param("sql") String sql, @Param("et")Map param);
/** /**
* 自定义更新SQL * 自定义更新SQL
......
...@@ -17,9 +17,9 @@ import java.io.Serializable; ...@@ -17,9 +17,9 @@ import java.io.Serializable;
import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
public interface JobsRegistryMapper extends BaseMapper<JobsRegistry>{ public interface JobsRegistryMapper extends BaseMapper<JobsRegistry> {
Page<JobsRegistry> searchDefault(IPage page, @Param("srf") JobsRegistrySearchContext context, @Param("ew") Wrapper<JobsRegistry> wrapper) ; Page<JobsRegistry> searchDefault(IPage page, @Param("srf") JobsRegistrySearchContext context, @Param("ew") Wrapper<JobsRegistry> wrapper);
@Override @Override
JobsRegistry selectById(Serializable id); JobsRegistry selectById(Serializable id);
@Override @Override
...@@ -30,13 +30,13 @@ public interface JobsRegistryMapper extends BaseMapper<JobsRegistry>{ ...@@ -30,13 +30,13 @@ public interface JobsRegistryMapper extends BaseMapper<JobsRegistry>{
int update(@Param(Constants.ENTITY) JobsRegistry entity, @Param("ew") Wrapper<JobsRegistry> updateWrapper); int update(@Param(Constants.ENTITY) JobsRegistry entity, @Param("ew") Wrapper<JobsRegistry> updateWrapper);
@Override @Override
int deleteById(Serializable id); int deleteById(Serializable id);
/** /**
* 自定义查询SQL * 自定义查询SQL
* @param sql * @param sql
* @return * @return
*/ */
@Select("${sql}") @Select("${sql}")
List<JSONObject> selectBySQL(@Param("sql") String sql, @Param("et")Map param); List<JSONObject> selectBySQL(@Param("sql") String sql, @Param("et")Map param);
/** /**
* 自定义更新SQL * 自定义更新SQL
......
...@@ -23,23 +23,23 @@ import com.baomidou.mybatisplus.extension.service.IService; ...@@ -23,23 +23,23 @@ import com.baomidou.mybatisplus.extension.service.IService;
/** /**
* 实体[JobsInfo] 服务对象接口 * 实体[JobsInfo] 服务对象接口
*/ */
public interface IJobsInfoService extends IService<JobsInfo>{ public interface IJobsInfoService extends IService<JobsInfo> {
boolean create(JobsInfo et) ; boolean create(JobsInfo et);
void createBatch(List<JobsInfo> list) ; void createBatch(List<JobsInfo> list);
boolean update(JobsInfo et) ; boolean update(JobsInfo et);
void updateBatch(List<JobsInfo> list) ; void updateBatch(List<JobsInfo> list);
boolean remove(String key) ; boolean remove(String key);
void removeBatch(Collection<String> idList) ; void removeBatch(Collection<String> idList);
JobsInfo get(String key) ; JobsInfo get(String key);
JobsInfo getDraft(JobsInfo et) ; JobsInfo getDraft(JobsInfo et);
boolean checkKey(JobsInfo et) ; boolean checkKey(JobsInfo et);
JobsInfo execute(JobsInfo et) ; JobsInfo execute(JobsInfo et);
boolean save(JobsInfo et) ; boolean save(JobsInfo et);
void saveBatch(List<JobsInfo> list) ; void saveBatch(List<JobsInfo> list);
JobsInfo start(JobsInfo et) ; JobsInfo start(JobsInfo et);
JobsInfo stop(JobsInfo et) ; JobsInfo stop(JobsInfo et);
Page<JobsInfo> searchDefault(JobsInfoSearchContext context) ; Page<JobsInfo> searchDefault(JobsInfoSearchContext context);
/** /**
*自定义查询SQL *自定义查询SQL
* @param sql select * from table where id =#{et.param} * @param sql select * from table where id =#{et.param}
......
...@@ -23,20 +23,20 @@ import com.baomidou.mybatisplus.extension.service.IService; ...@@ -23,20 +23,20 @@ import com.baomidou.mybatisplus.extension.service.IService;
/** /**
* 实体[JobsLock] 服务对象接口 * 实体[JobsLock] 服务对象接口
*/ */
public interface IJobsLockService extends IService<JobsLock>{ public interface IJobsLockService extends IService<JobsLock> {
boolean create(JobsLock et) ; boolean create(JobsLock et);
void createBatch(List<JobsLock> list) ; void createBatch(List<JobsLock> list);
boolean update(JobsLock et) ; boolean update(JobsLock et);
void updateBatch(List<JobsLock> list) ; void updateBatch(List<JobsLock> list);
boolean remove(String key) ; boolean remove(String key);
void removeBatch(Collection<String> idList) ; void removeBatch(Collection<String> idList);
JobsLock get(String key) ; JobsLock get(String key);
JobsLock getDraft(JobsLock et) ; JobsLock getDraft(JobsLock et);
boolean checkKey(JobsLock et) ; boolean checkKey(JobsLock et);
boolean save(JobsLock et) ; boolean save(JobsLock et);
void saveBatch(List<JobsLock> list) ; void saveBatch(List<JobsLock> list);
Page<JobsLock> searchDefault(JobsLockSearchContext context) ; Page<JobsLock> searchDefault(JobsLockSearchContext context);
/** /**
*自定义查询SQL *自定义查询SQL
* @param sql select * from table where id =#{et.param} * @param sql select * from table where id =#{et.param}
......
...@@ -23,20 +23,20 @@ import com.baomidou.mybatisplus.extension.service.IService; ...@@ -23,20 +23,20 @@ import com.baomidou.mybatisplus.extension.service.IService;
/** /**
* 实体[JobsLog] 服务对象接口 * 实体[JobsLog] 服务对象接口
*/ */
public interface IJobsLogService extends IService<JobsLog>{ public interface IJobsLogService extends IService<JobsLog> {
boolean create(JobsLog et) ; boolean create(JobsLog et);
void createBatch(List<JobsLog> list) ; void createBatch(List<JobsLog> list);
boolean update(JobsLog et) ; boolean update(JobsLog et);
void updateBatch(List<JobsLog> list) ; void updateBatch(List<JobsLog> list);
boolean remove(String key) ; boolean remove(String key);
void removeBatch(Collection<String> idList) ; void removeBatch(Collection<String> idList);
JobsLog get(String key) ; JobsLog get(String key);
JobsLog getDraft(JobsLog et) ; JobsLog getDraft(JobsLog et);
boolean checkKey(JobsLog et) ; boolean checkKey(JobsLog et);
boolean save(JobsLog et) ; boolean save(JobsLog et);
void saveBatch(List<JobsLog> list) ; void saveBatch(List<JobsLog> list);
Page<JobsLog> searchDefault(JobsLogSearchContext context) ; Page<JobsLog> searchDefault(JobsLogSearchContext context);
/** /**
*自定义查询SQL *自定义查询SQL
* @param sql select * from table where id =#{et.param} * @param sql select * from table where id =#{et.param}
......
...@@ -23,20 +23,20 @@ import com.baomidou.mybatisplus.extension.service.IService; ...@@ -23,20 +23,20 @@ import com.baomidou.mybatisplus.extension.service.IService;
/** /**
* 实体[JobsRegistry] 服务对象接口 * 实体[JobsRegistry] 服务对象接口
*/ */
public interface IJobsRegistryService extends IService<JobsRegistry>{ public interface IJobsRegistryService extends IService<JobsRegistry> {
boolean create(JobsRegistry et) ; boolean create(JobsRegistry et);
void createBatch(List<JobsRegistry> list) ; void createBatch(List<JobsRegistry> list);
boolean update(JobsRegistry et) ; boolean update(JobsRegistry et);
void updateBatch(List<JobsRegistry> list) ; void updateBatch(List<JobsRegistry> list);
boolean remove(String key) ; boolean remove(String key);
void removeBatch(Collection<String> idList) ; void removeBatch(Collection<String> idList);
JobsRegistry get(String key) ; JobsRegistry get(String key);
JobsRegistry getDraft(JobsRegistry et) ; JobsRegistry getDraft(JobsRegistry et);
boolean checkKey(JobsRegistry et) ; boolean checkKey(JobsRegistry et);
boolean save(JobsRegistry et) ; boolean save(JobsRegistry et);
void saveBatch(List<JobsRegistry> list) ; void saveBatch(List<JobsRegistry> list);
Page<JobsRegistry> searchDefault(JobsRegistrySearchContext context) ; Page<JobsRegistry> searchDefault(JobsRegistrySearchContext context);
/** /**
*自定义查询SQL *自定义查询SQL
* @param sql select * from table where id =#{et.param} * @param sql select * from table where id =#{et.param}
......
...@@ -54,37 +54,39 @@ public class JobsInfoServiceImpl extends ServiceImpl<JobsInfoMapper, JobsInfo> i ...@@ -54,37 +54,39 @@ public class JobsInfoServiceImpl extends ServiceImpl<JobsInfoMapper, JobsInfo> i
@Override @Override
@Transactional @Transactional
public boolean create(JobsInfo et) { public boolean create(JobsInfo et) {
if(!this.retBool(this.baseMapper.insert(et))) if(!this.retBool(this.baseMapper.insert(et))) {
return false; return false;
CachedBeanCopier.copy(get(et.getId()),et); }
CachedBeanCopier.copy(get(et.getId()), et);
return true; return true;
} }
@Override @Override
@Transactional @Transactional
public void createBatch(List<JobsInfo> list) { public void createBatch(List<JobsInfo> list) {
this.saveBatch(list,batchSize); this.saveBatch(list, batchSize);
} }
@Override @Override
@Transactional @Transactional
public boolean update(JobsInfo et) { public boolean update(JobsInfo et) {
if(!update(et,(Wrapper) et.getUpdateWrapper(true).eq("id",et.getId()))) if(!update(et, (Wrapper) et.getUpdateWrapper(true).eq("id", et.getId()))) {
return false; return false;
CachedBeanCopier.copy(get(et.getId()),et); }
CachedBeanCopier.copy(get(et.getId()), et);
return true; return true;
} }
@Override @Override
@Transactional @Transactional
public void updateBatch(List<JobsInfo> list) { public void updateBatch(List<JobsInfo> list) {
updateBatchById(list,batchSize); updateBatchById(list, batchSize);
} }
@Override @Override
@Transactional @Transactional
public boolean remove(String key) { public boolean remove(String key) {
boolean result=removeById(key); boolean result = removeById(key);
return result ; return result ;
} }
...@@ -98,11 +100,11 @@ public class JobsInfoServiceImpl extends ServiceImpl<JobsInfoMapper, JobsInfo> i ...@@ -98,11 +100,11 @@ public class JobsInfoServiceImpl extends ServiceImpl<JobsInfoMapper, JobsInfo> i
@Transactional @Transactional
public JobsInfo get(String key) { public JobsInfo get(String key) {
JobsInfo et = getById(key); JobsInfo et = getById(key);
if(et==null){ if(et == null){
et=new JobsInfo(); et = new JobsInfo();
et.setId(key); et.setId(key);
} }
else{ else {
} }
return et; return et;
} }
...@@ -114,7 +116,7 @@ public class JobsInfoServiceImpl extends ServiceImpl<JobsInfoMapper, JobsInfo> i ...@@ -114,7 +116,7 @@ public class JobsInfoServiceImpl extends ServiceImpl<JobsInfoMapper, JobsInfo> i
@Override @Override
public boolean checkKey(JobsInfo et) { public boolean checkKey(JobsInfo et) {
return (!ObjectUtils.isEmpty(et.getId()))&&(!Objects.isNull(this.getById(et.getId()))); return (!ObjectUtils.isEmpty(et.getId())) && (!Objects.isNull(this.getById(et.getId())));
} }
@Override @Override
@Transactional @Transactional
...@@ -126,8 +128,9 @@ public class JobsInfoServiceImpl extends ServiceImpl<JobsInfoMapper, JobsInfo> i ...@@ -126,8 +128,9 @@ public class JobsInfoServiceImpl extends ServiceImpl<JobsInfoMapper, JobsInfo> i
@Override @Override
@Transactional @Transactional
public boolean save(JobsInfo et) { public boolean save(JobsInfo et) {
if(!saveOrUpdate(et)) if(!saveOrUpdate(et)) {
return false; return false;
}
return true; return true;
} }
......
...@@ -54,37 +54,39 @@ public class JobsLockServiceImpl extends ServiceImpl<JobsLockMapper, JobsLock> i ...@@ -54,37 +54,39 @@ public class JobsLockServiceImpl extends ServiceImpl<JobsLockMapper, JobsLock> i
@Override @Override
@Transactional @Transactional
public boolean create(JobsLock et) { public boolean create(JobsLock et) {
if(!this.retBool(this.baseMapper.insert(et))) if(!this.retBool(this.baseMapper.insert(et))) {
return false; return false;
CachedBeanCopier.copy(get(et.getId()),et); }
CachedBeanCopier.copy(get(et.getId()), et);
return true; return true;
} }
@Override @Override
@Transactional @Transactional
public void createBatch(List<JobsLock> list) { public void createBatch(List<JobsLock> list) {
this.saveBatch(list,batchSize); this.saveBatch(list, batchSize);
} }
@Override @Override
@Transactional @Transactional
public boolean update(JobsLock et) { public boolean update(JobsLock et) {
if(!update(et,(Wrapper) et.getUpdateWrapper(true).eq("id",et.getId()))) if(!update(et, (Wrapper) et.getUpdateWrapper(true).eq("id", et.getId()))) {
return false; return false;
CachedBeanCopier.copy(get(et.getId()),et); }
CachedBeanCopier.copy(get(et.getId()), et);
return true; return true;
} }
@Override @Override
@Transactional @Transactional
public void updateBatch(List<JobsLock> list) { public void updateBatch(List<JobsLock> list) {
updateBatchById(list,batchSize); updateBatchById(list, batchSize);
} }
@Override @Override
@Transactional @Transactional
public boolean remove(String key) { public boolean remove(String key) {
boolean result=removeById(key); boolean result = removeById(key);
return result ; return result ;
} }
...@@ -98,11 +100,11 @@ public class JobsLockServiceImpl extends ServiceImpl<JobsLockMapper, JobsLock> i ...@@ -98,11 +100,11 @@ public class JobsLockServiceImpl extends ServiceImpl<JobsLockMapper, JobsLock> i
@Transactional @Transactional
public JobsLock get(String key) { public JobsLock get(String key) {
JobsLock et = getById(key); JobsLock et = getById(key);
if(et==null){ if(et == null){
et=new JobsLock(); et = new JobsLock();
et.setId(key); et.setId(key);
} }
else{ else {
} }
return et; return et;
} }
...@@ -114,13 +116,14 @@ public class JobsLockServiceImpl extends ServiceImpl<JobsLockMapper, JobsLock> i ...@@ -114,13 +116,14 @@ public class JobsLockServiceImpl extends ServiceImpl<JobsLockMapper, JobsLock> i
@Override @Override
public boolean checkKey(JobsLock et) { public boolean checkKey(JobsLock et) {
return (!ObjectUtils.isEmpty(et.getId()))&&(!Objects.isNull(this.getById(et.getId()))); return (!ObjectUtils.isEmpty(et.getId())) && (!Objects.isNull(this.getById(et.getId())));
} }
@Override @Override
@Transactional @Transactional
public boolean save(JobsLock et) { public boolean save(JobsLock et) {
if(!saveOrUpdate(et)) if(!saveOrUpdate(et)) {
return false; return false;
}
return true; return true;
} }
......
...@@ -54,37 +54,39 @@ public class JobsLogServiceImpl extends ServiceImpl<JobsLogMapper, JobsLog> impl ...@@ -54,37 +54,39 @@ public class JobsLogServiceImpl extends ServiceImpl<JobsLogMapper, JobsLog> impl
@Override @Override
@Transactional @Transactional
public boolean create(JobsLog et) { public boolean create(JobsLog et) {
if(!this.retBool(this.baseMapper.insert(et))) if(!this.retBool(this.baseMapper.insert(et))) {
return false; return false;
CachedBeanCopier.copy(get(et.getId()),et); }
CachedBeanCopier.copy(get(et.getId()), et);
return true; return true;
} }
@Override @Override
@Transactional @Transactional
public void createBatch(List<JobsLog> list) { public void createBatch(List<JobsLog> list) {
this.saveBatch(list,batchSize); this.saveBatch(list, batchSize);
} }
@Override @Override
@Transactional @Transactional
public boolean update(JobsLog et) { public boolean update(JobsLog et) {
if(!update(et,(Wrapper) et.getUpdateWrapper(true).eq("id",et.getId()))) if(!update(et, (Wrapper) et.getUpdateWrapper(true).eq("id", et.getId()))) {
return false; return false;
CachedBeanCopier.copy(get(et.getId()),et); }
CachedBeanCopier.copy(get(et.getId()), et);
return true; return true;
} }
@Override @Override
@Transactional @Transactional
public void updateBatch(List<JobsLog> list) { public void updateBatch(List<JobsLog> list) {
updateBatchById(list,batchSize); updateBatchById(list, batchSize);
} }
@Override @Override
@Transactional @Transactional
public boolean remove(String key) { public boolean remove(String key) {
boolean result=removeById(key); boolean result = removeById(key);
return result ; return result ;
} }
...@@ -98,11 +100,11 @@ public class JobsLogServiceImpl extends ServiceImpl<JobsLogMapper, JobsLog> impl ...@@ -98,11 +100,11 @@ public class JobsLogServiceImpl extends ServiceImpl<JobsLogMapper, JobsLog> impl
@Transactional @Transactional
public JobsLog get(String key) { public JobsLog get(String key) {
JobsLog et = getById(key); JobsLog et = getById(key);
if(et==null){ if(et == null){
et=new JobsLog(); et = new JobsLog();
et.setId(key); et.setId(key);
} }
else{ else {
} }
return et; return et;
} }
...@@ -114,13 +116,14 @@ public class JobsLogServiceImpl extends ServiceImpl<JobsLogMapper, JobsLog> impl ...@@ -114,13 +116,14 @@ public class JobsLogServiceImpl extends ServiceImpl<JobsLogMapper, JobsLog> impl
@Override @Override
public boolean checkKey(JobsLog et) { public boolean checkKey(JobsLog et) {
return (!ObjectUtils.isEmpty(et.getId()))&&(!Objects.isNull(this.getById(et.getId()))); return (!ObjectUtils.isEmpty(et.getId())) && (!Objects.isNull(this.getById(et.getId())));
} }
@Override @Override
@Transactional @Transactional
public boolean save(JobsLog et) { public boolean save(JobsLog et) {
if(!saveOrUpdate(et)) if(!saveOrUpdate(et)) {
return false; return false;
}
return true; return true;
} }
......
...@@ -54,37 +54,39 @@ public class JobsRegistryServiceImpl extends ServiceImpl<JobsRegistryMapper, Job ...@@ -54,37 +54,39 @@ public class JobsRegistryServiceImpl extends ServiceImpl<JobsRegistryMapper, Job
@Override @Override
@Transactional @Transactional
public boolean create(JobsRegistry et) { public boolean create(JobsRegistry et) {
if(!this.retBool(this.baseMapper.insert(et))) if(!this.retBool(this.baseMapper.insert(et))) {
return false; return false;
CachedBeanCopier.copy(get(et.getId()),et); }
CachedBeanCopier.copy(get(et.getId()), et);
return true; return true;
} }
@Override @Override
@Transactional @Transactional
public void createBatch(List<JobsRegistry> list) { public void createBatch(List<JobsRegistry> list) {
this.saveBatch(list,batchSize); this.saveBatch(list, batchSize);
} }
@Override @Override
@Transactional @Transactional
public boolean update(JobsRegistry et) { public boolean update(JobsRegistry et) {
if(!update(et,(Wrapper) et.getUpdateWrapper(true).eq("id",et.getId()))) if(!update(et, (Wrapper) et.getUpdateWrapper(true).eq("id", et.getId()))) {
return false; return false;
CachedBeanCopier.copy(get(et.getId()),et); }
CachedBeanCopier.copy(get(et.getId()), et);
return true; return true;
} }
@Override @Override
@Transactional @Transactional
public void updateBatch(List<JobsRegistry> list) { public void updateBatch(List<JobsRegistry> list) {
updateBatchById(list,batchSize); updateBatchById(list, batchSize);
} }
@Override @Override
@Transactional @Transactional
public boolean remove(String key) { public boolean remove(String key) {
boolean result=removeById(key); boolean result = removeById(key);
return result ; return result ;
} }
...@@ -98,11 +100,11 @@ public class JobsRegistryServiceImpl extends ServiceImpl<JobsRegistryMapper, Job ...@@ -98,11 +100,11 @@ public class JobsRegistryServiceImpl extends ServiceImpl<JobsRegistryMapper, Job
@Transactional @Transactional
public JobsRegistry get(String key) { public JobsRegistry get(String key) {
JobsRegistry et = getById(key); JobsRegistry et = getById(key);
if(et==null){ if(et == null){
et=new JobsRegistry(); et = new JobsRegistry();
et.setId(key); et.setId(key);
} }
else{ else {
} }
return et; return et;
} }
...@@ -114,13 +116,14 @@ public class JobsRegistryServiceImpl extends ServiceImpl<JobsRegistryMapper, Job ...@@ -114,13 +116,14 @@ public class JobsRegistryServiceImpl extends ServiceImpl<JobsRegistryMapper, Job
@Override @Override
public boolean checkKey(JobsRegistry et) { public boolean checkKey(JobsRegistry et) {
return (!ObjectUtils.isEmpty(et.getId()))&&(!Objects.isNull(this.getById(et.getId()))); return (!ObjectUtils.isEmpty(et.getId())) && (!Objects.isNull(this.getById(et.getId())));
} }
@Override @Override
@Transactional @Transactional
public boolean save(JobsRegistry et) { public boolean save(JobsRegistry et) {
if(!saveOrUpdate(et)) if(!saveOrUpdate(et)) {
return false; return false;
}
return true; return true;
} }
......
...@@ -264,7 +264,6 @@ ...@@ -264,7 +264,6 @@
<version>${baomidou-jobs.version}</version> <version>${baomidou-jobs.version}</version>
</dependency> </dependency>
</dependencies> </dependencies>
</dependencyManagement> </dependencyManagement>
......
...@@ -4,11 +4,10 @@ import org.mapstruct.*; ...@@ -4,11 +4,10 @@ import org.mapstruct.*;
import cn.ibizlab.core.task.domain.JobsInfo; import cn.ibizlab.core.task.domain.JobsInfo;
import cn.ibizlab.api.dto.JobsInfoDTO; import cn.ibizlab.api.dto.JobsInfoDTO;
import cn.ibizlab.util.domain.MappingBase; import cn.ibizlab.util.domain.MappingBase;
import org.mapstruct.factory.Mappers;
@Mapper(componentModel = "spring", uses = {},implementationName="apiJobsInfoMapping", @Mapper(componentModel = "spring", uses = {}, implementationName = "apiJobsInfoMapping",
nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE, nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE,
nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS) nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS)
public interface JobsInfoMapping extends MappingBase<JobsInfoDTO, JobsInfo> { public interface JobsInfoMapping extends MappingBase<JobsInfoDTO, JobsInfo> {
......
...@@ -4,11 +4,10 @@ import org.mapstruct.*; ...@@ -4,11 +4,10 @@ import org.mapstruct.*;
import cn.ibizlab.core.task.domain.JobsLock; import cn.ibizlab.core.task.domain.JobsLock;
import cn.ibizlab.api.dto.JobsLockDTO; import cn.ibizlab.api.dto.JobsLockDTO;
import cn.ibizlab.util.domain.MappingBase; import cn.ibizlab.util.domain.MappingBase;
import org.mapstruct.factory.Mappers;
@Mapper(componentModel = "spring", uses = {},implementationName="apiJobsLockMapping", @Mapper(componentModel = "spring", uses = {}, implementationName = "apiJobsLockMapping",
nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE, nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE,
nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS) nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS)
public interface JobsLockMapping extends MappingBase<JobsLockDTO, JobsLock> { public interface JobsLockMapping extends MappingBase<JobsLockDTO, JobsLock> {
......
...@@ -4,11 +4,10 @@ import org.mapstruct.*; ...@@ -4,11 +4,10 @@ import org.mapstruct.*;
import cn.ibizlab.core.task.domain.JobsLog; import cn.ibizlab.core.task.domain.JobsLog;
import cn.ibizlab.api.dto.JobsLogDTO; import cn.ibizlab.api.dto.JobsLogDTO;
import cn.ibizlab.util.domain.MappingBase; import cn.ibizlab.util.domain.MappingBase;
import org.mapstruct.factory.Mappers;
@Mapper(componentModel = "spring", uses = {},implementationName="apiJobsLogMapping", @Mapper(componentModel = "spring", uses = {}, implementationName = "apiJobsLogMapping",
nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE, nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE,
nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS) nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS)
public interface JobsLogMapping extends MappingBase<JobsLogDTO, JobsLog> { public interface JobsLogMapping extends MappingBase<JobsLogDTO, JobsLog> {
......
...@@ -4,11 +4,10 @@ import org.mapstruct.*; ...@@ -4,11 +4,10 @@ import org.mapstruct.*;
import cn.ibizlab.core.task.domain.JobsRegistry; import cn.ibizlab.core.task.domain.JobsRegistry;
import cn.ibizlab.api.dto.JobsRegistryDTO; import cn.ibizlab.api.dto.JobsRegistryDTO;
import cn.ibizlab.util.domain.MappingBase; import cn.ibizlab.util.domain.MappingBase;
import org.mapstruct.factory.Mappers;
@Mapper(componentModel = "spring", uses = {},implementationName="apiJobsRegistryMapping", @Mapper(componentModel = "spring", uses = {}, implementationName = "apiJobsRegistryMapping",
nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE, nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE,
nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS) nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS)
public interface JobsRegistryMapping extends MappingBase<JobsRegistryDTO, JobsRegistry> { public interface JobsRegistryMapping extends MappingBase<JobsRegistryDTO, JobsRegistry> {
......
...@@ -43,30 +43,31 @@ public class AuditAspect ...@@ -43,30 +43,31 @@ public class AuditAspect
*/ */
@AfterReturning(value = "execution(* cn.ibizlab.core.*.service.*.create(..))") @AfterReturning(value = "execution(* cn.ibizlab.core.*.service.*.create(..))")
@SneakyThrows @SneakyThrows
public void create(JoinPoint point){ public void create(JoinPoint point) {
HttpServletRequest request=null; HttpServletRequest request = null;
RequestAttributes requestAttributes= RequestContextHolder.getRequestAttributes(); RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
if(requestAttributes!=null){ if(requestAttributes!=null) {
request=((ServletRequestAttributes)requestAttributes).getRequest(); request = ((ServletRequestAttributes)requestAttributes).getRequest();
} }
Object [] args = point.getArgs(); Object [] args = point.getArgs();
if(ObjectUtils.isEmpty(args) || args.length==0) if(ObjectUtils.isEmpty(args) || args.length==0) {
return; return;
}
Object serviceParam =args[0]; Object serviceParam = args[0];
if(serviceParam instanceof EntityBase){ if(serviceParam instanceof EntityBase) {
EntityBase entity=(EntityBase)serviceParam;//创建数据 EntityBase entity = (EntityBase)serviceParam;
Map<String, Audit> auditFields= DEFieldCacheMap.getAuditFields(entity.getClass()); Map<String, Audit> auditFields = DEFieldCacheMap.getAuditFields(entity.getClass());
if(auditFields.size()==0)//是否有审计属性 //是否有审计属性
if(auditFields.size()==0) {
return; return;
}
String idField=DEFieldCacheMap.getDEKeyField(entity.getClass()); String idField = DEFieldCacheMap.getDEKeyField(entity.getClass());
Object idValue=""; Object idValue = "";
if(!StringUtils.isEmpty(idField)){ if(!StringUtils.isEmpty(idField)) {
idValue=entity.get(idField); idValue=entity.get(idField);
} }
//记录审计日志 //记录审计日志
dataAuditService.createAudit(request,entity,idValue,auditFields); dataAuditService.createAudit(request, entity, idValue, auditFields);
} }
} }
...@@ -77,39 +78,38 @@ public class AuditAspect ...@@ -77,39 +78,38 @@ public class AuditAspect
*/ */
@Around("execution(* cn.ibizlab.core.*.service.*.update(..))") @Around("execution(* cn.ibizlab.core.*.service.*.update(..))")
public Object update(ProceedingJoinPoint point) throws Throwable { public Object update(ProceedingJoinPoint point) throws Throwable {
HttpServletRequest request=null; HttpServletRequest request = null;
RequestAttributes requestAttributes= RequestContextHolder.getRequestAttributes(); RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
if(requestAttributes!=null){ if(requestAttributes!=null) {
request=((ServletRequestAttributes)requestAttributes).getRequest(); request=((ServletRequestAttributes)requestAttributes).getRequest();
} }
Object serviceObj=point.getTarget(); Object serviceObj = point.getTarget();
Object args[]=point.getArgs(); Object args[] = point.getArgs();
if(ObjectUtils.isEmpty(args) || args.length==0) {
if(ObjectUtils.isEmpty(args) || args.length==0)
return point.proceed(); return point.proceed();
}
Object arg=args[0]; Object arg = args[0];
if(arg instanceof EntityBase){ if(arg instanceof EntityBase) {
EntityBase entity= (EntityBase) arg; EntityBase entity = (EntityBase) arg;
Map<String, Audit> auditFields= DEFieldCacheMap.getAuditFields(entity.getClass()); Map<String, Audit> auditFields = DEFieldCacheMap.getAuditFields(entity.getClass());
//是否有审计属性 //是否有审计属性
if(auditFields.size()==0) if(auditFields.size()==0) {
return point.proceed(); return point.proceed();
String idField=DEFieldCacheMap.getDEKeyField(entity.getClass()); }
Object idValue=""; String idField = DEFieldCacheMap.getDEKeyField(entity.getClass());
Object idValue = "";
if(!StringUtils.isEmpty(idField)){ if(!StringUtils.isEmpty(idField)){
idValue=entity.get(idField); idValue = entity.get(idField);
} }
if(ObjectUtils.isEmpty(idValue)) if(ObjectUtils.isEmpty(idValue)) {
return point.proceed(); return point.proceed();
}
//获取更新前实体 //获取更新前实体
EntityBase beforeEntity=getEntity(serviceObj,idValue); EntityBase beforeEntity = getEntity(serviceObj, idValue);
//执行更新操作 //执行更新操作
point.proceed(); point.proceed();
//记录审计日志 //记录审计日志
dataAuditService.updateAudit(request,beforeEntity,serviceObj,idValue,auditFields); dataAuditService.updateAudit(request, beforeEntity, serviceObj, idValue, auditFields);
return true; return true;
} }
return point.proceed(); return point.proceed();
...@@ -124,28 +124,27 @@ public class AuditAspect ...@@ -124,28 +124,27 @@ public class AuditAspect
*/ */
@Around("execution(* cn.ibizlab.core.*.service.*.remove(..))") @Around("execution(* cn.ibizlab.core.*.service.*.remove(..))")
public Object remove(ProceedingJoinPoint point) throws Throwable { public Object remove(ProceedingJoinPoint point) throws Throwable {
HttpServletRequest request=null; HttpServletRequest request = null;
RequestAttributes requestAttributes= RequestContextHolder.getRequestAttributes(); RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
if(requestAttributes!=null){ if(requestAttributes!= null) {
request=((ServletRequestAttributes)requestAttributes).getRequest(); request = ((ServletRequestAttributes)requestAttributes).getRequest();
} }
Object serviceObj=point.getTarget(); Object serviceObj = point.getTarget();
Object args[]=point.getArgs(); Object args[] = point.getArgs();
if(ObjectUtils.isEmpty(args) || args.length==0) {
if(ObjectUtils.isEmpty(args) || args.length==0)
return point.proceed(); return point.proceed();
}
Object idValue=args[0]; Object idValue = args[0];
EntityBase entity=getEntity(serviceObj,idValue); EntityBase entity = getEntity(serviceObj, idValue);
Map<String, Audit> auditFields= DEFieldCacheMap.getAuditFields(entity.getClass()); Map<String, Audit> auditFields = DEFieldCacheMap.getAuditFields(entity.getClass());
if(auditFields.size()==0){ if(auditFields.size()==0) {
return point.proceed(); return point.proceed();
} }
else{ else{
//执行删除操作 //执行删除操作
point.proceed(); point.proceed();
//记录审计日志 //记录审计日志
dataAuditService.removeAudit(request,entity,idValue,auditFields); dataAuditService.removeAudit(request, entity, idValue, auditFields);
return true; return true;
} }
} }
...@@ -157,12 +156,12 @@ public class AuditAspect ...@@ -157,12 +156,12 @@ public class AuditAspect
* @return * @return
*/ */
@SneakyThrows @SneakyThrows
private EntityBase getEntity(Object service, Object id){ private EntityBase getEntity(Object service, Object id) {
EntityBase entity=null; EntityBase entity = null;
if(!ObjectUtils.isEmpty(service)){ if(!ObjectUtils.isEmpty(service)) {
EvaluationContext oldContext = new StandardEvaluationContext(); EvaluationContext oldContext = new StandardEvaluationContext();
oldContext.setVariable("service",service); oldContext.setVariable("service", service);
oldContext.setVariable("id",id); oldContext.setVariable("id", id);
Expression oldExp = parser.parseExpression("#service.get(#id)"); Expression oldExp = parser.parseExpression("#service.get(#id)");
return oldExp.getValue(oldContext, EntityBase.class); return oldExp.getValue(oldContext, EntityBase.class);
} }
......
...@@ -32,55 +32,62 @@ import java.util.Map; ...@@ -32,55 +32,62 @@ import java.util.Map;
public class VersionCheckAspect public class VersionCheckAspect
{ {
private final ExpressionParser parser = new SpelExpressionParser(); private final ExpressionParser parser = new SpelExpressionParser();
private final String IgnoreField="ignoreversioncheck"; private final String IgnoreField = "ignoreversioncheck";
@SneakyThrows @SneakyThrows
@Before("execution(* cn.ibizlab.*.rest.*.update(..)) && @annotation(versionCheck)") @Before("execution(* cn.ibizlab.*.rest.*.update(..)) && @annotation(versionCheck)")
public void BeforeUpdate(JoinPoint point, VersionCheck versionCheck){ public void BeforeUpdate(JoinPoint point, VersionCheck versionCheck) {
Object[] args = point.getArgs(); Object[] args = point.getArgs();
Object id=args[0]; Object id = args[0];
Object dto=args[1]; Object dto = args[1];
if(ObjectUtils.isEmpty(id) || ObjectUtils.isEmpty(dto)) if(ObjectUtils.isEmpty(id) || ObjectUtils.isEmpty(dto)) {
return; return;
String versionField=versionCheck.versionfield(); }
if(StringUtils.isEmpty(versionField)) String versionField = versionCheck.versionfield();
if(StringUtils.isEmpty(versionField)) {
return; return;
versionCheck(versionCheck,point.getTarget(),dto,id); }
versionCheck(versionCheck,point.getTarget(), dto, id);
} }
@SneakyThrows @SneakyThrows
@Before("execution(* cn.ibizlab.*.rest.*.updateBy*(..)) && @annotation(versionCheck)") @Before("execution(* cn.ibizlab.*.rest.*.updateBy*(..)) && @annotation(versionCheck)")
public void BeforeUpdateBy(JoinPoint point, VersionCheck versionCheck){ public void BeforeUpdateBy(JoinPoint point, VersionCheck versionCheck) {
Object[] args = point.getArgs(); Object[] args = point.getArgs();
if(args.length>=2){ if(args.length>=2) {
Object id=args[args.length-2]; Object id = args[args.length-2];
Object dto=args[args.length-1]; Object dto = args[args.length-1];
if(ObjectUtils.isEmpty(id) || ObjectUtils.isEmpty(dto)) if(ObjectUtils.isEmpty(id) || ObjectUtils.isEmpty(dto)) {
return; return;
String versionField=versionCheck.versionfield(); }
if(StringUtils.isEmpty(versionField)) String versionField = versionCheck.versionfield();
if(StringUtils.isEmpty(versionField)) {
return; return;
versionCheck(versionCheck,point.getTarget(),dto,id); }
versionCheck(versionCheck, point.getTarget(), dto, id);
} }
} }
private void versionCheck(VersionCheck versionCheck,Object resource,Object dto,Object id ){ private void versionCheck(VersionCheck versionCheck, Object resource, Object dto, Object id) {
EvaluationContext context = new StandardEvaluationContext(); EvaluationContext context = new StandardEvaluationContext();
context.setVariable("dto",dto); context.setVariable("dto", dto);
//忽略版本检查 //忽略版本检查
Expression dtoParamsExp = parser.parseExpression("#dto.extensionparams"); Expression dtoParamsExp = parser.parseExpression("#dto.extensionparams");
Map dtoParam=dtoParamsExp.getValue(context, Map.class); Map dtoParam = dtoParamsExp.getValue(context, Map.class);
if(!ObjectUtils.isEmpty(dtoParam) && !ObjectUtils.isEmpty(dtoParam.get(IgnoreField)) && dtoParam.get(IgnoreField).equals(1)) if(!ObjectUtils.isEmpty(dtoParam) && !ObjectUtils.isEmpty(dtoParam.get(IgnoreField)) && dtoParam.get(IgnoreField).equals(1)) {
return; return;
Expression newExp = parser.parseExpression(String.format("#dto.%s",versionCheck.versionfield())); }
Object newVersion=newExp.getValue(context); Expression newExp = parser.parseExpression(String.format("#dto.%s", versionCheck.versionfield()));
if(ObjectUtils.isEmpty(newVersion)) Object newVersion = newExp.getValue(context);
if(ObjectUtils.isEmpty(newVersion)) {
return; return;
}
//进行版本检查 //进行版本检查
Object oldVersion =getDBVersion(versionCheck,getService(resource,versionCheck.entity()),id); Object oldVersion = getDBVersion(versionCheck,getService(resource, versionCheck.entity()), id);
if(!ObjectUtils.isEmpty(oldVersion)){ if(!ObjectUtils.isEmpty(oldVersion)) {
if(RuleUtils.gt(newVersion,oldVersion)) if(RuleUtils.gt(newVersion, oldVersion)) {
throw new BadRequestAlertException("数据已变更,可能后台数据已被修改,请重新加载数据","VersionCheckAspect","versionCheck"); throw new BadRequestAlertException("数据已变更,可能后台数据已被修改,请重新加载数据", "VersionCheckAspect", "versionCheck");
}
} }
} }
...@@ -91,12 +98,12 @@ public class VersionCheckAspect ...@@ -91,12 +98,12 @@ public class VersionCheckAspect
* @return * @return
*/ */
@SneakyThrows @SneakyThrows
private Object getService(Object resource,String entity){ private Object getService(Object resource, String entity) {
Object service = null; Object service = null;
Field[] fields= resource.getClass().getDeclaredFields(); Field[] fields = resource.getClass().getDeclaredFields();
for(Field field : fields){ for(Field field : fields) {
if(field.getModifiers()==1 && field.getName().equalsIgnoreCase(String.format("%sService",entity))){ if(field.getModifiers()==1 && field.getName().equalsIgnoreCase(String.format("%sService",entity))) {
service=field.get(resource); service = field.get(resource);
break; break;
} }
} }
...@@ -111,21 +118,21 @@ public class VersionCheckAspect ...@@ -111,21 +118,21 @@ public class VersionCheckAspect
* @return * @return
*/ */
@SneakyThrows @SneakyThrows
private Object getDBVersion(VersionCheck versionCheck,Object service,Object id){ private Object getDBVersion(VersionCheck versionCheck, Object service, Object id) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Timestamp dbVersion=null; Timestamp dbVersion = null;
String versionField=versionCheck.versionfield(); String versionField = versionCheck.versionfield();
if(!ObjectUtils.isEmpty(service)){ if(!ObjectUtils.isEmpty(service)) {
EvaluationContext oldContext = new StandardEvaluationContext(); EvaluationContext oldContext = new StandardEvaluationContext();
oldContext.setVariable("service",service); oldContext.setVariable("service", service);
oldContext.setVariable("id",id); oldContext.setVariable("id", id);
Expression oldExp = parser.parseExpression("#service.get(#id)"); Expression oldExp = parser.parseExpression("#service.get(#id)");
EntityBase oldEntity =oldExp.getValue(oldContext, EntityBase.class); EntityBase oldEntity = oldExp.getValue(oldContext, EntityBase.class);
Object oldDate=oldEntity.get(versionField); Object oldDate = oldEntity.get(versionField);
if(oldDate!=null && oldDate instanceof Timestamp){ if(oldDate!=null && oldDate instanceof Timestamp) {
Timestamp db_time= (Timestamp) oldDate; Timestamp db_time = (Timestamp) oldDate;
Date db_date = sdf.parse(sdf.format(db_time)); Date db_date = sdf.parse(sdf.format(db_time));
dbVersion=new Timestamp(db_date.getTime()); dbVersion = new Timestamp(db_date.getTime());
} }
} }
return dbVersion; return dbVersion;
......
...@@ -21,33 +21,39 @@ public class DTOBase implements Serializable { ...@@ -21,33 +21,39 @@ public class DTOBase implements Serializable {
public void modify(String field,Object val) { public void modify(String field,Object val) {
if(val==null) if(val==null) {
this.getFocusNull(true).add(field.toLowerCase()); this.getFocusNull(true).add(field.toLowerCase());
else }
else {
this.getFocusNull(true).remove(field.toLowerCase()); this.getFocusNull(true).remove(field.toLowerCase());
}
} }
public Set<String> getFocusNull() { public Set<String> getFocusNull() {
if(focusNull==null) if(focusNull==null) {
focusNull=new HashSet<>(); focusNull=new HashSet<>();
}
if(focusNull.size()>0 && extensionparams.containsKey("dirtyflagenable")) if(focusNull.size()>0 && extensionparams.containsKey("dirtyflagenable"))
{ {
Set<String> nocheck=new HashSet<>(); Set<String> nocheck=new HashSet<>();
for(String key:focusNull) for(String key:focusNull)
{ {
if(!extensionparams.containsKey(key+"dirtyflag")) if(!extensionparams.containsKey(key+"dirtyflag")) {
nocheck.add(key); nocheck.add(key);
}
} }
for(String key:nocheck) for(String key:nocheck) {
focusNull.remove(key); focusNull.remove(key);
}
} }
return focusNull; return focusNull;
} }
private Set<String> getFocusNull(boolean newflag) { private Set<String> getFocusNull(boolean newflag) {
if(focusNull==null) if(focusNull==null) {
focusNull=new HashSet<>(); focusNull=new HashSet<>();
}
return focusNull; return focusNull;
} }
......
...@@ -24,8 +24,9 @@ public class EntityBase implements Serializable { ...@@ -24,8 +24,9 @@ public class EntityBase implements Serializable {
private Set<String> focusNull; private Set<String> focusNull;
public Set<String> getFocusNull() { public Set<String> getFocusNull() {
if(focusNull==null) if(focusNull==null) {
focusNull=new HashSet<>(); focusNull=new HashSet<>();
}
return focusNull; return focusNull;
} }
...@@ -50,8 +51,9 @@ public class EntityBase implements Serializable { ...@@ -50,8 +51,9 @@ public class EntityBase implements Serializable {
private BeanMap getMap() private BeanMap getMap()
{ {
if(map==null) if(map==null) {
map=BeanMap.create(this); map=BeanMap.create(this);
}
return map; return map;
} }
...@@ -68,17 +70,16 @@ public class EntityBase implements Serializable { ...@@ -68,17 +70,16 @@ public class EntityBase implements Serializable {
this.extensionparams = extensionparams; this.extensionparams = extensionparams;
} }
public Object get(String field) { public Object get(String field) {
String fieldRealName=DEFieldCacheMap.getFieldRealName(this.getClass(),field); String fieldRealName=DEFieldCacheMap.getFieldRealName(this.getClass(),field);
if(!StringUtils.isEmpty(fieldRealName)) if(!StringUtils.isEmpty(fieldRealName)) {
return getMap().get(fieldRealName); return getMap().get(fieldRealName);
else }
else {
return this.extensionparams.get(field.toLowerCase()); return this.extensionparams.get(field.toLowerCase());
}
} }
@JsonAnyGetter @JsonAnyGetter
public Map<String , Object> any() { public Map<String , Object> any() {
return extensionparams; return extensionparams;
...@@ -89,13 +90,16 @@ public class EntityBase implements Serializable { ...@@ -89,13 +90,16 @@ public class EntityBase implements Serializable {
field=field.toLowerCase(); field=field.toLowerCase();
String fieldRealName=DEFieldCacheMap.getFieldRealName(this.getClass(),field); String fieldRealName=DEFieldCacheMap.getFieldRealName(this.getClass(),field);
if(!StringUtils.isEmpty(fieldRealName)) { if(!StringUtils.isEmpty(fieldRealName)) {
if (value == null) if (value == null) {
getMap().put(fieldRealName, null); getMap().put(fieldRealName, null);
else }
else {
getMap().put(fieldRealName, DEFieldCacheMap.fieldValueOf(this.getClass(), fieldRealName, value)); getMap().put(fieldRealName, DEFieldCacheMap.fieldValueOf(this.getClass(), fieldRealName, value));
}
} }
else else {
this.extensionparams.put(field.toLowerCase(),value); this.extensionparams.put(field.toLowerCase(),value);
}
} }
/** /**
......
...@@ -5,24 +5,25 @@ import org.springframework.util.StringUtils; ...@@ -5,24 +5,25 @@ import org.springframework.util.StringUtils;
public class EntityMP extends EntityBase { public class EntityMP extends EntityBase {
public UpdateWrapper getUpdateWrapper(boolean clean) { public UpdateWrapper getUpdateWrapper(boolean clean) {
UpdateWrapper wrapper=new UpdateWrapper(); UpdateWrapper wrapper=new UpdateWrapper();
for(String nullField:getFocusNull()) { for(String nullField:getFocusNull()) {
wrapper.set(nullField,null); wrapper.set(nullField,null);
} }
if(clean) if(clean) {
getFocusNull().clear(); getFocusNull().clear();
}
return wrapper; return wrapper;
} }
@Override @Override
public void modify(String field,Object val) { public void modify(String field,Object val) {
if(val==null) if(val==null) {
this.getFocusNull().add(field.toLowerCase()); this.getFocusNull().add(field.toLowerCase());
else }
else {
this.getFocusNull().remove(field.toLowerCase()); this.getFocusNull().remove(field.toLowerCase());
}
} }
@Override @Override
...@@ -33,6 +34,5 @@ public class EntityMP extends EntityBase { ...@@ -33,6 +34,5 @@ public class EntityMP extends EntityBase {
getFocusNull().remove(resetField); getFocusNull().remove(resetField);
} }
} }
} }
...@@ -2,7 +2,5 @@ package cn.ibizlab.util.domain; ...@@ -2,7 +2,5 @@ package cn.ibizlab.util.domain;
public class EntityMongo extends EntityBase { public class EntityMongo extends EntityBase {
} }
...@@ -44,9 +44,9 @@ public class QueryBuildContext extends SearchContextBase implements ISearchConte ...@@ -44,9 +44,9 @@ public class QueryBuildContext extends SearchContextBase implements ISearchConte
*/ */
private QueryBuilder parseQueryFilter(QueryFilter queryFilter){ private QueryBuilder parseQueryFilter(QueryFilter queryFilter){
if( ObjectUtils.isEmpty(queryFilter.get$and()) && ObjectUtils.isEmpty(queryFilter.get$or()) && ObjectUtils.isEmpty(queryFilter.any())) if(ObjectUtils.isEmpty(queryFilter.get$and()) && ObjectUtils.isEmpty(queryFilter.get$or()) && ObjectUtils.isEmpty(queryFilter.any())) {
return null; return null;
}
QueryBuilder rsBuilder=QueryBuilder.start(); QueryBuilder rsBuilder=QueryBuilder.start();
QueryBuilder fieldBuilder=parseFieldMap(queryFilter.any()); QueryBuilder fieldBuilder=parseFieldMap(queryFilter.any());
QueryBuilder orBuilder=parseOrQueryFilter(queryFilter.get$or()); QueryBuilder orBuilder=parseOrQueryFilter(queryFilter.get$or());
...@@ -107,8 +107,9 @@ public class QueryBuildContext extends SearchContextBase implements ISearchConte ...@@ -107,8 +107,9 @@ public class QueryBuildContext extends SearchContextBase implements ISearchConte
* @return * @return
*/ */
private QueryBuilder parseFieldMap(Map<String , QueryFilter.SegmentCond> fieldMap) { private QueryBuilder parseFieldMap(Map<String , QueryFilter.SegmentCond> fieldMap) {
if(fieldMap.size()==0) if(fieldMap.size()==0) {
return null; return null;
}
QueryBuilder fieldBuilders=QueryBuilder.start(); QueryBuilder fieldBuilders=QueryBuilder.start();
for(Map.Entry<String, QueryFilter.SegmentCond> entry: fieldMap.entrySet()){ for(Map.Entry<String, QueryFilter.SegmentCond> entry: fieldMap.entrySet()){
getSegmentCondSql(entry.getKey(),entry.getValue(),fieldBuilders); getSegmentCondSql(entry.getKey(),entry.getValue(),fieldBuilders);
......
...@@ -63,8 +63,9 @@ public class QueryFilter { ...@@ -63,8 +63,9 @@ public class QueryFilter {
private Map<String,SegmentCond> getMap() private Map<String,SegmentCond> getMap()
{ {
if(map==null) if(map==null) {
map=new LinkedHashMap<>(); map=new LinkedHashMap<>();
}
return map; return map;
} }
...@@ -132,11 +133,12 @@ public class QueryFilter { ...@@ -132,11 +133,12 @@ public class QueryFilter {
} }
private QueryFilter op(String column, SegmentCond segmentCond) { private QueryFilter op(String column, SegmentCond segmentCond) {
if(this.getMap().containsKey(column)) {
if(this.getMap().containsKey(column))
((SegmentCond)this.getMap().get(column)).getMap().putAll(segmentCond.getMap()); ((SegmentCond)this.getMap().get(column)).getMap().putAll(segmentCond.getMap());
else }
else {
this.getMap().put(column,segmentCond); this.getMap().put(column,segmentCond);
}
return this; return this;
} }
...@@ -155,8 +157,9 @@ public class QueryFilter { ...@@ -155,8 +157,9 @@ public class QueryFilter {
private Map<String,Object> getMap() private Map<String,Object> getMap()
{ {
if(map==null) if(map==null) {
map=new LinkedHashMap<>(); map=new LinkedHashMap<>();
}
return map; return map;
} }
......
...@@ -37,17 +37,20 @@ public class QueryWrapperContext<T> extends SearchContextBase implements ISearch ...@@ -37,17 +37,20 @@ public class QueryWrapperContext<T> extends SearchContextBase implements ISearch
int pageSize=getPageable().getPageSize(); int pageSize=getPageable().getPageSize();
//构造mybatis-plus分页 //构造mybatis-plus分页
if(StringUtils.isEmpty(currentPage) || StringUtils.isEmpty(pageSize)) if(StringUtils.isEmpty(currentPage) || StringUtils.isEmpty(pageSize)) {
page=new Page(1,Short.MAX_VALUE); page=new Page(1,Short.MAX_VALUE);
else }
else {
page=new Page(currentPage+1,pageSize); page=new Page(currentPage+1,pageSize);
}
//构造mybatis-plus排序 //构造mybatis-plus排序
Sort sort = getPageable().getSort(); Sort sort = getPageable().getSort();
Iterator<Sort.Order> it_sort = sort.iterator(); Iterator<Sort.Order> it_sort = sort.iterator();
if(ObjectUtils.isEmpty(it_sort)) if(ObjectUtils.isEmpty(it_sort)) {
return page; return page;
}
ParameterizedType parameterizedType = (ParameterizedType) getClass().getGenericSuperclass(); ParameterizedType parameterizedType = (ParameterizedType) getClass().getGenericSuperclass();
Class<T> type = (Class<T>)parameterizedType.getActualTypeArguments()[0]; Class<T> type = (Class<T>)parameterizedType.getActualTypeArguments()[0];
...@@ -95,9 +98,9 @@ public class QueryWrapperContext<T> extends SearchContextBase implements ISearch ...@@ -95,9 +98,9 @@ public class QueryWrapperContext<T> extends SearchContextBase implements ISearch
* @return * @return
*/ */
private Consumer<QueryWrapper<T>> parseQueryFilter(QueryFilter queryFilter){ private Consumer<QueryWrapper<T>> parseQueryFilter(QueryFilter queryFilter){
if(queryFilter.any().size()==0 && queryFilter.get$or()==null && queryFilter.get$and()==null) {
if(queryFilter.any().size()==0 && queryFilter.get$or()==null && queryFilter.get$and()==null) return null;
return null; }
Consumer<QueryWrapper<T>> consumer = queryWrapper -> { Consumer<QueryWrapper<T>> consumer = queryWrapper -> {
Consumer fieldConsumer=parseFieldMap(queryFilter.any()); Consumer fieldConsumer=parseFieldMap(queryFilter.any());
Consumer orConsumer=parseOrQueryFilter(queryFilter.get$or()); Consumer orConsumer=parseOrQueryFilter(queryFilter.get$or());
...@@ -121,7 +124,6 @@ public class QueryWrapperContext<T> extends SearchContextBase implements ISearch ...@@ -121,7 +124,6 @@ public class QueryWrapperContext<T> extends SearchContextBase implements ISearch
* @return * @return
*/ */
private Consumer<QueryWrapper<T>> parseOrQueryFilter(List<QueryFilter> queryFilters) { private Consumer<QueryWrapper<T>> parseOrQueryFilter(List<QueryFilter> queryFilters) {
if(queryFilters==null || queryFilters.size()==0) if(queryFilters==null || queryFilters.size()==0)
return null; return null;
Consumer<QueryWrapper<T>> consumer = queryWrapper -> { Consumer<QueryWrapper<T>> consumer = queryWrapper -> {
...@@ -139,10 +141,10 @@ public class QueryWrapperContext<T> extends SearchContextBase implements ISearch ...@@ -139,10 +141,10 @@ public class QueryWrapperContext<T> extends SearchContextBase implements ISearch
* @return * @return
*/ */
private Consumer<QueryWrapper<T>> parseAndQueryFilter(List<QueryFilter> queryFilters) { private Consumer<QueryWrapper<T>> parseAndQueryFilter(List<QueryFilter> queryFilters) {
if(queryFilters==null || queryFilters.size()==0) {
if(queryFilters==null || queryFilters.size()==0)
return null; return null;
Consumer<QueryWrapper<T>> consumer = queryWrapper -> { }
Consumer<QueryWrapper<T>> consumer = queryWrapper -> {
for(QueryFilter queryFilter: queryFilters){ for(QueryFilter queryFilter: queryFilters){
Consumer tempQueryWrapper=parseQueryFilter(queryFilter); Consumer tempQueryWrapper=parseQueryFilter(queryFilter);
queryWrapper.and(tempQueryWrapper); queryWrapper.and(tempQueryWrapper);
...@@ -157,9 +159,9 @@ public class QueryWrapperContext<T> extends SearchContextBase implements ISearch ...@@ -157,9 +159,9 @@ public class QueryWrapperContext<T> extends SearchContextBase implements ISearch
* @return * @return
*/ */
private Consumer<QueryWrapper<T>> parseFieldMap(Map<String , QueryFilter.SegmentCond> fieldMap) { private Consumer<QueryWrapper<T>> parseFieldMap(Map<String , QueryFilter.SegmentCond> fieldMap) {
if(fieldMap.size()==0) {
if(fieldMap.size()==0)
return null; return null;
}
Consumer<QueryWrapper<T>> consumer = queryWrapper -> { Consumer<QueryWrapper<T>> consumer = queryWrapper -> {
for(Map.Entry<String, QueryFilter.SegmentCond> field: fieldMap.entrySet()){ for(Map.Entry<String, QueryFilter.SegmentCond> field: fieldMap.entrySet()){
String fieldName=field.getKey(); String fieldName=field.getKey();
......
...@@ -98,10 +98,12 @@ public class SearchContextBase implements ISearchContext{ ...@@ -98,10 +98,12 @@ public class SearchContextBase implements ISearchContext{
* @return * @return
*/ */
public Pageable getPageable() { public Pageable getPageable() {
if(ObjectUtils.isEmpty(pageSort)) if(ObjectUtils.isEmpty(pageSort)) {
return PageRequest.of(page,size); return PageRequest.of(page,size);
else }
return PageRequest.of(page,size,pageSort); else {
return PageRequest.of(page,size,pageSort);
}
} }
/** /**
......
...@@ -13,8 +13,9 @@ public class CachedBeanCopier { ...@@ -13,8 +13,9 @@ public class CachedBeanCopier {
} }
public static void copy(Object srcObj, Object destObj,boolean useConverter) { public static void copy(Object srcObj, Object destObj,boolean useConverter) {
if(srcObj==null||destObj==null) if(srcObj==null||destObj==null) {
return; return;
}
getCopier(srcObj,destObj,useConverter).copy(srcObj, destObj, null); getCopier(srcObj,destObj,useConverter).copy(srcObj, destObj, null);
} }
...@@ -29,6 +30,4 @@ public class CachedBeanCopier { ...@@ -29,6 +30,4 @@ public class CachedBeanCopier {
} }
return copier; return copier;
} }
} }
...@@ -36,13 +36,16 @@ public class DEFieldCacheMap { ...@@ -36,13 +36,16 @@ public class DEFieldCacheMap {
*/ */
public static <T> Hashtable<String,Field> getFieldMap(Class<T> clazz) { public static <T> Hashtable<String,Field> getFieldMap(Class<T> clazz) {
String className=clazz.getName(); String className=clazz.getName();
if(className.indexOf("_$")>0) if(className.indexOf("_$")>0) {
className=className.substring(0, className.lastIndexOf("_$")); className=className.substring(0, className.lastIndexOf("_$"));
if(cacheMap.containsKey(className)) }
return cacheMap.get(className); if(cacheMap.containsKey(className)) {
return cacheMap.get(className);
}
synchronized (objLock1) { synchronized (objLock1) {
if(cacheMap.containsKey(className)) if(cacheMap.containsKey(className)) {
return cacheMap.get(className); return cacheMap.get(className);
}
Hashtable<String,Field> result = new Hashtable<String,Field>(); Hashtable<String,Field> result = new Hashtable<String,Field>();
List<Field> list=new ArrayList<Field>(); List<Field> list=new ArrayList<Field>();
Hashtable<String,String> keys=new Hashtable<String,String>(); Hashtable<String,String> keys=new Hashtable<String,String>();
...@@ -58,8 +61,9 @@ public class DEFieldCacheMap { ...@@ -58,8 +61,9 @@ public class DEFieldCacheMap {
Audit auditField=field.getAnnotation(Audit.class); Audit auditField=field.getAnnotation(Audit.class);
if(!ObjectUtils.isEmpty(deField)) { if(!ObjectUtils.isEmpty(deField)) {
defields.put(field.getName(),deField); defields.put(field.getName(),deField);
if(deField.isKeyField()) if(deField.isKeyField()) {
cacheDEKeyField.put(className,field.getName()); cacheDEKeyField.put(className,field.getName());
}
} }
if(!ObjectUtils.isEmpty(auditField)) { if(!ObjectUtils.isEmpty(auditField)) {
auditfields.put(field.getName(),auditField); auditfields.put(field.getName(),auditField);
...@@ -74,10 +78,12 @@ public class DEFieldCacheMap { ...@@ -74,10 +78,12 @@ public class DEFieldCacheMap {
} }
} }
public static Hashtable<String,Field> getFieldMap(String className) { public static Hashtable<String,Field> getFieldMap(String className) {
if(className.indexOf("_$")>0) if(className.indexOf("_$")>0) {
className=className.substring(0, className.lastIndexOf("_$")); className=className.substring(0, className.lastIndexOf("_$"));
if(cacheMap.containsKey(className)) }
return cacheMap.get(className); if(cacheMap.containsKey(className)) {
return cacheMap.get(className);
}
Class clazz = null; Class clazz = null;
try { try {
clazz = Class.forName(className); clazz = Class.forName(className);
...@@ -96,10 +102,12 @@ public class DEFieldCacheMap { ...@@ -96,10 +102,12 @@ public class DEFieldCacheMap {
*/ */
public static <T> Hashtable<String,DEField> getDEFields(Class<T> clazz) { public static <T> Hashtable<String,DEField> getDEFields(Class<T> clazz) {
String className=clazz.getName(); String className=clazz.getName();
if(className.indexOf("_$")>0) if(className.indexOf("_$")>0) {
className=className.substring(0, className.lastIndexOf("_$")); className=className.substring(0, className.lastIndexOf("_$"));
if(cacheDEField.containsKey(className)) }
if(cacheDEField.containsKey(className)) {
return cacheDEField.get(className); return cacheDEField.get(className);
}
else{ else{
DEFieldCacheMap.getFieldMap(className); DEFieldCacheMap.getFieldMap(className);
return cacheDEField.get(className); return cacheDEField.get(className);
...@@ -113,10 +121,12 @@ public class DEFieldCacheMap { ...@@ -113,10 +121,12 @@ public class DEFieldCacheMap {
*/ */
public static <T> Hashtable<String,Audit> getAuditFields(Class<T> clazz) { public static <T> Hashtable<String,Audit> getAuditFields(Class<T> clazz) {
String className=clazz.getName(); String className=clazz.getName();
if(className.indexOf("_$")>0) if(className.indexOf("_$")>0) {
className=className.substring(0, className.lastIndexOf("_$")); className=className.substring(0, className.lastIndexOf("_$"));
if(cacheAuditField.containsKey(className)) }
if(cacheAuditField.containsKey(className)) {
return cacheAuditField.get(className); return cacheAuditField.get(className);
}
else{ else{
DEFieldCacheMap.getFieldMap(className); DEFieldCacheMap.getFieldMap(className);
return cacheAuditField.get(className); return cacheAuditField.get(className);
...@@ -130,10 +140,12 @@ public class DEFieldCacheMap { ...@@ -130,10 +140,12 @@ public class DEFieldCacheMap {
*/ */
public static <T> String getDEKeyField(Class<T> clazz) { public static <T> String getDEKeyField(Class<T> clazz) {
String className=clazz.getName(); String className=clazz.getName();
if(className.indexOf("_$")>0) if(className.indexOf("_$")>0) {
className=className.substring(0, className.lastIndexOf("_$")); className=className.substring(0, className.lastIndexOf("_$"));
if(cacheDEKeyField.containsKey(className)) }
if(cacheDEKeyField.containsKey(className)) {
return cacheDEKeyField.get(className); return cacheDEKeyField.get(className);
}
else{ else{
DEFieldCacheMap.getFieldMap(className); DEFieldCacheMap.getFieldMap(className);
return cacheDEKeyField.get(className); return cacheDEKeyField.get(className);
...@@ -148,10 +160,12 @@ public class DEFieldCacheMap { ...@@ -148,10 +160,12 @@ public class DEFieldCacheMap {
*/ */
public static <T> List<Field> getFields(Class<T> clazz) { public static <T> List<Field> getFields(Class<T> clazz) {
String className=clazz.getName(); String className=clazz.getName();
if(className.indexOf("_$")>0) if(className.indexOf("_$")>0) {
className=className.substring(0, className.lastIndexOf("_$")); className=className.substring(0, className.lastIndexOf("_$"));
if(cacheList.containsKey(className)) }
if(cacheList.containsKey(className)) {
return cacheList.get(className); return cacheList.get(className);
}
else{ else{
DEFieldCacheMap.getFieldMap(className); DEFieldCacheMap.getFieldMap(className);
return cacheList.get(className); return cacheList.get(className);
...@@ -159,10 +173,12 @@ public class DEFieldCacheMap { ...@@ -159,10 +173,12 @@ public class DEFieldCacheMap {
} }
public static List<Field> getFields(String className) { public static List<Field> getFields(String className) {
if(className.indexOf("_$")>0) if(className.indexOf("_$")>0) {
className=className.substring(0, className.lastIndexOf("_$")); className=className.substring(0, className.lastIndexOf("_$"));
if(cacheList.containsKey(className)) }
if(cacheList.containsKey(className)) {
return cacheList.get(className); return cacheList.get(className);
}
else{ else{
DEFieldCacheMap.getFieldMap(className); DEFieldCacheMap.getFieldMap(className);
return cacheList.get(className); return cacheList.get(className);
...@@ -176,10 +192,12 @@ public class DEFieldCacheMap { ...@@ -176,10 +192,12 @@ public class DEFieldCacheMap {
*/ */
public static <T> Hashtable<String,String> getFieldKeys(Class<T> clazz) { public static <T> Hashtable<String,String> getFieldKeys(Class<T> clazz) {
String className=clazz.getName(); String className=clazz.getName();
if(className.indexOf("_$")>0) if(className.indexOf("_$")>0) {
className=className.substring(0, className.lastIndexOf("_$")); className=className.substring(0, className.lastIndexOf("_$"));
if(cacheKey.containsKey(className)) }
if(cacheKey.containsKey(className)) {
return cacheKey.get(className); return cacheKey.get(className);
}
else{ else{
DEFieldCacheMap.getFieldMap(className); DEFieldCacheMap.getFieldMap(className);
return cacheKey.get(className); return cacheKey.get(className);
...@@ -189,20 +207,25 @@ public class DEFieldCacheMap { ...@@ -189,20 +207,25 @@ public class DEFieldCacheMap {
public static <T> String getFieldRealName(Class<T> clazz,String fieldname) { public static <T> String getFieldRealName(Class<T> clazz,String fieldname) {
fieldname=fieldname.toLowerCase(); fieldname=fieldname.toLowerCase();
Hashtable<String,String> keys=DEFieldCacheMap.getFieldKeys(clazz); Hashtable<String,String> keys=DEFieldCacheMap.getFieldKeys(clazz);
if(keys.containsKey(fieldname)) if(keys.containsKey(fieldname)) {
return keys.get(fieldname); return keys.get(fieldname);
else if(keys.containsKey(fieldname.replace("_",""))) }
else if(keys.containsKey(fieldname.replace("_",""))) {
return keys.get(fieldname.replace("_","")); return keys.get(fieldname.replace("_",""));
else }
else {
return ""; return "";
}
} }
public static <T> Field getField(Class<T> clazz,String fieldname) { public static <T> Field getField(Class<T> clazz,String fieldname) {
String fieldRealName=DEFieldCacheMap.getFieldRealName(clazz,fieldname); String fieldRealName=DEFieldCacheMap.getFieldRealName(clazz,fieldname);
if(!StringUtils.isEmpty(fieldRealName)) if(!StringUtils.isEmpty(fieldRealName)) {
return DEFieldCacheMap.getFieldMap(clazz).get(fieldRealName); return DEFieldCacheMap.getFieldMap(clazz).get(fieldRealName);
else }
else {
return null; return null;
}
} }
public static <T> String getFieldColumnName(Class<T> clazz,String fieldname) { public static <T> String getFieldColumnName(Class<T> clazz,String fieldname) {
...@@ -226,6 +249,4 @@ public class DEFieldCacheMap { ...@@ -226,6 +249,4 @@ public class DEFieldCacheMap {
} }
return resultValue; return resultValue;
} }
} }
\ No newline at end of file
...@@ -19,30 +19,34 @@ public class DataObject { ...@@ -19,30 +19,34 @@ public class DataObject {
final static public DateFormat dayFormat = new SimpleDateFormat("yyyy-MM-dd"); final static public DateFormat dayFormat = new SimpleDateFormat("yyyy-MM-dd");
final static public String getStringValue(Object objValue, String strDefault) { final static public String getStringValue(Object objValue, String strDefault) {
if (objValue == null) return strDefault; if (objValue == null) {
if (objValue instanceof String) return (String) objValue; return strDefault;
}
if (objValue instanceof String) {
return (String) objValue;
}
if (objValue instanceof java.sql.Timestamp||objValue instanceof java.sql.Date||objValue instanceof java.util.Date) { if (objValue instanceof java.sql.Timestamp||objValue instanceof java.sql.Date||objValue instanceof java.util.Date) {
String rt=datetimeFormat.format(objValue); String rt=datetimeFormat.format(objValue);
if(rt.endsWith(" 00:00:00")) if(rt.endsWith(" 00:00:00")) {
rt=dayFormat.format(objValue); rt=dayFormat.format(objValue);
else if(rt.endsWith(":00")) }
else if(rt.endsWith(":00")) {
rt=datetimeFormat2.format(objValue); rt=datetimeFormat2.format(objValue);
}
return rt; return rt;
} }
return objValue.toString(); return objValue.toString();
} }
public static <T> Object objectValueOf(Class<T> type,Object fieldValue) { public static <T> Object objectValueOf(Class<T> type,Object fieldValue) {
if(fieldValue==null) if(fieldValue==null) {
return null; return null;
}
Object resultValue=fieldValue; Object resultValue=fieldValue;
String targetType=type.getSimpleName(); String targetType=type.getSimpleName();
if(targetType.equalsIgnoreCase(fieldValue.getClass().getSimpleName())) if(targetType.equalsIgnoreCase(fieldValue.getClass().getSimpleName())){
return resultValue; return resultValue;
}
if(targetType.equals("Boolean")){ if(targetType.equals("Boolean")){
resultValue=getBooleanValue(fieldValue,false); resultValue=getBooleanValue(fieldValue,false);
} }
...@@ -79,10 +83,9 @@ public class DataObject { ...@@ -79,10 +83,9 @@ public class DataObject {
else if(targetType.equals("String")) { else if(targetType.equals("String")) {
resultValue= getStringValue(fieldValue,null); resultValue= getStringValue(fieldValue,null);
} }
if(resultValue==null) {
if(resultValue==null)
return null; return null;
}
return resultValue; return resultValue;
} }
...@@ -95,8 +98,9 @@ public class DataObject { ...@@ -95,8 +98,9 @@ public class DataObject {
if (objValue == null) { if (objValue == null) {
return jDefault; return jDefault;
} }
if(objValue instanceof JSONObject) if(objValue instanceof JSONObject) {
return (JSONObject)objValue; return (JSONObject)objValue;
}
String strValue = objValue.toString(); String strValue = objValue.toString();
try { try {
return JSONObject.parseObject(strValue); return JSONObject.parseObject(strValue);
...@@ -111,8 +115,9 @@ public class DataObject { ...@@ -111,8 +115,9 @@ public class DataObject {
if (objValue == null) { if (objValue == null) {
return jDefault; return jDefault;
} }
if(objValue instanceof JSONArray) if(objValue instanceof JSONArray) {
return (JSONArray)objValue; return (JSONArray)objValue;
}
String strValue = objValue.toString(); String strValue = objValue.toString();
try { try {
return JSONArray.parseArray(strValue); return JSONArray.parseArray(strValue);
...@@ -133,8 +138,9 @@ public class DataObject { ...@@ -133,8 +138,9 @@ public class DataObject {
List<String> chk1=new ArrayList<>(); List<String> chk1=new ArrayList<>();
for(int i=0;i<arr.size();i++) for(int i=0;i<arr.size();i++)
{ {
if(arr.get(i) instanceof String) if(arr.get(i) instanceof String) {
chk1.add(arr.getString(i)); chk1.add(arr.getString(i));
}
} }
return chk1; return chk1;
} }
...@@ -146,8 +152,9 @@ public class DataObject { ...@@ -146,8 +152,9 @@ public class DataObject {
} }
final static public Boolean getBooleanValue(Object objValue,Boolean bDefault) { final static public Boolean getBooleanValue(Object objValue,Boolean bDefault) {
if (objValue == null) return bDefault; if (objValue == null) {
return bDefault;
}
if (objValue instanceof Boolean) { if (objValue instanceof Boolean) {
return (Boolean) objValue; return (Boolean) objValue;
} }
...@@ -155,20 +162,24 @@ public class DataObject { ...@@ -155,20 +162,24 @@ public class DataObject {
} }
final static public char[] getCharacterValue(Object objValue,char[] cDefault) { final static public char[] getCharacterValue(Object objValue,char[] cDefault) {
if (objValue == null) return cDefault; if (objValue == null) {
return cDefault;
}
return objValue.toString().toCharArray(); return objValue.toString().toCharArray();
} }
final static public Double getDoubleValue(Object objValue,Double dDefault) { final static public Double getDoubleValue(Object objValue,Double dDefault) {
if (objValue == null) return dDefault; if (objValue == null) {
return dDefault;
}
if (objValue instanceof Double) { if (objValue instanceof Double) {
return (Double) objValue; return (Double) objValue;
} }
String strValue = objValue.toString(); String strValue = objValue.toString();
if (StringUtils.isEmpty(strValue)) return null; if (StringUtils.isEmpty(strValue)) {
return null;
}
strValue = strValue.replace(",", ""); strValue = strValue.replace(",", "");
return Double.parseDouble(strValue); return Double.parseDouble(strValue);
} }
...@@ -179,8 +190,9 @@ public class DataObject { ...@@ -179,8 +190,9 @@ public class DataObject {
return nDefault; return nDefault;
} }
if(objValue instanceof Integer) if(objValue instanceof Integer) {
return (Integer)objValue; return (Integer)objValue;
}
if (objValue instanceof Double) { if (objValue instanceof Double) {
return ((Double) objValue).intValue(); return ((Double) objValue).intValue();
...@@ -191,8 +203,9 @@ public class DataObject { ...@@ -191,8 +203,9 @@ public class DataObject {
} }
String strValue = objValue.toString(); String strValue = objValue.toString();
if(StringUtils.isEmpty(strValue)) if(StringUtils.isEmpty(strValue)) {
return nDefault; return nDefault;
}
strValue = strValue.replace(",", ""); strValue = strValue.replace(",", "");
return Integer.parseInt(strValue); return Integer.parseInt(strValue);
} }
...@@ -204,12 +217,13 @@ public class DataObject { ...@@ -204,12 +217,13 @@ public class DataObject {
} }
try { try {
if(objValue instanceof Float) if(objValue instanceof Float) {
return (Float)objValue; return (Float)objValue;
}
String strValue = objValue.toString(); String strValue = objValue.toString();
if(StringUtils.isEmpty(strValue)) if(StringUtils.isEmpty(strValue)) {
return fDefault; return fDefault;
}
strValue = strValue.replace(",", ""); strValue = strValue.replace(",", "");
return Float.parseFloat(strValue); return Float.parseFloat(strValue);
} catch (Exception ex) { } catch (Exception ex) {
...@@ -233,8 +247,9 @@ public class DataObject { ...@@ -233,8 +247,9 @@ public class DataObject {
return BigDecimal.valueOf((Long)objValue); return BigDecimal.valueOf((Long)objValue);
} }
String strValue = objValue.toString(); String strValue = objValue.toString();
if(StringUtils.isEmpty(strValue)) if(StringUtils.isEmpty(strValue)) {
return fDefault; return fDefault;
}
strValue = strValue.replace(",", ""); strValue = strValue.replace(",", "");
return BigDecimal.valueOf(Double.parseDouble(strValue)); return BigDecimal.valueOf(Double.parseDouble(strValue));
} catch (Exception ex) { } catch (Exception ex) {
...@@ -253,8 +268,9 @@ public class DataObject { ...@@ -253,8 +268,9 @@ public class DataObject {
} }
else { else {
Long l=getLongValue(objValue,null); Long l=getLongValue(objValue,null);
if(l!=null) if(l!=null) {
return BigInteger.valueOf(l); return BigInteger.valueOf(l);
}
} }
} catch (Exception ex) { } catch (Exception ex) {
...@@ -283,8 +299,9 @@ public class DataObject { ...@@ -283,8 +299,9 @@ public class DataObject {
} }
String strValue = objValue.toString(); String strValue = objValue.toString();
if(StringUtils.isEmpty(strValue)) if(StringUtils.isEmpty(strValue)) {
return nDefault; return nDefault;
}
strValue = strValue.replace(",", ""); strValue = strValue.replace(",", "");
return Long.parseLong(strValue); return Long.parseLong(strValue);
} catch (Exception ex) { } catch (Exception ex) {
...@@ -294,7 +311,9 @@ public class DataObject { ...@@ -294,7 +311,9 @@ public class DataObject {
final static public byte[] getBinaryValue(Object objValue, byte[] def) { final static public byte[] getBinaryValue(Object objValue, byte[] def) {
if (objValue == null) return def; if (objValue == null) {
return def;
}
if(objValue instanceof byte[]){ if(objValue instanceof byte[]){
return (byte[])objValue; return (byte[])objValue;
} }
...@@ -312,7 +331,9 @@ public class DataObject { ...@@ -312,7 +331,9 @@ public class DataObject {
* @ * @
*/ */
final static public java.sql.Timestamp getTimestampValue(Object objValue,java.sql.Timestamp tDefault) { final static public java.sql.Timestamp getTimestampValue(Object objValue,java.sql.Timestamp tDefault) {
if (objValue == null) return tDefault; if (objValue == null) {
return tDefault;
}
if (objValue instanceof java.sql.Timestamp) { if (objValue instanceof java.sql.Timestamp) {
java.sql.Timestamp ti = (java.sql.Timestamp) objValue; java.sql.Timestamp ti = (java.sql.Timestamp) objValue;
...@@ -332,7 +353,9 @@ public class DataObject { ...@@ -332,7 +353,9 @@ public class DataObject {
if (objValue instanceof String) { if (objValue instanceof String) {
String strValue = (String) objValue; String strValue = (String) objValue;
strValue = strValue.trim(); strValue = strValue.trim();
if (StringUtils.isEmpty(strValue)) return null; if (StringUtils.isEmpty(strValue)) {
return null;
}
try { try {
java.util.Date date = parse((String) objValue); java.util.Date date = parse((String) objValue);
...@@ -373,7 +396,9 @@ public class DataObject { ...@@ -373,7 +396,9 @@ public class DataObject {
* @ * @
*/ */
public static Object testDateTime(String strInput, TimeZone timeZone) throws Exception{ public static Object testDateTime(String strInput, TimeZone timeZone) throws Exception{
if (StringUtils.isEmpty(strInput)) return null; if (StringUtils.isEmpty(strInput)) {
return null;
}
Date dtDate = parse(strInput, timeZone); Date dtDate = parse(strInput, timeZone);
java.sql.Timestamp retDate = new java.sql.Timestamp(dtDate.getTime()); java.sql.Timestamp retDate = new java.sql.Timestamp(dtDate.getTime());
return retDate; return retDate;
...@@ -425,8 +450,9 @@ public class DataObject { ...@@ -425,8 +450,9 @@ public class DataObject {
if(strTimeString.indexOf("T")!=-1){ if(strTimeString.indexOf("T")!=-1){
strPart = strTimeString.split("[T]"); strPart = strTimeString.split("[T]");
} }
else else{
strPart = strTimeString.split(" "); strPart = strTimeString.split(" ");
}
if (strPart.length == 2) { if (strPart.length == 2) {
// 两个部分 // 两个部分
String strDate = ""; String strDate = "";
...@@ -589,6 +615,4 @@ public class DataObject { ...@@ -589,6 +615,4 @@ public class DataObject {
return new Timestamp(cl.getTime().getTime()); return new Timestamp(cl.getTime().getTime());
} }
} }
...@@ -46,14 +46,14 @@ public class PermissionSyncJob implements ApplicationRunner { ...@@ -46,14 +46,14 @@ public class PermissionSyncJob implements ApplicationRunner {
public void run(ApplicationArguments args) { public void run(ApplicationArguments args) {
try { try {
Thread.sleep(10000); Thread.sleep(10000);
InputStream permission= this.getClass().getResourceAsStream("/permission/systemResource.json"); //获取当前系统所有实体资源能力 InputStream permission = this.getClass().getResourceAsStream("/permission/systemResource.json"); //获取当前系统所有实体资源能力
String permissionResult = IOUtils.toString(permission,"UTF-8"); String permissionResult = IOUtils.toString(permission,"UTF-8");
JSONObject system= new JSONObject(); JSONObject system= new JSONObject();
system.put("pssystemid",systemId); system.put("pssystemid",systemId);
system.put("pssystemname",systemName); system.put("pssystemname",systemName);
system.put("sysstructure",JSONObject.parseObject(permissionResult)); system.put("sysstructure",JSONObject.parseObject(permissionResult));
system.put("md5check",DigestUtils.md5DigestAsHex(permissionResult.getBytes())); system.put("md5check",DigestUtils.md5DigestAsHex(permissionResult.getBytes()));
if(client.syncSysAuthority(system)){ if(client.syncSysAuthority(system)) {
log.info("向[UAA]同步系统资源成功"); log.info("向[UAA]同步系统资源成功");
}else{ }else{
log.error("向[UAA]同步系统资源失败"); log.error("向[UAA]同步系统资源失败");
...@@ -64,9 +64,9 @@ public class PermissionSyncJob implements ApplicationRunner { ...@@ -64,9 +64,9 @@ public class PermissionSyncJob implements ApplicationRunner {
} }
try { try {
InputStream sysModel= this.getClass().getResourceAsStream("/sysmodel/ibztask.json"); //获取当前系统所有实体资源能力 InputStream sysModel = this.getClass().getResourceAsStream("/sysmodel/ibztask.json"); //获取当前系统所有实体资源能力
String strSysModel = IOUtils.toString(sysModel,"UTF-8"); String strSysModel = IOUtils.toString(sysModel,"UTF-8");
if(liteFeignClient.syncSysModel(JSONObject.parseObject(strSysModel))){ if(liteFeignClient.syncSysModel(JSONObject.parseObject(strSysModel))) {
log.info("向[lite]同步系统模型成功"); log.info("向[lite]同步系统模型成功");
}else{ }else{
log.error("向[lite]同步系统模型失败"); log.error("向[lite]同步系统模型失败");
......
...@@ -42,10 +42,12 @@ public class AppController { ...@@ -42,10 +42,12 @@ public class AppController {
while(it.hasNext()) { while(it.hasNext()) {
GrantedAuthority authority = (GrantedAuthority)it.next(); GrantedAuthority authority = (GrantedAuthority)it.next();
String strAuthority=authority.getAuthority(); String strAuthority=authority.getAuthority();
if(strAuthority.startsWith("UNIRES_"+systemId)) if(strAuthority.startsWith("UNIRES_"+systemId)) {
uniRes.add(strAuthority.substring(systemId.length()+8)); uniRes.add(strAuthority.substring(systemId.length()+8));
else if(strAuthority.startsWith("APPMENU_"+systemId)) }
else if(strAuthority.startsWith("APPMENU_"+systemId)){
appMenu.add(strAuthority.substring(systemId.length()+9)); appMenu.add(strAuthority.substring(systemId.length()+9));
}
} }
} }
Map<String,Object> context = new HashMap<>(); Map<String,Object> context = new HashMap<>();
...@@ -55,10 +57,12 @@ public class AppController { ...@@ -55,10 +57,12 @@ public class AppController {
appData.put("unires",uniRes); appData.put("unires",uniRes);
appData.put("appmenu",appMenu); appData.put("appmenu",appMenu);
appData.put("enablepermissionvalid",enablePermissionValid); appData.put("enablepermissionvalid",enablePermissionValid);
if(curUser.getSuperuser()==1) if(curUser.getSuperuser()==1){
appData.put("enablepermissionvalid",false); appData.put("enablepermissionvalid",false);
else }
else{
appData.put("enablepermissionvalid",enablePermissionValid); appData.put("enablepermissionvalid",enablePermissionValid);
}
fillAppData(appData); fillAppData(appData);
return ResponseEntity.status(HttpStatus.OK).body(appData); return ResponseEntity.status(HttpStatus.OK).body(appData);
} }
...@@ -76,16 +80,18 @@ public class AppController { ...@@ -76,16 +80,18 @@ public class AppController {
@RequestMapping(method = RequestMethod.PUT, value = "/configs/{configType}/{targetType}") @RequestMapping(method = RequestMethod.PUT, value = "/configs/{configType}/{targetType}")
public ResponseEntity<Boolean> saveConfig(@PathVariable("configType") String configType, @PathVariable("targetType") String targetType, @RequestBody JSONObject config) { public ResponseEntity<Boolean> saveConfig(@PathVariable("configType") String configType, @PathVariable("targetType") String targetType, @RequestBody JSONObject config) {
String userId=AuthenticationUser.getAuthenticationUser().getUserid(); String userId=AuthenticationUser.getAuthenticationUser().getUserid();
if(StringUtils.isEmpty(userId)) if(StringUtils.isEmpty(userId)){
throw new BadRequestAlertException("保存配置失败,参数缺失","IBZConfig",configType); throw new BadRequestAlertException("保存配置失败,参数缺失","IBZConfig",configType);
}
return ResponseEntity.ok(ibzConfigService.saveConfig(configType,targetType,userId,config)); return ResponseEntity.ok(ibzConfigService.saveConfig(configType,targetType,userId,config));
} }
@RequestMapping(method = RequestMethod.GET, value = "/configs/{configType}/{targetType}") @RequestMapping(method = RequestMethod.GET, value = "/configs/{configType}/{targetType}")
public ResponseEntity<JSONObject> getConfig(@PathVariable("configType") String configType, @PathVariable("targetType") String targetType) { public ResponseEntity<JSONObject> getConfig(@PathVariable("configType") String configType, @PathVariable("targetType") String targetType) {
String userId=AuthenticationUser.getAuthenticationUser().getUserid(); String userId=AuthenticationUser.getAuthenticationUser().getUserid();
if(StringUtils.isEmpty(userId)) if(StringUtils.isEmpty(userId)){
throw new BadRequestAlertException("获取配置失败,参数缺失","IBZConfig",configType); throw new BadRequestAlertException("获取配置失败,参数缺失","IBZConfig",configType);
}
return ResponseEntity.ok(ibzConfigService.getConfig(configType,targetType,userId)); return ResponseEntity.ok(ibzConfigService.getConfig(configType,targetType,userId));
} }
......
...@@ -56,5 +56,5 @@ public class AuthenticationController ...@@ -56,5 +56,5 @@ public class AuthenticationController
authuserdetail= userDetailsService.loadUserByUsername(userDetails.getUsername()); authuserdetail= userDetailsService.loadUserByUsername(userDetails.getUsername());
} }
return ResponseEntity.ok().body(authuserdetail); return ResponseEntity.ok().body(authuserdetail);
} }
} }
...@@ -38,18 +38,22 @@ public class AuthPermissionEvaluator implements PermissionEvaluator { ...@@ -38,18 +38,22 @@ public class AuthPermissionEvaluator implements PermissionEvaluator {
@Override @Override
@SneakyThrows @SneakyThrows
public boolean hasPermission(Authentication authentication, Object entity, Object action) { public boolean hasPermission(Authentication authentication, Object entity, Object action) {
if(!enablePermissionValid) if(!enablePermissionValid){
return true; return true;
}
Object principal = authentication.getPrincipal(); Object principal = authentication.getPrincipal();
if(ObjectUtils.isEmpty(principal)) if(ObjectUtils.isEmpty(principal)){
return false; return false;
}
AuthenticationUser authenticationUser= (AuthenticationUser) authentication.getPrincipal(); AuthenticationUser authenticationUser= (AuthenticationUser) authentication.getPrincipal();
if(authenticationUser.getSuperuser()==1) if(authenticationUser.getSuperuser()==1){
return true; return true;
}
String strAction=String.valueOf(action); String strAction=String.valueOf(action);
Set<String> userAuthorities = getAuthorities(authentication,strAction); Set<String> userAuthorities = getAuthorities(authentication,strAction);
if(userAuthorities.size()==0) if(userAuthorities.size()==0){
return false; return false;
}
if(isAllData(strAction,userAuthorities)){ if(isAllData(strAction,userAuthorities)){
return true; return true;
} }
...@@ -102,8 +106,9 @@ public class AuthPermissionEvaluator implements PermissionEvaluator { ...@@ -102,8 +106,9 @@ public class AuthPermissionEvaluator implements PermissionEvaluator {
*/ */
@SneakyThrows @SneakyThrows
private void setPermissionCondToSearchContext(EntityBase entity, QueryWrapperContext qc , Set<String> userAuthorities ,AuthenticationUser authenticationUser){ private void setPermissionCondToSearchContext(EntityBase entity, QueryWrapperContext qc , Set<String> userAuthorities ,AuthenticationUser authenticationUser){
if(entity==null) if(entity==null){
return ; return ;
}
Map<String,String> permissionField=getPermissionField(entity);//获取组织、部门预置属性 Map<String,String> permissionField=getPermissionField(entity);//获取组织、部门预置属性
String orgField=permissionField.get("orgfield"); String orgField=permissionField.get("orgfield");
String orgDeptField=permissionField.get("orgsecfield"); String orgDeptField=permissionField.get("orgsecfield");
...@@ -185,8 +190,9 @@ public class AuthPermissionEvaluator implements PermissionEvaluator { ...@@ -185,8 +190,9 @@ public class AuthPermissionEvaluator implements PermissionEvaluator {
Iterator it = authorities.iterator(); Iterator it = authorities.iterator();
while(it.hasNext()) { while(it.hasNext()) {
GrantedAuthority authority = (GrantedAuthority)it.next(); GrantedAuthority authority = (GrantedAuthority)it.next();
if(authority.getAuthority().contains(action)) if(authority.getAuthority().contains(action)){
userAuthorities.add(authority.getAuthority()); userAuthorities.add(authority.getAuthority());
}
} }
return userAuthorities; return userAuthorities;
} }
...@@ -253,23 +259,27 @@ public class AuthPermissionEvaluator implements PermissionEvaluator { ...@@ -253,23 +259,27 @@ public class AuthPermissionEvaluator implements PermissionEvaluator {
} }
if(action.endsWith("Create") || action.endsWith("Save")){ if(action.endsWith("Create") || action.endsWith("Save")){
if(!ObjectUtils.isEmpty(orgFieldValue) && !userOrg.contains(orgFieldValue)) if(!ObjectUtils.isEmpty(orgFieldValue) && !userOrg.contains(orgFieldValue)){
return false; return false;
if(!ObjectUtils.isEmpty(orgDeptFieldValue) && !userOrgDept.contains(orgDeptFieldValue)) }
if(!ObjectUtils.isEmpty(orgDeptFieldValue) && !userOrgDept.contains(orgDeptFieldValue)){
return false; return false;
if(!ObjectUtils.isEmpty(crateManFieldValue) && !authenticationUser.getUserid().equals(crateManFieldValue)) }
if(!ObjectUtils.isEmpty(crateManFieldValue) && !authenticationUser.getUserid().equals(crateManFieldValue)){
return false; return false;
}
return true; return true;
} }
else{ else{
if(!ObjectUtils.isEmpty(orgFieldValue) && userOrg.contains(orgFieldValue)) if(!ObjectUtils.isEmpty(orgFieldValue) && userOrg.contains(orgFieldValue)){
return true; return true;
if(!ObjectUtils.isEmpty(orgDeptFieldValue) && userOrgDept.contains(orgDeptFieldValue)) }
if(!ObjectUtils.isEmpty(orgDeptFieldValue) && userOrgDept.contains(orgDeptFieldValue)){
return true; return true;
if(!ObjectUtils.isEmpty(crateManFieldValue) && authenticationUser.getUserid().equals(crateManFieldValue)) }
if(!ObjectUtils.isEmpty(crateManFieldValue) && authenticationUser.getUserid().equals(crateManFieldValue)){
return true; return true;
}
return false; return false;
} }
} }
...@@ -293,12 +303,18 @@ public class AuthPermissionEvaluator implements PermissionEvaluator { ...@@ -293,12 +303,18 @@ public class AuthPermissionEvaluator implements PermissionEvaluator {
String fieldName=entry.getKey();//获取注解字段 String fieldName=entry.getKey();//获取注解字段
DEField fieldAnnotation=entry.getValue();//获取注解值 DEField fieldAnnotation=entry.getValue();//获取注解值
DEPredefinedFieldType prefieldType=fieldAnnotation.preType(); DEPredefinedFieldType prefieldType=fieldAnnotation.preType();
if(prefieldType==prefieldType.ORGID)//用户配置系统预置属性-组织机构标识 //用户配置系统预置属性-组织机构标识
if(prefieldType==prefieldType.ORGID){
orgField=fieldName; orgField=fieldName;
if(prefieldType==prefieldType.ORGSECTORID)//用户配置系统预置属性-部门标识 }
//用户配置系统预置属性-部门标识
if(prefieldType==prefieldType.ORGSECTORID){
orgDeptField=fieldName; orgDeptField=fieldName;
if(prefieldType==prefieldType.CREATEMAN)//用户配置系统预置属性-部门标识 }
//用户配置系统预置属性-部门标识
if(prefieldType==prefieldType.CREATEMAN){
createManField=fieldName; createManField=fieldName;
}
} }
permissionFiled.put("orgfield",orgField); permissionFiled.put("orgfield",orgField);
permissionFiled.put("orgsecfield",orgDeptField); permissionFiled.put("orgsecfield",orgDeptField);
......
...@@ -260,10 +260,12 @@ public class AuthenticationUser implements UserDetails ...@@ -260,10 +260,12 @@ public class AuthenticationUser implements UserDetails
return this.sessionParams; return this.sessionParams;
} }
private Map<String, Object> getUserSessionParam() { private Map<String, Object> getUserSessionParam() {
if(userSessionParam!=null) if(userSessionParam!=null){
return userSessionParam; return userSessionParam;
else }
else{
return new HashMap<>(); return new HashMap<>();
}
} }
public void setOrgInfo(Map<String, Set<String>> orgInfo) { public void setOrgInfo(Map<String, Set<String>> orgInfo) {
......
...@@ -29,8 +29,9 @@ public class IBZConfigService extends ServiceImpl<IBZConfigMapper, IBZConfig> im ...@@ -29,8 +29,9 @@ public class IBZConfigService extends ServiceImpl<IBZConfigMapper, IBZConfig> im
@Cacheable( value="ibzrt_configs",key = "'cfgid:'+#p0+'||'+#p1+'||'+#p2") @Cacheable( value="ibzrt_configs",key = "'cfgid:'+#p0+'||'+#p1+'||'+#p2")
public JSONObject getConfig(String cfgType,String targetType,String userId) public JSONObject getConfig(String cfgType,String targetType,String userId)
{ {
if(StringUtils.isEmpty(userId)||StringUtils.isEmpty(cfgType)||StringUtils.isEmpty(targetType)) if(StringUtils.isEmpty(userId)||StringUtils.isEmpty(cfgType)||StringUtils.isEmpty(targetType)){
throw new BadRequestAlertException("获取配置失败,参数缺失","IBZConfig",cfgType); throw new BadRequestAlertException("获取配置失败,参数缺失","IBZConfig",cfgType);
}
IBZConfig config=this.getOne(Wrappers.query(IBZConfig.builder().systemId(systemId).cfgType(cfgType).targetType(targetType).userId(userId).build()),false); IBZConfig config=this.getOne(Wrappers.query(IBZConfig.builder().systemId(systemId).cfgType(cfgType).targetType(targetType).userId(userId).build()),false);
if(config==null) { if(config==null) {
config=this.getOne(Wrappers.query(IBZConfig.builder().systemId(systemId).cfgType(cfgType).targetType(targetType).userId(adminuserid).build()),false); config=this.getOne(Wrappers.query(IBZConfig.builder().systemId(systemId).cfgType(cfgType).targetType(targetType).userId(adminuserid).build()),false);
...@@ -44,19 +45,22 @@ public class IBZConfigService extends ServiceImpl<IBZConfigMapper, IBZConfig> im ...@@ -44,19 +45,22 @@ public class IBZConfigService extends ServiceImpl<IBZConfigMapper, IBZConfig> im
@CacheEvict( value="ibzrt_configs",key = "'cfgid:'+#p0+'||'+#p1+'||'+#p2") @CacheEvict( value="ibzrt_configs",key = "'cfgid:'+#p0+'||'+#p1+'||'+#p2")
public boolean saveConfig(String cfgType,String targetType,String userId,JSONObject config) public boolean saveConfig(String cfgType,String targetType,String userId,JSONObject config)
{ {
if(StringUtils.isEmpty(userId)||StringUtils.isEmpty(cfgType)||StringUtils.isEmpty(targetType)) if(StringUtils.isEmpty(userId)||StringUtils.isEmpty(cfgType)||StringUtils.isEmpty(targetType)){
throw new BadRequestAlertException("保存配置失败,参数缺失","IBZConfig",cfgType); throw new BadRequestAlertException("保存配置失败,参数缺失","IBZConfig",cfgType);
}
String cfg="{}"; String cfg="{}";
if(config!=null) if(config!=null){
cfg=JSONObject.toJSONString(config); cfg=JSONObject.toJSONString(config);
}
return this.saveOrUpdate(IBZConfig.builder().systemId(systemId).cfgType(cfgType).targetType(targetType).userId(userId).cfg(cfg).updateDate(DataObject.getNow()).build()); return this.saveOrUpdate(IBZConfig.builder().systemId(systemId).cfgType(cfgType).targetType(targetType).userId(userId).cfg(cfg).updateDate(DataObject.getNow()).build());
} }
@CacheEvict( value="ibzrt_configs",key = "'cfgid:'+#p0+'||'+#p1+'||'+#p2") @CacheEvict( value="ibzrt_configs",key = "'cfgid:'+#p0+'||'+#p1+'||'+#p2")
public void resetConfig(String cfgType,String targetType,String userId) public void resetConfig(String cfgType,String targetType,String userId)
{ {
if(StringUtils.isEmpty(userId)||StringUtils.isEmpty(cfgType)||StringUtils.isEmpty(targetType)) if(StringUtils.isEmpty(userId)||StringUtils.isEmpty(cfgType)||StringUtils.isEmpty(targetType)){
throw new BadRequestAlertException("重置配置失败,参数缺失","IBZConfig",cfgType); throw new BadRequestAlertException("重置配置失败,参数缺失","IBZConfig",cfgType);
}
this.remove(Wrappers.query(IBZConfig.builder().systemId(systemId).cfgType(cfgType).targetType(targetType).userId(userId).build())); this.remove(Wrappers.query(IBZConfig.builder().systemId(systemId).cfgType(cfgType).targetType(targetType).userId(userId).build()));
} }
......
...@@ -26,10 +26,10 @@ public class IBZUAAUserService implements AuthenticationUserService{ ...@@ -26,10 +26,10 @@ public class IBZUAAUserService implements AuthenticationUserService{
@Override @Override
public AuthenticationUser loadUserByUsername(String username) { public AuthenticationUser loadUserByUsername(String username) {
AuthenticationUser user=uaaFeignClient.loginByUsername(username); AuthenticationUser user=uaaFeignClient.loginByUsername(username);
if(user==null) if(user==null){
throw new BadRequestAlertException("登录失败","IBZUAAUser",username); throw new BadRequestAlertException("登录失败","IBZUAAUser",username);
}
return user; return user;
} }
...@@ -48,8 +48,9 @@ public class IBZUAAUserService implements AuthenticationUserService{ ...@@ -48,8 +48,9 @@ public class IBZUAAUserService implements AuthenticationUserService{
logininfo.setLoginname(loginname); logininfo.setLoginname(loginname);
logininfo.setPassword(password); logininfo.setPassword(password);
AuthenticationUser user=uaaFeignClient.login(logininfo); AuthenticationUser user=uaaFeignClient.login(logininfo);
if(user==null) if(user==null){
throw new BadRequestAlertException("登录失败","IBZUAAUser",username); throw new BadRequestAlertException("登录失败","IBZUAAUser",username);
}
return user; return user;
} }
......
...@@ -34,14 +34,18 @@ public class IBZUSERServiceImpl extends ServiceImpl<IBZUSERMapper, IBZUSER> impl ...@@ -34,14 +34,18 @@ public class IBZUSERServiceImpl extends ServiceImpl<IBZUSERMapper, IBZUSER> impl
String[] data=username.split("[|]"); String[] data=username.split("[|]");
String loginname=""; String loginname="";
String domains=""; String domains="";
if(data.length>0) if(data.length>0){
loginname=data[0].trim(); loginname=data[0].trim();
if(data.length>1) }
if(data.length>1){
domains=data[1].trim(); domains=data[1].trim();
if(!StringUtils.isEmpty(loginname)) }
if(!StringUtils.isEmpty(loginname)){
conds.eq("loginname",loginname); conds.eq("loginname",loginname);
if(!StringUtils.isEmpty(domains)) }
if(!StringUtils.isEmpty(domains)){
conds.eq("domains",domains); conds.eq("domains",domains);
}
IBZUSER user = this.getOne(conds); IBZUSER user = this.getOne(conds);
if (user == null) { if (user == null) {
throw new UsernameNotFoundException("用户" + username + "未找到"); throw new UsernameNotFoundException("用户" + username + "未找到");
...@@ -55,10 +59,12 @@ public class IBZUSERServiceImpl extends ServiceImpl<IBZUSERMapper, IBZUSER> impl ...@@ -55,10 +59,12 @@ public class IBZUSERServiceImpl extends ServiceImpl<IBZUSERMapper, IBZUSER> impl
@Override @Override
public AuthenticationUser loadUserByLogin(String username, String password){ public AuthenticationUser loadUserByLogin(String username, String password){
AuthenticationUser authuserdetail = loadUserByUsername(username); AuthenticationUser authuserdetail = loadUserByUsername(username);
if(pwencrymode==1) if(pwencrymode==1){
password = DigestUtils.md5DigestAsHex(password.getBytes()); password = DigestUtils.md5DigestAsHex(password.getBytes());
else if(pwencrymode==2) }
else if(pwencrymode==2){
password = DigestUtils.md5DigestAsHex(String.format("%1$s||%2$s", username, password).getBytes()); password = DigestUtils.md5DigestAsHex(String.format("%1$s||%2$s", username, password).getBytes());
}
if(!authuserdetail.getPassword().equals( password )){ if(!authuserdetail.getPassword().equals( password )){
throw new BadRequestAlertException("用户名密码错误","IBZUSER",username); throw new BadRequestAlertException("用户名密码错误","IBZUSER",username);
} }
......
...@@ -23,20 +23,21 @@ public class SimpleFileService implements FileService { ...@@ -23,20 +23,21 @@ public class SimpleFileService implements FileService {
@Override @Override
public FileItem saveFile(MultipartFile multipartFile) { public FileItem saveFile(MultipartFile multipartFile) {
FileItem item=null; FileItem item = null;
// 获取文件名 // 获取文件名
String fileName = multipartFile.getOriginalFilename(); String fileName = multipartFile.getOriginalFilename();
// 获取文件后缀 // 获取文件后缀
String extname="."+getExtensionName(fileName); String extname ="."+getExtensionName(fileName);
try { try {
String fileid= DigestUtils.md5DigestAsHex(multipartFile.getInputStream()); String fileid = DigestUtils.md5DigestAsHex(multipartFile.getInputStream());
String fileFullPath = this.fileRoot+"ibizutil"+File.separator+fileid+File.separator+fileName; String fileFullPath = this.fileRoot+"ibizutil"+File.separator+fileid+File.separator+fileName;
File file = new File(fileFullPath); File file = new File(fileFullPath);
File parent = new File(file.getParent()); File parent = new File(file.getParent());
if(!parent.exists()) if(!parent.exists()) {
parent.mkdirs(); parent.mkdirs();
FileCopyUtils.copy(multipartFile.getInputStream(),Files.newOutputStream(file.toPath())); }
item=new FileItem(fileid,fileName,fileid,fileName,(int)multipartFile.getSize(),extname); FileCopyUtils.copy(multipartFile.getInputStream(), Files.newOutputStream(file.toPath()));
item = new FileItem(fileid, fileName, fileid, fileName, (int)multipartFile.getSize(), extname);
} catch (IOException e) { } catch (IOException e) {
throw new InternalServerErrorException("文件上传失败,"+e); throw new InternalServerErrorException("文件上传失败,"+e);
} }
......
...@@ -19,19 +19,19 @@ import org.springframework.security.core.authority.AuthorityUtils; ...@@ -19,19 +19,19 @@ import org.springframework.security.core.authority.AuthorityUtils;
@Primary @Primary
@Service("SimpleUserService") @Service("SimpleUserService")
@ConditionalOnExpression("(!${ibiz.enablePermissionValid:false})&&'${ibiz.auth.service:IBZUAAUserService}'.equals('SimpleUserService')") @ConditionalOnExpression("(!${ibiz.enablePermissionValid:false})&&'${ibiz.auth.service:IBZUAAUserService}'.equals('SimpleUserService')")
public class SimpleUserService implements AuthenticationUserService{ public class SimpleUserService implements AuthenticationUserService {
@Override @Override
public AuthenticationUser loadUserByUsername(String username) { public AuthenticationUser loadUserByUsername(String username) {
AuthenticationUser user = new AuthenticationUser(); AuthenticationUser user = new AuthenticationUser();
String[] data=username.split("[|]"); String[] data = username.split("[|]");
String loginname=username; String loginname = username;
String domains=""; String domains = "";
String password=""; String password = "";
if(data.length==2) { if(data.length==2) {
loginname=data[0].trim(); loginname = data[0].trim();
domains=data[1].trim(); domains = data[1].trim();
} }
user.setUserid(username); user.setUserid(username);
......
...@@ -29,8 +29,9 @@ public class FeignRequestInterceptor implements RequestInterceptor { ...@@ -29,8 +29,9 @@ public class FeignRequestInterceptor implements RequestInterceptor {
if (headerNames != null) { if (headerNames != null) {
while (headerNames.hasMoreElements()) { while (headerNames.hasMoreElements()) {
String name = headerNames.nextElement(); String name = headerNames.nextElement();
if(name.equalsIgnoreCase("transfer-encoding")) if(name.equalsIgnoreCase("transfer-encoding")){
continue; continue;
}
String values = request.getHeader(name); String values = request.getHeader(name);
requestTemplate.header(name, values); requestTemplate.header(name, values);
} }
......
...@@ -49,19 +49,19 @@ public class IBZOperationParameterReader implements OperationBuilderPlugin { ...@@ -49,19 +49,19 @@ public class IBZOperationParameterReader implements OperationBuilderPlugin {
public IBZOperationParameterReader( public IBZOperationParameterReader(
ModelAttributeParameterExpander expander, ModelAttributeParameterExpander expander,
EnumTypeDeterminer enumTypeDeterminer) { EnumTypeDeterminer enumTypeDeterminer) {
this.expander = expander; this.expander = expander;
this.enumTypeDeterminer = enumTypeDeterminer; this.enumTypeDeterminer = enumTypeDeterminer;
} }
@Override @Override
public void apply(OperationContext context) { public void apply(OperationContext context) {
context.operationBuilder().parameters(context.getGlobalOperationParameters()); context.operationBuilder().parameters(context.getGlobalOperationParameters());
context.operationBuilder().parameters(readParameters(context)); context.operationBuilder().parameters(readParameters(context));
} }
@Override @Override
public boolean supports(DocumentationType delimiter) { public boolean supports(DocumentationType delimiter) {
return true; return true;
} }
private List<Parameter> readParameters(final OperationContext context) { private List<Parameter> readParameters(final OperationContext context) {
......
...@@ -41,7 +41,4 @@ public class SearchContextHandlerMethodArgumentResolver implements HandlerMethod ...@@ -41,7 +41,4 @@ public class SearchContextHandlerMethodArgumentResolver implements HandlerMethod
String json=objectMapper.writeValueAsString(set); String json=objectMapper.writeValueAsString(set);
return objectMapper.readValue(json,parameter.getParameterType()); return objectMapper.readValue(json,parameter.getParameterType());
} }
} }
\ No newline at end of file
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册