From 1a3a322d6f55d0f812001984d41010524cda69e0 Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期五, 06 十二月 2024 15:29:37 +0800
Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/dmvisit
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/third/WmsService.java | 4
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKCarOpenService.java | 236 +++
server/system_timer/src/main/resources/application.yml | 2
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/GetTodoListResponse.java | 2
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformJobCloudController.java | 10
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/EnergyController.java | 4
server/meeting/meeting_service/src/main/java/com/doumee/dao/business/model/UserRel.java | 3
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java | 6
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java | 5
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/VisitorWebController.java | 17
server/visits/dmvisit_service/src/main/java/com/doumee/core/wms/model/response/WmsBaseResponse.java | 2
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/InitServiceImpl.java | 1
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBooksServiceImpl.java | 17
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/GetTodoListRequest.java | 8
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/FightingAdminController.java | 13
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/ext/ERPSyncService.java | 3
server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/CarsContractVO.java | 30
server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java | 71
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java | 109 +
server/system_service/src/main/java/com/doumee/api/cloud/SystemDictDataCloudController.java | 1
server/visits/dmvisit_admin/src/main/resources/application.yml | 2
server/README.md | 7
server/visits/dmvisit_service/src/main/java/com/doumee/core/erp/ErpTool.java | 2
server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatConfig.java | 6
server/system_service/src/main/java/com/doumee/biz/system/SystemDictDataBiz.java | 3
server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/CarsJobAndContractVO.java | 34
server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/reqeust/CarsJobAndContractDTO.java | 19
server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/CarmeraListVO.java | 6
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncBaseServiceImpl.java | 5
server/system_service/src/main/java/com/doumee/core/utils/Constants.java | 16
server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/PlatformJobRunBoardNewVO.java | 93 +
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/response/CarsGpsResponse.java | 25
server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/BoardJobCenterDataVO.java | 25
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/response/CarsDeviceDetaisResponse.java | 23
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncNoticeServiceImpl.java | 163 ++
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java | 83 +
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/BaseCarsResponse.java | 17
server/system_gateway/src/main/resources/bootstrap-pro.yml | 1
server/system_service/src/main/java/com/doumee/dao/system/model/Notices.java | 4
server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java | 34
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformLogMapper.java | 3
admin/src/views/business/areas.vue | 160 ++
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWmsJob.java | 11
server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/AlarmEventDataVO.java | 2
server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/BoardCarsListVO.java | 30
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformWmsJobMapper.java | 3
server/system_gateway/src/main/resources/logback-spring.xml | 61
server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatConstants.java | 6
server/meeting/meeting_service/src/main/java/com/doumee/core/wx/SendWxMessage.java | 8
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/PlatformJobRunController.java | 5
admin/src/api/workbench/index.js | 8
admin/src/views/task/index.vue | 16
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java | 50
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java | 22
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/request/CarsGpsRequest.java | 18
server/meeting/meeting_admin/src/main/resources/application.yml | 2
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/StagingCloudController.java | 10
server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/reqeust/ErpVisitDTO.java | 2
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java | 54
server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/BoardStockListVO.java | 30
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java | 31
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java | 107 +
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/BaseCarsPageResponse.java | 18
admin/src/api/business/areas.js | 43
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java | 5
server/system_service/src/main/java/com/doumee/biz/system/impl/SystemDictDataBizImpl.java | 18
server/system_service/src/main/java/com/doumee/dao/system/dto/LoginDTO.java | 3
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWmsDetail.java | 8
server/visits/admin_timer/src/main/java/com/doumee/api/HkNoticeTimerController.java | 40
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java | 2
admin/src/components/business/OperaAreasWindow.vue | 94 +
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/WmsServiceImpl.java | 89 +
server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/TransportMeasureVO.java | 5
server/meeting/meeting_service/src/main/java/com/doumee/service/business/UtilService.java | 4
server/system_gateway/src/main/resources/bootstrap.yml | 2
server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java | 100 +
admin/src/views/index.vue | 195 +-
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java | 468 ++++++
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HkSyncCloudController.java | 14
server/visits/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/ApproveNoticeRequest.java | 1
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/third/BoardService.java | 18
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/WmsPushCloudController.java | 2
server/visits/admin_timer/src/main/resources/application.yml | 2
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/response/CarsDeviceResponse.java | 25
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/request/CarsDeviceRequest.java | 14
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/ext/HkSyncService.java | 1
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/PlatformJobRunActController.java | 150 ++
server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/RegionTreeVO.java | 4
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/SecurityController.java | 4
server/meeting/meeting_service/src/main/java/com/doumee/core/wx/WxPlatNotice.java | 166 ++
server/visits/admin_timer/src/main/java/com/doumee/api/WxTokenTimerController.java | 29
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java | 15
server/visits/openapi/src/main/resources/application.yml | 2
server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatNotice.java | 643 ++++++++-
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncInitConfigServiceImpl.java | 4
server/visits/dmvisit_service/src/main/java/com/doumee/core/wms/model/response/WmsInventoryJsonResponse.java | 4
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/response/CarsDeviceChannelResponse.java | 16
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncDoorsServiceImpl.java | 2
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/DeviceService.java | 2
server/visits/dmvisit_service/src/main/java/com/doumee/core/wms/model/request/WmsBaseRequest.java | 3
server/visits/dmvisit_screen/src/main/resources/application.yml | 2
server/system_gateway/src/main/java/com/doumee/api/gateway/JwtAuthController.java | 1
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java | 5
server/system_gateway/src/main/resources/application.yml | 2
104 files changed, 3,556 insertions(+), 420 deletions(-)
diff --git a/admin/src/api/business/areas.js b/admin/src/api/business/areas.js
new file mode 100644
index 0000000..803018f
--- /dev/null
+++ b/admin/src/api/business/areas.js
@@ -0,0 +1,43 @@
+import request from '../../utils/request'
+
+// 鏌ヨ
+export function fetchList (data) {
+ // return request.post('/visitsAdmin/cloudService/business/areas/treeList', data, {
+ // trim: true
+ // })
+ return request.post('/visitsAdmin/cloudService/business/areas/page', data, {
+ trim: true
+ })
+}
+export function listByParentId (data) {
+ return request.post('/visitsAdmin/cloudService/business/areas/listByParentId', data)
+}
+
+// 鍒涘缓
+export function create (data) {
+ return request.post('/visitsAdmin/cloudService/business/areas/create', data)
+}
+
+// 淇敼
+export function updateById (data) {
+ return request.post('/visitsAdmin/cloudService/business/areas/updateById', data)
+}
+
+// 鏍戝舰
+export function treeList (data) {
+ return request.post('/visitsAdmin/cloudService/business/areas/listByParentId', data)
+}
+
+// 鍒犻櫎
+export function deleteById (id) {
+ return request.get(`/visitsAdmin/cloudService/business/areas/delete/${id}`)
+}
+
+// 鎵归噺鍒犻櫎
+export function deleteByIdInBatch (ids) {
+ return request.get('/visitsAdmin/cloudService/business/areas/delete/batch', {
+ params: {
+ ids
+ }
+ })
+}
diff --git a/admin/src/api/workbench/index.js b/admin/src/api/workbench/index.js
index e6dcdcb..2340d64 100644
--- a/admin/src/api/workbench/index.js
+++ b/admin/src/api/workbench/index.js
@@ -2,7 +2,7 @@
// 椤堕儴瀵艰埅
export function getAppHeaderNav (data) {
- return request.get('/visitsAdmin/cloudService/business/hksync/getHkMenuLink?type='+ data)
+ return request.post('/visitsAdmin/cloudService/business/hksync/getHkMenuLink/'+data+'?time='+Math.random())
}
// 涓讳綋鏁版嵁
export function getWorkbenchBody (data) {
@@ -24,9 +24,13 @@
export function getWorkbenchTaskHead (data) {
return request.post('/visitsAdmin/cloudService/business/staging/taskCenterHeadPC', data)
}
+// 鍚屾娴峰悍浠e姙鏁版嵁
+export function syncHkNotice (data) {
+ return request.post('/visitsAdmin/cloudService/business/hksync/notice/getList', data)
+}
// pc宸ヤ綔鍙�
export function getWorkbenchData (data) {
return request.get('/visitsAdmin/cloudService/business/staging/pCWorkPlatformData', {
params: {...data }
})
-}
\ No newline at end of file
+}
diff --git a/admin/src/components/business/OperaAreasWindow.vue b/admin/src/components/business/OperaAreasWindow.vue
new file mode 100644
index 0000000..fea3c84
--- /dev/null
+++ b/admin/src/components/business/OperaAreasWindow.vue
@@ -0,0 +1,94 @@
+<template>
+ <GlobalAlertWindow
+ :title="title"
+ :visible.sync="visible"
+ :confirm-working="isWorking"
+ @confirm="confirm"
+ >
+ <el-form :model="form" ref="form" label-width="100px" label-suffix="锛�" :rules="rules">
+ <el-form-item :label="form.type==0?'甯傚悕绉�':'鍘垮尯鍚嶇О'" prop="name">
+ <el-input v-model="form.name" :placeholder="form.type==0?'杈撳叆甯傚悕绉�':'杈撳叆鍘垮尯鍚嶇О'" v-trim/>
+ </el-form-item>
+ <el-form-item label="鎺掑簭鐮�" prop="sortnum">
+ <el-input v-model="form.sortnum" placeholder="璇疯緭鍏ユ帓搴忕爜" v-trim/>
+ </el-form-item>
+ </el-form>
+ </GlobalAlertWindow>
+</template>
+
+<script>
+import BaseOpera from '@/components/base/BaseOpera'
+import GlobalAlertWindow from '@/components/common/GlobalAlertWindow'
+export default {
+ name: 'OperaAreasWindow',
+ extends: BaseOpera,
+ components: { GlobalAlertWindow },
+ data () {
+ return {
+ // 琛ㄥ崟鏁版嵁
+ form: {
+ id: null,
+ parentId: null,
+ name: null,
+ sortnum: '0',
+ type: '',
+ },
+ // 楠岃瘉瑙勫垯
+ rules: {
+ }
+ }
+ },
+ created () {
+ this.config({
+ api: '/business/areas',
+ 'field.id': 'id'
+ })
+ },
+ methods: {
+ // 纭鏂板缓
+ __confirmCreate () {
+ this.$refs.form.validate((valid) => {
+ if (!valid) {
+ return
+ }
+ // 璋冪敤鏂板缓鎺ュ彛
+ this.isWorking = true
+ this.api.create(this.form)
+ .then(() => {
+ this.visible = false
+ this.$message.success('鏂板缓鎴愬姛')
+ this.$emit('success', this.form.parentId)
+ })
+ .catch(e => {
+ this.$message.error(e)
+ })
+ .finally(() => {
+ this.isWorking = false
+ })
+ })
+ },
+ // 纭淇敼
+ __confirmEdit () {
+ this.$refs.form.validate((valid) => {
+ if (!valid) {
+ return
+ }
+ // 璋冪敤鏂板缓鎺ュ彛
+ this.isWorking = true
+ this.api.updateById(this.form)
+ .then(() => {
+ this.visible = false
+ this.$message.success('淇敼鎴愬姛')
+ this.$emit('success', this.form.parentId)
+ })
+ .catch(e => {
+ this.$message.error(e)
+ })
+ .finally(() => {
+ this.isWorking = false
+ })
+ })
+ }
+ },
+}
+</script>
diff --git a/admin/src/views/business/areas.vue b/admin/src/views/business/areas.vue
new file mode 100644
index 0000000..3d05d52
--- /dev/null
+++ b/admin/src/views/business/areas.vue
@@ -0,0 +1,160 @@
+<template>
+ <TableLayout :permissions="['business:areas:query']">
+ <!-- 琛ㄦ牸鍜屽垎椤� -->
+ <template v-slot:table-wrap>
+ <el-table
+ ref="table"
+ v-loading="isWorking.search"
+ :data="tableData.list"
+ lazy
+ :load="load"
+ :tree-props="{ children: 'childList', hasChildren: 'hasChildren' }"
+ row-key="id"
+ stripe
+ border
+ :header-row-class-name="'table-header'"
+ class="doumee-element-table"
+ @selection-change="handleSelectionChange"
+ >
+ <el-table-column prop="name" label="鍦板尯鍚嶇О" min-width="100px"></el-table-column>
+ <el-table-column prop="createDate" label="鍒涘缓鏃堕棿" align="center" min-width="140px"></el-table-column>
+ <el-table-column prop="sortnum" label="鎺掑簭鐮�" align="center" min-width="140px"></el-table-column>
+ <el-table-column
+ v-if="containPermissions(['business:areas:update', 'business:areas:create', 'business:areas:delete'])"
+ label="鎿嶄綔"
+ align="center"
+ min-width="220"
+ fixed="right"
+ >
+ <template slot-scope="{ row }">
+ <el-button type="text" @click="edit(row)" v-permissions="['business:areas:update']">缂栬緫</el-button>
+ <el-button v-if="row.type!=2" type="text" @click="createChild(row)" v-permissions="['business:areas:create']">鏂板缓{{ row.type==0 ? '甯�' : '鍖哄幙' }}</el-button>
+ <el-button type="text" @click="deleteById(row)" v-permissions="['business:areas:delete']">鍒犻櫎</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ </template>
+ <!-- 鏂板缓/淇敼 -->
+ <OperaAreasWindow ref="operaAreasWindow" @success="update"/>
+ </TableLayout>
+</template>
+
+<script>
+import BaseTable from '@/components/base/BaseTable'
+import TableLayout from '@/layouts/TableLayout'
+import Pagination from '@/components/common/Pagination'
+import OperaAreasWindow from '@/components/business/OperaAreasWindow'
+import { listByParentId } from '@/api/business/areas'
+export default {
+ name: 'Areas',
+ extends: BaseTable,
+ components: { TableLayout, Pagination, OperaAreasWindow },
+ data () {
+ return {
+ // 鎼滅储
+ searchForm: {
+ type: 0,
+ parentId: ''
+ },
+ treeMaps: new Map(),
+ parentId: null
+ }
+ },
+ created () {
+ this.config({
+ module: '鐪佸競鍖轰俊鎭〃',
+ api: '/business/areas',
+ 'field.id': 'id',
+ 'field.main': 'id'
+ })
+ this.search()
+ },
+ methods: {
+
+ // 椤电爜鍙樻洿澶勭悊
+ handlePageChange (pageIndex) {
+
+ this.isWorking.search = true
+ listByParentId(this.searchForm)
+ .then(data => {
+ this.tableData.list = this.dataAddBool(data)
+ })
+ .catch(e => {
+ this.$message.error(e)
+ })
+ .finally(() => {
+ this.isWorking.search = false
+ })
+ },
+ dataAddBool(array) {
+ array.forEach(item => {
+ item.hasChildren = item.type != 2
+ // item.childList = item.childList && this.dataAddBool(item.childList)
+ })
+ return array
+ },
+ load(tree, treeNode, resolve) {
+ this.treeMaps.set(tree.id, { tree, treeNode, resolve })
+ listByParentId({ parentId: tree.id, type: tree.type + 1 })
+ .then(data => {
+ resolve(this.dataAddBool(data||[]))
+ })
+ .catch(e => {
+ this.$message.error(e)
+ })
+ .finally(() => {
+ this.isWorking.search = false
+ })
+ },
+ refreshLoadTree(parentId) {
+ if (this.treeMaps.get(parentId)) {
+ const { tree, treeNode, resolve } = this.treeMaps.get(parentId)
+ this.$set(this.$refs.table.store.states.lazyTreeNodeMap, parentId, [])
+ if (tree) { // 閲嶆柊鎵ц鐖惰妭鐐瑰姞杞藉瓙绾ф搷浣�
+ this.load(tree, treeNode, resolve)
+ if (tree.parentId) { // 鑻ュ瓨鍦ㄧ埛鐖风粨鐐癸紝鍒欐墽琛岀埛鐖疯妭鐐瑰姞杞藉瓙绾ф搷浣滐紝闃叉鏈�鍚庝竴涓瓙鑺傜偣琚垹闄ゅ悗鐖惰妭鐐逛笉鏄剧ず鍒犻櫎鎸夐挳
+ const a = this.treeMaps.get(tree.parentId)
+ this.load(a.tree, a.treeNode, a.resolve)
+ }
+ }
+ } else {
+ this.handlePageChange()
+ }
+ },
+ deleteById (row, childConfirm = true) {
+ // let message = `纭鍒犻櫎${this.module}銆�${row[this.configData['field.main']]}銆戝悧?`
+ let message = `纭鍒犻櫎璇ヨ褰曞悧?`
+ if (childConfirm && row.childList != null && row.childList.length > 0) {
+ // message = `纭鍒犻櫎${this.module}銆�${row[this.configData['field.main']]}銆戝強鍏跺瓙${this.module}鍚�?`
+ message = `纭鍒犻櫎璇ヨ褰曞強鍏跺瓙鏁版嵁鍚�?`
+ }
+ this.$dialog.deleteConfirm(message)
+ .then(() => {
+ this.isWorking.delete = true
+ this.api.deleteById(row[this.configData['field.id']])
+ .then(() => {
+ this.$message.success('鍒犻櫎鎴愬姛')
+ this.refreshLoadTree(row.parentId)
+ })
+ .catch(e => {
+ this.$message.error(e)
+ })
+ .finally(() => {
+ this.isWorking.delete = false
+ })
+ })
+ .catch(() => {})
+ },
+ edit(row) {
+ // this.parentId = row.type==0 ? null : row.type==1 ? '缂栬緫甯�' : '缂栬緫鍖哄幙'
+ this.$refs.operaAreasWindow.open(row.type==0 ? '缂栬緫鐪�' : row.type==1 ? '缂栬緫甯�' : '缂栬緫鍖哄幙', row)
+ },
+ createChild(row) {
+ this.$refs.operaAreasWindow.open(row.type == 0 ? '鏂板缓甯�' : '鏂板缓鍘垮尯', { parentId: row.id, name: '', type: row.type + 1 })
+ },
+ update(parentId) {
+ this.refreshLoadTree(parentId)
+ }
+ }
+}
+</script>
diff --git a/admin/src/views/index.vue b/admin/src/views/index.vue
index 1aca030..0de3d22 100644
--- a/admin/src/views/index.vue
+++ b/admin/src/views/index.vue
@@ -133,7 +133,7 @@
<div class="task">
<div class="header df_sb">
<div class="home_title df">
- <span @click="handleTest">寰呭姙浜嬮」</span>
+ <span >寰呭姙浜嬮」</span>
<span class="num" v-if="taskTotal">{{ taskTotal }}</span>
</div>
<div class="df_ac more" @click="jumpPage('/task/index')">
@@ -202,7 +202,7 @@
import { weeks } from '@/utils/config'
import {
getWorkbenchData,
- getAppHeaderNav
+ getAppHeaderNav, syncHkNotice
} from '@/api'
import { level } from '@/api/business/visits'
import TaskDetail from '@/views/task/visSubDetail.vue'
@@ -223,7 +223,7 @@
OperaHiddenDangerWindow,
OperaVisitsDesWindow
},
- data() {
+ data () {
return {
colors,
nowDate: '',
@@ -244,122 +244,131 @@
isShowDetail: false,
isShowReport: false,
isShowDanger: false,
- isShowDriver: false,
+ isShowDriver: false
}
},
computed: {
- userInfo() {
+ userInfo () {
return this.$store.state.userInfo
}
},
- created() {
+ created () {
this.updateDate()
setInterval(() => {
this.updateDate()
}, 1000 * 60 * 60)
-
},
- mounted() {
+ mounted () {
this.initData()
},
methods: {
- handleTest() {
- const myWindow = window.open('https://10.50.250.253/portal/ui/index?componentId=dfe&componentMenuId=process_apply')
- setTimeout(() => {
- const params = {
- componentId: 'dfe',
- componentMenuId: 'process_apply',
- callback: {
- method: 'dealTlncMsg', argument: {
- "msgId": "98c256b9-aaff-11ef-8347-fa163ee2c57c",
- "moduleId": "dfeFlowTodoModuleId",
- "msgTitle": "璇峰強鏃跺鐞�13856591439鍙戣捣鐨勮鍋囩敵璇�",
- "msgStatus": "0",
- "msgCreateTime": "浠婂ぉ 15:33",
- "msgCreateTimeIso": "2024-11-25T15:33:42.000+08:00",
- "serverTime": 1732531014591,
- "menuCode": "process_apply",
- "msgStatusStr": "寰呭鐞�",
- "comId": "dfe",
- "userId": "13856591439",
- "extendNoShow": "{\"processInstanceId\":\"98a57fe0-aaff-11ef-8347-fa163ee2c57c\",\"processId\":\"process_dabcfdd39f1b6f46d36a9f4ff6ce1080\",\"param\":{\"sourceType\":\"todo\",\"modelCode\":\"tb_leave_dfe_for_dfe_runtime\",\"processNodeId\":\"UserTask_dde7d83377343a2d5fa1f60c23b023ef\",\"taskId\":\"98c256b9-aaff-11ef-8347-fa163ee2c57c\"},\"process.param.appId\":\"32ca8770-6f85-11ec-b5a3-991864da52a6\",\"appId\":\"32ca8770-6f85-11ec-b5a3-991864da52a6\",\"name\":\"璇峰亣鐢宠\",\"taskId\":\"98c256b9-aaff-11ef-8347-fa163ee2c57c\",\"taskNodeId\":\"UserTask_dde7d83377343a2d5fa1f60c23b023ef\",\"url\":\"/dfe-form/process/tlnc/apply\"}",
- "targetComId": "dfe",
- "moduleName": "娴佺▼寰呭姙",
- "tid": "99cad778-aaff-11ef-9dbf-ff08ba71965c",
- "msgEndTime": null,
- "msgEndTimeIso": "",
- "picUrl": "",
- "extendJson": "{\"key1\":\"璇峰強鏃跺鐞嗛檲楦块鍙戣捣鐨勮鍋囩敵璇穃"}",
- "extendParam": null,
- "extendCascade": null,
- "createUser": "13856591439",
- "webCascadeUrl": null,
- "h5CascadeUrl": null,
- "cascadeTodoOpenType": null,
- "cascadeSourceConfigId": null,
- "h5Url": "/h5/pages/form-page/form-page?returnPath=-1&appId=32ca8770-6f85-11ec-b5a3-991864da52a6&taskId=98c256b9-aaff-11ef-8347-fa163ee2c57c&processNodeId=UserTask_dde7d83377343a2d5fa1f60c23b023ef&modelCode=tb_leave_dfe_for_dfe_runtime&type=flowHandle&component=form-apply&_sn=true",
- "segmentId": "dfe-form",
- "lastUsers": "闄堥缚椋�",
- "currentUsers": "闄堥缚椋�",
- "todoTypeCode": "dfe@@tlnc_placeholder_tlnc@@dfeFlowTodoModuleId",
- "currentUserIds": "13856591439",
- "lastUserIds": "13856591439",
- "msgDesc": null,
- "widgetUrl": null,
- "detailType": null,
- "widgetWidth": null,
- "widgetHeight": null,
- "userIdList": null,
- "statusName": null,
- "arriveTime": null,
- "stayTime": null,
- "todoType": null,
- "cascadePort": null,
- "openMode": null
- }
- },
- msgType: 'tlnc'
- }
- let argus = JSON.stringify(params)
- myWindow.postMessage('{"method":"goToApp","argument":' + argus + '}', '*')
- }, 3000)
+ getNoticeList(){
+ syncHkNotice().then(res => {
+
+ })
},
- SubSuccess(str) {
+ handleTest (row) {
+ getAppHeaderNav(5).then(res => {
+ if (res == undefined || res == null) {
+ return
+ }
+ const myWindow = window.open(res)
+ setTimeout(() => {
+ const params = {
+ componentId: 'dfe',
+ componentMenuId: 'process_apply',
+ callback: {
+ method: 'dealTlncMsg',
+ argument: {
+ msgId: '98c256b9-aaff-11ef-8347-fa163ee2c57c',
+ moduleId: 'dfeFlowTodoModuleId',
+ msgTitle: '璇峰強鏃跺鐞�13856591439鍙戣捣鐨勮鍋囩敵璇�',
+ msgStatus: '0',
+ msgCreateTime: '浠婂ぉ 15:33',
+ msgCreateTimeIso: '2024-11-25T15:33:42.000+08:00',
+ serverTime: 1732531014591,
+ menuCode: 'process_apply',
+ msgStatusStr: '寰呭鐞�',
+ comId: 'dfe',
+ userId: '13856591439',
+ extendNoShow: '{"processInstanceId":"98a57fe0-aaff-11ef-8347-fa163ee2c57c","processId":"process_dabcfdd39f1b6f46d36a9f4ff6ce1080","param":{"sourceType":"todo","modelCode":"tb_leave_dfe_for_dfe_runtime","processNodeId":"UserTask_dde7d83377343a2d5fa1f60c23b023ef","taskId":"98c256b9-aaff-11ef-8347-fa163ee2c57c"},"process.param.appId":"32ca8770-6f85-11ec-b5a3-991864da52a6","appId":"32ca8770-6f85-11ec-b5a3-991864da52a6","name":"璇峰亣鐢宠","taskId":"98c256b9-aaff-11ef-8347-fa163ee2c57c","taskNodeId":"UserTask_dde7d83377343a2d5fa1f60c23b023ef","url":"/dfe-form/process/tlnc/apply"}',
+ targetComId: 'dfe',
+ moduleName: '娴佺▼寰呭姙',
+ tid: '99cad778-aaff-11ef-9dbf-ff08ba71965c',
+ msgEndTime: null,
+ msgEndTimeIso: '',
+ picUrl: '',
+ extendJson: '{"key1":"璇峰強鏃跺鐞嗛檲楦块鍙戣捣鐨勮鍋囩敵璇�"}',
+ extendParam: null,
+ extendCascade: null,
+ createUser: '13856591439',
+ webCascadeUrl: null,
+ h5CascadeUrl: null,
+ cascadeTodoOpenType: null,
+ cascadeSourceConfigId: null,
+ h5Url: '/h5/pages/form-page/form-page?returnPath=-1&appId=32ca8770-6f85-11ec-b5a3-991864da52a6&taskId=98c256b9-aaff-11ef-8347-fa163ee2c57c&processNodeId=UserTask_dde7d83377343a2d5fa1f60c23b023ef&modelCode=tb_leave_dfe_for_dfe_runtime&type=flowHandle&component=form-apply&_sn=true',
+ segmentId: 'dfe-form',
+ lastUsers: '闄堥缚椋�',
+ currentUsers: '闄堥缚椋�',
+ todoTypeCode: 'dfe@@tlnc_placeholder_tlnc@@dfeFlowTodoModuleId',
+ currentUserIds: '13856591439',
+ lastUserIds: '13856591439',
+ msgDesc: null,
+ widgetUrl: null,
+ detailType: null,
+ widgetWidth: null,
+ widgetHeight: null,
+ userIdList: null,
+ statusName: null,
+ arriveTime: null,
+ stayTime: null,
+ todoType: null,
+ cascadePort: null,
+ openMode: null
+ }
+ },
+ msgType: 'tlnc'
+ }
+ // const argus = JSON.stringify(params)
+ myWindow.postMessage('{"method":"goToApp","argument":' + row.param5 + '}', '*')
+ }, 3000)
+ })
+ },
+ SubSuccess (str) {
this[str] = false
this.getTaskList()
},
- funcClick(item) {
+ funcClick (item) {
if (item.name == '鑰冨嫟宸ヤ綔鍙�') {
getAppHeaderNav(4).then(res => {
- window.open(res, "_blank")
- return
+ window.open(res, '_blank')
})
}
this.$router.push(item.path)
},
- updateDate() {
+ updateDate () {
this.nowDate = dayjs().format('YYYY骞碝鏈圖鏃�')
this.nowWeek = weeks[new Date().getDay()]
},
- initData() {
+ initData () {
this.getWorkHead()
this.getWorkBody()
this.getTaskList()
this.getWarningList()
},
- getWarningList() {
+ getWarningList () {
getWorkbenchData({ queryType: 4 }).then(res => {
this.warningList = res.timeOutVisitList || []
this.warningTotal = res.timeOutVisitNum || 0
})
},
- getTaskList() {
+ getTaskList () {
getWorkbenchData({ queryType: 3 }).then(res => {
this.taskList = res.noticesList || []
this.taskTotal = res.noticesNum || 0
})
},
- getWorkBody() {
+ getWorkBody () {
getWorkbenchData({ queryType: 2 }).then(res => {
this.staticData = res || {}
this.initEchart2()
@@ -367,10 +376,10 @@
this.initEchart4()
})
},
- getWorkHead() {
+ getWorkHead () {
getWorkbenchData({ queryType: 1 }).then(res => {
this.headerData = res || {}
- let arr = []
+ const arr = []
arr.push({ name: '璁垮', value: this.headerData.inParkVisitUserNum })
arr.push({ name: '鍐呴儴鍛樺伐', value: this.headerData.todayInParkUserNum - this.headerData.inParkLwUserNum - this.headerData.inParkVisitUserNum })
arr.push({ name: '闀挎湡鐩稿叧鏂�', value: this.headerData.inParkLwUserNum })
@@ -379,10 +388,10 @@
this.initEchart1()
})
},
- jumpPage(page) {
+ jumpPage (page) {
this.$router.push(page)
},
- departure(id) {
+ departure (id) {
this.$confirm('纭畾绂诲巶鍚�, 鏄惁缁х画?', '鎻愮ず', {
confirmButtonText: '纭畾',
cancelButtonText: '鍙栨秷',
@@ -396,7 +405,11 @@
})
},
- handleDetail(row) {
+ handleDetail (row) {
+ if (row.type === 7) {
+ this.handleTest(row);
+ return
+ }
if (row.objType === 2) {
this.$refs.OperaDetailsWindow.open('鍏姟杞︾敵璇疯鎯�', { ...row, id: row.objId })
return
@@ -437,9 +450,9 @@
})
}
},
- initEchart1() {
+ initEchart1 () {
const myChart = echarts.init(document.getElementById('echart1'))
- let that = this
+ const that = this
const option = {
tooltip: {
@@ -471,9 +484,9 @@
myChart.resize()
})
},
- initEchart2() {
+ initEchart2 () {
const myChart = echarts.init(document.getElementById('echart2'))
- let that = this
+ const that = this
myChart.setOption({
grid: {
top: '4%',
@@ -516,7 +529,7 @@
{ offset: 0, color: '#56abf8' },
{ offset: 1, color: '#407ff0' }
]
- ),
+ )
// barBorderRadius: [0, 10, 10, 0]
}
}
@@ -527,9 +540,9 @@
myChart.resize()
})
},
- initEchart3() {
+ initEchart3 () {
const myChart = echarts.init(document.getElementById('echart3'))
- let that = this
+ const that = this
myChart.setOption({
tooltip: {
trigger: 'axis',
@@ -627,9 +640,9 @@
myChart.resize()
})
},
- initEchart4() {
+ initEchart4 () {
const myChart = echarts.init(document.getElementById('echart4'))
- let that = this
+ const that = this
myChart.setOption({
tooltip: {
trigger: 'axis',
diff --git a/admin/src/views/task/index.vue b/admin/src/views/task/index.vue
index ac5d8d1..97d8c7f 100644
--- a/admin/src/views/task/index.vue
+++ b/admin/src/views/task/index.vue
@@ -109,6 +109,7 @@
import OperaVisitsDesWindow from '@/components/business/OperaVisitsDesWindow'
import dayjs from 'dayjs'
import {
+ getAppHeaderNav,
taskCenterHeadPC,
taskCenterPage,
taskSignRead
@@ -196,7 +197,22 @@
this[str] = false
this.getTaskList()
},
+ handleTest (row) {
+ getAppHeaderNav(5).then(res => {
+ if (res === undefined || res == null) {
+ return
+ }
+ const myWindow = window.open(res)
+ setTimeout(() => {
+ myWindow.postMessage('{"method":"goToApp","argument":' + row.param5 + '}', '*')
+ }, 3000)
+ })
+ },
handleDetail (row) {
+ if (row.type === 7) {
+ this.handleTest(row);
+ return
+ }
if (this.filters.queryType == 3) {
taskSignRead({
noticesId: row.id,
diff --git a/server/README.md b/server/README.md
index 7616c54..41035ac 100644
--- a/server/README.md
+++ b/server/README.md
@@ -11,3 +11,10 @@
nohup java -Xms512m -Xmx512m -Xmn512m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=256m -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+UseCMSCompactAtFullCollection -XX:CMSInitiatingOccupancyFraction=10018 -jar /usr/local/jars/dmvisit/openapi.jar >/usr/local/jars/dmvisit/web.log 2>/usr/local/jars/dmvisit/err.log &
+
+
+
+閲嶈锛�
+1銆佸叧浜庡缃戣闂檺鍒� 锛屽鏋滄湇鍔″櫒閲嶅惎浜嗘垨鑰呯綉鍗¢噸鍚紝杩涜涓�涓嬫搷浣滐細
+vim /etc/resolv.conf
+nameserver 鏀规垚 nameserver 202.102.192.68
diff --git a/server/meeting/meeting_admin/src/main/resources/application.yml b/server/meeting/meeting_admin/src/main/resources/application.yml
index 518acab..7d88e9d 100644
--- a/server/meeting/meeting_admin/src/main/resources/application.yml
+++ b/server/meeting/meeting_admin/src/main/resources/application.yml
@@ -34,7 +34,7 @@
cache:
session:
# 浼氳瘽杩囨湡鏃堕暱(s)
- expire: 18000
+ expire: 1800
captcha:
# 楠岃瘉鐮佽繃鏈熸椂闀�(s)
expire: 300
diff --git a/server/meeting/meeting_service/src/main/java/com/doumee/core/wx/SendWxMessage.java b/server/meeting/meeting_service/src/main/java/com/doumee/core/wx/SendWxMessage.java
index afe036d..a0064d6 100644
--- a/server/meeting/meeting_service/src/main/java/com/doumee/core/wx/SendWxMessage.java
+++ b/server/meeting/meeting_service/src/main/java/com/doumee/core/wx/SendWxMessage.java
@@ -41,7 +41,8 @@
*/
public void bookingsStart(SystemUser systemUser, Bookings bookings, Rooms rooms){
RestTemplate restTemplate = new RestTemplate();
- String accessToken = systemDictDataBiz.queryCodeById(106);
+ String accessToken = systemDictDataBiz.getWxAccessToken();
+
log.info("寰俊灏忕▼搴� 浼氳寮�濮嬭闃呮秷鎭彂閫佹棩蹇� -> accessToken锛歿}",accessToken);
//杩欓噷绠�鍗曡捣瑙佹垜浠瘡娆¢兘鑾峰彇鏈�鏂扮殑access_token锛堟椂闂村紑鍙戜腑锛屽簲璇ュ湪access_token蹇繃鏈熸椂鍐嶉噸鏂拌幏鍙栵級
String url = "https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token="+accessToken;
@@ -67,6 +68,7 @@
log.info("寰俊灏忕▼搴�-> 鍙栨秷閫氱煡璁㈤槄娑堟伅鍙戦�佹棩蹇楋細{}",JSONObject.toJSONString(responseEntity));
}
+
/**
* 浼氳鍙栨秷閫氱煡
* @param systemUser 鐢ㄦ埛
@@ -75,7 +77,7 @@
*/
public void bookingsCancel(SystemUser systemUser, Bookings bookings, Rooms rooms){
RestTemplate restTemplate = new RestTemplate();
- String accessToken = systemDictDataBiz.queryCodeById(106);
+ String accessToken =systemDictDataBiz.getWxAccessToken() ;
log.info("寰俊灏忕▼搴� 浼氳寮�濮嬭闃呮秷鎭彂閫佹棩蹇� -> accessToken锛歿}",accessToken);
//杩欓噷绠�鍗曡捣瑙佹垜浠瘡娆¢兘鑾峰彇鏈�鏂扮殑access_token锛堟椂闂村紑鍙戜腑锛屽簲璇ュ湪access_token蹇繃鏈熸椂鍐嶉噸鏂拌幏鍙栵級
String url = "https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token="+accessToken;
@@ -114,7 +116,7 @@
*/
public void bookingsReservation(SystemUser systemUser, Bookings bookings, Rooms rooms){
RestTemplate restTemplate = new RestTemplate();
- String accessToken = systemDictDataBiz.queryCodeById(106);
+ String accessToken = systemDictDataBiz.getWxAccessToken() ;
log.info("寰俊灏忕▼搴� 浼氳寮�濮嬭闃呮秷鎭彂閫佹棩蹇� -> accessToken锛歿}",accessToken);
//杩欓噷绠�鍗曡捣瑙佹垜浠瘡娆¢兘鑾峰彇鏈�鏂扮殑access_token锛堟椂闂村紑鍙戜腑锛屽簲璇ュ湪access_token蹇繃鏈熸椂鍐嶉噸鏂拌幏鍙栵級
diff --git a/server/meeting/meeting_service/src/main/java/com/doumee/core/wx/WxPlatNotice.java b/server/meeting/meeting_service/src/main/java/com/doumee/core/wx/WxPlatNotice.java
new file mode 100644
index 0000000..1228ce3
--- /dev/null
+++ b/server/meeting/meeting_service/src/main/java/com/doumee/core/wx/WxPlatNotice.java
@@ -0,0 +1,166 @@
+package com.doumee.core.wx;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.DateUtil;
+import com.doumee.core.utils.HttpsUtil;
+import com.doumee.dao.business.model.Bookings;
+import com.github.xiaoymin.knife4j.core.util.CollectionUtils;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.stereotype.Component;
+
+import java.util.*;
+
+/**
+ * 寰俊鍏紬鍙烽�氱煡
+ *
+ * @Author : Rk
+ * @create 2023/12/27 9:19
+ */
+@Slf4j
+@Component
+public class WxPlatNotice {
+
+ public void testSendNotice(List<String> openIds,String token){
+ if(CollectionUtils.isNotEmpty(openIds)){
+ String postUrL = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token="+token;
+ //鏁翠綋鍙傛暟map
+ Map<String, Object> paramMap = new HashMap<String, Object>();
+ //娑堟伅涓婚鏄剧ず鐩稿叧map
+ Map<String, Object> dataMap = new HashMap<String, Object>();
+ Map<String, Object> const9 = new HashMap<String,Object>();
+ const9.put("value","鐢宠寰呮偍瀹℃壒");
+ Map<String, Object> thing1 = new HashMap<String,Object>();
+ thing1.put("value", "娴嬭瘯鍚嶇О");
+ Map<String, Object> car_number7 = new HashMap<String,Object>();
+ car_number7.put("value","鐨朅P12345");
+ Map<String, Object> character_string6 = new HashMap<String,Object>();
+ character_string6.put("value","1");
+ Map<String, Object> thing4 = new HashMap<String,Object>();
+ thing4.put("value","鐞嗙敱");
+ dataMap.put("const9",const9);
+ dataMap.put("thing1",thing1);
+ dataMap.put("car_number7",car_number7);
+ dataMap.put("character_string6",character_string6);
+ dataMap.put("thing4",thing4);
+ paramMap.put("data", dataMap);
+ for (String openId:openIds) {
+ paramMap.clear();
+ paramMap.put("template_id", "SPwvgtASkm1aMDBsYhX2wHKdL2JBEGPknDkgniSza2Y");
+ paramMap.put("touser", openId);
+ paramMap.put("data", dataMap);
+ String response = HttpsUtil.postJson(postUrL, JSONObject.toJSONString(paramMap));
+ if(StringUtils.isBlank(response)){
+ log.warn("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭細{}路--++==路", "澶辫触");
+ }else{
+ JSONObject json = JSONObject.parseObject(response);
+ log.warn("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭細{}路--++==路", Constants.equalsInteger(json.getInteger("errcode"),Constants.ZERO)?"鎴愬姛":"澶辫触"+json.getString("errmsg"));
+ }
+ }
+// log.warn("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭細{}路--++==路", msgId != null ? "鎴愬姛" : "澶辫触");
+ }
+ }
+
+ /**
+ * 浼氳瀹ら绾﹂�氱煡
+ * @param bookings
+ * @param tempId CuoDoxOl6SFwi4NhNgOQgKSJVjDD4VCIaPYlnbv_zdY
+ * @param token
+ * @param openIds
+ */
+ public void sendMeetingBookTemplateNotice(Bookings bookings,String tempId, String token, Set<String> openIds){
+ if(CollectionUtils.isNotEmpty(openIds)){
+ String postUrL = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token="+token;
+ //鏁翠綋鍙傛暟map
+ Map<String, Object> paramMap = new HashMap<String, Object>();
+ //娑堟伅涓婚鏄剧ず鐩稿叧map
+ Map<String, Object> dataMap = new HashMap<String, Object>();
+ //浼氳鍚嶇О
+ Map<String, Object> thing1 = new HashMap<String,Object>();
+ thing1.put("value",bookings.getName());
+ //浼氳鏃堕棿
+ Map<String, Object> time2 = new HashMap<String,Object>();
+ time2.put("value", DateUtil.getDate(bookings.getStartTime(),"yyyy-MM-dd HH:mm:ss") );
+ //浼氳鍦扮偣
+ Map<String, Object> thing3 = new HashMap<String,Object>();
+ thing3.put("value",bookings.getRoomName());
+ //鍙戣捣浜�
+ Map<String, Object> thing6 = new HashMap<String,Object>();
+ thing6.put("value",bookings.getManagerInfo());
+
+ dataMap.put("thing1",thing1);
+ dataMap.put("time2",time2);
+ dataMap.put("thing3",thing3);
+ dataMap.put("thing6",thing6);
+ paramMap.put("data", dataMap);
+ for (String openId:openIds) {
+ paramMap.clear();
+ paramMap.put("template_id", tempId);
+ paramMap.put("touser", openId);
+ paramMap.put("data", dataMap);
+ String response = HttpsUtil.postJson(postUrL, JSONObject.toJSONString(paramMap));
+ if(StringUtils.isBlank(response)){
+ log.warn("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭細{}路--++==路", "澶辫触");
+ }else{
+ JSONObject json = JSONObject.parseObject(response);
+ log.warn("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭細{}路--++==路", Constants.equalsInteger(json.getInteger("errcode"),Constants.ZERO)?"鎴愬姛":"澶辫触"+json.getString("errmsg"));
+ }
+ }
+ }
+ }
+
+
+ /**
+ * 浼氳瀹ゅ彇娑堥�氱煡
+ * @param bookings
+ * @param tempId CiB6vCT2InovAoQfudY-lvzLSV0-3lfz3a5GsSFCzd8
+ * @param token
+ * @param openIds
+ */
+ public void sendMeetingBookCancelTemplateNotice(Bookings bookings,String tempId, String token, Set<String> openIds){
+ if(CollectionUtils.isNotEmpty(openIds)){
+ String postUrL = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token="+token;
+ //鏁翠綋鍙傛暟map
+ Map<String, Object> paramMap = new HashMap<String, Object>();
+ //娑堟伅涓婚鏄剧ず鐩稿叧map
+ Map<String, Object> dataMap = new HashMap<String, Object>();
+ //浼氳鍚嶇О
+ Map<String, Object> thing1 = new HashMap<String,Object>();
+ thing1.put("value",bookings.getName());
+ //浼氳鏃堕棿
+ Map<String, Object> time6 = new HashMap<String,Object>();
+ time6.put("value", DateUtil.getDate(bookings.getStartTime(),"yyyy-MM-dd HH:mm:ss") );
+ //浼氳鍦扮偣
+ Map<String, Object> thing2 = new HashMap<String,Object>();
+ thing2.put("value",bookings.getRoomName());
+ //棰勭害浜哄憳
+ Map<String, Object> thing4 = new HashMap<String,Object>();
+ thing4.put("value",bookings.getManagerInfo());
+
+ dataMap.put("thing1",thing1);
+ dataMap.put("time6",time6);
+ dataMap.put("thing2",thing2);
+ dataMap.put("thing4",thing4);
+ paramMap.put("data", dataMap);
+ for (String openId:openIds) {
+ paramMap.clear();
+ paramMap.put("template_id", tempId);
+ paramMap.put("touser", openId);
+ paramMap.put("data", dataMap);
+ String response = HttpsUtil.postJson(postUrL, JSONObject.toJSONString(paramMap));
+ if(StringUtils.isBlank(response)){
+ log.warn("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭細{}路--++==路", "澶辫触");
+ }else{
+ JSONObject json = JSONObject.parseObject(response);
+ log.warn("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭細{}路--++==路", Constants.equalsInteger(json.getInteger("errcode"),Constants.ZERO)?"鎴愬姛":"澶辫触"+json.getString("errmsg"));
+ }
+ }
+ }
+ }
+
+
+
+
+}
diff --git a/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/model/UserRel.java b/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/model/UserRel.java
index 45e30e7..53570c3 100644
--- a/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/model/UserRel.java
+++ b/server/meeting/meeting_service/src/main/java/com/doumee/dao/business/model/UserRel.java
@@ -70,6 +70,9 @@
@ApiModelProperty(value = "鍙備細浜哄憳鎵嬫満鍙�")
@TableField(exist = false)
private String userPhone;
+ @ApiModelProperty(value = "openid")
+ @TableField(exist = false)
+ private String openid;
diff --git a/server/meeting/meeting_service/src/main/java/com/doumee/service/business/UtilService.java b/server/meeting/meeting_service/src/main/java/com/doumee/service/business/UtilService.java
index 33c632a..bafe3ee 100644
--- a/server/meeting/meeting_service/src/main/java/com/doumee/service/business/UtilService.java
+++ b/server/meeting/meeting_service/src/main/java/com/doumee/service/business/UtilService.java
@@ -35,7 +35,7 @@
public String generate(@RequestParam Integer bookingsId, @RequestParam Integer userId) {
- String accessToken = systemDictDataBiz.queryCodeById(106);
+ String accessToken = systemDictDataBiz.getWxAccessToken() ;
//鐢熸垚鍥剧墖涓婁紶OSS
Map<String,Object> body = new HashMap<>();
// 鍦烘櫙鐮侊紝涓庡墠绔害瀹氾紝鏈�缁堟槸闇�瑕佸墠绔В鏋�
@@ -88,7 +88,7 @@
}
public InputStream generateImgStream(Integer bookingsId, Integer userId) {
- String accessToken = systemDictDataBiz.queryCodeById(106);
+ String accessToken = systemDictDataBiz.getWxAccessToken() ;
log.info("寰俊灏忕▼搴�-> accessToken锛歿}",accessToken);
//鐢熸垚鍥剧墖涓婁紶OSS
Map<String,Object> body = new HashMap<>();
diff --git a/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java b/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java
index f9994fd..6bc33be 100644
--- a/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java
+++ b/server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java
@@ -13,6 +13,7 @@
import com.doumee.core.utils.*;
import com.doumee.core.wx.MeetConstants;
import com.doumee.core.wx.SendWxMessage;
+import com.doumee.core.wx.WxPlatNotice;
import com.doumee.dao.admin.request.BusinessOverDTO;
import com.doumee.dao.admin.request.QrOpenDoorDto;
import com.doumee.dao.admin.response.DevWgResponseParam;
@@ -152,8 +153,8 @@
if(Constants.equalsInteger(bookings.getJoinNotice(),Constants.ZERO)){
this.sendNotice(bookings, MeetConstants.TWO);
}
- //鍙戦�佸井淇¤闃呴�氱煡
-// sendWxMessage.bookingsReservation(systemUserMapper.selectById(bookings.getCreator()), bookings, roomsMapper.selectById(bookings.getRoomId()));
+ SystemUser systemUser = systemUserMapper.selectById(bookings.getUserId());
+ this.sendWxNotice(bookings,Objects.isNull(systemUser)||StringUtils.isBlank(systemUser.getOpenid())?null:systemUser.getOpenid(),Constants.ZERO);
return bookings.getId();
}
@@ -382,7 +383,11 @@
updateProjectRel(bookings, user);
handleFile(bookings, user);
//鍙戦�佷細璁�氱煡
- this.sendNotice(bookings, MeetConstants.TWO);
+ if(Constants.equalsInteger(bookings.getJoinNotice(),Constants.ZERO)){
+ this.sendNotice(bookings, MeetConstants.TWO);
+ }
+ SystemUser systemUser = systemUserMapper.selectById(bookings.getUserId());
+ this.sendWxNotice(bookings,Objects.isNull(systemUser)||StringUtils.isBlank(systemUser.getOpenid())?null:systemUser.getOpenid(),Constants.ZERO);
}
@Override
@@ -447,9 +452,11 @@
bookings.setEditor(user.getId());
bookingsMapper.updateById(bookings);
//鍙栨秷浼氳 鍙戦�佸彇娑堥�氱煡
- this.sendNotice(bookings, 3);
- //鍙戦�佸井淇¤闃呴�氱煡
- sendWxMessage.bookingsCancel(systemUserMapper.selectById(bookings.getCreator()), bookings, roomsMapper.selectById(bookings.getRoomId()));
+ if(Constants.equalsInteger(bookings.getJoinNotice(),Constants.ZERO)){
+ this.sendNotice(bookings, 3);
+ }
+ SystemUser systemUser = systemUserMapper.selectById(bookings.getUserId());
+ this.sendWxNotice(bookings,Objects.isNull(systemUser)||StringUtils.isBlank(systemUser.getOpenid())?null:systemUser.getOpenid(),Constants.ONE);
}
@@ -927,8 +934,10 @@
String avatarPath = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode()
+systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode();
userResponseList.forEach(i -> {
- if(StringUtils.isNotBlank(i.getAvatar())){
+ if(StringUtils.isNotBlank(i.getAvatar()) && !i.getAvatar().startsWith("HKIMG") ){
i.setAvatar(avatarPath+i.getAvatar());
+ }else{
+ i.setAvatar(null);
}
});
meetingDetailResponse.setUserResponseList(userResponseList);
@@ -1039,9 +1048,12 @@
bookings.setEditor(businessOverDTO.getUserId());
bookingsMapper.updateById(bookings);
//鍙栨秷浼氳 鍙戦�佸彇娑堥�氱煡
- this.sendNotice(bookings, 3);
- //鍙戦�佸井淇¤闃呴�氱煡
-// sendWxMessage.bookingsCancel(systemUserMapper.selectById(bookings.getCreator()), bookings, roomsMapper.selectById(bookings.getRoomId()));
+ if(Constants.equalsInteger(bookings.getJoinNotice(),Constants.ZERO)){
+ this.sendNotice(bookings, 3);
+ }
+ SystemUser systemUser = systemUserMapper.selectById(bookings.getUserId());
+ this.sendWxNotice(bookings,Objects.isNull(systemUser)||StringUtils.isBlank(systemUser.getOpenid())?null:systemUser.getOpenid(),Constants.ONE);
+
}
@@ -1289,6 +1301,7 @@
bookings.setEditDate(new Date());
bookingsMapper.updateById(bookings);
this.sendNotice(bookings, MeetConstants.ONE);
+
//鍙戦�佸井淇¢�氱煡
// sendWxMessage.bookingsStart(systemUserMapper.selectById(bookings.getCreator()), bookings, roomsMapper.selectById(bookings.getRoomId()));
}
@@ -1365,6 +1378,44 @@
}
+ @Async
+ public void sendWxNotice(Bookings bookings,String openid, Integer sendType) {
+ try{
+ List<UserRel> userRelList = userRelMapper.selectJoinList(UserRel.class,new MPJLambdaWrapper<UserRel>()
+ .selectAll(UserRel.class)
+ .selectAs(SystemUser::getRealname,UserRel::getRealName)
+ .selectAs(SystemUser::getMobile,UserRel::getUserPhone)
+ .selectAs(SystemUser::getOpenid,UserRel::getOpenid)
+ .leftJoin(SystemUser.class,SystemUser::getId,UserRel::getUserId)
+ .eq(UserRel::getObjType, MeetConstants.ONE)
+ .eq(UserRel::getObjId, bookings.getId())
+ .eq(UserRel::getIsdeleted, MeetConstants.ZERO)
+ .isNotNull(SystemUser::getOpenid)
+ );
+ List<String> openIdList = userRelList.stream().map(i->i.getOpenid()).collect(Collectors.toList());
+ if(StringUtils.isNotBlank(openid)){
+ openIdList.add(openid);
+ }
+ Set<String> openIds = new HashSet<String>(openIdList);
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(openIds)){
+ WxPlatNotice wxPlatNotice = new WxPlatNotice();
+ if(Constants.equalsInteger(sendType,Constants.ZERO)){
+ wxPlatNotice.sendMeetingBookTemplateNotice(bookings,"CuoDoxOl6SFwi4NhNgOQgKSJVjDD4VCIaPYlnbv_zdY",
+ systemDictDataBiz.queryByCode(Constants.WX_PLATFORM, Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),openIds);
+ }else{
+
+ wxPlatNotice.sendMeetingBookCancelTemplateNotice(bookings,"CiB6vCT2InovAoQfudY-lvzLSV0-3lfz3a5GsSFCzd8",
+ systemDictDataBiz.queryByCode(Constants.WX_PLATFORM, Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),openIds);
+ }
+ }
+ }catch (Exception e){
+
+ }
+
+
+ }
+
+
@Override
public List<Bookings> getMyJoinBookingMeet(Integer userId, Integer roomId, LocalDateTime startTime, LocalDateTime endTime) {
DateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyy-MM-dd");
diff --git a/server/system_gateway/src/main/java/com/doumee/api/gateway/JwtAuthController.java b/server/system_gateway/src/main/java/com/doumee/api/gateway/JwtAuthController.java
index 83fcdca..274dc49 100644
--- a/server/system_gateway/src/main/java/com/doumee/api/gateway/JwtAuthController.java
+++ b/server/system_gateway/src/main/java/com/doumee/api/gateway/JwtAuthController.java
@@ -147,7 +147,6 @@
}catch (Exception e){
return ApiResponse.failed(ResponseStatus.SERVER_ERROR);
}
-
}
/**
* 鍒锋柊JWT浠ょ墝,鐢ㄦ棫鐨勪护鐗屾崲鏂扮殑浠ょ墝
diff --git a/server/system_gateway/src/main/resources/application.yml b/server/system_gateway/src/main/resources/application.yml
index 6503fa3..4ac439b 100644
--- a/server/system_gateway/src/main/resources/application.yml
+++ b/server/system_gateway/src/main/resources/application.yml
@@ -37,7 +37,7 @@
cache:
session:
# 浼氳瘽杩囨湡鏃堕暱(s)
- expire: 18000
+ expire: 1800
captcha:
# 楠岃瘉鐮佽繃鏈熸椂闀�(s)
expire: 300
diff --git a/server/system_gateway/src/main/resources/bootstrap-pro.yml b/server/system_gateway/src/main/resources/bootstrap-pro.yml
index 34383f4..2254fe4 100644
--- a/server/system_gateway/src/main/resources/bootstrap-pro.yml
+++ b/server/system_gateway/src/main/resources/bootstrap-pro.yml
@@ -90,5 +90,6 @@
url: 1
email: 1
license:
+
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0.html
diff --git a/server/system_gateway/src/main/resources/bootstrap.yml b/server/system_gateway/src/main/resources/bootstrap.yml
index 8ecd0a5..06a6eb6 100644
--- a/server/system_gateway/src/main/resources/bootstrap.yml
+++ b/server/system_gateway/src/main/resources/bootstrap.yml
@@ -1,6 +1,6 @@
spring:
profiles:
- active: dev
+ active:
application:
name: system_gateway
# 瀹夊叏閰嶇疆
diff --git a/server/system_gateway/src/main/resources/logback-spring.xml b/server/system_gateway/src/main/resources/logback-spring.xml
new file mode 100644
index 0000000..8cf921f
--- /dev/null
+++ b/server/system_gateway/src/main/resources/logback-spring.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<configuration>
+ <appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender">
+ <layout class="ch.qos.logback.classic.PatternLayout">
+ <pattern>%highlight(%date{yyyy-MM-dd HH:mm:ss}) | %highlight(%-5level) | %highlight(%thread) | %highlight(%logger) | %msg%n</pattern>
+ </layout>
+ </appender>
+ <property name="log.path" value="logs/system_gateway"></property>
+ <property name="log.fileSize" value="100MB"></property>
+ <property name="log.historyDays" value="7"></property>
+
+ <appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <filter class="ch.qos.logback.classic.filter.LevelFilter">
+ <level>ERROR</level>
+ <!--鍖归厤灏辫垗鍘�-->
+ <onMatch>DENY</onMatch>
+ <onMismatch>ACCEPT</onMismatch>
+ </filter>
+ <encoder>
+ <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
+ </encoder>
+ <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
+ <!--璺緞-->
+ <fileNamePattern>${log.path}/info.%d.%i.log</fileNamePattern>
+ <maxFileSize>${log.fileSize}</maxFileSize>
+ <maxHistory>${log.historyDays}</maxHistory>
+ <totalSizeCap>1GB</totalSizeCap>
+ </rollingPolicy>
+ </appender>
+
+ <appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+ <level>ERROR</level>
+ </filter>
+ <encoder>
+ <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
+ </encoder>
+ <!--婊氬姩绛栫暐-->
+ <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
+ <!--璺緞-->
+ <fileNamePattern>${log.path}/error.%d.%i.log</fileNamePattern>
+ <maxFileSize>${log.fileSize}</maxFileSize>
+ <maxHistory>${log.historyDays}</maxHistory>
+ <totalSizeCap>1GB</totalSizeCap>
+ </rollingPolicy>
+ </appender>
+ <!-- 寮傛鍐欏叆鏃ュ織 -->
+ <appender name ="ASYNC" class= "ch.qos.logback.classic.AsyncAppender">
+ <!-- 涓嶄涪澶辨棩蹇�.榛樿鐨�,濡傛灉闃熷垪鐨�80%宸叉弧,鍒欎細涓㈠純TRACT銆丏EBUG銆両NFO绾у埆鐨勬棩蹇� -->
+ <discardingThreshold >0</discardingThreshold>
+ <!-- 鏇存敼榛樿鐨勯槦鍒楃殑娣卞害,璇ュ�间細褰卞搷鎬ц兘.榛樿鍊间负256 -->
+ <queueSize>512</queueSize>
+ <!-- 娣诲姞闄勫姞鐨刟ppender,鏈�澶氬彧鑳芥坊鍔犱竴涓� -->
+ <appender-ref ref ="fileInfoLog"/>
+ </appender>
+ <root level="info">
+ <appender-ref ref="consoleLog"/>
+ <appender-ref ref="fileInfoLog"/>
+ <appender-ref ref="fileErrorLog"/>
+ </root>
+</configuration>
\ No newline at end of file
diff --git a/server/system_service/src/main/java/com/doumee/api/cloud/SystemDictDataCloudController.java b/server/system_service/src/main/java/com/doumee/api/cloud/SystemDictDataCloudController.java
index 38ce34c..5911a59 100644
--- a/server/system_service/src/main/java/com/doumee/api/cloud/SystemDictDataCloudController.java
+++ b/server/system_service/src/main/java/com/doumee/api/cloud/SystemDictDataCloudController.java
@@ -79,6 +79,7 @@
systemDictData.setLoginUserInfo(this.getLoginUser(token));
systemDictData.setUpdateUser(systemDictData.getLoginUserInfo().getId());
systemDictDataBiz.updateById(systemDictData);
+ systemDictDataBiz.refreshCache();
return ApiResponse.success(null);
}
diff --git a/server/system_service/src/main/java/com/doumee/biz/system/SystemDictDataBiz.java b/server/system_service/src/main/java/com/doumee/biz/system/SystemDictDataBiz.java
index 46844ea..9ef7f39 100644
--- a/server/system_service/src/main/java/com/doumee/biz/system/SystemDictDataBiz.java
+++ b/server/system_service/src/main/java/com/doumee/biz/system/SystemDictDataBiz.java
@@ -36,4 +36,7 @@
String getPreFixPath(String resourceCode, String targetCode);
+ void refreshCache();
+
+ String getWxAccessToken();
}
diff --git a/server/system_service/src/main/java/com/doumee/biz/system/impl/SystemDictDataBizImpl.java b/server/system_service/src/main/java/com/doumee/biz/system/impl/SystemDictDataBizImpl.java
index a9d3ae1..88b83ce 100644
--- a/server/system_service/src/main/java/com/doumee/biz/system/impl/SystemDictDataBizImpl.java
+++ b/server/system_service/src/main/java/com/doumee/biz/system/impl/SystemDictDataBizImpl.java
@@ -11,14 +11,12 @@
import com.doumee.service.system.SystemDictService;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
-import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
-import java.util.Optional;
@Service
public class SystemDictDataBizImpl implements SystemDictDataBiz {
@@ -139,6 +137,22 @@
}
@Override
+ public void refreshCache() {
+ /* HKCarOpenService.ACCESS_KEY= queryByCode(Constants.HK_PARAM, Constants.HK_CARS_OPENAPI_ACCESS_KEY).getCode();
+ HKCarOpenService.BASE_URL= queryByCode(Constants.HK_PARAM, Constants.HK_CARS_OPENAPI_URL).getCode();
+ HKCarOpenService.ACCESS_SECRET= queryByCode(Constants.HK_PARAM, Constants.HK_CARS_OPENAPI_ACCESS_SECRET).getCode();
+ ArtemisConfig.host = queryByCode(Constants.HK_PARAM, Constants.HK_HOST).getCode();
+ ArtemisConfig.appKey = queryByCode(Constants.HK_PARAM, Constants.HK_APPKEY).getCode();
+ ArtemisConfig.appSecret = queryByCode(Constants.HK_PARAM, Constants.HK_APPSECRET).getCode();
+ HKConstants.https = queryByCode(Constants.HK_PARAM, Constants.HK_HTTPS).getCode();*/
+ }
+ @Override
+ public String getWxAccessToken(){
+
+ return queryByCode(Constants.WX_PLATFORM, Constants.WX_PLATFORM_ACCESS_TOKEN).getCode();
+ }
+
+ @Override
public String getPreFixPath(String resourceCode, String targetCode) {
if (StringUtils.isBlank(resourceCode) || StringUtils.isBlank(targetCode)){
diff --git a/server/system_service/src/main/java/com/doumee/core/utils/Constants.java b/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
index 6bedf52..83f3437 100644
--- a/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
+++ b/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -43,6 +43,9 @@
public static final String HK_APPSECRET ="HK_APPSECRET" ;
public static final String HK_HTTPS ="HK_HTTPS" ;
public static final String HK_PUSH_URL = "HK_PUSH_URL";
+ public static final String HK_CARS_OPENAPI_ACCESS_KEY = "HK_CARS_OPENAPI_ACCESS_KEY";
+ public static final String HK_CARS_OPENAPI_ACCESS_SECRET = "HK_CARS_OPENAPI_ACCESS_SECRET";
+ public static final String HK_CARS_OPENAPI_URL = "HK_CARS_OPENAPI_URL";
public static final String HK_ROOTORG_CODE ="HK_ROOTORG_CODE" ;
public static final String HK_ROOTORG_NAME ="HK_ROOTORG_NAME" ;
public static final String PLATFORM ="PLATFORM" ;
@@ -141,6 +144,9 @@
public static final String MYSQL_BACKUP_DIR ="MYSQL_BACKUP_DIR" ;
public static final String EVENT_FILES_PRIVATE_DOMAIN ="EVENT_FILES_PRIVATE_DOMAIN" ;
public static final String EVENT_FILES_PUBLIC_DOMAIN ="EVENT_FILES_PUBLIC_DOMAIN" ;
+ public static final String HK_WXTOKEN_CONFIGID ="HK_WXTOKEN_CONFIGID" ;
+ public static final String HK_WXTOKEN_TAGID ="HK_WXTOKEN_TAGID" ;
+ public static final String WMS_TOTAL_STOCK_NUM ="WMS_TOTAL_STOCK_NUM" ;
public static boolean DEALING_HK_SYNCPRIVILEGE= false;
public static boolean DEALING_HK_SYNCDEVICE = false;
public static boolean DEALING_HK_SYNCPLATFORM = false;
@@ -153,6 +159,7 @@
public static boolean DEALING_HK_DEL_USER = false;
public static boolean DEALING_HK_VISIT = false;
public static boolean DEALING_HK_VISIT_EXPIRE = false;
+ public static boolean DEALING_HK_NOTICE_LIST = false;
public static boolean DEALING_FROM_HK_VISIT = false;
public static boolean DEALING_HK_EMPOWER = false;
public static boolean DEALING_HK_EMPOWER_DETAIL = false;
@@ -470,6 +477,14 @@
d = d.setScale(4, BigDecimal.ROUND_HALF_UP);
return d;
}
+ public static BigDecimal formatBigdecimal0Float(BigDecimal d) {
+ if (d == null) {
+ d = new BigDecimal(0.0);
+ }
+ //淇濈暀涓や綅灏忔暟涓斿洓鑸嶄簲鍏�
+ d = d.setScale(0, BigDecimal.ROUND_HALF_UP);
+ return d;
+ }
public static BigDecimal formatBigdecimal2Float(BigDecimal d) {
if (d == null) {
d = new BigDecimal(0.0);
@@ -551,6 +566,7 @@
int logisticsCarUse = 4;//鐗╂祦杞﹀鎵�
int system = 5;//绯荤粺娑堟伅
int reason = 6;//鍏ュ洯鍘熷洜
+ int hknotice = 7;//娴峰悍鑰冨嫟浠e姙
}
diff --git a/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java b/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java
index f36958d..e27187a 100644
--- a/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java
+++ b/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java
@@ -317,7 +317,6 @@
}
}
-
/**
* 鑾峰彇X鏈堜唤涔嬪墠鐨勬湀浠芥暟
* @param currentDate
@@ -343,9 +342,31 @@
}
return list;
}
+ /**
+ * 鑾峰彇X鏈堜唤涔嬪墠鐨勬湀浠芥暟
+ * @param currentDate
+ * @param month
+ * @return
+ */
+ public static List<String> getDateListBeforMonth(Date currentDate , Integer month) {
+ SimpleDateFormat sdfYear = new SimpleDateFormat("yyyy");
+ SimpleDateFormat sdfMonth = new SimpleDateFormat("MM");
+ int currentYear = Integer.parseInt(sdfYear.format(currentDate));
+ int currentMonth = Integer.parseInt(sdfMonth.format(currentDate));
+ List<String> list = new ArrayList<>();
+ for (int i = 0; i < month; i++) {
+ int tempYear = currentYear;
+ int tempMonth = currentMonth - i;
-
+ if (tempMonth <= 0) {
+ tempYear--;
+ tempMonth += 12;
+ }
+ list.add(tempYear +"-" + StringUtils.leftPad(Integer.toString(tempMonth),2,"0"));
+ }
+ return list;
+ }
public static List<String> getBeforDays(Date currentDate,Integer days){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
@@ -360,6 +381,21 @@
startDate = calendar.getTime();
list.add(DateUtil.dateToString(startDate,"yyyy-MM-dd"));
System.out.println(DateUtil.dateToString(startDate,"yyyy-MM-dd"));
+ }
+ return list;
+ }
+ public static List<Date> getDateListBeforDays(Date currentDate,Integer days){
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTime(currentDate);
+ Date endDate = currentDate; // 鑾峰彇褰撳墠鏃ユ湡
+ calendar.add(Calendar.DAY_OF_YEAR, -days); // 寰�鍓嶆帹7澶�
+ Date startDate = calendar.getTime(); // 鑾峰彇鎺ㄧ畻鍚庣殑鏃ユ湡
+ List<Date> list = new ArrayList<>();
+ while (startDate.before(endDate)) {
+ calendar.add(Calendar.DAY_OF_YEAR, 1); // 鑾峰彇涓嬩竴澶╂棩鏈�
+ startDate = calendar.getTime();
+ list.add(startDate);
}
return list;
}
@@ -442,7 +478,7 @@
* @return String
* @throws Exception
*/
- public static String getNowPlusTime() throws Exception {
+ public static String getNowPlusTime() {
String nowDate = "";
try {
java.sql.Date date = null;
@@ -1636,6 +1672,49 @@
return getNowShortDate().substring(0, 6) + "01";
} catch (Exception e) {
return "";
+ }
+ }
+ public static List<Date> getThisMonthDateList() {
+ List<Date> dateList = new ArrayList<>();
+ try {
+ Calendar calendar = Calendar.getInstance();
+ int daysInMonth = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
+ calendar.set(Calendar.HOUR,0);
+ calendar.set(Calendar.MINUTE,0);
+ calendar.set(Calendar.SECOND,0);
+ calendar.set(Calendar.MILLISECOND,0);
+ for (int i = 0; i < daysInMonth; i++) {
+ calendar.set(Calendar.DAY_OF_MONTH,i+1);
+ dateList.add(calendar.getTime());
+ }
+ } catch (Exception e) {
+ return null;
+ }
+ return dateList;
+ }
+ public static List<Date> getThisYearMonthList() {
+ List<Date> dateList = new ArrayList<>();
+ try {
+ Calendar calendar = Calendar.getInstance();
+ calendar.set(Calendar.DAY_OF_MONTH,1);
+ calendar.set(Calendar.HOUR,0);
+ calendar.set(Calendar.MINUTE,0);
+ calendar.set(Calendar.SECOND,0);
+ calendar.set(Calendar.MILLISECOND,0);
+ for (int i = 0; i < 12; i++) {
+ calendar.set(Calendar.MONTH,i);
+ dateList.add(calendar.getTime());
+ }
+ } catch (Exception e) {
+ return null;
+ }
+ return dateList;
+ }
+ public static Date getFirstThisYearDate() {
+ try {
+ return sdfShort.parse( getNowShortDate().substring(0, 4) + "0101");
+ } catch (Exception e) {
+ return null;
}
}
public static String getFirstDayCurrentMonth() {
@@ -2832,7 +2911,14 @@
// System.out.println(DateUtil.afterMinutesDate(-5));
- DateUtil.getBeforDays(new Date(),7);
+ List<Date> list =getThisMonthDateList();
+ for(Date d :list){
+ System.out.println(getPlusTime2(d));
+ }
+ List<Date> list1 =getThisYearMonthList();
+ for(Date d :list1){
+ System.out.println(getPlusTime2(d));
+ }
// Date startTime = DateUtil.StringToDate("2024-05-01 08:00:00" ,"yyyy-MM-dd HH:mm:ss");
// Date endTime = DateUtil.StringToDate("2024-05-01 17:00:00" ,"yyyy-MM-dd HH:mm:ss");
@@ -3042,6 +3128,12 @@
calendar.add(Calendar.MONTH, month);//
return calendar.getTime();
}
+ public static Date addYearToDate(Date date, int year) {
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTime(date);
+ calendar.add(Calendar.YEAR, year);//
+ return calendar.getTime();
+ }
public static String afterDateToStr(Integer days){
Date date = new Date();
diff --git a/server/system_service/src/main/java/com/doumee/dao/system/dto/LoginDTO.java b/server/system_service/src/main/java/com/doumee/dao/system/dto/LoginDTO.java
index a617b61..4e53960 100644
--- a/server/system_service/src/main/java/com/doumee/dao/system/dto/LoginDTO.java
+++ b/server/system_service/src/main/java/com/doumee/dao/system/dto/LoginDTO.java
@@ -19,6 +19,9 @@
@ApiModelProperty(value = "鐢ㄦ埛鍚�")
private String username;
+ @ApiModelProperty(value = "寰俊openId")
+ private String openid;
+
@NotBlank(message = "瀵嗙爜涓嶈兘涓虹┖")
@ApiModelProperty(value = "瀵嗙爜")
private String password;
diff --git a/server/system_service/src/main/java/com/doumee/dao/system/model/Notices.java b/server/system_service/src/main/java/com/doumee/dao/system/model/Notices.java
index 1feeb42..1e9dfa6 100644
--- a/server/system_service/src/main/java/com/doumee/dao/system/model/Notices.java
+++ b/server/system_service/src/main/java/com/doumee/dao/system/model/Notices.java
@@ -79,8 +79,8 @@
@ExcelColumn(name="鍏宠仈瀵硅薄鍚嶇О")
private String objName;
- @ApiModelProperty(value = "绫诲瀷 0璁垮瀹℃壒 1璁垮鎶ュ 2鐢ㄨ溅瀹℃壒 3闅愭偅澶勭悊 4鐗╂祦杞﹀鎵� 5绯荤粺绯荤粺")
- @ExcelColumn(name="绫诲瀷 0璁垮瀹℃壒 1璁垮鎶ュ 2鐢ㄨ溅瀹℃壒 3闅愭偅澶勭悊 4鐗╂祦杞﹀鎵� 5绯荤粺绯荤粺")
+ @ApiModelProperty(value = "绫诲瀷 0璁垮瀹℃壒 1璁垮鎶ュ 2鐢ㄨ溅瀹℃壒 3闅愭偅澶勭悊 4鐗╂祦杞﹀鎵� 5绯荤粺绯荤粺 6鍏ュ洯鍘熷洜 7娴峰悍鑰冨嫟浠e姙")
+ @ExcelColumn(name="绫诲瀷 0璁垮瀹℃壒 1璁垮鎶ュ 2鐢ㄨ溅瀹℃壒 3闅愭偅澶勭悊 4鐗╂祦杞﹀鎵� 5绯荤粺绯荤粺 6鍏ュ洯鍘熷洜 7娴峰悍鑰冨嫟浠e姙")
private Integer type;
@ApiModelProperty(value = "绫诲瀷鎻忚堪")
diff --git a/server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java b/server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java
index b9b8bf2..f698a75 100644
--- a/server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java
+++ b/server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java
@@ -1,6 +1,7 @@
package com.doumee.service.system.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.doumee.config.jwt.JwtTokenUtil;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.model.LoginUserInfo;
@@ -11,6 +12,7 @@
import com.doumee.dao.business.dao.SmsEmailMapper;
import com.doumee.dao.business.model.Company;
import com.doumee.dao.business.model.SmsEmail;
+import com.doumee.dao.system.SystemUserMapper;
import com.doumee.dao.system.dto.LoginByOpenidDTO;
import com.doumee.dao.system.dto.LoginDTO;
import com.doumee.dao.system.dto.LoginPhoneDTO;
@@ -47,6 +49,8 @@
@Lazy
@Autowired
private SystemUserService systemUserService;
+ @Autowired
+ private SystemUserMapper systemUserMapper;
@Autowired
private SmsEmailMapper smsEmailMapper;
@@ -83,7 +87,7 @@
loginLog.setLoginTime(new Date());
loginLog.setSystemVersion(systemVersion);
loginLog.setIp(Utils.User_Client.getIP(request));
- loginLog.setLocation(Utils.Location.getLocationString(loginLog.getIp()));
+// loginLog.setLocation(Utils.Location.getLocationString(loginLog.getIp()));
loginLog.setPlatform(Utils.User_Client.getPlatform(request));
loginLog.setClientInfo(Utils.User_Client.getBrowser(request));
loginLog.setOsInfo(Utils.User_Client.getOS(request));
@@ -124,7 +128,7 @@
loginLog.setLoginUsername(dto.getUsername());
loginLog.setLoginTime(new Date());
loginLog.setSystemVersion(systemVersion);
- loginLog.setLocation(Utils.Location.getLocationString(loginLog.getIp()));
+// loginLog.setLocation(Utils.Location.getLocationString(loginLog.getIp()));
if(request!=null&&request.getHeaders()!=null && request.getHeaders().size()>0){
loginLog.setIp(Utils.User_Client.getIP(request));
loginLog.setPlatform(Utils.User_Client.getPlatform(request));
@@ -132,7 +136,7 @@
loginLog.setOsInfo(Utils.User_Client.getOS(request));
}
loginLog.setServerIp(Utils.Server.getIP());
- if(isDebug == null || !isDebug && dto.getCheckCode()){
+// if(isDebug == null || !isDebug && dto.getCheckCode()){
// 鏍¢獙楠岃瘉鐮�
try {
captchaService.check(dto.getUuid(), dto.getCode());
@@ -143,7 +147,7 @@
systemLoginLogService.create(loginLog);
throw new BusinessException(ResponseStatus.ACCOUNT_INCORRECT.getCode(),"瀵逛笉璧凤紝楠岃瘉鐮佷笉姝g‘锛�");
}
- }
+// }
// 鏍规嵁鐢ㄦ埛鍚嶆煡璇㈢敤鎴峰璞�
SystemUser queryDto = new SystemUser();
queryDto.setUsername(dto.getUsername());
@@ -160,6 +164,7 @@
if( !StringUtils.equals(pwd, user.getPassword())){
throw new BusinessException(ResponseStatus.ACCOUNT_INCORRECT);
}
+ dealOpenIdBiz(user,dto.getOpenid());
Company company = new Company();
if(Objects.nonNull(user.getCompanyId())){
company = companyMapper.selectById(user.getCompanyId());
@@ -177,8 +182,17 @@
return userInfo;
}
-
-
+ private void dealOpenIdBiz(SystemUser user, String openid) {
+ if(StringUtils.isNotBlank(openid)){
+ //濡傛灉openId涓嶄负绌�,缁戝畾璇ョ敤鎴穙penid
+ systemUserMapper.update(null,new UpdateWrapper<SystemUser>().lambda()
+ .set(SystemUser::getOpenid,null)
+ .eq(SystemUser::getType,user.getType()));
+ systemUserMapper.update(null,new UpdateWrapper<SystemUser>().lambda()
+ .set(SystemUser::getOpenid,openid)
+ .eq(SystemUser::getId,user.getId()));
+ }
+ }
@Override
@@ -187,7 +201,7 @@
loginLog.setLoginUsername(dto.getPhone());
loginLog.setLoginTime(new Date());
loginLog.setSystemVersion(systemVersion);
- loginLog.setLocation(Utils.Location.getLocationString(loginLog.getIp()));
+// loginLog.setLocation(Utils.Location.getLocationString(loginLog.getIp()));
if(request!=null&&request.getHeaders()!=null && request.getHeaders().size()>0){
loginLog.setIp(Utils.User_Client.getIP(request));
loginLog.setPlatform(Utils.User_Client.getPlatform(request));
@@ -258,8 +272,9 @@
SystemLoginLog loginLog = new SystemLoginLog();
loginLog.setLoginUsername(dto.getUsername());
loginLog.setLoginTime(new Date());
+ loginLog.setReason("銆愬叕浼楀彿銆戝徃鏈虹鐧婚檰锛歰penid="+dto.getOpenid());
loginLog.setSystemVersion(systemVersion);
- loginLog.setLocation(Utils.Location.getLocationString(loginLog.getIp()));
+// loginLog.setLocation(Utils.Location.getLocationString(loginLog.getIp()));
if(request!=null&&request.getHeaders()!=null && request.getHeaders().size()>0){
loginLog.setIp(Utils.User_Client.getIP(request));
loginLog.setPlatform(Utils.User_Client.getPlatform(request));
@@ -280,6 +295,7 @@
if( !StringUtils.equals(pwd, user.getPassword())){
throw new BusinessException(ResponseStatus.ACCOUNT_INCORRECT);
}
+ dealOpenIdBiz(user,dto.getOpenid());
Company company = new Company();
if(Objects.nonNull(user.getCompanyId())){
company = companyMapper.selectById(user.getCompanyId());
@@ -298,7 +314,7 @@
SystemLoginLog loginLog = new SystemLoginLog();
loginLog.setLoginTime(new Date());
loginLog.setSystemVersion(systemVersion);
- loginLog.setLocation(Utils.Location.getLocationString(loginLog.getIp()));
+// loginLog.setLocation(Utils.Location.getLocationString(loginLog.getIp()));
loginLog.setServerIp(Utils.Server.getIP());
// 鏍规嵁鐢ㄦ埛鍚嶆煡璇㈢敤鎴峰璞�
diff --git a/server/system_timer/src/main/resources/application.yml b/server/system_timer/src/main/resources/application.yml
index aac855a..8910d6c 100644
--- a/server/system_timer/src/main/resources/application.yml
+++ b/server/system_timer/src/main/resources/application.yml
@@ -35,7 +35,7 @@
cache:
session:
# 浼氳瘽杩囨湡鏃堕暱(s)
- expire: 18000
+ expire: 1800
captcha:
# 楠岃瘉鐮佽繃鏈熸椂闀�(s)
expire: 300
diff --git a/server/visits/admin_timer/src/main/java/com/doumee/api/HkNoticeTimerController.java b/server/visits/admin_timer/src/main/java/com/doumee/api/HkNoticeTimerController.java
new file mode 100644
index 0000000..5059704
--- /dev/null
+++ b/server/visits/admin_timer/src/main/java/com/doumee/api/HkNoticeTimerController.java
@@ -0,0 +1,40 @@
+package com.doumee.api;
+
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.utils.Constants;
+import com.doumee.service.business.VisitsService;
+import com.doumee.service.business.impl.hksync.HkSyncVisitServiceImpl;
+import com.doumee.service.business.impl.hksync.fhk.HkSyncVisitFromHKServiceImpl;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Date;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2023/11/30 15:33
+ */
+@Api(tags = "娴峰悍浠e姙瀹氭椂鎶撳彇鎺ュ彛")
+@RestController
+@RequestMapping("/timer/hkNotice")
+public class HkNoticeTimerController extends BaseController {
+ @Autowired
+ private HkSyncVisitServiceImpl hkSyncVisitService;
+ @Autowired
+ private HkSyncVisitFromHKServiceImpl hkSyncVisitFromHKService;
+ @Autowired
+ private VisitsService visitsService;
+
+ @ApiOperation("寮�鍚畾鏃舵煡璇㈡渶鏂颁汉鍛樹唬鍔炴暟鎹姸鎬�")
+ @GetMapping("/getNoticeList")
+ public ApiResponse getNoticeList() {
+ hkSyncVisitService.syncVisitData();
+ return ApiResponse.success("寮�鍚畾鏃朵笅鍙戣瀹㈤绾︾敵璇锋垚鍔�");
+ }
+
+
+}
diff --git a/server/visits/admin_timer/src/main/java/com/doumee/api/WxTokenTimerController.java b/server/visits/admin_timer/src/main/java/com/doumee/api/WxTokenTimerController.java
index 19131de..d40d16b 100644
--- a/server/visits/admin_timer/src/main/java/com/doumee/api/WxTokenTimerController.java
+++ b/server/visits/admin_timer/src/main/java/com/doumee/api/WxTokenTimerController.java
@@ -2,21 +2,22 @@
import com.alibaba.fastjson.JSONObject;
import com.doumee.biz.system.SystemDictDataBiz;
+import com.doumee.core.haikang.model.HKConstants;
+import com.doumee.core.haikang.model.param.BaseResponse;
+import com.doumee.core.haikang.service.HKService;
import com.doumee.core.model.ApiResponse;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.HttpsUtil;
import com.doumee.core.wx.WXConstant;
import com.doumee.dao.system.model.SystemDictData;
-import com.doumee.service.business.impl.hksync.HkSyncVisitServiceImpl;
-import com.doumee.service.business.impl.hksync.fhk.HkSyncVisitFromHKServiceImpl;
import com.doumee.service.system.SystemDictDataService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
+import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.mgt.DefaultSecurityManager;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
-import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@@ -45,7 +46,27 @@
@ApiOperation("寮�鍚畾鏃舵洿鏂板井淇″叕浼楀彿accesstoken")
@GetMapping("/updateWxAccessToken")
public ApiResponse updateWxAccessToken() {
- DefaultSecurityManager securityManager = new DefaultSecurityManager();
+ DefaultSecurityManager securityManager = new DefaultSecurityManager();
+ SecurityUtils.setSecurityManager(securityManager);
+ String token =null;
+ BaseResponse<String> result = HKService.wxAccessToken(systemDictDataBiz.queryByCode(Constants.HK_PARAM,Constants.HK_WXTOKEN_CONFIGID).getCode(),systemDictDataBiz.queryByCode(Constants.HK_PARAM,Constants.HK_WXTOKEN_TAGID).getCode());
+ if(StringUtils.equals(result.getCode(), HKConstants.RESPONSE_SUCCEE) ){
+ token= result.getData();
+ SystemDictData systemDictData = systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN);
+ if(!Objects.isNull(systemDictData)){
+ systemDictData.setCode(token);
+ systemDictData.setUpdateTime(new Date());
+ systemDictDataService.updateById(systemDictData);
+ }
+ }else{
+ return ApiResponse.success("寮�鍚畾鏃舵洿鏂板井淇″叕浼楀彿accesstoken澶辫触");
+ }
+ return ApiResponse.success("寮�鍚畾鏃舵洿鏂板井淇″叕浼楀彿accesstoken鎴愬姛");
+ }
+ @ApiOperation("寮�鍚畾鏃舵洿鏂板井淇″叕浼楀彿accesstoken")
+ @GetMapping("/updateWxAccessTokenOrigin")
+ public ApiResponse updateWxAccessTokenOrigin() {
+ DefaultSecurityManager securityManager = new DefaultSecurityManager();
SecurityUtils.setSecurityManager(securityManager);
String appId = systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_APPID).getCode();
diff --git a/server/visits/admin_timer/src/main/resources/application.yml b/server/visits/admin_timer/src/main/resources/application.yml
index 528dfe4..d1672e0 100644
--- a/server/visits/admin_timer/src/main/resources/application.yml
+++ b/server/visits/admin_timer/src/main/resources/application.yml
@@ -31,7 +31,7 @@
cache:
session:
# 浼氳瘽杩囨湡鏃堕暱(s)
- expire: 18000
+ expire: 1800
captcha:
# 楠岃瘉鐮佽繃鏈熸椂闀�(s)
expire: 300
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HkSyncCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HkSyncCloudController.java
index fb6eeb0..04f82da 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HkSyncCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HkSyncCloudController.java
@@ -33,6 +33,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.*;
+import springfox.documentation.annotations.Cacheable;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -60,6 +61,8 @@
private HkSyncPrivilegeServiceImpl hkSyncPrivilegeService;
@Autowired
private HkSyncPushServiceImpl hkSyncPushService;
+ @Autowired
+ private HkSyncNoticeServiceImpl hkSyncNoticeService;
@Autowired
private HkSyncLoginAuthServiceImpl hkSyncLoginAuthService;
@@ -231,11 +234,11 @@
* @return
*/
@ApiOperation(value = "鑾峰彇瀹夐槻骞冲彴绯荤粺鍏嶅瘑鑿滃崟璋冩暣鍦板潃" )
- @GetMapping("/getHkMenuLink")
+ @PostMapping("/getHkMenuLink/{type}")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "query", dataType = "Integer", name = "type",example = "0",value = "鑿滃崟绫诲瀷", required = true),
})
- public ApiResponse<String> getHkMenuLink(Integer type,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
+ public ApiResponse<String> getHkMenuLink(@PathVariable Integer type,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
LoginUserInfo loginUserInfo = this.getLoginUser(token);
String hkToken = DESUtil.generateTokenToHk(loginUserInfo.getUsername(),Integer.valueOf(
systemDictDataBiz.queryByCode(Constants.HK_PARAM,Constants.HK_TOKEN_VALIDITY).getCode()
@@ -267,7 +270,12 @@
}
-
+ @ApiOperation("銆愭捣搴枫�戜唬鍔炴秷鎭暟鎹泦鍚堝鎺ュ鐞嗘帴鍙�")
+ @PostMapping("/notice/getList")
+ public ApiResponse getNoticeList( HttpServletResponse response,@RequestHeader(Constants.HEADER_USER_TOKEN) String token ){
+ String result = hkSyncNoticeService.syncHkNotices(this.getLoginUser(token).getUsername());
+ return ApiResponse.success(result);
+ }
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformJobCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformJobCloudController.java
index 2678112..a88c653 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformJobCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformJobCloudController.java
@@ -12,6 +12,7 @@
import com.doumee.dao.web.reqeust.JobDetailDTO;
import com.doumee.dao.web.reqeust.SignInDTO;
import com.doumee.service.business.PlatformJobService;
+import com.doumee.service.business.third.WmsService;
import com.github.xiaoymin.knife4j.core.util.CollectionUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -32,6 +33,8 @@
@Autowired
private PlatformJobService platformJobService;
+ @Autowired
+ private WmsService wmsService;
@PreventRepeat
@ApiOperation("鏂板缓")
@@ -56,6 +59,13 @@
platformJobService.deleteByIdInBatch(this.getIdList(ids));
return ApiResponse.success(null);
}
+ @ApiOperation("鎵归噺鏇存柊wms鍚堝悓鎬昏繍杈撻噺")
+ @GetMapping("/updateTotalNum")
+ @CloudRequiredPermission("business:platformjob:update")
+ public ApiResponse updateTotalNum(@RequestParam String ids,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
+ wmsService.computjobTotalNum(this.getIdList(ids));
+ return ApiResponse.success(null);
+ }
@ApiOperation("鏍规嵁ID淇敼")
@PostMapping("/updateById")
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/StagingCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/StagingCloudController.java
index 751d022..e1ade6d 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/StagingCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/StagingCloudController.java
@@ -17,6 +17,7 @@
import com.doumee.service.business.ApproveService;
import com.doumee.service.business.MemberService;
import com.doumee.service.business.VisitsService;
+import com.doumee.service.business.impl.hksync.HkSyncNoticeServiceImpl;
import com.doumee.service.system.NoticesService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
@@ -46,6 +47,8 @@
@Autowired
private VisitsService visitsService;
+ @Autowired
+ private HkSyncNoticeServiceImpl hkSyncNoticeService;
@Autowired
private NoticesService noticesService;
@@ -90,6 +93,8 @@
@ApiImplicitParam(paramType = "query", dataType = "Integer", name = "isDetail", value = " 鏄惁鏌ヨ璇︾粏 1鏄紱0鍚�", required = true),
})
public ApiResponse<InternalHomeVO> taskCenterHead(@RequestParam Integer isDetail,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+ LoginUserInfo loginUserInfo = getLoginUser(token);
+ hkSyncNoticeService.syncHkNotices(loginUserInfo.getUsername());
return ApiResponse.success("鏌ヨ鎴愬姛",approveService.getHomeDataH5(getLoginUser(token).getMemberId(),isDetail));
}
@@ -98,6 +103,7 @@
@PostMapping("/taskCenterHeadPC")
public ApiResponse<InternalHomeVO> taskCenterHeadPC(@RequestBody NoticesDTO noticesDTO,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
LoginUserInfo loginUserInfo = getLoginUser(token);
+ hkSyncNoticeService.syncHkNotices(loginUserInfo.getUsername());
noticesDTO.setMemberId(loginUserInfo.getMemberId());
noticesDTO.setUserId(loginUserInfo.getId());
return ApiResponse.success("鏌ヨ鎴愬姛",approveService.getHomeDataPC(noticesDTO));
@@ -138,6 +144,10 @@
@ApiImplicitParam(paramType = "query", dataType = "Integer", name = "queryType", value = "鏌ヨ绫诲瀷锛�1=鍦ㄥ洯浜烘暟锛�2=鎶ヨ〃鏁版嵁锛�3=寰呭姙浜嬮」锛�4=瓒呮椂棰勮", required = true),
})
public ApiResponse<PCWorkPlatformDataVO> pCWorkPlatformData (@RequestParam Integer queryType, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+ if(queryType==Constants.THREE){
+ //鍚屾娴峰悍浠e姙鏁版嵁
+ hkSyncNoticeService.syncHkNotices(this.getLoginUser(token).getUsername());
+ }
PCWorkPlatformDataVO pcWorkPlatformDataVO = visitsService.getPcWorkPlatformData(queryType,getLoginUser(token));
return ApiResponse.success("鏌ヨ鎴愬姛",pcWorkPlatformDataVO);
}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/WmsPushCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/WmsPushCloudController.java
index ffe7792..99f287c 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/WmsPushCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/WmsPushCloudController.java
@@ -42,6 +42,7 @@
WmsBaseResponse result =null;
try {
result = wmsService.inboundNotice(param);
+ wmsService.computjobTotalNum(param.getJobIdList());
}catch (BusinessException e){
log.error("銆怶MS銆戞帹閫佸叆搴撳崟閫氱煡浠诲姟===澶辫触锛�"+e.getMessage());
success = Constants.ONE;
@@ -64,6 +65,7 @@
WmsBaseResponse result =null;
try {
result = wmsService.outboundNotice(param);
+ wmsService.computjobTotalNum(param.getJobIdList());
}catch (BusinessException e){
log.error("銆怶MS銆戞帹閫佸嚭搴撳崟閫氱煡浠诲姟===澶辫触锛�"+e.getMessage());
success = Constants.ONE;
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/EnergyController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/EnergyController.java
index 04171cd..4fae75e 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/EnergyController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/EnergyController.java
@@ -9,17 +9,13 @@
import com.doumee.service.business.third.BoardService;
import io.swagger.annotations.*;
import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
-import java.math.BigDecimal;
-import java.util.ArrayList;
import java.util.List;
-import java.util.Random;
/**
* Created by IntelliJ IDEA.
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/FightingAdminController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/FightingAdminController.java
index 29baf7c..e727bd7 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/FightingAdminController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/FightingAdminController.java
@@ -1,32 +1,19 @@
package com.doumee.cloud.board;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.doumee.api.BaseController;
import com.doumee.config.annotation.LoginNoRequired;
-import com.doumee.core.haikang.model.HKConstants;
-import com.doumee.core.haikang.model.param.BaseResponse;
-import com.doumee.core.haikang.model.param.request.FireDevStatusTotalRequest;
-import com.doumee.core.haikang.model.param.respose.FireDevStatusListResponse;
-import com.doumee.core.haikang.model.param.respose.MonthDataByMeterTypeResponse;
-import com.doumee.core.haikang.service.HKService;
import com.doumee.core.model.ApiResponse;
import com.doumee.core.utils.Constants;
-import com.doumee.dao.business.PlatformLogMapper;
-import com.doumee.dao.business.model.PlatformLog;
import com.doumee.dao.web.response.platformReport.*;
import com.doumee.service.business.third.BoardService;
import io.swagger.annotations.*;
import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
-import java.util.ArrayList;
import java.util.List;
-import java.util.Random;
/**
* Created by IntelliJ IDEA.
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/PlatformJobRunActController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/PlatformJobRunActController.java
new file mode 100644
index 0000000..7db4ebd
--- /dev/null
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/PlatformJobRunActController.java
@@ -0,0 +1,150 @@
+package com.doumee.cloud.board;
+
+import com.doumee.api.BaseController;
+import com.doumee.config.annotation.LoginNoRequired;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.utils.Constants;
+import com.doumee.dao.business.join.PlatformJobJoinMapper;
+import com.doumee.dao.business.model.Platform;
+import com.doumee.dao.business.model.PlatformBooks;
+import com.doumee.dao.business.model.PlatformJob;
+import com.doumee.dao.business.model.PlatformWmsJob;
+import com.doumee.dao.web.reqeust.CarsJobAndContractDTO;
+import com.doumee.dao.web.response.platformReport.*;
+import com.doumee.service.business.third.BoardService;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Random;
+
+/**
+ * Created by IntelliJ IDEA.
+ *
+ * @Author : Rk
+ * @create 2024/10/28 13:42
+ */
+
+@Api(tags = "銆愮湅鏉垮ぇ灞忋�戝洯鍖虹墿娴佽繍琛岃皟搴︾湅鏉跨湡瀹�")
+@RestController
+@Slf4j
+@RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/board/api/platformJobRunAct")
+public class PlatformJobRunActController extends BaseController {
+
+ @Autowired
+ private PlatformJobJoinMapper platformJobJoinMapper;
+ @Autowired
+ private BoardService boardService;
+
+ @LoginNoRequired
+ @ApiOperation("鏌ヨ鏈湀銆佹湰骞寸殑绱鍑哄簱閲�,鍑哄叆搴撲换鍔¢噺銆佸嚭鍏ュ簱浣滀笟鏁堢巼缁熻鏁版嵁")
+ @GetMapping("/centerData")
+ public ApiResponse<PlatformJobRunBoardNewVO> centerData() {
+ PlatformJobRunBoardNewVO data = boardService.platformJobCenterData();
+ return ApiResponse.success(data);
+ }
+
+
+
+ @LoginNoRequired
+ @ApiOperation("杩愯緭浠诲姟鍒嗘瀽")
+ @GetMapping("/transportMeasure")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "queryType", value = "鏌ヨ绫诲瀷锛�0=鍛紱1=鏈堬紱2=骞达紱", required = true),
+ })
+ public ApiResponse<List<TransportMeasureVO>> transportMeasure(@RequestParam Integer queryType) {
+ List<TransportMeasureVO> list = boardService.transportMeasure(queryType);
+ return ApiResponse.success(list);
+ }
+ @LoginNoRequired
+ @ApiOperation("姹借溅鐘舵�併�佺粡绾害闆嗗悎鏁版嵁")
+ @GetMapping("/carsList")
+ public ApiResponse<BoardCarsListVO> carsList() {
+ BoardCarsListVO data = boardService.platformJobCarsList();
+ return ApiResponse.success(data);
+ }
+ @LoginNoRequired
+ @ApiOperation("鏍规嵁杞︾墝鍙锋煡璇綔涓氫俊鎭拰鍚堝悓淇℃伅闆嗗悎")
+ @PostMapping("/getCarsJobDetails")
+ public ApiResponse<CarsJobAndContractVO> getCarsJobDetails(@RequestBody CarsJobAndContractDTO param) {
+ CarsJobAndContractVO data = boardService.getCarsJobDetails(param);
+ return ApiResponse.success(data);
+ }
+ @LoginNoRequired
+ @ApiOperation("褰撴棩杩愯緭浠诲姟")
+ @GetMapping("/platformJobList")
+ public ApiResponse<List<PlatformJob>> platformJobList() {
+ List<PlatformJob> list = platformJobJoinMapper.selectJoinList(PlatformJob.class,
+ new MPJLambdaWrapper<PlatformJob>()
+ .selectAll(PlatformJob.class)
+ .selectAs(PlatformBooks::getId,PlatformJob::getBookId)
+ .selectAs(Platform::getName,PlatformJob::getPlatformName)
+ .selectAs(Platform::getWorkRate,PlatformJob::getWorkRate)
+ .selectAs(PlatformWmsJob::getCarrierName,PlatformJob::getCarrierName)
+ .selectAs(PlatformWmsJob::getRepertotyAddress,PlatformJob::getRepertotyAddress)
+ .leftJoin(Platform.class,Platform::getId,PlatformJob::getPlatformId)
+ .leftJoin(PlatformWmsJob.class,PlatformWmsJob::getCarryBillCode,PlatformJob::getBillCode)
+ .leftJoin(PlatformBooks.class,PlatformBooks::getJobId,PlatformJob::getId)
+ .eq(PlatformJob::getIsdeleted,Constants.ZERO)
+ .in(PlatformJob::getStatus
+ ,Constants.PlatformJobStatus.WAIT_CALL.getKey()
+ ,Constants.PlatformJobStatus.CALLED.getKey()
+ ,Constants.PlatformJobStatus.IN_WAIT.getKey()
+ ,Constants.PlatformJobStatus.WORKING.getKey()
+ ,Constants.PlatformJobStatus.TRANSFERING.getKey()
+ ,Constants.PlatformJobStatus.EXCEPTION.getKey()
+ ,Constants.PlatformJobStatus.DONE.getKey()
+ )
+ .orderByDesc(PlatformJob::getSignNum)
+ .last(" limit 20 ")
+ );
+ return ApiResponse.success(list);
+ }
+ @LoginNoRequired
+ @ApiOperation("鍑哄叆搴撲换鍔¢噺")
+ @GetMapping("/jobData")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "queryType", value = "鏌ヨ绫诲瀷锛�0=鍑哄簱锛�1=鍏ュ簱锛�", required = true),
+ })
+ public ApiResponse<JobDataVO> jobData(@RequestParam Integer queryType) {
+ Random random = new Random();
+ JobDataVO jobDataVO = new JobDataVO();
+ jobDataVO.setPlanTaskNum(BigDecimal.valueOf(random.nextInt(1000)));
+ jobDataVO.setFinishTaskNum(BigDecimal.valueOf(jobDataVO.getPlanTaskNum().intValue()));
+ return ApiResponse.success(jobDataVO);
+ }
+ @LoginNoRequired
+ @ApiOperation("浠婃棩鍏ュ簱閲忕粺璁�")
+ @GetMapping("/totalInList")
+ public ApiResponse<List<GeneralVO>> totalInList() {
+ List<GeneralVO> list = new ArrayList<>();
+ for (int i = 1; i < 4; i++) {
+ Random random = new Random();
+ GeneralVO data = new GeneralVO();
+ data.setName("鍘傚尯鍚嶇О_"+i);
+ data.setNum(BigDecimal.valueOf(random.nextInt(1000)));
+ list.add(data);
+ }
+ return ApiResponse.success(list);
+ }
+
+
+
+ @LoginNoRequired
+ @ApiOperation("搴撳瓨鎯呭喌")
+ @GetMapping("/stockList")
+ public ApiResponse< BoardStockListVO > stockList() {
+ BoardStockListVO list = boardService.stockList();
+ return ApiResponse.success(list);
+ }
+
+
+}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/PlatformJobRunController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/PlatformJobRunController.java
index 131ee88..a1533a7 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/PlatformJobRunController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/PlatformJobRunController.java
@@ -88,7 +88,7 @@
}
for (String str:dayList) {
TransportMeasureVO data = new TransportMeasureVO();
- data.setPlanDate(str);
+ data.setPlanDateStr(str);
data.setPlanTimes(random.nextInt(200));
data.setPlanTaskNum(new BigDecimal(random.nextInt(1000)));
data.setFinishTaskNum(new BigDecimal(data.getPlanTaskNum().intValue()));
@@ -96,9 +96,6 @@
}
return ApiResponse.success(list);
}
-
-
-
@LoginNoRequired
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/SecurityController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/SecurityController.java
index 0ecd418..adb8c82 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/SecurityController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/SecurityController.java
@@ -1,15 +1,12 @@
package com.doumee.cloud.board;
import com.doumee.api.BaseController;
-import com.doumee.config.annotation.CloudRequiredPermission;
import com.doumee.config.annotation.LoginNoRequired;
import com.doumee.core.haikang.model.param.respose.PageRegionInfoResponse;
-import com.doumee.core.haikang.model.param.respose.RuleEventSearchResponse;
import com.doumee.core.model.ApiResponse;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
-import com.doumee.dao.admin.response.PCWorkPlatformDataVO;
import com.doumee.dao.business.model.Visits;
import com.doumee.dao.web.response.platformReport.*;
import com.doumee.service.business.VisitsService;
@@ -19,7 +16,6 @@
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/VisitorWebController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/VisitorWebController.java
index 2ac7672..9bedaec 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/VisitorWebController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/VisitorWebController.java
@@ -10,6 +10,7 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
+import com.doumee.core.wx.wxPlat.WxPlatNotice;
import com.doumee.dao.business.model.VisitReason;
import com.doumee.dao.business.model.Visits;
import com.doumee.dao.web.reqeust.CheckVisitedDTO;
@@ -32,6 +33,7 @@
import org.springframework.web.server.ServerWebExchange;
import javax.validation.Valid;
+import java.util.Arrays;
import java.util.List;
import java.util.Objects;
@@ -71,6 +73,21 @@
}
+ @LoginNoRequired
+ @ApiOperation(value = "testSendNotice", notes = "testSendNotice")
+ @GetMapping("/testSendNotice")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "query", dataType = "String", name = "openid", value = "openid", required = true),
+ @ApiImplicitParam(paramType = "query", dataType = "String", name = "token", value = "token", required = true),
+ })
+ public ApiResponse wxAuthorize(@RequestParam String openid,String token) {
+ WxPlatNotice wxPlatNotice = new WxPlatNotice();
+ List<String> idList = Arrays.asList(openid.split(","));
+ wxPlatNotice.testSendNotice(idList,token);
+ return ApiResponse.success("鏌ヨ鎴愬姛");
+ }
+
+
@ApiOperation(value = "鏌ヨ琚闂汉淇℃伅", notes = "鏌ヨ琚闂汉淇℃伅")
@PostMapping("/getVisitedMember")
public ApiResponse<List<MemberVO>> getVisitedMember(@Valid @RequestBody CheckVisitedDTO checkVisitedDTO) {
diff --git a/server/visits/dmvisit_admin/src/main/resources/application.yml b/server/visits/dmvisit_admin/src/main/resources/application.yml
index a375639..b3bbf53 100644
--- a/server/visits/dmvisit_admin/src/main/resources/application.yml
+++ b/server/visits/dmvisit_admin/src/main/resources/application.yml
@@ -34,7 +34,7 @@
cache:
session:
# 浼氳瘽杩囨湡鏃堕暱(s)
- expire: 18000
+ expire: 1800
captcha:
# 楠岃瘉鐮佽繃鏈熸椂闀�(s)
expire: 300
diff --git a/server/visits/dmvisit_screen/src/main/resources/application.yml b/server/visits/dmvisit_screen/src/main/resources/application.yml
index 520ec84..a768f65 100644
--- a/server/visits/dmvisit_screen/src/main/resources/application.yml
+++ b/server/visits/dmvisit_screen/src/main/resources/application.yml
@@ -37,7 +37,7 @@
cache:
session:
# 浼氳瘽杩囨湡鏃堕暱(s)
- expire: 18000
+ expire: 1800
captcha:
# 楠岃瘉鐮佽繃鏈熸椂闀�(s)
expire: 300
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/erp/ErpTool.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/erp/ErpTool.java
index 17067e0..2e9c374 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/erp/ErpTool.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/erp/ErpTool.java
@@ -19,9 +19,7 @@
import com.doumee.core.utils.HttpsUtil;
import com.doumee.dao.business.InterfaceLogMapper;
import com.doumee.dao.business.model.InterfaceLog;
-import com.doumee.dao.business.model.Member;
import com.doumee.service.business.InterfaceLogService;
-import com.github.pagehelper.PageInfo;
import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/ApproveNoticeRequest.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/ApproveNoticeRequest.java
index d40397e..9a3107b 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/ApproveNoticeRequest.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/ApproveNoticeRequest.java
@@ -6,7 +6,6 @@
import lombok.Data;
import java.util.Date;
-import java.util.List;
/**
* 鍒嗙被淇℃伅琛�
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java
index da546e4..8f197ab 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java
@@ -39,11 +39,13 @@
* 3銆佽兘绠′腑蹇冿細ngzx
*/
public interface MenuPageId{
+ String[] componentIds = new String[]{"Infovision iPark Platform","dfe"};
String afzx = "afzx";//瀹夐槻涓績
String xkzx = "xkzx";//娑堟帶涓績
String ngzx = "ngzx";//鑳界涓績
String jsc = "jsc";//鐗╀笟鍚庡嫟
String kqgzt = "attendance_workstand";//鑰冨嫟绠$悊
+ String kqdbcl = "process_apply";//鑰冨嫟浠e姙澶勭悊
}
/**
@@ -126,7 +128,8 @@
String[] iccmAppointmentRecords= new String[]{"/api/iccm/v2/appointment/records","iccm鏌ヨ宸查绾︾櫥璁�"};//iccm鏌ヨ宸查绾︾櫥璁�
String[] wxAccessToken= new String[]{"/api/wx/v1/oa/get/accessToken","鏍规嵁寰俊鍏紬鍙蜂俊鎭幏鍙朅ccessToken"};//1.9.1鏍规嵁寰俊鍏紬鍙蜂俊鎭幏鍙朅ccessToken
String[] getWxConfig= new String[]{"/api/wx/v1/oa/get/config","鏍规嵁閰嶇疆寰俊鍏紬鍙风紪鍙锋煡璇㈠井淇″叕浼楀彿淇℃伅"};//鏍规嵁閰嶇疆寰俊鍏紬鍙风紪鍙锋煡璇㈠井淇″叕浼楀彿淇℃伅
- String[] goMenuUrl= new String[]{"/xauthplus-plugin/thirdLogin?type=third&componentId=Infovision iPark Platform&componentMenuId=${menuId}&token=${token}","宸ヤ綔鍙拌彍鍗曡烦杞湴鍧�"};
+ String[] goMenuUrl= new String[]{"/xauthplus-plugin/thirdLogin?type=third&componentId=${componentId}&componentMenuId=${menuId}&token=${token}","宸ヤ綔鍙拌彍鍗曡烦杞湴鍧�"};
+// String[] goNoticeMenuUrl= new String[]{"/xauthplus-plugin/thirdLogin?type=third&componentId=dfe&componentMenuId={menuId}&token=${token}","宸ヤ綔鍙拌�冨嫟浠e姙澶勭悊璺宠浆鍦板潃"};
String[] nhEventPageList= new String[]{"/api/ecm/warning/event/v1/pageList","鍒嗛〉鑾峰彇鍛婅浜嬩欢"};//鍒嗛〉鑾峰彇鍛婅浜嬩欢
String[] nhRegionDataRanking= new String[]{"/api/ecm/v1/energy/regionDataRanking","鏍规嵁鏃堕棿缁村害鑾峰彇鍖哄煙鐢ㄩ噺鎺掑悕"};//1.8.5鏍规嵁鏃堕棿缁村害鑾峰彇鍖哄煙鐢ㄩ噺鎺掑悕
String[] nhEnergyDistribution= new String[]{"/api/ecm/v1/energy/energyDistribution","鏍规嵁鏃堕棿缁村害鑾峰彇鑳借�楀垎甯�"};// 鏍规嵁鏃堕棿缁村害鑾峰彇鑳借�楀垎甯�
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java
index e033aac..dc5e088 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java
@@ -395,6 +395,13 @@
saveInterfaceLog(JSONObject.toJSONString(body),result,path,pathStr[1]);
return result;
}
+ public static String startDoGetStringArtemisJson(String[] pathStr,Map<String,String> body ){
+ Map<String, String> path = getPath(pathStr[0]);
+ Map<String, String> header = new HashMap<>();
+ String result = ArtemisHttpUtil.doGetArtemis(path, body, null, "application/json", header);
+ saveInterfaceLog(JSONObject.toJSONString(body),result,path,pathStr[1]);
+ return result;
+ }
public static String startDoPostStringArtemis(String[] pathStr,String param,String body ){
Map<String, String> path = getPath(pathStr[0]+StringUtils.defaultString(param,""));
Map<String, String> header = new HashMap<>();
@@ -574,10 +581,13 @@
* 鏍规嵁寰俊鍏紬鍙蜂俊鎭幏鍙朅ccessToken
* @return
*/
- public static String wxAccessToken(String configId,String tagId) {
- String[] wxAccessToken= HKConstants.InterfacePath.wxAccessToken;
- wxAccessToken[0] = HKConstants.InterfacePath.wxAccessToken+"?tagId="+tagId+"&configId"+configId;
- return startDoPostStringArtemis(wxAccessToken,"");
+ public static String wxAccessToken(HashMap<String,String> params ) {
+// String[] wxAccessToken= new String[2];
+// String url = HKConstants.InterfacePath.wxAccessToken[0]+"?tagId="+tagId+"&configId="+configId;
+// String t = HKConstants.InterfacePath.wxAccessToken[1];
+// wxAccessToken[0] = url;
+// wxAccessToken[1] = t;
+ return startDoGetStringArtemisJson(HKConstants.InterfacePath.wxAccessToken,params);
}
/**
* 鏍规嵁閰嶇疆寰俊鍏紬鍙风紪鍙锋煡璇㈠井淇″叕浼楀彿淇℃伅
@@ -994,9 +1004,9 @@
return startDoPostStringArtemis(HKConstants.InterfacePath.applyST,body);
}
- public static String getMenuUrl(String menuId, String token) {
+ public static String getMenuUrl(String componentId,String menuId, String token) {
String url = HKConstants.InterfacePath.goMenuUrl[0];
- url = url.replace("${menuId}", menuId).replace("${token}",token);
+ url = url.replace("${componentId}",componentId).replace("${menuId}", menuId).replace("${token}",token);
return url;
}
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/BaseCarsPageResponse.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/BaseCarsPageResponse.java
new file mode 100644
index 0000000..c7755a5
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/BaseCarsPageResponse.java
@@ -0,0 +1,18 @@
+package com.doumee.core.haikang.model.cars;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class BaseCarsPageResponse<T> {
+
+ private int total;// number False 鏌ヨ鏁版嵁璁板綍鎬绘暟
+ private int totalPages;// 鎬婚〉鏁� Integer
+ private int currentPage ;//褰撳墠椤� Integer
+ private int totalRecords;// 鎬昏褰曟潯鏁� Long
+ private int startIndex ;//璁板綍寮�濮嬪簭鍙� Long
+ @JSONField(name="results",alternateNames = {"rows","list"})
+ private List<T> results ;// object[] False 鏉冮檺缁勫璞″垪琛�
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/BaseCarsResponse.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/BaseCarsResponse.java
new file mode 100644
index 0000000..a515ba2
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/BaseCarsResponse.java
@@ -0,0 +1,17 @@
+package com.doumee.core.haikang.model.cars;
+
+import lombok.Data;
+
+@Data
+public class BaseCarsResponse<T> {
+
+ private T data;
+ /**
+ *閿欒淇℃伅鎻忚堪锛屼粎status涓嶄负0鏃舵湁鍊�
+ */
+ private String msg;
+ /**
+ * 璇锋眰缁撴灉鐘舵�佸�硷紝 鎴愬姛涓�0锛屽叾浠栧�艰鏌ョ湅闄勫綍杩斿洖鐮佺姸鎬佽〃銆�
+ */
+ private Integer status;
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/request/CarsDeviceRequest.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/request/CarsDeviceRequest.java
new file mode 100644
index 0000000..ea45f77
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/request/CarsDeviceRequest.java
@@ -0,0 +1,14 @@
+package com.doumee.core.haikang.model.cars.request;
+
+import lombok.Data;
+
+/**
+ * 璁惧鍒楄〃璇锋眰淇℃伅
+ */
+@Data
+public class CarsDeviceRequest {
+
+ private String productKey ;//璁惧鍨嬪彿绉橀挜 String 鏃� 鍚�
+ private Integer pageSize;// 椤甸潰澶у皬 Integer 1000 鍚�
+ private Integer pageNo ;//褰撳墠椤� Integer 1
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/request/CarsGpsRequest.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/request/CarsGpsRequest.java
new file mode 100644
index 0000000..cdd615c
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/request/CarsGpsRequest.java
@@ -0,0 +1,18 @@
+package com.doumee.core.haikang.model.cars.request;
+
+import lombok.Data;
+
+/**
+ * GPS鍒楄〃璇锋眰淇℃伅
+ */
+@Data
+public class CarsGpsRequest {
+
+ private String deviceCode ;//璁惧缁堢鎵嬫満鍙� String 鏃� 鏄�
+ private String startTime ;//寮�濮嬫椂闂磞yyy-MM-dd HH:mm:ss String 鏃� 鏄�
+ private String endTime ;//缁撴潫鏃堕棿yyyy-MM-dd HH:mm:ss String 鏃� 鏄�
+ private Boolean filterInvalidGps ;//鏄惁杩囨护鏃犳晥鐨凣PS boolean true 鍚�
+ private Boolean filterSupplementGps ;//鏄惁杩囨护琛ユ姤鐨凣PS boolean true 鍚�
+ private Integer pageSize;// 椤甸潰澶у皬 Integer 1000 鍚�
+ private Integer pageNo ;//褰撳墠椤� Integer 1
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/response/CarsDeviceChannelResponse.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/response/CarsDeviceChannelResponse.java
new file mode 100644
index 0000000..10b096c
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/response/CarsDeviceChannelResponse.java
@@ -0,0 +1,16 @@
+package com.doumee.core.haikang.model.cars.response;
+
+import lombok.Data;
+
+
+/**
+ * 璁惧閫氶亾淇℃伅
+ * @param <T>
+ */
+@Data
+public class CarsDeviceChannelResponse<T> {
+ private String terminalID;// 缁堢鎵嬫満鍙� String
+ private String channelName;// 閫氶亾鍙峰悕绉� String
+ private Integer channelNum;// 閫氶亾缂栧彿
+ private Integer channelType;// 閫氶亾鍙风被鍨嬶紝0 瑙嗛閫氶亾锛�1 闊抽閫氶亾
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/response/CarsDeviceDetaisResponse.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/response/CarsDeviceDetaisResponse.java
new file mode 100644
index 0000000..2eb08b9
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/response/CarsDeviceDetaisResponse.java
@@ -0,0 +1,23 @@
+package com.doumee.core.haikang.model.cars.response;
+
+import lombok.Data;
+
+/**
+ * GPS鍒楄〃鍗曞厓淇℃伅
+ */
+@Data
+public class CarsDeviceDetaisResponse {
+ private Integer gpsValid ;//瀹氫綅鐘舵�侊紝0 鏃犳晥锛� 1 鏈夋晥
+ private Double longitude ;//缁忓害 Double
+ private Double latitude;// 绾害
+ private Double altitude ;//娴锋嫈楂樺害
+ private Float speed;// 閫熷害
+ private Integer direction;// 鏂瑰悜瑙� Integer
+ private String collectTime ;//GPS涓婃姤鏃堕棿yyyy-MM-dd HH:mm:ss String
+ private String accStatus;// acc鐘舵�� 0锛氬叧闂� 1锛氬紑鍚� String
+ private Integer supplementSign;// 琛ユ姤鏍囪瘑锛�1锛氳ˉ鎶ワ紱0锛氭甯镐笂鎶ワ級 Integer
+ private String createTime;// 绯荤粺鏀跺埌GPS鏃堕棿yyyy-MM-dd HH:mm:ss String
+ private Integer status;//璁惧鐘舵�� 0锛氱绾匡紱1锛氬湪绾匡紱2锛氫紤鐪�
+ private String plateNum;//杞︾墝鍙�
+ private String terminalID;// 缁堢鎵嬫満鍙� String
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/response/CarsDeviceResponse.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/response/CarsDeviceResponse.java
new file mode 100644
index 0000000..5fbcdb0
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/response/CarsDeviceResponse.java
@@ -0,0 +1,25 @@
+package com.doumee.core.haikang.model.cars.response;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 璁惧鍒楄〃鍗曞厓淇℃伅
+ * @param <T>
+ */
+@Data
+public class CarsDeviceResponse<T> {
+
+ private String terminalID;// 缁堢鎵嬫満鍙� String
+ private String productKey ;//璁惧鎵�灞炲瀷鍙风殑浜у搧瀵嗛挜 String
+ private String createTime;// 娣诲姞鏃堕棿 String
+ private String deviceStatus;// 璁惧鐘舵�� 0锛氱绾匡紱1锛氬湪绾匡紱2锛氫紤鐪� Integer
+ private String language ;//鍥轰欢璇█锛欳N/EN String
+ private String organizeName;// 缁勭粐鍚嶇О Sring
+ private String organizeId ;//缁勭粐id Integer
+ private String version ;//杞欢鐗堟湰 String
+ private String plateNum ;//杞︾墝鍙� String
+ private List<CarsDeviceChannelResponse> deviceChannelList;// 璁惧閫氶亾鍒楄〃锛岃缁嗗弬鏁拌*琛�2
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/response/CarsGpsResponse.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/response/CarsGpsResponse.java
new file mode 100644
index 0000000..2f5642f
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/cars/response/CarsGpsResponse.java
@@ -0,0 +1,25 @@
+package com.doumee.core.haikang.model.cars.response;
+
+import lombok.Data;
+
+import javax.annotation.PostConstruct;
+import java.util.List;
+
+/**
+ * GPS鍒楄〃鍗曞厓淇℃伅
+ * @param <T>
+ */
+@Data
+public class CarsGpsResponse<T> {
+
+ private Integer gpsValid ;//瀹氫綅鐘舵�侊紝0 鏃犳晥锛� 1 鏈夋晥
+ private Double longitude ;//缁忓害 Double
+ private Double latitude;// 绾害
+ private Double altitude ;//娴锋嫈楂樺害
+ private Float speed;// 閫熷害
+ private Integer direction;// 鏂瑰悜瑙� Integer
+ private String collectTime ;//GPS涓婃姤鏃堕棿yyyy-MM-dd HH:mm:ss String
+ private String accStatus;// acc鐘舵�� 0锛氬叧闂� 1锛氬紑鍚� String
+ private Integer supplementSign;// 琛ユ姤鏍囪瘑锛�1锛氳ˉ鎶ワ紱0锛氭甯镐笂鎶ワ級 Integer
+ private String createTime;// 绯荤粺鏀跺埌GPS鏃堕棿yyyy-MM-dd HH:mm:ss String
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/GetTodoListRequest.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/GetTodoListRequest.java
index 5c94e1a..e1b81b7 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/GetTodoListRequest.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/GetTodoListRequest.java
@@ -6,12 +6,12 @@
public class GetTodoListRequest {
private String comId;// Query String false 缁勪欢id
- private int pageSize ;// Query Number false 鍒嗛〉澶у皬锛�1~999锛�
- private int cascade ;// Query Number false 绾ц仈鏁版嵁鏉ユ簮0:涓嬬骇骞冲彴鏉ユ簮锛�1:闈炰笅绾у钩鍙版潵婧愶紝涓虹┖榛樿鏌ヨ鎵�鏈夋暟鎹潵婧�
+ private Integer pageSize ;// Query Number false 鍒嗛〉澶у皬锛�1~999锛�
+ private Integer cascade ;// Query Number false 绾ц仈鏁版嵁鏉ユ簮0:涓嬬骇骞冲彴鏉ユ簮锛�1:闈炰笅绾у钩鍙版潵婧愶紝涓虹┖榛樿鏌ヨ鎵�鏈夋暟鎹潵婧�
private String messageId;// Query String false messageId
- private int pageNo;// Query Number false 褰撳墠椤电爜(1~100000)
+ private Integer pageNo;// Query Number false 褰撳墠椤电爜(1~100000)
private String localeType;// Query String false 璇█绫诲瀷zh_CN:涓枃en_US:鑻辨枃
- private int status;// Query Number false 涓氬姟鐘舵�佺被鍨�,1-寰呭鐞嗭紝2-瀹℃壒涓紝3-宸插畬鎴愶紝4-鎶勯�佹垜锛�5-鎴戝鎵�,榛樿寰呭鐞�
+ private Integer status;// Query Number false 涓氬姟鐘舵�佺被鍨�,1-寰呭鐞嗭紝2-瀹℃壒涓紝3-宸插畬鎴愶紝4-鎶勯�佹垜锛�5-鎴戝鎵�,榛樿寰呭鐞�
private String userId;// Query String false 鐢ㄦ埛id
private String clientType;// Query String false 璋冪敤鏂圭被鍨�0:鍏朵粬锛�1锛欰PP锛屼负绌烘椂榛樿涓�1锛�2锛氶棬鎴�
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/GetTodoListResponse.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/GetTodoListResponse.java
index bf7f72f..e5b710b 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/GetTodoListResponse.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/GetTodoListResponse.java
@@ -10,7 +10,7 @@
private String comId;// String false 缁勪欢鏍囪瘑
private String moduleId;// String false 妯″潡鏍囪瘑
private String msgTitle;// String false 淇℃伅鏍囬
- private String msgStatus ;//String false 淇℃伅鐘舵��
+ private String msgStatus ;//String false 淇℃伅鐘舵�� 涓氬姟鐘舵�佺被鍨�,1-寰呭鐞嗭紝2-瀹℃壒涓紝3-宸插畬鎴愶紝4-鎶勯�佹垜锛�5-鎴戝鎵�,榛樿寰呭鐞�
private String msgStatusStr;// String false 淇℃伅鐘舵�佸悕绉�
private String msgCreateTime;// String false 娑堟伅鍒涘缓鏃堕棿,浼樺厛浣跨敤msgCreateTimeIso
private String msgCreateTimeIso;// String false 娑堟伅鍒涘缓鏃堕棿,ISO鏃堕棿
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKCarOpenService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKCarOpenService.java
new file mode 100644
index 0000000..648f197
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKCarOpenService.java
@@ -0,0 +1,236 @@
+package com.doumee.core.haikang.service;
+
+ import com.alibaba.fastjson.JSONObject;
+ import com.alibaba.fastjson.TypeReference;
+ import com.doumee.core.haikang.model.cars.BaseCarsPageResponse;
+ import com.doumee.core.haikang.model.cars.BaseCarsResponse;
+ import com.doumee.core.haikang.model.cars.request.CarsDeviceRequest;
+ import com.doumee.core.haikang.model.cars.request.CarsGpsRequest;
+ import com.doumee.core.haikang.model.cars.response.CarsDeviceDetaisResponse;
+ import com.doumee.core.haikang.model.cars.response.CarsDeviceResponse;
+ import com.doumee.core.haikang.model.cars.response.CarsGpsResponse;
+ import com.doumee.core.haikang.model.param.BaseListPageResponse;
+ import com.doumee.core.haikang.model.param.BaseResponse;
+ import com.doumee.core.haikang.model.param.respose.FindHomeAlarmInfoPageResponse;
+ import com.doumee.core.utils.Constants;
+ import com.doumee.core.utils.DateUtil;
+ import com.google.common.collect.Maps;
+ import org.apache.commons.lang3.StringUtils;
+ import org.apache.http.client.methods.CloseableHttpResponse;
+ import org.apache.http.client.methods.HttpGet;
+ import org.apache.http.impl.client.CloseableHttpClient;
+ import org.apache.http.impl.client.HttpClientBuilder;
+ import org.apache.http.util.EntityUtils;
+ import org.springframework.http.HttpMethod;
+
+ import java.io.UnsupportedEncodingException;
+ import java.util.*;
+
+public class HKCarOpenService {
+
+ public static String ACCESS_KEY = "D_SUB_gfJkiUxt_1723101405213";
+ public static String ACCESS_SECRET = "0vB3VLU21SC6eG8T";
+ private static final String SIGNATURE_METHOD = "HMAC-SHA1";
+ private static final String DEFAULT_CHARSET = "UTF-8";
+ private static final String REGION_ID = "cn-hangzhou";
+ private static final String VERSION = "2.1.0";
+ public static String BASE_URL = "https://open.hikvisionauto.com:14021/v2/";
+ private static TreeMap<String, String> getBaseParams() {
+ Map<String, String> params = Maps.newHashMap();
+ params.put("SignatureMethod", SIGNATURE_METHOD);
+ params.put("SignatureNonce", UUID.randomUUID().toString());
+ params.put("AccessKey", ACCESS_KEY);
+ params.put("Timestamp", String.valueOf(System.currentTimeMillis()));
+ params.put("Version", VERSION);
+ params.put("RegionId", REGION_ID);
+ TreeMap<String, String> sortParas = Maps.newTreeMap();
+ sortParas.putAll(params);
+ return sortParas;
+ }
+
+ public static String sign(String accessSecret, TreeMap<String, String> params, HttpMethod method) throws Exception {
+ String stringToSign = getStringToSign(params, method);
+ System.out.println("StringToSign = [" + stringToSign + "]");
+ javax.crypto.Mac mac = javax.crypto.Mac.getInstance("HmacSHA1");
+ mac.init(new javax.crypto.spec.SecretKeySpec(accessSecret.getBytes(DEFAULT_CHARSET), "HmacSHA1"));
+ byte[] signData = mac.doFinal(stringToSign.getBytes(DEFAULT_CHARSET));
+ return new sun.misc.BASE64Encoder().encode(signData);
+ }
+
+ private static String getStringToSign(TreeMap<String, String> params, HttpMethod method) throws Exception {
+ StringBuilder sortQueryStringTmp = new StringBuilder();
+ for(Map.Entry<String, String> entry : params.entrySet()){
+ sortQueryStringTmp.append("&").append(specialUrlEncode(entry.getKey())).append("=").append(specialUrlEncode(entry.getValue()));
+ }
+ StringBuilder stringToSign = new StringBuilder();
+ stringToSign.append(method.toString()).append("&").append(specialUrlEncode("/")).append("&").append(specialUrlEncode(sortQueryStringTmp.substring(1)));
+ return stringToSign.toString();
+ }
+
+ public static String specialUrlEncode(String value) throws Exception {
+ return java.net.URLEncoder.encode(value, "UTF-8").replace("+", "%20").replace("*", "%2A").replace("%7E", "~");
+ }
+
+ public static void main(String[] args) {
+ getAllCarsDetais();
+ }
+
+ public static List<CarsDeviceDetaisResponse> getAllCarsDetais() {
+ List<CarsDeviceDetaisResponse> list = new ArrayList<>();
+ BaseCarsPageResponse<CarsDeviceResponse> data = getDeviceList(new CarsDeviceRequest());
+ if(data!=null &&data.getResults()!=null){
+ List<String> cars = new ArrayList<>();
+ List<String> codes = new ArrayList<>();
+ for(CarsDeviceResponse model :data.getResults()){
+// System.out.println("=================杞︾墝鍙凤細"+model.getPlateNum());
+ cars.add(model.getPlateNum());
+ codes.add(model.getTerminalID());
+ CarsDeviceDetaisResponse t = new CarsDeviceDetaisResponse();
+ t.setPlateNum(model.getPlateNum());
+ t.setTerminalID(model.getTerminalID());
+ /*CarsGpsRequest gp = new CarsGpsRequest();
+ gp.setDeviceCode(t.getTerminalID());
+ gp.setFilterSupplementGps(false);
+ gp.setFilterSupplementGps(false);
+ gp.setStartTime(DateUtil.getYesterday()+" 00:00:00");
+ gp.setEndTime(DateUtil.getNowPlusTime());
+ gp.setPageNo(1);
+ gp.setPageSize(10);*/
+ CarsGpsResponse tg = getLatestGpsInfo(t.getTerminalID());
+ if(tg!=null ){
+ t.setSpeed(tg.getSpeed());
+ t.setLatitude(tg.getLatitude());
+ t.setLongitude(tg.getLongitude());
+ t.setCollectTime(tg.getCollectTime());
+ t.setAccStatus(tg.getAccStatus());
+ t.setGpsValid(tg.getGpsValid());
+ }
+ list.add(t);
+ }
+ System.out.println("=================杞︾墝鎬绘暟锛�"+codes.size());
+ Map<String,Integer> statusList = getDeviceStatusList(codes);
+ if(statusList!=null &&statusList.size()>0){
+ for(Map.Entry<String, Integer> entry : statusList.entrySet()){
+ CarsDeviceDetaisResponse t = getFromListById(entry.getKey(),list);
+ if(t!=null) {
+ t.setStatus(entry.getValue());
+ }
+ }
+ }
+ }
+ for(CarsDeviceDetaisResponse m : list){
+
+ System.out.println("=================杞︾墝鍙凤細"+m.getPlateNum()+" 鐘舵�侊細銆�"+m.getStatus()+"銆�"+" 浣嶇疆锛氥��"+m.getLongitude()+","+m.getLatitude()+"銆�");
+ }
+ return list;
+ }
+
+ private static CarsDeviceDetaisResponse getFromListById(String key, List<CarsDeviceDetaisResponse> list) {
+ for(CarsDeviceDetaisResponse dd :list){
+ if(dd.getTerminalID()!=null && key !=null && dd.getTerminalID().equals(key)){
+ return dd;
+ }
+ }
+ return null;
+ }
+
+ public static String sendRequest(String url,TreeMap<String, String> map){
+ try {
+ StringBuilder sortQueryStringTmp = new StringBuilder();
+ for(Map.Entry<String, String> entry : map.entrySet()){
+ sortQueryStringTmp
+ .append("&")
+ .append(specialUrlEncode(entry.getKey()))
+ .append("=")
+ .append(specialUrlEncode(entry.getValue()));
+ }
+ //涓庝笅鏂圭殑HttpGet瀵瑰簲锛岄噰鐢ㄧ殑鏄疕ttpMethod.GET
+ String sign = sign(ACCESS_SECRET + "&", map, HttpMethod.GET);
+ url += "?Signature=" + specialUrlEncode(sign) + sortQueryStringTmp.toString();
+ CloseableHttpClient httpClient = HttpClientBuilder.create().build();
+ //涓庝笂鏂圭殑HttpMethod.GET瀵瑰簲锛屼娇鐢℉ttpGet
+ HttpGet httpDelete = new HttpGet(url);
+ CloseableHttpResponse response = httpClient.execute(httpDelete);
+ return EntityUtils.toString(response.getEntity());
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+
+ return null;
+}
+ public static BaseCarsPageResponse<CarsGpsResponse> getGpsList(CarsGpsRequest param) {
+ String url = BASE_URL + "gps/list/";
+ TreeMap<String, String> BASE_PARAMS = getBaseParams();
+ if(StringUtils.isNotBlank(param.getEndTime())) {
+ BASE_PARAMS.put("endTime", param.getEndTime());
+ }
+ if(StringUtils.isNotBlank(param.getStartTime())){
+ BASE_PARAMS.put("startTime",param.getStartTime());
+ }
+ if( param.getFilterInvalidGps() !=null && !param.getFilterInvalidGps()){
+ BASE_PARAMS.put("filterInvalidGps", "false");
+ }
+ if( param.getFilterSupplementGps() !=null && !param.getFilterSupplementGps()){
+ BASE_PARAMS.put("filterSupplementGps", "false");
+ }
+ if(StringUtils.isNotBlank(param.getDeviceCode())){
+ BASE_PARAMS.put("deviceCode", param.getDeviceCode().toString());//璁惧鍨嬪彿绉橀挜
+ }
+ BASE_PARAMS.put("pageSize",Constants.equalsInteger(param.getPageSize(),0)? "100":param.getPageSize().toString());//椤甸潰澶у皬
+ BASE_PARAMS.put("pageNo", Constants.equalsInteger(param.getPageNo(),0)? "1":param.getPageNo().toString());//褰撳墠椤�
+ String str = sendRequest(url,BASE_PARAMS);
+ TypeReference typeReference =
+ new TypeReference<BaseCarsResponse<BaseCarsPageResponse<CarsGpsResponse>>>(){};
+ BaseCarsResponse<BaseCarsPageResponse<CarsGpsResponse>> result = JSONObject.parseObject(str, typeReference.getType());
+ if(result!=null && Constants.equalsInteger(result.getStatus(),0)){
+ return result.getData();
+ }
+ return null;
+ }
+ public static CarsGpsResponse getLatestGpsInfo(String deviceCode) {
+ String url = BASE_URL + "gps/latest/";
+ TreeMap<String, String> BASE_PARAMS = getBaseParams();
+ BASE_PARAMS.put("deviceCode", deviceCode);//璁惧鍨嬪彿绉橀挜
+ String str = sendRequest(url,BASE_PARAMS);
+ TypeReference typeReference =
+ new TypeReference<BaseCarsResponse<CarsGpsResponse>>(){};
+ BaseCarsResponse<CarsGpsResponse> result = JSONObject.parseObject(str, typeReference.getType());
+ if(result!=null && Constants.equalsInteger(result.getStatus(),0)){
+ return result.getData();
+ }
+ return null;
+ }
+ public static Map<String,Integer> getDeviceStatusList(List<String> code) {
+ String url = BASE_URL + "device/status/";
+ TreeMap<String, String> BASE_PARAMS = getBaseParams();
+ if(code ==null || code.size() ==0){
+ return new HashMap<>();
+ }
+ BASE_PARAMS.put("deviceCodeList", JSONObject.toJSONString(code));//缁堢鎵嬫満鍙峰垪琛�
+ String str = sendRequest(url,BASE_PARAMS);
+ TypeReference typeReference =
+ new TypeReference<BaseCarsResponse<Map<String,Integer>>>(){};
+ BaseCarsResponse<Map<String,Integer>> result = JSONObject.parseObject(str, typeReference.getType());
+ if(result!=null && Constants.equalsInteger(result.getStatus(),0)){
+ return result.getData();
+ }
+ return null;
+ }
+ public static BaseCarsPageResponse<CarsDeviceResponse> getDeviceList(CarsDeviceRequest param) {
+ String url = BASE_URL + "device/list/";
+ TreeMap<String, String> BASE_PARAMS = getBaseParams();
+ if(StringUtils.isNotBlank(param.getProductKey())){
+ BASE_PARAMS.put("productKey", "");//璁惧鍨嬪彿绉橀挜
+ }
+ BASE_PARAMS.put("pageSize",Constants.equalsInteger(param.getPageSize(),0)? "100":param.getPageSize().toString());//椤甸潰澶у皬
+ BASE_PARAMS.put("pageNo", Constants.equalsInteger(param.getPageNo(),0)? "1":param.getPageNo().toString());//褰撳墠椤�
+ String str = sendRequest(url,BASE_PARAMS);
+ TypeReference typeReference =
+ new TypeReference<BaseCarsResponse<BaseCarsPageResponse<CarsDeviceResponse>>>(){};
+ BaseCarsResponse<BaseCarsPageResponse<CarsDeviceResponse>> result = JSONObject.parseObject(str, typeReference.getType());
+ if(result!=null && Constants.equalsInteger(result.getStatus(),0)){
+ return result.getData();
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java
index fe7905c..1cb80a8 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java
@@ -888,7 +888,10 @@
public static BaseResponse<String> wxAccessToken(String configId,String tagId){
log.info("銆愭捣搴锋牴鎹井淇″叕浼楀彿淇℃伅鑾峰彇AccessToken銆�================寮�濮�====configId:"+configId+" && tagId:"+tagId);
try {
- String res = HKTools.wxAccessToken(configId,tagId);
+ HashMap<String,String> params = new HashMap<>();
+ params.put("tagId",tagId);
+ params.put("configId",configId);
+ String res = HKTools.wxAccessToken(params);
TypeReference typeReference =
new TypeReference<BaseResponse<String>>(){};
BaseResponse<String> result = JSONObject.parseObject(res, typeReference.getType());
@@ -1086,6 +1089,7 @@
* @return
*/
public static String getMenuUrl(Integer type,String token){
+ String componentId = HKConstants.MenuPageId.componentIds[0];
String menuId = HKConstants.MenuPageId.afzx;
if(Constants.equalsInteger(type,Constants.ONE)){
menuId = HKConstants.MenuPageId.xkzx;
@@ -1095,10 +1099,13 @@
menuId = HKConstants.MenuPageId.jsc;
}else if(Constants.equalsInteger(type,Constants.FOUR)){
menuId = HKConstants.MenuPageId.kqgzt;
+ }else if(Constants.equalsInteger(type,Constants.FIVE)){
+ componentId = HKConstants.MenuPageId.componentIds[1];
+ menuId = HKConstants.MenuPageId.kqdbcl;
}
log.info("銆愭捣搴疯幏鍙栧伐浣滃彴鑿滃崟鍏嶅瘑鐧婚檰璋冩暣鍦板潃銆�================寮�濮�====menuId:"+menuId+"==token:"+token);
try {
- String res = HKTools.getMenuUrl(menuId,token);
+ String res = HKTools.getMenuUrl(componentId,menuId,token);
return res;
}catch (Exception e){
log.error("銆愭捣搴疯幏鍙栧伐浣滃彴鑿滃崟鍏嶅瘑鐧婚檰璋冩暣鍦板潃銆�================澶辫触====锛歕n"+ e.getMessage());
@@ -1404,7 +1411,9 @@
Class<?> clazz = obj.getClass();
for (Field field : clazz.getDeclaredFields()) {
field.setAccessible(true); // 浣垮緱绉佹湁瀛楁涔熷彲浠ヨ闂�
- map.put(field.getName(), (String) field.get(obj));
+ if(field.get(obj)!=null){
+ map.put(field.getName(), String.valueOf( field.get(obj)));
+ }
}
return map;
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/wms/model/request/WmsBaseRequest.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/wms/model/request/WmsBaseRequest.java
index 498350c..823ac23 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/wms/model/request/WmsBaseRequest.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/wms/model/request/WmsBaseRequest.java
@@ -1,5 +1,6 @@
package com.doumee.core.wms.model.request;
+import com.doumee.dao.business.model.PlatformJob;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -16,5 +17,5 @@
@ApiModelProperty(value = "data" )
private List<T> data;
-
+ private List<Integer> jobIdList;
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/wms/model/response/WmsBaseResponse.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/wms/model/response/WmsBaseResponse.java
index 908cf5c..cf3064a 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/wms/model/response/WmsBaseResponse.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/wms/model/response/WmsBaseResponse.java
@@ -1,11 +1,9 @@
package com.doumee.core.wms.model.response;
-import com.doumee.core.haikang.model.param.BaseRequst;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
-import java.math.BigDecimal;
import java.util.List;
/**
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/wms/model/response/WmsInventoryJsonResponse.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/wms/model/response/WmsInventoryJsonResponse.java
index 2d72b76..b286b9a 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/wms/model/response/WmsInventoryJsonResponse.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/wms/model/response/WmsInventoryJsonResponse.java
@@ -19,9 +19,9 @@
private String item_code;
@ApiModelProperty(value = "娑堟伅鎻忚堪" ,example = "1")
private String item_name;
- @ApiModelProperty(value = "鍐呭璇︽儏闆嗗悎" ,example = "1")
+ @ApiModelProperty(value = "qty" ,example = "1")
private BigDecimal qty;
- @ApiModelProperty(value = "鍐呭璇︽儏闆嗗悎" ,example = "1")
+ @ApiModelProperty(value = "supplier_code" ,example = "1")
private String supplier_code;
@ApiModelProperty(value = "g" ,example = "1")
private String supplier_name;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatConfig.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatConfig.java
index 14cbdca..6cc72c9 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatConfig.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatConfig.java
@@ -17,13 +17,13 @@
* @Author : Rk
* @create 2023/12/27 9:30
*/
-@Configuration
+//@Configuration
public class WxPlatConfig {
@Autowired
private SystemDictDataBiz systemDictDataBiz;
- @Bean
+// @Bean
public WxMpConfigStorage wxMpConfigStorage() {
WxMpDefaultConfigImpl configStorage = new WxMpDefaultConfigImpl();
// 鍏紬鍙穉ppId
@@ -43,7 +43,7 @@
*
* @return
*/
- @Bean
+// @Bean
public WxMpService wxMpService() {
WxMpService wxMpService = new WxMpServiceImpl();
wxMpService.setWxMpConfigStorage(wxMpConfigStorage());
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatConstants.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatConstants.java
index 800b992..23e60ae 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatConstants.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatConstants.java
@@ -46,7 +46,7 @@
// 瀹℃壒椹冲洖缁欑敵璇蜂汉锛氱敵璇峰凡琚┏鍥�
String visitReportAuditFail = "visitReportAuditFail";
// 缁欏鎵逛汉锛氱敵璇峰緟鎮ㄥ鎵�
- String visitReportWaitAudit = "visitReportAuditSuccess";
+ String visitReportWaitAudit = "visitReportWaitAudit";
}
@@ -103,7 +103,7 @@
// 瀹℃壒閫氳繃缁欑敵璇蜂汉锛氱敵璇峰凡瀹℃牳閫氳繃
String platformBookAuditSuccess = "platformBookAuditSuccess";
// 瀹℃壒椹冲洖缁欑敵璇蜂汉锛氱敵璇峰凡琚┏鍥�
- String platformBookAuditFail = "platformBookWaitAudit";
+ String platformBookAuditFail = "platformBookAuditFail";
// 缁欏鎵逛汉锛氱敵璇峰緟鎮ㄥ鎵�
String platformBookWaitAudit = "platformBookWaitAudit";
}
@@ -136,6 +136,8 @@
String platformJobStopErr = "platformJobStopErr";
// 杩愯緭浠诲姟涓嬭揪 锛堢粰鍙告満锛�
String platformJobNewJob = "platformJobNewJob";
+ // 杩愯緭浠诲姟鍙栨秷 锛堢粰鍙告満锛�
+ String platformJobCancel = "platformJobCancel";
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatNotice.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatNotice.java
index 90a9baf..7fd38e9 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatNotice.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatNotice.java
@@ -1,10 +1,16 @@
package com.doumee.core.wx.wxPlat;
+import cn.emay.sdk.util.json.gson.JsonObject;
+import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.DateUtil;
+import com.doumee.core.utils.Http;
+import com.doumee.core.utils.HttpsUtil;
+import com.doumee.dao.business.VisitsMapper;
import com.doumee.dao.business.WxNoticeConfigMapper;
-import com.doumee.dao.business.model.Visits;
-import com.doumee.dao.business.model.WxNoticeConfig;
+import com.doumee.dao.business.model.*;
import com.github.xiaoymin.knife4j.core.util.CollectionUtils;
import lombok.extern.slf4j.Slf4j;
import me.chanjar.weixin.common.error.WxErrorException;
@@ -12,10 +18,11 @@
import me.chanjar.weixin.mp.bean.template.WxMpTemplateData;
import me.chanjar.weixin.mp.bean.template.WxMpTemplateMessage;
import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.time.DateFormatUtils;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
/**
* 寰俊鍏紬鍙烽�氱煡
@@ -27,94 +34,160 @@
@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 + visits.getId())
- .build();
-
-
- String thing1 = "寰呭鎵�";
- if(visits.getStatus()==2){
- thing1 = "瀹℃牳閫氳繃";
- }else if(visits.getStatus()==3){
- thing1 = "瀹℃牳涓嶉�氳繃";
- }else if(visits.getStatus()==5){
- thing1 = "璁惧鎺堟潈鎴愬姛";
- }else if(visits.getStatus()==6){
- 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;
- }
-
-
-
- /**
- * 璁垮涓氬姟閫氱煡
- */
- public void sendVisitTemplateNotice(WxNoticeConfigMapper wxNoticeConfigMapper,Visits visits,String objCode, String prefix, String tempId, List<String> openIds){
+ public void testSendNotice(List<String> openIds,String token){
if(CollectionUtils.isNotEmpty(openIds)){
- WxNoticeConfig wxNoticeConfig = wxNoticeConfigMapper.selectOne(new QueryWrapper<WxNoticeConfig>().lambda().eq(WxNoticeConfig::getObjType,WxPlatConstants.visit)
- .eq(WxNoticeConfig::getObjCode,objCode)
- .eq(WxNoticeConfig::getStatus, Constants.ZERO)
- .last(" limit 1")
- );
- if(Objects.isNull(wxNoticeConfig)){
- return;
- }
- WxMpTemplateMessage templateMessage = WxMpTemplateMessage.builder()
- .toUser(visits.getOpenid())
- .templateId(tempId)
- .url(prefix + visits.getId())
- .build();
-
- templateMessage.addData(new WxMpTemplateData("thing1", visits.getName()))
- .addData(new WxMpTemplateData("car_number7", StringUtils.isBlank(visits.getCarNos())?visits.getCarNos():"-"))
- .addData(new WxMpTemplateData("character_string6", Constants.equalsInteger(visits.getMemberNum(),Constants.ZERO)?Constants.ONE+"":visits.getMemberNum().toString()))
- .addData(new WxMpTemplateData("const9", wxNoticeConfig.getTitile()))
- .addData(new WxMpTemplateData("thing4", visits.getReason()))
- ;
- String msgId = null;
- try {
- for (String openId:openIds) {
- templateMessage.setToUser(openId);
+ String postUrL = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token="+token;
+ //鏁翠綋鍙傛暟map
+ Map<String, Object> paramMap = new HashMap<String, Object>();
+ //娑堟伅涓婚鏄剧ず鐩稿叧map
+ Map<String, Object> dataMap = new HashMap<String, Object>();
+ Map<String, Object> const9 = new HashMap<String,Object>();
+ const9.put("value","鐢宠寰呮偍瀹℃壒");
+ Map<String, Object> thing1 = new HashMap<String,Object>();
+ thing1.put("value", "娴嬭瘯鍚嶇О");
+ Map<String, Object> car_number7 = new HashMap<String,Object>();
+ car_number7.put("value","鐨朅P12345");
+ Map<String, Object> character_string6 = new HashMap<String,Object>();
+ character_string6.put("value","1");
+ Map<String, Object> thing4 = new HashMap<String,Object>();
+ thing4.put("value","鐞嗙敱");
+ dataMap.put("const9",const9);
+ dataMap.put("thing1",thing1);
+ dataMap.put("car_number7",car_number7);
+ dataMap.put("character_string6",character_string6);
+ dataMap.put("thing4",thing4);
+ paramMap.put("data", dataMap);
+ for (String openId:openIds) {
+ paramMap.clear();
+ paramMap.put("template_id", "SPwvgtASkm1aMDBsYhX2wHKdL2JBEGPknDkgniSza2Y");
+ paramMap.put("touser", openId);
+ paramMap.put("data", dataMap);
+ String response = HttpsUtil.postJson(postUrL, JSONObject.toJSONString(paramMap));
+ if(StringUtils.isBlank(response)){
+ log.warn("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭細{}路--++==路", "澶辫触");
+ }else{
+ JSONObject json = JSONObject.parseObject(response);
+ log.warn("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭細{}路--++==路", Constants.equalsInteger(json.getInteger("errcode"),Constants.ZERO)?"鎴愬姛":"澶辫触"+json.getString("errmsg"));
}
- // 鍙戦�佹ā鏉挎秷鎭�
- msgId = wxMpService.getTemplateMsgService().sendTemplateMsg(templateMessage);
- } catch (WxErrorException e) {
- e.printStackTrace();
}
- log.warn("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭細{}路--++==路", msgId != null ? "鎴愬姛" : "澶辫触");
+// log.warn("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭細{}路--++==路", msgId != null ? "鎴愬姛" : "澶辫触");
+ }
+ }
+ /**
+ * 璁垮鐢宠/鎶ュ涓氬姟閫氱煡
+ * @param wxNoticeConfigMapper
+ * @param visits
+ * @param objCode visitUpload,visitAuditSuccess,visitWaitAudit锛寁isitWaitAudit,visitReportUpload锛寁isitReportAuditSuccess锛寁isitReportAuditFail, visitReportAuditSuccess
+ * @param openIds
+ */
+ public void sendVisitTemplateNotice(WxNoticeConfigMapper wxNoticeConfigMapper, Visits visits, String objCode, String token, List<String> openIds){
+ try{
+ if(CollectionUtils.isNotEmpty(openIds)){
+ WxNoticeConfig wxNoticeConfig = wxNoticeConfigMapper.selectOne(new QueryWrapper<WxNoticeConfig>().lambda().eq(WxNoticeConfig::getObjType,WxPlatConstants.visit)
+ .eq(WxNoticeConfig::getObjCode,objCode)
+ .eq(WxNoticeConfig::getStatus, Constants.ZERO)
+ .last(" limit 1")
+ );
+ if(Objects.isNull(wxNoticeConfig)){
+ return;
+ }
+ String postUrL = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token="+token;
+ //鏁翠綋鍙傛暟map
+ Map<String, Object> paramMap = new HashMap<String, Object>();
+ //娑堟伅涓婚鏄剧ず鐩稿叧map
+ Map<String, Object> dataMap = new HashMap<String, Object>();
+ Map<String, Object> const9 = new HashMap<String,Object>();
+ const9.put("value",wxNoticeConfig.getTitile());
+ Map<String, Object> thing1 = new HashMap<String,Object>();
+ thing1.put("value", visits.getName());
+ Map<String, Object> car_number7 = new HashMap<String,Object>();
+ car_number7.put("value",StringUtils.isNotBlank(visits.getCarNos())?visits.getCarNos():"-");
+ Map<String, Object> character_string6 = new HashMap<String,Object>();
+ character_string6.put("value","1");
+ Map<String, Object> thing4 = new HashMap<String,Object>();
+ thing4.put("value",visits.getReason());
+ dataMap.put("const9",const9);
+ dataMap.put("thing1",thing1);
+ dataMap.put("car_number7",car_number7);
+ dataMap.put("character_string6",character_string6);
+ dataMap.put("thing4",thing4);
+ paramMap.put("data", dataMap);
+ for (String openId:openIds) {
+ paramMap.clear();
+ paramMap.put("template_id", wxNoticeConfig.getTempId());
+ paramMap.put("touser", openId);
+ paramMap.put("data", dataMap);
+ String response = HttpsUtil.postJson(postUrL, JSONObject.toJSONString(paramMap));
+ if(StringUtils.isBlank(response)){
+ log.warn("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭細{}路--++==路", "澶辫触");
+ }else{
+ JSONObject json = JSONObject.parseObject(response);
+ log.warn("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭細{}路--++==路", Constants.equalsInteger(json.getInteger("errcode"),Constants.ZERO)?"鎴愬姛":"澶辫触"+json.getString("errmsg"));
+ }
+ }
+// log.warn("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭細{}路--++==路", msgId != null ? "鎴愬姛" : "澶辫触");
+ }
+ }catch (Exception e){
+
+ }
+ }
+
+ /**
+ * 闅愭偅涓婃姤
+ * @param wxNoticeConfigMapper
+ * @param hiddenDanger
+ * @param objCode hiddenDangerUpload
+ * @param openIds
+ */
+ public void sendHiddenDangerUploadTemplateNotice(WxNoticeConfigMapper wxNoticeConfigMapper, HiddenDanger hiddenDanger, String objCode,String token, List<String> openIds){
+ try{
+ if(CollectionUtils.isNotEmpty(openIds)){
+ WxNoticeConfig wxNoticeConfig = wxNoticeConfigMapper.selectOne(new QueryWrapper<WxNoticeConfig>().lambda().eq(WxNoticeConfig::getObjType,WxPlatConstants.visit)
+ .eq(WxNoticeConfig::getObjCode,objCode)
+ .eq(WxNoticeConfig::getStatus, Constants.ZERO)
+ .last(" limit 1")
+ );
+ if(Objects.isNull(wxNoticeConfig)){
+ return;
+ }
+ String postUrL = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token="+token;
+ //鏁翠綋鍙傛暟map
+ Map<String, Object> paramMap = new HashMap<String, Object>();
+ //娑堟伅涓婚鏄剧ず鐩稿叧map
+ Map<String, Object> dataMap = new HashMap<String, Object>();
+ //闅愭偅鍖哄煙
+ Map<String, Object> thing9 = new HashMap<String,Object>();
+ thing9.put("value",hiddenDanger.getAreaName());
+ //闅愭偅鍚嶇О
+ Map<String, Object> thing1 = new HashMap<String,Object>();
+ thing1.put("value", hiddenDanger.getCategoryName());
+ //鎻愭姤浜�
+ Map<String, Object> thing12 = new HashMap<String,Object>();
+ thing12.put("value",hiddenDanger.getMemberName());
+ //鎻愭姤鏃堕棿
+ Map<String, Object> time11 = new HashMap<String,Object>();
+ time11.put("value", DateUtil.getDate(hiddenDanger.getCreateDate(),"yyyy骞碝M鏈坉d鏃� HH:mm:ss") );
+ dataMap.put("thing9",thing9);
+ dataMap.put("thing1",thing1);
+ dataMap.put("thing12",thing12);
+ dataMap.put("time11",time11);
+ paramMap.put("template_id", wxNoticeConfig.getTempId());
+ paramMap.put("data", dataMap);
+ for (String openId:openIds) {
+ paramMap.clear();
+ paramMap.put("touser", openId);
+ paramMap.put("data", dataMap);
+ String response = HttpsUtil.postJson(postUrL, JSONObject.toJSONString(paramMap));
+ if(StringUtils.isBlank(response)){
+ log.warn("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭細{}路--++==路", "澶辫触");
+ }else{
+ JSONObject json = JSONObject.parseObject(response);
+ log.warn("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭細{}路--++==路", Constants.equalsInteger(json.getInteger("errcode"),Constants.ZERO)?"鎴愬姛":"澶辫触"+json.getString("errmsg"));
+ }
+ }
+ }
+ }catch (Exception e){
}
@@ -122,5 +195,399 @@
+ /**
+ * 闅愭偅鏁存敼
+ * @param wxNoticeConfigMapper
+ * @param hiddenDanger
+ * @param objCode hiddenDangerDeal
+ * @param openIds
+ */
+ public void sendHiddenDangerDealTemplateNotice(WxNoticeConfigMapper wxNoticeConfigMapper, HiddenDanger hiddenDanger, String objCode,String token, List<String> openIds){
+ try{
+ if(CollectionUtils.isNotEmpty(openIds)){
+ WxNoticeConfig wxNoticeConfig = wxNoticeConfigMapper.selectOne(new QueryWrapper<WxNoticeConfig>().lambda().eq(WxNoticeConfig::getObjType,WxPlatConstants.visit)
+ .eq(WxNoticeConfig::getObjCode,objCode)
+ .eq(WxNoticeConfig::getStatus, Constants.ZERO)
+ .last(" limit 1")
+ );
+ if(Objects.isNull(wxNoticeConfig)){
+ return;
+ }
+ String postUrL = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token="+token;
+ //鏁翠綋鍙傛暟map
+ Map<String, Object> paramMap = new HashMap<String, Object>();
+ //娑堟伅涓婚鏄剧ず鐩稿叧map
+ Map<String, Object> dataMap = new HashMap<String, Object>();
+ //闅愭偅鍖哄煙
+ Map<String, Object> thing17 = new HashMap<String,Object>();
+ thing17.put("value",hiddenDanger.getAreaName());
+ //闅愭偅鍚嶇О
+ Map<String, Object> thing3 = new HashMap<String,Object>();
+ thing3.put("value", hiddenDanger.getCategoryName());
+ //鏁存敼鏂瑰紡
+ Map<String, Object> thing13 = new HashMap<String,Object>();
+ thing13.put("value",Constants.equalsInteger(hiddenDanger.getStatus(),Constants.ONE)?"闅愭偅宸叉暣鏀�":"闅愭偅宸查��鍥�");
+ //鎻愪氦浜�
+ Map<String, Object> thing10 = new HashMap<String,Object>();
+ thing10.put("value",hiddenDanger.getCheckorName());
+ //閫氱煡鏃堕棿
+ Map<String, Object> time16 = new HashMap<String,Object>();
+ time16.put("value", DateUtil.getDate(hiddenDanger.getDealTime(),"yyyy骞碝M鏈坉d鏃� HH:mm:ss") );
+ dataMap.put("thing17",thing17);
+ dataMap.put("thing3",thing3);
+ dataMap.put("thing13",thing13);
+ dataMap.put("thing10",thing10);
+ dataMap.put("time16",time16);
+ paramMap.put("template_id", wxNoticeConfig.getTempId());
+ paramMap.put("data", dataMap);
+ for (String openId:openIds) {
+ paramMap.clear();
+ paramMap.put("touser", openId);
+ paramMap.put("data", dataMap);
+ String response = HttpsUtil.postJson(postUrL, JSONObject.toJSONString(paramMap));
+ if(StringUtils.isBlank(response)){
+ log.warn("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭細{}路--++==路", "澶辫触");
+ }else{
+ JSONObject json = JSONObject.parseObject(response);
+ log.warn("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭細{}路--++==路", Constants.equalsInteger(json.getInteger("errcode"),Constants.ZERO)?"鎴愬姛":"澶辫触"+json.getString("errmsg"));
+ }
+ }
+ }
+ }catch (Exception e){
+
+ }
+
+ }
+
+ /**
+ * 鐢ㄨ溅鐢宠 瀹℃壒鎯呭喌
+ * @param wxNoticeConfigMapper
+ * @param carUseBook
+ * @param objCode reservationSuccess锛宮eetingCancel,meetingBeginA锛宮eetingEndA
+ * @param openIds
+ * @param sendType 0=鐢宠浜猴紱1=瀹℃壒浜�
+ */
+ public void sendCarUseBookTemplateNotice(WxNoticeConfigMapper wxNoticeConfigMapper, CarUseBook carUseBook, String objCode,String token,
+ List<String> openIds,Integer sendType){
+ try {
+ if(CollectionUtils.isNotEmpty(openIds)){
+ WxNoticeConfig wxNoticeConfig = wxNoticeConfigMapper.selectOne(new QueryWrapper<WxNoticeConfig>().lambda().eq(WxNoticeConfig::getObjType,WxPlatConstants.visit)
+ .eq(WxNoticeConfig::getObjCode,objCode)
+ .eq(WxNoticeConfig::getStatus, Constants.ZERO)
+ .last(" limit 1")
+ );
+ if(Objects.isNull(wxNoticeConfig)){
+ return;
+ }
+ String postUrL = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token="+token;
+ //鏁翠綋鍙傛暟map
+ Map<String, Object> paramMap = new HashMap<String, Object>();
+ //娑堟伅涓婚鏄剧ず鐩稿叧map
+ Map<String, Object> dataMap = new HashMap<String, Object>();
+ //瀹℃壒杩涘害
+ Map<String, Object> thing3 = new HashMap<String,Object>();
+ if(Constants.equalsInteger(sendType,Constants.ONE)){
+ thing3.put("value","鐢宠寰呮偍瀹℃壒");
+ }else{
+ if(Constants.equalsInteger(carUseBook.getStatus(),Constants.ZERO)){
+ thing3.put("value","鐢宠鎻愪氦鎴愬姛寰呭鏍�");
+ }else if(Constants.equalsInteger(carUseBook.getStatus(),Constants.TWO)){
+ thing3.put("value","鐢宠宸插鏍搁�氳繃");
+ }else{
+ thing3.put("value","鐢宠宸茶椹冲洖");
+ }
+ }
+ //鐢宠浜�
+ Map<String, Object> thing1 = new HashMap<String,Object>();
+ thing1.put("value", carUseBook.getMemberName());
+ //杞︾墝鍙�
+ Map<String, Object> car_number2 = new HashMap<String,Object>();
+ car_number2.put("value",carUseBook.getCarCode());
+ //鐩殑鍦�
+ Map<String, Object> thing11 = new HashMap<String,Object>();
+ thing11.put("value",carUseBook.getAddr());
+ //鐢ㄨ溅鏃堕棿
+ Map<String, Object> time14 = new HashMap<String,Object>();
+ time14.put("value", carUseBook.getPlanUseDate());
+ dataMap.put("thing3",thing3);
+ dataMap.put("car_number2",car_number2);
+ dataMap.put("thing1",thing1);
+ dataMap.put("thing11",thing11);
+ dataMap.put("time14",time14);
+ paramMap.put("template_id", wxNoticeConfig.getTempId());
+ paramMap.put("data", dataMap);
+ for (String openId:openIds) {
+ paramMap.clear();
+ paramMap.put("touser", openId);
+ paramMap.put("data", dataMap);
+ String response = HttpsUtil.postJson(postUrL, JSONObject.toJSONString(paramMap));
+ if(StringUtils.isBlank(response)){
+ log.warn("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭細{}路--++==路", "澶辫触");
+ }else{
+ JSONObject json = JSONObject.parseObject(response);
+ log.warn("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭細{}路--++==路", Constants.equalsInteger(json.getInteger("errcode"),Constants.ZERO)?"鎴愬姛":"澶辫触"+json.getString("errmsg"));
+ }
+ }
+ }
+ }catch (Exception e){
+
+ }
+ }
+
+
+ /**
+ * 杞﹁締鍏ュ洯鐢宠 鐗╂祦杞�
+ * @param wxNoticeConfigMapper
+ * @param platformBooks
+ * @param objCode platformBookUpload锛宲latformBookAuditSuccess,platformBookAuditFail锛宲latformBookWaitAudit
+ * @param token
+ * @param openIds
+ * @param sendType 0=鐢宠浜猴紱1=瀹℃壒浜�
+ */
+ public void sendPlatformBookTemplateNotice(WxNoticeConfigMapper wxNoticeConfigMapper, PlatformBooks platformBooks, String objCode,String token,
+ List<String> openIds,Integer sendType){
+ try{
+ if(CollectionUtils.isNotEmpty(openIds)){
+ WxNoticeConfig wxNoticeConfig = wxNoticeConfigMapper.selectOne(new QueryWrapper<WxNoticeConfig>().lambda().eq(WxNoticeConfig::getObjType,WxPlatConstants.visit)
+ .eq(WxNoticeConfig::getObjCode,objCode)
+ .eq(WxNoticeConfig::getStatus, Constants.ZERO)
+ .last(" limit 1")
+ );
+ if(Objects.isNull(wxNoticeConfig)){
+ return;
+ }
+ String postUrL = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token="+token;
+ //鏁翠綋鍙傛暟map
+ Map<String, Object> paramMap = new HashMap<String, Object>();
+ //娑堟伅涓婚鏄剧ず鐩稿叧map
+ Map<String, Object> dataMap = new HashMap<String, Object>();
+ //瀹℃牳鐘舵��
+ Map<String, Object> const9 = new HashMap<String,Object>();
+ if(Constants.equalsInteger(sendType,Constants.ONE)){
+ const9.put("value","鐢宠寰呮偍瀹℃壒");
+ }else{
+ if(Constants.equalsInteger(platformBooks.getStatus(),Constants.ZERO)){
+ const9.put("value","鐢宠鎻愪氦鎴愬姛寰呭鏍�");
+ }else if(Constants.equalsInteger(platformBooks.getStatus(),Constants.TWO)){
+ const9.put("value","鐢宠宸插鏍搁�氳繃");
+ }else{
+ const9.put("value","鐢宠宸茶椹冲洖");
+ }
+ }
+ //杞︾墝鍙�
+ Map<String, Object> car_number3 = new HashMap<String,Object>();
+ car_number3.put("value", platformBooks.getCarCodeFront());
+ //涓氬姟绫诲瀷
+ Map<String, Object> phrase4 = new HashMap<String,Object>();
+ phrase4.put("value", platformBooks.getInReason());
+ //鐢宠浜�
+ Map<String, Object> thing8 = new HashMap<String,Object>();
+ thing8.put("value", platformBooks.getDriverName());
+ //鏃堕棿
+ Map<String, Object> time4 = new HashMap<String,Object>();
+ time4.put("value", DateUtil.getDate(platformBooks.getArriveDate(),"yyyy骞碝M鏈坉d鏃� HH:mm:ss") );
+ dataMap.put("const9",const9);
+ dataMap.put("car_number3",car_number3);
+ dataMap.put("phrase4",phrase4);
+ dataMap.put("thing8",thing8);
+ dataMap.put("time4",time4);
+ paramMap.put("data", dataMap);
+ for (String openId:openIds) {
+ paramMap.clear();
+ paramMap.put("template_id", wxNoticeConfig.getTempId());
+ paramMap.put("touser", openId);
+ paramMap.put("data", dataMap);
+ String response = HttpsUtil.postJson(postUrL, JSONObject.toJSONString(paramMap));
+ if(StringUtils.isBlank(response)){
+ log.warn("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭細{}路--++==路", "澶辫触");
+ }else{
+ JSONObject json = JSONObject.parseObject(response);
+ log.warn("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭細{}路--++==路", Constants.equalsInteger(json.getInteger("errcode"),Constants.ZERO)?"鎴愬姛":"澶辫触"+json.getString("errmsg"));
+ }
+ }
+ }
+ }catch (Exception e){
+
+ }
+ }
+
+
+
+ /**
+ * Wms 浠诲姟涓嬭揪閫氱煡
+ * @param wxNoticeConfigMapper
+ * @param platformJob
+ * @param objCode platformJobNewJob
+ * @param openIds
+ */
+ public void sendWmsTemplateNotice(WxNoticeConfigMapper wxNoticeConfigMapper, PlatformJob platformJob, String objCode,String token,
+ List<String> openIds){
+ try{
+ if(CollectionUtils.isNotEmpty(openIds)){
+ WxNoticeConfig wxNoticeConfig = wxNoticeConfigMapper.selectOne(new QueryWrapper<WxNoticeConfig>().lambda().eq(WxNoticeConfig::getObjType,WxPlatConstants.visit)
+ .eq(WxNoticeConfig::getObjCode,objCode)
+ .eq(WxNoticeConfig::getStatus, Constants.ZERO)
+ .last(" limit 1")
+ );
+ if(Objects.isNull(wxNoticeConfig)){
+ return;
+ }
+ String postUrL = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token="+token;
+ //鏁翠綋鍙傛暟map
+ Map<String, Object> paramMap = new HashMap<String, Object>();
+ //娑堟伅涓婚鏄剧ず鐩稿叧map
+ Map<String, Object> dataMap = new HashMap<String, Object>();
+ //杩愬崟缂栧彿
+ Map<String, Object> character_string1 = new HashMap<String,Object>();
+ character_string1.put("value",platformJob.getBillCode());
+ //鍙告満
+ Map<String, Object> thing3 = new HashMap<String,Object>();
+ thing3.put("value", platformJob.getDriverName());
+ //涓嬭揪鏃堕棿
+ Map<String, Object> time4 = new HashMap<String,Object>();
+ time4.put("value", DateUtil.getDate(platformJob.getCreateDate(),"yyyy骞碝M鏈坉d鏃� HH:mm:ss") );
+ dataMap.put("character_string1",character_string1);
+ dataMap.put("thing3",thing3);
+ dataMap.put("time4",time4);
+ paramMap.put("data", dataMap);
+ for (String openId:openIds) {
+ paramMap.clear();
+ paramMap.put("template_id", wxNoticeConfig.getTempId());
+ paramMap.put("touser", openId);
+ paramMap.put("data", dataMap);
+ String response = HttpsUtil.postJson(postUrL, JSONObject.toJSONString(paramMap));
+ if(StringUtils.isBlank(response)){
+ log.warn("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭細{}路--++==路", "澶辫触");
+ }else{
+ JSONObject json = JSONObject.parseObject(response);
+ log.warn("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭細{}路--++==路", Constants.equalsInteger(json.getInteger("errcode"),Constants.ZERO)?"鎴愬姛":"澶辫触"+json.getString("errmsg"));
+ }
+ }
+ }
+ }catch (Exception e){
+
+ }
+
+ }
+
+ /**
+ * Wms 浠诲姟鍙栨秷閫氱煡
+ * @param wxNoticeConfigMapper
+ * @param platformJob
+ * @param objCode platformJobNewJob
+ * @param openIds
+ */
+ public void sendWmsCancelTemplateNotice(WxNoticeConfigMapper wxNoticeConfigMapper, PlatformJob platformJob, String objCode,String token,
+ List<String> openIds){
+ try{
+ if(CollectionUtils.isNotEmpty(openIds)){
+ WxNoticeConfig wxNoticeConfig = wxNoticeConfigMapper.selectOne(new QueryWrapper<WxNoticeConfig>().lambda().eq(WxNoticeConfig::getObjType,WxPlatConstants.visit)
+ .eq(WxNoticeConfig::getObjCode,objCode)
+ .eq(WxNoticeConfig::getStatus, Constants.ZERO)
+ .last(" limit 1")
+ );
+ if(Objects.isNull(wxNoticeConfig)){
+ return;
+ }
+ String postUrL = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token="+token;
+ //鏁翠綋鍙傛暟map
+ Map<String, Object> paramMap = new HashMap<String, Object>();
+ //娑堟伅涓婚鏄剧ず鐩稿叧map
+ Map<String, Object> dataMap = new HashMap<String, Object>();
+ //浠诲姟鍗曞彿
+ Map<String, Object> character_string1 = new HashMap<String,Object>();
+ character_string1.put("value",platformJob.getBillCode());
+ //鍙栨秷鏃堕棿
+ Map<String, Object> time6 = new HashMap<String,Object>();
+ time6.put("value", DateUtil.getDate(new Date(),"yyyy骞碝M鏈坉d鏃� HH:mm:ss") );
+ dataMap.put("character_string1",character_string1);
+ dataMap.put("time6",time6);
+ paramMap.put("data", dataMap);
+ for (String openId:openIds) {
+ paramMap.clear();
+ paramMap.put("template_id", wxNoticeConfig.getTempId());
+ paramMap.put("touser", openId);
+ paramMap.put("data", dataMap);
+ String response = HttpsUtil.postJson(postUrL, JSONObject.toJSONString(paramMap));
+ if(StringUtils.isBlank(response)){
+ log.warn("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭細{}路--++==路", "澶辫触");
+ }else{
+ JSONObject json = JSONObject.parseObject(response);
+ log.warn("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭細{}路--++==路", Constants.equalsInteger(json.getInteger("errcode"),Constants.ZERO)?"鎴愬姛":"澶辫触"+json.getString("errmsg"));
+ }
+ }
+ }
+ }catch (Exception e){
+
+ }
+
+ }
+
+
+ /**
+ * 鏈堝彴浣滀笟
+ * @param wxNoticeConfigMapper
+ * @param platformJob
+ * @param objCode platformJobCallIn锛宲latformJobSingIn,platformJobOverNum锛宲latformJobWorking,platformJobFinish锛宲latformJobLevelPower,platformJobMove锛宲latformJobError锛宲latformJobTimeOut,platformJobStopErr
+ * @param token
+ * @param openIds
+ */
+ public void sendPlatformJobTemplateNotice(WxNoticeConfigMapper wxNoticeConfigMapper, PlatformJob platformJob, String objCode,String token,
+ List<String> openIds){
+ try{
+ if(CollectionUtils.isNotEmpty(openIds)){
+ WxNoticeConfig wxNoticeConfig = wxNoticeConfigMapper.selectOne(new QueryWrapper<WxNoticeConfig>().lambda().eq(WxNoticeConfig::getObjType,WxPlatConstants.visit)
+ .eq(WxNoticeConfig::getObjCode,objCode)
+ .eq(WxNoticeConfig::getStatus, Constants.ZERO)
+ .last(" limit 1")
+ );
+ if(Objects.isNull(wxNoticeConfig)){
+ return;
+ }
+ String postUrL = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token="+token;
+ //鏁翠綋鍙傛暟map
+ Map<String, Object> paramMap = new HashMap<String, Object>();
+ //娑堟伅涓婚鏄剧ず鐩稿叧map
+ Map<String, Object> dataMap = new HashMap<String, Object>();
+ //鏈堝彴閫氱煡
+ Map<String, Object> const6 = new HashMap<String,Object>();
+ const6.put("value",wxNoticeConfig.getTitile());
+ //杞︾墝鍙�
+ Map<String, Object> character_string1 = new HashMap<String,Object>();
+ character_string1.put("value",platformJob.getCarCodeFront());
+ //鏈堝彴鍙�
+ Map<String, Object> thing3 = new HashMap<String,Object>();
+ thing3.put("value", platformJob.getPlatformName());
+ //鏃堕棿
+ Map<String, Object> time4 = new HashMap<String,Object>();
+ time4.put("value", DateUtil.getDate(new Date(),"yyyy骞碝M鏈坉d鏃� HH:mm:ss") );
+ dataMap.put("const6",const6);
+ dataMap.put("character_string1",character_string1);
+ dataMap.put("thing3",thing3);
+ dataMap.put("time4",time4);
+ paramMap.put("data", dataMap);
+ for (String openId:openIds) {
+ paramMap.clear();
+ paramMap.put("template_id", wxNoticeConfig.getTempId());
+ paramMap.put("touser", openId);
+ paramMap.put("data", dataMap);
+ String response = HttpsUtil.postJson(postUrL, JSONObject.toJSONString(paramMap));
+ if(StringUtils.isBlank(response)){
+ log.warn("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭細{}路--++==路", "澶辫触");
+ }else{
+ JSONObject json = JSONObject.parseObject(response);
+ log.warn("路==++--路鎺ㄩ�佸井淇℃ā鏉夸俊鎭細{}路--++==路", Constants.equalsInteger(json.getInteger("errcode"),Constants.ZERO)?"鎴愬姛":"澶辫触"+json.getString("errmsg"));
+ }
+ }
+ }
+ }catch (Exception e){
+
+ }
+
+ }
+
+
+
+
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformLogMapper.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformLogMapper.java
index 9f9a195..bcde56a 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformLogMapper.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformLogMapper.java
@@ -2,11 +2,12 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.doumee.dao.business.model.PlatformLog;
+import com.github.yulichang.base.MPJBaseMapper;
/**
* @author 姹熻箘韫�
* @date 2024/06/28 10:03
*/
-public interface PlatformLogMapper extends BaseMapper<PlatformLog> {
+public interface PlatformLogMapper extends MPJBaseMapper<PlatformLog> {
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformWmsJobMapper.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformWmsJobMapper.java
index e809183..4987b99 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformWmsJobMapper.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformWmsJobMapper.java
@@ -2,11 +2,12 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.doumee.dao.business.model.PlatformWmsJob;
+import com.github.yulichang.base.MPJBaseMapper;
/**
* @author 姹熻箘韫�
* @date 2024/06/28 10:03
*/
-public interface PlatformWmsJobMapper extends BaseMapper<PlatformWmsJob> {
+public interface PlatformWmsJobMapper extends MPJBaseMapper<PlatformWmsJob> {
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java
index a4809fe..99e6b30 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java
@@ -43,6 +43,8 @@
@ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1")
private Integer isdeleted;
+ @ApiModelProperty(value = "浣滀笟鏉ユ簮锛�0鑷缓 1wms鎺ㄩ��", example = "1")
+ private Integer origin;
@ApiModelProperty(value = "鍚嶇О")
private String name;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWmsDetail.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWmsDetail.java
index 2aad579..e671c0d 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWmsDetail.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWmsDetail.java
@@ -77,7 +77,9 @@
@ApiModelProperty(value = "渚涘簲鍟�")
@ExcelColumn(name="渚涘簲鍟�")
private String inRepertotyCode;
-
+ @ApiModelProperty(value = "鏀惰揣鍦�")
+ @ExcelColumn(name="鏀惰揣鍦�")
+ private String repertotyAddress;
@ApiModelProperty(value = "璁″垝鏀惰揣鏁伴噺", example = "1")
@ExcelColumn(name="璁″垝鏀惰揣鏁伴噺")
private BigDecimal ioQty;
@@ -98,7 +100,7 @@
@ApiModelProperty(value = "浣滀笟瀹屾垚鏃堕棿锛堟渶缁堟椂闂达級")
@TableField(exist = false)
private Date doneDate;
- @ApiModelProperty(value = "璁″垝鏀惰揣鏁伴噺(闈瀢ms)", example = "1")
+ @ApiModelProperty(value = "鎵胯繍鍗曞彿", example = "1")
@TableField(exist = false)
- private BigDecimal ortherIoQty;
+ private String carryBillCode;
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWmsJob.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWmsJob.java
index d85176d..e4ebc9b 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWmsJob.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWmsJob.java
@@ -51,6 +51,9 @@
@ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1")
@ExcelColumn(name="鏄惁鍒犻櫎0鍚� 1鏄�")
private Integer isdeleted;
+// @ApiModelProperty(value = "浣滀笟鏉ユ簮锛�0鑷缓 1wms鎺ㄩ��", example = "1")
+// @ExcelColumn(name="浣滀笟鏉ユ簮锛�0鑷缓 1wms鎺ㄩ��")
+// private Integer origin;
@ApiModelProperty(value = "澶囨敞")
@ExcelColumn(name="澶囨敞")
@@ -75,7 +78,9 @@
@ApiModelProperty(value = "鍙告満濮撳悕")
@ExcelColumn(name="鍙告満濮撳悕")
private String driverName;
-
+ @ApiModelProperty(value = "鏀惰揣鍦�")
+ @ExcelColumn(name="鏀惰揣鍦�")
+ private String repertotyAddress;
@ApiModelProperty(value = "鎵胯繍鍟�")
@ExcelColumn(name="鎵胯繍鍟�")
private String carrierName;
@@ -104,10 +109,6 @@
@ApiModelProperty(value = "杞︾墝鍙�")
@ExcelColumn(name="杞︾墝鍙�")
private String plateNumber;
-
- @ApiModelProperty(value = "鏀惰揣鍦�")
- @ExcelColumn(name="鏀惰揣鍦�")
- private String repertotyAddress;
@ApiModelProperty(value = "鍚堝悓鍙穈")
@ExcelColumn(name="鍚堝悓鍙穈")
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/reqeust/CarsJobAndContractDTO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/reqeust/CarsJobAndContractDTO.java
new file mode 100644
index 0000000..4a3a403
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/reqeust/CarsJobAndContractDTO.java
@@ -0,0 +1,19 @@
+package com.doumee.dao.web.reqeust;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Created by IntelliJ IDEA.
+ *
+ * @Author : Rk
+ * @create 2024/1/4 16:17
+ */
+@Data
+public class CarsJobAndContractDTO {
+
+ @ApiModelProperty(value = "杞︾墝鍙�")
+ private String carCode;
+
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/reqeust/ErpVisitDTO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/reqeust/ErpVisitDTO.java
index c7f204b..aea6a3a 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/reqeust/ErpVisitDTO.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/reqeust/ErpVisitDTO.java
@@ -1,6 +1,5 @@
package com.doumee.dao.web.reqeust;
-import com.doumee.core.annotation.excel.ExcelColumn;
import com.doumee.core.haikang.model.param.BaseRequst;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
@@ -8,7 +7,6 @@
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
-import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/AlarmEventDataVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/AlarmEventDataVO.java
index 7a14036..3c70b1e 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/AlarmEventDataVO.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/AlarmEventDataVO.java
@@ -26,7 +26,7 @@
@ApiModelProperty(value = "鎶ヨ婧愯祫婧愬悕绉�")
private String resourceName;
@ApiModelProperty(value = "鎶ヨ鐘舵��")
- private String handleStatus;
+ private Integer handleStatus;
@ApiModelProperty(value = "鎶ヨ绫诲瀷鍚嶇О")
private String alarmTypeName;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/BoardCarsListVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/BoardCarsListVO.java
new file mode 100644
index 0000000..8b9b44f
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/BoardCarsListVO.java
@@ -0,0 +1,30 @@
+package com.doumee.dao.web.response.platformReport;
+
+import com.doumee.core.haikang.model.cars.response.CarsDeviceDetaisResponse;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 杩愯緭閲�
+ *
+ * @Author : Rk
+ * @create 2024/10/25 10:59
+ */
+@Data
+public class BoardCarsListVO {
+
+ @ApiModelProperty(value = "杞﹁締鍙婄粡绾害淇℃伅")
+ private List<CarsDeviceDetaisResponse> carsList;
+
+ @ApiModelProperty(value = "鍦ㄩ�旀暟閲�")
+ private int busyNum;
+ @ApiModelProperty(value = "绌洪棽鏁伴噺")
+ private int idleNum;
+
+ @ApiModelProperty(value = "绂荤嚎鏁伴噺")
+ private int offlineNum;
+
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/BoardJobCenterDataVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/BoardJobCenterDataVO.java
new file mode 100644
index 0000000..2043610
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/BoardJobCenterDataVO.java
@@ -0,0 +1,25 @@
+package com.doumee.dao.web.response.platformReport;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 杩愯緭閲�
+ *
+ * @Author : Rk
+ * @create 2024/10/25 10:59
+ */
+@Data
+public class BoardJobCenterDataVO {
+
+
+ @ApiModelProperty(value = "鍦ㄩ�旀暟閲�")
+ private int busyNum;
+ @ApiModelProperty(value = "绌洪棽鏁伴噺")
+ private int idleNum;
+
+ @ApiModelProperty(value = "绂荤嚎鏁伴噺")
+ private int offlineNum;
+
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/BoardStockListVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/BoardStockListVO.java
new file mode 100644
index 0000000..69a3ac4
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/BoardStockListVO.java
@@ -0,0 +1,30 @@
+package com.doumee.dao.web.response.platformReport;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * 閫氱敤
+ *
+ * @Author : Rk
+ * @create 2024/10/25 10:59
+ */
+@Data
+public class BoardStockListVO {
+
+ @ApiModelProperty(value = "搴撳瓨鏄庣粏闆嗗悎")
+ private List<GeneralVO> stockList;
+ @ApiModelProperty(value = "鍖哄煙搴撳瓨姹囨�婚泦鍚�")
+ private List<GeneralVO> areaTotalList;
+
+ @ApiModelProperty(value = "搴撳瓨宸插埄鐢�")
+ private BigDecimal num;
+ @ApiModelProperty(value = "搴撳瓨鍒╃敤鐜�")
+ private BigDecimal useRate;
+ @ApiModelProperty(value = "搴撳瓨鎬婚噺")
+ private BigDecimal totalNum;
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/CarmeraListVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/CarmeraListVO.java
index 3161342..2546492 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/CarmeraListVO.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/CarmeraListVO.java
@@ -1,13 +1,7 @@
package com.doumee.dao.web.response.platformReport;
-import com.doumee.core.haikang.model.param.respose.PageRegionInfoResponse;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
-import org.apache.commons.lang3.StringUtils;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Objects;
/**
* 鐩戞帶鐐归泦鍚�
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/CarsContractVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/CarsContractVO.java
new file mode 100644
index 0000000..01be1bf
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/CarsContractVO.java
@@ -0,0 +1,30 @@
+package com.doumee.dao.web.response.platformReport;
+
+import com.doumee.dao.business.model.PlatformLog;
+import com.doumee.dao.business.model.PlatformWmsDetail;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * 杩愯緭閲�
+ *
+ * @Author : Rk
+ * @create 2024/10/25 10:59
+ */
+@Data
+public class CarsContractVO {
+
+ @ApiModelProperty(value = "鐗╂枡娓呭崟")
+ private List<PlatformWmsDetail> detailList;
+ @ApiModelProperty(value = "鍚堝悓鍙�")
+ private String ioCode;
+ @ApiModelProperty(value ="鏀惰揣鍦�")
+ private String address;
+ @ApiModelProperty(value = "杩愯緭鎬婚噺")
+ private BigDecimal totalNum;
+
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/CarsJobAndContractVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/CarsJobAndContractVO.java
new file mode 100644
index 0000000..e42f4a8
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/CarsJobAndContractVO.java
@@ -0,0 +1,34 @@
+package com.doumee.dao.web.response.platformReport;
+
+import com.doumee.dao.business.model.PlatformLog;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * 杩愯緭閲�
+ *
+ * @Author : Rk
+ * @create 2024/10/25 10:59
+ */
+@Data
+public class CarsJobAndContractVO {
+
+ @ApiModelProperty(value = "浣滀笟璁板綍闆嗗悎")
+ private List<PlatformLog> logList;
+
+ @ApiModelProperty(value = "鍚堝悓鍒楄〃")
+ private List<CarsContractVO> contractList;
+ @ApiModelProperty(value = "鍙告満鎵嬫満鍙�")
+ private String phone;
+ @ApiModelProperty(value = "鍙告満濮撳悕")
+ private String name;
+ @ApiModelProperty(value = "杩愯緭鍗曞彿")
+ private String billCode;
+ @ApiModelProperty(value = "杩愯緭鎬婚噺")
+ private BigDecimal totalNum;
+
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/PlatformJobRunBoardNewVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/PlatformJobRunBoardNewVO.java
new file mode 100644
index 0000000..5a6985c
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/PlatformJobRunBoardNewVO.java
@@ -0,0 +1,93 @@
+package com.doumee.dao.web.response.platformReport;
+
+import com.doumee.dao.business.model.PlatformJob;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * 鍥尯鐗╂祦杩愯璋冨害鐪嬫澘
+ *
+ * @Author : Rk
+ * @create 2024/10/25 9:54
+ */
+@Data
+public class PlatformJobRunBoardNewVO {
+
+ @ApiModelProperty(value = "绱鍑哄簱閲� - 鏈湀")
+ private BigDecimal monthOutTotal;
+
+ @ApiModelProperty(value = "绱鍑哄簱閲忔湀搴� - 涓婃湀")
+ private BigDecimal monthLastOutTotal;
+
+ @ApiModelProperty(value = "绱鍑哄簱閲� - 鏈勾")
+ private BigDecimal yearOutTotal;
+
+ @ApiModelProperty(value = "绱鍑哄簱閲忓勾搴� - 鍘诲勾")
+ private BigDecimal yearLastOutTotal;
+
+ @ApiModelProperty(value = "绱鍑哄簱杞︽ - 鏈湀")
+ private Integer monthOutTimes;
+
+ @ApiModelProperty(value = "绱鍑哄簱杞︽ - 鏈勾")
+ private Integer yearOutTimes;
+
+
+ @ApiModelProperty(value = "鍑哄簱浠诲姟 - 褰撳墠浠诲姟閲�")
+ private BigDecimal currentOutNum;
+ @ApiModelProperty(value = "鍑哄簱浠诲姟 - 褰撳墠瀹屾垚浠诲姟閲�")
+ private BigDecimal currentOutDoneNum;
+ @ApiModelProperty(value = "鍏ュ簱浠诲姟 - 褰撳墠浠诲姟閲�")
+ private BigDecimal currentInNum;
+ @ApiModelProperty(value = "鍏ュ簱浠诲姟 - 褰撳墠瀹屾垚浠诲姟閲�")
+ private BigDecimal currentInDoneNum;
+
+ @ApiModelProperty(value = "浠婃棩鍑哄簱鏁堢巼")
+ private BigDecimal todayOutRate;
+
+ @ApiModelProperty(value = "鏈湀鍑哄簱鏁堢巼")
+ private BigDecimal monthOutRate;
+
+ @ApiModelProperty(value = "浠婃棩鍏ュ簱鏁堢巼")
+ private BigDecimal todayInRate;
+
+ @ApiModelProperty(value = "鏈湀鍏ュ簱鏁堢巼")
+ private BigDecimal monthInRate;
+
+ @ApiModelProperty(value = "搴撳瓨鏈�澶у��")
+ private BigDecimal stockMax;
+
+ @ApiModelProperty(value = "褰撳墠搴撳瓨")
+ private BigDecimal stockTotal;
+
+
+
+ @ApiModelProperty(value = "杩愯緭浠诲姟鍒嗘瀽 - 7鏃�" , hidden = true)
+ private List<TransportMeasureVO> transportMeasureWeekList;
+
+ @ApiModelProperty(value = "杩愯緭浠诲姟鍒嗘瀽 - 鏈堝害", hidden = true)
+ private List<TransportMeasureVO> transportMeasureMonthList;
+
+ @ApiModelProperty(value = "杩愯緭浠诲姟鍒嗘瀽 - 骞村害", hidden = true)
+ private List<TransportMeasureVO> transportMeasureYearList;
+
+ @ApiModelProperty(value = "褰撴棩杩愯緭浠诲姟")
+ private List<PlatformJob> platformJobList;
+
+ @ApiModelProperty(value = "鍑哄簱浠诲姟")
+ private JobDataVO outJob;
+
+ @ApiModelProperty(value = "鍏ュ簱浠诲姟")
+ private JobDataVO inJob;
+
+ @ApiModelProperty(value = "浠婃棩鍏ュ簱閲忕粺璁�")
+ private List<GeneralVO> totalInList;
+
+ @ApiModelProperty(value = "搴撳瓨鎯呭喌")
+ private List<GeneralVO> stockList;
+
+
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/RegionTreeVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/RegionTreeVO.java
index 9436d99..e0b5807 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/RegionTreeVO.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/RegionTreeVO.java
@@ -1,13 +1,9 @@
package com.doumee.dao.web.response.platformReport;
-import com.doumee.config.DataSyncConfig;
import com.doumee.core.haikang.model.param.respose.PageRegionInfoResponse;
-import com.doumee.dao.business.model.Company;
-import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;
-import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/TransportMeasureVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/TransportMeasureVO.java
index baa6cdc..d802b6f 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/TransportMeasureVO.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/TransportMeasureVO.java
@@ -4,6 +4,7 @@
import lombok.Data;
import java.math.BigDecimal;
+import java.util.Date;
/**
* 杩愯緭閲�
@@ -24,6 +25,8 @@
private Integer planTimes;
@ApiModelProperty(value = "鏃ユ湡")
- private String planDate;
+ private Date planDate;
+ @ApiModelProperty(value = "鏃ユ湡Str")
+ private String planDateStr;
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/DeviceService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/DeviceService.java
index f752fd9..5ba9b71 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/DeviceService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/DeviceService.java
@@ -1,7 +1,5 @@
package com.doumee.service.business;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.doumee.core.haikang.model.param.request.AcsDeviceListRequest;
import com.doumee.core.haikang.model.param.request.TransparentChannelSingleRequest;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/ext/ERPSyncService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/ext/ERPSyncService.java
index 72c55b6..aaea1d2 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/ext/ERPSyncService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/ext/ERPSyncService.java
@@ -1,9 +1,6 @@
package com.doumee.service.business.ext;
import com.doumee.core.erp.model.openapi.request.erp.*;
-import com.doumee.core.erp.model.openapi.response.erp.ApproveInfoResponse;
-import com.doumee.core.haikang.model.param.request.AcsDeviceListRequest;
-import com.doumee.core.haikang.model.param.request.PrivilegeGroupRequest;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.erp.model.openapi.request.*;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/ext/HkSyncService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/ext/HkSyncService.java
index b091b73..dff2631 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/ext/HkSyncService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/ext/HkSyncService.java
@@ -26,6 +26,7 @@
* @return
*/
String syncHkDevices(Device param);
+ String syncHkNotices(String username);
/**
* 鍚屾娴峰悍鍋滆溅搴�
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java
index bbd683d..3502b26 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java
@@ -15,6 +15,8 @@
import com.doumee.core.utils.DateUtil;
import com.doumee.core.utils.SmsConstants;
import com.doumee.core.utils.Utils;
+import com.doumee.core.wx.wxPlat.WxPlatConstants;
+import com.doumee.core.wx.wxPlat.WxPlatNotice;
import com.doumee.dao.business.*;
import com.doumee.dao.business.dao.CompanyMapper;
import com.doumee.dao.business.dao.SmsConfigMapper;
@@ -65,6 +67,8 @@
@Autowired
private SystemDictDataBiz systemDictDataBiz;
+ @Autowired
+ private WxNoticeConfigMapper wxNoticeConfigMapper;
@Autowired
private ApproveTemplMapper approveTemplMapper;
@@ -484,7 +488,7 @@
approveList.add(createUserApprove);
//鏌ヨ鎵�鏈夊緟澶勭悊浜�
-
+ String token = systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode();
//瀹℃壒涓氬姟鏁版嵁
for (int i = 0; i < approveParamList.size(); i++) {
ApproveParam approveParam = approveParamList.get(i);
@@ -567,6 +571,7 @@
approve.setType(Constants.ZERO);
approveList.add(approve);
+ WxPlatNotice wxPlatNotice = new WxPlatNotice();
if(Constants.equalsInteger(approve.getStatus(),Constants.ONE) && StringUtils.isNotBlank(member.getPhone())){
//鍙戦�佺煭淇¢�氱煡
if(Constants.equalsInteger(noticeType,Constants.noticesObjectType.reason)){
@@ -576,13 +581,32 @@
SmsConstants.platformBookContent.platformBookWaitAudit,
null,Arrays.asList(member.getPhone().split(","))
);
+ //鍏紬鍙烽�氱煡
+ if(StringUtils.isNotBlank(member.getOpenid())){
+ wxPlatNotice.sendPlatformBookTemplateNotice(
+ wxNoticeConfigMapper,
+ platformBooksMapper.selectById(businessId),
+ WxPlatConstants.platformBookContent.platformBookWaitAudit,
+ token,
+ Arrays.asList(member.getOpenid().split(",")),
+ Constants.ONE);
+ }
}else if(Constants.equalsInteger(noticeType,Constants.noticesObjectType.visit)){
//璁垮鐢宠
+ //鐭俊閫氱煡
SmsEmailServiceImpl.sendVisitSms(systemDictDataBiz,
emayService,smsEmailMapper,smsConfigMapper,visitsMapper,businessId,
SmsConstants.visitContent.visitNotice,
null,Arrays.asList(member.getPhone().split(","))
);
+ //鍏紬鍙烽�氱煡
+ if(StringUtils.isNotBlank(member.getOpenid())){
+ wxPlatNotice.sendVisitTemplateNotice(
+ wxNoticeConfigMapper,visitsMapper.selectById(businessId), WxPlatConstants.visitContent.visitWaitAudit,
+ token,
+ Arrays.asList(member.getOpenid().split(","))
+ );
+ }
}else if(Constants.equalsInteger(noticeType,Constants.noticesObjectType.visitReporting)){
//璁垮鎶ュ
SmsEmailServiceImpl.sendVisitReportSms(systemDictDataBiz,
@@ -590,6 +614,14 @@
SmsConstants.visitReportingContent.visitReportingNotice,
null,Arrays.asList(member.getPhone().split(","))
);
+ //鍏紬鍙烽�氱煡
+ if(StringUtils.isNotBlank(member.getOpenid())){
+ wxPlatNotice.sendVisitTemplateNotice(
+ wxNoticeConfigMapper,visitsMapper.selectById(businessId), WxPlatConstants.visitReportContent.visitReportWaitAudit,
+ token,
+ Arrays.asList(member.getOpenid().split(","))
+ );
+ }
}else if(Constants.equalsInteger(noticeType,Constants.noticesObjectType.useCar)){
//鐢ㄨ溅鐢宠
SmsEmailServiceImpl.sendCarUseSms(systemDictDataBiz,
@@ -597,6 +629,16 @@
SmsConstants.carUseBookContent.carUseBookWaitAudit,
null,Arrays.asList(member.getPhone().split(","))
);
+ //鍏紬鍙烽�氱煡
+ if(StringUtils.isNotBlank(member.getOpenid())){
+ wxPlatNotice.sendCarUseBookTemplateNotice(
+ wxNoticeConfigMapper,
+ carUseBookMapper.selectById(businessId),
+ WxPlatConstants.carUseBookContent.carUseBookWaitAudit,
+ token,
+ Arrays.asList(member.getOpenid().split(",")),
+ Constants.ONE);
+ }
}
}
@@ -1502,6 +1544,7 @@
public void dealBusinessData(ApproveDTO approveDTO,Approve approve){
+ WxPlatNotice wxPlatNotice = new WxPlatNotice();
if(approveDTO.getObjType().equals(Constants.approveObjectType.unConstructionVisit)
||approveDTO.getObjType().equals(Constants.approveObjectType.constructionVisit)
||approveDTO.getObjType().equals(Constants.approveObjectType.visitReporting)){
@@ -1571,6 +1614,7 @@
}
}
//璁垮鎶ュ
+ String objCode = "";
if(approveDTO.getObjType().equals(Constants.approveObjectType.visitReporting)){
//鍙戦�佺煭淇¢�氱煡
SmsEmailServiceImpl.sendVisitReportSms(systemDictDataBiz,
@@ -1579,6 +1623,9 @@
SmsConstants.visitReportingContent.visitReportingAuditFail,
approveDTO.getCheckInfo(),null
);
+ objCode = Constants.equalsInteger(approveDTO.getStatus(),Constants.TWO)? WxPlatConstants.visitReportContent.visitReportAuditSuccess:WxPlatConstants.visitReportContent.visitReportAuditFail;
+
+
}else{ //璁垮鐢宠
//鍙戦�佺煭淇¢�氱煡
SmsEmailServiceImpl.sendVisitSms(systemDictDataBiz,
@@ -1587,15 +1634,28 @@
SmsConstants.visitContent.visitAuditFail,
approveDTO.getCheckInfo(),null
);
+ objCode = Constants.equalsInteger(approveDTO.getStatus(),Constants.TWO)? WxPlatConstants.visitContent.visitAuditSuccess:WxPlatConstants.visitContent.visitAuditFail;
+ }
+ visitsMapper.updateById(visits);
+ //鍙戦�佸井淇″叕浼楀彿
+ if(StringUtils.isNotBlank(objCode)){
+ Member member = memberMapper.selectById(visits.getCreateMemberId());
+ if(Objects.nonNull(member) && StringUtils.isNotBlank(member.getOpenid())){
+ wxPlatNotice.sendVisitTemplateNotice(
+ wxNoticeConfigMapper,visits, objCode,
+ systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
+ Arrays.asList(member.getOpenid().split(","))
+ );
+ }
}
- visitsMapper.updateById(visits);
}else if(approveDTO.getObjType().equals(Constants.approveObjectType.cityUseCar)||approveDTO.getObjType().equals(
Constants.approveObjectType.unCityUseCar)){
this.updDriver(approveDTO,approve,true);
CarUseBook carUseBook = carUseBookJoinMapper.selectById(approveDTO.getObjId());
if(Objects.nonNull(carUseBook)){
Member member = memberMapper.selectById(carUseBook.getMemberId());
+ //鍙戦�侀�氱煡鐭伅
if(Objects.nonNull(member)&&StringUtils.isNotBlank(member.getPhone())){
SmsEmailServiceImpl.sendCarUseSms(systemDictDataBiz,
emayService,smsEmailMapper,smsConfigMapper,carUseBookMapper,approveDTO.getObjId(),
@@ -1603,6 +1663,14 @@
SmsConstants.carUseBookContent.carUseBookAuditFail,
approveDTO.getCheckInfo(),Arrays.asList(member.getPhone().split(","))
);
+ }
+ if(StringUtils.isNotBlank(member.getOpenid())){
+ //鍙戦�佸井淇″叕浼楀彿閫氱煡
+ wxPlatNotice.sendCarUseBookTemplateNotice(
+ wxNoticeConfigMapper,carUseBook,
+ Constants.equalsInteger(approveDTO.getStatus(),Constants.TWO)?WxPlatConstants.carUseBookContent.carUseBookAuditSuccess: WxPlatConstants.carUseBookContent.carUseBookAuditFail,
+ systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
+ Arrays.asList(member.getOpenid().split(",")),0);
}
}
@@ -1661,7 +1729,16 @@
approveDTO.getCheckInfo(),null
);
- //TODO 鍙戦�佸井淇″叕浼楀彿娑堟伅
+ //鍙戦�佸井淇″叕浼楀彿娑堟伅
+ Member member = memberMapper.selectById(platformBooks.getDriverId() );
+ if(Objects.nonNull(member) && StringUtils.isNotBlank(member.getOpenid())){
+ //鍙戦�佸井淇″叕浼楀彿閫氱煡
+ wxPlatNotice.sendPlatformBookTemplateNotice(
+ wxNoticeConfigMapper,platformBooks,
+ Constants.equalsInteger(approveDTO.getStatus(),Constants.TWO)?WxPlatConstants.platformBookContent.platformBookAuditSuccess: WxPlatConstants.platformBookContent.platformBookAuditFail,
+ systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
+ Arrays.asList(member.getOpenid().split(",")),0);
+ }
}else{
throw new BusinessException(ResponseStatus.BAD_REQUEST);
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java
index 5ac6b06..b881fa4 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java
@@ -7,6 +7,8 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.*;
+import com.doumee.core.wx.wxPlat.WxPlatConstants;
+import com.doumee.core.wx.wxPlat.WxPlatNotice;
import com.doumee.dao.business.*;
import com.doumee.dao.business.dao.SmsConfigMapper;
import com.doumee.dao.business.dao.SmsEmailMapper;
@@ -16,6 +18,8 @@
import com.doumee.dao.business.vo.ApproveDataVO;
import com.doumee.dao.business.vo.DateIntervalVO;
+import com.doumee.dao.system.join.NoticesJoinMapper;
+import com.doumee.dao.system.model.Notices;
import com.doumee.dao.system.model.SystemDictData;
import com.doumee.service.business.ApproveService;
import com.doumee.service.business.CarUseBookService;
@@ -61,6 +65,9 @@
private ApproveJoinMapper approveJoinMapper;
@Autowired
+ private NoticesJoinMapper noticesJoinMapper;
+
+ @Autowired
private ApproveService approveService;
@Autowired
@@ -78,6 +85,9 @@
@Autowired
private EmayService emayService;
+
+ @Autowired
+ private WxNoticeConfigMapper wxNoticeConfigMapper;
@Override
@Transactional(rollbackFor = {Exception.class,BusinessException.class})
@@ -132,6 +142,18 @@
carUseBookMapper.insert(carUseBook);
//鐢ㄨ溅鐢宠 瀹℃壒璁板綍鍒涘缓
approveService.createApproveFlow(carUseBook.getType()==0?3:4,carUseBook.getId(),carUseBook.getMemberId());
+ //鍙戦�佸井淇″叕浼楀彿閫氱煡
+ //鍙戦�佸井淇″叕浼楀彿閫氱煡
+ WxPlatNotice wxPlatNotice = new WxPlatNotice();
+ Member member = memberMapper.selectById(carUseBook.getMemberId());
+ if(Objects.nonNull(member) && StringUtils.isNotBlank(member.getOpenid())){
+ wxPlatNotice.sendCarUseBookTemplateNotice(
+ wxNoticeConfigMapper,carUseBook,
+ WxPlatConstants.carUseBookContent.carUseBookUpload,
+ systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
+ Arrays.asList(member.getOpenid().split(",")),0);
+ }
+
return carUseBook.getId();
}
@@ -474,6 +496,15 @@
.in(Approve::getObjType,Constants.approveObjectType.cityUseCar,Constants.approveObjectType.unCityUseCar)
.eq(Approve::getObjId,id)
);
+
+ //澶勭悊寰呭姙淇℃伅
+ noticesJoinMapper.update(null,new UpdateWrapper<Notices>().lambda()
+ .set(Notices::getStatus,Constants.ONE)
+ .eq(Notices::getType,Constants.TWO)
+ .eq(Notices::getObjId,carUseBook.getId())
+ );
+
+
Member member = memberMapper.selectById(carUseBook.getMemberId());
if(Objects.nonNull(member)&&StringUtils.isNotBlank(member.getPhone())){
//鐢ㄨ溅鐢宠鍙栨秷
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java
index 57eeaa2..dcd27b0 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java
@@ -1,13 +1,10 @@
package com.doumee.service.business.impl;
-import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
-import com.doumee.core.haikang.model.HKConstants;
-import com.doumee.core.haikang.model.param.BaseResponse;
-import com.doumee.core.haikang.model.param.request.*;
+import com.doumee.core.haikang.model.param.request.TransparentChannelSingleRequest;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
@@ -22,7 +19,6 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.doumee.service.business.impl.hksync.HkSyncPushServiceImpl;
-import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java
index 31d94d1..55fbde4 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java
@@ -15,6 +15,8 @@
import com.doumee.core.utils.DateUtil;
import com.doumee.core.utils.SmsConstants;
import com.doumee.core.utils.Utils;
+import com.doumee.core.wx.wxPlat.WxPlatConstants;
+import com.doumee.core.wx.wxPlat.WxPlatNotice;
import com.doumee.dao.business.*;
import com.doumee.dao.business.dao.SmsConfigMapper;
import com.doumee.dao.business.dao.SmsEmailMapper;
@@ -76,6 +78,9 @@
@Autowired
private EmayService emayService;
+ @Autowired
+ private WxNoticeConfigMapper wxNoticeConfigMapper;
+
@Override
public Integer create(HiddenDanger hiddenDanger) {
@@ -91,6 +96,10 @@
throw new BusinessException(ResponseStatus.BAD_REQUEST);
}
hiddenDanger.setMemberId(hiddenDanger.getLoginUserInfo().getMemberId());
+ Member createMember = memberMapper.selectById(hiddenDanger.getMemberId());
+ if(Objects.isNull(createMember)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌鍒涘缓浜轰俊鎭�");
+ }
hiddenDanger.setIsdeleted(Constants.ZERO);
hiddenDanger.setCreateDate(new Date());
hiddenDanger.setEditDate(new Date());
@@ -181,6 +190,7 @@
noticesJoinMapper.insert(notices);
+ WxPlatNotice wxPlatNotice = new WxPlatNotice();
if(Objects.nonNull(member) && StringUtils.isNotBlank(member.getPhone())){
//鍙戦�佺煭淇¢�氱煡
SmsEmailServiceImpl.sendHiddenDangerSms(systemDictDataBiz,
@@ -190,7 +200,22 @@
);
}
-
+ //鎻愪氦浜虹殑寰俊鍏紬鍙烽�氱煡
+ if(Objects.nonNull(createMember)&&StringUtils.isNotBlank(createMember.getOpenid())){
+ wxPlatNotice.sendHiddenDangerUploadTemplateNotice(
+ wxNoticeConfigMapper,hiddenDanger,
+ WxPlatConstants.hiddenDangerContent.hiddenDangerUpload,
+ systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
+ Arrays.asList(createMember.getOpenid().split(",")));
+ }
+ //澶勭悊浜虹殑寰俊鍏紬鍙烽�氱煡
+ if(Objects.nonNull(member)&&StringUtils.isNotBlank(member.getOpenid())){
+ wxPlatNotice.sendHiddenDangerUploadTemplateNotice(
+ wxNoticeConfigMapper,hiddenDanger,
+ WxPlatConstants.hiddenDangerContent.hiddenDangerUpload,
+ systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
+ Arrays.asList(member.getOpenid().split(",")));
+ }
return hiddenDanger.getId();
}
@@ -244,7 +269,7 @@
.leftJoin(Member.class,Member::getId,HiddenDanger::getCheckUserId)
.leftJoin(HiddenDangerParam.class,HiddenDangerParam::getId,HiddenDanger::getCateId)
.leftJoin("company t4 on t1.company_id=t4.id")
- .leftJoin("company t5 on t3.company_id=t5.id");
+ .leftJoin("company t5 on t2.company_id=t5.id");
queryWrapper
.eq(HiddenDanger::getId, id).last("limit 1");
@@ -326,7 +351,7 @@
.leftJoin(Member.class,Member::getId,HiddenDanger::getCheckUserId)
.leftJoin(HiddenDangerParam.class,HiddenDangerParam::getId,HiddenDanger::getCateId)
.leftJoin("company t4 on t1.company_id=t4.id")
- .leftJoin("company t5 on t3.company_id=t5.id");
+ .leftJoin("company t5 on t2.company_id=t5.id");
//鏁版嵁鏉冮檺寮�濮�--------------------start----------------
LoginUserInfo userInfo =pageWrap.getModel().getLoginUserInfo();
@@ -429,10 +454,17 @@
Arrays.asList(member.getPhone().split(","))
);
}
-
}
-
-
+ Member createMember = memberMapper.selectById(hiddenDanger.getMemberId());
+ //澶勭悊浜虹殑寰俊鍏紬鍙烽�氱煡
+ if(Objects.nonNull(createMember)&&StringUtils.isNotBlank(createMember.getOpenid())){
+ WxPlatNotice wxPlatNotice = new WxPlatNotice();
+ wxPlatNotice.sendHiddenDangerDealTemplateNotice(
+ wxNoticeConfigMapper,hiddenDanger,
+ WxPlatConstants.hiddenDangerContent.hiddenDangerDeal,
+ systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
+ Arrays.asList(createMember.getOpenid().split(",")));
+ }
}
@@ -592,6 +624,16 @@
Arrays.asList(member.getPhone().split(","))
);
}
+
+ //澶勭悊浜虹殑寰俊鍏紬鍙烽�氱煡
+ if(Objects.nonNull(member)&&StringUtils.isNotBlank(member.getOpenid())){
+ WxPlatNotice wxPlatNotice = new WxPlatNotice();
+ wxPlatNotice.sendHiddenDangerUploadTemplateNotice(
+ wxNoticeConfigMapper,hiddenDanger,
+ WxPlatConstants.hiddenDangerContent.hiddenDangerUpload,
+ systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
+ Arrays.asList(member.getOpenid().split(",")));
+ }
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/InitServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/InitServiceImpl.java
index 918b813..77f4730 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/InitServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/InitServiceImpl.java
@@ -7,7 +7,6 @@
import com.doumee.service.business.InterfaceLogService;
import com.doumee.service.business.impl.hksync.HkSyncBaseServiceImpl;
import com.hikvision.artemis.sdk.config.ArtemisConfig;
-import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
index a2446bb..e6e736f 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -1697,6 +1697,7 @@
/**
* 寰俊鎺堟潈鎺ュ彛
* @param code
+ * 鏉ユ簮:0=鍙告満锛�1=璁垮锛�2=鍐呴儴鍛樺伐
* @return
*/
@Override
@@ -1708,50 +1709,80 @@
String appSecret = systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_SECRET).getCode();
String getTokenUrl = WXConstant.GET_USER_INFO_URL.replace("CODE", code)
.replace("APPID", appId).replace("SECRET", appSecret);
-// JSONObject tokenJson = JSONObject.parseObject(HttpsUtil.get(getTokenUrl,true));
- String openId = code;
-// if(!Objects.isNull(tokenJson.get("access_token"))){
-// openId = tokenJson.getString("openid");
-// }
-// String openId = "12345";
+ JSONObject tokenJson = JSONObject.parseObject(HttpsUtil.get(getTokenUrl,true));
+ String openId = "";
+ if(!Objects.isNull(tokenJson.get("access_token"))){
+ openId = tokenJson.getString("openid");
+ }
WxAuthorizeVO wxAuthorizeVO = new WxAuthorizeVO();
wxAuthorizeVO.setOpenid(openId);
- //鏍规嵁openId 鏌ヨ鐢ㄦ埛淇℃伅
- Member member = memberJoinMapper.selectJoinOne(Member.class,new MPJLambdaWrapper<Member>()
- .selectAll(Member.class)
- .selectAs(Company::getName,Member::getCompanyName)
- .leftJoin(Company.class,Company::getId,Member::getCompanyId)
- .eq(Member::getOpenid,openId)
- .eq(Member::getType,source)
- .eq(Member::getIsdeleted,Constants.ZERO)
- .orderByDesc(Member::getCreateDate)
- .last(" limit 1 ")
- );
- //闈炶瀹㈢敤鎴� 杩涜鍒ゆ柇鏄惁瀛樺湪鐢ㄦ埛
- if(!Objects.isNull(member)){
- if(member.getIsdeleted() == Constants.ONE){
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鐢ㄦ埛宸插垹闄�,璇疯仈绯荤鐞嗗憳");
- }
- if(member.getStatus() != Constants.ZERO){
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鐢ㄦ埛宸茬鐢�,璇疯仈绯荤鐞嗗憳");
- }
- if(StringUtils.isNotBlank(member.getIdcardNo())){
- member.setIdcardDecode(DESUtil.decrypt(Constants.EDS_PWD, member.getIdcardNo()));
- }
- String prefixUrl = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() +
- systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode();
- member.setPrefixUrl(prefixUrl);
- wxAuthorizeVO.setMember(member);
- //鍙告満 涓� 鍐呴儴浜哄憳 鎻愪緵token
- if(Constants.equalsInteger(source,Constants.ZERO)||Constants.equalsInteger(source,Constants.TWO)){
- SystemUser systemUser = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda().eq(SystemUser::getMemberId,member.getId())
- .eq(SystemUser::getStatus,Constants.ZERO).last(" limit 1 "));
- if(Objects.nonNull(systemUser)){
- String token = systemLoginService.loginByUserId(systemUser.getId());
- wxAuthorizeVO.setToken(token);
+ if(source==1){
+ //鏍规嵁openId 鏌ヨ鐢ㄦ埛淇℃伅
+ Member member = memberJoinMapper.selectJoinOne(Member.class,new MPJLambdaWrapper<Member>()
+ .selectAll(Member.class)
+ .selectAs(Company::getName,Member::getCompanyName)
+ .leftJoin(Company.class,Company::getId,Member::getCompanyId)
+ .eq(Member::getOpenid,openId)
+ .eq(Member::getType,source)
+ .eq(Member::getIsdeleted,Constants.ZERO)
+ .orderByDesc(Member::getCreateDate)
+ .last(" limit 1 ")
+ );
+ //闈炶瀹㈢敤鎴� 杩涜鍒ゆ柇鏄惁瀛樺湪鐢ㄦ埛
+ if(!Objects.isNull(member)){
+ if(member.getIsdeleted() == Constants.ONE){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鐢ㄦ埛宸插垹闄�,璇疯仈绯荤鐞嗗憳");
+ }
+ if(member.getStatus() != Constants.ZERO){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鐢ㄦ埛宸茬鐢�,璇疯仈绯荤鐞嗗憳");
+ }
+ if(StringUtils.isNotBlank(member.getIdcardNo())){
+ member.setIdcardDecode(DESUtil.decrypt(Constants.EDS_PWD, member.getIdcardNo()));
+ }
+ String prefixUrl = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() +
+ systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode();
+ member.setPrefixUrl(prefixUrl);
+ wxAuthorizeVO.setMember(member);
+ //鍙告満 涓� 鍐呴儴浜哄憳 鎻愪緵token
+ if(Constants.equalsInteger(source,Constants.ZERO)||Constants.equalsInteger(source,Constants.TWO)){
+ SystemUser systemUser = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda().eq(SystemUser::getMemberId,member.getId())
+ .eq(SystemUser::getStatus,Constants.ZERO).last(" limit 1 "));
+ if(Objects.nonNull(systemUser)){
+ String token = systemLoginService.loginByUserId(systemUser.getId());
+ wxAuthorizeVO.setToken(token);
+ }
}
}
+ }else{
+ //濡傛灉鏄徃鏈烘垨鑰呭唴閮ㄤ汉鍛橈紝鍒欎粠system_user鏌ヨ
+ SystemUser user = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda()
+ .eq(SystemUser::getOpenid,openId)
+ .eq(SystemUser::getType,source)
+ .eq(SystemUser::getDeleted,Boolean.FALSE)
+ .last(" limit 1 "));
+ //闈炶瀹㈢敤鎴� 杩涜鍒ゆ柇鏄惁瀛樺湪鐢ㄦ埛
+ if(!Objects.isNull(user)){
+ Member member = memberMapper.selectById(user.getId());
+ if(member.getIsdeleted() == Constants.ONE){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鐢ㄦ埛宸插垹闄�,璇疯仈绯荤鐞嗗憳");
+ }
+ if(member.getStatus() != Constants.ZERO){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鐢ㄦ埛宸茬鐢�,璇疯仈绯荤鐞嗗憳");
+ }
+ if(StringUtils.isNotBlank(member.getIdcardNo())){
+ member.setIdcardDecode(DESUtil.decrypt(Constants.EDS_PWD, member.getIdcardNo()));
+ }
+ String prefixUrl = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() +
+ systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode();
+ member.setPrefixUrl(prefixUrl);
+ wxAuthorizeVO.setMember(member);
+ //鍙告満 涓� 鍐呴儴浜哄憳 鎻愪緵token
+ String token = systemLoginService.loginByUserId(user.getId());
+ wxAuthorizeVO.setToken(token);
+ }
}
+
+
return wxAuthorizeVO;
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBooksServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBooksServiceImpl.java
index c45522e..5d0371f 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBooksServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBooksServiceImpl.java
@@ -10,6 +10,8 @@
import com.doumee.core.utils.DateUtil;
import com.doumee.core.utils.SmsConstants;
import com.doumee.core.utils.Utils;
+import com.doumee.core.wx.wxPlat.WxPlatConstants;
+import com.doumee.core.wx.wxPlat.WxPlatNotice;
import com.doumee.dao.business.*;
import com.doumee.dao.business.dao.SmsConfigMapper;
import com.doumee.dao.business.dao.SmsEmailMapper;
@@ -36,6 +38,7 @@
import org.springframework.util.CollectionUtils;
import java.math.BigDecimal;
+import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Objects;
@@ -86,6 +89,9 @@
@Autowired
private EmayService emayService;
+
+ @Autowired
+ private WxNoticeConfigMapper wxNoticeConfigMapper;
@Override
public Integer create(PlatformBooks platformBooks) {
@@ -285,6 +291,17 @@
//鍒涘缓瀹℃壒娴佷俊鎭�
approveService.createApproveForPlatfrom(approveTempl.getId(),platformBooks.getId(),platformBooks.getDriverId());
+ //鍙戦�佸叕浼楀彿閫氱煡 缁欐彁浜や汉
+ Member member = memberMapper.selectById(platformBooks.getDriverId());
+ if(Objects.nonNull(member)&&StringUtils.isNotBlank(member.getOpenid())){
+ WxPlatNotice wxPlatNotice = new WxPlatNotice();
+ wxPlatNotice.sendPlatformBookTemplateNotice(
+ wxNoticeConfigMapper,platformBooks,
+ WxPlatConstants.platformBookContent.platformBookUpload,
+ systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
+ Arrays.asList(member.getOpenid().split(",")),0);
+ }
+
return platformBooks.getId();
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
index 6c229ad..2000a83 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
@@ -17,6 +17,8 @@
import com.doumee.core.tms.model.response.TmsBaseResponse;
import com.doumee.core.tms.model.response.TmsLockStatusQueryResponse;
import com.doumee.core.utils.*;
+import com.doumee.core.wx.wxPlat.WxPlatConstants;
+import com.doumee.core.wx.wxPlat.WxPlatNotice;
import com.doumee.dao.business.*;
import com.doumee.dao.business.dao.SmsConfigMapper;
import com.doumee.dao.business.dao.SmsEmailMapper;
@@ -118,6 +120,10 @@
private PlatformBroadcastLogMapper platformBroadcastLogMapper;
@Autowired
private PlatformWarnEventServiceImpl platformWarnEventService;
+ @Autowired
+ private MemberMapper memberMapper;
+ @Autowired
+ private WxNoticeConfigMapper wxNoticeConfigMapper;
@Override
public Integer create(PlatformJob platformJob) {
@@ -860,6 +866,20 @@
emayService,smsEmailMapper,smsConfigMapper,platformJobMapper,platformJob.getId(),
SmsConstants.platformJobContent.platformJobCallIn,null,null
);
+
+ //鍏紬鍙锋ā鏉挎秷鎭�
+ if(Objects.nonNull(platformJob.getDriverId())) {
+ Member member = memberMapper.selectById(platformJob.getDriverId());
+ if (Objects.nonNull(member) && StringUtils.isNotBlank(member.getOpenid())) {
+ WxPlatNotice wxPlatNotice = new WxPlatNotice();
+ wxPlatNotice.sendPlatformJobTemplateNotice(
+ wxNoticeConfigMapper, platformJob,
+ WxPlatConstants.platformJobContent.platformJobCallIn,
+ systemDictDataBiz.queryByCode(Constants.WX_PLATFORM, Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
+ Arrays.asList(member.getOpenid().split(","))
+ );
+ }
+ }
return platformJob;
}
@@ -1058,6 +1078,21 @@
SmsConstants.platformJobContent.platformJobSingIn,platform.getName(),null
);
+ //鍏紬鍙锋ā鏉挎秷鎭�
+ if(Objects.nonNull(platformJob.getDriverId())){
+ Member member = memberMapper.selectById(platformJob.getDriverId());
+ if(Objects.nonNull(member) && StringUtils.isNotBlank(member.getOpenid())){
+ WxPlatNotice wxPlatNotice = new WxPlatNotice();
+ wxPlatNotice.sendPlatformJobTemplateNotice(
+ wxNoticeConfigMapper,platformJob,
+ WxPlatConstants.platformJobContent.platformJobSingIn,
+ systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
+ Arrays.asList(member.getOpenid().split(","))
+ );
+ }
+ }
+
+
//骞挎挱 led閫氱煡
platformJob.setPlatformName(platform.getName());
this.broadcastAndLEed(platformJob,Constants.PlatformLedContent.CALLING.getInfo(),
@@ -1188,6 +1223,20 @@
SmsConstants.platformJobContent.platformJobMove,oldPlatform.getName(),platform.getName()
);
+ //鍏紬鍙锋ā鏉挎秷鎭�
+ if(Objects.nonNull(platformJob.getDriverId())) {
+ Member member = memberMapper.selectById(platformJob.getDriverId());
+ if (Objects.nonNull(member) && StringUtils.isNotBlank(member.getOpenid())) {
+ WxPlatNotice wxPlatNotice = new WxPlatNotice();
+ wxPlatNotice.sendPlatformJobTemplateNotice(
+ wxNoticeConfigMapper, platformJob,
+ WxPlatConstants.platformJobContent.platformJobMove,
+ systemDictDataBiz.queryByCode(Constants.WX_PLATFORM, Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
+ Arrays.asList(member.getOpenid().split(","))
+ );
+ }
+ }
+
platformJob.setPlatformName(oldPlatform.getName());
platformJob.setPlatformId(oldPlatform.getId());
this.broadcastAndLEed(platformJob, StringUtils.isBlank(oldPlatform.getLedContent())?Constants.PlatformLedContent.IDEL_CONTNET.getName():oldPlatform.getLedContent(),
@@ -1235,6 +1284,21 @@
emayService,smsEmailMapper,smsConfigMapper,platformJobMapper,platformJob.getId(),
SmsConstants.platformJobContent.platformJobOverNum,null,null
);
+
+ //鍏紬鍙锋ā鏉挎秷鎭�
+ if(Objects.nonNull(platformJob.getDriverId())){
+ Member member = memberMapper.selectById(platformJob.getDriverId());
+ if(Objects.nonNull(member) && StringUtils.isNotBlank(member.getOpenid())){
+ WxPlatNotice wxPlatNotice = new WxPlatNotice();
+ wxPlatNotice.sendPlatformJobTemplateNotice(
+ wxNoticeConfigMapper,platformJob,
+ WxPlatConstants.platformJobContent.platformJobOverNum,
+ systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
+ Arrays.asList(member.getOpenid().split(","))
+ );
+ }
+ }
+
platformJob.setPlatformName(platform.getName());
this.broadcastAndLEed(platformJob, StringUtils.isBlank(platform.getLedContent())?Constants.PlatformLedContent.IDEL_CONTNET.getName():platform.getLedContent(),
null
@@ -1281,6 +1345,20 @@
emayService,smsEmailMapper,smsConfigMapper,platformJobMapper,platformJob.getId(),
SmsConstants.platformJobContent.platformJobError,platform.getName(),null
);
+
+ //鍏紬鍙锋ā鏉挎秷鎭�
+ if(Objects.nonNull(platformJob.getDriverId())) {
+ Member member = memberMapper.selectById(platformJob.getDriverId());
+ if (Objects.nonNull(member) && StringUtils.isNotBlank(member.getOpenid())) {
+ WxPlatNotice wxPlatNotice = new WxPlatNotice();
+ wxPlatNotice.sendPlatformJobTemplateNotice(
+ wxNoticeConfigMapper, platformJob,
+ WxPlatConstants.platformJobContent.platformJobError,
+ systemDictDataBiz.queryByCode(Constants.WX_PLATFORM, Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
+ Arrays.asList(member.getOpenid().split(","))
+ );
+ }
+ }
platformJob.setPlatformName(platform.getName());
this.broadcastAndLEed(platformJob, StringUtils.isBlank(platform.getLedContent())?Constants.PlatformLedContent.IDEL_CONTNET.getName():platform.getLedContent(),
@@ -1331,7 +1409,19 @@
emayService,smsEmailMapper,smsConfigMapper,platformJobMapper,platformJob.getId(),
SmsConstants.platformJobContent.platformJobWorking,platform.getName(),null
);
-
+ //鍏紬鍙锋ā鏉挎秷鎭�
+ if(Objects.nonNull(platformJob.getDriverId())) {
+ Member member = memberMapper.selectById(platformJob.getDriverId());
+ if (Objects.nonNull(member) && StringUtils.isNotBlank(member.getOpenid())) {
+ WxPlatNotice wxPlatNotice = new WxPlatNotice();
+ wxPlatNotice.sendPlatformJobTemplateNotice(
+ wxNoticeConfigMapper, platformJob,
+ WxPlatConstants.platformJobContent.platformJobWorking,
+ systemDictDataBiz.queryByCode(Constants.WX_PLATFORM, Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
+ Arrays.asList(member.getOpenid().split(","))
+ );
+ }
+ }
//骞挎挱 led閫氱煡
platformJob.setPlatformName(platform.getName());
this.broadcastAndLEed(platformJob,Constants.PlatformLedContent.WORKING.getInfo(),
@@ -1416,6 +1506,21 @@
emayService,smsEmailMapper,smsConfigMapper,platformJobMapper,platformJob.getId(),
SmsConstants.platformJobContent.platformJobFinish,platform.getName(),null
);
+
+ //鍏紬鍙锋ā鏉挎秷鎭�
+ if(Objects.nonNull(platformJob.getDriverId())) {
+ Member member = memberMapper.selectById(platformJob.getDriverId());
+ if (Objects.nonNull(member) && StringUtils.isNotBlank(member.getOpenid())) {
+ WxPlatNotice wxPlatNotice = new WxPlatNotice();
+ wxPlatNotice.sendPlatformJobTemplateNotice(
+ wxNoticeConfigMapper, platformJob,
+ WxPlatConstants.platformJobContent.platformJobFinish,
+ systemDictDataBiz.queryByCode(Constants.WX_PLATFORM, Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
+ Arrays.asList(member.getOpenid().split(","))
+ );
+ }
+ }
+
//骞挎挱 led閫氱煡
platformJob.setPlatformName(platform.getName());
this.broadcastAndLEed(platformJob,Constants.PlatformLedContent.DONE.getInfo(),
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
index f423fd2..85180ac 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
@@ -23,6 +23,8 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.*;
+import com.doumee.core.wx.WXConstant;
+import com.doumee.core.wx.wxPlat.WxPlatConstants;
import com.doumee.core.wx.wxPlat.WxPlatNotice;
import com.doumee.dao.admin.response.InterestedListVO;
import com.doumee.dao.admin.response.PCWorkPlatformDataVO;
@@ -129,6 +131,9 @@
@Autowired
private SmsEmailMapper smsEmailMapper;
+
+ @Autowired
+ private WxNoticeConfigMapper wxNoticeConfigMapper;
@Autowired
private EmayService emayService;
@@ -279,10 +284,6 @@
}else{
throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "瀵逛笉璧凤紝鍙戣捣鎷滆瀹℃壒鐢宠澶辫触锛�");
}
- //鍙戦�佸井淇″叕浼楀彿閫氱煡
- wxPlatNotice.sendVisitAuditTemplateNotice(visits,
- systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_PREFIX).getCode(),
- systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_AUDIT_VISIT).getCode());
}else if(dataSyncConfig.getVisitorDataOrigin().equals(Constants.ZERO)){
visits.setStatus(Constants.VisitStatus.waitCheck);
visitsMapper.updateById(visits);
@@ -292,6 +293,17 @@
}
initWithVisitInfo(visits);
updateProblemLog(visits,problemLog,member);
+
+ //鍙戦�佸井淇″叕浼楀彿閫氱煡 - 鐢宠鎻愪氦鎴愬姛寰呭鏍�
+ if(StringUtils.isNotBlank(visits.getOpenid())){
+ WxPlatNotice wxPlatNotice = new WxPlatNotice();
+ wxPlatNotice.sendVisitTemplateNotice(
+ wxNoticeConfigMapper,visits,
+ Constants.equalsInteger(visits.getType(),Constants.TWO)?WxPlatConstants.visitReportContent.visitReportUpload:WxPlatConstants.visitContent.visitUpload,
+ systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
+ Arrays.asList(visits.getOpenid().split(","))
+ );
+ }
//鍒涘缓瀹℃壒璁板綍
createApprove(visits,visitMember);
@@ -1486,11 +1498,6 @@
if(Constants.equalsInteger(visits.getStatus(),Constants.VisitStatus.xfSuccess)){
//濡傛灉涓嬪彂鎴愬姛锛�
visitsMapper.updateById(visits);
- if(Objects.isNull(visits.getParentId())){
- wxPlatNotice.sendVisitAuditTemplateNotice(visits,
- systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_PREFIX).getCode(),
- systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_AUDIT_VISIT).getCode());
- }
}else{
throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"閲嶆柊涓嬪彂浼氬け璐ワ紒");
}
@@ -1661,25 +1668,28 @@
pcWorkPlatformDataVO.setLwList(lwList );
}else if(Constants.equalsInteger(queryType,Constants.THREE)) {
- MPJLambdaWrapper<Notices> queryWrapper = new MPJLambdaWrapper<>();
- queryWrapper.selectAll(Notices.class);
if (Objects.isNull(loginUserInfo.getMemberId())) {
- queryWrapper.eq("1", "2");
+ pcWorkPlatformDataVO.setNoticesList(new ArrayList<>());
+ pcWorkPlatformDataVO.setNoticesNum(0);
+// queryWrapper.eq("1", "2");
} else {
+ MPJLambdaWrapper<Notices> queryWrapper = new MPJLambdaWrapper<>();
+ queryWrapper.selectAll(Notices.class);
queryWrapper.eq(Notices::getStatus, Constants.ZERO);
queryWrapper.eq(Notices::getSendacopy, Constants.ZERO);
queryWrapper.eq(Notices::getParam2, Constants.ZERO);
queryWrapper.eq(Notices::getUserId, loginUserInfo.getMemberId());
- }
- queryWrapper.orderByDesc(Notices::getCreateDate);
- List<Notices> noticesList = noticesJoinMapper.selectList(queryWrapper);
- pcWorkPlatformDataVO.setNoticesList(noticesList);
- pcWorkPlatformDataVO.setNoticesNum(noticesList.size());
- if(noticesList.size() > 5 ){
- pcWorkPlatformDataVO.setNoticesList(noticesList.subList(0,5));
- }else{
+ queryWrapper.orderByDesc(Notices::getCreateDate);
+ List<Notices> noticesList = noticesJoinMapper.selectList(queryWrapper);
pcWorkPlatformDataVO.setNoticesList(noticesList);
+ pcWorkPlatformDataVO.setNoticesNum(noticesList.size());
+ if(noticesList.size() > 5 ){
+ pcWorkPlatformDataVO.setNoticesList(noticesList.subList(0,5));
+ }else{
+ pcWorkPlatformDataVO.setNoticesList(noticesList);
+ }
}
+
}else{
String code= systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.TIMEOUT_WARNING).getCode();
MPJLambdaWrapper<Visits> queryWrapper = new MPJLambdaWrapper<>();
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java
index 549fa40..4f1f3ba 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java
@@ -1053,11 +1053,6 @@
i.setEndtime(param.getEndTime());
i.setDoors(param.getDoors());
visitsMapper.updateById(i);
- if(Objects.isNull(i.getParentId())){
- wxPlatNotice.sendVisitAuditTemplateNotice(i,
- systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_PREFIX).getCode(),
- systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_AUDIT_VISIT).getCode());
- }
});
}
}catch (BusinessException e){
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncBaseServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncBaseServiceImpl.java
index ed0f1fc..c7307aa 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncBaseServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncBaseServiceImpl.java
@@ -67,6 +67,11 @@
return null;
}
@Override
+ public String syncHkNotices(String username){
+
+ return null;
+ }
+ @Override
public String syncHkLed(Device param){
return null;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncDoorsServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncDoorsServiceImpl.java
index 4aa1d11..2cd7505 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncDoorsServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncDoorsServiceImpl.java
@@ -48,10 +48,10 @@
List<Device> deleteList = new ArrayList<>();
List<Device> addList = new ArrayList<>();
List<Device> editList = new ArrayList<>();
- List<DoorsInfoResponse> allHkList = new ArrayList<>();
Date date = new Date();
//鏌ヨ鍏ㄩ儴闂ㄧ璁惧鏁版嵁
List<Device> allList = deviceMapper.selectList(null);
+ List<DoorsInfoResponse> allHkList = new ArrayList<>();
boolean hasNext = true;
int curTotal = 0;
int curPage = 1;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncInitConfigServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncInitConfigServiceImpl.java
index fbd9683..06db1ef 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncInitConfigServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncInitConfigServiceImpl.java
@@ -3,6 +3,7 @@
import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.core.haikang.model.HKConstants;
import com.doumee.core.haikang.model.HKTools;
+import com.doumee.core.haikang.service.HKCarOpenService;
import com.doumee.core.utils.Constants;
import com.doumee.service.business.InterfaceLogService;
import com.hikvision.artemis.sdk.config.ArtemisConfig;
@@ -28,6 +29,9 @@
@PostConstruct
public int initHkConfig(){
+ HKCarOpenService.ACCESS_KEY= systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_CARS_OPENAPI_ACCESS_KEY).getCode();
+ HKCarOpenService.BASE_URL= systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_CARS_OPENAPI_URL).getCode();
+ HKCarOpenService.ACCESS_SECRET= systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_CARS_OPENAPI_ACCESS_SECRET).getCode();
ArtemisConfig.host = systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_HOST).getCode();
ArtemisConfig.appKey = systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_APPKEY).getCode();
ArtemisConfig.appSecret = systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_APPSECRET).getCode();
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncNoticeServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncNoticeServiceImpl.java
new file mode 100644
index 0000000..34f2c0d
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncNoticeServiceImpl.java
@@ -0,0 +1,163 @@
+package com.doumee.service.business.impl.hksync;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.doumee.biz.system.SystemDictDataBiz;
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
+import com.doumee.core.haikang.model.HKConstants;
+import com.doumee.core.haikang.model.param.BaseListPageResponse;
+import com.doumee.core.haikang.model.param.BaseResponse;
+import com.doumee.core.haikang.model.param.request.*;
+import com.doumee.core.haikang.model.param.respose.*;
+import com.doumee.core.haikang.service.HKService;
+import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.DESUtil;
+import com.doumee.core.utils.DateUtil;
+import com.doumee.core.utils.ImageBase64Util;
+import com.doumee.core.wx.wxPlat.WxPlatNotice;
+import com.doumee.dao.business.DeviceRoleMapper;
+import com.doumee.dao.business.MemberMapper;
+import com.doumee.dao.business.RetentionMapper;
+import com.doumee.dao.business.join.VisitsJoinMapper;
+import com.doumee.dao.business.model.DeviceRole;
+import com.doumee.dao.business.model.Member;
+import com.doumee.dao.business.model.Retention;
+import com.doumee.dao.business.model.Visits;
+import com.doumee.dao.system.SystemUserMapper;
+import com.doumee.dao.system.join.NoticesJoinMapper;
+import com.doumee.dao.system.model.Notices;
+import com.doumee.dao.system.model.SystemUser;
+import com.doumee.service.system.NoticesService;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.*;
+
+/**
+ * 娴峰悍璁垮涓氬姟Service瀹炵幇
+ * @author 姹熻箘韫�
+ * @date 2023/11/30 15:33
+ */
+@Service
+@Slf4j
+public class HkSyncNoticeServiceImpl extends HkSyncBaseServiceImpl {
+ @Autowired
+ private NoticesJoinMapper noticesJoinMapper;
+ @Autowired
+ private MemberMapper memberMapper;
+
+ @Override
+ public String syncHkNotices(String username){
+ if(Constants.DEALING_HK_NOTICE_LIST){
+ return null;
+ }
+ Constants.DEALING_HK_NOTICE_LIST =true;
+ try {
+ Date date = new Date();
+ List<GetTodoListResponse> allHkList = new ArrayList<>();
+ boolean hasNext = true;
+ int curTotal = 0;
+ int curPage = 1;
+ while (hasNext){
+ //鍒嗛〉閬嶅巻寰幆鏌ヨ鎵�鏈夐棬绂佽澶囨暟鎹�
+ GetTodoListRequest param = new GetTodoListRequest();
+ param.setComId("dfe");
+ param.setUserId(username);
+ param.setStatus(1);//鍙煡寰呭鐞嗙殑鏁版嵁
+ param.setPageNo(curPage);
+ param.setLocaleType("zh_CN");
+ param.setPageSize(100);
+ BaseResponse<BaseListPageResponse<GetTodoListResponse>> response = HKService.getTodoListPage(param);
+ if(response == null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){
+ throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "瀵逛笉璧凤紝娴峰悍鍚屾鏁版嵁澶辫触~");
+ }
+ BaseListPageResponse<GetTodoListResponse> r = response.getData();
+ curTotal += 100;
+ if(curTotal >= r.getTotal()){
+ hasNext = false;
+ }
+ if(r.getList() == null || r.getList().size()==0){
+ hasNext =false;
+ }else{
+ allHkList.addAll(r.getList());
+ }
+ curPage++;
+ }
+ if(allHkList!=null && allHkList.size()>0){
+ List<Notices> list = new ArrayList<>();
+ List<String> users = new ArrayList<>();
+ for(GetTodoListResponse data :allHkList){
+ users.add(data.getUserId());
+ }
+ List<Integer> userIds = new ArrayList<>();
+ List<Member > userList = memberMapper.selectList(new QueryWrapper<Member>().lambda()
+ .in(Member::getPhone,users)
+ .eq(Member::getIsdeleted,Constants.ZERO));
+ for(GetTodoListResponse data :allHkList){
+ Member u = getFromUserList(data.getUserId(),userList);
+ if(u==null){
+ continue;
+ }
+ userIds.add(u.getId());
+ JSONObject param = new JSONObject();
+
+ param.put("componentId","dfe");
+ param.put("msgType","tlnc");
+ param.put("componentMenuId", data.getMenuCode());
+ JSONObject c = new JSONObject();
+ c.put("method","dealTlncMsg");
+ c.put("argument",JSONObject.toJSONString(data));
+ param.put("callback",c);
+ Notices notices = new Notices();
+ notices.setCreateDate(DateUtil.getISO8601DateByStr(data.getMsgCreateTimeIso()));
+ notices.setUserId(u.getId());
+ notices.setStatus(Constants.ZERO);
+ notices.setSendacopy(Constants.ZERO);
+ //涓氬姟鐘舵�佷俊鎭� 0 =寰呭鐞�;1=宸插悓鎰�/宸插鐞�;2=宸叉嫆缁�/宸查��鍥�;3=宸茶浆浜�;4=宸叉挙閿�
+ notices.setParam1(JSONObject.toJSONString(data));
+ notices.setParam2(Constants.ZERO+"");
+ notices.setTitle(data.getMsgTitle());
+ if(notices.getCreateDate() == null){
+ notices.setCreateDate(date);
+ }
+ notices.setIsdeleted(Constants.ZERO);
+ notices.setParam4(data.getMsgCreateTimeIso());
+ notices.setParam3(data.getMsgCreateTime());
+ notices.setParam5(JSONObject.toJSONString(param));
+ notices.setType(Constants.noticesObjectType.hknotice);
+ list.add(notices);
+ }
+ if(list.size()>0){
+ //娓呯┖娴峰悍鍏ㄩ儴鐨勪唬鍔炴暟鎹�
+ noticesJoinMapper.delete(new UpdateWrapper<Notices>().lambda()
+ .eq(Notices::getType, Constants.noticesObjectType.hknotice)
+ .in(Notices::getUserId, userIds));
+ noticesJoinMapper.insert(list);//鎵归噺鎻掑叆璁板綍
+ }
+ }
+ }catch (Exception e){
+ e.printStackTrace();
+ }finally {
+ Constants.DEALING_HK_NOTICE_LIST =false;
+ }
+ return null;
+ }
+
+ private Member getFromUserList(String userId, List<Member> userList) {
+ if(userList!=null ){
+ for(Member u :userList){
+ if(StringUtils.equals(u.getPhone(),userId)){
+ return u;
+ }
+ }
+ }
+ return null;
+ }
+
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java
index 0665993..aacfa71 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java
@@ -311,11 +311,6 @@
// getUpdateModelByResponse(c,date,roleList,path);
getUpdateModelByResponseIccm(c,date,roleList,path);
visitsMapper.updateById(c);
- if(Objects.isNull(c.getParentId())){
- wxPlatNotice.sendVisitAuditTemplateNotice(c,
- systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_PREFIX).getCode(),
- systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_AUDIT_VISIT).getCode());
- }
}
}catch (Exception e){
e.printStackTrace();
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
index 8886314..2574a90 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
@@ -1,37 +1,38 @@
package com.doumee.service.business.impl.thrid;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.haikang.model.HKConstants;
+import com.doumee.core.haikang.model.cars.response.CarsDeviceDetaisResponse;
+import com.doumee.core.haikang.model.param.BaseListPageRequest;
import com.doumee.core.haikang.model.param.BaseListPageResponse;
import com.doumee.core.haikang.model.param.BaseResponse;
-import com.doumee.core.haikang.model.param.BaseListPageRequest;
import com.doumee.core.haikang.model.param.request.*;
import com.doumee.core.haikang.model.param.respose.*;
+import com.doumee.core.haikang.service.HKCarOpenService;
import com.doumee.core.haikang.service.HKService;
-import com.doumee.core.model.ApiResponse;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.DateUtil;
import com.doumee.core.utils.Utils;
+import com.doumee.core.wms.model.response.WmsBaseResponse;
+import com.doumee.core.wms.model.response.WmsInventoryDataResponse;
+import com.doumee.core.wms.model.response.WmsInventoryJsonResponse;
import com.doumee.dao.business.*;
import com.doumee.dao.business.join.VisitsJoinMapper;
import com.doumee.dao.business.model.*;
-import com.doumee.dao.system.model.SystemDictData;
-import com.doumee.dao.web.reqeust.SavePlatformWarnEventDTO;
+import com.doumee.dao.web.reqeust.CarsJobAndContractDTO;
import com.doumee.dao.web.response.platformReport.*;
import com.doumee.service.business.impl.PlatformJobServiceImpl;
import com.doumee.service.business.impl.VisitsServiceImpl;
import com.doumee.service.business.third.BoardService;
+import com.doumee.service.business.third.WmsService;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
-import org.checkerframework.checker.units.qual.C;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -51,6 +52,8 @@
@Autowired
private PlatformLogMapper platformLogMapper;
@Autowired
+ private WmsService wmsService;
+ @Autowired
private HiddenDangerMapper hiddenDangerMapper;
@Autowired
private PlatformWaterGasMapper platformWaterGasMapper;
@@ -63,6 +66,8 @@
@Autowired
private PlatformWmsDetailMapper platformWmsDetailMapper;
@Autowired
+ private PlatformWmsJobMapper platformWmsJobMapper;
+ @Autowired
private PlatformMapper platformMapper;
@Autowired
private VisitsJoinMapper visitsJoinMapper;
@@ -70,6 +75,44 @@
private RetentionMapper retentionMapper;
@Autowired
private PlatformGroupMapper platformGroupMapper;
+ /**
+ * 鑾峰彇鍖哄煙鏍戝舰缁撴瀯鏁版嵁
+ * @return
+ */
+ @Override
+ public BoardStockListVO stockList( ){
+ BoardStockListVO data = new BoardStockListVO();
+ double toatalNum = 1d;
+ BigDecimal num = new BigDecimal(0);
+ List<GeneralVO> list = new ArrayList<>();
+ try {
+ toatalNum =Double.parseDouble(systemDictDataBiz.queryByCode(Constants.WMS_PARAM,Constants.WMS_TOTAL_STOCK_NUM).getCode()) ;
+ }catch (Exception e){
+
+ }
+ WmsBaseResponse<WmsInventoryDataResponse> response = wmsService.getInventoryList();
+ if(response!=null && response.getData()!=null && response.getData().size()>=0){
+ List<WmsInventoryJsonResponse> t= response.getData().get(0).getJson();
+ if(t!=null &&t.size()>0){
+ for(WmsInventoryJsonResponse j :t){
+ num = num.add (Constants.formatBigdecimal( j.getQty()));
+ GeneralVO d = new GeneralVO();
+ d.setNum(Constants.formatBigdecimal(j.getQty()));
+ d.setName(j.getItem_name());
+ list.add(d);
+ }
+ }
+ }
+ data.setStockList(list);
+ data.setNum(num);
+ if(toatalNum<=0){
+ toatalNum =1;
+ }
+ data.setTotalNum(new BigDecimal(toatalNum));
+ data.setUseRate(data.getTotalNum().divide(data.getNum(),2,BigDecimal.ROUND_UP));
+ return data;
+
+ }
/**
* 鑾峰彇鍖哄煙鏍戝舰缁撴瀯鏁版嵁
* @return
@@ -451,6 +494,8 @@
FindHomeAlarmInfoPageRequest param = new FindHomeAlarmInfoPageRequest();
param.setHour(24);
param.setPage(1);
+ param.setUserId("admin");
+// param.setRegionIndexCodes("root000000");
param.setAlarmStartTime(DateUtil.getPlusTime2(DateUtil.addDaysToDate(new Date(),-1)));
param.setAlarmEndTime(DateUtil.getPlusTime2(new Date()));
param.setPageSize(20);
@@ -464,7 +509,7 @@
data.add(t);
}
}
- return data;
+ return data;
}
/**
@@ -477,7 +522,7 @@
List<MonitorDataVO> list = new ArrayList<>();
MinitorDataSearchRequest param = new MinitorDataSearchRequest();
param.setResourceTypeCodes(new String[]{});
- param.setRegionIndexCode("root0001");
+ param.setRegionIndexCode("root000000");
param.setIncludeDown("1");
param.setUserId("admin");
BaseResponse<BaseListPageResponse<MonitorDataSearchResponse>> response = HKService.minitorDataSearch(param);
@@ -514,8 +559,8 @@
@Override
public List<AlarmDataVO> fightingAlarmHandleData(){
List<AlarmDataVO> alarmHandleDataVOList = new ArrayList<>();
- Date now = DateUtil.getStartOfDay(new Date());
- for (int i = 1; i < 12; i++) {
+ Date now =DateUtil.StringToDate(DateUtil.getFirstDayCurrentMonth(),"yyyy-MM") ;
+ for (int i = 1; i <= 12; i++) {
Date start = DateUtil.addMonthToDate(now,-12+i);
Date end = DateUtil.addMonthToDate(now,-11+i);
AlarmDataVO t = getAlertDataByStartEndTime(DateUtil.getPlusTime2(start),DateUtil.getPlusTime2(end));
@@ -523,6 +568,171 @@
}
return alarmHandleDataVOList;
}
+ /**
+ * 銆愬洯鍖虹墿鏂欎腑蹇冭皟搴︺�戠湅鏉�-杩愯緭浠诲姟鍒嗘瀽
+ *
+ * @return
+ *
+ */
+ @Override
+ public List<TransportMeasureVO> transportMeasure(Integer queryType){
+ List<TransportMeasureVO> list = new ArrayList<>();
+ Random random = new Random();
+ List<Date> dayList = DateUtil.getDateListBeforDays(new Date(),7);//杩�7澶�
+ if(Constants.equalsInteger(queryType,Constants.ONE)){
+ dayList = DateUtil.getThisMonthDateList();//鏈湀澶╂暟
+ }else if(Constants.equalsInteger(queryType,Constants.TWO)){
+ dayList = DateUtil.getThisYearMonthList();//鏈勾鏈堜唤
+ }
+ List<PlatformJob> dataList = platformJobMapper.selectJoinList(PlatformJob.class,
+ new MPJLambdaWrapper<PlatformJob>()
+ .selectAs(PlatformJob::getId,PlatformJob::getId)
+ .selectAs(PlatformJob::getTotalNum,PlatformJob::getTotalNum)
+// .select("select sum(io_qty) from platform_wms_details a where a.isdeleted=0 and a.job_id=t.id",create_date)
+ .eq(PlatformJob::getIsdeleted,Constants.ZERO)
+ .apply(queryType==0,"to_days(create_date) >= to_days(now()) -7")
+ .apply(queryType==1,"year(create_date) = year(now()) and month(create_date) = month(now())")
+ .apply(queryType==2,"year(create_date) = year(now())"));
+ for (Date date : dayList) {
+ TransportMeasureVO data = new TransportMeasureVO();
+ data.setPlanDate(date);
+ data.setPlanTimes(0);
+ data.setPlanTaskNum(new BigDecimal(random.nextInt(0)));
+ data.setFinishTaskNum(new BigDecimal(0));
+ for(PlatformJob job :dataList){
+ if(queryType == 2){
+ if(DateUtil.formatDate(date,"yyyy-MM").equals(DateUtil.formatDate(job.getCreateDate(),"yyyy-MM"))){
+ data.setPlanTimes( data.getPlanTimes() +1);
+ data.setPlanTaskNum( data.getPlanTaskNum().add(Constants.formatBigdecimal(job.getTotalNum())));
+ if(Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.DONE.getKey())
+ ||Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.LEAVED.getKey())
+ ||Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey())){
+ //瀹屾垚鏁�
+ data.setFinishTaskNum( data.getFinishTaskNum().add(Constants.formatBigdecimal(job.getTotalNum())));
+ }
+ }
+ }else{
+ if(DateUtil.formatDate(date,"yyyy-MM-dd").equals(DateUtil.formatDate(job.getCreateDate(),"yyyy-MM-dd"))){
+ data.setPlanTimes( data.getPlanTimes() +1);
+ data.setPlanTaskNum( data.getPlanTaskNum().add(Constants.formatBigdecimal(job.getTotalNum())));
+ if(Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.DONE.getKey())
+ ||Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.LEAVED.getKey())
+ ||Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey())){
+ //瀹屾垚鏁�
+ data.setFinishTaskNum( data.getFinishTaskNum().add(Constants.formatBigdecimal(job.getTotalNum())));
+ }
+ }
+ }
+ }
+
+ list.add(data);
+ }
+ return list;
+ }
+ /**
+ * 銆愬洯鍖虹墿鏂欎腑蹇冭皟搴︺�戠湅鏉�-鏍规嵁杞︾墝鍙锋煡璇綔涓氫俊鎭拰鍚堝悓淇℃伅闆嗗悎
+ *
+ * @return
+ *
+ */
+ @Override
+ public CarsJobAndContractVO getCarsJobDetails(CarsJobAndContractDTO param){
+ CarsJobAndContractVO data = new CarsJobAndContractVO();
+ if(StringUtils.isBlank(param.getCarCode())){
+ return data;
+ }
+ PlatformJob job = platformJobMapper.selectJoinOne(PlatformJob.class,
+ new MPJLambdaWrapper<PlatformJob>()
+ .selectAll(PlatformJob.class)
+ .eq(PlatformJob::getIsdeleted,Constants.ZERO)
+ .eq(PlatformJob::getCarCodeFront,param.getCarCode())
+ .in(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey(),Constants.PlatformJobStatus.LEAVED.getKey(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey(),Constants.PlatformJobStatus.CALLED.getKey())
+ .last("limit 1"));
+ if(job!=null){
+ List<PlatformLog> logList = platformLogMapper.selectJoinList(PlatformLog.class,
+ new MPJLambdaWrapper<PlatformLog>()
+ .selectAll(PlatformLog.class)
+ .eq(PlatformLog::getIsdeleted,Constants.ZERO)
+ .eq(PlatformLog::getJobId,job.getId())
+ .orderByDesc(PlatformLog::getCreateDate));
+ data.setLogList(logList);
+ data.setName(job.getDriverName());
+ data.setPhone(job.getDrivierPhone());
+ data.setBillCode(job.getBillCode());
+ data.setTotalNum(Constants.formatBigdecimal(job.getTotalNum()));
+ data.setContractList(new ArrayList<>());
+ CarsContractVO tt = new CarsContractVO();
+ tt.setIoCode(job.getContractNum());
+ tt.setDetailList(new ArrayList<>());
+ data.getContractList().add(tt);
+
+ PlatformWmsJob wmsJob = platformWmsJobMapper.selectJoinOne(PlatformWmsJob.class,
+ new MPJLambdaWrapper<PlatformWmsJob>()
+ .selectAll(PlatformWmsJob.class)
+ .eq(PlatformWmsJob::getIsdeleted,Constants.ZERO)
+ .eq(PlatformWmsJob::getJobId,job.getId())
+ .last("limit 1"));
+ if(wmsJob!=null){
+ data.setName(wmsJob.getDriverName());
+ data.setPhone(wmsJob.getDriverPhone());
+ data.setBillCode(wmsJob.getCarryBillCode());
+ data.setContractList(new ArrayList<>());
+
+ List<PlatformWmsDetail> detailList = platformWmsDetailMapper.selectJoinList(PlatformWmsDetail.class,
+ new MPJLambdaWrapper<PlatformWmsDetail>()
+ .selectAll(PlatformWmsDetail.class)
+ .eq(PlatformWmsDetail::getIsdeleted,Constants.ZERO)
+ .eq(PlatformWmsDetail::getWmsJobId,wmsJob.getId())
+ .orderByDesc(PlatformLog::getCreateDate));
+ if(detailList!=null){
+ for(PlatformWmsDetail d : detailList){
+ if(!isNotExistIocode(d.getIocode(),data.getContractList())){
+ continue;
+ }
+ tt = new CarsContractVO();
+ tt.setIoCode(d.getIocode());
+ tt.setAddress(d.getRepertotyAddress());
+ tt.setDetailList(getDetailListByCode(d.getIocode(),detailList,tt));
+ data.getContractList().add(tt);
+ data.getTotalNum().add(Constants.formatBigdecimal(tt.getTotalNum()));//鎬昏繍杈撻噺
+ }
+ }
+ }
+
+ }
+
+
+ return data;
+
+ }
+
+ private List<PlatformWmsDetail> getDetailListByCode(String iocode, List<PlatformWmsDetail> detailList,CarsContractVO tt) {
+ List<PlatformWmsDetail> list = new ArrayList<>();
+ BigDecimal total = new BigDecimal(0);
+ if(detailList!=null){
+ for(PlatformWmsDetail d :detailList){
+ if(StringUtils.equals(d.getIocode(),iocode)){
+ list.add(d);
+ total.add(Constants.formatBigdecimal(d.getIoQty()));
+ }
+ }
+ }
+ tt.setTotalNum(total);
+ return list;
+ }
+
+ private boolean isNotExistIocode(String iocode, List<CarsContractVO> detailList) {
+ if(detailList!=null){
+ for(CarsContractVO d :detailList){
+ if(StringUtils.equals(d.getIoCode(),iocode)){
+ return true;
+ }
+ }
+ }
+
+ return false;
+ }
+
/**
* 銆愭秷闃茬鎺с�戠湅鏉�-鍛婅淇℃伅闆嗗悎
*
@@ -534,6 +744,236 @@
AlarmDataVO alarmDataVO = getAlertDataByStartEndTime(DateUtil.getPlusTime2(DateUtil.addDaysToDate(new Date(),-1))
,(DateUtil.getPlusTime2(new Date())));
return alarmDataVO;
+ }
+
+ /**
+ * 鏌ヨ鏈湀 鏈勾鐨勭疮璁″嚭搴撻噺缁熻鏁版嵁,鍑哄簱浠诲姟銆佸叆搴撲换鍔¢噺
+ * @return
+ */
+ @Override
+ public PlatformJobRunBoardNewVO platformJobCenterData(){
+ PlatformJobRunBoardNewVO data = new PlatformJobRunBoardNewVO();
+ Random random = new Random();
+
+ data.setMonthOutTimes(random.nextInt(1000));
+ data.setYearOutTimes(random.nextInt(1000) * 11);
+
+ Date month = Utils.Date.getStart(new Date());//鏈湀
+ Date lastMonth = DateUtil.addMonthToDate(month,-1);//涓婃湀
+ Date year = Utils.Date.getStart(new Date());//浠婂勾
+ Date lastYear = DateUtil.addYearToDate(year,-1);//鍘诲勾
+
+ List<PlatformJob> monthNum = platformJobMapper.selectJoinList(PlatformJob.class,
+ new MPJLambdaWrapper<PlatformJob>()
+ .selectAs(PlatformJob::getId,PlatformJob::getId)
+ .select(PlatformJob::getTotalNum,PlatformJob::getTotalNum)
+// .select("select sum(io_qty) from platform_wms_details a where a.isdeleted=0 and a.job_id=t.id",create_date)
+ .eq(PlatformJob::getIsdeleted,Constants.ZERO)
+// .in(PlatformJob::getType,Constants.ONE,Constants.THREE)
+ .in(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey(),Constants.PlatformJobStatus.LEAVED.getKey(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey())
+ .apply("year(create_date) = year("+DateUtil.getPlusTime2(month)+") and month(create_date) = month("+DateUtil.getPlusTime2(month)+") and to_days(create_date)<= "+DateUtil.getPlusTime2(month)));
+ List<PlatformJob> monthLastNum = platformJobMapper.selectJoinList(PlatformJob.class,
+ new MPJLambdaWrapper<PlatformJob>()
+ .selectAs(PlatformJob::getId,PlatformJob::getId)
+// .select("select sum(io_qty) from platform_wms_details a where a.isdeleted=0 and a.job_id=t.id",create_date)
+ .eq(PlatformJob::getIsdeleted,Constants.ZERO)
+ .in(PlatformJob::getType,Constants.ONE,Constants.THREE)
+ .in(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey(),Constants.PlatformJobStatus.LEAVED.getKey(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey())
+ .apply("year(create_date) = year("+DateUtil.getPlusTime2(lastMonth)+") and month(create_date) = month("+DateUtil.getPlusTime2(lastMonth)+") and to_days(create_date)<= "+DateUtil.getPlusTime2(lastMonth)));
+ List<PlatformJob> yearNum = platformJobMapper.selectJoinList(PlatformJob.class,
+ new MPJLambdaWrapper<PlatformJob>()
+ .selectAs(PlatformJob::getId,PlatformJob::getId)
+ .select(PlatformJob::getTotalNum,PlatformJob::getTotalNum)
+ .selectCount(PlatformJob::getPlatformId,PlatformJob::getCountum)
+// .select("select sum(io_qty) from platform_wms_details a where a.isdeleted=0 and a.job_id=t.id",create_date)
+ .eq(PlatformJob::getIsdeleted,Constants.ZERO)
+ .in(PlatformJob::getType,Constants.ONE,Constants.THREE)
+ .in(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey(),Constants.PlatformJobStatus.LEAVED.getKey(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey())
+ .apply("year(create_date) = year("+DateUtil.getPlusTime2(year)+") and to_days(create_date)<= "+DateUtil.getPlusTime2(year)));
+ List<PlatformJob> yearLastNum = platformJobMapper.selectJoinList(PlatformJob.class,
+ new MPJLambdaWrapper<PlatformJob>()
+ .selectAs(PlatformJob::getId,PlatformJob::getId)
+ .select(PlatformJob::getTotalNum,PlatformJob::getTotalNum)
+// .select("select sum(io_qty) from platform_wms_details a where a.isdeleted=0 and a.job_id=t.id",create_date)
+ .eq(PlatformJob::getIsdeleted,Constants.ZERO)
+ .in(PlatformJob::getType,Constants.ONE,Constants.THREE)
+ .in(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey(),Constants.PlatformJobStatus.LEAVED.getKey(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey())
+ .apply("year(create_date) = year("+DateUtil.getPlusTime2(lastYear)+") and to_days(create_date)<= "+DateUtil.getPlusTime2(lastYear)));
+
+ data.setMonthOutTotal(getSumTotalByList(monthNum,0,null));//鏈湀鍑哄簱閲�
+ data.setMonthLastOutTotal(getSumTotalByList(monthLastNum,null,null) );//涓婃湁鍑哄簱閲�
+ data.setYearOutTotal(getSumTotalByList(yearNum,null,null) );//鏈勾鍑哄簱閲�
+ data.setYearLastOutTotal(getSumTotalByList(yearLastNum,null,null) );//鍘诲勾鍑哄簱閲�
+ data.setMonthOutTimes(monthNum!=null?monthNum.size():0);
+ data.setYearOutTimes(yearNum!=null?yearNum.size():0);
+
+ //==========浠婂ぉ涔嬪墠鏈畬鎴愬嚭鍏ュ簱浠诲姟
+ List<PlatformJob> beforeJobNum = platformJobMapper.selectJoinList(PlatformJob.class,
+ new MPJLambdaWrapper<PlatformJob>()
+ .selectAs(PlatformJob::getId,PlatformJob::getId)
+ .selectAs(PlatformJob::getStatus,PlatformJob::getStatus)
+ .selectAs(PlatformJob::getType,PlatformJob::getType)
+ .select(PlatformJob::getTotalNum,PlatformJob::getTotalNum)
+// .select("select sum(io_qty) from platform_wms_details a where a.isdeleted=0 and a.job_id=t.id",create_date)
+ .eq(PlatformJob::getIsdeleted,Constants.ZERO)
+ .notIn(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey(),Constants.PlatformJobStatus.LEAVED.getKey(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey(),Constants.PlatformJobStatus.CALLED.getKey())
+ .apply(" and to_days(create_date) <to_days(now())"));
+
+ //==========浠婂ぉ鍑哄叆搴撲换鍔�
+ List<PlatformJob> currentNum = platformJobMapper.selectJoinList(PlatformJob.class,
+ new MPJLambdaWrapper<PlatformJob>()
+ .selectAs(PlatformJob::getId,PlatformJob::getId)
+ .selectAs(PlatformJob::getStatus,PlatformJob::getStatus)
+ .selectAs(PlatformJob::getType,PlatformJob::getType)
+ .select(PlatformJob::getTotalNum,PlatformJob::getTotalNum)
+// .select("select sum(io_qty) from platform_wms_details a where a.isdeleted=0 and a.job_id=t.id",create_date)
+ .eq(PlatformJob::getIsdeleted,Constants.ZERO)
+ .notIn(PlatformJob::getStatus,Constants.PlatformJobStatus.CALLED.getKey())
+ .apply("year(create_date) = year("+DateUtil.getPlusTime2(lastYear)+") and to_days(create_date)<= "+DateUtil.getPlusTime2(lastYear)));
+
+ BigDecimal beforeOutNum = (getSumTotalByList(beforeJobNum,0,null));//浠婂ぉ涔嬪墠鏈畬鎴愬嚭搴撲换鍔�
+ BigDecimal currentOutNum = (getSumTotalByList(currentNum,0,null));//浠婂ぉ涓嬪彂鍑哄簱浠诲姟
+ BigDecimal beforeInNum = (getSumTotalByList(beforeJobNum,1,null));//浠婂ぉ涔嬪墠鏈畬鎴愬叆搴撲换鍔�
+ BigDecimal currentInNum = (getSumTotalByList(currentNum,1,null));//浠婂ぉ涓嬪彂鍏ュ簱浠诲姟
+ data.setCurrentInNum(beforeInNum.add(currentInNum));//褰撳墠鍏ュ簱鎬讳换鍔℃垚閲�
+ data.setCurrentOutNum(beforeOutNum.add(currentOutNum));//褰撳墠鍑哄簱鎬讳换鍔℃垚閲�
+ data.setCurrentInDoneNum(getSumTotalByList(currentNum,0,1));//浠婃棩瀹屾垚閲�
+ data.setCurrentOutDoneNum(getSumTotalByList(currentNum,1,1));//浠婃棩瀹屾垚閲�
+
+ //------------浠婃棩鍑哄叆搴撴晥鐜�----------------
+ BigDecimal outHours = getTotalDoneTimes(currentNum,0);//
+ BigDecimal inHours = getTotalDoneTimes(currentNum,1);//
+ if(outHours.compareTo(new BigDecimal(0))>0){
+ data.setTodayOutRate(data.getCurrentOutDoneNum().divide(outHours,2));//褰撳墠鍏ュ簱鎬讳换鍔℃垚閲�
+ }
+ if(inHours.compareTo(new BigDecimal(0))>0){
+ data.setTodayInRate(data.getCurrentInDoneNum().divide(inHours,2));//褰撳墠鍏ュ簱鎬讳换鍔℃垚閲�
+ }
+ //------------鏈湀鍑哄叆搴撴晥鐜�----------------
+ BigDecimal outMonthNum = getSumTotalByList(monthNum,0,null).add(data.getCurrentOutDoneNum());
+ BigDecimal inMonthNum = getSumTotalByList(monthNum,1,null).add(data.getCurrentInDoneNum());
+ BigDecimal outYearHours = getTotalDoneTimes(yearNum,0).add(outHours);//
+ BigDecimal inYearHours = getTotalDoneTimes(yearNum,1).add(inHours);//
+ if(outYearHours.compareTo(new BigDecimal(0))>0){
+ data.setMonthOutRate(outMonthNum.divide(outYearHours,2));//鏈湀鍏ュ簱鏁堢巼
+ }
+ if(inYearHours.compareTo(new BigDecimal(0))>0){
+ data.setMonthInRate(inMonthNum.divide(inYearHours,2));//鏈湀鍏ュ簱鏁堢巼
+ }
+ return data;
+ }
+
+
+ private BigDecimal getDoneHoursByData(String start ,String end) {
+ List<PlatformLog> platformLogList = platformLogMapper.selectList(new QueryWrapper<PlatformLog>().lambda()
+ .apply("create_date >= '"+start+"' and create_date <= '"+end+"'")
+ .isNotNull(PlatformLog::getParam3)
+ .ne(PlatformLog::getParam3,Constants.ZERO+""));
+ if(platformLogList!=null && platformLogList.size()>0){
+ return new BigDecimal((double)(platformLogList.stream().map(m->Long.valueOf(m.getParam3())).reduce(Long.valueOf(0),Long::sum))/(double)60);
+ }
+
+ return new BigDecimal(0);
+
+ }
+ private BigDecimal getTotalDoneTimes(List<PlatformJob> list, Integer type) {
+ BigDecimal r = new BigDecimal(0);
+ if(list==null || list.size() == 0){
+ return r;
+ }
+ List<Integer> jobIds= new ArrayList<>();
+ for(PlatformJob job : list){
+ if( !(Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.DONE.getKey())
+ ||Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.LEAVED.getKey())
+ ||Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey()))){
+ //鍙煡璇㈠畬鎴愭暟鎹�
+ continue;
+ }
+ if(type !=null &&type ==0 && (Constants.equalsInteger(job.getType(),Constants.ONE) ||Constants.equalsInteger(job.getType(),Constants.THREE))){
+ //鍑哄簱
+ jobIds.add(job.getId());
+ }
+ if(type !=null &&type ==1 && (Constants.equalsInteger(job.getType(),Constants.ZERO) ||Constants.equalsInteger(job.getType(),Constants.TWO)||Constants.equalsInteger(job.getType(),Constants.FOUR))){
+ //鍏ュ簱
+ jobIds.add(job.getId());
+ }
+ }
+ if(jobIds.size()>0){
+ //澶勭悊浣滀笟鏃堕暱
+ List<PlatformLog> platformLogList = platformLogMapper.selectList(new QueryWrapper<PlatformLog>().lambda()
+ .in(PlatformLog::getJobId,jobIds)
+ .isNotNull(PlatformLog::getParam3)
+ .ne(PlatformLog::getParam3,Constants.ZERO+""));
+ if(platformLogList!=null && platformLogList.size()>0){
+ return new BigDecimal((double)(platformLogList.stream().map(m->Long.valueOf(m.getParam3())).reduce(Long.valueOf(0),Long::sum))/(double)60);
+ }
+ }
+ return r;
+ }
+
+ private BigDecimal getSumTotalByList(List<PlatformJob> list,Integer type,Integer status) {
+ BigDecimal r = new BigDecimal(0);
+ if(list==null || list.size() == 0){
+ return r;
+ }
+ for(PlatformJob job : list){
+
+ if(type !=null &&type ==0 && !(Constants.equalsInteger(job.getType(),Constants.ONE) ||Constants.equalsInteger(job.getType(),Constants.THREE))){
+ continue;
+ }
+ if(type !=null &&type ==1 && !(Constants.equalsInteger(job.getType(),Constants.ZERO) ||Constants.equalsInteger(job.getType(),Constants.TWO)||Constants.equalsInteger(job.getType(),Constants.FOUR))){
+ continue;
+ }
+ if(status !=null &&status ==1 && !(Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.DONE.getKey())
+ ||Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.LEAVED.getKey())
+ ||Constants.equalsInteger(job.getStatus(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey()))){
+ continue;
+ }
+// if(Constants.formatBigdecimal(job.getIoQty()).compareTo(new BigDecimal(0)) >0){
+// r.add( job.getIoQty());
+// }else{
+ r.add(Constants.formatBigdecimal(job.getTotalNum()));
+// }
+ }
+ return Constants.formatBigdecimal0Float(r);
+ }
+
+ @Override
+ public BoardCarsListVO platformJobCarsList(){
+ BoardCarsListVO data = new BoardCarsListVO();
+ List<CarsDeviceDetaisResponse> detaisResponses = HKCarOpenService.getAllCarsDetais();
+ data.setCarsList(detaisResponses);
+ if(data.getCarsList()!=null && data.getCarsList().size()>0){
+ List<String> codes = new ArrayList<>();
+ //璁惧鐘舵�� 0锛氱绾匡紱1锛氬湪绾匡紱2锛氫紤鐪�
+ int online = 0;
+ for(CarsDeviceDetaisResponse model:detaisResponses){
+ if(Constants.equalsInteger(model.getStatus(),Constants.ONE) ||Constants.equalsInteger(model.getStatus(),Constants.TWO)){
+ //濡傛灉鏄湪绾挎垨鑰呬紤鐪狅紝鏌ヨ鍦ㄩ�旇繕鏄┖闂�
+ codes.add(model.getPlateNum());
+ }else
+ data.setOfflineNum(data.getOfflineNum()+1);
+ }
+ if(codes.size()>0){
+ //鐘舵�� 0寰呯‘璁� 1寰呯鍒� 2绛夊緟鍙彿 3鍏ュ洯绛夊緟 4宸插彨鍙� 5浣滀笟涓� 6浣滀笟瀹屾垚 7杞Щ涓� 8寮傚父鎸傝捣 9宸叉巿鏉冪鍥� 10宸茬鍥� 11 宸茶繃鍙� 12鍙栨秷锛圵MS锛�
+ long busyNum = platformJobMapper.selectCount(new QueryWrapper<PlatformJob>().lambda()
+ .eq(PlatformJob::getIsdeleted,Constants.ZERO)
+ .in(PlatformJob::getCarCodeFront,codes)
+ .in(PlatformJob::getStatus,Constants.PlatformJobStatus.WORKING.getKey()
+ ,Constants.PlatformJobStatus.WAIT_CALL.getKey()
+ ,Constants.PlatformJobStatus.CALLED.getKey()
+ ,Constants.PlatformJobStatus.IN_WAIT.getKey()
+ ,Constants.PlatformJobStatus.TRANSFERING.getKey()
+ ,Constants.PlatformJobStatus.WART_SIGN_IN.getKey()
+ ,Constants.PlatformJobStatus.WAIT_CONFIRM.getKey()
+ ,Constants.PlatformJobStatus.EXCEPTION.getKey())
+ .groupBy(PlatformJob::getCarCodeFront));
+ data.setBusyNum((int)busyNum);//鍦ㄩ�旀湁浠诲姟鏁伴噺
+ data.setIdleNum(codes.size() -data.getBusyNum());//鏃犱换鍔$┖闂叉暟閲�
+ }
+ }
+
+ return data;
}
public static AlarmDataVO getAlertDataByStartEndTime(String start,String end){
@@ -615,12 +1055,12 @@
data.setDeviceTypeList(list);
Long totalNum =hiddenDangerMapper.selectCount(new QueryWrapper<HiddenDanger>().lambda()
.eq(HiddenDanger::getIsdeleted,Constants.ZERO )
- .apply("to_day(create_data) = to_days(now())" ) );
+ .apply("to_days(create_date) = to_days(now())" ) );
data.setDangerTotalNum(totalNum !=null?totalNum.intValue():0);//浠婃棩闅愭偅鏁伴噺
totalNum =hiddenDangerMapper.selectCount(new QueryWrapper<HiddenDanger>().lambda()
.eq(HiddenDanger::getIsdeleted,Constants.ZERO )
.in(HiddenDanger::getStatus,Constants.ONE,Constants.TWO )
- .apply("to_day(check_date) = to_days(now())" ) );
+ .apply("to_days(check_date) = to_days(now())" ) );
data.setDangerDealedNum(totalNum !=null?totalNum.intValue():0);//浠婃棩澶勭悊闅愭偅鏁伴噺
return data;
}
@@ -1065,7 +1505,7 @@
List<WorkEfficiencyVO> workEfficiencyVOList = new ArrayList<>();
List<PlatformJob> jobList = platformJobMapper.selectJoinList(PlatformJob.class, new MPJLambdaWrapper<PlatformJob>()
.selectAll( PlatformJob.class)
- .select("(select sum(ifnull(a.io_qty,0)) from platform_wms_detail a where a.isdeleted=0 and a.job_id =t.id )", PlatformJob::getIoQty)
+// .select("(select sum(ifnull(a.io_qty,0)) from platform_wms_detail a where a.isdeleted=0 and a.job_id =t.id )", create_date)
.apply("to_days(t.create_date) = to_days(now())")
.eq(Platform::getIsdeleted, Constants.ZERO)
.in(PlatformJob::getStatus, Constants.PlatformJobStatus.DONE.getKey()
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/WmsServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/WmsServiceImpl.java
index d6ce594..cc451b8 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/WmsServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/WmsServiceImpl.java
@@ -12,6 +12,8 @@
import com.doumee.core.wms.model.response.WmsBaseDataResponse;
import com.doumee.core.wms.model.response.WmsBaseResponse;
import com.doumee.core.wms.model.response.WmsInventoryDataResponse;
+import com.doumee.core.wx.wxPlat.WxPlatConstants;
+import com.doumee.core.wx.wxPlat.WxPlatNotice;
import com.doumee.dao.business.*;
import com.doumee.dao.business.dao.SmsConfigMapper;
import com.doumee.dao.business.dao.SmsEmailMapper;
@@ -28,6 +30,7 @@
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
+import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
@@ -63,6 +66,8 @@
private EmayService emayService;
@Autowired
private RetentionMapper retentionMapper;
+ @Autowired
+ private WxNoticeConfigMapper wxNoticeConfigMapper;
/**
* 鍏ュ簱閫氱煡浠诲姟涓氬姟澶勭悊
* @param job 鍙傛暟
@@ -261,6 +266,7 @@
job.setPlateNumber(param.getPlateNumber());
job.setType(Constants.ZERO);
job.setIoCreatedate(param.getCreateDate());
+// job.setOrigin(Constants.ONE);
job.setJobId(model.getId());
job.setDriverPhone(param.getDriverPhone());
platformWmsJobMapper.insert(job);
@@ -316,7 +322,22 @@
emayService,smsEmailMapper,smsConfigMapper,platformJobMapper,job.getId(),
SmsConstants.platformJobContent.platformJobNewJob,null,null
);
+ //鏌ヨ鍙告満淇℃伅 鍙戦�佸叕浼楀彿閫氱煡
+ if(Objects.nonNull(job.getDriverId())){
+ Member member = memberMapper.selectOne(new QueryWrapper<Member>().lambda().eq(Member::getPhone,job.getDriverId()));
+ if(Objects.nonNull(member) && StringUtils.isNotBlank(member.getOpenid())){
+ WxPlatNotice wxPlatNotice = new WxPlatNotice();
+ wxPlatNotice.sendWmsTemplateNotice(
+ wxNoticeConfigMapper,job,
+ WxPlatConstants.platformJobContent.platformJobNewJob,
+ systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
+ Arrays.asList(member.getOpenid().split(","))
+ );
+ }
+ }
}
+
+
}
}
@@ -331,6 +352,7 @@
job.setCarCodeFront(param.getPlateNumber());
job.setDrivierPhone(param.getDriverPhone());
job.setDriverName(param.getDriverName());
+ job.setOrigin(Constants.ONE);
//澶勭悊浣滀笟鐨勮溅杈嗐�佸徃鏈恒�佹湀鍙扮粍鍏宠仈鍏崇郴锛屽嵏璐�
dealCarPlatformAndDriverInfo(job,0);
// platformJobMapper.insert(job);
@@ -399,6 +421,7 @@
job.setCarCodeFront(param.getPlateNumber());
job.setDrivierPhone(param.getDriverPhone());
job.setDriverName(param.getDriverName());
+ job.setOrigin(Constants.ONE);
//澶勭悊浣滀笟鐨勮溅杈嗐�佸徃鏈恒�佹湀鍙扮粍鍏宠仈鍏崇郴锛岃璐�
dealCarPlatformAndDriverInfo(job,1);
return job;
@@ -416,6 +439,7 @@
return returnFailReuslt("璇锋眰鍙傛暟涓嶆纭紝鍙傛暟涓嶈兘涓虹┖");
}
List<PlatformJob> jobList = new ArrayList<>();
+ List<Integer> jobIdList = new ArrayList<>();
List<PlatformWmsDetail> details = new ArrayList<>();
List<String> iocodeList = new ArrayList<>();
for(WmsOutboundNoticeRequest param : list.getData()){
@@ -450,9 +474,10 @@
job.setContractNum(param.getContractNum());
job.setDriverPhone(param.getDriverPhone());
job.setDriverName(param.getDriverName());
+// job.setOrigin(Constants.ONE);
platformWmsJobMapper.insert(job);
- jobList.add(model);
}
+ jobIdList.add(job.getId());
if(param.getDetails()!=null && param.getDetails().size()>0){
for(WmsOutboundDetailRequest d :param.getDetails()){
PlatformWmsDetail entity = new PlatformWmsDetail();
@@ -462,6 +487,7 @@
entity.setJobId(job.getJobId());
entity.setWmsJobId(job.getId());
entity.setIoQty(d.getIoQty());
+ entity.setRepertotyAddress(job.getRepertotyAddress());
entity.setWmsJobId(job.getId());
entity.setStatus(Constants.ZERO);
entity.setRate(d.getRate());
@@ -478,12 +504,14 @@
.in(PlatformWmsDetail::getIocode,iocodeList)
);
}
+ jobIdList.add(job.getId());
}
}
if(details.size()>0){
platformWmsDetailMapper.insert(details);
}
if(jobList.size()>0){
+ list.setJobIdList(jobIdList);
startEndNoticeToDriver(jobList);
}
}catch (Exception e){
@@ -537,12 +565,29 @@
.set(PlatformJob::getStatus,Constants.PlatformJobStatus.CANCEL.getKey())
.in(PlatformJob::getId,setJobIds)
);
+
for (Integer jobId:setJobIds
) {
+ //鐭俊閫氱煡
SmsEmailServiceImpl.sendPlatformJobSms(systemDictDataBiz,
emayService,smsEmailMapper,smsConfigMapper,platformJobMapper,jobId,
SmsConstants.platformJobContent.platformJobStopJob,null,null
);
+ //鍏紬鍙烽�氱煡鍙告満 浠诲姟鍙栨秷
+ PlatformJob job = platformJobMapper.selectById(jobId);
+ if(Objects.nonNull(job)){
+ Member member = memberMapper.selectById(job.getDriverId());
+ if(Objects.nonNull(member) && StringUtils.isNotBlank(member.getOpenid())){
+ WxPlatNotice wxPlatNotice = new WxPlatNotice();
+ wxPlatNotice.sendWmsCancelTemplateNotice(
+ wxNoticeConfigMapper,job,
+ WxPlatConstants.platformJobContent.platformJobCancel,
+ systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
+ Arrays.asList(member.getOpenid().split(","))
+ );
+ }
+ }
+
}
}
}
@@ -603,6 +648,21 @@
emayService,smsEmailMapper,smsConfigMapper,platformJobMapper,jobId,
SmsConstants.platformJobContent.platformJobStopJob,null,null
);
+
+ //鍏紬鍙烽�氱煡鍙告満 浠诲姟鍙栨秷
+ PlatformJob job = platformJobMapper.selectById(jobId);
+ if(Objects.nonNull(job)){
+ Member member = memberMapper.selectById(job.getDriverId());
+ if(Objects.nonNull(member) && StringUtils.isNotBlank(member.getOpenid())){
+ WxPlatNotice wxPlatNotice = new WxPlatNotice();
+ wxPlatNotice.sendWmsCancelTemplateNotice(
+ wxNoticeConfigMapper,job,
+ WxPlatConstants.platformJobContent.platformJobCancel,
+ systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
+ Arrays.asList(member.getOpenid().split(","))
+ );
+ }
+ }
}
}
}
@@ -615,6 +675,33 @@
return returnSuccessReuslt(null);
}
/**
+ * 澶勭悊浣滀笟琛屾暟鎹殑杩愯緭鎬婚噺淇℃伅
+ * @param jobList 鍙傛暟
+ * @return
+ */
+ @Override
+ public void computjobTotalNum(List<Integer> jobList) {
+ if(jobList==null || jobList.size()==0){
+ return;
+ }
+ for(Integer jobId : jobList){
+ BigDecimal num = new BigDecimal(0);
+ List<PlatformWmsDetail> details = platformWmsDetailMapper.selectList( new QueryWrapper<PlatformWmsDetail>().lambda()
+ .eq(PlatformWmsDetail::getJobId,jobId)
+ .eq(PlatformWmsDetail::getIsdeleted, Constants.ZERO));
+ if(details!=null && details.size()>0){
+ for(PlatformWmsDetail d :details){
+ num.add(Constants.formatBigdecimal(d.getIoQty()));
+ }
+ platformJobMapper.update(null,new UpdateWrapper<PlatformJob>().lambda()
+ .set(PlatformJob::getTotalNum,num)
+ .eq(PlatformJob::getOrigin, Constants.ZERO)
+ .eq(PlatformJob::getId, jobId));
+ }
+
+ }
+ }
+ /**
* 浣滀笟瀹屾垚閫氱煡浠诲姟涓氬姟澶勭悊
* @param list 鍙傛暟
* @return
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/third/BoardService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/third/BoardService.java
index fe0d750..9d9bde7 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/third/BoardService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/third/BoardService.java
@@ -4,14 +4,8 @@
import com.doumee.core.haikang.model.param.respose.PageRegionInfoResponse;
import com.doumee.core.haikang.model.param.respose.PageSensorStatusResponse;
import com.doumee.core.haikang.model.param.respose.RegionEnergyListResponse;
-import com.doumee.core.tms.model.request.TmsLockStatusQueryRequest;
-import com.doumee.core.tms.model.request.TmsOrderInfoRequest;
-import com.doumee.core.tms.model.request.TmsOrderListRequest;
-import com.doumee.core.tms.model.response.TmsBaseResponse;
-import com.doumee.core.tms.model.response.TmsLockStatusQueryResponse;
-import com.doumee.core.tms.model.response.TmsOrderInfoResponse;
-import com.doumee.core.tms.model.response.TmsOrderListResponse;
import com.doumee.dao.business.model.PlatformWarnEvent;
+import com.doumee.dao.web.reqeust.CarsJobAndContractDTO;
import com.doumee.dao.web.response.platformReport.*;
import java.util.List;
@@ -81,4 +75,14 @@
List<AlarmDataVO> fightingAlarmHandleData();
List<MonitorDataVO> monitorDataList();
+
+ BoardCarsListVO platformJobCarsList();
+
+ PlatformJobRunBoardNewVO platformJobCenterData();
+
+ CarsJobAndContractVO getCarsJobDetails(CarsJobAndContractDTO param);
+
+ List<TransportMeasureVO> transportMeasure(Integer queryType);
+
+ BoardStockListVO stockList();
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/third/WmsService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/third/WmsService.java
index ff305ea..ee20ede 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/third/WmsService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/third/WmsService.java
@@ -5,6 +5,7 @@
import com.doumee.core.wms.model.request.WmsInboundNoticeRequest;
import com.doumee.core.wms.model.request.WmsOutboundNoticeRequest;
import com.doumee.core.wms.model.response.WmsBaseResponse;
+import com.doumee.core.wms.model.response.WmsInventoryDataResponse;
import com.doumee.dao.business.model.PlatformJob;
import java.util.List;
@@ -21,7 +22,7 @@
* @return WmsBaseResponse
*/
WmsBaseResponse orderPlatformBind(PlatformJob job);
- WmsBaseResponse getInventoryList();
+ WmsBaseResponse<WmsInventoryDataResponse> getInventoryList();
void saveInterfaceLog(String url,String name,String param,Integer success,String respone,int type);
/**
* 鍏ュ簱鍗曟壒閲忛�氱煡
@@ -57,4 +58,5 @@
WmsBaseResponse doneTask(WmsBaseRequest<WmsActionNoticeRequest> list);
+ void computjobTotalNum(List<Integer> jobList);
}
diff --git a/server/visits/openapi/src/main/resources/application.yml b/server/visits/openapi/src/main/resources/application.yml
index 96b89ae..a69bc7c 100644
--- a/server/visits/openapi/src/main/resources/application.yml
+++ b/server/visits/openapi/src/main/resources/application.yml
@@ -36,7 +36,7 @@
cache:
session:
# 浼氳瘽杩囨湡鏃堕暱(s)
- expire: 18000
+ expire: 1800
captcha:
# 楠岃瘉鐮佽繃鏈熸椂闀�(s)
expire: 300
--
Gitblit v1.9.3