From 48376938fb04165594a51a8847987669cd80fc63 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期四, 28 十二月 2023 14:13:11 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
server/dmvisit_service/src/main/java/com/doumee/dao/system/vo/CarEventVo.java | 51 +
server/dmvisit_service/src/main/java/com/doumee/dao/system/vo/DeviceEventVo.java | 55 +
admin/src/components/business/OperaVisitsDesWindow.vue | 48 +
server/dmvisit_admin/src/main/java/com/doumee/api/business/MemberCardController.java | 35 +
admin/src/views/business/laborSource.vue | 11
server/dmvisit_service/src/main/java/com/doumee/service/system/impl/SystemUserServiceImpl.java | 1
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java | 43 +
admin/src/views/business/empower.vue | 80 ++
admin/src/views/business/visits.vue | 10
server/dmvisit_service/src/main/java/com/doumee/service/business/MemberCardService.java | 4
server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/VisitEventDTO.java | 4
admin/vue.config.js | 6
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java | 53 +
server/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatNotice.java | 65 ++
admin/src/api/system/common.js | 5
server/dmvisit_service/src/main/java/com/doumee/service/business/DeviceEventService.java | 9
server/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatConfig.java | 53 +
server/dmvisit_admin/src/main/java/com/doumee/api/business/MemberController.java | 7
server/dmvisit_admin/src/main/java/com/doumee/api/business/DeviceEventController.java | 3
server/dmvisit_service/src/main/java/com/doumee/service/business/CarEventService.java | 9
admin/src/views/business/blackmailPersonnel.vue | 89 ++
admin/src/views/business/freezePersonnel.vue | 32
server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/CarEventDTO.java | 2
admin/src/api/business/strandedPersonnel.js | 45 +
admin/src/views/business/visitorManagement.vue | 11
server/dmvisit_service/src/main/java/com/doumee/dao/business/model/MemberCard.java | 23
admin/src/views/business/visitorSources.vue | 11
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarEventServiceImpl.java | 112 ++-
server/dmvisit_web/src/main/java/com/doumee/api/web/ProblemController.java | 6
server/dmvisit_service/src/main/java/com/doumee/service/business/VisitEventService.java | 8
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitEventServiceImpl.java | 82 +
admin/src/views/business/strandedPersonnel.vue | 125 ++-
admin/src/api/business/cars.js | 10
admin/src/views/business/parks.vue | 46
server/dmvisit_web/src/main/java/com/doumee/api/web/UnitController.java | 1
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceEventServiceImpl.java | 107 ++
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceRoleServiceImpl.java | 1
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncOrgUserServiceImpl.java | 1
server/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java | 9
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java | 1
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ProblemLogServiceImpl.java | 6
server/dmvisit_service/src/main/java/com/doumee/core/wx/WxMiniUtilService.java | 68 +-
server/dmvisit_admin/src/main/java/com/doumee/api/business/VisitEventController.java | 3
server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java | 2
server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/DeviceEventDTO.java | 2
admin/src/api/business/parks.js | 7
server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/MemberInfoDTO.java | 2
server/dmvisit_service/src/main/java/com/doumee/core/wx/WxMiniConfig.java | 98 +-
admin/src/views/business/deviceRole.vue | 6
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java | 1
admin/src/utils/util.js | 14
server/dmvisit_service/src/main/java/com/doumee/dao/system/vo/VisitEventVo.java | 47 +
server/dmvisit_service/src/main/java/com/doumee/dao/web/response/VisitDetailVO.java | 39 +
server/dmvisit_web/src/main/java/com/doumee/api/web/VisitorController.java | 8
admin/src/views/business/cars.vue | 51
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberCardServiceImpl.java | 65 ++
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java | 5
server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java | 9
server/pom.xml | 30
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/RetentionServiceImpl.java | 8
server/dmvisit_admin/src/main/java/com/doumee/api/business/CarEventController.java | 3
61 files changed, 1,354 insertions(+), 394 deletions(-)
diff --git a/admin/src/api/business/cars.js b/admin/src/api/business/cars.js
index 6aba135..f5efbe0 100644
--- a/admin/src/api/business/cars.js
+++ b/admin/src/api/business/cars.js
@@ -2,29 +2,29 @@
// 鏌ヨ
export function fetchList (data) {
- return request.post('/business/cars/page', data, {
+ return request.post('/business/parkBook/page', data, {
trim: true
})
}
// 鍒涘缓
export function create (data) {
- return request.post('/business/cars/create', data)
+ return request.post('/business/parkBook/create', data)
}
// 淇敼
export function updateById (data) {
- return request.post('/business/cars/updateById', data)
+ return request.post('/business/parkBook/updateById', data)
}
// 鍒犻櫎
export function deleteById (id) {
- return request.get(`/business/cars/delete/${id}`)
+ return request.get(`/business/parkBook/delete/${id}`)
}
// 鎵归噺鍒犻櫎
export function deleteByIdInBatch (ids) {
- return request.get('/business/cars/delete/batch', {
+ return request.get('/business/parkBook/delete/batch', {
params: {
ids
}
diff --git a/admin/src/api/business/parks.js b/admin/src/api/business/parks.js
index d104bc2..57f053b 100644
--- a/admin/src/api/business/parks.js
+++ b/admin/src/api/business/parks.js
@@ -6,3 +6,10 @@
trim: true
})
}
+
+// 鎵�灞炲仠杞﹀満鍒楄〃
+export function findList (data) {
+ return request.post('/business/parks/findList', data, {
+ trim: true
+ })
+}
diff --git a/admin/src/api/business/strandedPersonnel.js b/admin/src/api/business/strandedPersonnel.js
new file mode 100644
index 0000000..76f2b35
--- /dev/null
+++ b/admin/src/api/business/strandedPersonnel.js
@@ -0,0 +1,45 @@
+import request from '../../utils/request'
+
+// 鏌ヨ
+export function fetchList (data) {
+ return request.post('/business/visits/retentionPage', data, {
+ trim: true
+ })
+}
+
+// 瀵煎嚭Excel
+export function exportExcel (data) {
+ return request.post('/business/visits/exportExcel', data, {
+ trim: true,
+ download: true
+ })
+}
+
+// 鍒涘缓
+export function create (data) {
+ return request.post('/business/visits/create', data)
+}
+
+// 淇敼
+export function updateById (data) {
+ return request.post('/business/visits/updateById', data)
+}
+
+// 鍒犻櫎
+export function deleteById (id) {
+ return request.get(`/business/visits/delete/${id}`)
+}
+
+// 鏍规嵁ID鏌ヨ
+export function queryById (id) {
+ return request.get(`/business/visits/${id}`)
+}
+
+// 鎵归噺鍒犻櫎
+export function deleteByIdInBatch (ids) {
+ return request.get('/business/visits/delete/batch', {
+ params: {
+ ids
+ }
+ })
+}
diff --git a/admin/src/api/system/common.js b/admin/src/api/system/common.js
index b116149..157c8c7 100644
--- a/admin/src/api/system/common.js
+++ b/admin/src/api/system/common.js
@@ -46,3 +46,8 @@
export function updateLaborConfigDTO (data) {
return request.post('/system/dictData/updateLaborConfigDTO', data)
}
+
+// 鍒嗛〉鏌ヨ绯荤粺鐢ㄦ埛
+export function findAllList (data) {
+ return request.post('/system/user/findAllList', data)
+}
diff --git a/admin/src/components/business/OperaVisitsDesWindow.vue b/admin/src/components/business/OperaVisitsDesWindow.vue
index 9cf9b28..6170e27 100644
--- a/admin/src/components/business/OperaVisitsDesWindow.vue
+++ b/admin/src/components/business/OperaVisitsDesWindow.vue
@@ -23,7 +23,7 @@
<div class="list_item_info" v-if="info">闅忚杞﹁締锛歿{info.carNos}}</div>
<div class="list_item_table" v-if="info">
<el-table
- :data="info.lwWithUserList ? info.lwWithUserList : []"
+ :data="info.withUserList ? info.withUserList : []"
border
:header-cell-style="{background: '#dcdde2', color: 'rgb(51, 51, 51)'}"
style="width: 100%">
@@ -41,8 +41,12 @@
<el-table-column
prop="birthday"
label="骞撮緞">
+ <template slot-scope="{row}">
+ <span>{{getAge(row.birthday)}}</span>
+ </template>
</el-table-column>
<el-table-column
+ width="150"
prop="phone"
label="鎵嬫満鍙�">
</el-table-column>
@@ -55,7 +59,8 @@
</template>
</el-table-column>
<el-table-column
- prop="idcardNo"
+ width="160"
+ prop="idcardDecode"
label="韬唤璇佸彿鐮�">
</el-table-column>
<el-table-column
@@ -63,12 +68,28 @@
label="鍏徃">
</el-table-column>
<el-table-column
- prop="faceImg"
+ width="150"
label="浜鸿劯鐓х墖">
+ <template slot-scope="{row}">
+ <el-image
+ v-if="row.faceImg"
+ style="width: 100px; height: 100px"
+ :src="info.prefixUrl + row.faceImg"
+ :preview-src-list="[info.prefixUrl + row.faceImg]">
+ </el-image>
+ </template>
</el-table-column>
<el-table-column
- prop="imgurl"
+ width="150"
label="鍋ュ悍璇�">
+ <template slot-scope="{row}">
+ <el-image
+ v-if="row.imgurl"
+ style="width: 100px; height: 100px"
+ :src="info.prefixUrl + row.imgurl"
+ :preview-src-list="[info.prefixUrl + row.imgurl]">
+ </el-image>
+ </template>
</el-table-column>
</el-table>
</div>
@@ -106,6 +127,19 @@
}
},
methods: {
+ getAge (val) {
+ if (!val) return ''
+ const currentYear = new Date().getFullYear() // 褰撳墠鐨勫勾浠�
+ const calculationYear = new Date(val).getFullYear() // 璁$畻鐨勫勾浠�
+ const wholeTime = currentYear + val.substring(4) // 鍛ㄥ瞾鏃堕棿
+ const calculationAge = currentYear - calculationYear // 鎸夌収骞翠唤璁$畻鐨勫勾榫�
+ // 鍒ゆ柇鏄惁杩囦簡鐢熸棩
+ if (new Date().getTime() > new Date(wholeTime).getTime()) {
+ return calculationAge
+ } else {
+ return calculationAge - 1
+ }
+ },
open (title, id) {
this.title = title
this.visible = true
@@ -118,7 +152,11 @@
}
}
</script>
-
+<style>
+ .el-image-viewer__wrapper {
+ z-index: 3000 !important;
+ }
+</style>
<style lang="scss" scoped>
.list {
width: 100%;
diff --git a/admin/src/utils/util.js b/admin/src/utils/util.js
index 48cf55e..26071e0 100644
--- a/admin/src/utils/util.js
+++ b/admin/src/utils/util.js
@@ -41,3 +41,17 @@
const timer2 = Y2 + '-' + M2 + '-' + D2 + ' ' + '00:00:00' // 涔嬪墠鐨�7澶╂垨鑰�30澶�
return [timer2, timer1]
}
+
+/**
+ * 鏈夋晥鏈熷垽鏂�
+ * @param startTime 寮�濮嬫棩鏈�
+ * @param endTime 缁撴潫鏃ユ湡
+ * @returns {string}
+ */
+export function validity (startTime, endTime) {
+ if (startTime && endTime) {
+ return `${startTime} 鑷� ${endTime}`
+ } else {
+ return '闀挎湡'
+ }
+}
diff --git a/admin/src/views/business/blackmailPersonnel.vue b/admin/src/views/business/blackmailPersonnel.vue
index 8d52eb5..a61b5e9 100644
--- a/admin/src/views/business/blackmailPersonnel.vue
+++ b/admin/src/views/business/blackmailPersonnel.vue
@@ -2,33 +2,26 @@
<TableLayout :permissions="['business:member:query']">
<!-- 鎼滅储琛ㄥ崟 -->
<el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
- <el-form-item label="濮撳悕" prop="name">
- <el-input v-model="searchForm.name" placeholder="璇疯緭鍏ヨ瀹㈠悕绉�" @keypress.enter.native="search"></el-input>
+ <el-form-item label="濮撳悕/鎵嬫満鍙�" prop="name">
+ <el-input v-model="searchForm.name" placeholder="璇疯緭鍏ュ鍚�/鎵嬫満鍙�" @keypress.enter.native="search"></el-input>
</el-form-item>
- <el-form-item label="鎵嬫満鍙�" prop="code">
- <el-input v-model="searchForm.code" placeholder="璇疯緭鍏ュ伐鍙�" @keypress.enter.native="search"></el-input>
+ <el-form-item label="鍏徃鍚嶇О" prop="companyName">
+ <el-input v-model="searchForm.companyName" placeholder="璇疯緭鍏ュ伐鍙�" @keypress.enter.native="search"></el-input>
</el-form-item>
- <el-form-item label="鍏徃鍚嶇О" prop="code">
- <el-input v-model="searchForm.code" placeholder="璇疯緭鍏ュ伐鍙�" @keypress.enter.native="search"></el-input>
- </el-form-item>
- <el-form-item label="鎿嶄綔浜哄憳" prop="code">
- <el-select v-model="searchForm.code" placeholder="璇烽�夋嫨">
+ <el-form-item label="鎿嶄綔浜哄憳" prop="createrId">
+ <el-select v-model="searchForm.createrId" placeholder="璇烽�夋嫨">
<el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value">
+ v-for="item in user"
+ :key="item.id"
+ :label="item.name"
+ :value="item.id">
</el-option>
</el-select>
</el-form-item>
- <el-form-item label="浜哄憳绫诲瀷" prop="companyId">
- <el-select v-model="searchForm.code" placeholder="璇烽�夋嫨">
- <el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value">
- </el-option>
+ <el-form-item label="浜哄憳绫诲瀷" prop="type">
+ <el-select v-model="searchForm.type" placeholder="璇烽�夋嫨">
+ <el-option label="璁垮" value="1"></el-option>
+ <el-option label="鍔冲姟" value="0"></el-option>
</el-select>
</el-form-item>
<section>
@@ -39,7 +32,7 @@
<!-- 琛ㄦ牸鍜屽垎椤� -->
<template v-slot:table-wrap>
<ul class="toolbar" v-permissions="['business:member:create', 'business:member:delete']">
- <li><el-button type="primary" v-permissions="['business:member:create']">绉诲嚭</el-button></li>
+ <li><el-button type="primary" v-permissions="['business:member:create']" @click="thaws">绉诲嚭</el-button></li>
</ul>
<el-table
v-loading="isWorking.search"
@@ -50,7 +43,7 @@
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column prop="name" label="濮撳悕" min-width="100px"></el-table-column>
<el-table-column prop="phone" label="鎵嬫満鍙�" min-width="100px"></el-table-column>
- <el-table-column prop="idcard_id" label="韬唤璇佸彿鐮�" min-width="100px"></el-table-column>
+ <el-table-column prop="idcardDecode" label="韬唤璇佸彿鐮�" min-width="100px"></el-table-column>
<el-table-column label="浜哄憳绫诲瀷" min-width="100px">
<template slot-scope="{row}">
<span v-if="row.type === 0">鍔冲姟璁垮</span>
@@ -58,7 +51,7 @@
<span v-if="row.type === 2">鍐呴儴浜哄憳</span>
</template>
</el-table-column>
- <el-table-column prop="company_id" label="鍏徃" min-width="100px"></el-table-column>
+ <el-table-column prop="companyName" label="鍏徃" min-width="100px"></el-table-column>
<el-table-column prop="edit_date" label="鎿嶄綔鏃堕棿" min-width="100px"></el-table-column>
<el-table-column prop="editor" label="鎿嶄綔浜�" min-width="100px"></el-table-column>
<el-table-column
@@ -68,7 +61,7 @@
fixed="right"
>
<template slot-scope="{row}">
- <el-button type="text" icon="el-icon-edit" v-permissions="['business:member:update']">绉诲嚭</el-button>
+ <el-button type="text" icon="el-icon-edit" v-permissions="['business:member:update']" @click="thaw(row.id)">绉诲嚭</el-button>
</template>
</el-table-column>
</el-table>
@@ -86,6 +79,8 @@
import BaseTable from '@/components/base/BaseTable'
import TableLayout from '@/layouts/TableLayout'
import Pagination from '@/components/common/Pagination'
+import { findAllList } from '@/api/system/common'
+import { updateRemoveStatusById } from '@/api/business/block'
export default {
name: 'blackmailPersonnel',
extends: BaseTable,
@@ -94,13 +89,13 @@
return {
// 鎼滅储
searchForm: {
- companyId: '',
+ companyName: '',
name: '',
- code: '',
+ createrId: '',
status: 2,
- type: 1
+ type: '1'
},
- options: []
+ user: []
}
},
created () {
@@ -111,6 +106,42 @@
'field.main': 'id'
})
this.search()
+ this.getUser()
+ },
+ methods: {
+ thaws () {
+ if (this.tableData.selectedRows.length === 0) return this.$message.warning('鑷冲皯閫夋嫨涓�椤瑰唴瀹�')
+ const ids = this.tableData.selectedRows.map(item => {
+ return { id: item.id }
+ })
+ this.thaw(ids)
+ },
+ thaw (ids) {
+ this.$confirm('纭畾绉婚櫎姝ょ敤鎴峰悧?', '鎻愮ず', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning'
+ }).then(() => {
+ updateRemoveStatusById(ids)
+ .then(res => {
+ this.$message.success('鎿嶄綔鎴愬姛')
+ this.search()
+ })
+ }).catch(() => {
+
+ })
+ },
+ getUser () {
+ findAllList({})
+ .then(res => {
+ this.user = res.map(item => {
+ return {
+ name: item.realname,
+ id: item.id
+ }
+ })
+ })
+ }
}
}
</script>
diff --git a/admin/src/views/business/cars.vue b/admin/src/views/business/cars.vue
index f135dec..84cb295 100644
--- a/admin/src/views/business/cars.vue
+++ b/admin/src/views/business/cars.vue
@@ -5,18 +5,11 @@
<el-form-item label="杞︾墝鍙�" prop="code">
<el-input v-model="searchForm.code" placeholder="璇疯緭鍏ヨ溅鐗屽彿" @keypress.enter.native="search"></el-input>
</el-form-item>
- <el-form-item label="鍛樺伐濮撳悕/鎵嬫満鍙�" prop="code">
- <el-input v-model="searchForm.code" placeholder="璇疯緭鍏ュ憳宸ュ鍚�/鎵嬫満鍙�" @keypress.enter.native="search"></el-input>
+ <el-form-item label="鍛樺伐濮撳悕/鎵嬫満鍙�" prop="memberName">
+ <el-input v-model="searchForm.memberName" placeholder="璇疯緭鍏ュ憳宸ュ鍚�/鎵嬫満鍙�" @keypress.enter.native="search"></el-input>
</el-form-item>
- <el-form-item label="閮ㄩ棬" prop="code">
- <el-select v-model="value" placeholder="璇烽�夋嫨">
- <el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value">
- </el-option>
- </el-select>
+ <el-form-item label="閮ㄩ棬" prop="companyName">
+ <el-input v-model="searchForm.companyName" placeholder="璇疯緭鍏ラ儴闂�" @keypress.enter.native="search"></el-input>
</el-form-item>
<section>
<el-button type="primary" @click="search">鎼滅储</el-button>
@@ -26,7 +19,7 @@
<!-- 琛ㄦ牸鍜屽垎椤� -->
<template v-slot:table-wrap>
<ul class="toolbar" v-permissions="['business:member:create', 'business:member:delete']">
- <li><el-button type="primary" @click="$refs.operaCarsWindow.open('鏂板缓杞﹁締淇℃伅琛�')" icon="el-icon-plus" v-permissions="['business:member:create']">鏂板缓</el-button></li>
+<!-- <li><el-button type="primary" @click="$refs.operaCarsWindow.open('鏂板缓杞﹁締淇℃伅琛�')" icon="el-icon-plus" v-permissions="['business:member:create']">鏂板缓</el-button></li>-->
<li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:member:delete']">鍒犻櫎</el-button></li>
</ul>
<el-table
@@ -37,13 +30,25 @@
>
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column prop="code" label="杞︾墝鍙�" min-width="100px"></el-table-column>
- <el-table-column prop="code" label="鍋滆溅鍦�" min-width="100px"></el-table-column>
- <el-table-column prop="remark" label="鐢ㄦ埛绫诲瀷" min-width="100px"></el-table-column>
- <el-table-column prop="remark" label="濮撳悕" min-width="100px"></el-table-column>
- <el-table-column prop="remark" label="鎵嬫満鍙�" min-width="100px"></el-table-column>
- <el-table-column prop="remark" label="閮ㄩ棬/鍏徃" min-width="100px"></el-table-column>
+ <el-table-column prop="parksName" label="鍋滆溅鍦�" min-width="100px"></el-table-column>
+ <el-table-column label="鐢ㄦ埛绫诲瀷" min-width="100px">
+ <template slot-scope="{row}">
+ <span v-if="row.memberType === 0">鍔冲姟璁垮</span>
+ <span v-if="row.memberType === 1">鏅�氳瀹�</span>
+ <span v-if="row.memberType === 2">鍐呴儴浜哄憳</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="memberName" label="濮撳悕" min-width="100px"></el-table-column>
+ <el-table-column prop="memberPhone" label="鎵嬫満鍙�" min-width="100px"></el-table-column>
+ <el-table-column prop="companyName" label="閮ㄩ棬/鍏徃" min-width="100px"></el-table-column>
<el-table-column prop="remark" label="澶囨敞" min-width="100px"></el-table-column>
- <el-table-column prop="remark" label="鏈夋晥鏈�" min-width="100px"></el-table-column>
+ <el-table-column prop="remark" label="鏈夋晥鏈�" min-width="100px">
+ <template slot-scope="{row}">
+ <span>{{validity(row.startTime, row.endTime)}}</span>
+<!-- <span v-if="!row.startTime || !row.endTime">闀挎湡</span>-->
+<!-- <span v-else>{{row.startTime}} 鑷� {{row.endTime}}</span>-->
+ </template>
+ </el-table-column>
<el-table-column prop="createDate" label="鍒涘缓鏃堕棿" min-width="100px"></el-table-column>
<el-table-column
v-if="containPermissions(['business:member:update', 'business:member:delete'])"
@@ -52,7 +57,7 @@
fixed="right"
>
<template slot-scope="{row}">
- <el-button type="text" @click="$refs.operaCarsWindow.open('缂栬緫杞﹁締淇℃伅琛�', row)" icon="el-icon-edit" v-permissions="['business:member:update']">缂栬緫</el-button>
+<!-- <el-button type="text" @click="$refs.operaCarsWindow.open('缂栬緫杞﹁締淇℃伅琛�', row)" icon="el-icon-edit" v-permissions="['business:member:update']">缂栬緫</el-button>-->
<el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:member:delete']">鍒犻櫎</el-button>
</template>
</el-table-column>
@@ -74,6 +79,7 @@
import TableLayout from '@/layouts/TableLayout'
import Pagination from '@/components/common/Pagination'
import OperaCarsWindow from '@/components/business/OperaCarsWindow'
+import { validity } from '@/utils/util'
export default {
name: 'Cars',
extends: BaseTable,
@@ -82,9 +88,10 @@
return {
// 鎼滅储
searchForm: {
- code: ''
- },
- options: []
+ code: '',
+ memberName: '',
+ companyName: ''
+ }
}
},
created () {
diff --git a/admin/src/views/business/deviceRole.vue b/admin/src/views/business/deviceRole.vue
index 221feb0..13129b7 100644
--- a/admin/src/views/business/deviceRole.vue
+++ b/admin/src/views/business/deviceRole.vue
@@ -28,7 +28,7 @@
<el-table-column prop="isDefault" label="鏄惁榛樿" min-width="100px">
<template slot-scope="{row}">
<el-switch
- @change="changeIsDefault"
+ @change="changeIsDefault($event, row.id)"
v-model="row.isDefault"
active-color="#13ce66"
inactive-color="#ff4949"
@@ -91,8 +91,8 @@
this.search()
},
methods: {
- changeIsDefault (r) {
- updateStatusById({ isDefault: r, type: 2 })
+ changeIsDefault (r, id) {
+ updateStatusById({ isDefault: r, type: 2, id })
.finally(() => {
this.search()
})
diff --git a/admin/src/views/business/empower.vue b/admin/src/views/business/empower.vue
index a6373f5..e65ceac 100644
--- a/admin/src/views/business/empower.vue
+++ b/admin/src/views/business/empower.vue
@@ -2,34 +2,45 @@
<TableLayout :permissions="['business:empower:query']">
<!-- 鎼滅储琛ㄥ崟 -->
<el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
- <el-form-item label="濮撳悕鎵嬫満鍙�" prop="startTime">
- <el-input v-model="searchForm.startTime" placeholder="璇疯緭鍏ュ鍚�/鎵嬫満鍙�" @keypress.enter.native="search"></el-input>
+ <el-form-item label="濮撳悕鎵嬫満鍙�" prop="keyWords">
+ <el-input v-model="searchForm.keyWords" placeholder="璇疯緭鍏ュ鍚�/鎵嬫満鍙�" @keypress.enter.native="search"></el-input>
</el-form-item>
<el-form-item label="涓嬪彂鐘舵��" prop="sendStatus">
- <el-select v-model="searchForm.sendStatus" placeholder="璇烽�夋嫨">
+ <el-select v-model="searchForm.sendStatus" placeholder="璇烽�夋嫨" @keypress.enter.native="search">
<el-option label="寰呬笅鍙�" value="0"></el-option>
<el-option label="宸蹭笅鍙�" value="1"></el-option>
- <el-option label="宸插彇娑�" value="2"></el-option>
+ <el-option label="涓嬪彂鎴愬姛" value="2"></el-option>
+ <el-option label="宸插彇娑�" value="3"></el-option>
+ <el-option label="涓嬪彂澶辫触" value="4"></el-option>
</el-select>
</el-form-item>
- <el-form-item label="鍏徃" prop="sendStatus">
- <el-select v-model="searchForm.sendStatus" placeholder="璇烽�夋嫨鍏徃">
+ <el-form-item label="鍏徃" prop="companyId">
+ <el-select v-model="searchForm.companyId" placeholder="璇烽�夋嫨鍏徃" @keypress.enter.native="search">
<el-option label="寰呬笅鍙�" value="0"></el-option>
<el-option label="宸蹭笅鍙�" value="1"></el-option>
<el-option label="宸插彇娑�" value="2"></el-option>
</el-select>
</el-form-item>
<el-form-item label="涓嬪彂璧峰鏃堕棿" prop="startTime">
- <el-input v-model="searchForm.startTime" placeholder="璇疯緭鍏ラ棬绂佹湁鏁堟湡寮�濮�" @keypress.enter.native="search"></el-input>
+ <el-date-picker
+ @change="seleTime"
+ v-model="time"
+ @keypress.enter.native="search"
+ type="datetimerange"
+ format="yyyy-MM-dd HH:mm:ss"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ range-separator="鑷�"
+ start-placeholder="寮�濮嬫棩鏈�"
+ end-placeholder="缁撴潫鏃ユ湡">
+ </el-date-picker>
</el-form-item>
- <el-radio-group v-model="searchForm.eventType" size="small">
- <el-radio-button label="褰撳ぉ"></el-radio-button>
- <el-radio-button label="杩�7澶�"></el-radio-button>
- <el-radio-button label="杩�30澶�"></el-radio-button>
+ <el-radio-group v-model="searchForm.radio" size="small" @input="changeRadio">
+ <el-radio-button label="0">褰撳ぉ</el-radio-button>
+ <el-radio-button label="1">杩�7澶�</el-radio-button>
+ <el-radio-button label="2">杩�30澶�</el-radio-button>
</el-radio-group>
<section>
<el-button type="primary" @click="search">鎼滅储</el-button>
-<!-- <el-button type="primary" :loading="isWorking.export" v-permissions="['business:member:exportExcel']" @click="exportExcel">瀵煎嚭</el-button>-->
<el-button @click="reset">閲嶇疆</el-button>
</section>
</el-form>
@@ -37,8 +48,8 @@
<template v-slot:table-wrap>
<ul class="toolbar" v-permissions="['business:empower:create', 'business:empower:delete']">
<li><el-button type="primary" v-permissions="['business:empower:create']">瀵煎嚭</el-button></li>
- <li><el-button type="primary" v-permissions="['business:empower:create']">绔嬪嵆涓嬪彂</el-button></li>
- <li><el-button type="primary" v-permissions="['business:empower:create']">鍙栨秷涓嬪彂</el-button></li>
+<!-- <li><el-button type="primary" v-permissions="['business:empower:create']">绔嬪嵆涓嬪彂</el-button></li>-->
+<!-- <li><el-button type="primary" v-permissions="['business:empower:create']">鍙栨秷涓嬪彂</el-button></li>-->
</ul>
<el-table
v-loading="isWorking.search"
@@ -89,6 +100,7 @@
import BaseTable from '@/components/base/BaseTable'
import TableLayout from '@/layouts/TableLayout'
import Pagination from '@/components/common/Pagination'
+import { timeForMat } from '@/utils/util'
export default {
name: 'Empower',
extends: BaseTable,
@@ -97,10 +109,14 @@
return {
// 鎼滅储
searchForm: {
+ keyWords: '',
+ companyId: '',
startTime: '',
endTime: '',
- sendStatus: ''
- }
+ sendStatus: '',
+ radio: null
+ },
+ time: []
}
},
created () {
@@ -111,6 +127,38 @@
'field.main': 'id'
})
this.search()
+ },
+ methods: {
+ changeRadio (e) {
+ if (e === '0') {
+ this.searchForm.startTime = timeForMat(1)[0]
+ this.searchForm.endTime = timeForMat(1)[1]
+ this.time = timeForMat(1)
+ } else if (e === '1') {
+ this.searchForm.startTime = timeForMat(7)[0]
+ this.searchForm.endTime = timeForMat(7)[1]
+ this.time = timeForMat(7)
+ } else if (e === '2') {
+ this.searchForm.startTime = timeForMat(30)[0]
+ this.searchForm.endTime = timeForMat(30)[1]
+ this.time = timeForMat(30)
+ }
+ this.search()
+ },
+ seleTime (e) {
+ this.searchForm.startTime = e[0]
+ this.searchForm.endTime = e[1]
+ this.searchForm.radio = null
+ this.search()
+ },
+ reset () {
+ this.$refs.searchForm.resetFields()
+ this.searchForm.startTime = ''
+ this.searchForm.endTime = ''
+ this.time = []
+ this.searchForm.radio = null
+ this.search()
+ }
}
}
</script>
diff --git a/admin/src/views/business/freezePersonnel.vue b/admin/src/views/business/freezePersonnel.vue
index 9bbe5f7..160a642 100644
--- a/admin/src/views/business/freezePersonnel.vue
+++ b/admin/src/views/business/freezePersonnel.vue
@@ -26,7 +26,7 @@
<!-- 琛ㄦ牸鍜屽垎椤� -->
<template v-slot:table-wrap>
<ul class="toolbar" v-permissions="['business:member:create', 'business:member:delete']">
- <li><el-button type="primary" v-permissions="['business:member:create']">瑙e喕</el-button></li>
+ <li><el-button type="primary" v-permissions="['business:member:create']" @click="thaws()">瑙e喕</el-button></li>
<li><el-button type="primary" :loading="isWorking.export" v-permissions="['business:member:exportExcel']" @click="exportExcel">瀵煎嚭</el-button></li>
</ul>
<el-table
@@ -37,7 +37,7 @@
>
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column prop="name" label="濮撳悕" min-width="100px"></el-table-column>
- <el-table-column prop="companyId" label="閮ㄩ棬" min-width="100px"></el-table-column>
+ <el-table-column prop="companyName" label="閮ㄩ棬" min-width="100px"></el-table-column>
<el-table-column prop="code" label="宸ュ彿" min-width="100px"></el-table-column>
<el-table-column prop="visitsLastDate" label="鏈�鍚庝竴娆¢棬绂佹椂闂�" min-width="100px"></el-table-column>
<el-table-column prop="userActionType1" label="鍐荤粨鏃堕棿" min-width="100px"></el-table-column>
@@ -48,7 +48,7 @@
fixed="right"
>
<template slot-scope="{row}">
- <el-button type="text" icon="el-icon-edit" v-permissions="['business:member:update']">瑙e喕</el-button>
+ <el-button type="text" @click="thaw([{id: row.id}])" icon="el-icon-edit" v-permissions="['business:member:update']">瑙e喕</el-button>
</template>
</el-table-column>
</el-table>
@@ -86,7 +86,7 @@
},
created () {
this.config({
- module: '浜哄憳淇℃伅琛�',
+ module: '鍐荤粨浜哄憳',
api: '/business/block',
'field.id': 'id',
'field.main': 'id'
@@ -95,6 +95,28 @@
this.getfindCompanyTreePage()
},
methods: {
+ thaws () {
+ if (this.tableData.selectedRows.length === 0) return this.$message.warning('鑷冲皯閫夋嫨涓�椤瑰唴瀹�')
+ const ids = this.tableData.selectedRows.map(item => {
+ return { id: item.id }
+ })
+ this.thaw(ids)
+ },
+ thaw (ids) {
+ this.$confirm('纭畾瑙e喕姝ょ敤鎴峰悧?', '鎻愮ず', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning'
+ }).then(() => {
+ updateRemoveStatusById(ids)
+ .then(res => {
+ this.$message.success('鎿嶄綔鎴愬姛')
+ this.search()
+ })
+ }).catch(() => {
+
+ })
+ },
changeCompanyId (e) {
this.searchForm.companyId = e[e.length - 1]
},
@@ -102,9 +124,7 @@
getfindCompanyTreePage () {
findCompanyTreePage(1)
.then(res => {
- console.log(res)
this.options = res
- // this.search()
})
}
}
diff --git a/admin/src/views/business/laborSource.vue b/admin/src/views/business/laborSource.vue
index 7575406..305de49 100644
--- a/admin/src/views/business/laborSource.vue
+++ b/admin/src/views/business/laborSource.vue
@@ -68,18 +68,17 @@
getData () {
getLaborConfigDTO({})
.then(res => {
- this.form.id = res.id
- this.form.checkVisit = res.LaborConfigParam.checkVisit
+ this.form.checkVisit = res.laborConfigParam.checkVisit
this.form.description = res.description
- this.form.healthCard = res.LaborConfigParam.healthCard
- this.form.isAnswer = res.LaborConfigParam.isAnswer
- this.form.reservationWay = res.LaborConfigParam.reservationWay
+ this.form.healthCard = res.laborConfigParam.healthCard
+ this.form.isAnswer = res.laborConfigParam.isAnswer
+ this.form.reservationWay = res.laborConfigParam.reservationWay
this.form.theme = res.theme
})
},
submit () {
updateLaborConfigDTO({
- LaborConfigParam: {
+ laborConfigParam: {
isAnswer: this.form.isAnswer,
healthCard: this.form.healthCard,
checkVisit: this.form.checkVisit,
diff --git a/admin/src/views/business/parks.vue b/admin/src/views/business/parks.vue
index 9817b0b..f0beb14 100644
--- a/admin/src/views/business/parks.vue
+++ b/admin/src/views/business/parks.vue
@@ -2,16 +2,16 @@
<TableLayout :permissions="['business:member:query']">
<!-- 鎼滅储琛ㄥ崟 -->
<el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
- <el-form-item label="鍋滆溅搴撳悕绉�" prop="title">
- <el-input v-model="searchForm.title" placeholder="璇疯緭鍏ュ仠杞﹀簱鍚嶇О" @keypress.enter.native="search"></el-input>
+ <el-form-item label="鍋滆溅搴撳悕绉�" prop="name">
+ <el-input v-model="searchForm.name" placeholder="璇疯緭鍏ュ仠杞﹀簱鍚嶇О" @keypress.enter.native="search"></el-input>
</el-form-item>
- <el-form-item label="鎵�灞炲仠杞﹀簱" prop="title">
- <el-select v-model="searchForm.title" placeholder="璇烽�夋嫨">
+ <el-form-item label="鎵�灞炲仠杞﹀簱" prop="parentHkId">
+ <el-select v-model="searchForm.parentHkId" placeholder="璇烽�夋嫨">
<el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value">
+ v-for="item in list"
+ :key="item.id"
+ :label="item.name"
+ :value="item.id">
</el-option>
</el-select>
</el-form-item>
@@ -30,15 +30,15 @@
:data="tableData.list"
stripe
>
- <el-table-column prop="createDate" label="鍋滆溅搴撳悕绉�" min-width="100px"></el-table-column>
- <el-table-column prop="createDate" label="鎵�灞炲仠杞﹀簱" min-width="100px"></el-table-column>
- <el-table-column prop="createDate" label="鍒涘缓鏃堕棿" min-width="100px"></el-table-column>
- <el-table-column prop="editDate" label="鏇存柊鏃堕棿" min-width="100px"></el-table-column>
+ <el-table-column prop="name" label="鍋滆溅搴撳悕绉�" min-width="100px"></el-table-column>
+ <el-table-column prop="parentName" label="鎵�灞炲仠杞﹀簱" min-width="100px"></el-table-column>
+ <el-table-column prop="parkCreateDate" label="鍒涘缓鏃堕棿" min-width="100px"></el-table-column>
+ <el-table-column prop="parkEditDate" label="鏇存柊鏃堕棿" min-width="100px"></el-table-column>
</el-table>
<pagination
- @size-change="handleSizeChange"
- @current-change="handlePageChange"
- :pagination="tableData.pagination"
+ @size-change="handleSizeChange"
+ @current-change="handlePageChange"
+ :pagination="tableData.pagination"
>
</pagination>
</template>
@@ -49,6 +49,7 @@
import BaseTable from '@/components/base/BaseTable'
import TableLayout from '@/layouts/TableLayout'
import Pagination from '@/components/common/Pagination'
+import { findList } from '@/api/business/parks'
export default {
name: 'Parks',
extends: BaseTable,
@@ -57,9 +58,10 @@
return {
// 鎼滅储
searchForm: {
- title: ''
+ name: '',
+ parentHkId: ''
},
- options: []
+ list: []
}
},
created () {
@@ -70,6 +72,16 @@
'field.main': 'id'
})
this.search()
+ this.getfindList()
+ },
+ methods: {
+ getfindList () {
+ findList({})
+ .then(res => {
+ this.list = res
+ console.log(res)
+ })
+ }
}
}
</script>
diff --git a/admin/src/views/business/strandedPersonnel.vue b/admin/src/views/business/strandedPersonnel.vue
index 0ea6dd6..904b9a6 100644
--- a/admin/src/views/business/strandedPersonnel.vue
+++ b/admin/src/views/business/strandedPersonnel.vue
@@ -5,27 +5,13 @@
<el-form-item label="濮撳悕" prop="name">
<el-input v-model="searchForm.name" placeholder="璇疯緭鍏ヨ瀹㈠悕绉�" @keypress.enter.native="search"></el-input>
</el-form-item>
- <el-form-item label="鍏徃鍚嶇О" prop="code">
- <el-input v-model="searchForm.code" placeholder="璇疯緭鍏ュ伐鍙�" @keypress.enter.native="search"></el-input>
+ <el-form-item label="鍏徃鍚嶇О" prop="companyName">
+ <el-input v-model="searchForm.companyName" placeholder="璇疯緭鍏ュ叕鍙稿悕绉�" @keypress.enter.native="search"></el-input>
</el-form-item>
- <el-form-item label="鎿嶄綔浜哄憳" prop="code">
- <el-select v-model="searchForm.code" placeholder="璇烽�夋嫨">
- <el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value">
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="鐢ㄦ埛绫诲瀷" prop="companyId">
- <el-select v-model="searchForm.code" placeholder="璇烽�夋嫨">
- <el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value">
- </el-option>
+ <el-form-item label="鐢ㄦ埛绫诲瀷" prop="type">
+ <el-select v-model="searchForm.type" placeholder="璇烽�夋嫨">
+ <el-option label="璁垮" value="1"></el-option>
+ <el-option label="鍔冲姟" value="0"></el-option>
</el-select>
</el-form-item>
<section>
@@ -35,19 +21,19 @@
</el-form>
<!-- 琛ㄦ牸鍜屽垎椤� -->
<template v-slot:table-wrap>
- <ul class="toolbar" v-permissions="['business:member:create', 'business:member:delete']">
- <li><el-button type="primary" v-permissions="['business:member:create']">绂诲満</el-button></li>
- </ul>
+<!-- <ul class="toolbar" v-permissions="['business:member:create', 'business:member:delete']">-->
+<!-- <li><el-button type="primary" v-permissions="['business:member:create']" @click="thaws">绂诲満</el-button></li>-->
+<!-- </ul>-->
<el-table
- v-loading="isWorking.search"
- :data="tableData.list"
- stripe
- @selection-change="handleSelectionChange"
+ v-loading="isWorking.search"
+ :data="tableData.list"
+ stripe
+ @selection-change="handleSelectionChange"
>
- <el-table-column type="selection" width="55"></el-table-column>
+<!-- <el-table-column type="selection" width="55"></el-table-column>-->
<el-table-column prop="name" label="濮撳悕" min-width="100px"></el-table-column>
<el-table-column prop="phone" label="鎵嬫満鍙�" min-width="100px"></el-table-column>
- <el-table-column prop="company_id" label="鍏徃" min-width="100px"></el-table-column>
+ <el-table-column prop="companyName" label="鍏徃" min-width="100px"></el-table-column>
<el-table-column label="鐢ㄦ埛绫诲瀷" min-width="100px">
<template slot-scope="{row}">
<span v-if="row.type === 0">鍔冲姟璁垮</span>
@@ -55,26 +41,31 @@
<span v-if="row.type === 2">鍐呴儴浜哄憳</span>
</template>
</el-table-column>
- <el-table-column prop="idcard_id" label="鍏ュ満鏃堕棿" min-width="100px"></el-table-column>
- <el-table-column prop="edit_date" label="鎺堟潈鍒版湡鏃堕棿" min-width="100px"></el-table-column>
- <el-table-column prop="idcard_id" label="瓒呮椂鏃堕暱" min-width="100px"></el-table-column>
- <el-table-column prop="idcard_id" label="鐘舵��" min-width="100px"></el-table-column>
- <el-table-column prop="editor" label="鎿嶄綔浜�" min-width="100px"></el-table-column>
- <el-table-column
- v-if="containPermissions(['business:member:update', 'business:member:delete'])"
- label="鎿嶄綔"
- min-width="120"
- fixed="right"
- >
+ <el-table-column prop="inDate" label="鍏ュ満鏃堕棿" min-width="100px"></el-table-column>
+ <el-table-column prop="endtime" label="鎺堟潈鍒版湡鏃堕棿" min-width="100px"></el-table-column>
+ <el-table-column prop="timeOut" label="瓒呮椂鏃堕暱" min-width="100px"></el-table-column>
+ <el-table-column label="鐘舵��" min-width="100px">
<template slot-scope="{row}">
- <el-button type="text" icon="el-icon-edit" v-permissions="['business:member:update']">绂诲巶</el-button>
+ <span v-if="row.outStatus === 0">鏈秴鏃�</span>
+ <span v-else-if="row.timeOut === 1">宸茶秴鏃�</span>
+ <span v-else-if="row.timeOut === 2">鍗冲皢瓒呮椂</span>
</template>
</el-table-column>
+<!-- <el-table-column-->
+<!-- v-if="containPermissions(['business:member:update', 'business:member:delete'])"-->
+<!-- label="鎿嶄綔"-->
+<!-- min-width="120"-->
+<!-- fixed="right"-->
+<!-- >-->
+<!-- <template slot-scope="{row}">-->
+<!-- <el-button type="text" icon="el-icon-edit" v-permissions="['business:member:update']" @click="thaw(row.id)">绂诲巶</el-button>-->
+<!-- </template>-->
+<!-- </el-table-column>-->
</el-table>
<pagination
- @size-change="handleSizeChange"
- @current-change="handlePageChange"
- :pagination="tableData.pagination"
+ @size-change="handleSizeChange"
+ @current-change="handlePageChange"
+ :pagination="tableData.pagination"
>
</pagination>
</template>
@@ -85,6 +76,7 @@
import BaseTable from '@/components/base/BaseTable'
import TableLayout from '@/layouts/TableLayout'
import Pagination from '@/components/common/Pagination'
+import { findAllList } from '@/api/system/common'
export default {
name: 'strandedPersonnel',
extends: BaseTable,
@@ -93,23 +85,58 @@
return {
// 鎼滅储
searchForm: {
- companyId: '',
+ companyName: '',
name: '',
- code: '',
status: 2,
- type: 1
+ type: '1'
},
- options: []
+ user: []
}
},
created () {
this.config({
module: '浜哄憳淇℃伅琛�',
- api: '/business/member',
+ api: '/business/strandedPersonnel',
'field.id': 'id',
'field.main': 'id'
})
this.search()
+ this.getUser()
+ },
+ methods: {
+ // thaws () {
+ // if (this.tableData.selectedRows.length === 0) return this.$message.warning('鑷冲皯閫夋嫨涓�椤瑰唴瀹�')
+ // const ids = this.tableData.selectedRows.map(item => {
+ // return { id: item.id }
+ // })
+ // this.thaw(ids)
+ // },
+ // thaw (ids) {
+ // this.$confirm('纭畾绉婚櫎姝ょ敤鎴峰悧?', '鎻愮ず', {
+ // confirmButtonText: '纭畾',
+ // cancelButtonText: '鍙栨秷',
+ // type: 'warning'
+ // }).then(() => {
+ // // updateRemoveStatusById(ids)
+ // // .then(res => {
+ // // this.$message.success('鎿嶄綔鎴愬姛')
+ // // this.search()
+ // // })
+ // }).catch(() => {
+ //
+ // })
+ // },
+ getUser () {
+ findAllList({})
+ .then(res => {
+ this.user = res.map(item => {
+ return {
+ name: item.realname,
+ id: item.id
+ }
+ })
+ })
+ }
}
}
</script>
diff --git a/admin/src/views/business/visitorManagement.vue b/admin/src/views/business/visitorManagement.vue
index 9ae6170..47fad08 100644
--- a/admin/src/views/business/visitorManagement.vue
+++ b/admin/src/views/business/visitorManagement.vue
@@ -34,7 +34,12 @@
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column prop="name" label="濮撳悕" min-width="100px"></el-table-column>
<el-table-column prop="phone" label="鎵嬫満鍙�" min-width="100px"></el-table-column>
- <el-table-column prop="phone" label="鎬у埆" min-width="100px"></el-table-column>
+ <el-table-column prop="phone" label="鎬у埆" min-width="100px">
+ <template slot-scope="{row}">
+ <span v-if="row.sex === 1">鐢�</span>
+ <span v-if="row.sex === 2">濂�</span>
+ </template>
+ </el-table-column>
<el-table-column label="璇佷欢绫诲瀷" min-width="100px">
<template slot-scope="{row}">
<span v-if="row.idcardType === 0">韬唤璇�</span>
@@ -42,9 +47,9 @@
<span v-if="row.idcardType === 2">鎶ょ収</span>
</template>
</el-table-column>
- <el-table-column prop="idcardNo" label="韬唤璇佸彿" min-width="100px"></el-table-column>
+ <el-table-column prop="idcardDecode" label="韬唤璇佸彿" width="150px"></el-table-column>
<el-table-column prop="companyName" label="鍏徃" min-width="100px"></el-table-column>
- <el-table-column prop="visitTimes" label="鎷滆娆℃暟" min-width="100px"></el-table-column>
+ <el-table-column prop="visitsCount" label="鎷滆娆℃暟" min-width="100px"></el-table-column>
<el-table-column prop="lastVisitDate" label="鏈�鍚庢嫓璁挎椂闂�" min-width="100px"></el-table-column>
</el-table>
<pagination
diff --git a/admin/src/views/business/visitorSources.vue b/admin/src/views/business/visitorSources.vue
index 6dfe77f..b0675bd 100644
--- a/admin/src/views/business/visitorSources.vue
+++ b/admin/src/views/business/visitorSources.vue
@@ -68,18 +68,17 @@
getData () {
getVisitConfigDTO({})
.then(res => {
- this.form.id = res.id
- this.form.checkVisit = res.VisitConfigParam.checkVisit
+ this.form.checkVisit = res.visitConfigParam.checkVisit
this.form.description = res.description
- this.form.healthCard = res.VisitConfigParam.healthCard
- this.form.isAnswer = res.VisitConfigParam.isAnswer
- this.form.reservationWay = res.VisitConfigParam.reservationWay
+ this.form.healthCard = res.visitConfigParam.healthCard
+ this.form.isAnswer = res.visitConfigParam.isAnswer
+ this.form.reservationWay = res.visitConfigParam.reservationWay
this.form.theme = res.theme
})
},
submit () {
updateVisitConfig({
- VisitConfigParam: {
+ visitConfigParam: {
isAnswer: this.form.isAnswer,
healthCard: this.form.healthCard,
checkVisit: this.form.checkVisit,
diff --git a/admin/src/views/business/visits.vue b/admin/src/views/business/visits.vue
index 239a1ab..db138a5 100644
--- a/admin/src/views/business/visits.vue
+++ b/admin/src/views/business/visits.vue
@@ -48,20 +48,18 @@
<el-table-column prop="reason" label="鎷滆浜嬬敱" min-width="100px"></el-table-column>
<el-table-column label="鎷滆鏃堕棿" min-width="170px">
<template slot-scope="{row}">
- <span>璧凤細{{row.starttime}}</span>
+ <span>璧凤細{{row.starttime}}</span><br/>
<span>姝細{{row.endtime}}</span>
</template>
</el-table-column>
<el-table-column label="闅忚浜哄憳" min-width="100px">
<template slot-scope="{row}">
- <span v-if="row.visitsList && row.visitsList.length > 0">{{row.visitsList.length}}</span>
- <span>0</span>
+ <span>{{row.memberNum}}</span>
</template>
</el-table-column>
<el-table-column label="闅忚杞﹁締" min-width="100px">
<template slot-scope="{row}">
<span v-if="row.carNos">{{row.carNos.split(',').length}}</span>
- <span>0</span>
</template>
</el-table-column>
<el-table-column prop="status" fixed="right" label="鐘舵��" min-width="100px">
@@ -78,12 +76,12 @@
<el-table-column
v-if="containPermissions(['business:visits:update', 'business:visits:delete'])"
label="鎿嶄綔"
- min-width="190"
+ min-width="100"
fixed="right"
>
<template slot-scope="{row}">
<el-button type="text" @click="$refs.OperaVisitsDesWindow.open('璇︽儏', row.id)" v-permissions="['business:visits:update']">鏌ョ湅璇︽儏</el-button>
- <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:visits:delete']">鏌ヨ瀹℃壒缁撴灉</el-button>
+<!-- <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:visits:delete']">鏌ヨ瀹℃壒缁撴灉</el-button>-->
</template>
</el-table-column>
</el-table>
diff --git a/admin/vue.config.js b/admin/vue.config.js
index f1d1370..7a891e9 100644
--- a/admin/vue.config.js
+++ b/admin/vue.config.js
@@ -11,9 +11,11 @@
proxy: {
[process.env.VUE_APP_API_PREFIX]: {
// http://192.168.0.130:10013
- // 192.168.0.110:10013 192.168.0.110:10013
+ // 192.168.0.110:10013
// http://192.168.0.101:10013
- // http://192.168.0.132:10013
+ // http://192.168.0.132:10013 浠诲悍
+ // http://192.168.0.110:10013 纾婄
+ // http://192.168.0.133:10013 甯呭摜
target: 'http://192.168.0.132:10013',
changeOrigin: true,
pathRewrite: {
diff --git a/server/dmvisit_admin/src/main/java/com/doumee/api/business/CarEventController.java b/server/dmvisit_admin/src/main/java/com/doumee/api/business/CarEventController.java
index 120f8b2..406b086 100644
--- a/server/dmvisit_admin/src/main/java/com/doumee/api/business/CarEventController.java
+++ b/server/dmvisit_admin/src/main/java/com/doumee/api/business/CarEventController.java
@@ -8,6 +8,7 @@
import com.doumee.core.model.PageData;
import com.doumee.dao.admin.response.CarEventDTO;
import com.doumee.dao.business.model.CarEvent;
+import com.doumee.dao.system.vo.CarEventVo;
import com.doumee.service.business.CarEventService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -79,7 +80,7 @@
@PostMapping("/exportExcel")
//@RequiresPermissions("business:carevent:exportExcel")
public void exportExcel (@RequestBody PageWrap<CarEvent> pageWrap, HttpServletResponse response) {
- ExcelExporter.build(CarEvent.class).exportWithFirstAndEnd (carEventService.findPage(pageWrap).getRecords(),"鍋滆溅鍦轰簨浠舵帹閫佽褰曡〃", null, "鍋滆溅鍦轰簨浠舵帹閫佽褰曞鍑烘姤琛�",null , response);
+ ExcelExporter.build(CarEventVo.class).exportWithFirstAndEnd (carEventService.findPageExcel(pageWrap),"鍋滆溅鍦轰簨浠舵帹閫佽褰曡〃", null, "鍋滆溅鍦轰簨浠舵帹閫佽褰曞鍑烘姤琛�",null , response);
// ExcelExporter.build(CarEvent.class).export(carEventService.findPage(pageWrap).getRecords(), "鍋滆溅鍦轰簨浠舵帹閫佽褰曡〃", response);
}
diff --git a/server/dmvisit_admin/src/main/java/com/doumee/api/business/DeviceEventController.java b/server/dmvisit_admin/src/main/java/com/doumee/api/business/DeviceEventController.java
index e4f472b..f9b1493 100644
--- a/server/dmvisit_admin/src/main/java/com/doumee/api/business/DeviceEventController.java
+++ b/server/dmvisit_admin/src/main/java/com/doumee/api/business/DeviceEventController.java
@@ -8,6 +8,7 @@
import com.doumee.core.model.PageData;
import com.doumee.dao.admin.response.DeviceEventDTO;
import com.doumee.dao.business.model.DeviceEvent;
+import com.doumee.dao.system.vo.DeviceEventVo;
import com.doumee.service.business.DeviceEventService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -79,7 +80,7 @@
@PostMapping("/exportExcel")
//@RequiresPermissions("business:deviceevent:exportExcel")
public void exportExcel (@RequestBody PageWrap<DeviceEvent> pageWrap, HttpServletResponse response) {
- ExcelExporter.build(DeviceEvent.class).export(deviceEventService.findPage(pageWrap).getRecords(), "闂ㄧ浜嬩欢鎺ㄩ�佽褰曡〃", response);
+ ExcelExporter.build(DeviceEventVo.class).export(deviceEventService.findDeviceEventExcel(pageWrap), "闂ㄧ浜嬩欢鎺ㄩ�佽褰曡〃", response);
}
@ApiOperation("鏍规嵁ID鏌ヨ")
diff --git a/server/dmvisit_admin/src/main/java/com/doumee/api/business/MemberCardController.java b/server/dmvisit_admin/src/main/java/com/doumee/api/business/MemberCardController.java
index b3cea45..48936f5 100644
--- a/server/dmvisit_admin/src/main/java/com/doumee/api/business/MemberCardController.java
+++ b/server/dmvisit_admin/src/main/java/com/doumee/api/business/MemberCardController.java
@@ -33,14 +33,14 @@
@PreventRepeat
@ApiOperation("鏂板缓")
@PostMapping("/create")
- @RequiresPermissions("business:membercard:create")
+ //@RequiresPermissions("business:membercard:create")
public ApiResponse create(@RequestBody MemberCard memberCard) {
return ApiResponse.success(memberCardService.create(memberCard));
}
@ApiOperation("鏍规嵁ID鍒犻櫎")
@GetMapping("/delete/{id}")
- @RequiresPermissions("business:membercard:delete")
+ //@RequiresPermissions("business:membercard:delete")
public ApiResponse deleteById(@PathVariable Integer id) {
memberCardService.deleteById(id);
return ApiResponse.success(null);
@@ -48,7 +48,7 @@
@ApiOperation("鎵归噺鍒犻櫎")
@GetMapping("/delete/batch")
- @RequiresPermissions("business:membercard:delete")
+ //@RequiresPermissions("business:membercard:delete")
public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
String [] idArray = ids.split(",");
List<Integer> idList = new ArrayList<>();
@@ -61,15 +61,31 @@
@ApiOperation("鏍规嵁ID淇敼")
@PostMapping("/updateById")
- @RequiresPermissions("business:membercard:update")
+ //@RequiresPermissions("business:membercard:update")
public ApiResponse updateById(@RequestBody MemberCard memberCard) {
memberCardService.updateById(memberCard);
return ApiResponse.success(null);
}
+ @ApiOperation("鎸傚け/瑙f寕鎿嶄綔")
+ @PostMapping("/batchUpdate")
+ //@RequiresPermissions("business:membercard:update")
+ public ApiResponse batchUpdate(@RequestBody List<MemberCard> memberCards) {
+ memberCardService.updateByIdInBatch(memberCards);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("閫�鍗℃搷浣�")
+ @PostMapping("/refundCard")
+ //@RequiresPermissions("business:membercard:update")
+ public ApiResponse refundCard(@RequestBody MemberCard memberCard) {
+ memberCardService.updateRefundCard(memberCard);
+ return ApiResponse.success(null);
+ }
+
@ApiOperation("鍒嗛〉鏌ヨ")
@PostMapping("/page")
- @RequiresPermissions("business:membercard:query")
+ //@RequiresPermissions("business:membercard:query")
public ApiResponse<PageData<MemberCard>> findPage (@RequestBody PageWrap<MemberCard> pageWrap) {
return ApiResponse.success(memberCardService.findPage(pageWrap));
}
@@ -87,4 +103,13 @@
public ApiResponse findById(@PathVariable Integer id) {
return ApiResponse.success(memberCardService.findById(id));
}
+
+ @ApiOperation("鏍规嵁鏉′欢鏌ヨ鍙敤鍗″彿")
+ @PostMapping("/queryCard")
+ //@RequiresPermissions("business:membercard:query")
+ public ApiResponse<List<MemberCard>> queryCard () {
+ MemberCard card = new MemberCard();
+ return ApiResponse.success(memberCardService.findList(card));
+ }
+
}
diff --git a/server/dmvisit_admin/src/main/java/com/doumee/api/business/MemberController.java b/server/dmvisit_admin/src/main/java/com/doumee/api/business/MemberController.java
index 40cf28e..a64efdb 100644
--- a/server/dmvisit_admin/src/main/java/com/doumee/api/business/MemberController.java
+++ b/server/dmvisit_admin/src/main/java/com/doumee/api/business/MemberController.java
@@ -194,6 +194,11 @@
return ApiResponse.success(memberService.findUnusualPage(pageWrap));
}
-
+ @ApiOperation("鏍规嵁绫诲瀷鏌ヨ浜哄憳淇℃伅")
+ @PostMapping("/findTypeMemberInfo")
+ //@RequiresPermissions("business:member:query")
+ public ApiResponse<List<Member>> findTypeMemberInfo (@RequestBody Member member) {
+ return ApiResponse.success(memberService.findList(member));
+ }
}
diff --git a/server/dmvisit_admin/src/main/java/com/doumee/api/business/VisitEventController.java b/server/dmvisit_admin/src/main/java/com/doumee/api/business/VisitEventController.java
index 9f2cd2f..e65e0b2 100644
--- a/server/dmvisit_admin/src/main/java/com/doumee/api/business/VisitEventController.java
+++ b/server/dmvisit_admin/src/main/java/com/doumee/api/business/VisitEventController.java
@@ -8,6 +8,7 @@
import com.doumee.core.model.PageData;
import com.doumee.dao.admin.response.VisitEventDTO;
import com.doumee.dao.business.model.VisitEvent;
+import com.doumee.dao.system.vo.VisitEventVo;
import com.doumee.service.business.VisitEventService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -79,7 +80,7 @@
@PostMapping("/exportExcel")
//@RequiresPermissions("business:visitevent:exportExcel")
public void exportExcel (@RequestBody PageWrap<VisitEvent> pageWrap, HttpServletResponse response) {
- ExcelExporter.build(VisitEvent.class).export(visitEventService.findPage(pageWrap).getRecords(), "璁垮浜嬩欢鎺ㄩ�佽褰曡〃", response);
+ ExcelExporter.build(VisitEventVo.class).export(visitEventService.findPageExcel(pageWrap), "璁垮浜嬩欢鎺ㄩ�佽褰曡〃", response);
}
@ApiOperation("鏍规嵁ID鏌ヨ")
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java
index 1393364..96a7d2c 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java
@@ -346,7 +346,50 @@
}
+ /**
+ * 鍗$姸鎬�
+ */
+ public enum CardStatus {
+ DISABLE(0, "绂佺敤"),
+ ENABLE(1, "鍚敤"),
+ REFUNDCARD(2, "閫�鍗�"),
+ LOSS(3, "鎸傚け"),
+
+ /** 鍗$被鍨� **/
+ IC(1,"IC鍗�"),
+ CPU(2,"CPU鍗�"),
+ YJLCARD(3,"杩滆窛绂诲崱"),
+ MCARD(4,"M鍗�");
+
+ // 鎴愬憳鍙橀噺
+ private String name;
+ private int key;
+
+ // 鏋勯�犳柟娉�
+ CardStatus(int key, String name ) {
+ this.name = name;
+ this.key = key;
+ }
+
+ // get set 鏂规硶
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public int getKey() {
+ return key;
+ }
+
+ public void setKey(int key) {
+ this.key = key;
+ }
+
+ }
}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java b/server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java
index 52d7bd4..bcb0f8a 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -63,6 +63,7 @@
public static final String ERP_USERSTATUS_RL ="ERP_USERSTATUS_RL" ;
public static final String ERP ="ERP" ;
public static final Integer THREE =3 ;
+ public static final Integer FOUR =4 ;
public static final String ORG_USER_ORIGIN = "ORG_USER_ORIGIN";
public static boolean DEALING_HK_SYNCPRIVILEGE= false;
public static boolean DEALING_HK_SYNCDEVICE = false;
@@ -214,6 +215,8 @@
public static final String WX_PLATFORM_ACCESS_TOKEN = "WX_PLATFORM_ACCESS_TOKEN";
public static final String WX_PLATFORM_APPID = "WX_PLATFORM_APPID";
public static final String WX_PLATFORM_SECRET = "WX_PLATFORM_SECRET";
+ public static final String WX_PLATFORM_AUDIT_VISIT = "WX_PLATFORM_AUDIT_VISIT";
+ public static final String WX_PLATFORM_PREFIX = "WX_PLATFORM_PREFIX";
@@ -306,7 +309,11 @@
/** 鐢ㄦ埛绫诲瀷 **/
LW_FK(0,"鍔冲姟璁垮"),
PT_FK(1,"鏅�氳瀹�"),
- NB_FK(2,"鍐呴儴浜哄憳");
+ NB_FK(2,"鍐呴儴浜哄憳"),
+
+ /** 杩涘満绫诲瀷 **/
+ OUT(0,"鍑�"),
+ IN(1,"杩�");
private Integer value;
private String des;
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/wx/WxMiniConfig.java b/server/dmvisit_service/src/main/java/com/doumee/core/wx/WxMiniConfig.java
index 4152f3c..75eb95e 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/core/wx/WxMiniConfig.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/wx/WxMiniConfig.java
@@ -1,59 +1,59 @@
package com.doumee.core.wx;
-import cn.binarywang.wx.miniapp.api.WxMaService;
-import cn.binarywang.wx.miniapp.api.impl.WxMaServiceImpl;
-import cn.binarywang.wx.miniapp.config.impl.WxMaDefaultConfigImpl;
-import com.doumee.config.mybatis.SpringUtils;
-import com.github.binarywang.wxpay.config.WxPayConfig;
-import com.github.binarywang.wxpay.constant.WxPayConstants;
-import com.github.binarywang.wxpay.service.WxPayService;
-import com.github.binarywang.wxpay.service.impl.WxPayServiceImpl;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Configuration;
-
-import javax.annotation.PostConstruct;
+//import cn.binarywang.wx.miniapp.api.WxMaService;
+//import cn.binarywang.wx.miniapp.api.impl.WxMaServiceImpl;
+//import cn.binarywang.wx.miniapp.config.impl.WxMaDefaultConfigImpl;
+//import com.doumee.config.mybatis.SpringUtils;
+//import com.github.binarywang.wxpay.config.WxPayConfig;
+//import com.github.binarywang.wxpay.constant.WxPayConstants;
+//import com.github.binarywang.wxpay.service.WxPayService;
+//import com.github.binarywang.wxpay.service.impl.WxPayServiceImpl;
+//import org.apache.commons.lang3.StringUtils;
+//import org.springframework.beans.factory.annotation.Autowired;
+//import org.springframework.context.annotation.Configuration;
+//
+//import javax.annotation.PostConstruct;
/**
* 寰俊灏忕▼搴忕粍浠�
*/
-@Configuration
+//@Configuration
public class WxMiniConfig {
- /********寰俊灏忕▼搴忔湇鍔�**********/
- public static WxMaService wxMaService;
- /********寰俊灏忕▼搴忔敮浠�**********/
- public static WxPayService wxPayService;
- /********寰俊APP鏀粯**********/
- public static WxPayService wxAppPayService;
-
-
- @Autowired
- private WxPayProperties wxPayProperties;
-
- public static WxMiniConfig me() {
- return SpringUtils.get().getBean(WxMiniConfig.class);
- }
-
- @PostConstruct
- void init() {
- this.load_WxMaService();
-// this.load_wxPayService();
-// this.load_wxAppPayService();
- }
- /**
- * 鍒濆鍖栧井淇″皬绋嬪簭
- */
- public void load_WxMaService() {
- WxMaDefaultConfigImpl config = new WxMaDefaultConfigImpl();
- config.setAppid(StringUtils.trimToNull(wxPayProperties.getAppId()));
- config.setSecret(StringUtils.trimToNull(wxPayProperties.getAppSecret()));
- config.setMsgDataFormat("JSON");
- //config.setToken("");
- //config.setAesKey("");
- WxMaService wxMaService = new WxMaServiceImpl();
- wxMaService.setWxMaConfig(config);
- this.wxMaService = wxMaService;
- }
+// /********寰俊灏忕▼搴忔湇鍔�**********/
+// public static WxMaService wxMaService;
+// /********寰俊灏忕▼搴忔敮浠�**********/
+// public static WxPayService wxPayService;
+// /********寰俊APP鏀粯**********/
+// public static WxPayService wxAppPayService;
+//
+//
+// @Autowired
+// private WxPayProperties wxPayProperties;
+//
+// public static WxMiniConfig me() {
+// return SpringUtils.get().getBean(WxMiniConfig.class);
+// }
+//
+// @PostConstruct
+// void init() {
+// this.load_WxMaService();
+//// this.load_wxPayService();
+//// this.load_wxAppPayService();
+// }
+// /**
+// * 鍒濆鍖栧井淇″皬绋嬪簭
+// */
+// public void load_WxMaService() {
+// WxMaDefaultConfigImpl config = new WxMaDefaultConfigImpl();
+// config.setAppid(StringUtils.trimToNull(wxPayProperties.getAppId()));
+// config.setSecret(StringUtils.trimToNull(wxPayProperties.getAppSecret()));
+// config.setMsgDataFormat("JSON");
+// //config.setToken("");
+// //config.setAesKey("");
+// WxMaService wxMaService = new WxMaServiceImpl();
+// wxMaService.setWxMaConfig(config);
+// this.wxMaService = wxMaService;
+// }
/**
* 鍒濆鍖栧井淇″皬绋嬪簭鏀粯
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/wx/WxMiniUtilService.java b/server/dmvisit_service/src/main/java/com/doumee/core/wx/WxMiniUtilService.java
index 71d329e..8dca404 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/core/wx/WxMiniUtilService.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/wx/WxMiniUtilService.java
@@ -3,10 +3,10 @@
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.utils.ID;
-import com.github.binarywang.wxpay.bean.request.BaseWxPayRequest;
-import com.github.binarywang.wxpay.bean.request.WxPayRefundRequest;
-import com.github.binarywang.wxpay.bean.result.WxPayRefundResult;
-import com.github.binarywang.wxpay.exception.WxPayException;
+//import com.github.binarywang.wxpay.bean.request.BaseWxPayRequest;
+//import com.github.binarywang.wxpay.bean.request.WxPayRefundRequest;
+//import com.github.binarywang.wxpay.bean.result.WxPayRefundResult;
+//import com.github.binarywang.wxpay.exception.WxPayException;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -20,34 +20,34 @@
@Slf4j
public class WxMiniUtilService {
-
- /**
- * 璁㈠崟寰俊閫�娆�
- * orderNo:鍟嗘埛璁㈠崟鍙�
- * totalPrice锛氳鍗曟�婚噾棰�
- * refundPrice锛涢��娆鹃噾棰�
- */
- @Transactional(rollbackFor = Exception.class)
- public static String wxRefund(String orderNo, BigDecimal totalPrice, BigDecimal refundPrice) {
- try {
- // 鍙戦�侀��娆捐姹�
- String refNum = ID.nextGUID();
- WxPayRefundRequest request = new WxPayRefundRequest();
- request.setOutTradeNo(orderNo);
- request.setOutRefundNo(refNum);
- // request.setTotalFee(2);
- // request.setRefundFee(1);
- request.setTotalFee(BaseWxPayRequest.yuanToFen(totalPrice.toString()));
- request.setRefundFee(BaseWxPayRequest.yuanToFen(refundPrice.toString()));
- WxPayRefundResult response = WxMiniConfig.wxPayService.refund(request);
- if ("SUCCESS".equals(response.getReturnCode()) && "SUCCESS".equals(response.getResultCode())) {
- return refNum;
- } else {
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),response.getErrCode() + response.getErrCodeDes());
- }
- } catch (WxPayException e) {
- e.printStackTrace();
- }
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"閫�娆惧彂鐢熷紓甯歌鑱旂郴绠$悊鍛�");
- }
+//
+// /**
+// * 璁㈠崟寰俊閫�娆�
+// * orderNo:鍟嗘埛璁㈠崟鍙�
+// * totalPrice锛氳鍗曟�婚噾棰�
+// * refundPrice锛涢��娆鹃噾棰�
+// */
+// @Transactional(rollbackFor = Exception.class)
+// public static String wxRefund(String orderNo, BigDecimal totalPrice, BigDecimal refundPrice) {
+// try {
+// // 鍙戦�侀��娆捐姹�
+// String refNum = ID.nextGUID();
+// WxPayRefundRequest request = new WxPayRefundRequest();
+// request.setOutTradeNo(orderNo);
+// request.setOutRefundNo(refNum);
+// // request.setTotalFee(2);
+// // request.setRefundFee(1);
+// request.setTotalFee(BaseWxPayRequest.yuanToFen(totalPrice.toString()));
+// request.setRefundFee(BaseWxPayRequest.yuanToFen(refundPrice.toString()));
+// WxPayRefundResult response = WxMiniConfig.wxPayService.refund(request);
+// if ("SUCCESS".equals(response.getReturnCode()) && "SUCCESS".equals(response.getResultCode())) {
+// return refNum;
+// } else {
+// throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),response.getErrCode() + response.getErrCodeDes());
+// }
+// } catch (WxPayException e) {
+// e.printStackTrace();
+// }
+// throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"閫�娆惧彂鐢熷紓甯歌鑱旂郴绠$悊鍛�");
+// }
}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatConfig.java b/server/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatConfig.java
new file mode 100644
index 0000000..14cbdca
--- /dev/null
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatConfig.java
@@ -0,0 +1,53 @@
+
+package com.doumee.core.wx.wxPlat;
+
+import com.doumee.biz.system.SystemDictDataBiz;
+import com.doumee.core.utils.Constants;
+import me.chanjar.weixin.mp.api.WxMpService;
+import me.chanjar.weixin.mp.api.impl.WxMpServiceImpl;
+import me.chanjar.weixin.mp.config.WxMpConfigStorage;
+import me.chanjar.weixin.mp.config.impl.WxMpDefaultConfigImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * Created by IntelliJ IDEA.
+ *
+ * @Author : Rk
+ * @create 2023/12/27 9:30
+ */
+@Configuration
+public class WxPlatConfig {
+
+ @Autowired
+ private SystemDictDataBiz systemDictDataBiz;
+
+ @Bean
+ public WxMpConfigStorage wxMpConfigStorage() {
+ WxMpDefaultConfigImpl configStorage = new WxMpDefaultConfigImpl();
+ // 鍏紬鍙穉ppId
+ configStorage.setAppId(systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_APPID).getCode());
+ // 鍏紬鍙穉ppSecret
+ configStorage.setSecret(systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_SECRET).getCode());
+ // 鍏紬鍙稵oken
+ configStorage.setToken(systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode());
+ // 鍏紬鍙稥ncodingAESKey
+// configStorage.setAesKey();
+ return configStorage;
+ }
+
+
+ /**
+ * 澹版槑瀹炰緥
+ *
+ * @return
+ */
+ @Bean
+ public WxMpService wxMpService() {
+ WxMpService wxMpService = new WxMpServiceImpl();
+ wxMpService.setWxMpConfigStorage(wxMpConfigStorage());
+ return wxMpService;
+ }
+
+}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatNotice.java b/server/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatNotice.java
new file mode 100644
index 0000000..45b73db
--- /dev/null
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatNotice.java
@@ -0,0 +1,65 @@
+package com.doumee.core.wx.wxPlat;
+
+import com.doumee.dao.business.model.Visits;
+import lombok.extern.slf4j.Slf4j;
+import me.chanjar.weixin.common.error.WxErrorException;
+import me.chanjar.weixin.mp.api.WxMpService;
+import me.chanjar.weixin.mp.bean.template.WxMpTemplateData;
+import me.chanjar.weixin.mp.bean.template.WxMpTemplateMessage;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.stereotype.Component;
+
+/**
+ * 寰俊鍏紬鍙烽�氱煡
+ *
+ * @Author : Rk
+ * @create 2023/12/27 9:19
+ */
+@Slf4j
+@Component
+public class WxPlatNotice {
+
+ /**
+ * 寰俊鍏紬鍙稟PI鐨凷ervice
+ */
+ private final WxMpService wxMpService;
+
+ public WxPlatNotice(WxMpService wxMpService) {
+ this.wxMpService = wxMpService;
+ }
+
+ /**
+ * 璁垮璁板綍瀹℃壒涓氬姟閫氱煡
+ */
+ public Boolean sendVisitAuditTemplateNotice(Visits visits,String prefix,String tempId){
+ if(StringUtils.isBlank(visits.getOpenid())){
+ return false;
+ }
+ WxMpTemplateMessage templateMessage = WxMpTemplateMessage.builder()
+ .toUser(visits.getOpenid())
+ .templateId(tempId)
+ .url(prefix + "pages/appointmentDetails/appointmentDetails?id="+visits.getId())
+ .build();
+ String thing1 = "寰呭鎵�";
+ if(visits.getStatus()==2){
+ thing1 = "瀹℃牳閫氳繃";
+ }else if(visits.getStatus()==3){
+ thing1 = "瀹℃牳涓嶉�氳繃";
+ }
+ // 娣诲姞妯℃澘鏁版嵁
+ templateMessage.addData(new WxMpTemplateData("thing1", thing1))
+ .addData(new WxMpTemplateData("thing2", visits.getName()))
+ .addData(new WxMpTemplateData("phone_number6", visits.getPhone()));
+ String msgId = null;
+ try {
+ // 鍙戦�佹ā鏉挎秷鎭�
+ msgId = wxMpService.getTemplateMsgService().sendTemplateMsg(templateMessage);
+ } catch (WxErrorException e) {
+ e.printStackTrace();
+ }
+ log.warn("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭細{}路--++==路", msgId != null ? "鎴愬姛" : "澶辫触");
+ return msgId != null;
+ }
+
+
+}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/CarEventDTO.java b/server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/CarEventDTO.java
index a797d66..9017d71 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/CarEventDTO.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/CarEventDTO.java
@@ -78,7 +78,7 @@
private String personPhone;
@ApiModelProperty(value = "浜哄憳绫诲瀷")
- private String personType;
+ private Integer personType;
@ApiModelProperty(value = "浜哄憳韬唤璇佸彿")
private String personIdcardDecode;
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/DeviceEventDTO.java b/server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/DeviceEventDTO.java
index 682303c..35b60fb 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/DeviceEventDTO.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/DeviceEventDTO.java
@@ -108,7 +108,7 @@
private String personPhone;
@ApiModelProperty(value = "浜哄憳绫诲瀷")
- private String personType;
+ private Integer personType;
@ApiModelProperty(value = "浜哄憳韬唤璇佸彿")
private String personIdcardDecode;
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/MemberInfoDTO.java b/server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/MemberInfoDTO.java
index d36ca0c..2a88362 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/MemberInfoDTO.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/MemberInfoDTO.java
@@ -51,7 +51,7 @@
@ApiModelProperty(value = "绫诲瀷 0鍔冲姟璁垮 1鏅�氳瀹� 2鍐呴儴浜哄憳")
private Integer type;
- @ApiModelProperty(value = "璁垮鍚嶇О")
+ @ApiModelProperty(value = "璁垮鍚嶇О/鍐呴儴浜哄憳鍚嶇О")
private String name;
@ApiModelProperty(value = "鎬у埆")
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/VisitEventDTO.java b/server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/VisitEventDTO.java
index 687b20e..d6f9cb7 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/VisitEventDTO.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/VisitEventDTO.java
@@ -110,10 +110,10 @@
@ApiModelProperty(value = "璇佷欢绛惧彂鏈哄叧")
private String signOrg;
- @ApiModelProperty(value = "绂诲紑鏃堕棿")
+ @ApiModelProperty(value = "寮�濮嬫椂闂�")
private String startTime;
- @ApiModelProperty(value = "鎵嬫満鍙风爜")
+ @ApiModelProperty(value = "绂诲紑鏃堕棿")
private String endTime;
@ApiModelProperty(value = "杞︾墝鍙�")
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java
index 7b67428..eef8155 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java
@@ -79,7 +79,7 @@
@ExcelColumn(name="绫诲瀷 0鍔冲姟璁垮 1鏅�氳瀹� 2鍐呴儴浜哄憳")
private Integer type;
- @ApiModelProperty(value = "璁垮鍚嶇О")
+ @ApiModelProperty(value = "璁垮鍚嶇О/鍐呴儴浜哄憳")
@ExcelColumn(name="璁垮鍚嶇О")
private String name;
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/MemberCard.java b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/MemberCard.java
index b850f40..7651f97 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/MemberCard.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/MemberCard.java
@@ -96,10 +96,29 @@
@JsonFormat(pattern = "yyyy-MM-dd")
private Date hkDate;
- @ApiModelProperty(value = "鐘舵�� 0绂佺敤 1鍚敤")
- @ExcelColumn(name="鐘舵�� 0绂佺敤 1鍚敤")
+ @ApiModelProperty(value = "鐘舵�� 0绂佺敤 1鍚敤 2閫�鍗� 3鎸傚け")
+ @ExcelColumn(name="鐘舵�� 0绂佺敤 1鍚敤 2閫�鍗� 3鎸傚け")
private Integer status;
+ @ApiModelProperty(value = "鐘舵�� 0绂佺敤 1鍚敤 2閫�鍗� 3鎸傚け")
+ @TableField(exist = false)
+ private String statusName;
+
+ @ApiModelProperty(value = "鍗$被鍨� 1 IC鍗� 2 CPU鍗� 3杩滆窛绂诲崱 4M鍗� -- 鍓嶇鏂板浼犲�煎啓姝�")
+ @ExcelColumn(name="鍗$被鍨� 1 IC鍗� 2 CPU鍗� 3杩滆窛绂诲崱 4M鍗�")
+ private Integer cardType;
+
+ @ApiModelProperty(value = "鍗$被鍨嬪悕绉�")
+ @TableField(exist = false)
+ private String cardTypeName;
+
+ @ApiModelProperty(value = "绫诲瀷 0鍔冲姟璁垮 1鏅�氳瀹� 2鍐呴儴浜哄憳", example = "1")
+ @ExcelColumn(name="绫诲瀷 0鍔冲姟璁垮 1鏅�氳瀹� 2鍐呴儴浜哄憳")
+ private Integer type;
+
+ @ApiModelProperty(value = "绫诲瀷 0鍔冲姟璁垮 1鏅�氳瀹� 2鍐呴儴浜哄憳", example = "1")
+ @ExcelColumn(name="绫诲瀷 0鍔冲姟璁垮 1鏅�氳瀹� 2鍐呴儴浜哄憳")
+ private String typeName;
@ApiModelProperty(value = "鍏抽敭瀛�")
@TableField(exist = false)
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/system/vo/CarEventVo.java b/server/dmvisit_service/src/main/java/com/doumee/dao/system/vo/CarEventVo.java
new file mode 100644
index 0000000..61dbafe
--- /dev/null
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/system/vo/CarEventVo.java
@@ -0,0 +1,51 @@
+package com.doumee.dao.system.vo;
+
+import com.doumee.core.annotation.excel.ExcelColumn;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel("杞﹁締浜嬩欢瑙嗗浘")
+public class CarEventVo {
+
+ @ApiModelProperty(value = "杞︾墝鍙�")
+ @ExcelColumn(name="杞︾墝鍙�")
+ private String plateNos;
+
+ @ApiModelProperty(value = "浜哄憳绫诲瀷")
+ @ExcelColumn(name="褰掑睘鐢ㄦ埛绫诲瀷")
+ private String typeName;
+
+ @ApiModelProperty(value = "濮撳悕")
+ @ExcelColumn(name="濮撳悕")
+ private String personName;
+
+ @ApiModelProperty(value = "鎵嬫満鍙�")
+ @ExcelColumn(name="鎵嬫満鍙�")
+ private String personPhone;
+
+ @ApiModelProperty(value = "浜哄憳缁勭粐鍏徃")
+ @ExcelColumn(name="鍏徃/閮ㄩ棬")
+ private String personCompanyName;
+
+ @ApiModelProperty(value = "鍋滆溅搴撳悕绉�")
+ @ExcelColumn(name="鍋滆溅搴撳悕绉�")
+ private String parkName;
+
+ @ApiModelProperty(value = "鍑哄叆鍙e悕绉�")
+ @ExcelColumn(name="鍑哄叆鍙e悕绉�")
+ private String gateName;
+
+ @ApiModelProperty(value = "浜嬩欢绫诲瀷鍚嶇О")
+ @ExcelColumn(name="浜嬩欢绫诲瀷")
+ private String eventTypeName;
+
+ @ApiModelProperty(value = "杩涘嚭鍦虹被鍨嬶紝0锛氳繘鍦猴紝1锛氬嚭鍦� ", example = "1")
+ @ExcelColumn(name="鍑哄叆绫诲瀷")
+ private Integer inoutType;
+
+ @ApiModelProperty(value = "浜嬩欢鍙戠敓鏃堕棿锛堣澶囨椂闂�")
+ @ExcelColumn(name="浜嬩欢鏃堕棿")
+ private String happenTime;
+}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/system/vo/DeviceEventVo.java b/server/dmvisit_service/src/main/java/com/doumee/dao/system/vo/DeviceEventVo.java
new file mode 100644
index 0000000..e76ab45
--- /dev/null
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/system/vo/DeviceEventVo.java
@@ -0,0 +1,55 @@
+package com.doumee.dao.system.vo;
+
+import com.doumee.core.annotation.excel.ExcelColumn;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel("闂ㄧ鍑哄叆浜嬩欢")
+public class DeviceEventVo {
+
+ @ApiModelProperty(value = "浜哄憳绫诲瀷")
+ @ExcelColumn(name = "浜哄憳绫诲瀷")
+ private String personTypeName;
+
+ @ApiModelProperty(value = "浜哄憳鍚嶇О")
+ @ExcelColumn(name = "濮撳悕")
+ private String personName;
+
+ @ApiModelProperty(value = "鎵嬫満鍙�")
+ @ExcelColumn(name = "鎵嬫満鍙�")
+ private String personPhone;
+
+ @ApiModelProperty(value = "韬唤璇佸彿鐮�")
+ @ExcelColumn(name = "韬唤璇佸彿鐮�")
+ private String personIdcardDecode;
+
+ @ApiModelProperty(value = "鍏徃/缁勭粐")
+ @ExcelColumn(name = "鍏徃/缁勭粐")
+ private String personCompanyName;
+
+ @ApiModelProperty(value = "闂ㄧ鍚嶇О")
+ @ExcelColumn(name = "闂ㄧ鍚嶇О")
+ private String devName;
+
+ @ApiModelProperty(value = "闂ㄧ鐐瑰悕绉�")
+ @ExcelColumn(name = "闂ㄧ鐐瑰悕绉�")
+ private String srcName;
+
+ @ApiModelProperty(value = "浜嬩欢绫诲瀷鍚嶇О")
+ @ExcelColumn(name = "浜嬩欢绫诲瀷")
+ private String eventTypeName;
+
+ @ApiModelProperty(value = "杩涘嚭鏂瑰悜 1-杩� 0-鍑� -1:鏈煡 瑕佹眰锛氳繘闂ㄨ鍗″櫒鎷ㄧ爜璁剧疆涓�1锛屽嚭闂ㄨ鍗″櫒鎷ㄧ爜璁剧疆涓�2")
+ @ExcelColumn(name = "鍑哄叆绫诲瀷")
+ private String extEventInOutName;
+
+ @ApiModelProperty(value = "浜嬩欢鍙戠敓鏃堕棿锛堣澶囨椂闂�")
+ @ExcelColumn(name = "浜嬩欢鏃堕棿")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private String happenTime;
+
+
+}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/system/vo/VisitEventVo.java b/server/dmvisit_service/src/main/java/com/doumee/dao/system/vo/VisitEventVo.java
new file mode 100644
index 0000000..6b0718e
--- /dev/null
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/system/vo/VisitEventVo.java
@@ -0,0 +1,47 @@
+package com.doumee.dao.system.vo;
+
+import com.doumee.core.annotation.excel.ExcelColumn;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel("璁垮鍑哄叆浜嬩欢瑙嗗浘")
+public class VisitEventVo {
+
+ @ApiModelProperty(value = "濮撳悕")
+ @ExcelColumn(name="濮撳悕")
+ private String personName;
+
+ @ApiModelProperty(value = "鎵嬫満鍙�")
+ @ExcelColumn(name = "鎵嬫満鍙�")
+ private String personPhone;
+
+ @ApiModelProperty(value = "璇佷欢鍙� ")
+ @ExcelColumn(name = "韬唤璇佸彿鐮�")
+ private String idNo;
+
+ @ApiModelProperty(value = "浜哄憳缁勭粐鍏徃")
+ @ExcelColumn(name = "鍏徃")
+ private String personCompanyName;
+
+ @ApiModelProperty(value = "杞︾墝鍙�")
+ @ExcelColumn(name = "杞︾墝鍙�")
+ private String carNo;
+
+ @ApiModelProperty(value = "琚闂汉鎵�灞炵粍缁�")
+ private String beVisitedPersonOrg;
+
+ @ApiModelProperty(value = "琚闂汉濮撳悕")
+ @ExcelColumn(name = "琚浜�")
+ private String beVisitedPersonName;
+
+ @ApiModelProperty(value = "浜嬩欢绫诲瀷鍚嶇О")
+ @ExcelColumn(name = "浜嬩欢绫诲瀷")
+ private String eventTypeName;
+
+ @ApiModelProperty(value = "浜嬩欢鍙戠敓鏃堕棿锛堣澶囨椂闂�")
+ @ExcelColumn(name = "浜嬩欢鏃堕棿")
+ private String happenTime;
+
+}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/web/response/VisitDetailVO.java b/server/dmvisit_service/src/main/java/com/doumee/dao/web/response/VisitDetailVO.java
new file mode 100644
index 0000000..8395318
--- /dev/null
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/web/response/VisitDetailVO.java
@@ -0,0 +1,39 @@
+package com.doumee.dao.web.response;
+
+import com.doumee.dao.business.model.Visits;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * Created by IntelliJ IDEA.
+ *
+ * @Author : Rk
+ * @create 2023/12/7 11:19
+ */
+@Data
+public class VisitDetailVO {
+
+ @ApiModelProperty(value = "瀹℃壒鐘舵��")
+ private Integer status;
+
+ @ApiModelProperty(value = "琚浜哄悕绉�")
+ private String visitUserName;
+
+ @ApiModelProperty(value = "鎷滆浜嬬敱")
+ private String visitReason;
+
+ @ApiModelProperty(value = "杞﹁締淇℃伅")
+ private String carNos;
+
+ @ApiModelProperty(value = "闂ㄧ缁勫悕绉�")
+ private List<String> doorGroupName;
+
+ @ApiModelProperty(value = "鎷滆鏃堕棿")
+ private String visitTime;
+
+ @ApiModelProperty(value = "闅忚浜哄憳淇℃伅")
+ private List<Visits> withVisitsList;
+
+}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/CarEventService.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/CarEventService.java
index fdeb761..ff4f9c6 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/CarEventService.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/CarEventService.java
@@ -5,6 +5,8 @@
import com.doumee.dao.admin.request.VisitEventQuery;
import com.doumee.dao.admin.response.CarEventDTO;
import com.doumee.dao.business.model.CarEvent;
+import com.doumee.dao.system.vo.CarEventVo;
+
import java.util.List;
/**
@@ -103,4 +105,11 @@
* @return PageData<CarEvent>
*/
PageData<CarEventDTO> findVisitCarPage(PageWrap<CarEvent> pageWrap);
+
+ /**
+ * 瀵煎嚭
+ * @param pageWrap 鍒嗛〉瀵硅薄
+ * @return PageData<CarEventVo>
+ */
+ List<CarEventVo> findPageExcel(PageWrap<CarEvent> pageWrap);
}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/DeviceEventService.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/DeviceEventService.java
index 322790e..2854abb 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/DeviceEventService.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/DeviceEventService.java
@@ -5,6 +5,8 @@
import com.doumee.dao.admin.request.DeviceEventQuery;
import com.doumee.dao.admin.response.DeviceEventDTO;
import com.doumee.dao.business.model.DeviceEvent;
+import com.doumee.dao.system.vo.DeviceEventVo;
+
import java.util.List;
/**
@@ -104,4 +106,11 @@
* @return PageData<DeviceEvent>
*/
PageData<DeviceEventDTO> findDeviceEventDTOPage(PageWrap<DeviceEvent> pageWrap);
+
+ /**
+ * 瀵煎嚭
+ * @param pageWrap 鍒嗛〉瀵硅薄
+ * @return PageData<DeviceEventVO>
+ */
+ List<DeviceEventVo> findDeviceEventExcel(PageWrap<DeviceEvent> pageWrap);
}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/MemberCardService.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/MemberCardService.java
index cf650c4..7d88b87 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/MemberCardService.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/MemberCardService.java
@@ -3,6 +3,7 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.dao.business.model.MemberCard;
+
import java.util.List;
/**
@@ -63,6 +64,8 @@
*/
MemberCard findById(Integer id);
+ void updateRefundCard(MemberCard memberCard);
+
/**
* 鏉′欢鏌ヨ鍗曟潯璁板綍
*
@@ -94,4 +97,5 @@
* @return long
*/
long count(MemberCard memberCard);
+
}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/VisitEventService.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/VisitEventService.java
index b92f80d..6d07749 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/VisitEventService.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/VisitEventService.java
@@ -5,6 +5,8 @@
import com.doumee.dao.admin.request.VisitEventQuery;
import com.doumee.dao.admin.response.VisitEventDTO;
import com.doumee.dao.business.model.VisitEvent;
+import com.doumee.dao.system.vo.VisitEventVo;
+
import java.util.List;
/**
@@ -107,4 +109,10 @@
PageData<VisitEventDTO> findVisitPage(PageWrap<VisitEvent> pageWrap);
+ /**
+ * 瀵煎嚭
+ * @param pageWrap 鍒嗛〉瀵硅薄
+ * @return PageData<VisitEventVo>
+ */
+ List<VisitEventVo> findPageExcel(PageWrap<VisitEvent> pageWrap);
}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java
index 0d0e2f9..eb754cc 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java
@@ -3,6 +3,8 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.dao.business.model.Visits;
+import com.doumee.dao.web.response.VisitDetailVO;
+
import java.util.List;
/**
@@ -98,4 +100,11 @@
* @return long
*/
long count(Visits visits);
+
+ /**
+ * 璁垮璁板綍璇︽儏 - 寰俊鍏紬鍙�
+ * @param id
+ * @return
+ */
+ VisitDetailVO getVisitDetail(Integer id);
}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarEventServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarEventServiceImpl.java
index f5e4fb8..97192ed 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarEventServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarEventServiceImpl.java
@@ -17,6 +17,7 @@
import com.doumee.dao.business.model.*;
import com.doumee.dao.system.SystemDictDataMapper;
import com.doumee.dao.system.model.SystemDictData;
+import com.doumee.dao.system.vo.CarEventVo;
import com.doumee.service.business.CarEventService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -275,6 +276,55 @@
@Override
public PageData<CarEventDTO> findVisitCarPage(PageWrap<CarEvent> pageWrap) {
+ IPage<CarEventDTO> carEventDTOIPage = getDataInfo(pageWrap);
+ if(null != carEventDTOIPage && carEventDTOIPage.getRecords().size() > 0) {
+ carEventDTOIPage.setRecords(newCarEventDTO(carEventDTOIPage.getRecords()));
+ }
+ return PageData.from(carEventDTOIPage);
+ }
+
+ @Override
+ public List<CarEventVo> findPageExcel(PageWrap<CarEvent> pageWrap) {
+ IPage<CarEventDTO> carEventExcel = getDataInfo(pageWrap);
+ List<CarEventVo> newDataList = new ArrayList<>();
+ if(null != carEventExcel && carEventExcel.getRecords().size() > 0) {
+ carEventExcel.getRecords().stream().forEach(obj->{
+ CarEventVo vo = new CarEventVo();
+ if(Constants.formatIntegerNum(obj.getEventType()) == HKConstants.EventTypes.PARK_LINE_IN.getKey()){
+ vo.setEventTypeName(HKConstants.EventTypes.PARK_LINE_IN.getName());
+ }else if(Constants.formatIntegerNum(obj.getEventType()) == HKConstants.EventTypes.PARK_PASS_IN.getKey()){
+ vo.setEventTypeName(HKConstants.EventTypes.PARK_PASS_IN.getName());
+ }else if(Constants.formatIntegerNum(obj.getEventType()) == HKConstants.EventTypes.PARK_LINE_OUT.getKey()){
+ vo.setEventTypeName(HKConstants.EventTypes.PARK_LINE_OUT.getName());
+ }else{
+ vo.setEventTypeName(HKConstants.EventTypes.PARK_PASS_OUT.getName());
+ }
+ if(null != obj.getPersonType()) {
+ if(Constants.ZERO == obj.getPersonType()){
+ vo.setTypeName(Constants.Status.LW_FK.getDes());
+ }else if(Constants.ONE == obj.getPersonType()) {
+ vo.setTypeName(Constants.Status.PT_FK.getDes());
+ }else {
+ vo.setTypeName(Constants.Status.NB_FK.getDes());
+ }
+ }else {
+ vo.setTypeName("");
+ }
+ vo.setPlateNos(obj.getPlateNos());
+ vo.setPersonName(obj.getPersonName());
+ vo.setPersonPhone(obj.getPersonPhone());
+ vo.setPersonCompanyName(obj.getPersonCompanyName());
+ vo.setParkName(obj.getParkName());
+ vo.setGateName(obj.getGateName());
+ vo.setInoutType(obj.getInoutType());
+ vo.setHappenTime(obj.getHappenTime());
+ newDataList.add(vo);
+ });
+ }
+ return newDataList;
+ }
+
+ private IPage<CarEventDTO> getDataInfo(PageWrap<CarEvent> pageWrap) {
//鏄惁鏄暟瀛�
boolean number = Validator.isNumber(pageWrap.getModel().getKeyWords());
//鏄惁鍖呭惈涓枃
@@ -287,41 +337,38 @@
Utils.MP.blankToNull(pageWrap.getModel());
queryWrapper.leftJoin(Cars.class,Cars::getCode,CarEvent::getPlateNos)
- .leftJoin(Member.class,Member::getId,Cars::getMemberId)
- .leftJoin(Company.class,Company::getId,Member::getCompanyId);
+ .leftJoin(Member.class,Member::getId,Cars::getMemberId)
+ .leftJoin(Company.class,Company::getId,Member::getCompanyId);
queryWrapper.selectAll(CarEvent.class)
- .selectAs(Member::getType,CarEventDTO::getPersonType)
- .selectAs(Member::getPhone,CarEventDTO::getPersonPhone)
- .selectAs(Member::getIdcardDecode,CarEventDTO::getPersonIdcardDecode)
- .selectAs(Member::getName,CarEventDTO::getPersonName)
- .selectAs(Company::getName,CarEventDTO::getPersonCompanyName);
+ .selectAs(Member::getType,CarEventDTO::getPersonType)
+ .selectAs(Member::getPhone,CarEventDTO::getPersonPhone)
+ .selectAs(Member::getIdcardDecode,CarEventDTO::getPersonIdcardDecode)
+ .selectAs(Member::getName,CarEventDTO::getPersonName)
+ .selectAs(Company::getName,CarEventDTO::getPersonCompanyName);
queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getPlateNos()),
- CarEvent::getPlateNos,
- pageWrap.getModel().getPlateNos())
- .like(number,
- Member::getPhone,
- pageWrap.getModel().getKeyWords())
- .like((b || hasWord),
- Member::getPhone,
- pageWrap.getModel().getKeyWords())
- .like(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()),
- Company::getName,
- pageWrap.getModel().getCompanyName())
- .eq(StringUtils.isNotBlank(pageWrap.getModel().getMemberType()),
- Member::getType,
- pageWrap.getModel().getMemberType())
- .eq(Objects.nonNull(pageWrap.getModel().getEventType()),
- CarEvent::getEventType,
- pageWrap.getModel().getEventType())
- .ge(Objects.nonNull(pageWrap.getModel().getStartTime()),
- CarEvent::getCreateDate, pageWrap.getModel().getStartTime())
- .le(Objects.nonNull(pageWrap.getModel().getEndTime()),
- CarEvent::getCreateDate, pageWrap.getModel().getEndTime());
+ CarEvent::getPlateNos,
+ pageWrap.getModel().getPlateNos())
+ .like(number,
+ Member::getPhone,
+ pageWrap.getModel().getKeyWords())
+ .like((b || hasWord),
+ Member::getPhone,
+ pageWrap.getModel().getKeyWords())
+ .like(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()),
+ Company::getName,
+ pageWrap.getModel().getCompanyName())
+ .eq(StringUtils.isNotBlank(pageWrap.getModel().getMemberType()),
+ Member::getType,
+ pageWrap.getModel().getMemberType())
+ .eq(Objects.nonNull(pageWrap.getModel().getEventType()),
+ CarEvent::getEventType,
+ pageWrap.getModel().getEventType())
+ .ge(Objects.nonNull(pageWrap.getModel().getStartTime()),
+ CarEvent::getCreateDate, pageWrap.getModel().getStartTime())
+ .le(Objects.nonNull(pageWrap.getModel().getEndTime()),
+ CarEvent::getCreateDate, pageWrap.getModel().getEndTime());
IPage<CarEventDTO> carEventDTOIPage = carEventJoinMapper.selectJoinPage(page, CarEventDTO.class, queryWrapper);
- if(null != carEventDTOIPage && carEventDTOIPage.getRecords().size() > 0) {
- carEventDTOIPage.setRecords(newCarEventDTO(carEventDTOIPage.getRecords()));
- }
- return PageData.from(carEventDTOIPage);
+ return carEventDTOIPage;
}
private List<CarEventDTO> newCarEventDTO(List<CarEventDTO> newCarEventDTOList) {
@@ -346,4 +393,5 @@
});
return newDataList;
}
+
}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
index de5e2d6..0a4dfc6 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
@@ -36,7 +36,6 @@
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
-import org.checkerframework.checker.units.qual.C;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceEventServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceEventServiceImpl.java
index aa135a7..3a3ff3e 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceEventServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceEventServiceImpl.java
@@ -20,6 +20,7 @@
import com.doumee.dao.business.model.Member;
import com.doumee.dao.system.SystemDictDataMapper;
import com.doumee.dao.system.model.SystemDictData;
+import com.doumee.dao.system.vo.DeviceEventVo;
import com.doumee.dao.system.vo.SystemDictDataListVO;
import com.doumee.service.business.DeviceEventService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -302,6 +303,63 @@
@Override
public PageData<DeviceEventDTO> findDeviceEventDTOPage(PageWrap<DeviceEvent> pageWrap) {
+ IPage<DeviceEventDTO> deviceEventDTOIPage = getDataInfo(pageWrap);
+ if(null != deviceEventDTOIPage && deviceEventDTOIPage.getRecords().size() > 0) {
+ deviceEventDTOIPage.setRecords(newDeviceEvent(deviceEventDTOIPage.getRecords()));
+ }
+ return PageData.from(deviceEventDTOIPage);
+ }
+
+ @Override
+ public List<DeviceEventVo> findDeviceEventExcel(PageWrap<DeviceEvent> pageWrap) {
+ IPage<DeviceEventDTO> deviceEventExcel = getDataInfo(pageWrap);
+ List<DeviceEventVo> voList = new ArrayList<>();
+ if(null != deviceEventExcel && deviceEventExcel.getRecords().size() > 0) {
+ deviceEventExcel.getRecords().stream().forEach(obj-> {
+ DeviceEventVo eventVo = new DeviceEventVo();
+ if(null != obj.getPersonType()) {
+ if(Constants.ZERO == obj.getPersonType()){
+ eventVo.setPersonTypeName(Constants.Status.LW_FK.getDes());
+ }else if(Constants.ONE == obj.getPersonType()) {
+ eventVo.setPersonTypeName(Constants.Status.PT_FK.getDes());
+ }else {
+ eventVo.setPersonTypeName(Constants.Status.NB_FK.getDes());
+ }
+ }else {
+ eventVo.setPersonTypeName("");
+ }
+ eventVo.setPersonName(obj.getPersonName());
+ eventVo.setPersonPhone(obj.getPersonName());
+ eventVo.setPersonIdcardDecode(obj.getPersonIdcardDecode());
+ eventVo.setPersonCompanyName(obj.getPersonCompanyName());
+ eventVo.setDevName(obj.getDevName());
+ eventVo.setSrcName(obj.getSrcName());
+ if(null != obj.getExtEventInOut()) {
+ if(Constants.ZERO == obj.getExtEventInOut()){
+ eventVo.setExtEventInOutName(Constants.Status.OUT.getDes());
+ }else if(Constants.ONE == obj.getPersonType()) {
+ eventVo.setExtEventInOutName(Constants.Status.PT_FK.getDes());
+ }
+ }else {
+ eventVo.setExtEventInOutName("");
+ }
+ if (Constants.formatIntegerNum(obj.getEventType()) == HKConstants.EventTypes.DOOR_FACE_AUTH_SUCCESS.getKey()) {
+ eventVo.setEventTypeName(HKConstants.EventTypes.DOOR_FACE_AUTH_SUCCESS.getName());
+ } else if (Constants.formatIntegerNum(obj.getEventType()) == HKConstants.EventTypes.DOOR_FACE_AUTH_FAIL.getKey()) {
+ eventVo.setEventTypeName(HKConstants.EventTypes.DOOR_FACE_AUTH_FAIL.getName());
+ }
+ try {
+ eventVo.setHappenTime(DateUtil.timeEscape(obj.getHappenTime()));
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+ voList.add(eventVo);
+ });
+ }
+ return voList;
+ }
+
+ private IPage<DeviceEventDTO> getDataInfo(PageWrap<DeviceEvent> pageWrap) {
IPage<DeviceEvent> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
MPJLambdaWrapper<DeviceEvent> queryWrapper = new MPJLambdaWrapper<>();
Utils.MP.blankToNull(pageWrap.getModel());
@@ -313,35 +371,32 @@
//鏄惁鍖呭惈鑻辨枃
boolean hasWord = ReUtil.contains(PatternPool.WORD, pageWrap.getModel().getKeyWords());
queryWrapper.leftJoin(Member.class,Member::getHkId,DeviceEvent::getExtEventPersonNo)
- .leftJoin(Company.class,Company::getId,Member::getCompanyId)
- .leftJoin(Device.class,Device::getHkId,DeviceEvent::getSrcParentIndex)
- .selectAll(DeviceEvent.class)
- .selectAs(Member::getName,DeviceEventDTO::getPersonName)
- .selectAs(Member::getType,DeviceEventDTO::getPersonType)
- .selectAs(Member::getPhone,DeviceEventDTO::getPersonPhone)
- .selectAs(Member::getIdcardDecode,DeviceEventDTO::getPersonIdcardDecode)
- .selectAs(Device::getName,DeviceEventDTO::getDevName)
- .selectAs(Company::getName,DeviceEventDTO::getPersonCompanyName);
+ .leftJoin(Company.class,Company::getId,Member::getCompanyId)
+ .leftJoin(Device.class,Device::getHkId,DeviceEvent::getSrcParentIndex)
+ .selectAll(DeviceEvent.class)
+ .selectAs(Member::getName,DeviceEventDTO::getPersonName)
+ .selectAs(Member::getType,DeviceEventDTO::getPersonType)
+ .selectAs(Member::getPhone,DeviceEventDTO::getPersonPhone)
+ .selectAs(Member::getIdcardDecode,DeviceEventDTO::getPersonIdcardDecode)
+ .selectAs(Device::getName,DeviceEventDTO::getDevName)
+ .selectAs(Company::getName,DeviceEventDTO::getPersonCompanyName);
queryWrapper.like(number, Member::getPhone, pageWrap.getModel().getKeyWords())
- .like((b||hasWord),Member::getName, pageWrap.getModel().getKeyWords())
- .eq(StringUtils.isNotBlank(pageWrap.getModel().getPersonType()),
- Member::getType,
- pageWrap.getModel().getPersonType())
- .eq(Objects.nonNull(pageWrap.getModel().getEventType()),
- DeviceEvent::getEventType,
- pageWrap.getModel().getEventType())
- .ge(Objects.nonNull(pageWrap.getModel().getStartTime()),
- DeviceEvent::getCreateDate,
- pageWrap.getModel().getStartTime())
- .le(Objects.nonNull(pageWrap.getModel().getEndTime()),
- DeviceEvent::getCreateDate,
- pageWrap.getModel().getEndTime());
+ .like((b||hasWord),Member::getName, pageWrap.getModel().getKeyWords())
+ .eq(StringUtils.isNotBlank(pageWrap.getModel().getPersonType()),
+ Member::getType,
+ pageWrap.getModel().getPersonType())
+ .eq(Objects.nonNull(pageWrap.getModel().getEventType()),
+ DeviceEvent::getEventType,
+ pageWrap.getModel().getEventType())
+ .ge(Objects.nonNull(pageWrap.getModel().getStartTime()),
+ DeviceEvent::getCreateDate,
+ pageWrap.getModel().getStartTime())
+ .le(Objects.nonNull(pageWrap.getModel().getEndTime()),
+ DeviceEvent::getCreateDate,
+ pageWrap.getModel().getEndTime());
queryWrapper.orderByDesc(DeviceEvent::getHappenTime);
IPage<DeviceEventDTO> deviceEventDTOIPage = deviceEventJoinMapper.selectJoinPage(page, DeviceEventDTO.class, queryWrapper);
- if(null != deviceEventDTOIPage && deviceEventDTOIPage.getRecords().size() > 0) {
- deviceEventDTOIPage.setRecords(newDeviceEvent(deviceEventDTOIPage.getRecords()));
- }
- return PageData.from(deviceEventDTOIPage);
+ return deviceEventDTOIPage;
}
// 瀵瑰浘鐗囪繘琛屽垽鏂鐞�
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceRoleServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceRoleServiceImpl.java
index 7fa419f..1eb177e 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceRoleServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceRoleServiceImpl.java
@@ -27,7 +27,6 @@
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
-import org.checkerframework.checker.units.qual.C;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberCardServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberCardServiceImpl.java
index 58a2b9c..eeaf8a6 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberCardServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberCardServiceImpl.java
@@ -3,14 +3,19 @@
import cn.hutool.core.lang.PatternPool;
import cn.hutool.core.lang.Validator;
import cn.hutool.core.util.ReUtil;
+import com.doumee.core.haikang.model.HKConstants;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Constants;
import com.doumee.core.utils.Utils;
+import com.doumee.dao.admin.response.CarEventDTO;
import com.doumee.dao.business.MemberCardMapper;
import com.doumee.dao.business.join.MemberCardJoinMapper;
import com.doumee.dao.business.model.Company;
import com.doumee.dao.business.model.Member;
import com.doumee.dao.business.model.MemberCard;
+import com.doumee.dao.business.model.Retention;
+import com.doumee.dao.system.model.SystemDictData;
import com.doumee.service.business.MemberCardService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -21,8 +26,9 @@
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
+import java.util.function.Function;
+import java.util.stream.Collectors;
/**
* 鐢ㄦ埛鍗$墖缁戝畾淇℃伅琛⊿ervice瀹炵幇
@@ -78,6 +84,14 @@
}
}
+ public void updateRefundCard(MemberCard memberCard) {
+ int i = memberCardMapper.updateById(memberCard);
+ // 璋冪敤service 鍚屾鏇存柊娴峰悍閭h竟鐨勫搴斿崱鐘舵�侊紝涔熸敼涓洪��鍗�
+ if(i > 0){
+
+ }
+ }
+
@Override
public MemberCard findById(Integer id) {
return memberCardMapper.selectById(id);
@@ -92,6 +106,11 @@
@Override
public List<MemberCard> findList(MemberCard memberCard) {
QueryWrapper<MemberCard> wrapper = new QueryWrapper<>(memberCard);
+ wrapper.lambda().eq(MemberCard::getIsdeleted, Constants.ZERO);
+ wrapper.lambda().eq(MemberCard::getHkStatus, Constants.ONE);
+ // 鍚敤鍜岄��鍗$殑鍗″彿
+ wrapper.lambda().and(param -> param.eq(MemberCard::getStatus,Constants.ZERO).
+ or().eq(MemberCard::getStatus,Constants.TWO));
return memberCardMapper.selectList(wrapper);
}
@@ -166,6 +185,9 @@
.like(number,Member::getPhone,pageWrap.getModel().getKeyWords())
.like((b||hasWord),Member::getName,pageWrap.getModel().getKeyWords());
IPage<MemberCard> memberCardIPage = memberCardJoinMapper.selectJoinPage(page, MemberCard.class,queryWrapper);
+ if(null != memberCardIPage && memberCardIPage.getRecords().size() > 0) {
+ memberCardIPage.setRecords(getDataPackage(memberCardIPage));
+ }
return PageData.from(memberCardIPage);
}
@@ -174,4 +196,43 @@
QueryWrapper<MemberCard> wrapper = new QueryWrapper<>(memberCard);
return memberCardMapper.selectCount(wrapper);
}
+
+ private List<MemberCard> getDataPackage(IPage<MemberCard> memberCardIPage) {
+ List<MemberCard> newDataList = new ArrayList<>();
+ memberCardIPage.getRecords().stream().forEach(obj->{
+ if(null != obj.getType()) {
+ if(Constants.equalsInteger(obj.getCardType(),Constants.ZERO)) {
+ obj.setTypeName(Constants.Status.LW_FK.getDes());
+ }else if(Constants.equalsInteger(obj.getCardType(),Constants.ONE)){
+ obj.setTypeName(Constants.Status.PT_FK.getDes());
+ }else if(Constants.equalsInteger(obj.getCardType(),Constants.TWO)){
+ obj.setTypeName(Constants.Status.NB_FK.getDes());
+ }
+ }
+ if(null != obj.getCardType()) {
+ if(Constants.equalsInteger(obj.getCardType(),Constants.ZERO)) {
+ obj.setCardTypeName(HKConstants.CardStatus.DISABLE.getName());
+ }else if(Constants.equalsInteger(obj.getCardType(),Constants.ONE)) {
+ obj.setCardTypeName(HKConstants.CardStatus.ENABLE.getName());
+ }else if(Constants.equalsInteger(obj.getCardType(),Constants.TWO)) {
+ obj.setCardTypeName(HKConstants.CardStatus.REFUNDCARD.getName());
+ }else if(Constants.equalsInteger(obj.getCardType(),Constants.THREE)) {
+ obj.setCardTypeName(HKConstants.CardStatus.LOSS.getName());
+ }
+ }
+ if(null != obj.getStatus()) {
+ if(Constants.equalsInteger(obj.getCardType(),Constants.ONE)) {
+ obj.setCardTypeName(HKConstants.CardStatus.IC.getName());
+ }else if(Constants.equalsInteger(obj.getCardType(),Constants.TWO)) {
+ obj.setCardTypeName(HKConstants.CardStatus.CPU.getName());
+ }else if(Constants.equalsInteger(obj.getCardType(),Constants.THREE)) {
+ obj.setCardTypeName(HKConstants.CardStatus.YJLCARD.getName());
+ }else if(Constants.equalsInteger(obj.getCardType(),Constants.FOUR)) {
+ obj.setCardTypeName(HKConstants.CardStatus.MCARD.getName());
+ }
+ }
+ newDataList.add(obj);
+ });
+ return newDataList;
+ }
}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
index 8d0b612..394f3dd 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -45,7 +45,6 @@
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.DateUtils;
import org.apache.shiro.SecurityUtils;
-import org.checkerframework.checker.units.qual.A;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -326,6 +325,10 @@
@Override
public List<Member> findList(Member member) {
QueryWrapper<Member> wrapper = new QueryWrapper<>(member);
+ if(null != member.getType()) {
+ wrapper.lambda().eq(Member::getType,member.getType());
+ }
+ wrapper.lambda().eq(Member::getIsdeleted,Constants.ZERO);
return memberMapper.selectList(wrapper);
}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ProblemLogServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ProblemLogServiceImpl.java
index 8bf9f8b..1772d7a 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ProblemLogServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ProblemLogServiceImpl.java
@@ -24,7 +24,6 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
-import org.checkerframework.checker.units.qual.A;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -133,10 +132,7 @@
return problemLogIPage;
}
- /**
- * 瀵煎嚭
- * @param pageWrap 鍒嗛〉瀵硅薄
- */
+ @Override
public List<ProblemLogVo> findPageExcel(PageWrap<ProblemLog> pageWrap) {
IPage<ProblemLog> problemLogIPage = dataInfo(pageWrap);
List<ProblemLogVo> voList = new ArrayList<>();
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/RetentionServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/RetentionServiceImpl.java
index a715a63..47b8bfd 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/RetentionServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/RetentionServiceImpl.java
@@ -208,12 +208,8 @@
return PageData.from(retentionIPage);
}
- /**
- * 瀵煎嚭
- *
- * @param pageWrap 鍒嗛〉瀵硅薄
- * @return PageData<RetentionVo>
- */
+
+ @Override
public List<RetentionVo> findPageExcel(PageWrap<Retention> pageWrap) {
IPage<Retention> retentionInfo = getDataInfo(pageWrap);
List<RetentionVo> retentionVoList = new ArrayList<>();
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitEventServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitEventServiceImpl.java
index 16a128b..a90c2bf 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitEventServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitEventServiceImpl.java
@@ -16,6 +16,7 @@
import com.doumee.dao.business.model.*;
import com.doumee.dao.system.SystemDictDataMapper;
import com.doumee.dao.system.model.SystemDictData;
+import com.doumee.dao.system.vo.VisitEventVo;
import com.doumee.service.business.VisitEventService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -236,6 +237,39 @@
@Override
public PageData<VisitEventDTO> findVisitPage(PageWrap<VisitEvent> pageWrap) {
+ IPage<VisitEventDTO> visitEventDTOIPage = getDataInfo(pageWrap);
+ if(null != visitEventDTOIPage && visitEventDTOIPage.getRecords().size() > 0) {
+ visitEventDTOIPage.setRecords(newVisitEvent(visitEventDTOIPage.getRecords()));
+ }
+ return PageData.from(visitEventDTOIPage);
+ }
+
+ @Override
+ public List<VisitEventVo> findPageExcel(PageWrap<VisitEvent> pageWrap) {
+ IPage<VisitEventDTO> visitEventExcel = getDataInfo(pageWrap);
+ List<VisitEventVo> voList = new ArrayList<>();
+ if(null != visitEventExcel && visitEventExcel.getRecords().size() > 0) {
+ visitEventExcel.getRecords().stream().forEach(obj->{
+ VisitEventVo eventVo = new VisitEventVo();
+ eventVo.setPersonName(obj.getPersonName());
+ eventVo.setPersonPhone(obj.getPersonPhone());
+ eventVo.setIdNo(obj.getIdNo());
+ eventVo.setPersonCompanyName(obj.getPersonCompanyName());
+ eventVo.setCarNo(obj.getCarNo());
+ eventVo.setBeVisitedPersonName(obj.getBeVisitedPersonName()+"-"+obj.getBeVisitedPersonOrg());
+ if(Constants.formatIntegerNum(obj.getEventType()) == HKConstants.EventTypes.VISIT_SIGN_IN.getKey()){
+ eventVo.setEventTypeName(HKConstants.EventTypes.VISIT_SIGN_IN.getName());
+ }else if(Constants.formatIntegerNum(obj.getEventType()) == HKConstants.EventTypes.VISIT_SIGN_OUT.getKey()){
+ eventVo.setEventTypeName(HKConstants.EventTypes.VISIT_SIGN_OUT.getName());
+ }
+ eventVo.setHappenTime(obj.getHappenTime());
+ voList.add(eventVo);
+ });
+ }
+ return voList;
+ }
+
+ private IPage<VisitEventDTO> getDataInfo(PageWrap<VisitEvent> pageWrap) {
//鏄惁鏄暟瀛�
boolean number = Validator.isNumber(pageWrap.getModel().getKeyWords());
//鏄惁鍖呭惈涓枃
@@ -247,36 +281,34 @@
MPJLambdaWrapper<VisitEvent> queryWrapper = new MPJLambdaWrapper<>();
queryWrapper .leftJoin(Visits.class,Visits::getHkId,VisitEvent::getVisitorId);
queryWrapper.selectAll(VisitEvent.class)
- .selectAs(Visits::getCompanyName,VisitEventDTO::getPersonCompanyName);
+ .selectAs(Visits::getCompanyName,VisitEventDTO::getPersonCompanyName);
queryWrapper.like(number,
- VisitEvent::getPhone,
- pageWrap.getModel().getKeyWords())
- .like((b ||hasWord),
- VisitEvent::getPersonName,
- pageWrap.getModel().getKeyWords())
- .like(StringUtils.isNotBlank(pageWrap.getModel().getCarNo()),
- VisitEvent::getCarNo,
- pageWrap.getModel().getKeyWords())
- .like(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()),
- Company::getName,
- pageWrap.getModel().getCompanyName())
- .eq(Objects.nonNull(pageWrap.getModel().getEventType()),
- VisitEvent::getEventType,
- pageWrap.getModel().getEventType())
- .ge(Objects.nonNull(pageWrap.getModel().getStartTime()),
- VisitEvent::getHappenTime,
- pageWrap.getModel().getStartTime())
- .le(Objects.nonNull(pageWrap.getModel().getEndTime()),
- VisitEvent::getHappenTime,
- pageWrap.getModel().getEndTime());
+ VisitEvent::getPhone,
+ pageWrap.getModel().getKeyWords())
+ .like((b ||hasWord),
+ VisitEvent::getPersonName,
+ pageWrap.getModel().getKeyWords())
+ .like(StringUtils.isNotBlank(pageWrap.getModel().getCarNo()),
+ VisitEvent::getCarNo,
+ pageWrap.getModel().getKeyWords())
+ .like(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()),
+ Company::getName,
+ pageWrap.getModel().getCompanyName())
+ .eq(Objects.nonNull(pageWrap.getModel().getEventType()),
+ VisitEvent::getEventType,
+ pageWrap.getModel().getEventType())
+ .ge(Objects.nonNull(pageWrap.getModel().getStartTime()),
+ VisitEvent::getHappenTime,
+ pageWrap.getModel().getStartTime())
+ .le(Objects.nonNull(pageWrap.getModel().getEndTime()),
+ VisitEvent::getHappenTime,
+ pageWrap.getModel().getEndTime());
queryWrapper.orderByDesc(VisitEvent::getHappenTime);
IPage<VisitEventDTO> visitEventDTOIPage = visitEventJoinMapper.selectJoinPage(page, VisitEventDTO.class, queryWrapper);
- if(null != visitEventDTOIPage && visitEventDTOIPage.getRecords().size() > 0) {
- visitEventDTOIPage.setRecords(newVisitEvent(visitEventDTOIPage.getRecords()));
- }
- return PageData.from(visitEventDTOIPage);
+ return visitEventDTOIPage;
}
+
private List<VisitEventDTO> newVisitEvent(List<VisitEventDTO> VisitEventDTOList) {
List<String> codes = Arrays.asList(Constants.FTP_RESOURCE_PATH,Constants.MEMBER_IMG);
List<SystemDictData> list = systemDictDataMapper.list(codes);
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
index 40f22bd..e4c3e02 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
@@ -22,6 +22,7 @@
import com.doumee.core.utils.DESUtil;
import com.doumee.core.utils.DateUtil;
import com.doumee.core.utils.Utils;
+import com.doumee.core.wx.wxPlat.WxPlatNotice;
import com.doumee.dao.admin.response.MemberInfoDTO;
import com.doumee.dao.business.DeviceRoleMapper;
import com.doumee.dao.business.MemberMapper;
@@ -30,6 +31,7 @@
import com.doumee.dao.business.join.DeviceJoinMapper;
import com.doumee.dao.business.join.VisitsJoinMapper;
import com.doumee.dao.business.model.*;
+import com.doumee.dao.web.response.VisitDetailVO;
import com.doumee.service.business.VisitsService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -72,6 +74,8 @@
@Autowired
private DeviceJoinMapper deviceJoinMapper;
+ @Autowired
+ private WxPlatNotice wxPlatNotice;
@Override
public Integer create(Visits visits) {
@@ -94,7 +98,9 @@
getHkDeviceRoles(visits);
//妫�楠屾嫓璁夸汉鏄惁鍚堟硶
Member visitMember = isValideVisitedUser(visits.getReceptMemberId());
- if(Constants.equalsInteger(Constants.ZERO, visits.getIdcardType()) &&!IdcardUtil.isValidCard(visits.getIdcardNo())){
+ if(Constants.equalsInteger(Constants.ZERO, visits.getIdcardType())&&visits.getIdcardNo().length()!=18
+ //&&!IdcardUtil.isValidCard(visits.getIdcardNo())
+ ){
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝韬唤璇佸彿鐮佹湁璇紝璇锋牳瀹炲悗閲嶈瘯锛�");
}
Date date = new Date();
@@ -114,11 +120,15 @@
if(StringUtils.isNotBlank(erpId)){
visits.setErpId(erpId);
}else{
- throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "瀵逛笉璧凤紝鍙戣捣鎷滆瀹℃壒鐢宠澶辫触锛�");
+// throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "瀵逛笉璧凤紝鍙戣捣鎷滆瀹℃壒鐢宠澶辫触锛�");
}
visitsMapper.insert(visits);
initWithVisitInfo(visits);
updateProblemLog(visits,problemLog,member);
+ //鍙戦�佸井淇″叕浼楀彿閫氱煡
+ wxPlatNotice.sendVisitAuditTemplateNotice(visits,
+ systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_PREFIX).getCode(),
+ systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_AUDIT_VISIT).getCode());
return visits.getId();
}
@@ -664,4 +674,43 @@
return PageData.from(result);
}
+
+
+ @Override
+ public VisitDetailVO getVisitDetail(Integer id){
+ Visits visits = visitsMapper.selectById(id);
+ if(Objects.isNull(visits)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ Member member = memberMapper.selectById(visits.getReceptMemberId());
+ if(Objects.isNull(member)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌琚鍛樺伐淇℃伅");
+ }
+ VisitDetailVO visitDetailVO = new VisitDetailVO();
+ visitDetailVO.setStatus(visits.getStatus());
+ visitDetailVO.setCarNos(visits.getCarNos());
+ visitDetailVO.setVisitUserName(member.getName());
+ visitDetailVO.setVisitReason(visits.getReason());
+ visitDetailVO.setVisitTime(DateUtil.DateToStr(visits.getStarttime(),"yyyy-MM-dd HH:mm") + " 鑷� " + DateUtil.DateToStr(visits.getEndtime(),"yyyy-MM-dd HH:mm") );
+ if(StringUtils.isNotBlank(visits.getDoors())){
+ List<DeviceRole> deviceRoleList = deviceRoleMapper.selectList(new QueryWrapper<DeviceRole>().lambda()
+ .select(DeviceRole::getName)
+ .eq(DeviceRole::getIsdeleted,Constants.ZERO)
+ .in(DeviceRole::getId,visits.getDoors().split(",")));
+ if(CollectionUtils.isNotEmpty(deviceRoleList)){
+ visitDetailVO.setDoorGroupName(
+ deviceRoleList.stream().map(m->m.getName()).collect(Collectors.toList())
+ );
+ }
+ }
+ visitDetailVO.setWithVisitsList(visitsMapper.selectList(new QueryWrapper<Visits>().lambda()
+ .select(Visits::getName,Visits::getPhone)
+ .eq(Visits::getParentId,id)));
+ return visitDetailVO;
+ }
+
+
+
+
+
}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncOrgUserServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncOrgUserServiceImpl.java
index ed4e845..2f2f9d1 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncOrgUserServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncOrgUserServiceImpl.java
@@ -26,7 +26,6 @@
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
-import org.checkerframework.checker.units.qual.C;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
index ae82319..a6ed00d 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
@@ -28,7 +28,6 @@
import com.hikvision.artemis.sdk.config.ArtemisConfig;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
-import org.checkerframework.checker.units.qual.C;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/system/impl/SystemUserServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/system/impl/SystemUserServiceImpl.java
index fcdcb57..92c67c6 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/system/impl/SystemUserServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/system/impl/SystemUserServiceImpl.java
@@ -1,6 +1,5 @@
package com.doumee.service.system.impl;
-import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
diff --git a/server/dmvisit_web/src/main/java/com/doumee/api/web/ProblemController.java b/server/dmvisit_web/src/main/java/com/doumee/api/web/ProblemController.java
index 854619d..00c2be3 100644
--- a/server/dmvisit_web/src/main/java/com/doumee/api/web/ProblemController.java
+++ b/server/dmvisit_web/src/main/java/com/doumee/api/web/ProblemController.java
@@ -2,6 +2,7 @@
import com.doumee.core.annotation.trace.Trace;
import com.doumee.core.model.ApiResponse;
+import com.doumee.core.wx.wxPlat.WxPlatNotice;
import com.doumee.dao.web.reqeust.FinishAnswerDTO;
import com.doumee.dao.web.response.ProblemsVO;
import com.doumee.service.business.ProblemLogService;
@@ -36,6 +37,9 @@
@Autowired
private ProblemLogService problemLogService;
+ @Autowired
+ private WxPlatNotice wxPlatNotice;
+
@ApiOperation(value = "鑾峰彇棰樼洰鏁版嵁", notes = "H5")
@GetMapping("/getProblemsVO")
@@ -54,4 +58,6 @@
}
+
+
}
diff --git a/server/dmvisit_web/src/main/java/com/doumee/api/web/UnitController.java b/server/dmvisit_web/src/main/java/com/doumee/api/web/UnitController.java
index 27d0acb..a858624 100644
--- a/server/dmvisit_web/src/main/java/com/doumee/api/web/UnitController.java
+++ b/server/dmvisit_web/src/main/java/com/doumee/api/web/UnitController.java
@@ -16,7 +16,6 @@
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
-import org.checkerframework.checker.units.qual.A;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
diff --git a/server/dmvisit_web/src/main/java/com/doumee/api/web/VisitorController.java b/server/dmvisit_web/src/main/java/com/doumee/api/web/VisitorController.java
index a930855..4182942 100644
--- a/server/dmvisit_web/src/main/java/com/doumee/api/web/VisitorController.java
+++ b/server/dmvisit_web/src/main/java/com/doumee/api/web/VisitorController.java
@@ -6,6 +6,7 @@
import com.doumee.dao.business.model.Visits;
import com.doumee.dao.web.reqeust.CheckVisitedDTO;
import com.doumee.dao.web.response.MemberVO;
+import com.doumee.dao.web.response.VisitDetailVO;
import com.doumee.dao.web.response.WxAuthorizeVO;
import com.doumee.service.business.MemberService;
import com.doumee.service.business.VisitsService;
@@ -14,7 +15,7 @@
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
-import org.checkerframework.checker.units.qual.A;
+
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -66,4 +67,9 @@
}
+ @ApiOperation(value = "璁垮璁板綍璇︽儏", notes = "璁垮璁板綍璇︽儏")
+ @GetMapping("/detail")
+ public ApiResponse<VisitDetailVO> detail(@RequestParam Integer id) {
+ return ApiResponse.success("鏌ヨ鎴愬姛", visitsService.getVisitDetail(id));
+ }
}
diff --git a/server/pom.xml b/server/pom.xml
index 6044bf1..90fb96f 100644
--- a/server/pom.xml
+++ b/server/pom.xml
@@ -216,18 +216,18 @@
<artifactId>pinyin4j</artifactId>
<version>2.5.1</version>
</dependency>
- <!-- WeChat 灏忕▼搴� -->
- <dependency>
- <groupId>com.github.binarywang</groupId>
- <artifactId>weixin-java-miniapp</artifactId>
- <version>${weixin-java-miniapp.version}</version>
- </dependency>
- <!-- WeChat 鏀粯 -->
- <dependency>
- <groupId>com.github.binarywang</groupId>
- <artifactId>weixin-java-pay</artifactId>
- <version>${weixin-java-pay.version}</version>
- </dependency>
+<!-- <!– WeChat 灏忕▼搴� –>-->
+<!-- <dependency>-->
+<!-- <groupId>com.github.binarywang</groupId>-->
+<!-- <artifactId>weixin-java-miniapp</artifactId>-->
+<!-- <version>${weixin-java-miniapp.version}</version>-->
+<!-- </dependency>-->
+<!-- <!– WeChat 鏀粯 –>-->
+<!-- <dependency>-->
+<!-- <groupId>com.github.binarywang</groupId>-->
+<!-- <artifactId>weixin-java-pay</artifactId>-->
+<!-- <version>${weixin-java-pay.version}</version>-->
+<!-- </dependency>-->
<!-- 闃块噷浜慜SS-->
<dependency>
@@ -281,6 +281,12 @@
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
+ <!-- WxJava鍏紬鍙� -->
+ <dependency>
+ <groupId>com.github.binarywang</groupId>
+ <artifactId>weixin-java-mp</artifactId>
+ <version>3.6.0</version>
+ </dependency>
</dependencies>
<build>
--
Gitblit v1.9.3