From 6e78d2b1b00eceac3ee6222b713f749e21428f9a Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期一, 30 十月 2023 09:09:07 +0800
Subject: [PATCH] Merge branch 'dev' of http://139.186.142.91:10010/r/productDev/parkBike into dev
---
server/services/src/main/java/com/doumee/service/business/impl/SitesServiceImpl.java | 33 +++++
admin/src/components/system/user/OperaUserWindow.vue | 9
server/services/src/main/java/com/doumee/service/business/impl/RefundServiceImpl.java | 9 +
server/services/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java | 5
admin/src/views/business/bikeLocation.vue | 33 ++++-
admin/src/views/business/goodsorder.vue | 6
admin/src/components/business/billDetail.vue | 12 +-
server/services/src/main/java/com/doumee/service/business/SitesService.java | 4
admin/src/api/business/bikeRepair.js | 2
admin/src/views/business/wxBillDetail.vue | 15 ++
server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java | 11 +
admin/src/views/business/memberRides.vue | 3
admin/src/views/business/bikeRetakeRecord.vue | 3
admin/src/components/business/RepairDetailWindow.vue | 4
admin/src/views/business/sites.vue | 8
admin/src/views/system/user.vue | 21 +--
server/services/src/main/java/com/doumee/dao/business/web/response/BikeLogDTO.java | 6
admin/.env.development | 4
server/platform/src/main/java/com/doumee/config/shiro/ShiroRealm.java | 2
admin/src/components/business/OperaPriceConfigWindow.vue | 47 ++++++-
admin/src/views/business/bikeRepair.vue | 6
admin/src/views/business/sitesBike.vue | 6
admin/src/components/business/OperaSitesWindow.vue | 4
admin/src/views/business/wxBill.vue | 31 +++-
server/platform/src/main/java/com/doumee/task/ScheduleTool.java | 20 +++
server/services/src/main/java/com/doumee/dao/business/model/Goodsorder.java | 7
admin/src/views/business/backgroundRefund.vue | 11 -
admin/src/components/business/backGoodsorderWindow.vue | 15 +
server/services/src/main/java/com/doumee/dao/business/vo/GoodsorderExportVO.java | 2
server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java | 9 +
30 files changed, 246 insertions(+), 102 deletions(-)
diff --git a/admin/.env.development b/admin/.env.development
index bbc103c..12a9035 100644
--- a/admin/.env.development
+++ b/admin/.env.development
@@ -7,10 +7,10 @@
#鐒︽澗鏈湴
# http://192.168.0.36:10012/doc.html#/home
-VUE_APP_API_BASE_URL='http://192.168.0.188:10026'
+VUE_APP_API_BASE_URL='http://192.168.0.190:10026'
# # 娴嬭瘯鏈嶅姟
# VUE_APP_API_PREFIX='/bike_admin_api'
# # 鍚庣鎺ュ彛鍦板潃锛歨ttps://dmtest.ahapp.net/bike_admin_api/doc.html
-# VUE_APP_API_BASE_URL='https://dmtest.ahapp.net/bike_admin_api'
+VUE_APP_API_BASE_URL='https://dmtest.ahapp.net/bike_admin_api'
diff --git a/admin/src/api/business/bikeRepair.js b/admin/src/api/business/bikeRepair.js
index 2a3f99f..1bf80c4 100644
--- a/admin/src/api/business/bikeRepair.js
+++ b/admin/src/api/business/bikeRepair.js
@@ -14,5 +14,5 @@
// 淇敼
export function getFileList (id) {
- return request.post(`/business/bikeRepair/getFileList/${id}`)
+ return request.get(`/business/bikeRepair/getFileList/${id}`)
}
diff --git a/admin/src/components/business/OperaPriceConfigWindow.vue b/admin/src/components/business/OperaPriceConfigWindow.vue
index 0015476..88b841f 100644
--- a/admin/src/components/business/OperaPriceConfigWindow.vue
+++ b/admin/src/components/business/OperaPriceConfigWindow.vue
@@ -11,7 +11,7 @@
<el-form-item label="杞﹀瀷鍚嶇О" prop="bikeTypeName">
{{ form.bikeTypeName }}
</el-form-item>
- <el-form-item label="宸ヤ綔鏃ヨ璐�">
+ <el-form-item label="宸ヤ綔鏃ヨ璐�" prop="base">
<el-select v-model="form.baseType" @change="selectBaseType">
<el-option
v-for="item in priceType"
@@ -35,7 +35,7 @@
</div>
</div>
</el-form-item>
- <el-form-item label="鑺傚亣鏃ヨ璐�">
+ <el-form-item label="鑺傚亣鏃ヨ璐�" prop="holiday">
<el-select v-model="form.holidayBaseType" @change="selectHolidayBaseType">
<el-option
v-for="item in priceType"
@@ -68,12 +68,45 @@
import GlobalAlertWindow from '@/components/common/GlobalAlertWindow'
import { updatePricingDetailById } from '@/api/business/pricingParam'
// import { findList } from '@/api/business/roomTime'
-import { numRule } from '@/utils/form'
export default {
name: 'OperaPriceConfigWindow',
extends: BaseOpera,
components: { GlobalAlertWindow },
data () {
+ const baseRule = (rule, value, callback) => {
+ if (this.form.baseType==1) {
+ if (!this.form.basePrice || this.form.basePrice<0) {
+ callback(new Error())
+ } else {
+ callback()
+ }
+ } else {
+ if (!this.form.basePrice || this.form.basePrice<0 || !this.form.baseTime || this.form.baseTime <0
+ || !this.form.unitPrice || this.form.unitPrice<0 || !this.form.unitTime || this.form.unitTime <0
+ ) {
+ callback(new Error())
+ } else {
+ callback()
+ }
+ }
+ }
+ const holidayRule = (rule, value, callback) => {
+ if (this.form.holidayBaseType==1) {
+ if (!this.form.holidayBasePrice || this.form.holidayBasePrice<0) {
+ callback(new Error())
+ } else {
+ callback()
+ }
+ } else {
+ if (!this.form.holidayBasePrice || this.form.holidayBasePrice<0 || !this.form.holidayBaseTime || this.form.holidayBaseTime <0
+ || !this.form.holidayBasePrice || this.form.holidayBasePrice<0 || !this.form.holidayUnitTime || this.form.holidayUnitTime <0
+ ) {
+ callback(new Error())
+ } else {
+ callback()
+ }
+ }
+ }
return {
// 琛ㄥ崟鏁版嵁
form: {
@@ -99,11 +132,11 @@
backInfoRequired: false,
// 楠岃瘉瑙勫垯
rules: {
- duration: [
- { required: true, validator: numRule, message: '璇疯緭鍏ヨ璐规椂闀�', tigger: 'blur' }
+ base: [
+ { required: true, validator: baseRule, message: '璇峰畬鍠勫伐浣滄棩璁′环淇℃伅', tigger: 'blur' }
],
- backReason: [
- { required: true, message: '璇烽�夋嫨璋冩暣鍘熷洜', tigger: 'change'},
+ holiday: [
+ { required: true, validator: holidayRule, message: '璇峰畬鍠勮妭鍋囨棩璁′环淇℃伅', tigger: 'blur'},
]
},
diff --git a/admin/src/components/business/OperaSitesWindow.vue b/admin/src/components/business/OperaSitesWindow.vue
index 0c10fb9..a5655fe 100644
--- a/admin/src/components/business/OperaSitesWindow.vue
+++ b/admin/src/components/business/OperaSitesWindow.vue
@@ -13,12 +13,12 @@
<el-form-item label="绔欑偣鍚嶇О" prop="name">
<el-input v-model="form.name" placeholder="璇疯緭鍏ョ珯鐐瑰悕绉�" v-trim/>
</el-form-item>
- <el-form-item label="绔欑偣ip" prop="ip">
+ <!-- <el-form-item label="绔欑偣ip" prop="ip">
<el-input v-model="form.ip" placeholder="璇疯緭鍏ョ珯鐐筰p鍦板潃" v-trim/>
</el-form-item>
<el-form-item label="绔欑偣绔彛鍙�" prop="port">
<el-input v-model="form.port" placeholder="璇疯緭鍏ョ珯鐐圭鍙e彿" v-trim/>
- </el-form-item>
+ </el-form-item> -->
<!-- <el-form-item label="澶囨敞" prop="info">
<el-input v-model="form.info" placeholder="璇疯緭鍏ュ娉�" v-trim/>
diff --git a/admin/src/components/business/RepairDetailWindow.vue b/admin/src/components/business/RepairDetailWindow.vue
index f0a1c6c..128f7b0 100644
--- a/admin/src/components/business/RepairDetailWindow.vue
+++ b/admin/src/components/business/RepairDetailWindow.vue
@@ -7,8 +7,8 @@
</el-form-item>
<el-form-item label="鍥剧墖/瑙嗛" prop="dealInfo">
<el-image v-for="(url, index) in form.imgList" :key="index"
- style="width: 100px; height: 100px; margin-right: 5px;" :src="url" fit="contain"
- :prediv-src-list="form.imgList"></el-image>
+ style="width: 100px; height: 100px; margin-right: 5px;" :src="url" :initial-index="index" fit="contain"
+ :preview-src-list="form.imgList"></el-image>
</el-form-item>
</el-form>
<div slot="footer">
diff --git a/admin/src/components/business/backGoodsorderWindow.vue b/admin/src/components/business/backGoodsorderWindow.vue
index cb98785..f2e6ce6 100644
--- a/admin/src/components/business/backGoodsorderWindow.vue
+++ b/admin/src/components/business/backGoodsorderWindow.vue
@@ -15,7 +15,7 @@
<el-form :model="form" ref="form" :rules="rules" label-suffix="锛�">
<el-form-item label="閫�娆鹃噾棰�" prop="money">
<div style="display: flex;">
- <el-input style="flex: 1;" v-model="form.money" placeholder="璇疯緭鍏ラ��娆鹃噾棰�" v-trim/>
+ <el-input style="flex: 1;" v-model="form.money" type="number" placeholder="璇疯緭鍏ラ��娆鹃噾棰�" v-trim/>
</div>
</el-form-item>
<el-form-item label="閫�娆惧師鍥�" prop="reason">
@@ -23,7 +23,7 @@
type="textarea"
:autosize="{ minRows: 2, maxRows: 4}"
v-model="form.reason"
- placeholder="璇疯緭鍏ヨ皟鏁村娉�"
+ placeholder="璇疯緭鍏ヨ皟鏁村娉�1"
v-trim
/>
</el-form-item>
@@ -41,6 +41,13 @@
extends: BaseOpera,
components: { GlobalAlertWindow },
data () {
+ const moneyRule = (rule, value, callback) => {
+ if (value <=0 ) {
+ callback(new Error('閫�娆鹃噾棰濆繀椤诲ぇ浜�0'))
+ } else {
+ callback()
+ }
+ }
return {
// 琛ㄥ崟鏁版嵁
form: {
@@ -55,8 +62,8 @@
},
// 楠岃瘉瑙勫垯
rules: {
- duration: [
- { required: true, validator: numRule, message: '璇疯緭鍏ラ��娆鹃噾棰�', tigger: 'blur' }
+ money: [
+ { required: true, validator: moneyRule, tigger: 'blur' }
]
},
diff --git a/admin/src/components/business/billDetail.vue b/admin/src/components/business/billDetail.vue
index 1dcee63..7b9c974 100644
--- a/admin/src/components/business/billDetail.vue
+++ b/admin/src/components/business/billDetail.vue
@@ -10,13 +10,13 @@
stripe
border
>
- <el-table-column prop="memberOpenid" label="鐢ㄦ埛" min-width="100px" align="center"></el-table-column>
- <el-table-column prop="preOrderid" label="璁㈠崟缂栧彿" min-width="100px" align="center"></el-table-column>
+ <el-table-column prop="openid" label="鐢ㄦ埛" min-width="100px" align="center"></el-table-column>
+ <el-table-column prop="code" label="璁㈠崟缂栧彿" min-width="100px" align="center"></el-table-column>
<el-table-column prop="payDate" label="鏀粯鏃堕棿" min-width="100px" align="center"></el-table-column>
- <el-table-column prop="money" label="鏀粯閲戦" min-width="100px" align="center"></el-table-column>
- <el-table-column prop="refundDate" label="閫�娆炬椂闂�" min-width="100px" align="center"></el-table-column>
- <el-table-column prop="refundMoney" label="閫�娆鹃噾棰�" min-width="100px" align="center"></el-table-column>
- <el-table-column prop="closeDate" label="缁撶畻閲戦" min-width="100px" align="center"></el-table-column>
+ <el-table-column prop="money" label="鏀粯閲戦" width="80px" align="center"></el-table-column>
+ <el-table-column prop="refundDate" label="閫�娆炬椂闂�" width="150px" align="center"></el-table-column>
+ <el-table-column prop="refundMoney" label="閫�娆鹃噾棰�" width="80px" align="center"></el-table-column>
+ <el-table-column prop="closeMoney" label="缁撶畻閲戦" width="80px" align="center"></el-table-column>
</el-table>
<pagination
@size-change="handleSizeChange"
diff --git a/admin/src/components/system/user/OperaUserWindow.vue b/admin/src/components/system/user/OperaUserWindow.vue
index 87277d0..f7275f1 100644
--- a/admin/src/components/system/user/OperaUserWindow.vue
+++ b/admin/src/components/system/user/OperaUserWindow.vue
@@ -4,9 +4,10 @@
:title="title"
:visible.sync="visible"
:confirm-working="isWorking"
+ width="600px"
@confirm="confirm"
>
- <el-form :model="form" ref="form" :rules="rules">
+ <el-form :model="form" ref="form" :rules="rules" label-width="100px" label-suffix="锛�">
<!-- <el-form-item label="鐢ㄦ埛鍚�" prop="username" required>
<el-input v-model="form.username" placeholder="璇疯緭鍏ョ敤鎴峰悕" v-trim maxlength="50"/>
</el-form-item> -->
@@ -34,10 +35,10 @@
<el-form-item label="宸ュ彿" prop="empNo">
<el-input v-model="form.empNo" placeholder="璇疯緭鍏ュ伐鍙�" v-trim maxlength="50"/>
</el-form-item>
- <el-form-item label="鎵�灞為儴闂�" prop="departmentId">
+ <!-- <el-form-item label="鎵�灞為儴闂�" prop="departmentId">
<DepartmentSelect v-model="form.departmentId" placeholder="璇烽�夋嫨鐢ㄦ埛鎵�灞為儴闂�" :inline="false" clearable/>
- </el-form-item>
- <div v-if="!form.id" style="color: red">鏂板缓鐢ㄦ埛鐨勯粯璁ゅ瘑鐮佷负鎵嬫満鍙峰悗鍏綅</div>
+ </el-form-item> -->
+ <div v-if="!form.id" style="color: red">鏂板缓鐢ㄦ埛鐨勮处鍙蜂负鎵嬫満鍙枫�侀粯璁ゅ瘑鐮佷负鎵嬫満鍙峰悗鍏綅</div>
<!-- <el-form-item label="宀椾綅" prop="positionId">
<PositionSelect v-model="form.positionIds" placeholder="璇烽�夋嫨鐢ㄦ埛鎵�鍦ㄥ矖浣�" :inline="false" :multiple="true" clearable/>
</el-form-item>
diff --git a/admin/src/views/business/backgroundRefund.vue b/admin/src/views/business/backgroundRefund.vue
index 786037b..fe30b0c 100644
--- a/admin/src/views/business/backgroundRefund.vue
+++ b/admin/src/views/business/backgroundRefund.vue
@@ -43,9 +43,9 @@
<div class="long-title-style">{{ row.openid }}</div>
</template>
</el-table-column>
- <el-table-column prop="id" label="绯荤粺鍗曞彿" min-width="140px" align="center" show-overflow-tooltip>
+ <el-table-column prop="objId" label="绯荤粺鍗曞彿" min-width="140px" align="center" show-overflow-tooltip>
<template slot-scope="{row}">
- <div class="long-title-style">{{ row.id }}</div>
+ <div class="long-title-style">{{ row.objId }}</div>
</template>
</el-table-column>
<!-- payOnlineOrderid 鏀粯鎶奸噾浜ゆ槗鍗曞彿 -->
@@ -57,14 +57,9 @@
</template>
</el-table-column>
<el-table-column prop="canBalance" label="褰撳墠鍙��鍥炴娂閲�(鍏�)" min-width="140px" align="center">
- <template slot-scope="{row}">
- {{ (row.canBalance / 100).toFixed(2) }}
- </template>
+
</el-table-column>
<el-table-column prop="money" label="閫�鍥炴娂閲�(鍏�)" min-width="140px" align="center">
- <template slot-scope="{row}">
- {{ (row.money / 100).toFixed(2) }}
- </template>
</el-table-column>
<el-table-column prop="createDate" label="鎿嶄綔鏃堕棿" min-width="140px" align="center"></el-table-column>
<el-table-column prop="creatorName" label="鎿嶄綔浜�" min-width="100px" align="center"></el-table-column>
diff --git a/admin/src/views/business/bikeLocation.vue b/admin/src/views/business/bikeLocation.vue
index 35a4e74..0fd9a9b 100644
--- a/admin/src/views/business/bikeLocation.vue
+++ b/admin/src/views/business/bikeLocation.vue
@@ -2,11 +2,30 @@
<TableLayout :permissions="['business:sites:query']">
<!-- 鎼滅储琛ㄥ崟 -->
<el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
- <el-form-item label="绔欑偣缂栧彿" prop="code">
- <el-input v-model="searchForm.code" placeholder="璇疯緭鍏ョ珯鐐圭紪鍙�" @keypress.enter.native="search"></el-input>
+ <el-form-item label="绔欑偣缂栧彿" prop="siteId">
+ <el-input v-model="searchForm.siteId" placeholder="璇疯緭鍏ョ珯鐐圭紪鍙�" @keypress.enter.native="search"></el-input>
</el-form-item>
- <el-form-item label="绔欑偣鍚嶇О" prop="name">
- <el-input v-model="searchForm.name" placeholder="璇疯緭鍏ョ珯鐐瑰悕绉�" @keypress.enter.native="search"></el-input>
+ <el-form-item label="绔欑偣鍚嶇О" prop="siteName">
+ <el-input v-model="searchForm.siteName" placeholder="璇疯緭鍏ョ珯鐐瑰悕绉�" @keypress.enter.native="search"></el-input>
+ </el-form-item>
+ <el-form-item label="閿佹鍣ㄥ彿" prop="lockId">
+ <el-input v-model="searchForm.lockId" placeholder="璇疯緭鍏ョ珯鐐瑰悕绉�" @keypress.enter.native="search"></el-input>
+ </el-form-item>
+ <el-form-item label="鏄惁鏈夎溅" prop="hasBike">
+ <el-select v-model="searchForm.hasBike" placeholder="璇烽�夋嫨">
+ <el-option
+ label="鍏ㄩ儴"
+ :value="0">
+ </el-option>
+ <el-option
+ label="鏃犺溅"
+ :value="1">
+ </el-option>
+ <el-option
+ label="鏈夎溅"
+ :value="2">
+ </el-option>
+ </el-select>
</el-form-item>
<section>
<el-button type="primary" @click="search">鎼滅储</el-button>
@@ -51,8 +70,10 @@
return {
// 鎼滅储
searchForm: {
- name: '',
- code: '',
+ siteName: '',
+ siteId: '',
+ lockId: '',
+ hasBike: 0,
}
}
},
diff --git a/admin/src/views/business/bikeRepair.vue b/admin/src/views/business/bikeRepair.vue
index 28685f0..2323ce0 100644
--- a/admin/src/views/business/bikeRepair.vue
+++ b/admin/src/views/business/bikeRepair.vue
@@ -2,8 +2,8 @@
<TableLayout :permissions="['business:bikerepair:query']">
<!-- 鎼滅储琛ㄥ崟 -->
<el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
- <el-form-item label="鐢ㄦ埛" prop="creator">
- <el-input v-model="searchForm.creator" placeholder="璇疯緭鍏�" @keypress.enter.native="search"></el-input>
+ <el-form-item label="鐢ㄦ埛" prop="openid">
+ <el-input v-model="searchForm.openid" placeholder="璇疯緭鍏�" @keypress.enter.native="search"></el-input>
</el-form-item>
<el-form-item label="杞﹁締缂栫爜" prop="bikeCode">
<el-input v-model="searchForm.bikeCode" placeholder="璇疯緭鍏ヨ溅杈嗙紪鍙�" @keypress.enter.native="search"></el-input>
@@ -112,7 +112,7 @@
searchForm: {
id: '',
createDate: '',
- creator: '',
+ openid: '',
editDate: '',
editor: '',
isdeleted: '',
diff --git a/admin/src/views/business/bikeRetakeRecord.vue b/admin/src/views/business/bikeRetakeRecord.vue
index 0706ce2..bcee59b 100644
--- a/admin/src/views/business/bikeRetakeRecord.vue
+++ b/admin/src/views/business/bikeRetakeRecord.vue
@@ -116,7 +116,7 @@
searchForm: {
id: '',
createDate: '',
- creator: '',
+ hasBack: '',
editDate: '',
editor: '',
isdeleted: '',
@@ -165,6 +165,7 @@
'field.main': 'id'
})
this.searchForm.startDate = formatDateTime(new Date(), 'yyyy-MM-dd') + ' 00:00:00'
+ this.searchForm.endDate = formatDateTime(new Date(), 'yyyy-MM-dd') + ' 23:59:59'
this.search()
},
methods: {
diff --git a/admin/src/views/business/goodsorder.vue b/admin/src/views/business/goodsorder.vue
index 0cf5dd2..ef5d8ef 100644
--- a/admin/src/views/business/goodsorder.vue
+++ b/admin/src/views/business/goodsorder.vue
@@ -87,8 +87,8 @@
>
<template slot-scope="{row}">
<el-button type="text" @click="showDetail(row)">璁㈠崟璇︽儏</el-button>
- <el-button type="text" @click="statement(row)" v-if="row.status != 4" style="color: red">缁撶畻</el-button>
- <el-button type="text" @click="refenMoney(row)" v-else>閫�娆�</el-button>
+ <el-button type="text" @click="statement(row)" v-if="row.status != 4 && (row.memberRidesStatus>1 || !row.memberRidesStatus)" style="color: red">缁撶畻</el-button>
+ <el-button type="text" @click="refenMoney(row)" v-if="row.status == 4">閫�娆�</el-button>
</template>
</el-table-column>
</el-table>
@@ -184,7 +184,7 @@
},
statement({id}) {
- this.$dialog.messageWaring('褰撳墠璁㈠崟鍙兘鏈夋湭瀹屾垚鐨勯獞琛岋紝纭畾寮哄埗缁撶畻锛�', '寮哄埗缁撶畻')
+ this.$dialog.messageWaring('纭畾寮哄埗缁撶畻鐮侊紵缁撶畻鍚庤鍗曡嚜鍔ㄥ畬鎴�', '寮哄埗缁撶畻')
.then(() => {
closerGoodsorder(id)
.then(() => {
diff --git a/admin/src/views/business/memberRides.vue b/admin/src/views/business/memberRides.vue
index b29a13a..6562f71 100644
--- a/admin/src/views/business/memberRides.vue
+++ b/admin/src/views/business/memberRides.vue
@@ -13,7 +13,7 @@
<el-select v-model="searchForm.closeStatus" placeholder="璇烽�夋嫨">
<el-option
label="鏈粨绠�"
- :value="1">
+ :value="0">
</el-option>
<el-option
label="宸茬粨绠�"
@@ -166,6 +166,7 @@
'field.main': 'id'
})
this.searchForm.startDate = formatDateTime(new Date(), 'yyyy-MM-dd') + ' 00:00:00'
+ this.searchForm.endDate = formatDateTime(new Date(), 'yyyy-MM-dd') + ' 23:59:59'
this.search()
},
methods: {
diff --git a/admin/src/views/business/sites.vue b/admin/src/views/business/sites.vue
index 5b16c16..3a4770e 100644
--- a/admin/src/views/business/sites.vue
+++ b/admin/src/views/business/sites.vue
@@ -51,7 +51,7 @@
<!-- 琛ㄦ牸鍜屽垎椤� -->
<template v-slot:table-wrap>
<ul class="toolbar" v-permissions="['business:sites:create']">
- <li><el-button type="primary" @click="$refs.operaSitesWindow.open('鏂板缓绔欑偣淇℃伅琛�')" icon="el-icon-plus" v-permissions="['business:sites:create']">鏂板缓</el-button></li>
+ <li><el-button type="primary" @click="$refs.operaSitesWindow.open('鏂板缓绔欑偣')" icon="el-icon-plus" v-permissions="['business:sites:create']">鏂板缓</el-button></li>
</ul>
<el-table
v-loading="isWorking.search"
@@ -61,8 +61,8 @@
>
<el-table-column prop="code" label="绔欑偣缂栧彿" min-width="100px" align="center"></el-table-column>
<el-table-column prop="name" label="绔欑偣鍚嶇О" min-width="100px" align="center"></el-table-column>
- <el-table-column prop="ip" label="绔欑偣ip" min-width="100px" align="center"></el-table-column>
- <el-table-column prop="port" label="绔彛鍙�" min-width="100px" align="center"></el-table-column>
+ <!-- <el-table-column prop="ip" label="绔欑偣ip" min-width="100px" align="center"></el-table-column>
+ <el-table-column prop="port" label="绔彛鍙�" min-width="100px" align="center"></el-table-column> -->
<el-table-column prop="editDate" label="鏈�鍚庨�氳鏃堕棿" min-width="100px" align="center"></el-table-column>
<el-table-column prop="status" label="鐘舵��" min-width="100px" align="center">
<template slot-scope="{row}">
@@ -85,7 +85,7 @@
fixed="right"
>
<template slot-scope="{row}">
- <el-button type="text" @click="$refs.operaSitesWindow.open('缂栬緫绔欑偣淇℃伅琛�', row)" icon="el-icon-edit" v-permissions="['business:sites:update']">缂栬緫</el-button>
+ <el-button type="text" @click="$refs.operaSitesWindow.open('缂栬緫绔欑偣', row)" icon="el-icon-edit" v-permissions="['business:sites:update']">缂栬緫</el-button>
<el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:sites:delete']">鍒犻櫎</el-button>
</template>
</el-table-column>
diff --git a/admin/src/views/business/sitesBike.vue b/admin/src/views/business/sitesBike.vue
index 5fa4e26..dd19e08 100644
--- a/admin/src/views/business/sitesBike.vue
+++ b/admin/src/views/business/sitesBike.vue
@@ -23,9 +23,9 @@
>
<el-table-column prop="code" label="绔欑偣缂栧彿" min-width="100px" align="center"></el-table-column>
<el-table-column prop="name" label="绔欑偣鍚嶇О" min-width="100px" align="center"></el-table-column>
- <el-table-column prop="lockNum" label="閿佸ご鏁伴噺" min-width="100px" align="center"></el-table-column>
- <el-table-column prop="ip" label="鍦ㄦ灦杞︽暟閲�" min-width="100px" align="center"></el-table-column>
- <el-table-column prop="ip" label="婊℃灦鐜�" min-width="100px" align="center"></el-table-column>
+ <el-table-column prop="allLockNum" label="閿佸ご鏁伴噺" min-width="100px" align="center"></el-table-column>
+ <el-table-column prop="bikeCount" label="鍦ㄦ灦杞︽暟閲�" min-width="100px" align="center"></el-table-column>
+ <el-table-column prop="rate" label="婊℃灦鐜�" min-width="100px" align="center"></el-table-column>
<el-table-column prop="editDate" label="鏈�鍚庨�氳鏃堕棿" min-width="100px" align="center"></el-table-column>
</el-table>
<pagination
diff --git a/admin/src/views/business/wxBill.vue b/admin/src/views/business/wxBill.vue
index 983a1ca..61198a1 100644
--- a/admin/src/views/business/wxBill.vue
+++ b/admin/src/views/business/wxBill.vue
@@ -9,6 +9,7 @@
range-separator="鑷�"
start-placeholder="寮�濮嬫棩鏈�"
end-placeholder="缁撴潫鏃ユ湡"
+ :picker-options="pickerOptions"
format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss"
@change="selectDate"
></el-date-picker>
@@ -59,20 +60,21 @@
:data="tableData.list"
stripe
border
+ show-summary
>
- <el-table-column prop="createDate" label="鏃ユ湡" min-width="100px" align="center"></el-table-column>
+ <el-table-column prop="id" label="鏃ユ湡" min-width="100px" align="center"></el-table-column>
<el-table-column prop="sumBill" label="鏀舵绗旀暟" min-width="100px" align="center"></el-table-column>
- <el-table-column prop="sumTotalFee" label="鏀舵閲戦" min-width="100px" align="center"></el-table-column>
- <el-table-column prop="sumCmmsAmt" label="鏀舵鎵嬬画璐�" min-width="100px" align="center"></el-table-column>
+ <el-table-column prop="sumTotalFee" label="鏀舵閲戦(鍏�)" min-width="100px" align="center"></el-table-column>
+ <el-table-column prop="sumCmmsAmt" label="鏀舵鎵嬬画璐�(鍏�)" min-width="100px" align="center"></el-table-column>
<el-table-column prop="sumRefundBill" label="閫�娆剧瑪鏁�" min-width="100px" align="center"></el-table-column>
- <el-table-column prop="sumRefundFee" label="閫�娆鹃噾棰�" min-width="100px" align="center"></el-table-column>
- <el-table-column prop="sumRefundCmmsAmt" label="閫�娆炬墜缁垂" min-width="100px" align="center"></el-table-column>
+ <el-table-column prop="sumRefundFee" label="閫�娆鹃噾棰�(鍏�)" min-width="100px" align="center"></el-table-column>
+ <el-table-column prop="sumRefundCmmsAmt" label="閫�娆炬墜缁垂(鍏�)" min-width="100px" align="center"></el-table-column>
<!-- <el-table-column prop="sumSuccessFee" label="搴旂粨璁㈠崟鎬婚噾棰�" min-width="100px" align="center"></el-table-column>
<el-table-column prop="sumCouponRefundFee" label="鍏呭�煎埜閫�娆炬�婚噾棰�" min-width="100px" align="center"></el-table-column>
<el-table-column prop="sumApplyRefundFee" label="鐢宠閫�娆炬�婚噾棰�" min-width="100px" align="center"></el-table-column> -->
- <el-table-column prop="total" label="缁撶畻閲戦" min-width="100px" align="center"></el-table-column>
- <el-table-column prop="bikeFee" label="鑷杞︽敹鍏�" min-width="100px" align="center"></el-table-column>
+ <el-table-column prop="total" label="缁撶畻閲戦(鍏�)" min-width="100px" align="center"></el-table-column>
+ <el-table-column prop="bikeFee" label="鑷杞︽敹鍏�(鍏�)" min-width="100px" align="center"></el-table-column>
</el-table>
<pagination
@size-change="handleSizeChange"
@@ -95,7 +97,7 @@
components: { TableLayout, Pagination },
data () {
return {
- value1: [new Date(), new Date()],
+ value1: [],
// 鎼滅储
searchForm: {
endDate: '',
@@ -103,7 +105,8 @@
},
sumData: {
- }
+ },
+ pickerOptions: {}
}
},
created () {
@@ -113,7 +116,15 @@
'field.id': 'id',
'field.main': 'id'
})
- this.searchForm.startDate = formatDateTime(new Date(), 'yyyy-MM-dd') + ' 00:00:00'
+ this.pickerOptions.disabledDate = (time) => {
+ // 涓�澶�
+ let tempTime = 3600 * 1000 * 24
+ return time.getTime() > new Date() - tempTime
+ }
+ // let tempTime = new Date().getTime() - 3600 * 1000 * 24
+ // this.searchForm.startDate = formatDateTime(new Date(tempTime), 'yyyy-MM-dd') + ' 00:00:00'
+ // this.searchForm.endDate = formatDateTime(new Date(tempTime), 'yyyy-MM-dd') + ' 23:59:59'
+ // this.value1 = [this.searchForm.startDate, this.searchForm.endDate]
this.search()
},
methods: {
diff --git a/admin/src/views/business/wxBillDetail.vue b/admin/src/views/business/wxBillDetail.vue
index f152f2a..121ea0e 100644
--- a/admin/src/views/business/wxBillDetail.vue
+++ b/admin/src/views/business/wxBillDetail.vue
@@ -9,6 +9,7 @@
range-separator="鑷�"
start-placeholder="寮�濮嬫棩鏈�"
end-placeholder="缁撴潫鏃ユ湡"
+ :picker-options="pickerOptions"
format="yyyy-MM-dd" value-format="yyyy-MM-dd HH:mm:ss"
@change="selectDate"
></el-date-picker>
@@ -73,12 +74,13 @@
components: { TableLayout, BillDetailWindow },
data () {
return {
- value1: [new Date(), new Date()],
+ value1: [],
// 鎼滅储
searchForm: {
endDate: '',
startDate: '',
},
+ pickerOptions: {}
}
},
created () {
@@ -88,7 +90,16 @@
'field.id': 'id',
'field.main': 'id'
})
- this.searchForm.startDate = formatDateTime(new Date(), 'yyyy-MM-dd') + ' 00:00:00'
+ this.pickerOptions.disabledDate = (time) => {
+ // 涓�澶�
+ let tempTime = 3600 * 1000 * 24
+ return time.getTime() > new Date() - tempTime
+ }
+ // let tempTime = new Date().getTime() - 3600 * 1000 * 24
+ // this.searchForm.startDate = formatDateTime(new Date(tempTime), 'yyyy-MM-dd') + ' 00:00:00'
+ // this.searchForm.endDate = formatDateTime(new Date(tempTime), 'yyyy-MM-dd') + ' 23:59:59'
+ // this.value1 = [this.searchForm.startDate, this.searchForm.endDate]
+
this.search()
},
methods: {
diff --git a/admin/src/views/system/user.vue b/admin/src/views/system/user.vue
index 82b7c6f..f19448d 100644
--- a/admin/src/views/system/user.vue
+++ b/admin/src/views/system/user.vue
@@ -44,15 +44,9 @@
</el-form>
<!-- 琛ㄦ牸鍜屽垎椤� -->
<template v-slot:table-wrap>
- <div style="display: flex;">
- <div style="width: 15%; border-right: 1px solid #ececec;">
- <Tree
- :list="data"
- :defaultProps="defaultProps"
- @callback="callback"
- ></Tree>
- </div>
- <div style="width: 84%; margin-left: 1%;">
+
+
+ <div>
<div class="zdy_box">
<div style="display: flex; align-items: center;">
<span>{{name ? name : '鍏ㄩ儴'}} 锛坽{tableData.pagination.total}}锛�</span>
@@ -68,7 +62,7 @@
/>
</li>
<li v-permissions="['system:user:create']"><el-button type="primary" @click="$refs.operaUserWindow.open('鏂板缓鐢ㄦ埛')">娣诲姞鐢ㄦ埛</el-button></li>
- <li v-permissions="['system:user:create']"><el-button type="primary" @click="changeZZ">鏇存崲缁勭粐</el-button></li>
+ <!-- <li v-permissions="['system:user:create']"><el-button type="primary" @click="changeZZ">鏇存崲缁勭粐</el-button></li> -->
<li v-permissions="['system:user:delete']"><el-button @click="deleteByIdInBatch">鍒犻櫎</el-button></li>
</ul>
</div>
@@ -137,7 +131,6 @@
:pagination="tableData.pagination"
></pagination>
</div>
- </div>
</template>
<!-- 鏂板缓/淇敼 -->
<OperaUserWindow ref="operaUserWindow" @success="handlePageChange(tableData.pagination.pageIndex)"/>
@@ -275,7 +268,11 @@
id: item.id,
status: item.status
}).then(res => {
- this.search()
+
+ }).catch(e => {
+ this.$tip.apiFailed(e)
+ }).finally(() => {
+ this.handlePageChange()
})
},
resPwd() {
diff --git a/server/platform/src/main/java/com/doumee/config/shiro/ShiroRealm.java b/server/platform/src/main/java/com/doumee/config/shiro/ShiroRealm.java
index 94a7e98..a5bb579 100644
--- a/server/platform/src/main/java/com/doumee/config/shiro/ShiroRealm.java
+++ b/server/platform/src/main/java/com/doumee/config/shiro/ShiroRealm.java
@@ -84,7 +84,7 @@
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璐﹀彿鎴栧瘑鐮佷笉姝g‘锛�");
}
if(Objects.equals(user.getStatus(),Constants.ONE)){
- throw new AuthenticationException("鐢ㄦ埛宸茶绂佺敤锛岃鑱旂郴绠$悊鍛�");
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鐧诲綍璐﹀彿宸茬鐢紝璇疯仈绯荤鐞嗗憳锛�");
}
// 鑾峰彇鐧诲綍鐢ㄦ埛淇℃伅
List<SystemRole> roles = systemRoleService.findByUserId(user.getId());
diff --git a/server/platform/src/main/java/com/doumee/task/ScheduleTool.java b/server/platform/src/main/java/com/doumee/task/ScheduleTool.java
index 44151a4..f9fa9ea 100644
--- a/server/platform/src/main/java/com/doumee/task/ScheduleTool.java
+++ b/server/platform/src/main/java/com/doumee/task/ScheduleTool.java
@@ -8,6 +8,7 @@
import com.doumee.dao.business.model.Goodsorder;
import com.doumee.service.business.GoodsorderService;
import com.doumee.service.business.MemberRidesService;
+import com.doumee.service.business.SitesService;
import com.doumee.service.business.WxBillService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -41,9 +42,12 @@
@Autowired
private GoodsorderService goodsorderService;
-
@Autowired
private MemberRidesService memberRidesService;
+
+ @Autowired
+ private SitesService sitesService;
+
/**
* @throws Exception
*/
@@ -76,6 +80,18 @@
log.info("=====================寮�濮嬫瘡澶╄嚜鍔ㄧ粨绠�=======================");
memberRidesService.autoRefreshLockStatus();
log.info("=====================缁撴潫姣忓ぉ鑷姩缁撶畻=======================");
-
}
+
+
+ /**
+ * 绔欑偣杞﹁締婊℃灦鐜囬璀�
+ * @throws Exception
+ */
+ @Scheduled(fixedDelay = 1000L * 60L * 3L)
+ public void siteReserves() throws Exception {
+ log.info("=====================寮�濮� 绔欑偣杞﹁締婊℃灦鐜囬璀�=======================");
+ sitesService.siteReservesNotice();;
+ log.info("=====================缁撴潫 绔欑偣杞﹁締婊℃灦鐜囬璀�=======================");
+ }
+
}
diff --git a/server/services/src/main/java/com/doumee/dao/business/model/Goodsorder.java b/server/services/src/main/java/com/doumee/dao/business/model/Goodsorder.java
index 6482088..3fd1618 100644
--- a/server/services/src/main/java/com/doumee/dao/business/model/Goodsorder.java
+++ b/server/services/src/main/java/com/doumee/dao/business/model/Goodsorder.java
@@ -47,7 +47,6 @@
private Integer isdeleted;
@ApiModelProperty(value = "澶囨敞")
- @ExcelColumn(name="澶囨敞")
private String info;
@ApiModelProperty(value = "璁㈠崟缂栫爜")
@@ -80,7 +79,7 @@
private Integer payWay;
@ApiModelProperty(value = "鏀粯鏃堕棿")
- @ExcelColumn(name="浜ゆ娂閲戞椂闂�",index = 5,width = 10,align = HorizontalAlignment.CENTER)
+ @ExcelColumn(name="浜ゆ娂閲戞椂闂�",index = 5,width = 10,align = HorizontalAlignment.CENTER,dateFormat = "yyyy-MM-dd HH:mm:ss" )
private Date payDate;
@ApiModelProperty(value = "浜ゆ槗绫诲瀷 0绉熻溅鎶奸噾")
@@ -94,7 +93,7 @@
private String closeId;
@ApiModelProperty(value = "缁撶畻鏃堕棿")
- @ExcelColumn(name="缁撶畻鏃堕棿",index = 8,width = 10,align = HorizontalAlignment.CENTER)
+ @ExcelColumn(name="缁撶畻鏃堕棿",index = 8,width = 10,align = HorizontalAlignment.CENTER,dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date closeDate;
@ApiModelProperty(value = "缁撶畻澶囨敞")
private String closeInfo;
@@ -129,7 +128,7 @@
@ApiModelProperty(value = "鏈�鍚庨��娆炬椂闂�")
@TableField(exist = false)
- @ExcelColumn(name="閫�娆剧粨绠楁椂闂�",index = 9,width = 10,align = HorizontalAlignment.CENTER)
+ @ExcelColumn(name="閫�娆剧粨绠楁椂闂�",index = 9,width = 10,align = HorizontalAlignment.CENTER,dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date refundDate;
@ApiModelProperty(value = "鏈�杩戦獞琛岀姸鎬�")
diff --git a/server/services/src/main/java/com/doumee/dao/business/vo/GoodsorderExportVO.java b/server/services/src/main/java/com/doumee/dao/business/vo/GoodsorderExportVO.java
index 12f64b8..699add8 100644
--- a/server/services/src/main/java/com/doumee/dao/business/vo/GoodsorderExportVO.java
+++ b/server/services/src/main/java/com/doumee/dao/business/vo/GoodsorderExportVO.java
@@ -46,7 +46,7 @@
private BigDecimal closeMoney;
@ApiModelProperty(value = "缁撶畻鏃堕棿")
- @ExcelColumn(name="缁撶畻鏃堕棿",width = 10,index = 6,align = HorizontalAlignment.CENTER,dateFormat = "yyyy-MM-dd HH:mm:ss")
+// @ExcelColumn(name="缁撶畻鏃堕棿",width = 10,index = 6,align = HorizontalAlignment.CENTER,dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date closeDate;
@ApiModelProperty(value = "閫�娆鹃噾棰�(鍒嗭級")
diff --git a/server/services/src/main/java/com/doumee/dao/business/web/response/BikeLogDTO.java b/server/services/src/main/java/com/doumee/dao/business/web/response/BikeLogDTO.java
index 513d3ec..ed5a011 100644
--- a/server/services/src/main/java/com/doumee/dao/business/web/response/BikeLogDTO.java
+++ b/server/services/src/main/java/com/doumee/dao/business/web/response/BikeLogDTO.java
@@ -37,7 +37,7 @@
private String rentLockId;
@ApiModelProperty(value = "楠戣鏃堕暱")
- @ExcelColumn(name="鍊熷嚭鏃堕暱",index = 8,width = 10,align = HorizontalAlignment.CENTER)
+ @ExcelColumn(name="鍊熷嚭鏃堕暱(鍒�)",index = 8,width = 10,align = HorizontalAlignment.CENTER)
private Integer rideTime;
@ApiModelProperty(value = "璁¤垂鏃堕暱")
// @ExcelColumn(name="璁¤垂鏃堕暱",index = 8,width = 10,align = HorizontalAlignment.CENTER)
@@ -60,10 +60,10 @@
private Date backDate;
@ApiModelProperty(value = "鐘舵�� 0璇锋眰寮�閿佷腑 1楠戣涓� 2宸茶繕杞� 3寮�閿佸け璐�")
- @ExcelColumn(name="鐘舵�� ", valueMapping = "0=璇锋眰寮�閿佷腑;1=楠戣涓�;2=宸茶繕杞�;3=寮�閿佸け璐�;" ,width = 10,align = HorizontalAlignment.CENTER)
+// @ExcelColumn(name="鐘舵�� ", valueMapping = "0=璇锋眰寮�閿佷腑;1=楠戣涓�;2=宸茶繕杞�;3=寮�閿佸け璐�;" ,width = 10,align = HorizontalAlignment.CENTER)
private Integer status;
@ApiModelProperty(value = "缁撶畻鐘舵��")
- @ExcelColumn(name="缁撶畻鐘舵�� ", valueMapping = "0=鏈粨绠�;1=宸茬粨绠�;" ,width = 10,align = HorizontalAlignment.CENTER)
+// @ExcelColumn(name="缁撶畻鐘舵�� ", valueMapping = "0=鏈粨绠�;1=宸茬粨绠�;" ,width = 10,align = HorizontalAlignment.CENTER)
private Integer closeStatus;
}
diff --git a/server/services/src/main/java/com/doumee/service/business/SitesService.java b/server/services/src/main/java/com/doumee/service/business/SitesService.java
index 20d0712..cb77062 100644
--- a/server/services/src/main/java/com/doumee/service/business/SitesService.java
+++ b/server/services/src/main/java/com/doumee/service/business/SitesService.java
@@ -103,10 +103,8 @@
/**
* 绔欑偣棰勮
- * @param siteId
- * @throws Exception
*/
- void siteReservesNotice(String siteId) throws Exception;
+ void siteReservesNotice() throws Exception;
/**
diff --git a/server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
index 189e8c6..b1737da 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
@@ -520,6 +520,7 @@
MPJLambdaWrapper<MemberRides> wrapper = new MPJLambdaWrapper<>();
wrapper.eq(MemberRides::getOrdreId,id);
+ wrapper.ne(MemberRides::getStatus,Constants.MEMBER_RIDES_STATUS.LOCKING_DEFEAT.getKey());
wrapper.selectAll(MemberRides.class).selectAs(BaseParam::getName, MemberRides::getParamName);
wrapper.leftJoin(BaseParam.class, BaseParam::getId, MemberRides::getParamId);
wrapper.orderByDesc(BaseParam::getSortnum);
@@ -634,8 +635,12 @@
}
}
QueryWrapper<Refund> queryWrapper2 = new QueryWrapper<>();
- queryWrapper2.lambda().ge(param.getStartDate() !=null,Refund::getDoneDate,Utils.Date.getStart(param.getStartDate()));
- queryWrapper2.lambda().le(param.getEndDate() !=null,Refund::getDoneDate,Utils.Date.getEnd(param.getEndDate()));
+ if(Objects.nonNull(param.getStartDate())) {
+ queryWrapper2.lambda().ge(Refund::getDoneDate, Utils.Date.getStart(param.getStartDate()));
+ }
+ if(Objects.nonNull(param.getEndDate())) {
+ queryWrapper2.lambda().le(Refund::getDoneDate, Utils.Date.getEnd(param.getEndDate()));
+ }
queryWrapper2.lambda().eq(Refund::getIsdeleted, Constants.ZERO);
queryWrapper2.select( "count(id) as count_num"
,"sum(money) as money" );
diff --git a/server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java
index cb690aa..7fe93bc 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java
@@ -189,6 +189,15 @@
public PageData<BikeLogDTO> findBikeLog(PageWrap<MemberRidesQuery> pageWrap) {
IPage<MemberRides> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
MPJLambdaWrapper<MemberRides> queryWrapper = initQueryParamByModel(pageWrap.getModel());
+ MemberRidesQuery model = pageWrap.getModel();
+ //宸茶繕杞�
+ if (Objects.nonNull(model.getHasBack()) && model.getHasBack()){
+ queryWrapper.eq(MemberRides::getStatus,Constants.TWO);
+ }
+ //鏈綊杩樼殑
+ if (Objects.nonNull(model.getHasBack()) && !model.getHasBack()){
+ queryWrapper.eq(MemberRides::getStatus,Constants.ONE);
+ }
IPage<BikeLogDTO> bikeLogDTOIPage = memberRidesJoinMapper.selectJoinPage(page, BikeLogDTO.class, queryWrapper);
initBikeLogObj(bikeLogDTOIPage.getRecords());
return PageData.from(bikeLogDTOIPage);
@@ -221,7 +230,7 @@
queryWrapper.ge(MemberRides::getRentDate, Utils.Date.getStart(model.getStartDate()));
}
if (Objects.nonNull(model.getEndDate())) {
- queryWrapper.le(MemberRides::getRentDate, Utils.Date.getStart(model.getEndDate()));
+ queryWrapper.le(MemberRides::getRentDate, Utils.Date.getEnd(model.getEndDate()));
}
queryWrapper.eq(model.getCloseStatus()!=null,MemberRides::getCloseStatus, model.getCloseStatus());
queryWrapper.eq(model.getStatus()!=null,MemberRides::getStatus, model.getStatus());
diff --git a/server/services/src/main/java/com/doumee/service/business/impl/RefundServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/RefundServiceImpl.java
index be2807e..2cbe6d2 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/RefundServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/RefundServiceImpl.java
@@ -109,8 +109,13 @@
queryWrapper.eq(StringUtils.isNotBlank(pageWrap.getModel().getCreatorName())
,SystemUser::getRealname
,pageWrap.getModel().getCreatorName());
-
- return PageData.from(refundJoinMapper.selectJoinPage(page, Refund.class,queryWrapper));
+ IPage<Refund> refundIPage = refundJoinMapper.selectJoinPage(page, Refund.class, queryWrapper);
+ if (!CollectionUtils.isEmpty(refundIPage.getRecords())){
+ refundIPage.getRecords().forEach(s->{
+ s.setMoney(Constants.translateMoney(s.getMoney()));
+ });
+ }
+ return PageData.from(refundIPage);
}
@Override
public List<RefundPlatExportVO> findPlatExportPage( Refund pageWrap) {
diff --git a/server/services/src/main/java/com/doumee/service/business/impl/SitesServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/SitesServiceImpl.java
index 804bfcd..97c7d10 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/SitesServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/SitesServiceImpl.java
@@ -30,6 +30,7 @@
import org.springframework.util.CollectionUtils;
import java.math.BigDecimal;
+import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Objects;
@@ -235,7 +236,37 @@
}
@Override
- public void siteReservesNotice(String siteId) throws Exception {
+ public void siteReservesNotice() throws Exception{
+ QueryWrapper<Sites> queryWrapper = new QueryWrapper<>();
+ queryWrapper.select(" *, " +
+ " (select count(r.id) from locks r where r.site_id = sites.id) as all_lock_num ," +
+ "(select count(l.bike_code) from locks l where l.site_id = sites.id and l.bike_code IS NOT NULL and l.bike_code !='' ) as bikeCount");
+ queryWrapper.lambda().eq(Sites::getStatus,Constants.ZERO);
+ queryWrapper.lambda().eq(Sites::getIsdeleted,Constants.ZERO);
+ queryWrapper.lambda().orderByAsc(Sites::getCode);
+ List<Sites> sitesList = sitesMapper.selectList(queryWrapper);
+ if (!CollectionUtils.isEmpty(sitesList)){
+ for (Sites s:sitesList) {
+ if(Constants.formatIntegerNum(s.getAllLockNum())<=Constants.ZERO){
+ continue;
+ }
+ BigDecimal warnMin = new BigDecimal(systemDictDataBiz.queryByCode(Constants.MINI_PROGRAMME,Constants.WARN_MIN).getCode());
+ BigDecimal warnMax = new BigDecimal(systemDictDataBiz.queryByCode(Constants.MINI_PROGRAMME,Constants.WARN_MAX).getCode());
+ BigDecimal rata = new BigDecimal(s.getBikeCount()).divide(new BigDecimal(s.getAllLockNum()),2,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100L));
+ if(rata.compareTo(warnMax)>Constants.ZERO){
+ //鍙戦�侀拤閽夐�氱煡
+ DingDingNotice.reservesNotice(StringUtils.isBlank(s.getName())?s.getId() + " - 鏈煡" :s.getId() + " - " + s.getName(),
+ systemDictDataBiz.queryByCode(Constants.DINGDING,Constants.DINGDING_URL).getCode(),
+ systemDictDataBiz.queryByCode(Constants.DINGDING,Constants.DINGDING_SECRET).getCode(),Constants.ZERO,warnMax);
+ }else if(rata.compareTo(warnMin)<Constants.ZERO){
+ //鍙戦�侀拤閽夐�氱煡
+ DingDingNotice.reservesNotice(StringUtils.isBlank(s.getName())?s.getId() + " - 鏈煡" :s.getId() + " - " + s.getName(),
+ systemDictDataBiz.queryByCode(Constants.DINGDING,Constants.DINGDING_URL).getCode(),
+ systemDictDataBiz.queryByCode(Constants.DINGDING,Constants.DINGDING_SECRET).getCode(),Constants.ONE,warnMin);
+ }
+ }
+ }
+
}
}
diff --git a/server/services/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java b/server/services/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java
index 2c509ff..18b2ecc 100644
--- a/server/services/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java
@@ -120,7 +120,10 @@
loginLog.setReason(e.getMessage().length() > 200 ? (e.getMessage().substring(0, 190) + "...") : e.getMessage());
loginLog.setSuccess(Constants.ONE);
systemLoginLogService.create(loginLog);
- throw new BusinessException(ResponseStatus.ACCOUNT_INCORRECT.getCode(),e.getCause().getMessage());
+ if (e.getCause() instanceof BusinessException) {
+ throw new BusinessException(ResponseStatus.ACCOUNT_INCORRECT.getCode(), e.getCause().getMessage());
+ }
+ throw new BusinessException(ResponseStatus.ACCOUNT_INCORRECT.getCode(), "鎻愮ず瀵逛笉璧凤紝璐﹀彿鎴栧瘑鐮侀敊璇紒");
}
}
--
Gitblit v1.9.3