From a5845873604f6d038c1cf2441b20173c3a4dfcb5 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期四, 18 七月 2024 14:36:42 +0800
Subject: [PATCH] 提交
---
server/service/src/main/java/com/doumee/service/business/impl/CategorySegServiceImpl.java | 3
admin/src/components/business/OperaShopWindow.vue | 334 +++++++++++++++++++++------------
server/service/src/main/java/com/doumee/biz/zbom/impl/ZbomIAMServiceImpl.java | 4
admin/src/views/business/departments.vue | 134 +++++++++++++
server/admin/src/main/java/com/doumee/api/business/PushController.java | 4
admin/public/index.html | 6
admin/src/api/business/shop.js | 5
server/admin/src/main/java/com/doumee/api/business/ZhongTaiController.java | 48 ++++
server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTZbDecoInfoResponse.java | 36 +-
9 files changed, 429 insertions(+), 145 deletions(-)
diff --git a/admin/public/index.html b/admin/public/index.html
index c5c6673..9cba38a 100644
--- a/admin/public/index.html
+++ b/admin/public/index.html
@@ -5,7 +5,11 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="<%= BASE_URL %>faviconzb.ico">
- <title>蹇楅偊浼樺淇℃伅绠$悊绯荤粺</title>
+ <script charset="utf-8" src="https://map.qq.com/api/js?v=2.exp&key=HIDBZ-2QXL4-TAWUD-XET6Q-EKTJE-CCBSQ"></script>
+<!-- <script type="text/javascript" src="https://mapapi.qq.com/web/mapComponents/geoLocation/v/geolocation.min.js"></script>
+ <script type="text/javascript" src="https://map.qq.com/api/gljs?v=1.exp&libraries=service&key=HIDBZ-2QXL4-TAWUD-XET6Q-EKTJE-CCBSQ"></script>
+ <script type="text/javascript" src="https://map.qq.com/api/gljs?v=1.exp&key=HIDBZ-2QXL4-TAWUD-XET6Q-EKTJE-CCBSQ"></script>-->
+ <title>蹇楅偊浼樺淇℃伅绠$悊绯荤粺</title>
</head>
<body>
<noscript>
diff --git a/admin/src/api/business/shop.js b/admin/src/api/business/shop.js
index 4110833..5f25f0c 100644
--- a/admin/src/api/business/shop.js
+++ b/admin/src/api/business/shop.js
@@ -12,6 +12,11 @@
trim: true
})
}
+export function areaList (data) {
+ return request.post('/business/zhongtai/areaList',data, {
+ trim: true
+ })
+}
// 鏌ヨ
export function fetchList3 (data) {
return request.get(`/business/shop/tree`, {
diff --git a/admin/src/components/business/OperaShopWindow.vue b/admin/src/components/business/OperaShopWindow.vue
index 33fe966..aacc499 100644
--- a/admin/src/components/business/OperaShopWindow.vue
+++ b/admin/src/components/business/OperaShopWindow.vue
@@ -1,114 +1,65 @@
<template>
<GlobalWindow
:title="title"
+ width="70%"
:visible.sync="visible"
:confirm-working="isWorking"
@confirm="confirm"
>
<el-form :model="form" ref="form" :rules="rules">
- <el-form-item label="鍒涘缓浜虹紪鐮�" prop="creator">
- <el-input v-model="form.creator" placeholder="璇疯緭鍏ュ垱寤轰汉缂栫爜" v-trim/>
+ <div>
+ <el-form-item label="鎵�灞炲尯鍩�" prop="provinceCode" label-width="100px">
+ <div class="address-plus">
+ <el-select v-model="form.provinceCode" placeholder="璇烽�夋嫨鐪佷唤" @change="selectProvince" style="width:150px; margin-right: 25px" >
+ <el-option
+ v-for="item in provinces"
+ :key="item.id"
+ :value="item.id"
+ :label="item.name"
+ ></el-option>
+ </el-select>
+ <el-select v-model="form.cityCode" placeholder="璇烽�夋嫨鍩庡競" @change="selectCity" style="width:150px; margin-right: 25px">
+ <el-option
+ v-for="item in cities"
+ :key="item.id"
+ :value="item.id"
+ :label="item.name"
+ ></el-option>
+ </el-select>
+ <el-select v-model="form.areaCode" placeholder="璇烽�夋嫨鍘垮尯" @change="selectArea" style="width:150px; margin-right: 22px">
+ <el-option
+ v-for="item in areas"
+ :key="item.id"
+ :value="item.id"
+ :label="item.name"
+ ></el-option>
+ </el-select>
+ </div>
+ </el-form-item>
+ </div>
+ <el-form-item label="鑱旂郴浜�" prop="linkerName" label-width="100px">
+ <el-input v-model="form.linkerName" placeholder="璇疯緭鍏ヨ仈绯讳汉" v-trim style="width:500px; "/>
</el-form-item>
- <el-form-item label="鍒涘缓鏃堕棿" prop="createDate">
- <el-date-picker v-model="form.createDate" value-format="yyyy-MM-dd" placeholder="璇疯緭鍏ュ垱寤烘椂闂�"></el-date-picker>
+ <el-form-item label="鑱旂郴鐢佃瘽" prop="linkPhone" label-width="100px">
+ <el-input v-model="form.linkPhone" placeholder="璇疯緭鍏ヨ仈绯荤數璇�" v-trim style="width:500px; "/>
</el-form-item>
- <el-form-item label="鏇存柊浜虹紪鐮�" prop="editor">
- <el-input v-model="form.editor" placeholder="璇疯緭鍏ユ洿鏂颁汉缂栫爜" v-trim/>
+ <el-form-item label="璇︾粏鍦板潃" prop="address" label-width="100px">
+ <el-input v-model="form.address" placeholder="璇疯緭鍏ヨ缁嗗湴鍧�" v-trim style="width:500px; " @blur="changeMapCenter"/>
</el-form-item>
- <el-form-item label="鏇存柊鏃堕棿" prop="editDate">
- <el-date-picker v-model="form.editDate" value-format="yyyy-MM-dd" placeholder="璇疯緭鍏ユ洿鏂版椂闂�"></el-date-picker>
- </el-form-item>
- <el-form-item label="鏄惁鍒犻櫎0鍚� 1鏄�" prop="isdeleted">
- <el-input v-model="form.isdeleted" placeholder="璇疯緭鍏ユ槸鍚﹀垹闄�0鍚� 1鏄�" v-trim/>
- </el-form-item>
- <el-form-item label="澶囨敞" prop="remark">
- <el-input v-model="form.remark" placeholder="璇疯緭鍏ュ娉�" v-trim/>
- </el-form-item>
- <el-form-item label="閮ㄩ棬id" prop="orgId">
- <el-input v-model="form.orgId" placeholder="璇疯緭鍏ラ儴闂╥d" v-trim/>
- </el-form-item>
- <el-form-item label="閮ㄩ棬鍚嶇О" prop="name">
- <el-input v-model="form.name" placeholder="璇疯緭鍏ラ儴闂ㄥ悕绉�" v-trim/>
- </el-form-item>
- <el-form-item label="閮ㄩ棬U瀹㈢粍缁噄d" prop="orgOldId">
- <el-input v-model="form.orgOldId" placeholder="璇疯緭鍏ラ儴闂║瀹㈢粍缁噄d" v-trim/>
- </el-form-item>
- <el-form-item label="涓婄骇缁勭粐Id" prop="parentId">
- <el-input v-model="form.parentId" placeholder="璇疯緭鍏ヤ笂绾х粍缁嘔d" v-trim/>
- </el-form-item>
- <el-form-item label="鐘舵��" prop="status">
- <el-input v-model="form.status" placeholder="璇疯緭鍏ョ姸鎬�" v-trim/>
- </el-form-item>
- <el-form-item label="鎺掑簭鐮�" prop="orderNum">
- <el-input v-model="form.orderNum" placeholder="璇疯緭鍏ユ帓搴忕爜" v-trim/>
- </el-form-item>
- <el-form-item label="缁勭粐SF瀛樻斁鐮�" prop="sourceCode">
- <el-input v-model="form.sourceCode" placeholder="璇疯緭鍏ョ粍缁嘢F瀛樻斁鐮�" v-trim/>
- </el-form-item>
- <el-form-item label="缁勭粐缂栫爜" prop="code">
- <el-input v-model="form.code" placeholder="璇疯緭鍏ョ粍缁囩紪鐮�" v-trim/>
- </el-form-item>
- <el-form-item label="缁勭粐绫诲瀷1:涓�浣撳晢 ,2:鍔犵洘鍟�,3:搴楅潰锛�4:閮ㄩ棬(HR/鍔�)锛�5:铏氭嫙搴楅潰(鍔�/铏�)" prop="type">
- <el-input v-model="form.type" placeholder="璇疯緭鍏ョ粍缁囩被鍨�1:涓�浣撳晢 ,2:鍔犵洘鍟�,3:搴楅潰锛�4:閮ㄩ棬(HR/鍔�)锛�5:铏氭嫙搴楅潰(鍔�/铏�)" v-trim/>
- </el-form-item>
- <el-form-item label="閮ㄩ棬灞炴�э紙1:瀹炰綋搴楅潰銆�2:铏氭嫙搴楅潰銆�3:鐢靛晢閮ㄣ��4:娓犻亾閮ㄣ��5:璐㈠姟閮級" prop="attribute">
- <el-input v-model="form.attribute" placeholder="璇疯緭鍏ラ儴闂ㄥ睘鎬э紙1:瀹炰綋搴楅潰銆�2:铏氭嫙搴楅潰銆�3:鐢靛晢閮ㄣ��4:娓犻亾閮ㄣ��5:璐㈠姟閮級" v-trim/>
- </el-form-item>
- <el-form-item label="浼佷笟寰俊缁勭粐ID" prop="weixinId">
- <el-input v-model="form.weixinId" placeholder="璇疯緭鍏ヤ紒涓氬井淇$粍缁嘔D" v-trim/>
- </el-form-item>
- <el-form-item label="閽夐拤閮ㄩ棬ID" prop="dingdingId">
- <el-input v-model="form.dingdingId" placeholder="璇疯緭鍏ラ拤閽夐儴闂↖D" v-trim/>
- </el-form-item>
- <el-form-item label="鏈�杩戝悓姝ユ椂闂�" prop="syncDate">
- <el-date-picker v-model="form.syncDate" value-format="yyyy-MM-dd" placeholder="璇疯緭鍏ユ渶杩戝悓姝ユ椂闂�"></el-date-picker>
- </el-form-item>
- <el-form-item label="鏈�杩戝悓姝ュ娉�" prop="syncInfo">
- <el-input v-model="form.syncInfo" placeholder="璇疯緭鍏ユ渶杩戝悓姝ュ娉�" v-trim/>
- </el-form-item>
- <el-form-item label="鎵�灞炲叧鑱擣鐮�" prop="fcode">
- <el-input v-model="form.fcode" placeholder="璇疯緭鍏ユ墍灞炲叧鑱擣鐮�" v-trim/>
- </el-form-item>
- <el-form-item label="鎵�灞炲叧鑱擲鐮�" prop="scode">
- <el-input v-model="form.scode" placeholder="璇疯緭鍏ユ墍灞炲叧鑱擲鐮�" v-trim/>
- </el-form-item>
- <el-form-item label="ZCODE" prop="zcode">
- <el-input v-model="form.zcode" placeholder="璇疯緭鍏CODE" v-trim/>
- </el-form-item>
- <el-form-item label="鍏宠仈S鐮�" prop="glCode">
- <el-input v-model="form.glCode" placeholder="璇疯緭鍏ュ叧鑱擲鐮�" v-trim/>
- </el-form-item>
- <el-form-item label="鍏宠仈S鐮佸悕绉�" prop="glName">
- <el-input v-model="form.glName" placeholder="璇疯緭鍏ュ叧鑱擲鐮佸悕绉�" v-trim/>
- </el-form-item>
- <el-form-item label="鍥藉" prop="country">
- <el-input v-model="form.country" placeholder="璇疯緭鍏ュ浗瀹�" v-trim/>
- </el-form-item>
- <el-form-item label="鐪佷唤缂栫爜" prop="provinceCode">
- <el-input v-model="form.provinceCode" placeholder="璇疯緭鍏ョ渷浠界紪鐮�" v-trim/>
- </el-form-item>
- <el-form-item label="鐪佷唤鍚嶇О" prop="provinceName">
- <el-input v-model="form.provinceName" placeholder="璇疯緭鍏ョ渷浠藉悕绉�" v-trim/>
- </el-form-item>
- <el-form-item label="鍩庡競鐮�" prop="cityCode">
- <el-input v-model="form.cityCode" placeholder="璇疯緭鍏ュ煄甯傜爜" v-trim/>
- </el-form-item>
- <el-form-item label="鍩庡競鍚嶇О" prop="cityName">
- <el-input v-model="form.cityName" placeholder="璇疯緭鍏ュ煄甯傚悕绉�" v-trim/>
- </el-form-item>
- <el-form-item label="鍖哄幙缂栫爜" prop="areaCode">
- <el-input v-model="form.areaCode" placeholder="璇疯緭鍏ュ尯鍘跨紪鐮�" v-trim/>
- </el-form-item>
- <el-form-item label="鍖哄幙鍚嶇О" prop="areaName">
- <el-input v-model="form.areaName" placeholder="璇疯緭鍏ュ尯鍘垮悕绉�" v-trim/>
- </el-form-item>
- <el-form-item label="鍝佺被缂栫爜" prop="unitCode">
- <el-input v-model="form.unitCode" placeholder="璇疯緭鍏ュ搧绫荤紪鐮�" v-trim/>
+ <el-form-item label="缁忕含搴�" prop="posInfo" label-width="100px">
+ <el-input v-model="form.longitude" clearable placeholder="鐐瑰嚮鍦板浘鑾峰彇缁忓害" v-trim style="width:245px; "/>-
+ <el-input v-model="form.latitude" clearable placeholder="鐐瑰嚮鍦板浘鑾峰彇缁村害" v-trim style="width:245px; "/>
</el-form-item>
</el-form>
+ <div class="map-box">
+ <div id="mapContainer" ref="mapContainer" style="width:80%;margin-left:10%;height:400px;overflow: hidden;" ></div>
+ <div class="map-search">
+ <el-input v-model="searchValue" placeholder="璇疯緭鍏ヨ妫�绱㈢殑浣嶇疆淇℃伅" />
+ <el-button @click="searchAddress(searchValue)" type="primary">鎼滅储</el-button>
+ </div>
+ </div>
</GlobalWindow>
</template>
-
<script>
import BaseOpera from '@/components/base/BaseOpera'
import GlobalWindow from '@/components/common/GlobalWindow'
@@ -118,43 +69,33 @@
components: { GlobalWindow },
data () {
return {
+ geocoder: null,
+ map: [],
+ searchValue:'',
+ marker:null,
// 琛ㄥ崟鏁版嵁
+ provinces: [],
+ cities: [],
+ areas: [],
form: {
id: null,
- creator: '',
- createDate: '',
- editor: '',
- editDate: '',
- isdeleted: '',
- remark: '',
- orgId: '',
- name: '',
- orgOldId: '',
- parentId: '',
- status: '',
- orderNum: '',
- sourceCode: '',
- code: '',
- type: '',
- attribute: '',
- weixinId: '',
- dingdingId: '',
- syncDate: '',
- syncInfo: '',
- fcode: '',
- scode: '',
- zcode: '',
- glCode: '',
- glName: '',
- country: '',
+ provinceId: '',
provinceCode: '',
provinceName: '',
cityCode: '',
+ cityId: '',
cityName: '',
+ areaId: '',
areaCode: '',
areaName: '',
- unitCode: ''
+ longitude: '',
+ latitude: '',
+ address: '',
+ linkPhone: '',
+ posInfo: '',
+ linkerName: ''
},
+ geolocation: null,
// 楠岃瘉瑙勫垯
rules: {
}
@@ -165,6 +106,153 @@
api: '/business/shop',
'field.id': 'id'
})
+ },
+ methods: {
+ searchAddress( ){
+ if(this.geocoder && this.searchValue){
+ this.geocoder.getLocation(this.searchValue)
+ }
+ },
+ initMap (lat, long) {
+ const that = this
+ var center = new qq.maps.LatLng(lat || 39.916527, long || 116.397128)// 榛樿鍖椾含澶╁畨闂�
+ this.map = new qq.maps.Map(document.getElementById('mapContainer'), {
+ center: center,
+ zoom: 17
+ })
+ this.changePostion(long,lat)
+ qq.maps.event.addListener(this.map, 'click',
+ function (event) {
+ that.changePostion(event.latLng.lng, event.latLng.lat)
+ }
+ )
+ this.geocoder = new qq.maps.Geocoder()
+ this.geocoder.setComplete(function (result) {
+ that.changePostion(result.detail.location.lng,result.detail.location.lat)
+ })
+ // 鑻ユ湇鍔¤姹傚け璐ワ紝鍒欒繍琛屼互涓嬪嚱鏁�
+ this.geocoder.setError(function () {
+ console.log('閫嗚В鏋愬け璐�')
+ })
+ },
+ open (title, target) {
+ this.title = title
+ this.visible = true
+ this.form.provinceId = ''
+ this.form.cityId = ''
+ this.searchValue = ''
+ if (target == null) {
+ this.$nextTick(() => {
+ this.$refs.form.resetFields()
+ this.form[this.configData['field.id']] = null
+ this.loadProvince(this.form.provinceId, true)
+ })
+ return
+ }
+ this.$nextTick(() => {
+ for (const key in this.form) {
+ this.form[key] = target[key]
+ }
+ this.loadProvince(this.form.provinceId, true)
+ const mapContainer = this.$refs.mapContainer // 鑾峰彇鍦板浘瀹瑰櫒
+ if (mapContainer) {
+ // 鍒濆鍖栧湴鍥句箣鍓嶆鏌ュ鍣ㄦ槸鍚﹀瓨鍦�
+ this.initMap(this.form.latitude,this.form.longitude)
+ // 鍒濆鍖栬吘璁湴鍥�
+ }
+ })
+ },
+ loadProvince () {
+ this.api.areaList({ pid: '1' })
+ .then(res => {
+ this.provinces = res
+ })
+ },
+ // 閫夋嫨鐪佷唤
+ selectProvince (val) {
+ this.provinces.forEach(item => {
+ if (item.id == val) {
+ this.form.provinceName = item.name
+ }
+ })
+ this.cities = []
+ this.areas = []
+ this.form.cityName = ''
+ this.form.areaCode = ''
+ this.form.cityCode = ''
+ this.form.areaName = ''
+ if(!val || val ==''){
+ return
+ }
+ this.api.areaList({ pid: val })
+ .then(res => {
+ this.cities = res
+ this.selectCity(this.form.cityId)
+ })
+ },
+ // 閫夋嫨鍩庡競
+ selectCity (val) {
+ this.cities.forEach(item => {
+ if (item.id == val) {
+ this.form.cityName = item.name
+ }
+ })
+ this.areas = []
+ this.form.areaCode = ''
+ this.form.areaName = ''
+ if(!val || val ==''){
+ return
+ }
+ this.api.areaList({ pid: val })
+ .then(res => {
+ this.areas = res
+ })
+ },
+ selectArea (val) {
+ this.areas.forEach(item => {
+ if (item.id == val) {
+ this.form.areaName = item.name
+ }
+ })
+ },
+ changeMapCenter(){
+ this.searchValue = (this.form.provinceName||'')+(this.form.cityName||'')+(this.form.areaName||'')+(this.form.address||'')
+ this.searchAddress()
+ },
+ changePostion (lng, lat) {
+ if (lng || lat) {
+ this.form.longitude = lng
+ this.form.latitude = lat
+ if(this.map){
+ if(this.marker){
+ this.marker.setMap(null)
+ }
+ var pos =new qq.maps.LatLng(lat,lng);
+ this.map.setCenter(pos)
+ this.marker= new qq.maps.Marker({
+ position: pos,
+ animation:qq.maps.MarkerAnimation.DROP,
+ map:this.map
+ })
+ }
+ }
+ }
}
}
</script>
+<style scoped>
+.map-box {
+ position: relative;
+}
+.map-search {
+ z-index: 1000;
+ display: flex;
+ position: absolute;
+ top: 20px;
+ left: 120px;
+ width: 350px;
+}
+button {
+ border-radius: 0;
+}
+</style>
diff --git a/admin/src/views/business/departments.vue b/admin/src/views/business/departments.vue
new file mode 100644
index 0000000..b9c6288
--- /dev/null
+++ b/admin/src/views/business/departments.vue
@@ -0,0 +1,134 @@
+<template>
+ <TableLayout :permissions="['business:shop:query']">
+ <!-- 鎼滅储琛ㄥ崟 -->
+ <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
+ <el-form-item label="" prop="name">
+ <el-input v-model="searchForm.name" placeholder="璇疯緭鍏ラ儴闂ㄥ悕绉�" @keypress.enter.native="search"></el-input>
+ </el-form-item>
+ <el-form-item label="" prop="parentId">
+ <el-input v-model="searchForm.parentName" placeholder="璇疯緭鍏ヤ笂绾х粍缁囧悕绉�/缂栫爜" @keypress.enter.native="search"></el-input>
+ </el-form-item>
+ <el-form-item label="" prop="code">
+ <el-input v-model="searchForm.code" placeholder="璇疯緭鍏ョ粍缁囩紪鐮�" @keypress.enter.native="search"></el-input>
+ </el-form-item>
+ <el-form-item label="" prop="provinceName">
+ <el-input v-model="searchForm.provinceName" placeholder="璇疯緭鍏ョ渷浠藉悕绉�" @keypress.enter.native="search"></el-input>
+ </el-form-item>
+ <el-form-item label="" prop="cityName">
+ <el-input v-model="searchForm.cityName" placeholder="璇疯緭鍏ュ煄甯傚悕绉�" @keypress.enter.native="search"></el-input>
+ </el-form-item>
+ <el-form-item label="" prop="areaName">
+ <el-input v-model="searchForm.areaName" placeholder="璇疯緭鍏ュ尯鍘垮悕绉�" @keypress.enter.native="search"></el-input>
+ </el-form-item>
+ <section>
+ <el-button type="primary" @click="search">鎼滅储</el-button>
+ <el-button type="primary" :loading="isWorking.export" v-permissions="['business:shop:exportExcel']" @click="exportExcel">瀵煎嚭</el-button>
+ <el-button @click="reset">閲嶇疆</el-button>
+ </section>
+ </el-form>
+ <!-- 琛ㄦ牸鍜屽垎椤� -->
+ <template v-slot:table-wrap>
+<!-- <ul class="toolbar" v-permissions="['business:shop:create', 'business:shop:delete']">
+ <li><el-button type="primary" @click="$refs.operaShopWindow.open('鏂板缓蹇楅偊缁勭粐淇℃伅琛�')" icon="el-icon-plus" v-permissions="['business:shop:create']">鏂板缓</el-button></li>
+ <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:shop:delete']">鍒犻櫎</el-button></li>
+ </ul>-->
+ <el-table
+ v-loading="isWorking.search"
+ :data="tableData.list"
+ stripe
+ @selection-change="handleSelectionChange"
+ >
+ <el-table-column prop="搴忓彿" width="55"><template slot-scope="scope">{{scope.$index+1}}</template></el-table-column>
+ <el-table-column prop="name" label="闂ㄥ簵鍚嶇О" min-width="150px" align="center"></el-table-column>
+ <el-table-column prop="code" label="缂栫爜" min-width="120px" align="center"></el-table-column>
+ <el-table-column prop="status" label="鐘舵��" min-width="80px">
+ <template scope="{row}">
+ <span v-if="row.status == 0" style="color: red">鍋滅敤</span>
+ <span v-if="row.status == 1" style="color: green">姝e父</span>
+ <span v-if="row.status == -1" style="color: grey">宸插垹闄�</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="namePath" label="缁勭粐璺緞" min-width="200px" align="center"></el-table-column>
+ <el-table-column prop="provinceName" label="鐪佸競鍖�" min-width="200px" align="center">
+ <template slot-scope="{row}">
+ {{row.country}}
+ {{row.provinceName}}
+ {{row.cityName}}
+ {{row.areaName}}
+ {{row.town}}
+ </template>
+ </el-table-column>
+
+ <el-table-column prop="linkerName" label="鑱旂郴浜�" min-width="100px" align="center"></el-table-column>
+ <el-table-column prop="linkPhone" label="鑱旂郴鐢佃瘽" min-width="100px" align="center"></el-table-column>
+ <el-table-column prop="address" label="璇︾粏鍦板潃" min-width="200px" align="center"></el-table-column>
+ <el-table-column prop="longitude" label="缁忕含搴�" min-width="150px" align="center">
+ <template slot-scope="{row}">
+ [{{row.longitude}},{{row.latitude}}]
+ </template>
+ </el-table-column>
+ <!--
+ <el-table-column prop="syncDate" label="鏈�鍚庡悓姝ユ椂闂�" min-width="120px"></el-table-column>
+ -->
+ <el-table-column prop="editDate" label="鏈�鍚庢洿鏂版椂闂�" min-width="130px"
+ align="center"></el-table-column>
+ <el-table-column
+ v-if="containPermissions(['business:member:update', 'business:member:delete'])"
+ label="鎿嶄綔"
+ min-width="100"
+ align="center"
+ fixed="right"
+ >
+ <template slot-scope="{row}">
+ <el-button type="text" @click="$refs.operaShopWindow.open('缂栬緫闂ㄥ簵淇℃伅琛�', row)" icon="el-icon-edit" v-permissions="['business:shop:update']">缂栬緫</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ <pagination
+ @size-change="handleSizeChange"
+ @current-change="handlePageChange"
+ :pagination="tableData.pagination"
+ >
+ </pagination>
+ </template>
+ <!-- 鏂板缓/淇敼 -->
+ <OperaShopWindow ref="operaShopWindow" @success="handlePageChange"/>
+ </TableLayout>
+</template>
+
+<script>
+import BaseTable from '@/components/base/BaseTable'
+import TableLayout from '@/layouts/TableLayout'
+import Pagination from '@/components/common/Pagination'
+import OperaShopWindow from '@/components/business/OperaShopWindow'
+export default {
+ name: 'Shop',
+ extends: BaseTable,
+ components: { TableLayout, Pagination, OperaShopWindow },
+ data () {
+ return {
+ // 鎼滅储
+ searchForm: {
+ name: '',
+ parentName: '',
+ status: '',
+ code: '',
+ secondType: 3,
+ type: 2,
+ provinceName: '',
+ cityName: '',
+ areaName: ''
+ }
+ }
+ },
+ created () {
+ this.config({
+ module: '蹇楅偊闂ㄥ簵淇℃伅琛�',
+ api: '/business/shop',
+ 'field.id': 'id',
+ 'field.main': 'id'
+ })
+ this.search()
+ }
+}
+</script>
diff --git a/server/admin/src/main/java/com/doumee/api/business/PushController.java b/server/admin/src/main/java/com/doumee/api/business/PushController.java
index 3190d34..9ee9794 100644
--- a/server/admin/src/main/java/com/doumee/api/business/PushController.java
+++ b/server/admin/src/main/java/com/doumee/api/business/PushController.java
@@ -38,7 +38,7 @@
ApiResponse<String> r = null;
try {
zbomIAMService.updateShopInfo(token,uuid,timestamp,shopList);
- r = ApiResponse.success("鎿嶄綔鎴愬姛");
+ r = ApiResponse.successIam("鎿嶄綔鎴愬姛");
}catch (BusinessException e){
success = Constants.ONE;
r = ApiResponse.failed(StringUtils.defaultString(e.getMessage(),"鎿嶄綔澶辫触"));
@@ -47,7 +47,7 @@
success = Constants.ONE;
r = ApiResponse.failed("鎿嶄綔澶辫触");
}finally {
- zbomIAMService.saveInterfaceLog("/push/iam/updateUserInfo",Constants.ONE,"IAM鎺ㄩ�佷汉鍛樿处鍙蜂俊鎭�", token, uuid, timestamp, shopList,success, JSONObject.toJSONString(r));
+ zbomIAMService.saveInterfaceLog("/push/iam/updateUserInfo",Constants.ONE,"IAM鎺ㄩ�佺粍缁囦俊鎭�", token, uuid, timestamp, shopList,success, JSONObject.toJSONString(r));
}
return r;
}
diff --git a/server/admin/src/main/java/com/doumee/api/business/ZhongTaiController.java b/server/admin/src/main/java/com/doumee/api/business/ZhongTaiController.java
new file mode 100644
index 0000000..e82ac66
--- /dev/null
+++ b/server/admin/src/main/java/com/doumee/api/business/ZhongTaiController.java
@@ -0,0 +1,48 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+import com.doumee.biz.zbom.ZbomZhongTaiService;
+import com.doumee.biz.zbom.model.zhongtai.ZTAreaListRequest;
+import com.doumee.biz.zbom.model.zhongtai.response.ZTAreaInfoResponse;
+import com.doumee.core.annotation.excel.ExcelExporter;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
+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.request.UpdateShopSortDTO;
+import com.doumee.dao.business.model.Shop;
+import com.doumee.dao.business.vo.ShopTreeVo;
+import com.doumee.service.business.ShopService;
+import io.swagger.annotations.*;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/07/04 14:40
+ */
+@Api(tags = "涓彴瀵规帴鎺ュ彛")
+@RestController
+@RequestMapping("/business/zhongtai")
+public class ZhongTaiController extends BaseController {
+
+ @Autowired
+ private ZbomZhongTaiService zhongTaiService;
+ @ApiOperation("鏍规嵁鐖剁骇缂栫爜鑾峰彇鐪佸尯鏁版嵁")
+ @PostMapping("/areaList")
+ public ApiResponse<List<ZTAreaInfoResponse>> areaList (@RequestBody ZTAreaListRequest param){
+ return ApiResponse.success(zhongTaiService.getAreaList(param));
+ }
+}
diff --git a/server/service/src/main/java/com/doumee/biz/zbom/impl/ZbomIAMServiceImpl.java b/server/service/src/main/java/com/doumee/biz/zbom/impl/ZbomIAMServiceImpl.java
index 5ac9ef0..b59e848 100644
--- a/server/service/src/main/java/com/doumee/biz/zbom/impl/ZbomIAMServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/biz/zbom/impl/ZbomIAMServiceImpl.java
@@ -87,7 +87,7 @@
shop.setCreateDate(date);
addShops.add(initShopInfo(shop,model,date));
}else {
- segDelOrgIds.add(shop.getOrgId());
+ segDelOrgIds.add(shop.getCode());
updateShops.add(initShopInfo(shop,model,date));
}
//澶勭悊鍝佺被鏁版嵁閫昏緫
@@ -194,7 +194,7 @@
data.setCreateDate(date);
data.setEditDate(date);
data.setIsdeleted(Constants.ZERO);
- data.setOrgId(shop.getOrgId());
+ data.setOrgId(shop.getCode());
data.setSegId(model.getSegment1());
data.setSegId2(model.getSegment2());
data.setSegId3(model.getSegment3());
diff --git a/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTZbDecoInfoResponse.java b/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTZbDecoInfoResponse.java
index b3adea3..2f20d30 100644
--- a/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTZbDecoInfoResponse.java
+++ b/server/service/src/main/java/com/doumee/biz/zbom/model/zhongtai/response/ZTZbDecoInfoResponse.java
@@ -11,24 +11,30 @@
@Data
public class ZTZbDecoInfoResponse implements Serializable {
private String author;
- /**
- * 鏀惰棌閲�
- */
private long collectCount;
- private String id;
/**
- * 鏄惁鏀惰棌 true:鏀惰棌 false:鏈敹钘�
+ * 鍐呭
+ */
+ private String content;
+ /**
+ * 鍐呭绫诲瀷(鏂囨湰text銆侀摼鎺ink銆佽棰憊ideo銆佷骇鍝乸roduct)
+ */
+ private String contentType;
+ /**
+ * 灏侀潰鍥�
+ */
+ private String coverImage;
+ /**
+ * id
+ */
+ private String id;
+ private String intro;
+ /**
+ * 鏄惁鏀惰棌
*/
private boolean isCollection;
private String langCode;
- /**
- * 鍠滄鏁�
- */
private long likeCount;
- /**
- * 鏂囩珷鍦板潃
- */
- private String linkUrl;
private String publishDepartment;
/**
* 鍙戝竷鏃ユ湡
@@ -40,9 +46,5 @@
* 鏍囬
*/
private String title;
- /**
- * 鏌ョ湅閲�
- */
- private long viewCount;
-
+ private String viewCount;
}
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/CategorySegServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/CategorySegServiceImpl.java
index 36afa7f..a5a95be 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/CategorySegServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/CategorySegServiceImpl.java
@@ -160,6 +160,9 @@
if (pageWrap.getModel().getScode() != null) {
queryWrapper.lambda().eq(CategorySeg::getScode, pageWrap.getModel().getScode());
}
+ if (pageWrap.getModel().getOrgId() != null) {
+ queryWrapper.lambda().eq(CategorySeg::getOrgId, pageWrap.getModel().getOrgId());
+ }
for(PageWrap.SortData sortData: pageWrap.getSorts()) {
if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
queryWrapper.orderByDesc(sortData.getProperty());
--
Gitblit v1.9.3