Commit e77f7205 authored by 廖旭伟's avatar 廖旭伟

Merge remote-tracking branch 'origin/master'

parents e28c882f dd6abf42
......@@ -474,11 +474,14 @@ export default {
icon: "exclamation-circle",
maskClosable: true,
onOk() {
_this.$refs.form.resetFields();
_this.isTimely = undefined; // 是否及时办理
_this.isPromise = undefined; // 承诺是否及时办理
_this.isLinked = undefined; // 是否有联办机构
_this.form.deptName = "";
_this.$refs.form.resetFields();
_this.baseform.deptName = "";
_this.baseform.deptCode = "";
_this.baseform.matterNo = "";
_this.curDpt = undefined;
},
onCancel() {
console.log("Cancel");
......
......@@ -96,6 +96,12 @@
<span class="primary pointer" @click="handlePreview(text.id)"
>预览</span
>
<span
class="delete pointer"
v-permission="[1]"
@click="handleDel(text.id)"
>删除</span
>
</a-space>
</template>
</a-table>
......@@ -118,6 +124,7 @@ import {
usedVersion,
previewVersion,
getCategoryList,
deleteVersion,
} from "@/services/market";
import CheckSite from "../modal/CheckSite.vue";
import { pageSizeOptions } from "@/config/pageConfig.js";
......@@ -270,6 +277,33 @@ export default {
window.open(routeUrl.href, "_blank");
}
},
// 删除
handleDel(id) {
let _this = this;
_this.$confirm({
title: "系统提示",
content: "删除不可恢复,确定要删除吗?",
okText: "确定",
okType: "danger",
cancelText: "取消",
centered: true,
icon: "exclamation-circle",
maskClosable: true,
async onOk() {
let res = await deleteVersion({ id });
let { code, msg } = res.data;
if (code === 1) {
_this.$message.success(msg);
_this.getVersions();
}
},
onCancel() {
console.log("Cancel");
},
});
},
// 翻页
handleChange(cur) {
this.current = cur;
......
<template>
<div class="select-box">
<a-select :value="value" placeholder="请选择" @change="changeVal">
<a-select-option v-for="(v, key) in options" :key="key" :value="key">
{{ v }}
</a-select-option>
</a-select>
</div>
</template>
<script>
import local from "@/utils/local";
import { request } from "@/utils/request";
export default {
model: {
prop: "value",
event: "change",
},
props: {
value: {
required: true,
default: "",
},
info: {
type: Object,
required: true,
default: () => {},
},
},
data() {
return {
siteId: local.getLocal("siteId"),
api: process.env.VUE_APP_API_BASE_URL,
options: {},
};
},
watch: {
info: {
handler() {
this.getOptions();
},
deep: true,
immediate: true,
},
},
methods: {
// 获取数据
async getOptions() {
if (this.$_.isEmpty(this.info)) return this.options;
let { serviceApi, fieldTypeValue } = this.info;
let fieldType = JSON.parse(fieldTypeValue);
if (!serviceApi && fieldTypeValue) {
this.options = fieldType;
} else if (serviceApi) {
let res = await request(this.api + serviceApi, "post", {
size: -1,
page: 1,
siteId: this.siteId,
});
if (res.data.code == 1) {
let { data } = res.data.data;
const firstKey = Object.keys(fieldType)[0];
const firstValue = fieldType[firstKey];
data.forEach((v) => {
this.options[v[firstValue]] = v[firstKey];
});
this.$forceUpdate();
}
}
},
changeVal(val) {
this.$emit("change", val);
},
},
beforeDestroy() {
this.options = {};
},
};
</script>
<style lang="less" scoped>
.select-box {
width: 100%;
}
</style>
......@@ -234,7 +234,7 @@ export default {
let { code, msg } = res.data;
if (code === 1) {
_this.$message.success(msg);
this.selectedRowKeys = [];
_this.selectedRowKeys = [];
_this.getCategoryList();
}
},
......
......@@ -9,7 +9,6 @@
<div class="search-box">
<a-input-group compact>
<a-select style="min-width: 100px" v-model="fieldCode">
<a-select-option value=""> 全部 </a-select-option>
<a-select-option
v-for="v in appTemplate"
:key="v.id"
......@@ -214,6 +213,9 @@ export default {
this.appTemplate = data.sort((a, b) => {
return a.fieldOrderNo - b.fieldOrderNo;
});
if (this.appTemplate.length) {
this.fieldCode = this.appTemplate[0].fieldCode;
}
}
},
// 获取数据列表
......@@ -224,7 +226,7 @@ export default {
size: this.size,
appId: this.appId,
fieldCode: this.fieldCode,
fieldValue: this.searchVal,
fieldValue: `%${this.searchVal}%`,
});
this.loading = false;
if (res.data.code === 1) {
......
......@@ -4,6 +4,12 @@
<a-space>
<a-button type="primary" @click="handleAdd"> 新增应用 </a-button>
<a-button type="primary" @click="handleClone"> 克隆 </a-button>
<a-button type="primary" @click="handleTheme">
批量关联应用主题
</a-button>
<a-button v-permission="[1]" type="danger" @click="handleDelAll">
批量删除
</a-button>
</a-space>
<a-input-search
style="width: 300px"
......@@ -67,7 +73,7 @@
</template>
<!-- 版本 -->
<template slot="version" slot-scope="text">
{{ text.version ? "v" + text.version : "--" }}
{{ text.version || text.version == 0 ? "v" + text.version : "--" }}
</template>
<!-- 类型 -->
<template slot="appType" slot-scope="text">
......@@ -91,7 +97,7 @@
>
<span
class="delete pointer"
:class="{ unDelete: text.distribute }"
:class="{ unDelete: userInfo.id != 1 && text.distribute }"
@click="handleDel(text.distribute, text.id)"
>删除</span
>
......@@ -114,22 +120,30 @@
:appList="selectedRowKeys"
:siteVisible.sync="siteVisible"
></CheckSite>
<!-- 批量修改应用主题 -->
<ChangeThem
:themVisible.sync="themVisible"
:themList="categoryList"
:appList="selectedAppList"
@edit="cloneSuccess"
></ChangeThem>
</div>
</template>
<script>
import YSwitch from "../../../../components/yswitch/YSwitch.vue";
import { pageSizeOptions } from "@/config/pageConfig.js";
import AddApp from "../modal/AddApp.vue";
import CheckSite from "../modal/CheckSite.vue";
import ChangeThem from "../modal/ChangeThem.vue";
import {
getAppList,
deleteApp,
saveApp,
getCategoryList,
} from "@/services/market";
import { mapMutations } from "vuex";
import local from "@/utils/local";
import { mapMutations, mapGetters } from "vuex";
import { pageSizeOptions } from "@/config/pageConfig.js";
const columns = [
{
title: "序号",
......@@ -184,6 +198,7 @@ export default {
YSwitch,
AddApp,
CheckSite,
ChangeThem,
},
data() {
return {
......@@ -198,32 +213,21 @@ export default {
size: 10,
total: 0,
pageSizeOptions,
selectedRowKeys: [], // 表格勾选数据
selectedRowKeys: [], // 表格勾选id列表
selectedAppList: [], // 表格勾选信息列表
AddVisible: false,
title: "新增应用",
siteVisible: false,
themVisible: false,
dict: {}, // 字典
categoryList: [], // 应用分类列表
};
},
// 进入路由前
// beforeRouteEnter(to, from, text) {
// if (from.path === "/appmarket/appdetails") {
// to.meta.isBack = true;
// } else {
// to.meta.isBack = false;
// }
// text();
// },
// // 详情页返回不刷新数据
// activated() {
// if (!this.$route.meta.isBack) {
// Object.assign(this.$data, this.$options.data());
// this.getAppList();
// } else {
// this.$route.meta.isBack = false;
// }
// },
computed: {
...mapGetters("site", ["userInfo"]),
},
created() {
this.getCategoryList();
this.getAppList();
......@@ -232,7 +236,6 @@ export default {
...mapMutations("site", ["SET_appDict"]),
// 获取分类列表
async getCategoryList() {
this.loading = true;
let res = await getCategoryList({
page: 1,
size: -1,
......@@ -243,6 +246,7 @@ export default {
this.categoryList = data;
}
},
// 获取应用列表
async getAppList() {
this.loading = true;
......@@ -297,8 +301,17 @@ export default {
this.getAppList();
},
// 勾选表格
onSelectChange(keys) {
onSelectChange(keys, rows) {
this.selectedRowKeys = keys;
this.selectedAppList = [...this.selectedAppList, ...rows];
let map = new Map();
this.selectedAppList = this.selectedAppList
.filter((v) => {
return !map.has(v.id) && map.set(v.id, 1);
})
.filter((v) => {
return this.selectedRowKeys.some((item) => item == v.id);
});
},
// 编辑
handleEdit(row) {
......@@ -306,6 +319,16 @@ export default {
this.$refs.AddApp.onEdit(row);
this.AddVisible = true;
},
// 批量修改应用主题
handleTheme() {
if (!this.selectedRowKeys.length) {
this.$message.warning("请先勾选应用");
return;
}
this.themVisible = true;
},
// 查看
handleCheck(id) {
this.$router.push({
......@@ -317,7 +340,7 @@ export default {
},
// 删除
handleDel(distribute, id) {
if (distribute) {
if (this.userInfo.id != 1 && distribute) {
this.$confirm({
title: "拒绝删除",
content: "该应用正在使用中。",
......@@ -359,6 +382,17 @@ export default {
},
});
},
// 批量删除
handleDelAll() {
if (!this.selectedRowKeys.length) {
this.$message.warning("请先勾选应用");
return;
}
let ids = this.selectedRowKeys.join(",");
this.handleDel(0, ids);
},
// 克隆成功
cloneSuccess() {
this.selectedRowKeys = [];
......
......@@ -4,6 +4,12 @@
<a-space>
<a-button type="primary" @click="handleAdd"> 新增应用 </a-button>
<a-button type="primary" @click="handleClone"> 克隆 </a-button>
<a-button type="primary" @click="handleTheme">
批量关联应用主题
</a-button>
<a-button v-permission="[1]" type="danger" @click="handleDelAll">
批量删除
</a-button>
</a-space>
<a-input-search
style="width: 300px"
......@@ -67,7 +73,7 @@
</template>
<!-- 版本 -->
<template slot="version" slot-scope="text">
{{ text.version ? "v" + text.version : "--" }}
{{ text.version || text.version == 0 ? "v" + text.version : "--" }}
</template>
<!-- 类型 -->
<template slot="appType" slot-scope="text">
......@@ -91,7 +97,7 @@
>
<span
class="delete pointer"
:class="{ unDelete: text.distribute }"
:class="{ unDelete: userInfo.id != 1 && text.distribute }"
@click="handleDel(text.distribute, text.id)"
>删除</span
>
......@@ -114,6 +120,13 @@
:appList="selectedRowKeys"
:siteVisible.sync="siteVisible"
></CheckSite>
<!-- 批量修改应用主题 -->
<ChangeThem
:themVisible.sync="themVisible"
:themList="categoryList"
:appList="selectedAppList"
@edit="cloneSuccess"
></ChangeThem>
</div>
</template>
......@@ -121,6 +134,7 @@
import YSwitch from "../../../../components/yswitch/YSwitch.vue";
import AddApp from "../modal/AddApp.vue";
import CheckSite from "../modal/CheckSite.vue";
import ChangeThem from "../modal/ChangeThem.vue";
import {
getAppList,
deleteApp,
......@@ -128,7 +142,7 @@ import {
getCategoryList,
} from "@/services/market";
import local from "@/utils/local";
import { mapMutations } from "vuex";
import { mapMutations, mapGetters } from "vuex";
import { pageSizeOptions } from "@/config/pageConfig.js";
const columns = [
{
......@@ -184,6 +198,7 @@ export default {
YSwitch,
AddApp,
CheckSite,
ChangeThem,
},
data() {
return {
......@@ -198,15 +213,21 @@ export default {
size: 10,
total: 0,
pageSizeOptions,
selectedRowKeys: [], // 表格勾选数据
selectedRowKeys: [], // 表格勾选id列表
selectedAppList: [], // 表格勾选信息列表
AddVisible: false,
title: "新增应用",
siteVisible: false,
themVisible: false,
dict: {}, // 字典
categoryList: [], // 应用分类列表
};
},
computed: {
...mapGetters("site", ["userInfo"]),
},
created() {
this.getCategoryList();
this.getAppList();
......@@ -280,8 +301,17 @@ export default {
this.getAppList();
},
// 勾选表格
onSelectChange(keys) {
onSelectChange(keys, rows) {
this.selectedRowKeys = keys;
this.selectedAppList = [...this.selectedAppList, ...rows];
let map = new Map();
this.selectedAppList = this.selectedAppList
.filter((v) => {
return !map.has(v.id) && map.set(v.id, 1);
})
.filter((v) => {
return this.selectedRowKeys.some((item) => item == v.id);
});
},
// 编辑
handleEdit(row) {
......@@ -289,6 +319,16 @@ export default {
this.$refs.AddApp.onEdit(row);
this.AddVisible = true;
},
// 批量修改应用主题
handleTheme() {
if (!this.selectedRowKeys.length) {
this.$message.warning("请先勾选应用");
return;
}
this.themVisible = true;
},
// 查看
handleCheck(id) {
this.$router.push({
......@@ -301,7 +341,7 @@ export default {
},
// 删除
handleDel(distribute, id) {
if (distribute) {
if (this.userInfo.id != 1 && distribute) {
this.$confirm({
title: "拒绝删除",
content: "该应用正在使用中。",
......@@ -343,6 +383,17 @@ export default {
},
});
},
// 批量删除
handleDelAll() {
if (!this.selectedRowKeys.length) {
this.$message.warning("请先勾选应用");
return;
}
let ids = this.selectedRowKeys.join(",");
this.handleDel(0, ids);
},
// 克隆成功
cloneSuccess() {
this.selectedRowKeys = [];
......
......@@ -65,7 +65,13 @@
</a-radio>
</a-radio-group>
<!-- 下拉选择框 -->
<a-select
<AppSelect
v-else-if="v.fieldType == 'select'"
:info="v"
v-model="v.fieldValue"
>
</AppSelect>
<!-- <a-select
v-else-if="v.fieldType == 'select'"
v-model="v.fieldValue"
placeholder="请选择"
......@@ -77,7 +83,7 @@
>
{{ item }}
</a-select-option>
</a-select>
</a-select> -->
<!-- 日期选择器 -->
<a-date-picker
v-else-if="v.fieldType == 'date'"
......@@ -235,12 +241,14 @@
<script>
import YQuillEditor from "@/components/YQuillEditor.vue";
import AppSelect from "../components/AppSelect.vue";
import { batchSaveDataset } from "@/services/market";
import { request } from "@/utils/request";
import local from "@/utils/local";
export default {
components: {
YQuillEditor,
AppSelect,
},
props: {
title: {
......
......@@ -35,7 +35,7 @@
</a-select>
</a-form-model-item>
<a-form-model-item
v-if="form.fieldType == 'table'"
v-if="form.fieldType == 'table' || form.fieldType == 'select'"
label="数据接口"
prop="serviceApi"
>
......@@ -220,26 +220,6 @@ export default {
},
},
data() {
// 校验JSON
// const checkJSON = (rule, value, callback) => {
// if (!value) {
// callback(new Error("请输入数据配置"));
// } else {
// try {
// let Obj = JSON.parse(value);
// let isjson =
// Object.prototype.toString.call(Obj).toLowerCase() ==
// "[object object]" && Object.keys(Obj).length;
// if (isjson) {
// callback();
// } else {
// callback(new Error("请输入JSON对象格式"));
// }
// } catch (err) {
// callback(new Error("输入的JSON数据格式有误"));
// }
// }
// };
return {
fieldTypeItem,
fieldType: [
......@@ -287,9 +267,9 @@ export default {
isList: [
{ required: true, message: "请选择是否列表显示", trigger: "change" },
],
serviceApi: [
{ required: true, message: "请输入数据接口地址", trigger: "blur" },
],
// serviceApi: [
// { required: true, message: "请输入数据接口地址", trigger: "blur" },
// ],
},
};
},
......
<template>
<div>
<a-modal v-model="Visible" title="请选择主题">
<a-form-model
ref="form"
:model="form"
:rules="rules"
:label-col="{ span: 4 }"
:wrapper-col="{ span: 20 }"
>
<a-form-model-item label="应用" prop="appThemeName">
<a-select placeholder="请选择主题" v-model="form.appThemeName">
<a-select-option
v-for="v in themList"
:key="v.id"
:value="'' + v.id"
>
{{ v.categoryName }}
</a-select-option>
</a-select>
</a-form-model-item>
</a-form-model>
<div slot="footer">
<a-space size="middle">
<a-button @click="handleCancel">取消</a-button>
<a-button type="primary" @click="handleOk">确定</a-button>
</a-space>
</div>
</a-modal>
</div>
</template>
<script>
import { batchSave } from "@/services/market";
export default {
props: {
themVisible: {
type: Boolean,
required: true,
default: false,
},
themList: {
type: Array,
required: true,
default: () => [],
},
appList: {
type: Array,
required: true,
default: () => [],
},
},
data() {
return {
form: {
appThemeName: undefined,
},
rules: {
appThemeName: [
{ required: true, message: "请选择主题", trigger: "change" },
],
},
};
},
computed: {
Visible: {
get() {
return this.themVisible;
},
set(val) {
this.$emit("update:themVisible", val);
},
},
},
methods: {
// 保存
handleOk() {
this.$refs.form.validate(async (valid) => {
if (valid) {
let arr = this.appList.map((v) => {
return {
...v,
appThemeName: this.form.appThemeName,
};
});
let res = await batchSave(arr);
let { code, msg } = res.data;
if (code == 1) {
this.$message.success(msg);
this.$emit("edit");
this.handleCancel();
}
}
});
},
// 取消
handleCancel() {
this.$refs.form.resetFields();
this.Visible = false;
},
},
};
</script>
<style lang="less" scoped></style>
......@@ -434,7 +434,7 @@ export default {
siteId: this.siteId,
page: this.rightCurrent,
size: this.rightSize,
matterName: this.searchRightVal,
matterName: `%${this.searchRightVal}%`,
source: this.rightSource,
deptCode: this.rightDept,
...search,
......
......@@ -181,7 +181,6 @@ export default {
// 确定
handleOk() {
this.$refs.formData.validate(async (valid) => {
console.log(this.form.parentId);
if (valid) {
this.confirmLoading = true;
let res = await saveBusiness({
......
......@@ -54,7 +54,7 @@
}"
:columns="columns"
:data-source="siteBusinessList"
:rowKey="(record) => record.id"
:rowKey="(record) => record.businessId"
:row-selection="{
selectedRowKeys: rowKeys,
onChange: handleChange,
......@@ -79,7 +79,7 @@
<script>
import { getSiteBusinessList } from "@/services/business";
import { addBusinessToWindow } from "@/services/dept";
import { extractTree } from "@/utils/util";
// import { extractTree } from "@/utils/util";
import local from "@/utils/local";
const columns = [
{
......@@ -137,12 +137,7 @@ export default {
await this.getSiteBusinessList();
this.formData = info;
if (info.businessIds.length) {
let arr = extractTree(this.siteBusinessList, "children").map((v) =>
Number(v.id)
);
this.rowKeys = arr.filter((v) => {
return info.businessIds.some((val) => v == val);
});
this.rowKeys = info.businessIds;
} else {
this.rowKeys = [];
}
......@@ -193,17 +188,17 @@ export default {
onSelectRow(record, selected) {
if (selected && record.children && record.children.length) {
record.children.forEach((v) => {
this.rowKeys = [...new Set([...this.rowKeys, v.id])];
this.rowKeys = [...new Set([...this.rowKeys, v.businessId])];
});
} else if (!selected && record.children && record.children.length) {
this.rowKeys = this.rowKeys.filter((v) => v != record.id);
this.rowKeys = this.rowKeys.filter((v) => v != record.businessId);
record.children.forEach((v) => {
this.rowKeys = this.rowKeys.filter((val) => val != v.id);
this.rowKeys = this.rowKeys.filter((val) => val != v.businessId);
});
} else if (selected && record.parentId) {
this.rowKeys = [...new Set([...this.rowKeys, record.parentId])];
} else if (!selected) {
this.rowKeys = this.rowKeys.filter((v) => v != record.id);
this.rowKeys = this.rowKeys.filter((v) => v != record.businessId);
}
},
// 保存窗口关联业务
......
......@@ -724,21 +724,25 @@ export default {
getAddress(address) {
this.$refs.ruleForm.validateField("detailAddress", (errVal) => {
if (errVal !== "中心详细地址不能为空") {
this.$jsonp(`https://restapi.amap.com/v3/geocode/geo?parameters`, {
this.$jsonp(`https://restapi.amap.com/v3/geocode/geo`, {
//官方接口
output: "jsonp",
key: "21e7ac78b448640e516f1eddc3ffd720", //key
address: address, //获取输入的位置
})
.then((res) => {
if (res.status == 1) {
let { location } = res.geocodes[0];
[
this.formInfo.longitude,
this.formInfo.latitude,
] = location.split(",");
})
.catch(() => {
} else {
this.$message.error("经纬度获取失败,请输入正确的地址");
}
})
.catch((err) => {
console.log(err);
});
}
});
......
......@@ -16,10 +16,16 @@
@click="handleSync(siteData[0].id)"
>同步数据</a-button
>
<a-button type="primary" @click="editSiteInfo(siteData[0])"
<a-button
type="primary"
v-permission="[1]"
@click="editSiteInfo(siteData[0])"
>编辑</a-button
>
<a-button type="danger" @click="deleteSite(siteData[0].id, 0)"
<a-button
type="danger"
v-permission="[1]"
@click="deleteSite(siteData[0].id, 0)"
>删除</a-button
>
</a-space>
......
......@@ -12,7 +12,12 @@
{{ v }}
</div>
</div>
<a-tooltip>
<template slot="title">
当前状态:{{ setInfo.messageoff ? "开启" : "关闭" }}
</template>
<YButton v-model="setInfo.messageoff" @change="changeClose"></YButton>
</a-tooltip>
</div>
</template>
......
......@@ -245,6 +245,10 @@ const rightColumns = [
title: "字段名称",
dataIndex: "fieldName",
},
{
title: "字段编码",
dataIndex: "fieldCode",
},
{
title: "数据类型",
scopedSlots: {
......
......@@ -78,6 +78,7 @@ export default {
let obj = {
productId: row.id,
productName: row.productName,
productCode: row.productCode,
};
this.SET_curProduct(obj);
},
......
......@@ -54,6 +54,8 @@ import InformationSkin from "../informationskin/InformationSkin.vue";
import SelfService from "../selfservice/SelfService.vue";
import DesSelfService from "../desSelfservice/DesSelfService.vue";
import SignDevicekin from "../signdeviceskin/SignDeviceSkin.vue";
import InfoDisSkin from "../infoDisSkin/InfoDisSkin.vue";
import DefaultShow from "../defaultshow/DefaultShow.vue";
import { mapState, mapMutations } from "vuex";
import { filterItems } from "@/utils";
export default {
......@@ -69,6 +71,8 @@ export default {
SelfService,
DesSelfService,
SignDevicekin,
InfoDisSkin,
DefaultShow,
},
props: {},
data() {
......@@ -82,40 +86,45 @@ export default {
...mapState("site", ["imageResolution", "curSkin", "curSkinIndex"]),
component() {
let str = "";
switch (this.curSkin.productName) {
case "排号机":
switch (this.curSkin.productCode) {
case "pdj":
str = "LandscapeMode";
break;
case "窗口屏":
case "ckp":
str = "WindowSkin";
break;
case "呼叫器":
case "hjq":
str = "CallOutSkin";
break;
case "集中显示屏":
case "jzxsp":
str = "CentralizeSkin";
break;
case "导视机":
case "dsj":
str = "SignDevicekin";
break;
case "评价器":
case "pjq":
str = "AppraiseSkin";
break;
case "自助服务终端":
case "zzfwzd":
str = "SelfService";
break;
case "填单机":
case "tdj":
str = "WriteFormSkin";
break;
case "样表机":
case "ybj":
str = "SampleFormSkin";
break;
case "信息发布终端":
case "xxfbp":
str = "InformationSkin";
break;
case "桌面式自助服务终端":
case "zmszzfwzd":
str = "DesSelfService";
break;
case "xxgk":
str = "InfoDisSkin";
break;
default:
str = "DefaultShow";
}
return str;
},
......
<template>
<div class="skin-box">
<!-- 1920*1080 -->
<div
:id="componentsId"
class="across-skin"
v-if="imageResolution === '1'"
:style="{
background: filterItem('1', 0),
}"
></div>
<!-- 竖版 1080*1920 -->
<div
class="vertical-skin"
:id="componentsId"
v-else-if="imageResolution === '2'"
:style="{
background: filterItem('1', 0),
}"
></div>
<!-- 空数据显示 -->
<div class="empty flex aic jcc" v-else>
<a-empty
:image="require('../../../../assets/img/original.png')"
:image-style="{
height: '80px',
}"
>
<span slot="description"> <a href="#API">暂无皮肤模板</a> </span>
</a-empty>
</div>
</div>
</template>
<script>
export default {
props: {
// imgItem: {
// type: Array,
// required: true,
// default: () => {
// return [];
// },
// },
skinFieldList: {
type: Array,
required: true,
default: () => {
return [];
},
},
imageResolution: {
required: true,
default: "1",
},
componentsId: {
required: true,
type: String,
},
},
data() {
return {
api: process.env.VUE_APP_API_IMG_URL,
};
},
methods: {
// 过滤属性类型
filterItem(type, index) {
let arr = this.skinFieldList.filter((v) => {
return v.remark == type;
});
if (arr.length) {
return this.filterValueType(arr[index]);
} else {
return "";
}
},
// 过滤属性值类型
filterValueType(info = {}) {
let value = "";
if (info.fieldType !== "" && info.fieldType === "1" && info.fieldValue) {
value = info.fieldValue;
} else if (
info.fieldType !== "" &&
info.fieldType === "2" &&
info.fieldValue
) {
value = `url(${this.api + info.fieldValue})`;
}
return value;
},
// 过滤导航
filterNav(type) {
let arr = [];
arr = this.skinFieldList.filter((v) => {
return v.remark == type;
});
return arr;
},
},
};
</script>
<style lang="less" scoped>
.across-skin {
width: 1000px;
height: 562.5px;
color: #fff;
background-image: linear-gradient(#26c5ff, #2c66ff);
background-repeat: no-repeat !important;
background-position: center !important;
background-size: 100% 100% !important;
}
.vertical-skin {
height: 1000px;
width: 562px;
padding: 10px;
background-image: linear-gradient(#26c5ff, #2c66ff);
background-repeat: no-repeat !important;
background-position: center !important;
background-size: 100% 100% !important;
}
</style>
<template>
<div class="skin-box">
<!-- 信息公开皮肤 竖版 1080*1920 -->
<div
class="vertical-skin flex flexc aic"
:id="componentsId"
v-if="imageResolution === '2'"
:style="{
background: filterItem('1', 0),
}"
>
<div class="header flex jcc aic">
<div class="title" :style="{ color: filterItem('2', 0) }">
政务信息公开
</div>
</div>
<div class="info flex aic jcc">
<div class="info-item flex flexc aic">
<div class="pic flex aic jcc border">照片</div>
<div
class="name flex aic jcc"
:style="{
color: filterItem('5', 0),
background: filterItem('13', 0),
}"
>
姓名
</div>
</div>
<div class="info-item flex flexc aic">
<div class="pic flex aic jcc border">照片</div>
<div class="name flex aic jcc">姓名</div>
</div>
</div>
<div class="info-list flex1 border flex aic jcc">
信息
</div>
</div>
<!-- 空数据显示 -->
<div class="empty flex aic jcc" v-else>
<a-empty
:image="require('../../../../assets/img/original.png')"
:image-style="{
height: '80px',
}"
>
<span slot="description"> <a href="#API">暂无皮肤模板</a> </span>
</a-empty>
</div>
</div>
</template>
<script>
export default {
props: {
// imgItem: {
// type: Array,
// required: true,
// default: () => {
// return [];
// },
// },
skinFieldList: {
type: Array,
required: true,
default: () => {
return [];
},
},
imageResolution: {
required: true,
default: "1",
},
componentsId: {
required: true,
type: String,
},
},
data() {
return {
api: process.env.VUE_APP_API_IMG_URL,
};
},
methods: {
// 过滤属性类型
filterItem(type, index) {
let arr = this.skinFieldList.filter((v) => {
return v.remark == type;
});
if (arr.length) {
return this.filterValueType(arr[index]);
} else {
return "";
}
},
// 过滤属性值类型
filterValueType(info = {}) {
let value = "";
if (info.fieldType !== "" && info.fieldType === "1" && info.fieldValue) {
value = info.fieldValue;
} else if (
info.fieldType !== "" &&
info.fieldType === "2" &&
info.fieldValue
) {
value = `url(${this.api + info.fieldValue})`;
}
return value;
},
// 过滤导航
filterNav(type) {
let arr = [];
arr = this.skinFieldList.filter((v) => {
return v.remark == type;
});
return arr;
},
},
};
</script>
<style lang="less" scoped>
.across-skin {
width: 1000px;
height: 562.5px;
color: #fff;
background-image: linear-gradient(#26c5ff, #2c66ff);
background-repeat: no-repeat !important;
background-position: center !important;
background-size: 100% 100% !important;
h1 {
color: #fff;
margin: 0px;
}
p {
display: flex;
flex-wrap: wrap;
margin: 0px;
}
.surface-preview-main {
width: 96%;
margin-left: 2%;
height: 100%;
display: flex;
flex-direction: column;
.skin-header {
display: flex;
justify-content: space-between;
height: 100px;
margin-bottom: 40px;
align-items: center;
.skin-header-title {
font-size: 22px;
font-weight: 600;
letter-spacing: 2px;
}
}
}
}
.vertical-skin {
height: 1000px;
width: 562px;
padding-bottom: 10px;
background-image: linear-gradient(#26c5ff, #2c66ff);
background-repeat: no-repeat !important;
background-position: center !important;
background-size: 100% 100% !important;
.header {
height: 80px;
margin-bottom: 20px;
color: #fff;
.title {
font-size: 30px;
font-weight: 600;
}
}
.info {
width: 100%;
gap: 100px;
margin-bottom: 20px;
color: #fff;
.pic {
margin-bottom: 10px;
width: 150px;
height: 180px;
border-radius: 4px;
}
.name {
width: 80px;
height: 26px;
background: #0857e8;
border-radius: 28px;
}
}
.info-list {
width: 94%;
background: #fff;
border-radius: 4px;
}
.border {
border: 1px dashed #ececec;
}
}
</style>
......@@ -72,6 +72,12 @@ const attrType = [
{ key: "10", label: "信息面板" },
{ key: "11", label: "头部背景" },
{ key: "12", label: "底部背景" },
{ key: "13", label: "数据标题背景" },
{ key: "14", label: "数据背景" },
{ key: "15", label: "公告标题" },
{ key: "16", label: "公告内容" },
{ key: "17", label: "公告标题背景" },
{ key: "18", label: "公告内容背景" },
];
export default {
props: {
......
......@@ -195,6 +195,8 @@ import InformationSkin from "../informationskin/InformationSkin.vue";
import SelfService from "../selfservice/SelfService.vue";
import DesSelfService from "../desSelfservice/DesSelfService.vue";
import SignDevicekin from "../signdeviceskin/SignDeviceSkin.vue";
import InfoDisSkin from "../infoDisSkin/InfoDisSkin.vue";
import DefaultShow from "../defaultshow/DefaultShow.vue";
import { uploadFile, skinSave, getTemplateList } from "@/services/surface";
import html2canvas from "html2canvas";
import { Empty } from "ant-design-vue";
......@@ -213,6 +215,8 @@ export default {
SelfService,
DesSelfService,
SignDevicekin,
InfoDisSkin,
DefaultShow,
},
props: {
isShow: {
......@@ -273,40 +277,45 @@ export default {
},
component() {
let str = "";
switch (this.curProduct.productName) {
case "排号机":
switch (this.curProduct.productCode) {
case "pdj":
str = "LandscapeMode";
break;
case "窗口屏":
case "ckp":
str = "WindowSkin";
break;
case "呼叫器":
case "hjq":
str = "CallOutSkin";
break;
case "集中显示屏":
case "jzxsp":
str = "CentralizeSkin";
break;
case "导视机":
case "dsj":
str = "SignDevicekin";
break;
case "评价器":
case "pjq":
str = "AppraiseSkin";
break;
case "自助服务终端":
case "zzfwzd":
str = "SelfService";
break;
case "填单机":
case "tdj":
str = "WriteFormSkin";
break;
case "样表机":
case "ybj":
str = "SampleFormSkin";
break;
case "信息发布终端":
case "xxfbp":
str = "InformationSkin";
break;
case "桌面式自助服务终端":
case "zmszzfwzd":
str = "DesSelfService";
break;
case "xxgk":
str = "InfoDisSkin";
break;
default:
str = "DefaultShow";
}
return str;
},
......@@ -351,9 +360,11 @@ export default {
item.fieldOrderNo = 1000;
}
}
v.skinFieldList.sort((a, b) => {
v.skinFieldList = v.skinFieldList
.sort((a, b) => {
return a.fieldOrderNo - b.fieldOrderNo;
});
})
.filter((v) => v.enabled != 0);
});
this.skinTemplate = data;
// this.formData.skinFieldList = this.skinTemplate[0].skinFieldList;
......
......@@ -6,8 +6,21 @@
@cancel="handleCancel"
:maskClosable="false"
>
<a-button slot="footer" @click="handleReset">重置</a-button>
<a-button slot="footer" type="primary" @click="handleOk">确定</a-button>
<template slot="footer">
<a-space>
<a-button @click="handleReset">重置</a-button>
<a-upload
name="file"
:show-upload-list="false"
:action="api + 'base/file/commonupload'"
@change="handleUpload"
>
<a-button type="primary">文件上传</a-button>
</a-upload>
<a-button type="primary" @click="handleOk">确定</a-button>
</a-space>
</template>
<a-form-model
:model="form"
ref="form"
......@@ -99,6 +112,7 @@ export default {
},
data() {
return {
api: process.env.VUE_APP_API_BASE_URL + "/",
form: {
name: "", // 参数名称
firstOrganize: "", // 一级组织
......@@ -166,6 +180,15 @@ export default {
}
});
},
// 文件上传
handleUpload({ file }) {
if (file.status === "done") {
let { code, url } = file.response;
if (code == 1) {
this.form.paramValue = url;
}
}
},
},
};
</script>
......
......@@ -449,7 +449,7 @@ export default {
idCard: "", // 身份证
userpost: "", // 职务
posttitle: "", // 职称
politicalstatus: undefined, // 政治面貌
politicalstatus: 4, // 政治面貌
dangyuan: undefined, // 称号
dangyuanext: "", // 自定义称号
phone: "", // 电话
......
......@@ -181,15 +181,23 @@
</a-button>
</a-dropdown>
</div>
<div class="in">
<a-space>
<a-select v-model="searchType" style="width: 120px">
<a-select-option :value="1">
按姓名
</a-select-option>
<a-select-option :value="2">
按工号
</a-select-option>
</a-select>
<a-input-search
placeholder="请输入姓名或者工号搜索"
placeholder="请输入关键字搜索"
v-model="searchVal"
enter-button="搜索"
allowClear
@search="onSearch"
/>
</div>
</a-space>
</div>
<div class="table-content">
<!-- 表格 -->
......@@ -408,6 +416,7 @@ export default {
WorkmanData: [], // 工作人员列表
deptSearch: "", //部门搜索
windowSearch: "", // 窗口搜索
searchType: 1, // 搜索类型
searchVal: "",
visibleAll: false,
page: 1,
......@@ -458,9 +467,9 @@ export default {
async getWorkmanData(search = {}) {
this.loading = true;
let obj = {};
if (/^[\u4e00-\u9fa5]+$/.test(this.searchVal)) {
if (this.searchType == 1) {
obj.name = `%${this.searchVal}%`;
} else if (/^[a-zA-z0-9]+$/.test(this.searchVal)) {
} else if (this.searchType == 2) {
obj.number = `%${this.searchVal}%`;
}
let res = await getWorkmanList({
......
......@@ -285,6 +285,7 @@ module.exports = {
list: `${BASE_URL}/base/app/list`,
info: `${BASE_URL}/base/app/info`,
save: `${BASE_URL}/base/app/save`,
batchSave: `${BASE_URL}/base/app/batchSave`,
delete: `${BASE_URL}/base/app/delete`,
distribute: `${BASE_URL}/base/app/appDistribute`,
clone: `${BASE_URL}/base/app/cloneAppsBySites`,
......
......@@ -27,6 +27,10 @@ export async function getAppInfo(data) {
export async function saveApp(data) {
return request(App.save, METHOD.POST, data);
}
// 新增,修改应用(批量)
export async function batchSave(data) {
return request(App.batchSave, METHOD.POST, data);
}
// 删除应用
export async function deleteApp(data) {
return request(App.delete, METHOD.GET, data);
......
......@@ -218,3 +218,12 @@ ALTER TABLE mortals_sys_app_info_templete_field ADD COLUMN `serviceApiParams` v
-- ----------------------------
ALTER TABLE mortals_sys_window_hall ADD COLUMN `siteId` bigint(20) default '1' COMMENT '站点Id';
-- ----------------------------
2024-01-03
-- ----------------------------
ALTER TABLE mortals_sys_site_matter ADD COLUMN `agent` tinyint(2) DEFAULT '0' COMMENT '代办帮办(0.否,1.是)';
ALTER TABLE mortals_sys_site_matter ADD COLUMN `agentName` varchar(64) COMMENT '代办姓名';
ALTER TABLE mortals_sys_site_matter ADD COLUMN `agentPhone` varchar(32) COMMENT '代办电话';
ALTER TABLE mortals_sys_site_matter ADD COLUMN `agentPost` varchar(64) COMMENT '职务';
......@@ -13,10 +13,6 @@
<artifactId>base-manager</artifactId>
<packaging>jar</packaging>
<description>基础服务管理平台</description>
<properties>
</properties>
<profiles>
<profile>
<id>develop</id>
......@@ -25,13 +21,13 @@
</activation>
<properties>
<profiles.active>develop</profiles.active>
<profiles.server.path>/zwfw</profiles.server.path>
<profiles.publish.path>/home/publish</profiles.publish.path>
<profiles.server.port>17211</profiles.server.port>
<profiles.rabbitmq.host>127.0.0.1</profiles.rabbitmq.host>
<profiles.rabbitmq.port>5672</profiles.rabbitmq.port>
<profiles.rabbitmq.username>guest</profiles.rabbitmq.username>
<profiles.rabbitmq.password>guest</profiles.rabbitmq.password>
<profiles.rabbitmq.virtualhost>/</profiles.rabbitmq.virtualhost>
<profiles.publish.path>/home/publish</profiles.publish.path>
<profiles.nacos.server-addr>127.0.0.1:8848</profiles.nacos.server-addr>
<profiles.nacos.group>DEFAULT_GROUP</profiles.nacos.group>
<profiles.nacos.namespace>smart-gov</profiles.nacos.namespace>
......@@ -47,7 +43,7 @@
<id>test</id>
<properties>
<profiles.active>test</profiles.active>
<profiles.server.path>/base</profiles.server.path>
<profiles.server.port>17211</profiles.server.port>
<profiles.publish.path>/home/publish</profiles.publish.path>
<profiles.rabbitmq.host>192.168.0.98</profiles.rabbitmq.host>
<profiles.rabbitmq.port>5672</profiles.rabbitmq.port>
......@@ -69,13 +65,8 @@
<id>product</id>
<properties>
<profiles.active>product</profiles.active>
<profiles.server.path>/base</profiles.server.path>
<profiles.server.port>17211</profiles.server.port>
<profiles.publish.path>/home/publish</profiles.publish.path>
<profiles.rabbitmq.host>127.0.0.1</profiles.rabbitmq.host>
<profiles.rabbitmq.port>5672</profiles.rabbitmq.port>
<profiles.rabbitmq.username>taxi_mq</profiles.rabbitmq.username>
<profiles.rabbitmq.password>admin@2020</profiles.rabbitmq.password>
<profiles.rabbitmq.virtualhost>/</profiles.rabbitmq.virtualhost>
<profiles.nacos.server-addr>127.0.0.1:8848</profiles.nacos.server-addr>
<profiles.nacos.group>DEFAULT_GROUP</profiles.nacos.group>
<profiles.nacos.namespace>smart-gov</profiles.nacos.namespace>
......@@ -91,10 +82,9 @@
<id>yibin</id>
<properties>
<profiles.active>yibin</profiles.active>
<profiles.server.path>/base</profiles.server.path>
<profiles.server.port>17211</profiles.server.port>
<profiles.publish.path>/home/publish</profiles.publish.path>
<profiles.rabbitmq.host>172.15.28.115</profiles.rabbitmq.host>
<profiles.rabbitmq.host>172.15.28.117</profiles.rabbitmq.host>
<profiles.rabbitmq.port>5672</profiles.rabbitmq.port>
<profiles.rabbitmq.username>taxi_mq</profiles.rabbitmq.username>
<profiles.rabbitmq.password>admin@2020</profiles.rabbitmq.password>
......@@ -112,10 +102,9 @@
</profile>
<profile>
<id>sngx</id>
<id>regtest</id>
<properties>
<profiles.active>sngx</profiles.active>
<profiles.server.path>/base</profiles.server.path>
<profiles.active>regtest</profiles.active>
<profiles.server.port>17211</profiles.server.port>
<profiles.publish.path>/home/publish</profiles.publish.path>
<profiles.rabbitmq.host>127.0.0.1</profiles.rabbitmq.host>
......@@ -127,13 +116,58 @@
<profiles.nacos.group>DEFAULT_GROUP</profiles.nacos.group>
<profiles.nacos.namespace>smart-gov</profiles.nacos.namespace>
<profiles.log.path>/home/mortals/app/logs</profiles.log.path>
<profiles.filepath>/mortals/app/data</profiles.filepath>
<profiles.log.level>INFO</profiles.log.level>
<package.environment>yibin</package.environment>
<profiles.log.level>info</profiles.log.level>
<package.environment>build</package.environment>
<skipUi>false</skipUi>
<profiles.holidayUrl>https://timor.tech/api/holiday/year/</profiles.holidayUrl>
</properties>
</profile>
<profile>
<id>reg</id>
<properties>
<profiles.active>reg</profiles.active>
<profiles.server.port>17211</profiles.server.port>
<profiles.publish.path>/home/publish</profiles.publish.path>
<profiles.rabbitmq.host>127.0.0.1</profiles.rabbitmq.host>
<profiles.rabbitmq.port>5672</profiles.rabbitmq.port>
<profiles.rabbitmq.username>taxi_mq</profiles.rabbitmq.username>
<profiles.rabbitmq.password>admin@2020</profiles.rabbitmq.password>
<profiles.rabbitmq.virtualhost>/</profiles.rabbitmq.virtualhost>
<profiles.nacos.server-addr>127.0.0.1:8848</profiles.nacos.server-addr>
<profiles.nacos.group>DEFAULT_GROUP</profiles.nacos.group>
<profiles.nacos.namespace>smart-gov</profiles.nacos.namespace>
<profiles.log.path>/home/mortals/app/logs</profiles.log.path>
<profiles.log.level>info</profiles.log.level>
<package.environment>build</package.environment>
<skipUi>true</skipUi>
<profiles.holidayUrl>https://timor.tech/api/holiday/year/</profiles.holidayUrl>
</properties>
</profile>
<profile>
<id>yanyuan</id>
<properties>
<profiles.active>yanyuan</profiles.active>
<profiles.server.port>17211</profiles.server.port>
<profiles.publish.path>/home/publish</profiles.publish.path>
<profiles.rabbitmq.host>172.16.30.245</profiles.rabbitmq.host>
<profiles.rabbitmq.port>5672</profiles.rabbitmq.port>
<profiles.rabbitmq.username>taxi_mq</profiles.rabbitmq.username>
<profiles.rabbitmq.password>admin@2020</profiles.rabbitmq.password>
<profiles.rabbitmq.virtualhost>/</profiles.rabbitmq.virtualhost>
<profiles.nacos.server-addr>172.16.30.245:8848</profiles.nacos.server-addr>
<profiles.nacos.group>DEFAULT_GROUP</profiles.nacos.group>
<profiles.nacos.namespace>smart-gov</profiles.nacos.namespace>
<profiles.log.path>/home/mortals/app/logs</profiles.log.path>
<package.environment>build</package.environment>
<skipUi>true</skipUi>
<profiles.holidayUrl>https://timor.tech/api/holiday/year/</profiles.holidayUrl>
</properties>
</profile>
</profiles>
<dependencies>
......
......@@ -35,7 +35,7 @@ clear_deploy() {
SERVICE=$1
EXECPATH=$2
#清理后台自启服务
rm -rf ${SERVICE}
rm -f ${SERVICE}
#清理执行文件目录
rm -rf ${EXECPATH}
}
......@@ -81,6 +81,7 @@ start_service() {
#部署后台服务
project_deploy() {
writelog "${PROJECT_NAME}_deploy"
systemctl stop ${PROJECT_NAME}
clear_deploy ${PROJECT_SERVICE} ${PROJECT_EXECPATH}
writelog "${PROJECT_NAME}_clear_finish"
tar -zvxf ./${PROJECT_FILENAME} -C ${PUBLISH_PATH}
......
......@@ -18,7 +18,7 @@ set HEAP_DUMP_PATH=%LOG_PATH%/heap_dump.hprof
set TEMP_PATH=%LOG_PATH%/temp/
if not exist "%TEMP_PATH%" md "%TEMP_PATH%"
rem jvm启动参数
set JAVA_OPTS=-Xms512M -Xmx512M -Xss256K -XX:+UseAdaptiveSizePolicy -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:GCTimeRatio=39 -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+HeapDumpOnOutOfMemoryError
set JAVA_OPTS=-Xms512M -Xmx2048M -Xss256K -XX:+UseAdaptiveSizePolicy -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:GCTimeRatio=39 -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+HeapDumpOnOutOfMemoryError
set JAVA_OPTS=%JAVA_OPTS% -XX:+PrintGCDateStamps -Xloggc:%GC_PATH%
set JAVA_OPTS=%JAVA_OPTS% -XX:ErrorFile=%HS_ERR_PATH%
set JAVA_OPTS=%JAVA_OPTS% -XX:HeapDumpPath=%HEAP_DUMP_PATH%
......
package com.mortals.xhx;
import com.mortals.framework.springcloud.boot.BaseWebApplication;
import com.mortals.framework.util.HttpUtil;
import io.micrometer.core.instrument.MeterRegistry;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.actuate.autoconfigure.metrics.MeterRegistryCustomizer;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ImportResource;
import javax.annotation.PostConstruct;
@EnableFeignClients
@SpringBootApplication(scanBasePackages = {"com.mortals"})
@ServletComponentScan("com.mortals")
......@@ -17,5 +23,28 @@ public class ManagerBaseApplication extends BaseWebApplication {
SpringApplication.run(ManagerBaseApplication.class, args);
}
/* @Bean
MeterRegistryCustomizer meterRegistryCustomizer(MeterRegistry meterRegistry) {
return meterRegistry1 -> {
meterRegistry.config()
.commonTags("application", "Tenantapp");
};
}*/
/* @Bean
public ServletRegistrationBean<MetricsServlet> getServletRegistrationBean() {
ServletRegistrationBean<MetricsServlet> bean = new ServletRegistrationBean<MetricsServlet>(new MetricsServlet());
bean.addUrlMappings("/metrics");
return bean;
}*/
/* @PostConstruct
public void init() {
DefaultExports.initialize();
}*/
}
......@@ -22,6 +22,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Primary;
import org.springframework.core.annotation.Order;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
......@@ -106,19 +107,19 @@ public class AuthTokenServiceImpl implements IAuthTokenService {
Claims claims = parseToken(token);
String uuid = (String) claims.get(SysConstains.LOGIN_USER_KEY);
String userKey = getTokenKey(uuid);
cacheService.select(portalDb);
String userStr = cacheService.get(userKey);
// cacheService.select(portalDb);
RedisTemplate<String, String> redisTemplate = cacheService.selectDbRedisTemplate(portalDb);
String userStr =redisTemplate.opsForValue().get(userKey);
// String userStr = cacheService.get(userKey);
//刷新token时间
UserEntity userEntity = JSONObject.parseObject(userStr, UserEntity.class);
if (!ObjectUtils.isEmpty(userEntity)) {
verifyToken(userEntity);
}
cacheService.select(db);
// cacheService.select(db);
if (!ObjectUtils.isEmpty(userEntity)) {
// UserEntity temp = userService.selectOne(new UserQuery().loginName(userEntity.getLoginName()));
// if(!ObjectUtils.isEmpty(temp)){
// userEntity.setId(temp.getId());
// }
UserEntity temp = userService.getExtCache(userEntity.getLoginName());
if (!ObjectUtils.isEmpty(temp)) {
userEntity.setId(temp.getId());
......
......@@ -3,15 +3,14 @@ package com.mortals.xhx.base.system.param.web;
import com.alibaba.fastjson.JSONObject;
import com.mortals.framework.annotation.RepeatSubmit;
import com.mortals.framework.annotation.UnAuth;
import com.mortals.framework.common.code.PageDisplayType;
import com.mortals.framework.model.Context;
import com.mortals.framework.util.FileUtil;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import com.mortals.framework.web.BaseCRUDJsonMappingController;
import com.mortals.xhx.base.system.param.model.ParamEntity;
......@@ -50,6 +49,27 @@ public class ParamController extends BaseCRUDJsonBodyMappingController<ParamServ
}
@RequestMapping(method = {RequestMethod.GET,RequestMethod.POST},value = "key")
@UnAuth
public String getValueByKey(@RequestParam(name = "key") String key) {
JSONObject jsonObject = new JSONObject();
String busiDesc = "通过key查询参数值" + this.getModuleDesc();
try {
String value = this.service.getValueByKey(key);
jsonObject.put(KEY_RESULT_DATA, value);
recordSysLog(request, busiDesc + " 【成功】");
jsonObject.put(KEY_RESULT_CODE, VALUE_RESULT_SUCCESS);
jsonObject.put(KEY_RESULT_MSG, busiDesc + "成功!");
} catch (Exception e) {
log.error("获取异常", e);
jsonObject.put(KEY_RESULT_CODE, VALUE_RESULT_FAILURE);
jsonObject.put(KEY_RESULT_MSG, super.convertException(e));
}
return jsonObject.toJSONString();
}
private Map<String, Object> getPageDisplayType() {
PageDisplayType[] pageDisplayTypes = PageDisplayType.values();
Map<String, Object> result = new HashMap<>(pageDisplayTypes.length);
......
......@@ -52,7 +52,7 @@ public class UploadController extends BaseController {
@RequestMapping(value = "commonupload")
public String doFileUpload(MultipartFile file, @RequestParam(value = "prePath",defaultValue = "file/fileupload") String prePath) {
public String doFileUpload(MultipartFile file, @RequestParam(value = "prePath",defaultValue = "/file/fileupload") String prePath) {
Map<String, Object> model = new HashMap<>();
String jsonStr = "";
try {
......
......@@ -9,6 +9,7 @@
package com.mortals.xhx.base.system.user.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.mortals.framework.ap.SysConstains;
import com.mortals.framework.common.Rest;
import com.mortals.framework.common.code.UserType;
......@@ -467,15 +468,17 @@ public class UserServiceImpl extends AbstractCRUDCacheServiceImpl<UserDao, UserE
public static void main(String[] args) throws Exception {
//eba467f81fb265befdf1f6ab041d39ab 原始admin密码
System.out.println(SecurityUtil.md5DoubleEncoding("adminADMIN@123!@#"));
System.out.println(SecurityUtil.md5DoubleEncoding("123456"));
System.out.println(SecurityUtil.md5DoubleEncoding("Qt123456@"));
/*
//宜宾一体化账号密码
System.out.println(SecurityUtil.md5DoubleEncoding("yibinYTH@123!@#"));
//P@ssw0rd123
System.out.println(SecurityUtil.md5DoubleEncoding("P@ssw0rd123"));
System.out.println(SecurityUtil.md5DoubleEncoding("P@ssw0rd123"));*/
}
}
\ No newline at end of file
......@@ -12,4 +12,30 @@ public class RedisKey {
public static final String KEY_USER_MENU_CACHE = "user:menu";
/**
* 大厅业务缓存
*/
public static final String KEY_SEARCH_HALL_BUSINESS_CACHE = "base:search:hall:business:";
/**
* 站点业务id缓存
*/
public static final String KEY_SEARCH_SITEBUSINESSID_CACHE = "base:search:sitebusinessid:";
/**
* 窗口id缓存
*/
public static final String KEY_SEARCH_WINDOWID_CACHE = "base:search:windowId:";
/**
* 窗口id列表缓存
*/
public static final String KEY_SEARCH_WINDOWID_LIST_CACHE = "base:search:windowId:list:";
/**
* 缓存过期时间(秒)
*/
public static final Long KEY_SEARCH_TIMEOUTT_CACHE = 3600L;
}
package com.mortals.xhx.common.utils;
import cn.hutool.core.util.StrUtil;
import com.mortals.xhx.common.code.AreaLevelEnum;
public class AreaMatchCodeUtil {
public static String getMatchCode(String matchCode, Integer areaLevel) {
if (AreaLevelEnum.地市州.getValue() == areaLevel) {
return StrUtil.padAfter(matchCode, 4, "0");
} else if (AreaLevelEnum.区县.getValue() == areaLevel) {
return StrUtil.padAfter(matchCode, 7, "0");
} else if (AreaLevelEnum.街道.getValue() == areaLevel) {
return StrUtil.padAfter(matchCode, 10, "0");
} else if (AreaLevelEnum.社区.getValue() == areaLevel) {
return StrUtil.padAfter(matchCode, 12, "0");
} else {
return matchCode;
}
}
}
......@@ -504,7 +504,8 @@ public class MatterDetailHtmlParseUtil {
//String url = "http://www.sczwfw.gov.cn/jiq/front/transition/ywTransToDetail?areaCode=513426000000&itemCode=511F3000300009-513426000000-000-11513426MB1541028A-1-00&taskType=7&deptCode=009075316";
// String url = "http://www.sczwfw.gov.cn/jiq/front/transition/ywTransToDetail?areaCode=511500000000&itemCode=511A0151400000-511500000000-000-511501-7-1-00&taskType=1&deptCode=511501-7";
String url = "http://www.sczwfw.gov.cn/jiq/front/transition/ywTransToDetail?areaCode=511500000000&itemCode=511A0000400004-511500000000-000-1151120000870212XU-1-00&taskType=1&deptCode=3922757070285361152";
// String url = "http://www.sczwfw.gov.cn/jiq/front/transition/ywTransToDetail?areaCode=511500000000&itemCode=511A0000400004-511500000000-000-1151120000870212XU-1-00&taskType=1&deptCode=3922757070285361152";
String url = "https://www.sczwfw.gov.cn/jiq/front/transition/ywTransToDetail?areaCode=511500000000&itemCode=512036008003-511500000000-000-11511200MB1503849K-1-00&taskType=20&deptCode=3907787168696946688";
Document dom = MatterDetailHtmlParseUtil.getDomByHtml(url);
Map<String, String> baseInfoMap = MatterDetailHtmlParseUtil.getbaseInfoMapByHtml(dom);
......
......@@ -237,13 +237,13 @@ public class MatterHtmlParseUtil {
public static void main(String[] args) {
/* String url = "http://www.sczwfw.gov.cn/jiq/interface/item/tags";
String url = "http://www.sczwfw.gov.cn/jiq/interface/item/tags";
HashMap<String, String> params = new HashMap<>();
params.put("dxType", "21");
params.put("areaCode", "510107000000");
params.put("dxType", "54");
params.put("areaCode", "511503003999");
params.put("deptCode", "");
params.put("searchtext", "");
params.put("pageno", "5");
params.put("pageno", "1");
params.put("taskType", "");
Rest<List<MatterEntity>> rest = MatterHtmlParseUtil.getMatterList(params, url);
......
......@@ -28,6 +28,7 @@ import com.mortals.xhx.utils.SpringUtils;
import lombok.extern.apachecommons.CommonsLog;
import org.springframework.util.ObjectUtils;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
......@@ -120,6 +121,7 @@ public class SyncGovMatterDetailThread implements Runnable {
log.info("同步站点事项详细条数....." + unSyncDetailMatterList.size());
unSyncDetailMatterList.parallelStream().forEach(matterEntity -> {
matterService.buildMatterDetail(matterEntity, context);
matterEntity.setUpdateTime(new Date());
matterService.update(matterEntity, context);
});
}
......@@ -150,8 +152,13 @@ public class SyncGovMatterDetailThread implements Runnable {
Rest<String> townThemeRest = siteThemeMatterService.syncTownThemeMatterBySiteId(siteEntity, dxType, context);
log.info("同步站点乡镇主题事项:" + JSON.toJSONString(townThemeRest));
} else {
cacheService.hdel(RedisCacheKeys.getSyncMatterLockKey() + siteEntity.getAreaCode(), siteEntity.getAreaCode());
try {
cacheService.del(RedisCacheKeys.getSyncMatterLockKey() + siteEntity.getAreaCode(), siteEntity.getAreaCode());
log.info("同步站点乡镇主题事项失败:" + themeTownRest.getData());
}catch (Exception e){
log.error("同步站点乡镇主题事项失败",e);
}
}
}
log.info("同步站点事项结束.....");
......
package com.mortals.xhx.daemon.applicationservice;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.framework.service.ICacheService;
import com.mortals.framework.service.IUser;
......@@ -12,6 +13,7 @@ import com.mortals.xhx.common.pdu.user.UserPdu;
import com.mortals.xhx.common.utils.BeanUtil;
import com.mortals.xhx.common.utils.SyncTreeSiteThread;
import com.mortals.xhx.feign.user.IUserFeign;
import com.mortals.xhx.module.site.model.SiteEntity;
import com.mortals.xhx.module.site.model.SiteTreeSelect;
import com.mortals.xhx.module.site.service.SiteService;
import lombok.extern.slf4j.Slf4j;
......@@ -45,13 +47,33 @@ public class DemoStartedService implements IApplicationStartedService {
@Override
public void start() {
ThreadPool.getInstance().init(10);
ThreadPool.getInstance().init(6);
logger.info("开始服务..[初始化用户站点树]");
//删除redis 中的 站点树
cacheService.del(USER_SITE_TREE);
siteService.updateAllSiteTree(null);
//测试获取站点
/*
int i=0;
while (true) {
SiteEntity siteCache = siteService.getCache("1");
if (ObjectUtils.isEmpty(siteCache)) {
log.error("siteCache is null");
}else {
log.info("count==>"+i);
}
try {
Thread.sleep(50);
i++;
} catch (InterruptedException e) {
}
}*/
/* UserEntity userEntity = new UserEntity();
userEntity.initAttrValue();
userEntity.setId(0L);
......
......@@ -50,7 +50,7 @@ public class SyncHolidayTaskImpl implements ITaskExcuteService {
@Autowired
private HolidayService holidayService;
@Value("${holidayUrl:https://timor.tech/api/holiday/year/2023}")
@Value("${holidayUrl:https://timor.tech/api/holiday/year/2024}")
private String holidayUrl;
......@@ -63,6 +63,7 @@ public class SyncHolidayTaskImpl implements ITaskExcuteService {
private void syncHoliday() throws AppException {
holidayUrl += DateUtil.year(new Date());
log.info("holidayUrl:{}", holidayUrl);
String holidayJson = HttpUtil.get(holidayUrl);
ObjectMapper mapper = new ObjectMapper();
......
......@@ -3,6 +3,7 @@ package com.mortals.xhx.module.base.service.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.ListUtil;
import com.mortals.framework.common.Rest;
import com.mortals.xhx.common.utils.AreaMatchCodeUtil;
import com.mortals.xhx.common.utils.BeanUtil;
import com.mortals.xhx.module.area.model.AreaEntity;
import com.mortals.xhx.module.area.model.AreaQuery;
......@@ -43,6 +44,7 @@ public class BaseAreaServiceImpl extends AbstractCRUDServiceImpl<BaseAreaDao, Ba
String areaCode = baseAreaEntity.getAreaCode();
String matchCode = areaCode.replaceAll("(0)+$", "");
matchCode = AreaMatchCodeUtil.getMatchCode(matchCode, baseAreaEntity.getAreaLevel());
BaseAreaQuery baseAreaQuery = new BaseAreaQuery();
baseAreaQuery.setAreaCode(matchCode + "%");
List<BaseAreaEntity> baseAreaEntityList =this.find(baseAreaQuery);
......
package com.mortals.xhx.module.matter.service;
import com.mortals.framework.model.Context;
import com.mortals.framework.model.PageInfo;
import com.mortals.framework.model.Result;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.matter.dao.MatterDatumDao;
import com.mortals.xhx.module.matter.dao.MatterExtDao;
import com.mortals.xhx.module.matter.model.MatterDatumEntity;
import java.util.List;
/**
* MatterDatumService
* <p>
......@@ -16,4 +21,8 @@ import com.mortals.xhx.module.matter.model.MatterDatumEntity;
public interface MatterDatumService extends ICRUDService<MatterDatumEntity, Long> {
MatterDatumDao getDao();
List<MatterDatumEntity> findMatterList(MatterDatumEntity query , Context context);
}
\ No newline at end of file
......@@ -83,4 +83,13 @@ public class MatterDatumServiceImpl extends AbstractCRUDServiceImpl<MatterDatumD
}
/**
* @param query
* @param context
* @return
*/
@Override
public List<MatterDatumEntity> findMatterList(MatterDatumEntity query, Context context) {
return null;
}
}
\ No newline at end of file
......@@ -284,8 +284,9 @@ public class MatterServiceImpl extends AbstractCRUDServiceImpl<MatterDao, Matter
@Override
public Result<MatterEntity> findSubList(MatterEntity matterQuery, PageInfo pageInfo, Context context) throws AppException {
SiteEntity siteCache = siteService.getCache(matterQuery.getSiteId().toString());
if(ObjectUtils.isEmpty(siteCache)) throw new AppException("查询站点id不能为空!");
// SiteEntity siteCache = siteService.getCache(matterQuery.getSiteId().toString());
SiteEntity siteCache = siteService.get(matterQuery.getSiteId());
if(ObjectUtils.isEmpty(siteCache)) throw new AppException("查询站点id不能为空!siteId:"+matterQuery.getSiteId());
if (ObjectUtils.isEmpty(matterQuery.getAreaCode())) {
matterQuery.setAreaCode(siteCache == null ? null : siteCache.getAreaCode());
}
......@@ -1200,7 +1201,6 @@ public class MatterServiceImpl extends AbstractCRUDServiceImpl<MatterDao, Matter
}
if (!ObjectUtils.isEmpty(matterExtEntities)) {
//先删除后添加
......
......@@ -4,22 +4,32 @@ import com.mortals.framework.annotation.UnAuth;
import com.mortals.framework.common.Rest;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.framework.model.PageInfo;
import com.mortals.framework.model.Result;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.framework.web.BasePhpCRUDJsonMappingController;
import com.mortals.xhx.base.system.param.service.ParamService;
import com.mortals.xhx.module.matter.model.MatterDatumEntity;
import com.mortals.xhx.module.matter.model.MatterDatumFileEntity;
import com.mortals.xhx.module.matter.model.MatterDatumFileQuery;
import com.mortals.xhx.module.matter.model.MatterEntity;
import com.mortals.xhx.module.matter.service.MatterDatumFileService;
import com.mortals.xhx.module.matter.service.MatterDatumService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import static com.mortals.framework.ap.SysConstains.MESSAGE_INFO;
import static com.mortals.framework.ap.SysConstains.PAGEINFO_KEY;
/**
* 事项申请材料
*
......@@ -92,4 +102,37 @@ public class MatterDatumController extends BaseCRUDJsonBodyMappingController<Mat
model.put(KEY_RESULT_DATA,collect);
return super.doListAfter(query, model, context);
}
/**
* 查询的材料 名称去重 并且
* @param query
* @return
*/
@PostMapping(value = "matterlist")
@UnAuth
public Rest<Object> matterlist(@RequestBody MatterDatumEntity query) {
Rest<Object> ret = new Rest<>();
Map<String, Object> model = new HashMap<>();
Context context = this.getContext();
String busiDesc = "查询材料" + this.getModuleDesc();
int code = VALUE_RESULT_SUCCESS;
try {
List<MatterDatumEntity> list = this.service.findMatterList(query, context);
model.put(KEY_RESULT_DATA, list);
model.put(MESSAGE_INFO, busiDesc + "成功");
if (!ObjectUtils.isEmpty(getContext()) && !ObjectUtils.isEmpty(getContext().getUser())) {
recordSysLog(request, busiDesc + " 【成功】");
}
} catch (Exception e) {
code = VALUE_RESULT_FAILURE;
this.doException(request, busiDesc, model, e);
}
this.init(model, context);
ret.setCode(code);
ret.setData(model);
ret.setMsg(model.get(MESSAGE_INFO) == null ? "" : model.remove(MESSAGE_INFO).toString());
return ret;
}
}
\ No newline at end of file
package com.mortals.xhx.module.site.model;
import java.util.List;
import java.util.ArrayList;
import java.math.BigDecimal;
import cn.hutool.core.date.DateUtil;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.site.model.vo.SiteMatterVo;
import lombok.Data;
/**
* 站点事项实体对象
*
* @author zxfei
* @date 2023-04-12
* @date 2024-01-04
*/
@Data
public class SiteMatterEntity extends SiteMatterVo {
private static final long serialVersionUID = 1L;
......@@ -32,10 +35,6 @@ public class SiteMatterEntity extends SiteMatterVo {
* 事项名称
*/
private String matterName;
/**
* 事项编码
*/
private String matterCode;
/**
* 部门ID
*/
......@@ -44,6 +43,10 @@ public class SiteMatterEntity extends SiteMatterVo {
* 部门名称
*/
private String deptName;
/**
* 事项编码
*/
private String matterCode;
/**
* 事项类型
*/
......@@ -52,10 +55,6 @@ public class SiteMatterEntity extends SiteMatterVo {
* 事项来源
*/
private Integer source;
/**
* 部门编号
*/
private String deptCode;
/**
* 热门(0.否,1.是)
*/
......@@ -64,182 +63,26 @@ public class SiteMatterEntity extends SiteMatterVo {
* 显示(0.否,1.是)
*/
private Integer display;
public SiteMatterEntity(){}
/**
* 获取 站点ID
* @return Long
*/
public Long getSiteId(){
return siteId;
}
/**
* 设置 站点ID
* @param siteId
*/
public void setSiteId(Long siteId){
this.siteId = siteId;
}
/**
* 获取 站点名称
* @return String
*/
public String getSiteName(){
return siteName;
}
/**
* 设置 站点名称
* @param siteName
*/
public void setSiteName(String siteName){
this.siteName = siteName;
}
/**
* 获取 事项ID
* @return Long
*/
public Long getMatterId(){
return matterId;
}
/**
* 设置 事项ID
* @param matterId
*/
public void setMatterId(Long matterId){
this.matterId = matterId;
}
/**
* 获取 事项名称
* @return String
*/
public String getMatterName(){
return matterName;
}
/**
* 设置 事项名称
* @param matterName
*/
public void setMatterName(String matterName){
this.matterName = matterName;
}
/**
* 获取 事项编码
* @return String
*/
public String getMatterCode(){
return matterCode;
}
/**
* 设置 事项编码
* @param matterCode
*/
public void setMatterCode(String matterCode){
this.matterCode = matterCode;
}
/**
* 获取 部门ID
* @return Long
*/
public Long getDeptId(){
return deptId;
}
/**
* 设置 部门ID
* @param deptId
*/
public void setDeptId(Long deptId){
this.deptId = deptId;
}
/**
* 获取 部门名称
* @return String
*/
public String getDeptName(){
return deptName;
}
/**
* 设置 部门名称
* @param deptName
*/
public void setDeptName(String deptName){
this.deptName = deptName;
}
/**
* 获取 事项类型
* @return String
*/
public String getEventTypeShow(){
return eventTypeShow;
}
/**
* 设置 事项类型
* @param eventTypeShow
*/
public void setEventTypeShow(String eventTypeShow){
this.eventTypeShow = eventTypeShow;
}
/**
* 获取 事项来源
* @return Integer
*/
public Integer getSource(){
return source;
}
/**
* 设置 事项来源
* @param source
*/
public void setSource(Integer source){
this.source = source;
}
/**
* 获取 部门编号
* @return String
*/
public String getDeptCode(){
return deptCode;
}
/**
* 设置 部门编号
* @param deptCode
* 部门编号
*/
public void setDeptCode(String deptCode){
this.deptCode = deptCode;
}
private String deptCode;
/**
* 获取 热门(0.否,1.是)
* @return Integer
* 代办帮办(0.否,1.是)
*/
public Integer getHot(){
return hot;
}
private Integer agent;
/**
* 设置 热门(0.否,1.是)
* @param hot
* 代办姓名
*/
public void setHot(Integer hot){
this.hot = hot;
}
private String agentName;
/**
* 获取 显示(0.否,1.是)
* @return Integer
* 代办电话
*/
public Integer getDisplay(){
return display;
}
private String agentPhone;
/**
* 设置 显示(0.否,1.是)
* @param display
* 职务
*/
public void setDisplay(Integer display){
this.display = display;
}
private String agentPost;
@Override
public int hashCode() {
return this.getId().hashCode();
......@@ -256,47 +99,22 @@ public class SiteMatterEntity extends SiteMatterVo {
return false;
}
public String toString(){
StringBuilder sb = new StringBuilder("");
sb.append(",siteId:").append(getSiteId());
sb.append(",siteName:").append(getSiteName());
sb.append(",matterId:").append(getMatterId());
sb.append(",matterName:").append(getMatterName());
sb.append(",matterCode:").append(getMatterCode());
sb.append(",deptId:").append(getDeptId());
sb.append(",deptName:").append(getDeptName());
sb.append(",eventTypeShow:").append(getEventTypeShow());
sb.append(",source:").append(getSource());
sb.append(",deptCode:").append(getDeptCode());
sb.append(",hot:").append(getHot());
sb.append(",display:").append(getDisplay());
return sb.toString();
}
public void initAttrValue(){
this.siteId = null;
this.siteName = null;
this.siteName = "";
this.matterId = null;
this.matterName = null;
this.matterCode = null;
this.matterName = "";
this.deptId = null;
this.deptName = null;
this.eventTypeShow = null;
this.deptName = "";
this.matterCode = "";
this.eventTypeShow = "";
this.source = 0;
this.deptCode = null;
this.hot = 0;
this.display =1;
this.display = 0;
this.deptCode = "";
this.agent = 0;
this.agentName = "";
this.agentPhone = "";
this.agentPost = "";
}
}
\ No newline at end of file
......@@ -6,7 +6,7 @@ import com.mortals.xhx.module.site.model.SiteMatterEntity;
* 站点事项查询对象
*
* @author zxfei
* @date 2023-04-12
* @date 2024-01-04
*/
public class SiteMatterQuery extends SiteMatterEntity {
/** 开始 序号,主键,自增长 */
......@@ -64,11 +64,33 @@ public class SiteMatterQuery extends SiteMatterEntity {
/** 事项名称排除列表 */
private List <String> matterNameNotList;
/** 事项编码 */
private List<String> matterCodeList;
/** 开始 创建时间 */
private String createTimeStart;
/** 结束 创建时间 */
private String createTimeEnd;
/** 开始 创建用户 */
private Long createUserIdStart;
/** 结束 创建用户 */
private Long createUserIdEnd;
/** 增加 创建用户 */
private Long createUserIdIncrement;
/** 创建用户列表 */
private List <Long> createUserIdList;
/** 创建用户排除列表 */
private List <Long> createUserIdNotList;
/** 开始 修改时间 */
private String updateTimeStart;
/** 结束 修改时间 */
private String updateTimeEnd;
/** 事项编码排除列表 */
private List <String> matterCodeNotList;
/** 开始 部门ID */
private Long deptIdStart;
......@@ -89,6 +111,11 @@ public class SiteMatterQuery extends SiteMatterEntity {
/** 部门名称排除列表 */
private List <String> deptNameNotList;
/** 事项编码 */
private List<String> matterCodeList;
/** 事项编码排除列表 */
private List <String> matterCodeNotList;
/** 事项类型 */
private List<String> eventTypeShowList;
......@@ -109,38 +136,6 @@ public class SiteMatterQuery extends SiteMatterEntity {
/** 事项来源排除列表 */
private List <Integer> sourceNotList;
/** 部门编号 */
private List<String> deptCodeList;
/** 部门编号排除列表 */
private List <String> deptCodeNotList;
/** 开始 创建时间 */
private String createTimeStart;
/** 结束 创建时间 */
private String createTimeEnd;
/** 开始 创建用户 */
private Long createUserIdStart;
/** 结束 创建用户 */
private Long createUserIdEnd;
/** 增加 创建用户 */
private Long createUserIdIncrement;
/** 创建用户列表 */
private List <Long> createUserIdList;
/** 创建用户排除列表 */
private List <Long> createUserIdNotList;
/** 开始 修改时间 */
private String updateTimeStart;
/** 结束 修改时间 */
private String updateTimeEnd;
/** 开始 热门(0.否,1.是) */
private Integer hotStart;
......@@ -171,6 +166,41 @@ public class SiteMatterQuery extends SiteMatterEntity {
/** 显示(0.否,1.是)排除列表 */
private List <Integer> displayNotList;
/** 部门编号 */
private List<String> deptCodeList;
/** 部门编号排除列表 */
private List <String> deptCodeNotList;
/** 开始 代办帮办(0.否,1.是) */
private Integer agentStart;
/** 结束 代办帮办(0.否,1.是) */
private Integer agentEnd;
/** 增加 代办帮办(0.否,1.是) */
private Integer agentIncrement;
/** 代办帮办(0.否,1.是)列表 */
private List <Integer> agentList;
/** 代办帮办(0.否,1.是)排除列表 */
private List <Integer> agentNotList;
/** 代办姓名 */
private List<String> agentNameList;
/** 代办姓名排除列表 */
private List <String> agentNameNotList;
/** 代办电话 */
private List<String> agentPhoneList;
/** 代办电话排除列表 */
private List <String> agentPhoneNotList;
/** 职务 */
private List<String> agentPostList;
/** 职务排除列表 */
private List <String> agentPostNotList;
/** OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4) */
private List<SiteMatterQuery> orConditionList;
......@@ -487,35 +517,148 @@ public class SiteMatterQuery extends SiteMatterEntity {
}
/**
* 获取 事项编码
* @return matterCodeList
* 获取 开始 创建时间
* @return createTimeStart
*/
public List<String> getMatterCodeList(){
return this.matterCodeList;
public String getCreateTimeStart(){
return this.createTimeStart;
}
/**
* 设置 事项编码
* @param matterCodeList
* 设置 开始 创建时间
* @param createTimeStart
*/
public void setMatterCodeList(List<String> matterCodeList){
this.matterCodeList = matterCodeList;
public void setCreateTimeStart(String createTimeStart){
this.createTimeStart = createTimeStart;
}
/**
* 获取 事项编码
* @return matterCodeNotList
* 获取 结束 创建时间
* @return createTimeEnd
*/
public List<String> getMatterCodeNotList(){
return this.matterCodeNotList;
public String getCreateTimeEnd(){
return this.createTimeEnd;
}
/**
* 设置 事项编码
* @param matterCodeNotList
* 设置 结束 创建时间
* @param createTimeEnd
*/
public void setMatterCodeNotList(List<String> matterCodeNotList){
this.matterCodeNotList = matterCodeNotList;
public void setCreateTimeEnd(String createTimeEnd){
this.createTimeEnd = createTimeEnd;
}
/**
* 获取 开始 创建用户
* @return createUserIdStart
*/
public Long getCreateUserIdStart(){
return this.createUserIdStart;
}
/**
* 设置 开始 创建用户
* @param createUserIdStart
*/
public void setCreateUserIdStart(Long createUserIdStart){
this.createUserIdStart = createUserIdStart;
}
/**
* 获取 结束 创建用户
* @return $createUserIdEnd
*/
public Long getCreateUserIdEnd(){
return this.createUserIdEnd;
}
/**
* 设置 结束 创建用户
* @param createUserIdEnd
*/
public void setCreateUserIdEnd(Long createUserIdEnd){
this.createUserIdEnd = createUserIdEnd;
}
/**
* 获取 增加 创建用户
* @return createUserIdIncrement
*/
public Long getCreateUserIdIncrement(){
return this.createUserIdIncrement;
}
/**
* 设置 增加 创建用户
* @param createUserIdIncrement
*/
public void setCreateUserIdIncrement(Long createUserIdIncrement){
this.createUserIdIncrement = createUserIdIncrement;
}
/**
* 获取 创建用户
* @return createUserIdList
*/
public List<Long> getCreateUserIdList(){
return this.createUserIdList;
}
/**
* 设置 创建用户
* @param createUserIdList
*/
public void setCreateUserIdList(List<Long> createUserIdList){
this.createUserIdList = createUserIdList;
}
/**
* 获取 创建用户
* @return createUserIdNotList
*/
public List<Long> getCreateUserIdNotList(){
return this.createUserIdNotList;
}
/**
* 设置 创建用户
* @param createUserIdNotList
*/
public void setCreateUserIdNotList(List<Long> createUserIdNotList){
this.createUserIdNotList = createUserIdNotList;
}
/**
* 获取 开始 修改时间
* @return updateTimeStart
*/
public String getUpdateTimeStart(){
return this.updateTimeStart;
}
/**
* 设置 开始 修改时间
* @param updateTimeStart
*/
public void setUpdateTimeStart(String updateTimeStart){
this.updateTimeStart = updateTimeStart;
}
/**
* 获取 结束 修改时间
* @return updateTimeEnd
*/
public String getUpdateTimeEnd(){
return this.updateTimeEnd;
}
/**
* 设置 结束 修改时间
* @param updateTimeEnd
*/
public void setUpdateTimeEnd(String updateTimeEnd){
this.updateTimeEnd = updateTimeEnd;
}
/**
......@@ -632,36 +775,68 @@ public class SiteMatterQuery extends SiteMatterEntity {
}
/**
* 获取 事项类型
* @return eventTypeShowList
* 获取 事项编码
* @return matterCodeList
*/
public List<String> getEventTypeShowList(){
return this.eventTypeShowList;
public List<String> getMatterCodeList(){
return this.matterCodeList;
}
/**
* 设置 事项类型
* @param eventTypeShowList
* 设置 事项编码
* @param matterCodeList
*/
public void setEventTypeShowList(List<String> eventTypeShowList){
this.eventTypeShowList = eventTypeShowList;
public void setMatterCodeList(List<String> matterCodeList){
this.matterCodeList = matterCodeList;
}
/**
* 获取 事项类型
* @return eventTypeShowNotList
* 获取 事项编码
* @return matterCodeNotList
*/
public List<String> getEventTypeShowNotList(){
return this.eventTypeShowNotList;
public List<String> getMatterCodeNotList(){
return this.matterCodeNotList;
}
/**
* 设置 事项类型
* @param eventTypeShowNotList
* 设置 事项编码
* @param matterCodeNotList
*/
public void setEventTypeShowNotList(List<String> eventTypeShowNotList){
this.eventTypeShowNotList = eventTypeShowNotList;
}
public void setMatterCodeNotList(List<String> matterCodeNotList){
this.matterCodeNotList = matterCodeNotList;
}
/**
* 获取 事项类型
* @return eventTypeShowList
*/
public List<String> getEventTypeShowList(){
return this.eventTypeShowList;
}
/**
* 设置 事项类型
* @param eventTypeShowList
*/
public void setEventTypeShowList(List<String> eventTypeShowList){
this.eventTypeShowList = eventTypeShowList;
}
/**
* 获取 事项类型
* @return eventTypeShowNotList
*/
public List<String> getEventTypeShowNotList(){
return this.eventTypeShowNotList;
}
/**
* 设置 事项类型
* @param eventTypeShowNotList
*/
public void setEventTypeShowNotList(List<String> eventTypeShowNotList){
this.eventTypeShowNotList = eventTypeShowNotList;
}
/**
* 获取 开始 事项来源
......@@ -745,343 +920,375 @@ public class SiteMatterQuery extends SiteMatterEntity {
/**
* 获取 部门编号
* @return deptCodeList
* 获取 开始 热门(0.否,1.是)
* @return hotStart
*/
public List<String> getDeptCodeList(){
return this.deptCodeList;
public Integer getHotStart(){
return this.hotStart;
}
/**
* 设置 部门编号
* @param deptCodeList
* 设置 开始 热门(0.否,1.是)
* @param hotStart
*/
public void setDeptCodeList(List<String> deptCodeList){
this.deptCodeList = deptCodeList;
public void setHotStart(Integer hotStart){
this.hotStart = hotStart;
}
/**
* 获取 部门编号
* @return deptCodeNotList
* 获取 结束 热门(0.否,1.是)
* @return $hotEnd
*/
public List<String> getDeptCodeNotList(){
return this.deptCodeNotList;
public Integer getHotEnd(){
return this.hotEnd;
}
/**
* 设置 部门编号
* @param deptCodeNotList
* 设置 结束 热门(0.否,1.是)
* @param hotEnd
*/
public void setDeptCodeNotList(List<String> deptCodeNotList){
this.deptCodeNotList = deptCodeNotList;
public void setHotEnd(Integer hotEnd){
this.hotEnd = hotEnd;
}
/**
* 获取 开始 创建时间
* @return createTimeStart
* 获取 增加 热门(0.否,1.是)
* @return hotIncrement
*/
public String getCreateTimeStart(){
return this.createTimeStart;
public Integer getHotIncrement(){
return this.hotIncrement;
}
/**
* 设置 开始 创建时间
* @param createTimeStart
* 设置 增加 热门(0.否,1.是)
* @param hotIncrement
*/
public void setCreateTimeStart(String createTimeStart){
this.createTimeStart = createTimeStart;
public void setHotIncrement(Integer hotIncrement){
this.hotIncrement = hotIncrement;
}
/**
* 获取 结束 创建时间
* @return createTimeEnd
* 获取 热门(0.否,1.是)
* @return hotList
*/
public String getCreateTimeEnd(){
return this.createTimeEnd;
public List<Integer> getHotList(){
return this.hotList;
}
/**
* 设置 结束 创建时间
* @param createTimeEnd
* 设置 热门(0.否,1.是)
* @param hotList
*/
public void setCreateTimeEnd(String createTimeEnd){
this.createTimeEnd = createTimeEnd;
public void setHotList(List<Integer> hotList){
this.hotList = hotList;
}
/**
* 获取 开始 创建用户
* @return createUserIdStart
* 获取 热门(0.否,1.是)
* @return hotNotList
*/
public Long getCreateUserIdStart(){
return this.createUserIdStart;
public List<Integer> getHotNotList(){
return this.hotNotList;
}
/**
* 设置 开始 创建用户
* @param createUserIdStart
* 设置 热门(0.否,1.是)
* @param hotNotList
*/
public void setCreateUserIdStart(Long createUserIdStart){
this.createUserIdStart = createUserIdStart;
public void setHotNotList(List<Integer> hotNotList){
this.hotNotList = hotNotList;
}
/**
* 获取 结束 创建用户
* @return $createUserIdEnd
* 获取 开始 显示(0.否,1.是)
* @return displayStart
*/
public Long getCreateUserIdEnd(){
return this.createUserIdEnd;
public Integer getDisplayStart(){
return this.displayStart;
}
/**
* 设置 结束 创建用户
* @param createUserIdEnd
* 设置 开始 显示(0.否,1.是)
* @param displayStart
*/
public void setCreateUserIdEnd(Long createUserIdEnd){
this.createUserIdEnd = createUserIdEnd;
public void setDisplayStart(Integer displayStart){
this.displayStart = displayStart;
}
/**
* 获取 增加 创建用户
* @return createUserIdIncrement
* 获取 结束 显示(0.否,1.是)
* @return $displayEnd
*/
public Long getCreateUserIdIncrement(){
return this.createUserIdIncrement;
public Integer getDisplayEnd(){
return this.displayEnd;
}
/**
* 设置 增加 创建用户
* @param createUserIdIncrement
* 设置 结束 显示(0.否,1.是)
* @param displayEnd
*/
public void setCreateUserIdIncrement(Long createUserIdIncrement){
this.createUserIdIncrement = createUserIdIncrement;
public void setDisplayEnd(Integer displayEnd){
this.displayEnd = displayEnd;
}
/**
* 获取 创建用户
* @return createUserIdList
* 获取 增加 显示(0.否,1.是)
* @return displayIncrement
*/
public List<Long> getCreateUserIdList(){
return this.createUserIdList;
public Integer getDisplayIncrement(){
return this.displayIncrement;
}
/**
* 设置 创建用户
* @param createUserIdList
* 设置 增加 显示(0.否,1.是)
* @param displayIncrement
*/
public void setCreateUserIdList(List<Long> createUserIdList){
this.createUserIdList = createUserIdList;
public void setDisplayIncrement(Integer displayIncrement){
this.displayIncrement = displayIncrement;
}
/**
* 获取 创建用户
* @return createUserIdNotList
* 获取 显示(0.否,1.是)
* @return displayList
*/
public List<Long> getCreateUserIdNotList(){
return this.createUserIdNotList;
public List<Integer> getDisplayList(){
return this.displayList;
}
/**
* 设置 创建用户
* @param createUserIdNotList
* 设置 显示(0.否,1.是)
* @param displayList
*/
public void setCreateUserIdNotList(List<Long> createUserIdNotList){
this.createUserIdNotList = createUserIdNotList;
public void setDisplayList(List<Integer> displayList){
this.displayList = displayList;
}
/**
* 获取 显示(0.否,1.是)
* @return displayNotList
*/
public List<Integer> getDisplayNotList(){
return this.displayNotList;
}
/**
* 获取 开始 修改时间
* @return updateTimeStart
* 设置 显示(0.否,1.是)
* @param displayNotList
*/
public String getUpdateTimeStart(){
return this.updateTimeStart;
public void setDisplayNotList(List<Integer> displayNotList){
this.displayNotList = displayNotList;
}
/**
* 设置 开始 修改时间
* @param updateTimeStart
* 获取 部门编号
* @return deptCodeList
*/
public void setUpdateTimeStart(String updateTimeStart){
this.updateTimeStart = updateTimeStart;
public List<String> getDeptCodeList(){
return this.deptCodeList;
}
/**
* 获取 结束 修改时间
* @return updateTimeEnd
* 设置 部门编号
* @param deptCodeList
*/
public String getUpdateTimeEnd(){
return this.updateTimeEnd;
public void setDeptCodeList(List<String> deptCodeList){
this.deptCodeList = deptCodeList;
}
/**
* 设置 结束 修改时间
* @param updateTimeEnd
* 获取 部门编号
* @return deptCodeNotList
*/
public void setUpdateTimeEnd(String updateTimeEnd){
this.updateTimeEnd = updateTimeEnd;
public List<String> getDeptCodeNotList(){
return this.deptCodeNotList;
}
/**
* 获取 开始 热门(0.否,1.是)
* @return hotStart
* 设置 部门编号
* @param deptCodeNotList
*/
public Integer getHotStart(){
return this.hotStart;
public void setDeptCodeNotList(List<String> deptCodeNotList){
this.deptCodeNotList = deptCodeNotList;
}
/**
* 设置 开始 热门(0.否,1.是)
* @param hotStart
* 获取 开始 代办帮办(0.否,1.是)
* @return agentStart
*/
public void setHotStart(Integer hotStart){
this.hotStart = hotStart;
public Integer getAgentStart(){
return this.agentStart;
}
/**
* 获取 结束 热门(0.否,1.是)
* @return $hotEnd
* 设置 开始 代办帮办(0.否,1.是)
* @param agentStart
*/
public Integer getHotEnd(){
return this.hotEnd;
public void setAgentStart(Integer agentStart){
this.agentStart = agentStart;
}
/**
* 设置 结束 热门(0.否,1.是)
* @param hotEnd
* 获取 结束 代办帮办(0.否,1.是)
* @return $agentEnd
*/
public void setHotEnd(Integer hotEnd){
this.hotEnd = hotEnd;
public Integer getAgentEnd(){
return this.agentEnd;
}
/**
* 获取 增加 热门(0.否,1.是)
* @return hotIncrement
* 设置 结束 代办帮办(0.否,1.是)
* @param agentEnd
*/
public Integer getHotIncrement(){
return this.hotIncrement;
public void setAgentEnd(Integer agentEnd){
this.agentEnd = agentEnd;
}
/**
* 设置 增加 热门(0.否,1.是)
* @param hotIncrement
* 获取 增加 代办帮办(0.否,1.是)
* @return agentIncrement
*/
public void setHotIncrement(Integer hotIncrement){
this.hotIncrement = hotIncrement;
public Integer getAgentIncrement(){
return this.agentIncrement;
}
/**
* 获取 热门(0.否,1.是)
* @return hotList
* 设置 增加 代办帮办(0.否,1.是)
* @param agentIncrement
*/
public List<Integer> getHotList(){
return this.hotList;
public void setAgentIncrement(Integer agentIncrement){
this.agentIncrement = agentIncrement;
}
/**
* 设置 热门(0.否,1.是)
* @param hotList
* 获取 代办帮办(0.否,1.是)
* @return agentList
*/
public void setHotList(List<Integer> hotList){
this.hotList = hotList;
public List<Integer> getAgentList(){
return this.agentList;
}
/**
* 获取 热门(0.否,1.是)
* @return hotNotList
* 设置 代办帮办(0.否,1.是)
* @param agentList
*/
public List<Integer> getHotNotList(){
return this.hotNotList;
public void setAgentList(List<Integer> agentList){
this.agentList = agentList;
}
/**
* 设置 热门(0.否,1.是)
* @param hotNotList
* 获取 代办帮办(0.否,1.是)
* @return agentNotList
*/
public void setHotNotList(List<Integer> hotNotList){
this.hotNotList = hotNotList;
public List<Integer> getAgentNotList(){
return this.agentNotList;
}
/**
* 设置 代办帮办(0.否,1.是)
* @param agentNotList
*/
public void setAgentNotList(List<Integer> agentNotList){
this.agentNotList = agentNotList;
}
/**
* 获取 开始 显示(0.否,1.是)
* @return displayStart
* 获取 代办姓名
* @return agentNameList
*/
public Integer getDisplayStart(){
return this.displayStart;
public List<String> getAgentNameList(){
return this.agentNameList;
}
/**
* 设置 开始 显示(0.否,1.是)
* @param displayStart
* 设置 代办姓名
* @param agentNameList
*/
public void setDisplayStart(Integer displayStart){
this.displayStart = displayStart;
public void setAgentNameList(List<String> agentNameList){
this.agentNameList = agentNameList;
}
/**
* 获取 结束 显示(0.否,1.是)
* @return $displayEnd
* 获取 代办姓名
* @return agentNameNotList
*/
public Integer getDisplayEnd(){
return this.displayEnd;
public List<String> getAgentNameNotList(){
return this.agentNameNotList;
}
/**
* 设置 结束 显示(0.否,1.是)
* @param displayEnd
* 设置 代办姓名
* @param agentNameNotList
*/
public void setDisplayEnd(Integer displayEnd){
this.displayEnd = displayEnd;
public void setAgentNameNotList(List<String> agentNameNotList){
this.agentNameNotList = agentNameNotList;
}
/**
* 获取 代办电话
* @return agentPhoneList
*/
public List<String> getAgentPhoneList(){
return this.agentPhoneList;
}
/**
* 获取 增加 显示(0.否,1.是)
* @return displayIncrement
* 设置 代办电话
* @param agentPhoneList
*/
public Integer getDisplayIncrement(){
return this.displayIncrement;
public void setAgentPhoneList(List<String> agentPhoneList){
this.agentPhoneList = agentPhoneList;
}
/**
* 设置 增加 显示(0.否,1.是)
* @param displayIncrement
* 获取 代办电话
* @return agentPhoneNotList
*/
public void setDisplayIncrement(Integer displayIncrement){
this.displayIncrement = displayIncrement;
public List<String> getAgentPhoneNotList(){
return this.agentPhoneNotList;
}
/**
* 获取 显示(0.否,1.是)
* @return displayList
* 设置 代办电话
* @param agentPhoneNotList
*/
public List<Integer> getDisplayList(){
return this.displayList;
public void setAgentPhoneNotList(List<String> agentPhoneNotList){
this.agentPhoneNotList = agentPhoneNotList;
}
/**
* 设置 显示(0.否,1.是)
* @param displayList
* 获取 职务
* @return agentPostList
*/
public void setDisplayList(List<Integer> displayList){
this.displayList = displayList;
public List<String> getAgentPostList(){
return this.agentPostList;
}
/**
* 获取 显示(0.否,1.是)
* @return displayNotList
* 设置 职务
* @param agentPostList
*/
public List<Integer> getDisplayNotList(){
return this.displayNotList;
public void setAgentPostList(List<String> agentPostList){
this.agentPostList = agentPostList;
}
/**
* 设置 显示(0.否,1.是)
* @param displayNotList
* 获取 职务
* @return agentPostNotList
*/
public void setDisplayNotList(List<Integer> displayNotList){
this.displayNotList = displayNotList;
public List<String> getAgentPostNotList(){
return this.agentPostNotList;
}
/**
* 设置 职务
* @param agentPostNotList
*/
public void setAgentPostNotList(List<String> agentPostNotList){
this.agentPostNotList = agentPostNotList;
}
/**
* 设置 序号,主键,自增长
......@@ -1285,23 +1492,60 @@ public class SiteMatterQuery extends SiteMatterEntity {
/**
* 设置 事项编码
* @param matterCode
* 设置 创建用户
* @param createUserId
*/
public SiteMatterQuery matterCode(String matterCode){
setMatterCode(matterCode);
public SiteMatterQuery createUserId(Long createUserId){
setCreateUserId(createUserId);
return this;
}
/**
* 设置 事项编码
* @param matterCodeList
* 设置 开始 创建用户
* @param createUserIdStart
*/
public SiteMatterQuery matterCodeList(List<String> matterCodeList){
this.matterCodeList = matterCodeList;
public SiteMatterQuery createUserIdStart(Long createUserIdStart){
this.createUserIdStart = createUserIdStart;
return this;
}
/**
* 设置 结束 创建用户
* @param createUserIdEnd
*/
public SiteMatterQuery createUserIdEnd(Long createUserIdEnd){
this.createUserIdEnd = createUserIdEnd;
return this;
}
/**
* 设置 增加 创建用户
* @param createUserIdIncrement
*/
public SiteMatterQuery createUserIdIncrement(Long createUserIdIncrement){
this.createUserIdIncrement = createUserIdIncrement;
return this;
}
/**
* 设置 创建用户
* @param createUserIdList
*/
public SiteMatterQuery createUserIdList(List<Long> createUserIdList){
this.createUserIdList = createUserIdList;
return this;
}
/**
* 设置 创建用户
* @param createUserIdNotList
*/
public SiteMatterQuery createUserIdNotList(List<Long> createUserIdNotList){
this.createUserIdNotList = createUserIdNotList;
return this;
}
/**
* 设置 部门ID
* @param deptId
......@@ -1376,6 +1620,25 @@ public class SiteMatterQuery extends SiteMatterEntity {
}
/**
* 设置 事项编码
* @param matterCode
*/
public SiteMatterQuery matterCode(String matterCode){
setMatterCode(matterCode);
return this;
}
/**
* 设置 事项编码
* @param matterCodeList
*/
public SiteMatterQuery matterCodeList(List<String> matterCodeList){
this.matterCodeList = matterCodeList;
return this;
}
/**
* 设置 事项类型
* @param eventTypeShow
......@@ -1448,81 +1711,6 @@ public class SiteMatterQuery extends SiteMatterEntity {
return this;
}
/**
* 设置 部门编号
* @param deptCode
*/
public SiteMatterQuery deptCode(String deptCode){
setDeptCode(deptCode);
return this;
}
/**
* 设置 部门编号
* @param deptCodeList
*/
public SiteMatterQuery deptCodeList(List<String> deptCodeList){
this.deptCodeList = deptCodeList;
return this;
}
/**
* 设置 创建用户
* @param createUserId
*/
public SiteMatterQuery createUserId(Long createUserId){
setCreateUserId(createUserId);
return this;
}
/**
* 设置 开始 创建用户
* @param createUserIdStart
*/
public SiteMatterQuery createUserIdStart(Long createUserIdStart){
this.createUserIdStart = createUserIdStart;
return this;
}
/**
* 设置 结束 创建用户
* @param createUserIdEnd
*/
public SiteMatterQuery createUserIdEnd(Long createUserIdEnd){
this.createUserIdEnd = createUserIdEnd;
return this;
}
/**
* 设置 增加 创建用户
* @param createUserIdIncrement
*/
public SiteMatterQuery createUserIdIncrement(Long createUserIdIncrement){
this.createUserIdIncrement = createUserIdIncrement;
return this;
}
/**
* 设置 创建用户
* @param createUserIdList
*/
public SiteMatterQuery createUserIdList(List<Long> createUserIdList){
this.createUserIdList = createUserIdList;
return this;
}
/**
* 设置 创建用户
* @param createUserIdNotList
*/
public SiteMatterQuery createUserIdNotList(List<Long> createUserIdNotList){
this.createUserIdNotList = createUserIdNotList;
return this;
}
/**
* 设置 热门(0.否,1.是)
* @param hot
......@@ -1631,6 +1819,136 @@ public class SiteMatterQuery extends SiteMatterEntity {
return this;
}
/**
* 设置 部门编号
* @param deptCode
*/
public SiteMatterQuery deptCode(String deptCode){
setDeptCode(deptCode);
return this;
}
/**
* 设置 部门编号
* @param deptCodeList
*/
public SiteMatterQuery deptCodeList(List<String> deptCodeList){
this.deptCodeList = deptCodeList;
return this;
}
/**
* 设置 代办帮办(0.否,1.是)
* @param agent
*/
public SiteMatterQuery agent(Integer agent){
setAgent(agent);
return this;
}
/**
* 设置 开始 代办帮办(0.否,1.是)
* @param agentStart
*/
public SiteMatterQuery agentStart(Integer agentStart){
this.agentStart = agentStart;
return this;
}
/**
* 设置 结束 代办帮办(0.否,1.是)
* @param agentEnd
*/
public SiteMatterQuery agentEnd(Integer agentEnd){
this.agentEnd = agentEnd;
return this;
}
/**
* 设置 增加 代办帮办(0.否,1.是)
* @param agentIncrement
*/
public SiteMatterQuery agentIncrement(Integer agentIncrement){
this.agentIncrement = agentIncrement;
return this;
}
/**
* 设置 代办帮办(0.否,1.是)
* @param agentList
*/
public SiteMatterQuery agentList(List<Integer> agentList){
this.agentList = agentList;
return this;
}
/**
* 设置 代办帮办(0.否,1.是)
* @param agentNotList
*/
public SiteMatterQuery agentNotList(List<Integer> agentNotList){
this.agentNotList = agentNotList;
return this;
}
/**
* 设置 代办姓名
* @param agentName
*/
public SiteMatterQuery agentName(String agentName){
setAgentName(agentName);
return this;
}
/**
* 设置 代办姓名
* @param agentNameList
*/
public SiteMatterQuery agentNameList(List<String> agentNameList){
this.agentNameList = agentNameList;
return this;
}
/**
* 设置 代办电话
* @param agentPhone
*/
public SiteMatterQuery agentPhone(String agentPhone){
setAgentPhone(agentPhone);
return this;
}
/**
* 设置 代办电话
* @param agentPhoneList
*/
public SiteMatterQuery agentPhoneList(List<String> agentPhoneList){
this.agentPhoneList = agentPhoneList;
return this;
}
/**
* 设置 职务
* @param agentPost
*/
public SiteMatterQuery agentPost(String agentPost){
setAgentPost(agentPost);
return this;
}
/**
* 设置 职务
* @param agentPostList
*/
public SiteMatterQuery agentPostList(List<String> agentPostList){
this.agentPostList = agentPostList;
return this;
}
/**
* 获取 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
* @return orConditionList
......
......@@ -53,4 +53,10 @@ public class SiteBusinessVo extends BaseEntityLong {
private List<Long> idNotList;
/** 业务ID列表 */
private List <Long> businessIdList;
/** 业务ID排除列表 */
private List <Long> businessIdNotList;
}
\ No newline at end of file
......@@ -14,5 +14,4 @@ import lombok.Data;
public class SiteHallVo extends BaseEntityLong {
}
\ No newline at end of file
......@@ -40,11 +40,13 @@ public class SiteMatterServiceImpl extends AbstractCRUDServiceImpl<SiteMatterDao
@Override
protected void findAfter(SiteMatterEntity params, PageInfo pageInfo, Context context, List<SiteMatterEntity> list) throws AppException {
// List<Long> matterIdlist = list.parallelStream().map(item -> item.getMatterId()).collect(Collectors.toList());
//Map<Long, MatterEntity> matterEntityMap = matterService.find(new MatterQuery().idList(matterIdlist)).parallelStream().collect(Collectors.toMap(x -> x.getId(), y -> y, (o, n) -> n));
if (!ObjectUtils.isEmpty(list)) {
List<Long> matterIdlist = list.stream().map(item -> item.getMatterId()).collect(Collectors.toList());
Map<Long, MatterEntity> matterEntityMap = matterService.find(new MatterQuery().idList(matterIdlist)).parallelStream().collect(Collectors.toMap(x -> x.getId(), y -> y, (o, n) -> n));
list.forEach(item -> {
if (!ObjectUtils.isEmpty(item.getMatterId())) {
MatterEntity matterEntity = matterService.get(item.getMatterId());
MatterEntity matterEntity = matterEntityMap.get(item.getMatterId());
if (!ObjectUtils.isEmpty(matterEntity)) {
item.setBelongDept(matterEntity.getBelongDept());
item.setWindowToTheSceneNum(matterEntity.getWindowToTheSceneNum());
......@@ -54,6 +56,7 @@ public class SiteMatterServiceImpl extends AbstractCRUDServiceImpl<SiteMatterDao
}
}
});
}
super.findAfter(params, pageInfo, context, list);
}
......
package com.mortals.xhx.module.site.service.impl;
import cn.hutool.core.collection.ListUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.util.URLUtil;
import cn.hutool.core.util.ZipUtil;
import com.alibaba.fastjson.JSON;
......@@ -26,6 +27,7 @@ import com.mortals.xhx.common.key.Constant;
import com.mortals.xhx.common.pdu.RespData;
import com.mortals.xhx.common.pdu.device.DevicePdu;
import com.mortals.xhx.common.pdu.user.UserPdu;
import com.mortals.xhx.common.utils.AreaMatchCodeUtil;
import com.mortals.xhx.common.utils.MatterHtmlParseUtil;
import com.mortals.xhx.common.utils.SyncTreeSiteThread;
import com.mortals.xhx.feign.device.IDeviceFeign;
......@@ -208,10 +210,10 @@ public class SiteServiceImpl extends AbstractCRUDCacheServiceImpl<SiteDao, SiteE
//新加的站点 只需要更新全树
//更新同步部门相关
deptService.syncDeptBySiteId(entity, context);
//deptService.syncDeptBySiteId(entity, context);
//通知php系统更新
String phpUrl = GlobalSysInfo.getParamValue(PARAM_SERVER_PHP_HTTP_URL, "http://172.15.28.116:8090");
String phpUrl = GlobalSysInfo.getParamValue(PARAM_SERVER_PHP_HTTP_URL, "http://127.0.0.1:11078/zwfw_api");
HashMap<String, String> paramsMap = new HashMap<>();
paramsMap.put("siteid", entity.getId().toString());
......@@ -388,20 +390,13 @@ public class SiteServiceImpl extends AbstractCRUDCacheServiceImpl<SiteDao, SiteE
public List<SiteTreeSelect> getSiteTree(Context context) {
// List<SiteTreeSelect> siteTreeSelects = siteTreeMap.get(context.getUser().getId());
List<SiteTreeSelect> collect = getSiteTreeSelects(context.getUser().getId().toString());
log.info("siteTree:{}", JSON.toJSONString(collect));
// log.info("siteTree:{}", JSON.toJSONString(collect));
if (!ObjectUtils.isEmpty(collect)) {
return collect;
} else {
//反全站点树 如果没有全站点树,则临时构建 admin 为全站点树
return getSiteTreeSelects("1");
}
//如果所属站点为空返回全节点树
// if (!ObjectUtils.isEmpty(siteTreeSelects)) {
// return siteTreeSelects;
// } else {
// return siteTreeMap.get(1);
// }
}
private List<SiteTreeSelect> getSiteTreeSelects(String userId) {
......@@ -432,6 +427,7 @@ public class SiteServiceImpl extends AbstractCRUDCacheServiceImpl<SiteDao, SiteE
throw new AppException(String.format("区域不存在!区域编码:%s", areaCode));
}
String matchCode = areaCode.replaceAll("(0)+$", "");
matchCode = AreaMatchCodeUtil.getMatchCode(matchCode, areaEntity.getAreaLevel());
SiteQuery siteQuery = new SiteQuery();
siteQuery.setAreaCode(matchCode + "%");
List<SiteEntity> siteEntities = this.find(siteQuery);
......@@ -439,8 +435,6 @@ public class SiteServiceImpl extends AbstractCRUDCacheServiceImpl<SiteDao, SiteE
PageInfo pageInfo = new PageInfo();
pageInfo.setCurrPage(1);
pageInfo.setPrePageResult(10);
return siteEntities;
}
......@@ -450,17 +444,22 @@ public class SiteServiceImpl extends AbstractCRUDCacheServiceImpl<SiteDao, SiteE
if (ObjectUtils.isEmpty(siteId)) {
throw new AppException("站点Id不能为空!");
}
SiteEntity siteCache = this.getCache(siteId.toString());
SiteEntity siteCache = this.get(siteId);
if (ObjectUtils.isEmpty(siteCache)) {
throw new AppException("站点不存在,siteId:" + siteId);
}
//siteList.add(siteCache);
AreaEntity areaEntity = areaService.getExtCache(siteCache.getAreaCode());
if (ObjectUtils.isEmpty(areaEntity)) {
areaEntity = areaService.selectOne(new AreaQuery().areaCode(siteCache.getAreaCode()));
if (ObjectUtils.isEmpty(areaEntity)) {
throw new AppException(String.format("区域不存在!区域编码:%s", siteCache.getAreaCode()));
}
}
String matchCode = siteCache.getAreaCode().replaceAll("(0)+$", "");
matchCode = AreaMatchCodeUtil.getMatchCode(matchCode, areaEntity.getAreaLevel());
SiteQuery siteQuery = new SiteQuery();
siteQuery.setAreaCode(matchCode + "%");
List<SiteEntity> siteEntities = this.find(siteQuery);
......@@ -488,6 +487,7 @@ public class SiteServiceImpl extends AbstractCRUDCacheServiceImpl<SiteDao, SiteE
throw new AppException(String.format("区域不存在!区域编码:%s", query.getAreaCode()));
}
String matchCode = query.getAreaCode().replaceAll("(0)+$", "");
matchCode = AreaMatchCodeUtil.getMatchCode(matchCode, areaEntity.getAreaLevel());
SiteQuery siteQuery = new SiteQuery();
siteQuery.setAreaCode(matchCode + "%");
List<SiteEntity> siteEntities = this.find(siteQuery);
......@@ -528,6 +528,9 @@ public class SiteServiceImpl extends AbstractCRUDCacheServiceImpl<SiteDao, SiteE
siteAreaVo.setAreaCode(child.getAreaCode());
siteAreaVo.setAreaName(child.getName());
String matchCode = child.getAreaCode().replaceAll("(0)+$", "");
//不足位数,补零 5115 020 120 01 市 区 街道 社区
matchCode = AreaMatchCodeUtil.getMatchCode(matchCode, child.getAreaLevel());
SiteQuery siteQuery = new SiteQuery();
siteQuery.setAreaCode(matchCode + "%");
if (!ObjectUtils.isEmpty(query.getSiteName())) {
......@@ -857,4 +860,16 @@ public class SiteServiceImpl extends AbstractCRUDCacheServiceImpl<SiteDao, SiteE
}
public static void main(String[] args) {
String matchCode = "511530000000".replaceAll("(0)+$", "");
System.out.println(matchCode);
matchCode=StrUtil.padAfter(matchCode,7,"0");
System.out.println(matchCode);
}
}
\ No newline at end of file
......@@ -160,27 +160,18 @@ public class SiteController extends BaseCRUDJsonBodyMappingController<SiteServic
String busiDesc = "根据区域编码查询站点列表" + this.getModuleDesc();
try {
if (!ObjectUtils.isEmpty(site.getSiteName())) {
// SiteEntity siteEntity = this.service.selectOne(new SiteQuery().siteName(site.getSiteName()));
List<SiteEntity> siteEntities = this.service.find(new SiteQuery().siteName(site.getSiteName()));
if (!ObjectUtils.isEmpty(siteEntities)) {
site.setAreaCodeList(siteEntities.stream().map(i -> i.getAreaCode()).collect(Collectors.toList()));
}
/* if (!ObjectUtils.isEmpty(siteEntity)) {
site.setAreaCode(siteEntity.getAreaCode());
}*/
}
if (!ObjectUtils.isEmpty(site.getAreaName())) {
//AreaEntity areaEntity = areaService.selectOne(new AreaQuery().name(site.getAreaName()));
List<AreaEntity> areaEntities = areaService.find(new AreaQuery().name(site.getAreaName()));
if (!ObjectUtils.isEmpty(areaEntities)) {
// site.setAreaCode(areaEntity.getAreaCode());
site.setAreaCodeList(areaEntities.stream().map(i -> i.getAreaCode()).collect(Collectors.toList()));
}
}
if (ObjectUtils.isEmpty(site.getAreaCodeList())) {
site.setAreaCodeList(Arrays.asList(site.getAreaCode()));
}
......@@ -189,9 +180,9 @@ public class SiteController extends BaseCRUDJsonBodyMappingController<SiteServic
}).distinct().collect(Collectors.toList());
//List<SiteEntity> siteEntityList = this.service.getFlatSitesByAreaCode(site.getAreaCode(), getContext());
if (!ObjectUtils.isEmpty(site.getSiteName())) {
/* if (!ObjectUtils.isEmpty(site.getSiteName())) {
siteEntityList = siteEntityList.stream().filter(item -> site.getSiteName().equals(item.getSiteName())).collect(Collectors.toList());
}
}*/
if (!ObjectUtils.isEmpty(getContext()) && !ObjectUtils.isEmpty(getContext().getUser())) {
recordSysLog(request, busiDesc + " 【成功】");
}
......
package com.mortals.xhx.module.site.web;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import com.mortals.framework.annotation.UnAuth;
import com.mortals.framework.common.Rest;
import com.mortals.framework.model.Result;
import com.mortals.framework.service.ICacheService;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService;
import com.mortals.xhx.common.code.YesNoEnum;
import com.mortals.xhx.module.business.model.BusinessEntity;
import com.mortals.xhx.module.site.model.*;
import com.mortals.xhx.module.window.model.WindowBusinessEntity;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.RequestMapping;
......@@ -13,27 +19,13 @@ import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import com.mortals.framework.model.Context;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.module.site.service.SiteHallService;
import org.apache.commons.lang3.ArrayUtils;
import com.mortals.framework.util.StringUtils;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import com.alibaba.fastjson.JSONObject;
import java.util.Arrays;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import static com.mortals.framework.ap.SysConstains.*;
import static com.mortals.xhx.common.key.RedisKey.*;
/**
* 站点大厅信息
......@@ -47,6 +39,8 @@ public class SiteHallController extends BaseCRUDJsonBodyMappingController<SiteHa
@Autowired
private ParamService paramService;
@Autowired
private ICacheService cacheService;
public SiteHallController() {
super.setModuleDesc("站点大厅信息");
......@@ -71,7 +65,21 @@ public class SiteHallController extends BaseCRUDJsonBodyMappingController<SiteHa
String busiDesc = "根据大厅查询所属业务";
int code = VALUE_RESULT_SUCCESS;
try {
Rest<List<BusinessEntity>> rest = this.service.getBusinessByHall(siteHall, getContext());
if (ObjectUtils.isEmpty(siteHall.getId())) {
return Rest.fail("大厅ID不能为空!");
}
Rest<List<BusinessEntity>> rest = null;
String cacheResult = cacheService.get(KEY_SEARCH_HALL_BUSINESS_CACHE + siteHall.getId(), String.class);
if (!ObjectUtils.isEmpty(cacheResult)) {
rest = JSON.parseObject(cacheResult, new TypeReference<Rest<List<BusinessEntity>>>() {
});
} else {
//查询数据库
rest = this.service.getBusinessByHall(siteHall, getContext());
if(rest.getCode()== YesNoEnum.YES.getValue()){
cacheService.set(KEY_SEARCH_HALL_BUSINESS_CACHE + siteHall.getId(), JSON.toJSONString(rest), KEY_SEARCH_TIMEOUTT_CACHE);
}
}
if (!ObjectUtils.isEmpty(getContext()) && !ObjectUtils.isEmpty(getContext().getUser())) {
recordSysLog(request, busiDesc + " 【成功】");
......
......@@ -155,7 +155,9 @@ public class SkinBaseServiceImpl extends AbstractCRUDServiceImpl<SkinBaseDao, Sk
@Override
protected void updateAfter(SkinBaseEntity entity, Context context) throws AppException {
saveSkinFields(entity, context);
super.updateBefore(entity, context);
SendSkinRefreshTask sendSkinRefreshTask = new SendSkinRefreshTask();
ThreadPool.getInstance().execute(sendSkinRefreshTask);
}
private void saveSkinFields(SkinBaseEntity entity, Context context) {
......@@ -202,13 +204,15 @@ public class SkinBaseServiceImpl extends AbstractCRUDServiceImpl<SkinBaseDao, Sk
}
private void genTemplateCss(SkinBaseEntity entity, Context context) {
//加载模板,合成模板数据
Map data = new HashMap();
List<SkinFieldEntity> collect = entity.getSkinFieldList().stream().map(field -> {
SkinFieldEntity skinFieldEntity = new SkinFieldEntity();
BeanUtils.copyProperties(field, skinFieldEntity, BeanUtil.getNullPropertyNames(field));
updateUrl(skinFieldEntity);
// updateUrl(skinFieldEntity);
return skinFieldEntity;
}).collect(Collectors.toList());
......@@ -222,7 +226,7 @@ public class SkinBaseServiceImpl extends AbstractCRUDServiceImpl<SkinBaseDao, Sk
InputStream inputStream = new ByteArrayInputStream(sw.toString().getBytes(Constant.UTF8));
MultipartFile file = getMultipartFile(inputStream, "file.css");
String filePath = uploadService.saveFileUpload(file, "file/fileupload", context.getUser());
String filePath = uploadService.saveFileUpload(file, "/file/fileupload", context.getUser());
entity.setCssFilePath(filePath);
} catch (Exception e) {
......
......@@ -54,5 +54,10 @@ public class WindowBusinessVo extends BaseEntityLong {
@JSONField(serialize = true)
private String hallName;
/**
* 查询缓存是否开启
*/
private Integer searchCache;
}
\ No newline at end of file
......@@ -2,12 +2,16 @@ package com.mortals.xhx.module.window.service.impl;
import cn.hutool.core.collection.ListUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.mortals.framework.ap.GlobalSysInfo;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.framework.model.PageInfo;
import com.mortals.framework.model.Result;
import com.mortals.framework.service.ICacheService;
import com.mortals.framework.util.HttpUtil;
import com.mortals.xhx.common.code.YesNoEnum;
import com.mortals.xhx.common.utils.BeanUtil;
import com.mortals.xhx.module.business.model.BusinessEntity;
import com.mortals.xhx.module.business.model.BusinessQuery;
......@@ -18,6 +22,7 @@ import com.mortals.xhx.module.window.model.*;
import com.mortals.xhx.module.window.service.WindowHallService;
import com.mortals.xhx.module.window.service.WindowService;
import lombok.extern.slf4j.Slf4j;
import org.apache.poi.ss.formula.functions.T;
import org.checkerframework.checker.units.qual.A;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -33,6 +38,7 @@ import java.util.stream.Collectors;
import static com.mortals.framework.util.HttpUtil.HEADER_CONTENT_TYPE;
import static com.mortals.xhx.common.key.Constant.PARAM_SERVER_PHP_HTTP_URL;
import static com.mortals.xhx.common.key.RedisKey.*;
/**
* WindowBusinessService
......@@ -48,20 +54,94 @@ public class WindowBusinessServiceImpl extends AbstractCRUDServiceImpl<WindowBus
private WindowService windowService;
@Autowired
private WindowHallService windowHallService;
@Autowired
private ICacheService cacheService;
/**
* @param entity
* @param pageInfo
* @param context
* @return
* @throws AppException
*/
@Override
protected void findAfter(WindowBusinessEntity entity, PageInfo pageInfo, Context context, List<WindowBusinessEntity> list) throws AppException {
public Result<WindowBusinessEntity> find(WindowBusinessEntity entity, PageInfo pageInfo, Context context) throws AppException {
WindowBusinessEntity query = this.findBefore(entity, pageInfo, context);
//判断查询结果是否用缓存
if (!ObjectUtils.isEmpty(query) && !ObjectUtils.isEmpty(query.getSearchCache()) && !ObjectUtils.isEmpty(query.getSearchCache() == YesNoEnum.YES.getValue())) {
//根据查询条件 获取缓存,如果缓存有则直接取缓存,否则读数据库后 再写入缓存
return getWindowBusinessEntityCacheResult(entity, pageInfo, context, query);
} else {
Result<WindowBusinessEntity> result = this.dao.getList(query, pageInfo);
this.findAfter(entity, pageInfo, context, result.getList());
return result;
}
}
Map<Long, WindowEntity> collect = windowService.getCacheList().stream().collect(Collectors.toMap(x -> x.getId(), y -> y, (o, n) -> n));
//Map<Long, WindowEntity> collect = windowService.findToMap(new WindowQuery(), context);
Map<Long, WindowHallEntity> windowHallEntityMap = windowHallService.getCacheList().stream().collect(Collectors.toMap(x -> x.getId(), y -> y, (o, n) -> n));
private Result<WindowBusinessEntity> getWindowBusinessEntityCacheResult(WindowBusinessEntity entity, PageInfo pageInfo, Context context, WindowBusinessEntity query) {
Result<WindowBusinessEntity> result = null;
if (!ObjectUtils.isEmpty(query.getSiteBusinessId())) {
Long siteBusinessId = query.getSiteBusinessId();
String cacheResult = cacheService.get(KEY_SEARCH_SITEBUSINESSID_CACHE + siteBusinessId, String.class);
if (!ObjectUtils.isEmpty(cacheResult)) {
result = JSON.parseObject(cacheResult, new TypeReference<Result<WindowBusinessEntity>>() {
});
} else {
//查询数据库
result = this.dao.getList(query, pageInfo);
this.findAfter(entity, pageInfo, context, result.getList());
if (!ObjectUtils.isEmpty(result.getList())) {
cacheService.set(KEY_SEARCH_SITEBUSINESSID_CACHE + siteBusinessId, JSON.toJSONString(result), KEY_SEARCH_TIMEOUTT_CACHE);
}
}
} else if (!ObjectUtils.isEmpty(query.getWindowId())) {
Long windowId = query.getWindowId();
String cacheResult = cacheService.get(KEY_SEARCH_WINDOWID_CACHE + windowId, String.class);
if (!ObjectUtils.isEmpty(cacheResult)) {
result = JSON.parseObject(cacheResult, new TypeReference<Result<WindowBusinessEntity>>() {
});
} else {
//查询数据库
result = this.dao.getList(query, pageInfo);
this.findAfter(entity, pageInfo, context, result.getList());
//无查询结果的不做保存
if (!ObjectUtils.isEmpty(result.getList())) {
cacheService.set(KEY_SEARCH_WINDOWID_CACHE + windowId, JSON.toJSONString(result), KEY_SEARCH_TIMEOUTT_CACHE);
}
}
} else if (!ObjectUtils.isEmpty(query.getWindowIdList())) {
String windowIdlist = query.getWindowIdList().stream().map(String::valueOf).collect(Collectors.joining("#"));
String cacheResult = cacheService.get(KEY_SEARCH_WINDOWID_LIST_CACHE + windowIdlist, String.class);
if (!ObjectUtils.isEmpty(cacheResult)) {
result = JSON.parseObject(cacheResult, new TypeReference<Result<WindowBusinessEntity>>() {
});
} else {
//查询数据库
result = this.dao.getList(query, pageInfo);
this.findAfter(entity, pageInfo, context, result.getList());
if (!ObjectUtils.isEmpty(result.getList())) {
cacheService.set(KEY_SEARCH_WINDOWID_LIST_CACHE + windowIdlist, JSON.toJSONString(result), KEY_SEARCH_TIMEOUTT_CACHE);
}
}
} else {
result = this.dao.getList(query, pageInfo);
this.findAfter(entity, pageInfo, context, result.getList());
}
return result;
}
//Map<Long, WindowHallEntity> windowHallEntityMap = windowHallService.find(new WindowHallQuery(), context).parallelStream().collect(Collectors.toMap(x -> x.getWindowId(), Function.identity()));
@Override
protected void findAfter(WindowBusinessEntity entity, PageInfo pageInfo, Context context, List<WindowBusinessEntity> list) throws AppException {
// Map<Long, WindowEntity> collect = windowService.getCacheList().stream().collect(Collectors.toMap(x -> x.getId(), y -> y, (o, n) -> n));
//Map<Long, WindowEntity> collect = windowService.findToMap(new WindowQuery(), context);
Map<Long, WindowHallEntity> windowHallEntityMap = windowHallService.getCacheList().stream().collect(Collectors.toMap(x -> x.getWindowId(), y -> y, (o, n) -> n));
// Map<Long, WindowHallEntity> windowHallEntityMap = windowHallService.find(new WindowHallQuery(), context).parallelStream().collect(Collectors.toMap(x -> x.getWindowId(), Function.identity()));
Iterator iterator = list.iterator();
while (iterator.hasNext()) {
WindowBusinessEntity item = (WindowBusinessEntity) iterator.next();
WindowEntity windowEntity = collect.get(item.getWindowId());
//WindowEntity windowEntity = collect.get(item.getWindowId());
WindowEntity windowEntity = windowService.getCache(item.getWindowId().toString());
if (!ObjectUtils.isEmpty(item.getWindowId()) && !ObjectUtils.isEmpty(windowEntity)) {
item.setDeptId(windowEntity.getDeptId());
item.setDeptName(windowEntity.getDeptName());
......@@ -88,37 +168,37 @@ public class WindowBusinessServiceImpl extends AbstractCRUDServiceImpl<WindowBus
*/
@Override
protected void removeBefore(Long[] ids, Context context) throws AppException {
Arrays.asList(ids).forEach(id -> {
/* Arrays.asList(ids).forEach(id -> {
WindowBusinessEntity windowBusinessEntity = this.get(id, context);
pushChangeMsg(windowBusinessEntity);
});
});*/
super.removeBefore(ids, context);
}
/**
/* *//**
* @param entity
* @param context
* @throws AppException
*/
*//*
@Override
protected void saveAfter(WindowBusinessEntity entity, Context context) throws AppException {
//通知php更新
pushChangeMsg(entity);
super.saveAfter(entity, context);
}
}*/
/**
/* *//**
* @param entity
* @param context
* @throws AppException
*/
*//*
@Override
protected void updateAfter(WindowBusinessEntity entity, Context context) throws AppException {
pushChangeMsg(entity);
super.updateAfter(entity, context);
}
}*/
private void pushChangeMsg(WindowBusinessEntity entity) {
String phpUrl = GlobalSysInfo.getParamValue(PARAM_SERVER_PHP_HTTP_URL, "http://172.15.28.116:8090");
......
......@@ -10,6 +10,7 @@ import com.mortals.framework.model.PageInfo;
import com.mortals.framework.model.Result;
import com.mortals.framework.service.impl.AbstractCRUDCacheServiceImpl;
import com.mortals.framework.util.HttpUtil;
import com.mortals.framework.util.ThreadPool;
import com.mortals.xhx.common.utils.BeanUtil;
import com.mortals.xhx.module.business.model.BusinessEntity;
import com.mortals.xhx.module.business.model.BusinessQuery;
......@@ -132,7 +133,24 @@ public class WindowServiceImpl extends AbstractCRUDCacheServiceImpl<WindowDao, W
}
return windowBusinessEntity;
}).filter(f -> f != null).collect(Collectors.toList());
if (!ObjectUtils.isEmpty(windowBusinessEntities)) {
windowBusinessService.save(windowBusinessEntities, context);
WindowBusinessQuery condition = new WindowBusinessQuery();
condition.setWindowId(windowId);
condition.setSiteBusinessIdList(windowBusinessEntities.stream().map(i -> i.getSiteBusinessId()).collect(Collectors.toList()));
Runnable runnable = new Runnable() {
@Override
public void run() {
pushChangeMsg(condition);
}
};
ThreadPool.getInstance().execute(runnable);
}
//批量推送
}
/**
......@@ -220,25 +238,6 @@ public class WindowServiceImpl extends AbstractCRUDCacheServiceImpl<WindowDao, W
pushChangeMsg(entity.getId());
}
private void pushChangeMsg(Long windowId) {
String phpUrl = GlobalSysInfo.getParamValue(PARAM_SERVER_PHP_HTTP_URL, "http://172.15.28.116:8090");
phpUrl += "/api/window/winNameChange";
HashMap<String, Object> paramsMap = new HashMap<>();
paramsMap.put("windowid", windowId);
paramsMap.put("typeinfo", 1);
phpUrl += "/api/window/winNameChange";
String resp = null;
try {
Map<String, String> header = new HashMap<>();
header.put(HEADER_CONTENT_TYPE, "application/json");
log.info("\n thirdPartyUrl=>{} \n reqbody=>{} ", phpUrl, JSON.toJSONString(paramsMap));
resp = HttpUtil.doPost(phpUrl, header, JSON.toJSONString(paramsMap, SerializerFeature.WriteMapNullValue));
log.info("thirdPartyUrl =>resp:{}", resp);
} catch (Exception e) {
log.error("异常:", e);
}
}
/**
......@@ -272,4 +271,46 @@ public class WindowServiceImpl extends AbstractCRUDCacheServiceImpl<WindowDao, W
}
return successMsg.toString();
}
private void pushChangeMsg(Long windowId) {
String phpUrl = GlobalSysInfo.getParamValue(PARAM_SERVER_PHP_HTTP_URL, "http://127.0.0.1:11078/zwfw_api");
phpUrl += "/api/window/winNameChange";
HashMap<String, Object> paramsMap = new HashMap<>();
paramsMap.put("windowid", windowId);
paramsMap.put("typeinfo", 1);
phpUrl += "/api/window/winNameChange";
String resp = null;
try {
Map<String, String> header = new HashMap<>();
header.put(HEADER_CONTENT_TYPE, "application/json");
log.info("\n thirdPartyUrl=>{} \n reqbody=>{} ", phpUrl, JSON.toJSONString(paramsMap));
resp = HttpUtil.doPost(phpUrl, header, JSON.toJSONString(paramsMap, SerializerFeature.WriteMapNullValue));
log.info("thirdPartyUrl =>resp:{}", resp);
} catch (Exception e) {
log.error("异常:", e);
}
}
private void pushChangeMsg(WindowBusinessQuery entity) {
String phpUrl = GlobalSysInfo.getParamValue(PARAM_SERVER_PHP_HTTP_URL, "http://127.0.0.1:11078/zwfw_api");
phpUrl += "/api/window/winNameChange";
HashMap<String, Object> paramsMap = new HashMap<>();
paramsMap.put("windowid", entity.getWindowId());
paramsMap.put("bussinessid", entity.getSiteBusinessIdList().stream().map(String::valueOf).collect(Collectors.joining(",")));
paramsMap.put("typeinfo", 2);
String resp = null;
try {
Map<String, String> header = new HashMap<>();
header.put(HEADER_CONTENT_TYPE, "application/json");
log.info("\n thirdPartyUrl=>{} \n reqbody=>{} ", phpUrl, JSON.toJSONString(paramsMap));
resp = HttpUtil.doPost(phpUrl, header, JSON.toJSONString(paramsMap, SerializerFeature.WriteMapNullValue));
log.info("thirdPartyUrl =>resp:{}", resp);
} catch (Exception e) {
log.error("异常:", e);
}
}
}
\ No newline at end of file
......@@ -3,6 +3,8 @@ package com.mortals.xhx.module.window.web;
import com.alibaba.fastjson.JSONObject;
import com.mortals.framework.annotation.UnAuth;
import com.mortals.framework.common.Rest;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.framework.util.DataUtil;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.framework.web.BasePhpCRUDJsonMappingController;
......@@ -32,7 +34,6 @@ public class WindowBusinessController extends BaseCRUDJsonBodyMappingController<
private ParamService paramService;
public WindowBusinessController() {
super.setFormClass(WindowBusinessForm.class);
super.setModuleDesc("窗口业务");
}
......
package com.mortals.xhx.module.window.web;
import com.mortals.framework.web.BaseCRUDFormLong;
import com.mortals.xhx.module.window.model.WindowBusinessEntity;
import com.mortals.xhx.module.window.model.WindowBusinessQuery;
/**
* WindowBusiness
*
* 窗口业务 Form
*
* @author zxfei
* @date 2022-01-12
*/
public class WindowBusinessForm extends BaseCRUDFormLong<WindowBusinessEntity> {
private WindowBusinessEntity entity = new WindowBusinessEntity();
private WindowBusinessQuery query = new WindowBusinessQuery();
public WindowBusinessForm(){
}
@Override
public WindowBusinessEntity getEntity() {
return entity;
}
public void setWindowBusiness(WindowBusinessEntity entity) {
this.entity = entity;
}
@Override
public WindowBusinessQuery getQuery() {
return query;
}
public void setQuery(WindowBusinessQuery query) {
this.query = query;
}
}
\ No newline at end of file
......@@ -57,7 +57,6 @@ public class WindowController extends BaseCRUDJsonBodyMappingController<WindowSe
public WindowController() {
super.setFormClass(WindowForm.class);
super.setModuleDesc("站点部门窗口");
}
......
package com.mortals.xhx.module.window.web;
import com.mortals.framework.web.BaseCRUDFormLong;
import com.mortals.xhx.module.window.model.WindowEntity;
import com.mortals.xhx.module.window.model.WindowQuery;
/**
* Window
*
* 站点部门窗口 Form
*
* @author zxfei
* @date 2022-01-12
*/
public class WindowForm extends BaseCRUDFormLong<WindowEntity> {
private WindowEntity entity = new WindowEntity();
private WindowQuery query = new WindowQuery();
public WindowForm(){
}
@Override
public WindowEntity getEntity() {
return entity;
}
public void setWindow(WindowEntity entity) {
this.entity = entity;
}
@Override
public WindowQuery getQuery() {
return query;
}
public void setQuery(WindowQuery query) {
this.query = query;
}
}
\ No newline at end of file
......@@ -43,7 +43,6 @@ public class WindowMatterController extends BaseCRUDJsonBodyMappingController<Wi
private ParamService paramService;
public WindowMatterController() {
super.setFormClass(WindowMatterForm.class);
super.setModuleDesc("窗口事项");
}
......
package com.mortals.xhx.module.window.web;
import com.mortals.framework.web.BaseCRUDFormLong;
import com.mortals.xhx.module.window.model.WindowMatterEntity;
import com.mortals.xhx.module.window.model.WindowMatterQuery;
/**
* WindowMatter
*
* 窗口事项 Form
*
* @author zxfei
* @date 2022-01-12
*/
public class WindowMatterForm extends BaseCRUDFormLong<WindowMatterEntity> {
private WindowMatterEntity entity = new WindowMatterEntity();
private WindowMatterQuery query = new WindowMatterQuery();
public WindowMatterForm(){
}
@Override
public WindowMatterEntity getEntity() {
return entity;
}
public void setWindowMatter(WindowMatterEntity entity) {
this.entity = entity;
}
@Override
public WindowMatterQuery getQuery() {
return query;
}
public void setQuery(WindowMatterQuery query) {
this.query = query;
}
}
\ No newline at end of file
......@@ -11,6 +11,7 @@ import com.mortals.framework.util.StringUtils;
import com.mortals.xhx.base.system.upload.service.UploadService;
import com.mortals.xhx.base.system.user.service.UserService;
import com.mortals.xhx.common.utils.ZipUtils;
import com.mortals.xhx.module.area.model.AreaEntity;
import com.mortals.xhx.module.workman.dao.WorkmanDao;
import com.mortals.xhx.module.workman.model.WorkmanEntity;
import com.mortals.xhx.module.workman.model.WorkmanQuery;
......@@ -49,6 +50,11 @@ public class WorkmanServiceImpl extends AbstractCRUDCacheServiceImpl<WorkmanDao,
@Autowired
private WorkmanService workmanService;
@Override
protected String getExtKey(WorkmanEntity data) {
return data.getLoginName();
}
@Override
protected void saveBefore(WorkmanEntity entity, Context context) throws AppException {
......@@ -97,7 +103,11 @@ public class WorkmanServiceImpl extends AbstractCRUDCacheServiceImpl<WorkmanDao,
@Override
public WorkmanEntity doLogin(String loginName, String password, String loginIp) throws AppException {
WorkmanEntity workmanEntity = this.selectOne(new WorkmanQuery().loginName(loginName));
WorkmanEntity workmanEntity = this.getExtCache(loginName);
if(ObjectUtils.isEmpty(workmanEntity)){
workmanEntity = this.selectOne(new WorkmanQuery().loginName(loginName));
}
if (workmanEntity == null || !workmanEntity.getLoginName().equals(loginName)) {
throw new AppException("用户名不存在!");
}
......
......@@ -3,7 +3,7 @@ spring:
allow-bean-definition-overriding: true
application:
log:
level: @profiles.log.level@
level: info
path: @profiles.log.path@
......
......@@ -37,6 +37,7 @@ spring:
group: ${spring.cloud.nacos.discovery.group}
namespace: ${spring.cloud.nacos.discovery.namespace} # Nacos 命名空间 dev 的编号
file-extension: yaml
druid:
mysql:
usePingMethod: false
......@@ -51,4 +52,19 @@ application:
unloginUrl: /refresh,/error,/login/login,/login/index,/login/logout,/securitycode/createCode,/file/common/*,/test*,/padsign/*,/terminal/*,/resource/list,/api/asset/*,/api/*,/flow/*,/uploads/*,/project/file/*,/file/*,/assessment/*
uncheckUrl: /refresh,/error,/login/login,/login/index,/login/logout,/securitycode/createCode,/file/common/*,/test*,/padsign/*,/terminal/*,/resource/list,/api/asset/*,/api/*,/flow/*,/uploads/*,/project/file/*,/file/*,/assessment/*
holidayUrl: @profiles.holidayUrl@
management:
security:
enabled: false
#prometheus+grafana+springboot2监控集成配置
metrics:
export:
prometheus:
enabled: true
jmx:
enabled: true
endpoints:
web:
exposure:
include: '*'
base-path: /metrics
......@@ -27,6 +27,8 @@
<result property="isList" column="isList" />
<result property="fieldOrderNo" column="fieldOrderNo" />
<result property="remark" column="remark" />
<result property="serviceApi" column="serviceApi" />
<result property="serviceApiParams" column="serviceApiParams" />
<result property="createTime" column="createTime" />
<result property="createUserId" column="createUserId" />
<result property="updateTime" column="updateTime" />
......@@ -57,7 +59,7 @@
<!-- 子表所有列 -->
<sql id="_columns_sub">
<trim suffixOverrides="," suffix="">
b.id,b.datasetId,b.fieldCode,b.fieldName,b.fieldType,b.fieldTypeValue,b.dataType,b.fieldValue,b.defaultValue,b.fieldLen,b.fieldNull,b.isList,b.fieldOrderNo,b.remark,b.createTime,b.createUserId,b.updateTime,b.updateUserId,
b.id,b.datasetId,b.fieldCode,b.fieldName,b.fieldType,b.fieldTypeValue,b.dataType,b.fieldValue,b.defaultValue,b.fieldLen,b.fieldNull,b.isList,b.fieldOrderNo,b.remark,b.createTime,b.createUserId,b.updateTime,b.updateUserId,b.serviceApi,b.serviceApiParams,
</trim>
</sql>
<!-- 新增 区分主键自增加还是业务插入 -->
......
......@@ -10,17 +10,21 @@
<result property="siteName" column="siteName" />
<result property="matterId" column="matterId" />
<result property="matterName" column="matterName" />
<result property="matterCode" column="matterCode" />
<result property="createTime" column="createTime" />
<result property="createUserId" column="createUserId" />
<result property="updateTime" column="updateTime" />
<result property="deptId" column="deptId" />
<result property="deptName" column="deptName" />
<result property="matterCode" column="matterCode" />
<result property="eventTypeShow" column="eventTypeShow" />
<result property="source" column="source" />
<result property="deptCode" column="deptCode" />
<result property="createTime" column="createTime" />
<result property="createUserId" column="createUserId" />
<result property="updateTime" column="updateTime" />
<result property="hot" column="hot" />
<result property="display" column="display" />
<result property="deptCode" column="deptCode" />
<result property="agent" column="agent" />
<result property="agentName" column="agentName" />
<result property="agentPhone" column="agentPhone" />
<result property="agentPost" column="agentPost" />
</resultMap>
......@@ -43,8 +47,14 @@
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('matterName') or colPickMode == 1 and data.containsKey('matterName')))">
a.matterName,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('matterCode') or colPickMode == 1 and data.containsKey('matterCode')))">
a.matterCode,
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
a.createTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createUserId') or colPickMode == 1 and data.containsKey('createUserId')))">
a.createUserId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateTime') or colPickMode == 1 and data.containsKey('updateTime')))">
a.updateTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('deptId') or colPickMode == 1 and data.containsKey('deptId')))">
a.deptId,
......@@ -52,47 +62,53 @@
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('deptName') or colPickMode == 1 and data.containsKey('deptName')))">
a.deptName,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('matterCode') or colPickMode == 1 and data.containsKey('matterCode')))">
a.matterCode,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('eventTypeShow') or colPickMode == 1 and data.containsKey('eventTypeShow')))">
a.eventTypeShow,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('source') or colPickMode == 1 and data.containsKey('source')))">
a.source,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('hot') or colPickMode == 1 and data.containsKey('hot')))">
a.hot,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('display') or colPickMode == 1 and data.containsKey('display')))">
a.display,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('deptCode') or colPickMode == 1 and data.containsKey('deptCode')))">
a.deptCode,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
a.createTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createUserId') or colPickMode == 1 and data.containsKey('createUserId')))">
a.createUserId,
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('agent') or colPickMode == 1 and data.containsKey('agent')))">
a.agent,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateTime') or colPickMode == 1 and data.containsKey('updateTime')))">
a.updateTime,
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('agentName') or colPickMode == 1 and data.containsKey('agentName')))">
a.agentName,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('hot') or colPickMode == 1 and data.containsKey('hot')))">
a.hot,
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('agentPhone') or colPickMode == 1 and data.containsKey('agentPhone')))">
a.agentPhone,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('display') or colPickMode == 1 and data.containsKey('display')))">
a.display,
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('agentPost') or colPickMode == 1 and data.containsKey('agentPost')))">
a.agentPost,
</if>
</trim>
</sql>
<!-- 新增 区分主键自增加还是业务插入 -->
<insert id="insert" parameterType="SiteMatterEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_sys_site_matter
(siteId,siteName,matterId,matterName,matterCode,deptId,deptName,eventTypeShow,source,deptCode,createTime,createUserId,updateTime,hot,display)
(siteId,siteName,matterId,matterName,createTime,createUserId,updateTime,deptId,deptName,matterCode,eventTypeShow,source,hot,display,deptCode,agent,agentName,agentPhone,agentPost)
VALUES
(#{siteId},#{siteName},#{matterId},#{matterName},#{matterCode},#{deptId},#{deptName},#{eventTypeShow},#{source},#{deptCode},#{createTime},#{createUserId},#{updateTime},#{hot},#{display})
(#{siteId},#{siteName},#{matterId},#{matterName},#{createTime},#{createUserId},#{updateTime},#{deptId},#{deptName},#{matterCode},#{eventTypeShow},#{source},#{hot},#{display},#{deptCode},#{agent},#{agentName},#{agentPhone},#{agentPost})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into mortals_sys_site_matter
(siteId,siteName,matterId,matterName,matterCode,deptId,deptName,eventTypeShow,source,deptCode,createTime,createUserId,updateTime,hot,display)
(siteId,siteName,matterId,matterName,createTime,createUserId,updateTime,deptId,deptName,matterCode,eventTypeShow,source,hot,display,deptCode,agent,agentName,agentPhone,agentPost)
VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.siteId},#{item.siteName},#{item.matterId},#{item.matterName},#{item.matterCode},#{item.deptId},#{item.deptName},#{item.eventTypeShow},#{item.source},#{item.deptCode},#{item.createTime},#{item.createUserId},#{item.updateTime},#{item.hot},#{item.display})
(#{item.siteId},#{item.siteName},#{item.matterId},#{item.matterName},#{item.createTime},#{item.createUserId},#{item.updateTime},#{item.deptId},#{item.deptName},#{item.matterCode},#{item.eventTypeShow},#{item.source},#{item.hot},#{item.display},#{item.deptCode},#{item.agent},#{item.agentName},#{item.agentPhone},#{item.agentPost})
</foreach>
</insert>
......@@ -120,8 +136,17 @@
<if test="(colPickMode==0 and data.containsKey('matterName')) or (colPickMode==1 and !data.containsKey('matterName'))">
a.matterName=#{data.matterName},
</if>
<if test="(colPickMode==0 and data.containsKey('matterCode')) or (colPickMode==1 and !data.containsKey('matterCode'))">
a.matterCode=#{data.matterCode},
<if test="(colPickMode==0 and data.containsKey('createTime')) or (colPickMode==1 and !data.containsKey('createTime'))">
a.createTime=#{data.createTime},
</if>
<if test="(colPickMode==0 and data.containsKey('createUserId')) or (colPickMode==1 and !data.containsKey('createUserId'))">
a.createUserId=#{data.createUserId},
</if>
<if test="(colPickMode==0 and data.containsKey('createUserIdIncrement')) or (colPickMode==1 and !data.containsKey('createUserIdIncrement'))">
a.createUserId=ifnull(a.createUserId,0) + #{data.createUserIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('updateTime')) or (colPickMode==1 and !data.containsKey('updateTime'))">
a.updateTime=#{data.updateTime},
</if>
<if test="(colPickMode==0 and data.containsKey('deptId')) or (colPickMode==1 and !data.containsKey('deptId'))">
a.deptId=#{data.deptId},
......@@ -132,6 +157,9 @@
<if test="(colPickMode==0 and data.containsKey('deptName')) or (colPickMode==1 and !data.containsKey('deptName'))">
a.deptName=#{data.deptName},
</if>
<if test="(colPickMode==0 and data.containsKey('matterCode')) or (colPickMode==1 and !data.containsKey('matterCode'))">
a.matterCode=#{data.matterCode},
</if>
<if test="(colPickMode==0 and data.containsKey('eventTypeShow')) or (colPickMode==1 and !data.containsKey('eventTypeShow'))">
a.eventTypeShow=#{data.eventTypeShow},
</if>
......@@ -141,21 +169,6 @@
<if test="(colPickMode==0 and data.containsKey('sourceIncrement')) or (colPickMode==1 and !data.containsKey('sourceIncrement'))">
a.source=ifnull(a.source,0) + #{data.sourceIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('deptCode')) or (colPickMode==1 and !data.containsKey('deptCode'))">
a.deptCode=#{data.deptCode},
</if>
<if test="(colPickMode==0 and data.containsKey('createTime')) or (colPickMode==1 and !data.containsKey('createTime'))">
a.createTime=#{data.createTime},
</if>
<if test="(colPickMode==0 and data.containsKey('createUserId')) or (colPickMode==1 and !data.containsKey('createUserId'))">
a.createUserId=#{data.createUserId},
</if>
<if test="(colPickMode==0 and data.containsKey('createUserIdIncrement')) or (colPickMode==1 and !data.containsKey('createUserIdIncrement'))">
a.createUserId=ifnull(a.createUserId,0) + #{data.createUserIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('updateTime')) or (colPickMode==1 and !data.containsKey('updateTime'))">
a.updateTime=#{data.updateTime},
</if>
<if test="(colPickMode==0 and data.containsKey('hot')) or (colPickMode==1 and !data.containsKey('hot'))">
a.hot=#{data.hot},
</if>
......@@ -168,6 +181,24 @@
<if test="(colPickMode==0 and data.containsKey('displayIncrement')) or (colPickMode==1 and !data.containsKey('displayIncrement'))">
a.display=ifnull(a.display,0) + #{data.displayIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('deptCode')) or (colPickMode==1 and !data.containsKey('deptCode'))">
a.deptCode=#{data.deptCode},
</if>
<if test="(colPickMode==0 and data.containsKey('agent')) or (colPickMode==1 and !data.containsKey('agent'))">
a.agent=#{data.agent},
</if>
<if test="(colPickMode==0 and data.containsKey('agentIncrement')) or (colPickMode==1 and !data.containsKey('agentIncrement'))">
a.agent=ifnull(a.agent,0) + #{data.agentIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('agentName')) or (colPickMode==1 and !data.containsKey('agentName'))">
a.agentName=#{data.agentName},
</if>
<if test="(colPickMode==0 and data.containsKey('agentPhone')) or (colPickMode==1 and !data.containsKey('agentPhone'))">
a.agentPhone=#{data.agentPhone},
</if>
<if test="(colPickMode==0 and data.containsKey('agentPost')) or (colPickMode==1 and !data.containsKey('agentPost'))">
a.agentPost=#{data.agentPost},
</if>
</trim>
<trim suffixOverrides="where" suffix="">
where
......@@ -218,10 +249,29 @@
</if>
</foreach>
</trim>
<trim prefix="matterCode=(case" suffix="ELSE matterCode end),">
<trim prefix="createTime=(case" suffix="ELSE createTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('matterCode')) or (colPickMode==1 and !item.containsKey('matterCode'))">
when a.id=#{item.id} then #{item.matterCode}
<if test="(colPickMode==0 and item.containsKey('createTime')) or (colPickMode==1 and !item.containsKey('createTime'))">
when a.id=#{item.id} then #{item.createTime}
</if>
</foreach>
</trim>
<trim prefix="createUserId=(case" suffix="ELSE createUserId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('createUserId')) or (colPickMode==1 and !item.containsKey('createUserId'))">
when a.id=#{item.id} then #{item.createUserId}
</when>
<when test="(colPickMode==0 and item.containsKey('createUserIdIncrement')) or (colPickMode==1 and !item.containsKey('createUserIdIncrement'))">
when a.id=#{item.id} then ifnull(a.createUserId,0) + #{item.createUserIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="updateTime=(case" suffix="ELSE updateTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('updateTime')) or (colPickMode==1 and !item.containsKey('updateTime'))">
when a.id=#{item.id} then #{item.updateTime}
</if>
</foreach>
</trim>
......@@ -244,6 +294,13 @@
</if>
</foreach>
</trim>
<trim prefix="matterCode=(case" suffix="ELSE matterCode end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('matterCode')) or (colPickMode==1 and !item.containsKey('matterCode'))">
when a.id=#{item.id} then #{item.matterCode}
</if>
</foreach>
</trim>
<trim prefix="eventTypeShow=(case" suffix="ELSE eventTypeShow end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('eventTypeShow')) or (colPickMode==1 and !item.containsKey('eventTypeShow'))">
......@@ -263,39 +320,6 @@
</choose>
</foreach>
</trim>
<trim prefix="deptCode=(case" suffix="ELSE deptCode end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('deptCode')) or (colPickMode==1 and !item.containsKey('deptCode'))">
when a.id=#{item.id} then #{item.deptCode}
</if>
</foreach>
</trim>
<trim prefix="createTime=(case" suffix="ELSE createTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('createTime')) or (colPickMode==1 and !item.containsKey('createTime'))">
when a.id=#{item.id} then #{item.createTime}
</if>
</foreach>
</trim>
<trim prefix="createUserId=(case" suffix="ELSE createUserId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('createUserId')) or (colPickMode==1 and !item.containsKey('createUserId'))">
when a.id=#{item.id} then #{item.createUserId}
</when>
<when test="(colPickMode==0 and item.containsKey('createUserIdIncrement')) or (colPickMode==1 and !item.containsKey('createUserIdIncrement'))">
when a.id=#{item.id} then ifnull(a.createUserId,0) + #{item.createUserIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="updateTime=(case" suffix="ELSE updateTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('updateTime')) or (colPickMode==1 and !item.containsKey('updateTime'))">
when a.id=#{item.id} then #{item.updateTime}
</if>
</foreach>
</trim>
<trim prefix="hot=(case" suffix="ELSE hot end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
......@@ -320,6 +344,46 @@
</choose>
</foreach>
</trim>
<trim prefix="deptCode=(case" suffix="ELSE deptCode end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('deptCode')) or (colPickMode==1 and !item.containsKey('deptCode'))">
when a.id=#{item.id} then #{item.deptCode}
</if>
</foreach>
</trim>
<trim prefix="agent=(case" suffix="ELSE agent end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('agent')) or (colPickMode==1 and !item.containsKey('agent'))">
when a.id=#{item.id} then #{item.agent}
</when>
<when test="(colPickMode==0 and item.containsKey('agentIncrement')) or (colPickMode==1 and !item.containsKey('agentIncrement'))">
when a.id=#{item.id} then ifnull(a.agent,0) + #{item.agentIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="agentName=(case" suffix="ELSE agentName end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('agentName')) or (colPickMode==1 and !item.containsKey('agentName'))">
when a.id=#{item.id} then #{item.agentName}
</if>
</foreach>
</trim>
<trim prefix="agentPhone=(case" suffix="ELSE agentPhone end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('agentPhone')) or (colPickMode==1 and !item.containsKey('agentPhone'))">
when a.id=#{item.id} then #{item.agentPhone}
</if>
</foreach>
</trim>
<trim prefix="agentPost=(case" suffix="ELSE agentPost end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('agentPost')) or (colPickMode==1 and !item.containsKey('agentPost'))">
when a.id=#{item.id} then #{item.agentPost}
</if>
</foreach>
</trim>
</trim>
where id in
<foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")">
......@@ -560,26 +624,62 @@
</foreach>
</if>
<if test="conditionParamRef.containsKey('matterCode')">
<if test="conditionParamRef.matterCode != null and conditionParamRef.matterCode != ''">
${_conditionType_} a.matterCode like #{${_conditionParam_}.matterCode}
<if test="conditionParamRef.containsKey('createTime')">
<if test="conditionParamRef.createTime != null ">
${_conditionType_} a.createTime = #{${_conditionParam_}.createTime}
</if>
<if test="conditionParamRef.matterCode == null">
${_conditionType_} a.matterCode is null
<if test="conditionParamRef.createTime == null">
${_conditionType_} a.createTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('matterCodeList') and conditionParamRef.matterCodeList.size() > 0">
${_conditionType_} a.matterCode in
<foreach collection="conditionParamRef.matterCodeList" open="(" close=")" index="index" item="item" separator=",">
<if test="conditionParamRef.containsKey('createTimeStart') and conditionParamRef.createTimeStart != null and conditionParamRef.createTimeStart!=''">
${_conditionType_} a.createTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('createTimeEnd') and conditionParamRef.createTimeEnd != null and conditionParamRef.createTimeEnd!=''">
${_conditionType_} a.createTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('createUserId')">
<if test="conditionParamRef.createUserId != null ">
${_conditionType_} a.createUserId = #{${_conditionParam_}.createUserId}
</if>
<if test="conditionParamRef.createUserId == null">
${_conditionType_} a.createUserId is null
</if>
</if>
<if test="conditionParamRef.containsKey('createUserIdList') and conditionParamRef.createUserIdList.size() > 0">
${_conditionType_} a.createUserId in
<foreach collection="conditionParamRef.createUserIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('matterCodeNotList') and conditionParamRef.matterCodeNotList.size() > 0">
${_conditionType_} a.matterCode not in
<foreach collection="conditionParamRef.matterCodeNotList" open="(" close=")" index="index" item="item" separator=",">
<if test="conditionParamRef.containsKey('createUserIdNotList') and conditionParamRef.createUserIdNotList.size() > 0">
${_conditionType_} a.createUserId not in
<foreach collection="conditionParamRef.createUserIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('createUserIdStart') and conditionParamRef.createUserIdStart != null">
${_conditionType_} a.createUserId <![CDATA[ >= ]]> #{${_conditionParam_}.createUserIdStart}
</if>
<if test="conditionParamRef.containsKey('createUserIdEnd') and conditionParamRef.createUserIdEnd != null">
${_conditionType_} a.createUserId <![CDATA[ <= ]]> #{${_conditionParam_}.createUserIdEnd}
</if>
<if test="conditionParamRef.containsKey('updateTime')">
<if test="conditionParamRef.updateTime != null ">
${_conditionType_} a.updateTime = #{${_conditionParam_}.updateTime}
</if>
<if test="conditionParamRef.updateTime == null">
${_conditionType_} a.updateTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('updateTimeStart') and conditionParamRef.updateTimeStart != null and conditionParamRef.updateTimeStart!=''">
${_conditionType_} a.updateTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('updateTimeEnd') and conditionParamRef.updateTimeEnd != null and conditionParamRef.updateTimeEnd!=''">
${_conditionType_} a.updateTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('deptId')">
<if test="conditionParamRef.deptId != null ">
${_conditionType_} a.deptId = #{${_conditionParam_}.deptId}
......@@ -629,6 +729,27 @@
</foreach>
</if>
<if test="conditionParamRef.containsKey('matterCode')">
<if test="conditionParamRef.matterCode != null and conditionParamRef.matterCode != ''">
${_conditionType_} a.matterCode like #{${_conditionParam_}.matterCode}
</if>
<if test="conditionParamRef.matterCode == null">
${_conditionType_} a.matterCode is null
</if>
</if>
<if test="conditionParamRef.containsKey('matterCodeList') and conditionParamRef.matterCodeList.size() > 0">
${_conditionType_} a.matterCode in
<foreach collection="conditionParamRef.matterCodeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('matterCodeNotList') and conditionParamRef.matterCodeNotList.size() > 0">
${_conditionType_} a.matterCode not in
<foreach collection="conditionParamRef.matterCodeNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('eventTypeShow')">
<if test="conditionParamRef.eventTypeShow != null and conditionParamRef.eventTypeShow != ''">
${_conditionType_} a.eventTypeShow like #{${_conditionParam_}.eventTypeShow}
......@@ -676,10 +797,64 @@
${_conditionType_} a.source <![CDATA[ <= ]]> #{${_conditionParam_}.sourceEnd}
</if>
<if test="conditionParamRef.containsKey('deptCode')">
<if test="conditionParamRef.deptCode != null and conditionParamRef.deptCode != ''">
${_conditionType_} a.deptCode like #{${_conditionParam_}.deptCode}
<if test="conditionParamRef.containsKey('hot')">
<if test="conditionParamRef.hot != null ">
${_conditionType_} a.hot = #{${_conditionParam_}.hot}
</if>
<if test="conditionParamRef.hot == null">
${_conditionType_} a.hot is null
</if>
</if>
<if test="conditionParamRef.containsKey('hotList') and conditionParamRef.hotList.size() > 0">
${_conditionType_} a.hot in
<foreach collection="conditionParamRef.hotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('hotNotList') and conditionParamRef.hotNotList.size() > 0">
${_conditionType_} a.hot not in
<foreach collection="conditionParamRef.hotNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('hotStart') and conditionParamRef.hotStart != null">
${_conditionType_} a.hot <![CDATA[ >= ]]> #{${_conditionParam_}.hotStart}
</if>
<if test="conditionParamRef.containsKey('hotEnd') and conditionParamRef.hotEnd != null">
${_conditionType_} a.hot <![CDATA[ <= ]]> #{${_conditionParam_}.hotEnd}
</if>
<if test="conditionParamRef.containsKey('display')">
<if test="conditionParamRef.display != null ">
${_conditionType_} a.display = #{${_conditionParam_}.display}
</if>
<if test="conditionParamRef.display == null">
${_conditionType_} a.display is null
</if>
</if>
<if test="conditionParamRef.containsKey('displayList') and conditionParamRef.displayList.size() > 0">
${_conditionType_} a.display in
<foreach collection="conditionParamRef.displayList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('displayNotList') and conditionParamRef.displayNotList.size() > 0">
${_conditionType_} a.display not in
<foreach collection="conditionParamRef.displayNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('displayStart') and conditionParamRef.displayStart != null">
${_conditionType_} a.display <![CDATA[ >= ]]> #{${_conditionParam_}.displayStart}
</if>
<if test="conditionParamRef.containsKey('displayEnd') and conditionParamRef.displayEnd != null">
${_conditionType_} a.display <![CDATA[ <= ]]> #{${_conditionParam_}.displayEnd}
</if>
<if test="conditionParamRef.containsKey('deptCode')">
<if test="conditionParamRef.deptCode != null and conditionParamRef.deptCode != ''">
${_conditionType_} a.deptCode like #{${_conditionParam_}.deptCode}
</if>
<if test="conditionParamRef.deptCode == null">
${_conditionType_} a.deptCode is null
......@@ -697,129 +872,234 @@
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('createTime')">
<if test="conditionParamRef.createTime != null ">
${_conditionType_} a.createTime = #{${_conditionParam_}.createTime}
<if test="conditionParamRef.containsKey('agent')">
<if test="conditionParamRef.agent != null ">
${_conditionType_} a.agent = #{${_conditionParam_}.agent}
</if>
<if test="conditionParamRef.createTime == null">
${_conditionType_} a.createTime is null
<if test="conditionParamRef.agent == null">
${_conditionType_} a.agent is null
</if>
</if>
<if test="conditionParamRef.containsKey('createTimeStart') and conditionParamRef.createTimeStart != null and conditionParamRef.createTimeStart!=''">
${_conditionType_} a.createTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
<if test="conditionParamRef.containsKey('agentList') and conditionParamRef.agentList.size() > 0">
${_conditionType_} a.agent in
<foreach collection="conditionParamRef.agentList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('createTimeEnd') and conditionParamRef.createTimeEnd != null and conditionParamRef.createTimeEnd!=''">
${_conditionType_} a.createTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
<if test="conditionParamRef.containsKey('agentNotList') and conditionParamRef.agentNotList.size() > 0">
${_conditionType_} a.agent not in
<foreach collection="conditionParamRef.agentNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('createUserId')">
<if test="conditionParamRef.createUserId != null ">
${_conditionType_} a.createUserId = #{${_conditionParam_}.createUserId}
<if test="conditionParamRef.containsKey('agentStart') and conditionParamRef.agentStart != null">
${_conditionType_} a.agent <![CDATA[ >= ]]> #{${_conditionParam_}.agentStart}
</if>
<if test="conditionParamRef.createUserId == null">
${_conditionType_} a.createUserId is null
<if test="conditionParamRef.containsKey('agentEnd') and conditionParamRef.agentEnd != null">
${_conditionType_} a.agent <![CDATA[ <= ]]> #{${_conditionParam_}.agentEnd}
</if>
<if test="conditionParamRef.containsKey('agentName')">
<if test="conditionParamRef.agentName != null and conditionParamRef.agentName != ''">
${_conditionType_} a.agentName like #{${_conditionParam_}.agentName}
</if>
<if test="conditionParamRef.containsKey('createUserIdList') and conditionParamRef.createUserIdList.size() > 0">
${_conditionType_} a.createUserId in
<foreach collection="conditionParamRef.createUserIdList" open="(" close=")" index="index" item="item" separator=",">
<if test="conditionParamRef.agentName == null">
${_conditionType_} a.agentName is null
</if>
</if>
<if test="conditionParamRef.containsKey('agentNameList') and conditionParamRef.agentNameList.size() > 0">
${_conditionType_} a.agentName in
<foreach collection="conditionParamRef.agentNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('createUserIdNotList') and conditionParamRef.createUserIdNotList.size() > 0">
${_conditionType_} a.createUserId not in
<foreach collection="conditionParamRef.createUserIdNotList" open="(" close=")" index="index" item="item" separator=",">
<if test="conditionParamRef.containsKey('agentNameNotList') and conditionParamRef.agentNameNotList.size() > 0">
${_conditionType_} a.agentName not in
<foreach collection="conditionParamRef.agentNameNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('createUserIdStart') and conditionParamRef.createUserIdStart != null">
${_conditionType_} a.createUserId <![CDATA[ >= ]]> #{${_conditionParam_}.createUserIdStart}
</if>
<if test="conditionParamRef.containsKey('createUserIdEnd') and conditionParamRef.createUserIdEnd != null">
${_conditionType_} a.createUserId <![CDATA[ <= ]]> #{${_conditionParam_}.createUserIdEnd}
</if>
<if test="conditionParamRef.containsKey('updateTime')">
<if test="conditionParamRef.updateTime != null ">
${_conditionType_} a.updateTime = #{${_conditionParam_}.updateTime}
<if test="conditionParamRef.containsKey('agentPhone')">
<if test="conditionParamRef.agentPhone != null and conditionParamRef.agentPhone != ''">
${_conditionType_} a.agentPhone like #{${_conditionParam_}.agentPhone}
</if>
<if test="conditionParamRef.updateTime == null">
${_conditionType_} a.updateTime is null
<if test="conditionParamRef.agentPhone == null">
${_conditionType_} a.agentPhone is null
</if>
</if>
<if test="conditionParamRef.containsKey('updateTimeStart') and conditionParamRef.updateTimeStart != null and conditionParamRef.updateTimeStart!=''">
${_conditionType_} a.updateTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
<if test="conditionParamRef.containsKey('agentPhoneList') and conditionParamRef.agentPhoneList.size() > 0">
${_conditionType_} a.agentPhone in
<foreach collection="conditionParamRef.agentPhoneList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('updateTimeEnd') and conditionParamRef.updateTimeEnd != null and conditionParamRef.updateTimeEnd!=''">
${_conditionType_} a.updateTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
<if test="conditionParamRef.containsKey('agentPhoneNotList') and conditionParamRef.agentPhoneNotList.size() > 0">
${_conditionType_} a.agentPhone not in
<foreach collection="conditionParamRef.agentPhoneNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('hot')">
<if test="conditionParamRef.hot != null ">
${_conditionType_} a.hot = #{${_conditionParam_}.hot}
<if test="conditionParamRef.containsKey('agentPost')">
<if test="conditionParamRef.agentPost != null and conditionParamRef.agentPost != ''">
${_conditionType_} a.agentPost like #{${_conditionParam_}.agentPost}
</if>
<if test="conditionParamRef.hot == null">
${_conditionType_} a.hot is null
<if test="conditionParamRef.agentPost == null">
${_conditionType_} a.agentPost is null
</if>
</if>
<if test="conditionParamRef.containsKey('hotList') and conditionParamRef.hotList.size() > 0">
${_conditionType_} a.hot in
<foreach collection="conditionParamRef.hotList" open="(" close=")" index="index" item="item" separator=",">
<if test="conditionParamRef.containsKey('agentPostList') and conditionParamRef.agentPostList.size() > 0">
${_conditionType_} a.agentPost in
<foreach collection="conditionParamRef.agentPostList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('hotNotList') and conditionParamRef.hotNotList.size() > 0">
${_conditionType_} a.hot not in
<foreach collection="conditionParamRef.hotNotList" open="(" close=")" index="index" item="item" separator=",">
<if test="conditionParamRef.containsKey('agentPostNotList') and conditionParamRef.agentPostNotList.size() > 0">
${_conditionType_} a.agentPost not in
<foreach collection="conditionParamRef.agentPostNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('hotStart') and conditionParamRef.hotStart != null">
${_conditionType_} a.hot <![CDATA[ >= ]]> #{${_conditionParam_}.hotStart}
</sql>
<sql id="_orderCols_">
<if test="orderColList != null and !orderColList.isEmpty()">
order by
<if test="conditionParamRef.containsKey('idList') and conditionParamRef.idList.size() > 0">
field(a.id,
<foreach collection="conditionParamRef.idList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('hotEnd') and conditionParamRef.hotEnd != null">
${_conditionType_} a.hot <![CDATA[ <= ]]> #{${_conditionParam_}.hotEnd}
<if test="conditionParamRef.containsKey('siteIdList') and conditionParamRef.siteIdList.size() > 0">
field(a.siteId,
<foreach collection="conditionParamRef.siteIdList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('display')">
<if test="conditionParamRef.display != null ">
${_conditionType_} a.display = #{${_conditionParam_}.display}
<if test="conditionParamRef.containsKey('matterIdList') and conditionParamRef.matterIdList.size() > 0">
field(a.matterId,
<foreach collection="conditionParamRef.matterIdList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.display == null">
${_conditionType_} a.display is null
<if test="conditionParamRef.containsKey('createUserIdList') and conditionParamRef.createUserIdList.size() > 0">
field(a.createUserId,
<foreach collection="conditionParamRef.createUserIdList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('deptIdList') and conditionParamRef.deptIdList.size() > 0">
field(a.deptId,
<foreach collection="conditionParamRef.deptIdList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('displayList') and conditionParamRef.displayList.size() > 0">
${_conditionType_} a.display in
<foreach collection="conditionParamRef.displayList" open="(" close=")" index="index" item="item" separator=",">
<if test="conditionParamRef.containsKey('sourceList') and conditionParamRef.sourceList.size() > 0">
field(a.source,
<foreach collection="conditionParamRef.sourceList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('displayNotList') and conditionParamRef.displayNotList.size() > 0">
${_conditionType_} a.display not in
<foreach collection="conditionParamRef.displayNotList" open="(" close=")" index="index" item="item" separator=",">
<if test="conditionParamRef.containsKey('hotList') and conditionParamRef.hotList.size() > 0">
field(a.hot,
<foreach collection="conditionParamRef.hotList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('displayStart') and conditionParamRef.displayStart != null">
${_conditionType_} a.display <![CDATA[ >= ]]> #{${_conditionParam_}.displayStart}
<if test="conditionParamRef.containsKey('displayList') and conditionParamRef.displayList.size() > 0">
field(a.display,
<foreach collection="conditionParamRef.displayList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('displayEnd') and conditionParamRef.displayEnd != null">
${_conditionType_} a.display <![CDATA[ <= ]]> #{${_conditionParam_}.displayEnd}
<if test="conditionParamRef.containsKey('agentList') and conditionParamRef.agentList.size() > 0">
field(a.agent,
<foreach collection="conditionParamRef.agentList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
</sql>
<sql id="_orderCols_">
<if test="orderColList != null and !orderColList.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<foreach collection="orderColList" open="" close="" index="index" item="item" separator=",">
${item.colName} ${item.sortKind}
a.${item.colName} ${item.sortKind}
</foreach>
</trim>
</if>
<if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()">
order by
<if test="conditionParamRef.containsKey('idList') and conditionParamRef.idList.size() > 0">
field(a.id,
<foreach collection="conditionParamRef.idList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('siteIdList') and conditionParamRef.siteIdList.size() > 0">
field(a.siteId,
<foreach collection="conditionParamRef.siteIdList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('matterIdList') and conditionParamRef.matterIdList.size() > 0">
field(a.matterId,
<foreach collection="conditionParamRef.matterIdList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('createUserIdList') and conditionParamRef.createUserIdList.size() > 0">
field(a.createUserId,
<foreach collection="conditionParamRef.createUserIdList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('deptIdList') and conditionParamRef.deptIdList.size() > 0">
field(a.deptId,
<foreach collection="conditionParamRef.deptIdList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('sourceList') and conditionParamRef.sourceList.size() > 0">
field(a.source,
<foreach collection="conditionParamRef.sourceList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('hotList') and conditionParamRef.hotList.size() > 0">
field(a.hot,
<foreach collection="conditionParamRef.hotList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('displayList') and conditionParamRef.displayList.size() > 0">
field(a.display,
<foreach collection="conditionParamRef.displayList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('agentList') and conditionParamRef.agentList.size() > 0">
field(a.agent,
<foreach collection="conditionParamRef.agentList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<trim suffixOverrides="," suffix="">
<if test="orderCol.containsKey('id')">
a.id
......@@ -846,9 +1126,19 @@
<if test='orderCol.matterName != null and "DESC".equalsIgnoreCase(orderCol.matterName)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('matterCode')">
a.matterCode
<if test='orderCol.matterCode != null and "DESC".equalsIgnoreCase(orderCol.matterCode)'>DESC</if>
<if test="orderCol.containsKey('createTime')">
a.createTime
<if test='orderCol.createTime != null and "DESC".equalsIgnoreCase(orderCol.createTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('createUserId')">
a.createUserId
<if test='orderCol.createUserId != null and "DESC".equalsIgnoreCase(orderCol.createUserId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('updateTime')">
a.updateTime
<if test='orderCol.updateTime != null and "DESC".equalsIgnoreCase(orderCol.updateTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('deptId')">
......@@ -861,6 +1151,11 @@
<if test='orderCol.deptName != null and "DESC".equalsIgnoreCase(orderCol.deptName)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('matterCode')">
a.matterCode
<if test='orderCol.matterCode != null and "DESC".equalsIgnoreCase(orderCol.matterCode)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('eventTypeShow')">
a.eventTypeShow
<if test='orderCol.eventTypeShow != null and "DESC".equalsIgnoreCase(orderCol.eventTypeShow)'>DESC</if>
......@@ -871,44 +1166,51 @@
<if test='orderCol.source != null and "DESC".equalsIgnoreCase(orderCol.source)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('hot')">
a.hot
<if test='orderCol.hot != null and "DESC".equalsIgnoreCase(orderCol.hot)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('display')">
a.display
<if test='orderCol.display != null and "DESC".equalsIgnoreCase(orderCol.display)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('deptCode')">
a.deptCode
<if test='orderCol.deptCode != null and "DESC".equalsIgnoreCase(orderCol.deptCode)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('createTime')">
a.createTime
<if test='orderCol.createTime != null and "DESC".equalsIgnoreCase(orderCol.createTime)'>DESC</if>
<if test="orderCol.containsKey('agent')">
a.agent
<if test='orderCol.agent != null and "DESC".equalsIgnoreCase(orderCol.agent)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('createUserId')">
a.createUserId
<if test='orderCol.createUserId != null and "DESC".equalsIgnoreCase(orderCol.createUserId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('updateTime')">
a.updateTime
<if test='orderCol.updateTime != null and "DESC".equalsIgnoreCase(orderCol.updateTime)'>DESC</if>
<if test="orderCol.containsKey('agentName')">
a.agentName
<if test='orderCol.agentName != null and "DESC".equalsIgnoreCase(orderCol.agentName)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('hot')">
a.hot
<if test='orderCol.hot != null and "DESC".equalsIgnoreCase(orderCol.hot)'>DESC</if>
<if test="orderCol.containsKey('agentPhone')">
a.agentPhone
<if test='orderCol.agentPhone != null and "DESC".equalsIgnoreCase(orderCol.agentPhone)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('display')">
a.display
<if test='orderCol.display != null and "DESC".equalsIgnoreCase(orderCol.display)'>DESC</if>
<if test="orderCol.containsKey('agentPost')">
a.agentPost
<if test='orderCol.agentPost != null and "DESC".equalsIgnoreCase(orderCol.agentPost)'>DESC</if>
,
</if>
</trim>
</if>
</sql>
<sql id="_group_by_">
<if test="groupList != null and !groupList.isEmpty()">
GROUP BY
<trim suffixOverrides="," suffix="">
<foreach collection="gr·oupList" open="" close="" index="index" item="item" separator=",">
<foreach collection="groupList" open="" close="" index="index" item="item" separator=",">
${item}
</foreach>
</trim>
......
......@@ -20,7 +20,7 @@ client.global.set("authToken", JSON.parse(response.body).data.token);
%}
###自助终端应用列表
POST {{baseUrl}}/app/list
POST http://112.19.80.237:11078/base/app/list
Content-Type: application/json
{
......
......@@ -54,7 +54,7 @@ POST {{baseUrl}}/base/area/genSubAreaByAreaName
Content-Type: application/json
{
"areaCode": "510900000000"
"areaCode": "513232000000"
}
......
......@@ -9,6 +9,11 @@
"baseUrl": "http://192.168.0.98:11078/base"
},
"base-yanyuan-test": {
"baseUrl": "http://192.168.0.119:11078/base"
},
"base-test-https": {
"baseUrl": "https://192.168.0.98:31071/basics_api/base"
},
......@@ -18,19 +23,16 @@
},
"base-test1": {
"baseUrl": "http://8.136.255.30:11078/base"
},
"base-yibintest": {
"baseUrl": "http://192.168.2.169:11078/base"
},
"base-yibin": {
"baseUrl": "http://10.12.185.213:11078/base"
"baseUrl": "http://8.136.255.30:21026/base"
},
"base-yibin-web": {
"baseUrl": "http://112.19.80.237:11078/base"
},
"base-reg-web": {
"baseUrl": "http://8.136.255.30:1129/base"
},
"base-yibin-web-https": {
"baseUrl": "https://ybswxxcx.zwfwhfgjjfzj.yibin.gov.cn/base"
},
......
......@@ -20,9 +20,12 @@ POST {{baseUrl}}/matter/list
Content-Type: application/json
{
"siteId": 22,
"siteId": 1,
"matterName": "%%",
"page": 1,
"size": 2
"size": 10,
"deptCode":"zyl",
"source": ""
}
###微官网事项列表
......
......@@ -4,6 +4,8 @@ POST {{baseUrl}}/matter/datum/list
Content-Type: application/json
{
"materialName": "%违法%",
"page":1,
"size":10
}
......
###站点业务列表
POST {{baseUrl}}/site/business/list
POST {{baseUrl}}/site/business/interlist
Content-Type: application/json
{
"idNotList": [11,18,17,14,27,28],
"siteId": 1,
"page":3,
"size":1
"siteId": 22
}
###站点业务列表
......
......@@ -75,8 +75,8 @@ Accept: application/json
###构建站点树
GET {{baseUrl}}/site/siteTree
#Authorization: {{authToken}}
Authorization: eyJhbGciOiJIUzI1NiJ9.eyJsb2dpbl91c2VyX2tleSI6IjIwNjY6MTM1OWYxYTQzZDNkNDljMmJkMDI5YzE5NThiNmFiZDAifQ.OQtNgxm9AH_TOuvAbbabJV0iMIbP3tj9pm6wofFqSis
Authorization: {{authToken}}
#Authorization: eyJhbGciOiJIUzI1NiJ9.eyJsb2dpbl91c2VyX2tleSI6IjIwNjY6MTM1OWYxYTQzZDNkNDljMmJkMDI5YzE5NThiNmFiZDAifQ.OQtNgxm9AH_TOuvAbbabJV0iMIbP3tj9pm6wofFqSis
Accept: application/json
......@@ -90,7 +90,7 @@ POST {{baseUrl}}/site/getFlatSitesByAreaCode
Content-Type: application/json
{
"areaCode":"511502000000"
"siteName": "%高新%"
}
###根据区域等级获取站点列表
......@@ -98,7 +98,7 @@ POST {{baseUrl}}/site/getAreaSitesByAreaLevel
Content-Type: application/json
{
"siteName":"徐州区办事处"
"siteName":"%高新%"
}
###站点列表
......@@ -115,7 +115,7 @@ POST {{baseUrl}}/site/syncGovMatterBySiteId
Content-Type: application/json
{
"id":22
"id":23
}
......
###站点事项列表
POST {{baseUrl}}/site/matter/list
POST {{baseUrl}}/site/matter/interlist
Content-Type: application/json
{
"siteId": 22,
"page": 1,
"deptId": 510,
"display": 1,
"source": 0,
"size": 10
}
{"size":"12","siteId":"1","page":"1","display":1,"source":0}
###站点事项更新与保存
......
......@@ -4,8 +4,8 @@ POST {{baseUrl}}/login/login
Content-Type: application/json
{
"loginName":"banana",
"password":"gxjG123!@#",
"loginName":"admin",
"password":"xhxADMIN8@a",
"securityCode":"admin"
}
......
###窗口业务列表
POST {{baseUrl}}/window/business/list
POST {{baseUrl}}/window/business/interlist
Content-Type: application/json
{"windowIdList":["77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99"],"size":-1}
###窗口业务列表缓存
POST {{baseUrl}}/window/business/interlist
Content-Type: application/json
{"siteBusinessId":212,"searchCache": 1}
###窗口业务列表缓存2
POST {{baseUrl}}/window/business/interlist
Content-Type: application/json
{"windowId":1,"size":-1}
###窗口业务列表缓存3
POST {{baseUrl}}/window/business/interlist
Content-Type: application/json
{"searchCache": 1,"windowIdList":["78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99"],"size":-1}
###窗口业务更新与保存
POST {{baseUrl}}/window/business/save
Content-Type: application/json
......
###站点部门窗口列表
POST {{baseUrl}}/window/list
POST http://112.19.80.237:11078/base/window/list
Content-Type: application/json
{
......
......@@ -9,7 +9,7 @@ Content-Type: application/json
###工作人员列表
POST {{baseUrl}}/workman/list
POST {{baseUrl}}/workman/interlist
Content-Type: application/json
{
......
......@@ -91,6 +91,18 @@
<version>1.6.12</version>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-core</artifactId>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus</artifactId>
</dependency>
</dependencies>
<build>
......
......@@ -8,7 +8,9 @@ BASEDIR=$( (
))
SHELL_LOG="${BASEDIR}/${SHELL_NAME}.log"
BASE_PATH="/home"
OPT_PATH="/home/usr/local"
SOFT_PATH="/usr/local"
PUBLISH_PATH="/home/publish"
LOCK_FILE="/tmp/deploy.lock"
SERVICE_PATH="/usr/lib/systemd/system"
......@@ -23,7 +25,7 @@ LOG_TIME='date "+%H-%M-%S"'
#java
JAVA_FILENAME="jdk1.8.tar.gz"
JAVA_ARM_FILENAME="jdk-8u341-linux-aarch64.tar.gz"
JAVA_HOME="${OPT_PATH}/java/jdk1.8"
JAVA_HOME="${SOFT_PATH}/java/jdk1.8"
# nginx
NGINX="nginx"
......@@ -36,9 +38,9 @@ NGINX_CONF_PATH="/etc/nginx/conf.d"
# mysql变量
MYSQL="mysql"
MYSQL_CENTOS_FILENAME="mysql-5.7.39-linux-glibc2.12-x86_64.tar.gz"
MYSQL_EXECPATH="${OPT_PATH}/${MYSQL}"
MYSQL_EXECPATH="${SOFT_PATH}/${MYSQL}"
MYSQL_CONF_PATH="/etc/my.cnf"
MYSQL_DATA_PATH="${MYSQL_EXECPATH}/data"
MYSQL_DATA_PATH="${BASE_PATH}/${MYSQL}/data"
MYSQL_HOST="127.0.0.1"
MYSQL_PORT="3306"
MYSQL_USER="root"
......@@ -495,8 +497,8 @@ nacos_deploy() {
rm -rf ${NACOS_SERVICE}
rm -rf ${NACOS_EXECPATH}
mkdir -p ${NACOS_EXECPATH}
writelog "tar -zvxf $BASEDIR/release/nacos/${NACOS_FILENAME} -C ${NACOS_EXECPATH} --strip-components 1"
tar -zvxf $BASEDIR/release/nacos/${NACOS_FILENAME} -C ${NACOS_EXECPATH} --strip-components 1
writelog "tar -zvxf $BASEDIR/release/nacos/${NACOS_FILENAME} -C ${NACOS_EXECPATH} --strip-components 2"
tar -zvxf $BASEDIR/release/nacos/${NACOS_FILENAME} -C ${NACOS_EXECPATH} --strip-components 2
writelog "${NACOS}_deploy init db..."
writelog " mysql -h${MYSQL_HOST} -P${MYSQL_PORT} -u${MYSQL_USER} -p${MYSQL_PASSWORD} <${NACOS_EXECPATH}/db/nacos.sql"
mysql -h${MYSQL_HOST} -P${MYSQL_PORT} -u${MYSQL_USER} -p${MYSQL_PASSWORD} <${NACOS_EXECPATH}/db/nacos.sql
......
......@@ -19,6 +19,7 @@
"echarts": "^5.3.3",
"element-ui": "^2.15.8",
"font-awesome": "^4.7.0",
"gsap": "^3.12.2",
"heatmap.js": "^2.0.5",
"highlight.js": "^11.5.1",
"js-export-excel": "^1.1.4",
......@@ -28,11 +29,13 @@
"secure-ls": "^1.2.6",
"swiper": "5",
"three": "^0.155.0",
"v-scale-screen": "1.0.2",
"v-viewer": "^1.6.4",
"vue": "^2.6.14",
"vue-highlightjs": "^1.3.3",
"vue-lazyload": "1.3.3",
"vue-router": "^3.5.1",
"vuedraggable": "^2.24.3",
"vuex": "^3.6.2",
"vuex-persistedstate": "^4.1.0"
},
......@@ -6434,6 +6437,11 @@
"integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
"dev": true
},
"node_modules/gsap": {
"version": "3.12.2",
"resolved": "https://registry.npmjs.org/gsap/-/gsap-3.12.2.tgz",
"integrity": "sha512-EkYnpG8qHgYBFAwsgsGEqvT1WUidX0tt/ijepx7z8EUJHElykg91RvW1XbkT59T0gZzzszOpjQv7SE41XuIXyQ=="
},
"node_modules/gzip-size": {
"version": "6.0.0",
"resolved": "https://registry.npmmirror.com/gzip-size/-/gzip-size-6.0.0.tgz",
......@@ -10419,6 +10427,11 @@
"websocket-driver": "^0.7.4"
}
},
"node_modules/sortablejs": {
"version": "1.10.2",
"resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.10.2.tgz",
"integrity": "sha512-YkPGufevysvfwn5rfdlGyrGjt7/CRHwvRPogD/lC+TnvcN29jDpCifKP+rBqf+LRldfXSTh+0CGLcSg0VIxq3A=="
},
"node_modules/source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz",
......@@ -11269,6 +11282,17 @@
"uuid": "dist/bin/uuid"
}
},
"node_modules/v-scale-screen": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/v-scale-screen/-/v-scale-screen-1.0.2.tgz",
"integrity": "sha512-qMXPglHIs8KnhzDBdEBLcIoF3q7jgFCTWNIVPD5M0FGBkD+amYjbFUoLdKol/Xylm+pli4AHOZOqwyL6xX62SA==",
"engines": {
"node": ">=12"
},
"peerDependencies": {
"vue": "^2.6.14"
}
},
"node_modules/v-viewer": {
"version": "1.6.4",
"resolved": "https://registry.npmmirror.com/v-viewer/-/v-viewer-1.6.4.tgz",
......@@ -11501,6 +11525,14 @@
"integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==",
"dev": true
},
"node_modules/vuedraggable": {
"version": "2.24.3",
"resolved": "https://registry.npmjs.org/vuedraggable/-/vuedraggable-2.24.3.tgz",
"integrity": "sha512-6/HDXi92GzB+Hcs9fC6PAAozK1RLt1ewPTLjK0anTYguXLAeySDmcnqE8IC0xa7shvSzRjQXq3/+dsZ7ETGF3g==",
"dependencies": {
"sortablejs": "1.10.2"
}
},
"node_modules/vuex": {
"version": "3.6.2",
"resolved": "https://registry.npmmirror.com/vuex/-/vuex-3.6.2.tgz",
......@@ -17075,6 +17107,11 @@
"integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
"dev": true
},
"gsap": {
"version": "3.12.2",
"resolved": "https://registry.npmjs.org/gsap/-/gsap-3.12.2.tgz",
"integrity": "sha512-EkYnpG8qHgYBFAwsgsGEqvT1WUidX0tt/ijepx7z8EUJHElykg91RvW1XbkT59T0gZzzszOpjQv7SE41XuIXyQ=="
},
"gzip-size": {
"version": "6.0.0",
"resolved": "https://registry.npmmirror.com/gzip-size/-/gzip-size-6.0.0.tgz",
......@@ -20039,6 +20076,11 @@
"websocket-driver": "^0.7.4"
}
},
"sortablejs": {
"version": "1.10.2",
"resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.10.2.tgz",
"integrity": "sha512-YkPGufevysvfwn5rfdlGyrGjt7/CRHwvRPogD/lC+TnvcN29jDpCifKP+rBqf+LRldfXSTh+0CGLcSg0VIxq3A=="
},
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz",
......@@ -20645,6 +20687,12 @@
"integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
"dev": true
},
"v-scale-screen": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/v-scale-screen/-/v-scale-screen-1.0.2.tgz",
"integrity": "sha512-qMXPglHIs8KnhzDBdEBLcIoF3q7jgFCTWNIVPD5M0FGBkD+amYjbFUoLdKol/Xylm+pli4AHOZOqwyL6xX62SA==",
"requires": {}
},
"v-viewer": {
"version": "1.6.4",
"resolved": "https://registry.npmmirror.com/v-viewer/-/v-viewer-1.6.4.tgz",
......@@ -20835,6 +20883,14 @@
"integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==",
"dev": true
},
"vuedraggable": {
"version": "2.24.3",
"resolved": "https://registry.npmjs.org/vuedraggable/-/vuedraggable-2.24.3.tgz",
"integrity": "sha512-6/HDXi92GzB+Hcs9fC6PAAozK1RLt1ewPTLjK0anTYguXLAeySDmcnqE8IC0xa7shvSzRjQXq3/+dsZ7ETGF3g==",
"requires": {
"sortablejs": "1.10.2"
}
},
"vuex": {
"version": "3.6.2",
"resolved": "https://registry.npmmirror.com/vuex/-/vuex-3.6.2.tgz",
......
......@@ -31,6 +31,7 @@
"secure-ls": "^1.2.6",
"swiper": "5",
"three": "^0.155.0",
"v-scale-screen": "1.0.2",
"v-viewer": "^1.6.4",
"vue": "^2.6.14",
"vue-highlightjs": "^1.3.3",
......
......@@ -20,6 +20,9 @@ export function getBumenList(params) {
export function getTaskList(params) {
return http.get(`${BASEURL}/admin/take/takelist`, params);
}
export function getTakeableList(params) {
return http.get(`${BASEURL}/admin/take/takeablelist`, params);
}
//排队办理记录报表接口
export function getQueueData(params) {
return http.post(`${BASEURL}/inter/reportform/quelist`, params);
......
......@@ -90,7 +90,7 @@ import YSelect from "@/components/YSelect.vue";
import YRangePicker from "@/components/YRangePicker.vue";
import storage from "@/utils/js/Storage";
import { mapMutations } from "vuex";
import { getDatingList, getBumenList, getTaskList } from "@/api/dataAdmin";
import { getDatingList, getBumenList, getTaskList ,getTakeableList} from "@/api/dataAdmin";
import { debounce } from "lodash";
const style = [
{
......@@ -123,6 +123,7 @@ export default {
searchForm: {
id: "", // 排队机id
style: "", // 状态
device_type:"",//设备类型
time: [
this.$moment().format("YYYY-MM-DD"),
this.$moment().format("YYYY-MM-DD"),
......@@ -136,7 +137,7 @@ export default {
created() {
this.getDatingListArr();
this.getBumenListArr();
this.getTaskList();
this.getTakeableList();
},
methods: {
...mapMutations("search", ["set_searForm", "set_isExport", "reset"]),
......@@ -163,23 +164,42 @@ export default {
if (res.code == 1) {
let { data } = res.data;
this.deptList = data;
}
},
//获取排号机设备列表
async getTaskList() {
let res = await getTaskList({
async getTakeableList() {
let res = await getTakeableList({
page: 1,
size: -1,
});
if (res.code == 1) {
let { data } = res.data;
let { data } = res;
this.deviceData = data;
// console.log(this.deviceData)
}
},
// async getTaskList() {
// let res = await getTaskList({
// page: 1,
// size: -1,
// });
// if (res.code == 1) {
// let { data } = res.data;
// this.deviceData = data;
// console.log(this.deviceData)
// }
// },
// 搜索
handleSearch() {
if(this.searchForm.id){
let device = this.deviceData.filter((i)=>{
return this.searchForm.id == i.id
})
this.searchForm.device_type = device[0].device_type
}
this.set_searForm(this.searchForm);
},
......
......@@ -18,6 +18,7 @@ Vue.use(GlobalComponents);
import common from "./utils/commin";
Vue.use(common);
// 公共样式
import "@/assets/css/normalize.css";
import "@/assets/css/reset.css";
......
......@@ -232,8 +232,9 @@ export default {
size: 10,
total: 0,
searchForm: {
search: "",
check_real: "-1",
status: "", // 状态
title: "",
sectionid: "", // 部门
time: [
this.$moment().format("YYYY-MM-DD"),
this.$moment().format("YYYY-MM-DD"),
......
......@@ -78,11 +78,36 @@
<div class="card">
<div class="cardTitle">附件</div>
<div class="cardContent" v-if="fromData.url">
<template v-for="(item, index) in fromData.url">
<img
v-for="(item, index) in fromData.url"
v-if="/\.(jpg|jpeg|png|GIF|JPG|PNG)$/.test(item)"
:key="index"
:src="process.env.VUE_APP_API_BASE_URL + item"
:src="baseUrl + item"
@click="$viewerApi({ images: [baseUrl + item] })"
/>
<video
width="320"
height="240"
v-if="/\.(mp4|rmvb|avi|)$/.test(item)"
:key="index"
:src="baseUrl + item"
></video>
<audio
controls
v-if="/\.(mp3|wav|)$/.test(item)"
:key="index"
:src="baseUrl + item"
></audio>
<a-button
:href="baseUrl + item"
v-else
:key="index"
type="primary"
>
点击下载
</a-button>
</template>
</div>
<div v-else>--</div>
</div>
......@@ -273,6 +298,7 @@ export default {
data() {
return {
fromData: {},
baseUrl: process.env.VUE_APP_API_PHP_URL,
};
},
computed: {
......@@ -285,6 +311,7 @@ export default {
},
},
},
methods: {
onClose() {
this.Visible = false;
......
......@@ -256,6 +256,9 @@ export default {
async getDataList(searchForm) {
let list = [];
let listTotal = 0;
this.searchForm.keyword
? ""
: (this.searchForm.keyword = this.searchForm.info);
let res = await getWLLZList({
page: this.current,
size: this.size,
......
......@@ -39,7 +39,7 @@
</div>
</div>
<div slot="footer" class="btn-box">
<a-button type="primary" @click="checkAnalyse">查看业务分析</a-button>
<!-- <a-button type="primary" @click="checkAnalyse">查看业务分析</a-button> -->
</div>
</a-modal>
</div>
......
......@@ -30,14 +30,14 @@
</div>
</div>
<div slot="footer" class="btn-box">
<a-space>
<!-- <a-space>
<a-button type="primary" @click="checkPortrayal"
>查看TA的数据画像</a-button
>
<a-button type="primary" @click="checkBlockchain"
>区块链信息</a-button
>
</a-space>
</a-space> -->
</div>
</a-modal>
</div>
......
......@@ -66,14 +66,14 @@
</div>
</div>
<div slot="footer" class="btn-box">
<a-space>
<!-- <a-space>
<a-button type="primary" @click="checkPortrayal"
>查看TA的数据画像</a-button
>
<a-button type="primary" @click="checkBlockchain"
>区块链信息</a-button
>
</a-space>
</a-space> -->
</div>
</a-modal>
</div>
......
......@@ -390,7 +390,6 @@ export default {
if (res.code == 1) {
let { data } = res;
let { business } = row;
console.log(data);
this.businessName = business;
this.businessInfo = data;
this.analysisVisible = true;
......
......@@ -19,6 +19,19 @@ export default {
type: Object,
default: () => {},
},
data() {
return {
info: this.info || {},
};
},
},
watch: {
info: {
deep: true,
handler(val) {
this._initEcharts();
},
},
},
mounted() {
this._initEcharts();
......@@ -29,7 +42,11 @@ export default {
const echarts = this.$echarts;
let option = {
title: {
text: `{c|${this.info.starttime}~${this.info.endtime}} \n{a|` + (this.info.success_rate * 100).toFixed(2) + "%" + "}",
text:
`{c|${this.info.starttime}~${this.info.endtime}} \n{a|` +
(this.info.success_rate * 100).toFixed(2) +
"%" +
"}",
x: "center",
y: "center",
textStyle: {
......
......@@ -338,6 +338,7 @@ export default {
speed: 1000, // 时长
// simulateTouch: false, //是否允许鼠标滑动切换
grabCursor: false, // 手形鼠标
shortSwipes: false,
cubeEffect: {
shadow: false, // 取消盒子阴影
slideShadows: false, // 取消子项拖动时候的阴影
......
......@@ -45,7 +45,11 @@
v-for="(v, i) in collectList"
:key="'' + v.id + i"
>
<div class="item-logo cursor-pointer" @click="openWindow(v)">
<div
class="item-logo cursor-pointer"
@click="openWindow($event, v, 'click')"
@contextmenu="openWindow($event, v)"
>
<img
class="w-full h-full object-contain"
:src="api + v.modelIcon"
......@@ -91,7 +95,11 @@
v-for="item in v.list"
:key="item.id"
>
<div class="item-logo cursor-pointer" @click="openWindow(item)">
<div
class="item-logo cursor-pointer"
@click="openWindow($event, item, 'click')"
@contextmenu="openWindow($event, item)"
>
<img
class="w-full h-full object-contain"
:src="api + item.modelIcon"
......@@ -157,7 +165,7 @@ export default {
this.siteModelList = data;
}
},
openWindow(row) {
async openWindow(event, row, type) {
let siteid = Storage.get(2, "siteId") || 0;
let siteName = Storage.get(2, "siteName") || "";
let userInfo = JSON.stringify({
......@@ -166,13 +174,48 @@ export default {
});
let { modelUrl, modelName, modelIcon } = row;
let path = this.$route.path;
modelName = encodeURI(modelName);
window.open(
`${modelUrl}?token=${this.token}&siteid=${siteid}&siteName=${encodeURI(
let compileModelName = encodeURI(modelName);
let params = `?token=${this.token}&siteid=${siteid}&siteName=${encodeURI(
siteName
)}&userInfo=${userInfo}&sysName=${modelName}&sysLogo=${modelIcon}&path=${path}`,
"_blank"
);
)}&userInfo=${userInfo}&sysName=${compileModelName}&sysLogo=${modelIcon}&path=${path}`;
if (type === "click") {
window.open(`${modelUrl}${params}`, "_blank");
return;
}
if (this.userData.admin || this.userData.id == 1) {
event.preventDefault();
// let redirectUrl = "";
// let hash = "";
// let redirect = await this.getFinalRedirect(modelUrl);
// if (!modelUrl.includes("http")) {
// let index = modelUrl.indexOf("/");
// hash = modelUrl.slice(index + 1);
// }
// if (redirect) {
// redirectUrl = redirect + hash;
// } else {
// redirectUrl = modelUrl;
// }
this.$notification.open({
message: "跳转链接",
key: 1,
duration: null,
description: (
<div>
<div class="notif-name">{modelName}-完整链接:</div>
<div>{modelUrl + params}</div>
<div class="notif-name">链接参数:</div>
<div>{params}</div>
</div>
),
style: {
"word-break": "break-all",
},
icon: <a-icon type="smile" style="color: #108ee9" />,
});
}
},
handleJoin() {
......@@ -230,15 +273,36 @@ export default {
}
return false;
},
// 获取重定向地址
// getFinalRedirect(url) {
// return fetch(url, { method: "GET", redirect: "follow" })
// .then((response) => {
// if (!response.ok) {
// throw new Error("Network response was not ok");
// }
// return response.url;
// })
// .catch((error) => {
// console.error("Error:", error);
// return null;
// });
// },
},
};
</script>
<style>
.notif-name {
font-size: 14px;
font-weight: 600;
}
</style>
<style lang="less" scoped>
.station {
background: url("@/assets/images/siteArrange/bg_2.png") no-repeat;
background-size: 100% 100%;
overflow: hidden;
.del-box {
width: 100%;
height: 150px;
......
......@@ -8,10 +8,20 @@
</div>
<div class="search_btn">
<a-space>
<a-select
v-model="userform.type"
placeholder="请选择类型"
style="width: 150px"
>
<a-select-option :value="1">按用户名</a-select-option>
<a-select-option :value="2">按用户姓名</a-select-option>
<a-select-option :value="3">按电话</a-select-option>
</a-select>
<a-input
v-model="userform.searchVal"
style="width: 250px"
placeholder="请输入用户姓名/手机号搜索"
placeholder="请输入关键字搜索"
@pressEnter="handleSearch"
>
<a-icon slot="prefix" type="search" />
</a-input>
......@@ -27,7 +37,7 @@
>{{ v }}</a-select-option
>
</a-select>
<a-button type="primary" class="addclass" @click="getUserList"
<a-button type="primary" class="addclass" @click="handleSearch"
>搜索</a-button
>
<a-button @click="resetList">重置</a-button>
......@@ -172,6 +182,7 @@ export default {
sourceInfoForm: {},
userDict: {}, // 角色数据
userform: {
type: 2,
roleId: undefined,
searchVal: undefined,
},
......@@ -192,16 +203,25 @@ export default {
this.getUserList();
},
// 搜索
handleSearch() {
this.tablePagination.current = 1;
this.getUserList();
},
// 获取用户列表
async getUserList() {
this.tableLoading = true;
let realName = "";
let mobile = "";
let loginName = "";
if (this.userform.searchVal) {
if (/^[\d]+$/.test(this.userform.searchVal)) {
mobile = "%" + this.userform.searchVal + "%";
} else {
if (this.userform.type == 1) {
loginName = "%" + this.userform.searchVal + "%";
} else if (this.userform.type == 2) {
realName = "%" + this.userform.searchVal + "%";
} else if (this.userform.type == 3) {
mobile = "%" + this.userform.searchVal + "%";
}
}
let res = await userList({
......@@ -210,7 +230,9 @@ export default {
roleId: this.userform.roleId,
realName,
mobile,
loginName,
});
if (res.code == 1) {
let { dict, data, total } = res.data;
let { roleId } = dict;
if (!data.length && this.tablePagination.current > 1) {
......@@ -227,7 +249,8 @@ export default {
return !this.loginNames.includes(v.loginName);
});
this.tablePagination.total = total - 3;
this.tablePagination.total = total - this.loginNames.length;
}
}
this.tableLoading = false;
},
......
......@@ -3488,7 +3488,7 @@ fresh@0.5.2:
fs-extra@^10.0.0:
version "10.1.0"
resolved "https://registry.npmmirror.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf"
resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz"
integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==
dependencies:
graceful-fs "^4.2.0"
......@@ -3516,9 +3516,9 @@ fs.realpath@^1.0.0:
integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
fsevents@~2.3.2:
version "2.3.2"
resolved "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
version "2.3.3"
resolved "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6"
integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
function-bind@^1.1.1:
version "1.1.1"
......@@ -3578,7 +3578,7 @@ glob-to-regexp@^0.4.1:
glob@7.1.6:
version "7.1.6"
resolved "https://registry.npmmirror.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
resolved "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz"
integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
dependencies:
fs.realpath "^1.0.0"
......@@ -3624,7 +3624,7 @@ graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4,
gsap@^3.12.2:
version "3.12.2"
resolved "https://registry.npmmirror.com/gsap/-/gsap-3.12.2.tgz#6e88203eed360761cbf2a2cb3a8d702aa87f3f6d"
resolved "https://registry.npmjs.org/gsap/-/gsap-3.12.2.tgz"
integrity sha512-EkYnpG8qHgYBFAwsgsGEqvT1WUidX0tt/ijepx7z8EUJHElykg91RvW1XbkT59T0gZzzszOpjQv7SE41XuIXyQ==
gzip-size@^6.0.0:
......@@ -3695,7 +3695,7 @@ heatmap.js@^2.0.5:
hex-color-regex@^1.1.0:
version "1.1.0"
resolved "https://registry.npmmirror.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e"
resolved "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz"
integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==
highlight.js@*, highlight.js@^11.5.1:
......@@ -3725,12 +3725,12 @@ hpack.js@^2.1.6:
hsl-regex@^1.0.0:
version "1.0.0"
resolved "https://registry.npmmirror.com/hsl-regex/-/hsl-regex-1.0.0.tgz#d49330c789ed819e276a4c0d272dffa30b18fe6e"
resolved "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz"
integrity sha512-M5ezZw4LzXbBKMruP+BNANf0k+19hDQMgpzBIYnya//Al+fjNct9Wf3b1WedLqdEs2hKBvxq/jh+DsHJLj0F9A==
hsla-regex@^1.0.0:
version "1.0.0"
resolved "https://registry.npmmirror.com/hsla-regex/-/hsla-regex-1.0.0.tgz#c1ce7a3168c8c6614033a4b5f7877f3b225f9c38"
resolved "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz"
integrity sha512-7Wn5GMLuHBjZCb2bTmnDOycho0p/7UVaAeqXZGbHrBCl6Yd/xDhQJAXe6Ga9AXJH2I5zY1dEdYw2u1UptnSBJA==
html-entities@^2.3.2:
......@@ -5898,7 +5898,7 @@ sockjs@^0.3.24:
sortablejs@1.10.2:
version "1.10.2"
resolved "https://registry.npmmirror.com/sortablejs/-/sortablejs-1.10.2.tgz#6e40364d913f98b85a14f6678f92b5c1221f5290"
resolved "https://registry.npmjs.org/sortablejs/-/sortablejs-1.10.2.tgz"
integrity sha512-YkPGufevysvfwn5rfdlGyrGjt7/CRHwvRPogD/lC+TnvcN29jDpCifKP+rBqf+LRldfXSTh+0CGLcSg0VIxq3A==
source-map-js@^1.0.2:
......@@ -5977,7 +5977,7 @@ ssf@~0.11.2:
ssr-window@^2.0.0:
version "2.0.0"
resolved "https://registry.npmmirror.com/ssr-window/-/ssr-window-2.0.0.tgz#98c301aef99523317f8d69618f0010791096efc4"
resolved "https://registry.npmjs.org/ssr-window/-/ssr-window-2.0.0.tgz"
integrity sha512-NXzN+/HPObKAx191H3zKlYomE5WrVIkoCB5IaSdvKokxTpjBdWfr0RaP+1Z5KOfDT0ZVz+2tdtiBkhsEQ9p+0A==
ssri@^8.0.1:
......@@ -6374,6 +6374,11 @@ uuid@^8.3.2:
resolved "https://registry.npmmirror.com/uuid/-/uuid-8.3.2.tgz"
integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==
v-scale-screen@1.0.2:
version "1.0.2"
resolved "https://registry.npmjs.org/v-scale-screen/-/v-scale-screen-1.0.2.tgz"
integrity sha512-qMXPglHIs8KnhzDBdEBLcIoF3q7jgFCTWNIVPD5M0FGBkD+amYjbFUoLdKol/Xylm+pli4AHOZOqwyL6xX62SA==
v-viewer@^1.6.4:
version "1.6.4"
resolved "https://registry.npmmirror.com/v-viewer/-/v-viewer-1.6.4.tgz"
......@@ -6467,14 +6472,14 @@ vue@^2.6.14:
vuedraggable@^2.24.3:
version "2.24.3"
resolved "https://registry.npmmirror.com/vuedraggable/-/vuedraggable-2.24.3.tgz#43c93849b746a24ce503e123d5b259c701ba0d19"
resolved "https://registry.npmjs.org/vuedraggable/-/vuedraggable-2.24.3.tgz"
integrity sha512-6/HDXi92GzB+Hcs9fC6PAAozK1RLt1ewPTLjK0anTYguXLAeySDmcnqE8IC0xa7shvSzRjQXq3/+dsZ7ETGF3g==
dependencies:
sortablejs "1.10.2"
vuex-persistedstate@^4.1.0:
version "4.1.0"
resolved "https://registry.npmmirror.com/vuex-persistedstate/-/vuex-persistedstate-4.1.0.tgz#127165f85f5b4534fb3170a5d3a8be9811bd2a53"
resolved "https://registry.npmjs.org/vuex-persistedstate/-/vuex-persistedstate-4.1.0.tgz"
integrity sha512-3SkEj4NqwM69ikJdFVw6gObeB0NHyspRYMYkR/EbhR0hbvAKyR5gksVhtAfY1UYuWUOCCA0QNGwv9pOwdj+XUQ==
dependencies:
deepmerge "^4.2.2"
......
......@@ -19,12 +19,6 @@
<id>develop</id>
<properties>
<profiles.active>develop</profiles.active>
<profiles.queue.type>rabbitmq</profiles.queue.type>
<profiles.rabbitmq.host>127.0.0.1</profiles.rabbitmq.host>
<profiles.rabbitmq.port>5672</profiles.rabbitmq.port>
<profiles.rabbitmq.username>root_mq</profiles.rabbitmq.username>
<profiles.rabbitmq.password>xhx@2022</profiles.rabbitmq.password>
<profiles.rabbitmq.virtualhost>/</profiles.rabbitmq.virtualhost>
<profiles.nacos.server-addr>127.0.0.1:8848</profiles.nacos.server-addr>
<profiles.nacos.group>DEFAULT_GROUP</profiles.nacos.group>
<profiles.nacos.namespace>smart-gov</profiles.nacos.namespace>
......@@ -41,9 +35,8 @@
</activation>
<properties>
<profiles.active>test</profiles.active>
<profiles.server.path>/zwfw</profiles.server.path>
<profiles.publish.path>/home/publish</profiles.publish.path>
<profiles.rabbitmq.host>192.168.0.98</profiles.rabbitmq.host>
<profiles.rabbitmq.host>127.0.0.1</profiles.rabbitmq.host>
<profiles.rabbitmq.port>5672</profiles.rabbitmq.port>
<profiles.rabbitmq.username>taxi_mq</profiles.rabbitmq.username>
<profiles.rabbitmq.password>admin@2020</profiles.rabbitmq.password>
......@@ -59,31 +52,46 @@
</profile>
<profile>
<id>yibin-test</id>
<id>product</id>
<properties>
<profiles.active>yibin-test</profiles.active>
<profiles.active>product</profiles.active>
<profiles.server.path>/zwfw</profiles.server.path>
<profiles.publish.path>/home/publish</profiles.publish.path>
<profiles.rabbitmq.host>127.0.0.1</profiles.rabbitmq.host>
<profiles.nacos.server-addr>127.0.0.1:8848</profiles.nacos.server-addr>
<profiles.nacos.group>DEFAULT_GROUP</profiles.nacos.group>
<profiles.nacos.namespace>smart-gov</profiles.nacos.namespace>
<profiles.log.level>INFO</profiles.log.level>
<profiles.log.path>/home/mortals/app/logs</profiles.log.path>
<package.environment>build</package.environment>
<skipUi>false</skipUi>
</properties>
</profile>
<profile>
<id>yibin</id>
<properties>
<profiles.active>yibin</profiles.active>
<profiles.server.port>17212</profiles.server.port>
<profiles.server.path>/zwfw</profiles.server.path>
<profiles.publish.path>/home/publish</profiles.publish.path>
<profiles.rabbitmq.host>172.15.28.117</profiles.rabbitmq.host>
<profiles.rabbitmq.port>5672</profiles.rabbitmq.port>
<profiles.rabbitmq.username>taxi_mq</profiles.rabbitmq.username>
<profiles.rabbitmq.password>admin@2020</profiles.rabbitmq.password>
<profiles.rabbitmq.virtualhost>/</profiles.rabbitmq.virtualhost>
<profiles.nacos.server-addr>127.0.0.1:8848</profiles.nacos.server-addr>
<profiles.nacos.server-addr>172.15.28.120:8848</profiles.nacos.server-addr>
<profiles.nacos.group>DEFAULT_GROUP</profiles.nacos.group>
<profiles.nacos.namespace>smart-gov</profiles.nacos.namespace>
<profiles.log.level>INFO</profiles.log.level>
<profiles.log.path>/home/mortals/app/logs</profiles.log.path>
<package.environment>test</package.environment>
<skipUi>false</skipUi>
<package.environment>yibin</package.environment>
<skipUi>true</skipUi>
</properties>
</profile>
<profile>
<id>product</id>
<id>sngx</id>
<properties>
<profiles.active>product</profiles.active>
<profiles.server.path>/zwfw</profiles.server.path>
<profiles.active>sngx</profiles.active>
<profiles.publish.path>/home/publish</profiles.publish.path>
<profiles.rabbitmq.host>127.0.0.1</profiles.rabbitmq.host>
<profiles.rabbitmq.port>5672</profiles.rabbitmq.port>
......@@ -95,36 +103,37 @@
<profiles.nacos.namespace>smart-gov</profiles.nacos.namespace>
<profiles.log.level>INFO</profiles.log.level>
<profiles.log.path>/home/mortals/app/logs</profiles.log.path>
<package.environment>build</package.environment>
<package.environment>yibin</package.environment>
<skipUi>false</skipUi>
</properties>
</profile>
<profile>
<id>yibin</id>
<id>regtest</id>
<properties>
<profiles.active>yibin</profiles.active>
<profiles.server.path>/zwfw</profiles.server.path>
<profiles.active>regtest</profiles.active>
<profiles.server.port>17212</profiles.server.port>
<profiles.publish.path>/home/publish</profiles.publish.path>
<profiles.rabbitmq.host>172.15.28.115</profiles.rabbitmq.host>
<profiles.rabbitmq.host>127.0.0.1</profiles.rabbitmq.host>
<profiles.rabbitmq.port>5672</profiles.rabbitmq.port>
<profiles.rabbitmq.username>taxi_mq</profiles.rabbitmq.username>
<profiles.rabbitmq.password>admin@2020</profiles.rabbitmq.password>
<profiles.rabbitmq.virtualhost>/</profiles.rabbitmq.virtualhost>
<profiles.nacos.server-addr>172.15.28.120:8848</profiles.nacos.server-addr>
<profiles.nacos.server-addr>127.0.0.1:8848</profiles.nacos.server-addr>
<profiles.nacos.group>DEFAULT_GROUP</profiles.nacos.group>
<profiles.nacos.namespace>smart-gov</profiles.nacos.namespace>
<profiles.log.level>INFO</profiles.log.level>
<profiles.log.path>/home/mortals/app/logs</profiles.log.path>
<package.environment>yibin</package.environment>
<skipUi>true</skipUi>
<profiles.log.level>info</profiles.log.level>
<package.environment>build</package.environment>
<skipUi>false</skipUi>
</properties>
</profile>
<profile>
<id>sngx</id>
<id>reg</id>
<properties>
<profiles.active>sngx</profiles.active>
<profiles.server.path>/zwfw</profiles.server.path>
<profiles.active>reg</profiles.active>
<profiles.server.port>17212</profiles.server.port>
<profiles.publish.path>/home/publish</profiles.publish.path>
<profiles.rabbitmq.host>127.0.0.1</profiles.rabbitmq.host>
<profiles.rabbitmq.port>5672</profiles.rabbitmq.port>
......@@ -134,13 +143,36 @@
<profiles.nacos.server-addr>127.0.0.1:8848</profiles.nacos.server-addr>
<profiles.nacos.group>DEFAULT_GROUP</profiles.nacos.group>
<profiles.nacos.namespace>smart-gov</profiles.nacos.namespace>
<profiles.log.level>INFO</profiles.log.level>
<profiles.log.path>/home/mortals/app/logs</profiles.log.path>
<package.environment>yibin</package.environment>
<profiles.log.level>info</profiles.log.level>
<package.environment>build</package.environment>
<skipUi>false</skipUi>
</properties>
</profile>
<profile>
<id>yanyuan</id>
<properties>
<profiles.active>yanyuan</profiles.active>
<profiles.server.port>17212</profiles.server.port>
<profiles.publish.path>/home/publish</profiles.publish.path>
<profiles.rabbitmq.host>172.16.30.245</profiles.rabbitmq.host>
<profiles.rabbitmq.port>5672</profiles.rabbitmq.port>
<profiles.rabbitmq.username>taxi_mq</profiles.rabbitmq.username>
<profiles.rabbitmq.password>admin@2020</profiles.rabbitmq.password>
<profiles.rabbitmq.virtualhost>/</profiles.rabbitmq.virtualhost>
<profiles.nacos.server-addr>172.16.30.245:8848</profiles.nacos.server-addr>
<profiles.nacos.group>DEFAULT_GROUP</profiles.nacos.group>
<profiles.nacos.namespace>smart-gov</profiles.nacos.namespace>
<profiles.log.path>/home/mortals/app/logs</profiles.log.path>
<package.environment>build</package.environment>
<skipUi>true</skipUi>
<profiles.holidayUrl>https://timor.tech/api/holiday/year/</profiles.holidayUrl>
</properties>
</profile>
</profiles>
<properties>
</properties>
......@@ -193,6 +225,12 @@
<artifactId>knife4j-spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>com.github.javaparser</groupId>
<artifactId>javaparser-core</artifactId>
<version>3.25.6</version>
</dependency>
<!--Token生成与解析-->
<dependency>
<groupId>io.jsonwebtoken</groupId>
......
......@@ -35,15 +35,22 @@ clear_deploy() {
SERVICE=$1
EXECPATH=$2
#清理后台自启服务
rm -rf ${SERVICE}
rm -f ${SERVICE}
#清理执行文件目录
rm -rf ${EXECPATH}
# mv /home/publish/portal-manager /home/publish/backup/portal-manager
writelog "mv ${EXECPATH} ${PUBLISH_PATH}/backup/${PROJECT_NAME}"
mv ${EXECPATH} ${PUBLISH_PATH}/backup/${PROJECT_NAME}
#rm -rf ${EXECPATH}
}
#清理ui
clear_ui_deploy() {
EXEC_UI_PATH=$1
rm -rf ${EXEC_UI_PATH}
#rm -rf ${EXEC_UI_PATH}
# mv /home/publish/portal-manager /home/publish/backup/portal-manager
writelog "mv ${PUBLISH_PATH}/${PROJECT_NAME}-ui ${PUBLISH_PATH}/backup/${PROJECT_NAME}-ui"
mv ${EXEC_UI_PATH} ${PUBLISH_PATH}/backup/${PROJECT_NAME}-ui
mkdir -p ${EXEC_UI_PATH}
}
......@@ -100,10 +107,14 @@ project_ui_deploy() {
#主函数
main() {
if [ ! -d $PUBLISH_PATH/backup ];
then
mkdir -p $$PUBLISH_PATH/backup;
fi
echo "后台服务部署"
project_deploy
#echo "前端服务部署"
#project_ui_deploy
echo "前端服务部署"
project_ui_deploy
exit ${RETVAL}
}
......
......@@ -40,7 +40,7 @@ public class ComsumerBurySaveService implements IApplicationStartedService {
int waitTime = 10;
while (!stopped) {
try {
BuryPointPdu pdu = cacheService.lpop(KEY_BURY_POINT_CACHE, BuryPointPdu.class);
BuryPointPdu pdu = cacheService.blpop(KEY_BURY_POINT_CACHE,10, BuryPointPdu.class);
if(!ObjectUtils.isEmpty(pdu)){
pageAccessService.saveByPdu(pdu);
pageAccessDepthService.saveByPdu(pdu);
......
......@@ -27,7 +27,7 @@ public class DemoStartService implements IApplicationService {
@Override
public void start() {
ThreadPool.getInstance().init(10);
ThreadPool.getInstance().init(6);
logger.info("开始服务..[配置已加载完成,但部分框架还未初始化,比如:Kafka]");
}
......
package com.mortals.xhx.module.param.web;
import com.alibaba.fastjson.JSONObject;
import com.mortals.framework.annotation.UnAuth;
import com.mortals.framework.common.Rest;
import com.mortals.framework.common.code.PageDisplayType;
import com.mortals.framework.model.Context;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
......@@ -8,28 +11,28 @@ import com.mortals.xhx.common.code.ModStatusEnum;
import com.mortals.xhx.module.param.model.ParamEntity;
import com.mortals.xhx.module.param.service.ParamService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
*
* 参数信息业务
*
* @author zxfei
* @date 2022-05-25
*/
* 参数信息业务
*
* @author zxfei
* @date 2022-05-25
*/
@RestController
@RequestMapping("param")
public class ParamController extends BaseCRUDJsonBodyMappingController<ParamService,ParamEntity,Long> {
public class ParamController extends BaseCRUDJsonBodyMappingController<ParamService, ParamEntity, Long> {
@Autowired
private ParamService paramService;
public ParamController(){
public ParamController() {
super.setFormClass(ParamForm.class);
super.setModuleDesc( "参数信息业务");
super.setModuleDesc("参数信息业务");
}
@Override
......@@ -42,6 +45,28 @@ public class ParamController extends BaseCRUDJsonBodyMappingController<ParamServ
model.put(KEY_RESULT_DICT, status);
}
@GetMapping(value = "key")
@RequestMapping(method = RequestMethod.POST)
@UnAuth
public String getValueByKey(@RequestParam(name = "key") String key) {
JSONObject jsonObject = new JSONObject();
String busiDesc = "通过key查询参数值" + this.getModuleDesc();
try {
String value = paramService.getValueByKey(key);
jsonObject.put(KEY_RESULT_DATA, value);
recordSysLog(request, busiDesc + " 【成功】");
jsonObject.put(KEY_RESULT_CODE, VALUE_RESULT_SUCCESS);
jsonObject.put(KEY_RESULT_MSG, busiDesc + "成功!");
} catch (Exception e) {
log.error("获取异常", e);
jsonObject.put(KEY_RESULT_CODE, VALUE_RESULT_FAILURE);
jsonObject.put(KEY_RESULT_MSG, super.convertException(e));
}
return jsonObject.toJSONString();
}
private Map<String, Object> getPageDisplayType() {
PageDisplayType[] pageDisplayTypes = PageDisplayType.values();
Map<String, Object> result = new HashMap<>(pageDisplayTypes.length);
......
......@@ -26,6 +26,8 @@ import com.mortals.xhx.feign.skin.ISkinSampleFeign;
import com.mortals.xhx.module.area.model.AreaQuery;
import com.mortals.xhx.module.area.service.AreaService;
import com.mortals.xhx.module.menu.service.MenuService;
import com.mortals.xhx.module.role.model.RoleQuery;
import com.mortals.xhx.module.role.model.RoleUserEntity;
import com.mortals.xhx.module.role.model.RoleUserQuery;
import com.mortals.xhx.module.role.service.RoleService;
import com.mortals.xhx.module.role.service.RoleUserService;
......@@ -87,7 +89,7 @@ public class UserServiceImpl extends AbstractCRUDCacheServiceImpl<UserDao, UserE
}
/* @Override
@Override
protected void findAfter(UserEntity entity, PageInfo pageInfo, Context context, List<UserEntity> list) throws AppException {
Map<Long, String> roleMap = roleService.find(new RoleQuery()).stream().collect(Collectors.toMap(x -> x.getId(), y -> y.getName()));
List<Long> userIdList = list.stream().map(item -> item.getId()).collect(Collectors.toList());
......@@ -101,7 +103,7 @@ public class UserServiceImpl extends AbstractCRUDCacheServiceImpl<UserDao, UserE
}
});
super.findAfter(entity, pageInfo, context, list);
}*/
}
private void doHandlerUser(UserEntity entity) throws AppException {
if (StringUtils.isNotEmpty(entity.getLoginPwd())) {
......@@ -452,7 +454,6 @@ public class UserServiceImpl extends AbstractCRUDCacheServiceImpl<UserDao, UserE
this.dao.update(userEntity);
updateRedisUserSession(userEntity);
});
//this.dao.updateBatch(userEntityList);
}
} else {
log.info("获取用户站点列表树数据失败:" + apiResp.getString("msg"));
......
......@@ -92,7 +92,7 @@ public class UserController extends BaseCRUDJsonBodyMappingController<UserServic
}
}
@Override
/* @Override
@UnAuth
public Rest<Object> list(@RequestBody UserEntity query) {
Map<String, Object> model = new HashMap();
......@@ -121,7 +121,7 @@ public class UserController extends BaseCRUDJsonBodyMappingController<UserServic
ret.setDict(model.get(KEY_RESULT_DICT));
ret.setMsg(model.get(MESSAGE_INFO) == null ? "" : model.remove(MESSAGE_INFO).toString());
return ret;
}
}*/
/* @Override
public String list(@RequestBody(required = false) UserEntity query) {
......
......@@ -3,7 +3,7 @@ spring:
allow-bean-definition-overriding: true
application:
log:
level: @profiles.log.level@
level: info
path: @profiles.log.path@
......
......@@ -16,15 +16,15 @@ spring:
default-property-inclusion: NON_NULL
# time-zone: GMT+8
# date-format: yyyy-MM-dd HH:mm:ss
dao:
exceptiontranslation:
enabled: false
rabbitmq:
host: @profiles.rabbitmq.host@
port: @profiles.rabbitmq.port@
username: @profiles.rabbitmq.username@
password: @profiles.rabbitmq.password@
virtualHost: @profiles.rabbitmq.virtualhost@
dao:
exceptiontranslation:
enabled: false
cloud:
nacos:
# Nacos 作为注册中心的配置项,对应 NacosDiscoveryProperties 配置类
......
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject;
import com.github.javaparser.JavaParser;
import com.mortals.framework.annotation.UnAuth;
import com.mortals.xhx.base.system.resource.model.ResourceEntity;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.io.File;
import java.io.FileFilter;
import java.io.IOException;
import java.lang.reflect.Method;
import java.net.JarURLConnection;
import java.net.URL;
import java.net.URLDecoder;
import java.util.*;
import java.util.jar.JarEntry;
import java.util.jar.JarFile;
import java.util.stream.Collectors;
public class ScanTest {
/**
* 查看类路径
*/
public static final String[] ULR_VIEW = {"view", "info", "list", "get", "find", "export", "download",
"index", "bill"};
public static final String[] WHITE_URL = {"login", "test","file","securitycode"};
public static void main(String[] args) {
List<Class<?>> classList = getAllClassByPackageName("com.mortals.xhx");
//System.out.println(classList); //获取到了所有的类
getAnnotationInfo(classList);
}
public static List<ResourceEntity> getAnnotationInfo(List<Class<?>> clsList) {
List<ResourceEntity> resourceArrayList = new ArrayList<>();
if (clsList != null && clsList.size() > 0) {
for (Class<?> cls : clsList) {
boolean exits = cls.isAnnotationPresent(RestController.class);
if (!exits) {
continue;
}
//白名单地址的 也不需要
ResourceEntity resourceViewEntity = new ResourceEntity();
resourceViewEntity.initAttrValue();
ResourceEntity resourceEditEntity = new ResourceEntity();
resourceEditEntity.initAttrValue();
resourceEditEntity.setSourceType(1);
Method substringMethod = null;
String result = "";
try {
String packName = cls.getPackage().getName();
if (StrUtil.contains(packName, "system")) {
//系统管理-xx管理-
substringMethod = cls.getMethod("getModuleDesc");
result = (String) substringMethod.invoke(cls.newInstance());
resourceViewEntity.setName("系统管理-" + result + "管理-查看");
resourceEditEntity.setName("系统管理-" + result + "管理-维护");
} else {
substringMethod = cls.getMethod("getModuleDesc");
result = (String) substringMethod.invoke(cls.newInstance());
resourceViewEntity.setName(result + "-查看");
resourceEditEntity.setName(result + "-维护");
}
} catch (Exception e) {
}
RequestMapping requestMappingCls = cls.getAnnotation(RequestMapping.class);
String prefix = "";
if (requestMappingCls != null) {
prefix = "/" + requestMappingCls.value()[0];
boolean b = false;
for (String s : WHITE_URL) {
if (StrUtil.contains(requestMappingCls.value()[0].toLowerCase(), s)) {
b = true;
break;
}
}
if (b) {
continue;
}
}
if (ObjectUtils.isEmpty(result)) {
if (requestMappingCls != null) {
result = StrUtil.removeSuffix(StrUtil.removePrefix(requestMappingCls.value()[0].toUpperCase(), "/"), "/") + "接口模块";
}
resourceViewEntity.setName(result + "-查看");
resourceEditEntity.setName(result + "-维护");
}
Set<String> urlSet = new HashSet<>();
//获取类中的所有的方法
Method[] methods = cls.getDeclaredMethods();
if (methods != null && methods.length > 0) {
for (Method method : methods) {
/*
boolean unAuth = method.isAnnotationPresent(UnAuth.class);
if (unAuth) {
continue;
}
*/
boolean mExits = method.isAnnotationPresent(RequestMapping.class);
if (mExits) {
RequestMapping requestMapping = method.getAnnotation(RequestMapping.class);
String url = prefix + "/" + requestMapping.value()[0];
url = url.replaceAll("/+", "/");
urlSet.add(url);
}
boolean mExits1 = method.isAnnotationPresent(GetMapping.class);
if (mExits1) {
GetMapping getMapping = method.getAnnotation(GetMapping.class);
String url = prefix + "/" + getMapping.value()[0];
url = url.replaceAll("/+", "/");
urlSet.add(url);
}
boolean mExits2 = method.isAnnotationPresent(PostMapping.class);
if (mExits2) {
PostMapping postMapping = method.getAnnotation(PostMapping.class);
String url = prefix + "/" + postMapping.value()[0];
url = url.replaceAll("/+", "/");
urlSet.add(url);
}
}
}
//获取超类中的方法
Method[] superMethods = cls.getSuperclass().getDeclaredMethods();
if (superMethods != null && superMethods.length > 0) {
for (Method method : superMethods) {
/* boolean unAuth = method.isAnnotationPresent(UnAuth.class);
if (unAuth) {
continue;
}*/
boolean mExits = method.isAnnotationPresent(RequestMapping.class);
if (mExits) {
RequestMapping requestMapping = method.getAnnotation(RequestMapping.class);
String url = prefix + "/" + requestMapping.value()[0];
url = url.replaceAll("/+", "/");
urlSet.add(url);
}
boolean mExits1 = method.isAnnotationPresent(GetMapping.class);
if (mExits1) {
GetMapping getMapping = method.getAnnotation(GetMapping.class);
String url = prefix + "/" + getMapping.value()[0];
url = url.replaceAll("/+", "/");
urlSet.add(url);
}
boolean mExits2 = method.isAnnotationPresent(PostMapping.class);
if (mExits2) {
PostMapping postMapping = method.getAnnotation(PostMapping.class);
String url = prefix + "/" + postMapping.value()[0];
url = url.replaceAll("/+", "/");
urlSet.add(url);
}
}
}
if (!ObjectUtils.isEmpty(urlSet)) {
Set<String> UrlViewSet = new HashSet<>();
Set<String> UrlEditSet = new HashSet<>();
for (String url : urlSet) {
String str = StrUtil.subAfter(url, "/", true);
boolean bool = false;
for (String checkStr : ULR_VIEW) {
boolean contains = StrUtil.contains(str.toLowerCase(), checkStr);
if (contains) {
UrlViewSet.add(url);
bool = true;
break;
}
}
if (!bool) {
UrlEditSet.add(url);
}
}
resourceViewEntity.setUrl(UrlViewSet.stream().collect(Collectors.joining(",")));
System.out.println(JSONObject.toJSONString(resourceViewEntity));
resourceArrayList.add(resourceViewEntity);
resourceEditEntity.setUrl(UrlEditSet.stream().collect(Collectors.joining(",")));
System.out.println(JSONObject.toJSONString(resourceEditEntity));
resourceArrayList.add(resourceEditEntity);
}
}
}
return resourceArrayList;
}
public static List<Class<?>> getAllClassByPackageName(String packageName) {
// 获取当前包下以及子包下所以的类
List<Class<?>> returnClassList = getClasses(packageName);
return returnClassList;
}
/**
* 从包package中获取所有的Class
*
* @param packageName
* @return
*/
private static List<Class<?>> getClasses(String packageName) {
// 第一个class类的集合
List<Class<?>> classes = new ArrayList<Class<?>>();
// 是否循环迭代
boolean recursive = true;
// 获取包的名字 并进行替换
String packageDirName = packageName.replace('.', '/');
// 定义一个枚举的集合 并进行循环来处理这个目录下的things
Enumeration<URL> dirs;
try {
dirs = Thread.currentThread().getContextClassLoader().getResources(packageDirName);
// 循环迭代下去
while (dirs.hasMoreElements()) {
// 获取下一个元素
URL url = dirs.nextElement();
// 得到协议的名称
String protocol = url.getProtocol();
//System.out.println(url.getFile());
// 如果是以文件的形式保存在服务器上
if ("file".equals(protocol)) {
// 获取包的物理路径
String filePath = URLDecoder.decode(url.getFile(), "UTF-8");
// 以文件的方式扫描整个包下的文件 并添加到集合中
findAndAddClassesInPackageByFile(packageName, filePath, recursive, classes);
} else if ("jar".equals(protocol)) {
// 如果是jar包文件
// 定义一个JarFile
JarFile jar;
try {
// 获取jar
jar = ((JarURLConnection) url.openConnection()).getJarFile();
// 从此jar包 得到一个枚举类
Enumeration<JarEntry> entries = jar.entries();
// 同样的进行循环迭代
while (entries.hasMoreElements()) {
// 获取jar里的一个实体 可以是目录 和一些jar包里的其他文件 如META-INF等文件
JarEntry entry = entries.nextElement();
String name = entry.getName();
// 如果是以/开头的
if (name.charAt(0) == '/') {
// 获取后面的字符串
name = name.substring(1);
}
// 如果前半部分和定义的包名相同
if (name.startsWith(packageDirName)) {
int idx = name.lastIndexOf('/');
// 如果以"/"结尾 是一个包
if (idx != -1) {
// 获取包名 把"/"替换成"."
packageName = name.substring(0, idx).replace('/', '.');
}
// 如果可以迭代下去 并且是一个包
if ((idx != -1) || recursive) {
// 如果是一个.class文件 而且不是目录
if (name.endsWith(".class") && !entry.isDirectory()) {
// 去掉后面的".class" 获取真正的类名
String className = name.substring(packageName.length() + 1, name.length() - 6);
try {
// 添加到classes
classes.add(Class.forName(packageName + '.' + className));
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
}
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
} catch (IOException e) {
e.printStackTrace();
}
return classes;
}
/**
* 以文件的形式来获取包下的所有Class
*
* @param packageName
* @param packagePath
* @param recursive
* @param classes
*/
private static void findAndAddClassesInPackageByFile(String packageName, String packagePath, final boolean recursive, List<Class<?>> classes) {
// 获取此包的目录 建立一个File
File dir = new File(packagePath);
// 如果不存在或者 也不是目录就直接返回
if (!dir.exists() || !dir.isDirectory()) {
return;
}
// 如果存在 就获取包下的所有文件 包括目录
File[] dirFiles = dir.listFiles(new FileFilter() {
// 自定义过滤规则 如果可以循环(包含子目录) 或则是以.class结尾的文件(编译好的java类文件)
public boolean accept(File file) {
return (recursive && file.isDirectory()) || (file.getName().endsWith(".class"));
}
});
assert dirFiles != null;
// 循环所有文件
for (File file : dirFiles) {
// 如果是目录 则继续扫描
if (file.isDirectory()) {
findAndAddClassesInPackageByFile(packageName + "." + file.getName(), file.getAbsolutePath(), recursive, classes);
} else {
// 如果是java类文件 去掉后面的.class 只留下类名
String className = file.getName().substring(0, file.getName().length() - 6);
try {
// 添加到集合中去
classes.add(Class.forName(packageName + '.' + className));
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
}
}
}
......@@ -23,12 +23,6 @@
<properties>
<profiles.active>develop</profiles.active>
<profiles.server.port>17214</profiles.server.port>
<profiles.queue.type>rabbitmq</profiles.queue.type>
<profiles.kafka.brokers>192.168.0.251:9092</profiles.kafka.brokers>
<profiles.rabbitmq.host>127.0.0.1</profiles.rabbitmq.host>
<profiles.rabbitmq.port>5672</profiles.rabbitmq.port>
<profiles.rabbitmq.username>taxi_mq</profiles.rabbitmq.username>
<profiles.rabbitmq.password>admin@2020</profiles.rabbitmq.password>
<profiles.rabbitmq.virtualhost>/</profiles.rabbitmq.virtualhost>
<profiles.nacos.server-addr>127.0.0.1:8848</profiles.nacos.server-addr>
<profiles.nacos.group>DEFAULT_GROUP</profiles.nacos.group>
......@@ -59,33 +53,47 @@
</properties>
</profile>
<profile>
<id>yibin-test</id>
<id>product</id>
<properties>
<profiles.active>yibin-test</profiles.active>
<profiles.server.ip>127.0.0.1</profiles.server.ip>
<profiles.active>yibin</profiles.active>
<profiles.nacos.server-addr>127.0.0.1:8848</profiles.nacos.server-addr>
<profiles.nacos.group>DEFAULT_GROUP</profiles.nacos.group>
<profiles.nacos.namespace>smart-gov</profiles.nacos.namespace>
<profiles.log.level>INFO</profiles.log.level>
<profiles.log.path>/home/mortals/app/logs</profiles.log.path>
<profiles.publish.path>/home/publish</profiles.publish.path>
</properties>
</profile>
<profile>
<id>yibin</id>
<properties>
<profiles.active>yibin</profiles.active>
<profiles.server.ip>192.168.2.144</profiles.server.ip>
<profiles.server.port>17214</profiles.server.port>
<profiles.nginx.port>11078</profiles.nginx.port>
<profiles.rabbitmq.host>127.0.0.1</profiles.rabbitmq.host>
<profiles.rabbitmq.host>172.15.28.117</profiles.rabbitmq.host>
<profiles.rabbitmq.port>5672</profiles.rabbitmq.port>
<profiles.rabbitmq.username>taxi_mq</profiles.rabbitmq.username>
<profiles.rabbitmq.password>admin@2020</profiles.rabbitmq.password>
<profiles.rabbitmq.virtualhost>/</profiles.rabbitmq.virtualhost>
<profiles.nacos.server-addr>127.0.0.1:8848</profiles.nacos.server-addr>
<profiles.nacos.server-addr>172.15.28.120:8848</profiles.nacos.server-addr>
<profiles.nacos.group>DEFAULT_GROUP</profiles.nacos.group>
<profiles.nacos.namespace>smart-gov</profiles.nacos.namespace>
<profiles.log.level>INFO</profiles.log.level>
<profiles.log.path>/home/mortals/app/logs</profiles.log.path>
<profiles.publish.path>/home/publish</profiles.publish.path>
</properties>
</profile>
<profile>
<id>product</id>
<id>sngx</id>
<properties>
<profiles.active>yibin</profiles.active>
<profiles.server.ip>192.168.0.250</profiles.server.ip>
<profiles.active>sngx</profiles.active>
<profiles.server.ip>127.0.0.1</profiles.server.ip>
<profiles.server.port>17214</profiles.server.port>
<profiles.nginx.port>11078</profiles.nginx.port>
<profiles.rabbitmq.host>127.0.0.1</profiles.rabbitmq.host>
......@@ -103,34 +111,30 @@
</profile>
<profile>
<id>yibin</id>
<id>regtest</id>
<properties>
<profiles.active>yibin</profiles.active>
<profiles.server.ip>192.168.2.144</profiles.server.ip>
<profiles.active>regtest</profiles.active>
<profiles.server.port>17214</profiles.server.port>
<profiles.nginx.port>11078</profiles.nginx.port>
<profiles.rabbitmq.host>172.15.28.115</profiles.rabbitmq.host>
<profiles.publish.path>/home/publish</profiles.publish.path>
<profiles.rabbitmq.host>127.0.0.1</profiles.rabbitmq.host>
<profiles.rabbitmq.port>5672</profiles.rabbitmq.port>
<profiles.rabbitmq.username>taxi_mq</profiles.rabbitmq.username>
<profiles.rabbitmq.password>admin@2020</profiles.rabbitmq.password>
<profiles.rabbitmq.virtualhost>/</profiles.rabbitmq.virtualhost>
<profiles.nacos.server-addr>172.15.28.120:8848</profiles.nacos.server-addr>
<profiles.nacos.server-addr>127.0.0.1:8848</profiles.nacos.server-addr>
<profiles.nacos.group>DEFAULT_GROUP</profiles.nacos.group>
<profiles.nacos.namespace>smart-gov</profiles.nacos.namespace>
<profiles.log.level>INFO</profiles.log.level>
<profiles.log.path>/home/mortals/app/logs</profiles.log.path>
<profiles.publish.path>/home/publish</profiles.publish.path>
<profiles.log.level>info</profiles.log.level>
</properties>
</profile>
<profile>
<id>sngx</id>
<id>reg</id>
<properties>
<profiles.active>sngx</profiles.active>
<profiles.server.ip>127.0.0.1</profiles.server.ip>
<profiles.active>reg</profiles.active>
<profiles.server.port>17214</profiles.server.port>
<profiles.nginx.port>11078</profiles.nginx.port>
<profiles.publish.path>/home/publish</profiles.publish.path>
<profiles.rabbitmq.host>127.0.0.1</profiles.rabbitmq.host>
<profiles.rabbitmq.port>5672</profiles.rabbitmq.port>
<profiles.rabbitmq.username>taxi_mq</profiles.rabbitmq.username>
......@@ -139,12 +143,33 @@
<profiles.nacos.server-addr>127.0.0.1:8848</profiles.nacos.server-addr>
<profiles.nacos.group>DEFAULT_GROUP</profiles.nacos.group>
<profiles.nacos.namespace>smart-gov</profiles.nacos.namespace>
<profiles.log.level>INFO</profiles.log.level>
<profiles.log.path>/home/mortals/app/logs</profiles.log.path>
<profiles.log.level>info</profiles.log.level>
</properties>
</profile>
<profile>
<id>yanyuan</id>
<properties>
<profiles.active>yanyuan</profiles.active>
<profiles.server.port>17214</profiles.server.port>
<profiles.publish.path>/home/publish</profiles.publish.path>
<profiles.rabbitmq.host>172.16.30.245</profiles.rabbitmq.host>
<profiles.rabbitmq.port>5672</profiles.rabbitmq.port>
<profiles.rabbitmq.username>taxi_mq</profiles.rabbitmq.username>
<profiles.rabbitmq.password>admin@2020</profiles.rabbitmq.password>
<profiles.rabbitmq.virtualhost>/</profiles.rabbitmq.virtualhost>
<profiles.nacos.server-addr>172.16.30.245:8848</profiles.nacos.server-addr>
<profiles.nacos.group>DEFAULT_GROUP</profiles.nacos.group>
<profiles.nacos.namespace>smart-gov</profiles.nacos.namespace>
<profiles.log.path>/home/mortals/app/logs</profiles.log.path>
<package.environment>build</package.environment>
<profiles.log.level>info</profiles.log.level>
</properties>
</profile>
</profiles>
<properties>
......
......@@ -35,9 +35,23 @@ clear_deploy() {
SERVICE=$1
EXECPATH=$2
#清理后台自启服务
rm -rf ${SERVICE}
rm -f ${SERVICE}
#清理执行文件目录
rm -rf ${EXECPATH}
# mv /home/publish/portal-manager /home/publish/backup/portal-manager
writelog "mv ${EXECPATH} ${PUBLISH_PATH}/backup/${PROJECT_NAME}"
mv ${EXECPATH} ${PUBLISH_PATH}/backup/${PROJECT_NAME}
#rm -rf ${EXECPATH}
}
#清理ui
clear_ui_deploy() {
EXEC_UI_PATH=$1
#rm -rf ${EXEC_UI_PATH}
# mv /home/publish/portal-manager /home/publish/backup/portal-manager
writelog "mv ${PUBLISH_PATH}/${PROJECT_NAME}-ui ${PUBLISH_PATH}/backup/${PROJECT_NAME}-ui"
mv ${EXEC_UI_PATH} ${PUBLISH_PATH}/backup/${PROJECT_NAME}-ui
mkdir -p ${EXEC_UI_PATH}
}
build_service() {
......@@ -82,11 +96,25 @@ project_deploy() {
writelog "${PROJECT_NAME}_deploy_finish"
}
#部署前台服务
project_ui_deploy() {
writelog "${PROJECT_NAME}_ui_deploy"
clear_ui_deploy ${PROJECT_UI_EXECPATH}
tar -zvxf ./${PROJECT_UI_FILENAME} -C ${PUBLISH_PATH}
writelog "${PROJECT_NAME}_ui_deploy_finish"
}
#主函数
main() {
if [ ! -d $PUBLISH_PATH/backup ];
then
mkdir -p $$PUBLISH_PATH/backup;
fi
echo "后台服务部署"
project_deploy
echo "前端服务部署"
project_ui_deploy
exit ${RETVAL}
}
......
package com.mortals.xhx.base.framework.filter;
import cn.hutool.core.net.NetUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.mortals.framework.common.Rest;
import com.mortals.framework.model.AccessLogPdu;
......@@ -22,8 +20,6 @@ import org.springframework.cloud.gateway.support.ServerWebExchangeUtils;
import org.springframework.core.Ordered;
import org.springframework.core.io.buffer.DataBuffer;
import org.springframework.core.io.buffer.DataBufferFactory;
import org.springframework.core.io.buffer.DataBufferUtils;
import org.springframework.core.io.buffer.DefaultDataBufferFactory;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
......@@ -42,7 +38,6 @@ import org.springframework.web.server.ServerWebExchange;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
import java.nio.charset.StandardCharsets;
import java.util.Date;
import java.util.List;
import java.util.Map;
......@@ -106,7 +101,7 @@ public class AccessLogFilter implements GlobalFilter, Ordered {
accessLogPdu.setLogTime(new Date());
accessLogPdu.setMethod(request.getMethodValue());
log.info("origin uri:{} host:{} port:{},contentLens", requestPath, request.getHeaders().getHost().getHostName(), request.getHeaders().getHost().getPort(),request.getHeaders().getContentLength());
// log.info("origin uri:{} host:{} port:{},contentLens", requestPath, request.getHeaders().getHost().getHostName(), request.getHeaders().getHost().getPort(),request.getHeaders().getContentLength());
MediaType mediaType = request.getHeaders().getContentType();
if (request.getHeaders().getContentLength() > 1024 * 64) {
......@@ -226,7 +221,7 @@ public class AccessLogFilter implements GlobalFilter, Ordered {
@Override
public Flux<DataBuffer> getBody() {
log.info("outputMessage.getBody() contentLength:");
// log.info("outputMessage.getBody() contentLength:");
return outputMessage.getBody();
}
};
......
......@@ -133,6 +133,31 @@ spring:
metadata:
response-timeout: 200000
connect-timeout: 200000
# 考勤绩效
- id: attendance-performance-manager
#uri: http://192.168.0.98:21080
uri: lb://attendance-performance-manager
predicates:
- Path=/attendance/**
metadata:
response-timeout: 200000
connect-timeout: 200000
# 综合窗口中台
- id: complex-window-manager
uri: lb://complex-window-manager
predicates:
- Path=/complex/**
metadata:
response-timeout: 200000
connect-timeout: 200000
# 信息公开平台
- id: info-publish-manager
uri: lb://info-publish-manager
predicates:
- Path=/infopublish/**
metadata:
response-timeout: 200000
connect-timeout: 200000
nacos:
# Nacos 作为注册中心的配置项,对应 NacosDiscoveryProperties 配置类
discovery:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment