From 081b2afc94c32a1c5e735e2f6b971d9fe1ff9b4f Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期日, 28 九月 2025 09:15:55 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/wuhuyancao' into wuhuyancao

---
 server/system_service/src/main/java/com/doumee/core/utils/Constants.java                              |    1 
 admin/src/api/business/member.js                                                                      |    5 
 admin/src/views/business/categoryJkBanner.vue                                                         |   91 ++++++++++++++++++
 admin/src/views/business/categoryJkLine.vue                                                           |   84 ++++++++++++++++
 admin/src/views/vehicle/category.vue                                                                  |    4 
 admin/src/components/business/OperaInternalCompanyWindow.vue                                          |    4 
 admin/src/views/vehicle/components/OperaCategoryWindow.vue                                            |    4 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Category.java               |    4 
 admin/src/views/business/inoutRecord.vue                                                              |    4 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java |    9 +
 admin/src/views/business/internalCompany.vue                                                          |   24 ++++
 admin/src/views/task/index.vue                                                                        |    8 
 admin/src/api/business/company.js                                                                     |    3 
 admin/src/views/business/internalMember.vue                                                           |   34 +++++-
 14 files changed, 256 insertions(+), 23 deletions(-)

diff --git a/admin/src/api/business/company.js b/admin/src/api/business/company.js
index da1ff1a..b1ecbcc 100644
--- a/admin/src/api/business/company.js
+++ b/admin/src/api/business/company.js
@@ -37,6 +37,9 @@
 export function companySync (data) {
   return request.post('/visitsAdmin/cloudService/business/company/syncAll', data)
 }
+export function companySyncDingding (data) {
+  return request.post('/visitsAdmin/cloudService/business/company/syncAllDingding', data)
+}
 // 鍒嗛〉鏌ヨ
 export function companyGetList (data) {
   return request.post('/visitsAdmin/cloudService/business/company/page', data)
diff --git a/admin/src/api/business/member.js b/admin/src/api/business/member.js
index 2b31162..9492c36 100644
--- a/admin/src/api/business/member.js
+++ b/admin/src/api/business/member.js
@@ -19,10 +19,13 @@
     trim: true
   })
 }
-// 閮ㄩ棬淇℃伅鍚屾
+// 淇℃伅鍚屾
 export function memberSync (data) {
   return request.post('/visitsAdmin/cloudService/business/member/syncAll', data)
 }
+export function memberSyncDingding (data) {
+  return request.post('/visitsAdmin/cloudService/business/member/syncAllDingding', data)
+}
 export function delHkForce (data) {
   return request.post('/visitsAdmin/cloudService/business/member/delHkForce', data)
 }
diff --git a/admin/src/components/business/OperaInternalCompanyWindow.vue b/admin/src/components/business/OperaInternalCompanyWindow.vue
index 783f6b9..edaf287 100644
--- a/admin/src/components/business/OperaInternalCompanyWindow.vue
+++ b/admin/src/components/business/OperaInternalCompanyWindow.vue
@@ -18,10 +18,10 @@
             <el-form-item label="鎺掑簭鐮�" prop="sortnum">
                 <el-input v-model="form.sortnum" placeholder="璇疯緭鍏ユ帓搴忕爜" v-trim/>
             </el-form-item>
-          <el-form-item label="缁勭粐绫诲瀷" prop="type" v-if="(editType === 'edit' && parentId) || (editType === 'add')">
+          <el-form-item label="缁勭粐绫诲瀷" prop="type" v-if="(editType === 'edit' && parentId) || (editType === 'add')" >
             <el-radio-group v-model="form.type" :disabled="(editType === 'edit') || (!!(editType === 'add' && parentId))">
               <el-radio :label="0">鐩稿叧鏂圭粍缁�</el-radio>
-              <el-radio :label="1">鍐呴儴缁勭粐</el-radio>
+<!--              <el-radio :label="1">鍐呴儴缁勭粐</el-radio>-->
             </el-radio-group>
           </el-form-item>
         </el-form>
diff --git a/admin/src/views/business/categoryJkBanner.vue b/admin/src/views/business/categoryJkBanner.vue
new file mode 100644
index 0000000..9a091d8
--- /dev/null
+++ b/admin/src/views/business/categoryJkBanner.vue
@@ -0,0 +1,91 @@
+<template>
+  <TableLayout :permissions="['business:category:query']">
+    <!-- 鎼滅储琛ㄥ崟 -->
+    <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="120px" inline>
+      <el-form-item label="骞垮憡鍚嶇О" prop="name">
+        <el-input v-model="searchForm.name" clearable placeholder="璇疯緭鍏ュ箍鍛婂悕绉�" @keypress.enter.native="search"></el-input>
+      </el-form-item>
+      <section>
+        <el-button type="primary" @click="search">鎼滅储</el-button>
+        <el-button @click="reset">閲嶇疆</el-button>
+      </section>
+    </el-form>
+    <!-- 琛ㄦ牸鍜屽垎椤� -->
+    <template v-slot:table-wrap>
+      <ul class="toolbar" v-permissions="['business:category:create','business:category:delete']">
+        <li><el-button type="primary" @click="$refs.OperaCategoryFileWindow.open('鏂板缓骞垮憡')" icon="el-icon-plus" v-permissions="['business:category:create']">鏂板缓</el-button></li>
+        <li><el-button type="danger" @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:category:delete']">鎵归噺鍒犻櫎</el-button></li>
+      </ul>
+      <el-table
+          :height="tableHeightNew"
+          v-loading="isWorking.search"
+          :data="tableData.list"
+          stripe
+          @selection-change="handleSelectionChange"
+      >
+        <el-table-column type="selection" width="55"></el-table-column>
+        <el-table-column prop="name" show-overflow-tooltip label="骞垮憡" min-width="120px"></el-table-column>
+        <el-table-column prop="imgurl" show-overflow-tooltip label="" min-width="120px">
+          <template slot-scope="{row}">
+            <el-image v-if="row.imgurlFull" style="width: 60px; height: 60px" :src="row.imgurlFull"
+                      :preview-src-list="[row.imgurlFull]">
+            </el-image>
+          </template>
+        </el-table-column>
+        <el-table-column prop="sortnum" label="鎺掑簭鐮�"  min-width="70px"></el-table-column>
+        <el-table-column prop="editDate" label="鎿嶄綔鏃堕棿" width="160px"></el-table-column>
+        <el-table-column
+            v-if="containPermissions(['business:category:update', 'business:category:delete' ])"
+            label="鎿嶄綔"
+            min-width="140"
+            fixed="right"
+        >
+          <template slot-scope="{row}">
+            <el-button type="text" icon="el-icon-edit" @click="$refs.OperaCategoryFileWindow.open('缂栬緫骞垮憡',row)" v-permissions="['business:category:update']">缂栬緫</el-button>
+            <el-button  type="text"  icon="el-icon-delete" @click="deleteById(row)" style="color: red" v-permissions="['business:category:delete']">鍒犻櫎</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <pagination
+          @size-change="handleSizeChange"
+          @current-change="handlePageChange"
+          :pagination="tableData.pagination"
+      >
+      </pagination>
+    </template>
+    <!-- 鏂板缓/淇敼 -->
+    <OperaCategoryFileWindow ref="OperaCategoryFileWindow" @success="handlePageChange"/>
+  </TableLayout>
+</template>
+
+<script>
+import BaseTable from '@/components/base/BaseTable'
+import TableLayout from '@/layouts/TableLayout'
+import Pagination from '@/components/common/Pagination'
+import OperaCategoryFileWindow from '@/components/business/OperaCategoryFileWindow'
+export default {
+  name: 'areaSet',
+  extends: BaseTable,
+  components: { TableLayout, Pagination, OperaCategoryFileWindow },
+  data () {
+    return {
+      // 鎼滅储
+      searchForm: {
+        name: '',
+        type: 4
+      }
+    }
+  },
+  created () {
+    this.config({
+      module: '骞垮憡',
+      api: '/business/category',
+      'field.id': 'id',
+      'field.main': 'id'
+    })
+    this.search()
+  },
+  methods: {
+  }
+}
+</script>
diff --git a/admin/src/views/business/categoryJkLine.vue b/admin/src/views/business/categoryJkLine.vue
new file mode 100644
index 0000000..f1a7a9d
--- /dev/null
+++ b/admin/src/views/business/categoryJkLine.vue
@@ -0,0 +1,84 @@
+<template>
+  <TableLayout :permissions="['business:category:query']">
+    <!-- 鎼滅储琛ㄥ崟 -->
+    <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="120px" inline>
+      <el-form-item label="涓荤嚎璺悕绉�" prop="name">
+        <el-input v-model="searchForm.name" clearable placeholder="璇疯緭鍏ヤ富绾胯矾鍚嶇О" @keypress.enter.native="search"></el-input>
+      </el-form-item>
+      <section>
+        <el-button type="primary" @click="search">鎼滅储</el-button>
+        <el-button @click="reset">閲嶇疆</el-button>
+      </section>
+    </el-form>
+    <!-- 琛ㄦ牸鍜屽垎椤� -->
+    <template v-slot:table-wrap>
+      <ul class="toolbar" v-permissions="['business:category:create','business:category:delete']">
+        <li><el-button type="primary" @click="$refs.OperaCategoryFileWindow.open('鏂板缓涓荤嚎璺�')" icon="el-icon-plus" v-permissions="['business:category:create']">鏂板缓</el-button></li>
+        <li><el-button type="danger" @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:category:delete']">鎵归噺鍒犻櫎</el-button></li>
+      </ul>
+      <el-table
+          :height="tableHeightNew"
+          v-loading="isWorking.search"
+          :data="tableData.list"
+          stripe
+          @selection-change="handleSelectionChange"
+      >
+        <el-table-column type="selection" width="55"></el-table-column>
+        <el-table-column prop="name" show-overflow-tooltip label="涓荤嚎璺�" min-width="120px"></el-table-column>
+        <el-table-column prop="sortnum" label="鎺掑簭鐮�"  min-width="70px"></el-table-column>
+        <el-table-column prop="editDate" label="鎿嶄綔鏃堕棿" width="160px"></el-table-column>
+        <el-table-column
+            v-if="containPermissions(['business:category:update', 'business:category:delete' ])"
+            label="鎿嶄綔"
+            min-width="140"
+            fixed="right"
+        >
+          <template slot-scope="{row}">
+            <el-button type="text" icon="el-icon-edit" @click="$refs.OperaCategoryFileWindow.open('缂栬緫涓荤嚎璺�',row)" v-permissions="['business:category:update']">缂栬緫</el-button>
+            <el-button  type="text"  icon="el-icon-delete" @click="deleteById(row)" style="color: red" v-permissions="['business:category:delete']">鍒犻櫎</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <pagination
+          @size-change="handleSizeChange"
+          @current-change="handlePageChange"
+          :pagination="tableData.pagination"
+      >
+      </pagination>
+    </template>
+    <!-- 鏂板缓/淇敼 -->
+    <OperaCategoryFileWindow ref="OperaCategoryFileWindow" @success="handlePageChange"/>
+  </TableLayout>
+</template>
+
+<script>
+import BaseTable from '@/components/base/BaseTable'
+import TableLayout from '@/layouts/TableLayout'
+import Pagination from '@/components/common/Pagination'
+import OperaCategoryFileWindow from '@/components/business/OperaCategoryFileWindow'
+export default {
+  name: 'areaSet',
+  extends: BaseTable,
+  components: { TableLayout, Pagination, OperaCategoryFileWindow },
+  data () {
+    return {
+      // 鎼滅储
+      searchForm: {
+        name: '',
+        type: 4
+      }
+    }
+  },
+  created () {
+    this.config({
+      module: '涓荤嚎璺�',
+      api: '/business/category',
+      'field.id': 'id',
+      'field.main': 'id'
+    })
+    this.search()
+  },
+  methods: {
+  }
+}
+</script>
diff --git a/admin/src/views/business/inoutRecord.vue b/admin/src/views/business/inoutRecord.vue
index 444240c..b89d53d 100644
--- a/admin/src/views/business/inoutRecord.vue
+++ b/admin/src/views/business/inoutRecord.vue
@@ -162,8 +162,8 @@
         { key: 1, name: '澶栧崗杩愯緭杞﹁締' },
         { key: 2, name: '甯傚叕鍙稿嵏璐ц溅杈�' },
         { key: 3, name: '鍔犲伐鐑熷嵏璐ц溅杈�' },
-        { key: 4, name: '鐗╂祦鍏姟鐢ㄨ溅' },
-        { key: 5, name: '鐗╂祦璐ц繍杞﹁締' },
+        { key: 4, name: '鑷湁鍏姟杞�' },
+        { key: 5, name: '鑷湁璐ц繍杞﹁締' },
         { key: 6, name: '鏈煡杞﹁締' }
       ]
     }
diff --git a/admin/src/views/business/internalCompany.vue b/admin/src/views/business/internalCompany.vue
index ae0e822..4239815 100644
--- a/admin/src/views/business/internalCompany.vue
+++ b/admin/src/views/business/internalCompany.vue
@@ -25,6 +25,8 @@
             v-permissions="['business:company:sort']">涓嬬Щ</el-button></li>
         <li><el-button type="primary" v-permissions="['business:company:sync']" :loading="loading"
             @click="synchronous()">鍚屾</el-button></li>
+        <li><el-button type="primary" v-permissions="['business:company:create']" :loading="loading"
+            @click="synchronousDingding()">鍚屾閽夐拤</el-button></li>
       </ul>
       <el-table :max-height="tableHeight" v-loading="isWorking.search" :data="list" stripe
         :tree-props="{ children: 'childList', hasChildren: 'hasChildren' }" row-key="id"
@@ -45,7 +47,7 @@
           <template slot-scope="{row}">
             <el-button type="text"
               @click="$refs.OperaInternalCompanyWindow.open('缂栬緫浼佷笟淇℃伅', { id: row.parentId, name: row.parentName, type: row.parentType, companyPath: row.parentCompanyPath }, row, 'edit')"
-              icon="el-icon-edit" v-permissions="['business:company:update']">缂栬緫</el-button>
+              icon="el-icon-edit" v-permissions="['business:company:update']" v-if="row.type ==0">缂栬緫</el-button>
             <el-button type="text" @click="$refs.OperaInternalCompanyWindow.open('鏂板缓瀛愮骇', row, null, 'add')"
               icon="el-icon-plus">鏂板缓瀛愮骇</el-button>
             <el-button type="text" @click="deleteById(row)" style="color: red" icon="el-icon-delete"
@@ -62,7 +64,7 @@
 <script>
 import BaseTable from '@/components/base/BaseTable'
 import TableLayout from '@/layouts/TableLayout'
-import { companySync, sort } from '@/api/business/company'
+import { companySync,companySyncDingding, sort } from '@/api/business/company'
 import OperaInternalCompanyWindow from '@/components/business/OperaInternalCompanyWindow'
 export default {
   name: 'internalCompany',
@@ -129,6 +131,24 @@
         })
         .catch(() => { })
     },
+    async synchronousDingding() {
+      this.$dialog.actionConfirm('璇ユ搷浣滃皢绯荤粺娓呯┖宸叉湁鍐呴儴缁勭粐淇℃伅锛屾偍纭鍚屾鍏ㄩ儴淇℃伅鍚楋紵', '鎿嶄綔纭鎻愰啋')
+        .then(() => {
+          this.loading = true
+          companySyncDingding({})
+            .then(res => {
+              this.$tip.apiSuccess(res || '鍚屾鎴愬姛')
+              this.search()
+            })
+            .catch(e => {
+              this.$tip.apiFailed(e)
+            })
+            .finally(() => {
+              this.loading = false
+            })
+        })
+        .catch(() => { })
+    },
     // 鎺掑簭
     sort(direction) {
       if (this.sorting) {
diff --git a/admin/src/views/business/internalMember.vue b/admin/src/views/business/internalMember.vue
index a95d580..2029c62 100644
--- a/admin/src/views/business/internalMember.vue
+++ b/admin/src/views/business/internalMember.vue
@@ -66,13 +66,15 @@
       <ul class="toolbar" v-permissions="['business:member:delete', 'business:member:create,business:empower:create']">
         <li><el-button type="primary" v-permissions="['business:member:sync']" :loading="loading"
             @click="synchronous()">鍚屾</el-button></li>
-        <li><el-button type="primary"
+        <li><el-button type="primary" v-permissions="['business:member:create']" :loading="loading"
+            @click="synchronousDingding()">鍚屾閽夐拤</el-button></li>
+<!--        <li><el-button type="primary"
             @click="add" icon="el-icon-plus"
             v-permissions="['business:member:create']">鏂板缓鍛樺伐</el-button></li>
         <li><el-button type="primary" @click="$refs.OperaMemberImportWindow.open('浜哄憳瀵煎叆', searchForm.companyType)"
             icon="el-icon-plus" v-permissions="['business:member:create']">浜哄憳瀵煎叆</el-button></li>
         <li><el-button type="danger" @click="deleteByIdInBatch" icon="el-icon-delete"
-            v-permissions="['business:member:delete']">鎵归噺鍒犻櫎</el-button></li>
+            v-permissions="['business:member:delete']">鎵归噺鍒犻櫎</el-button></li>-->
         <li><el-button type="primary" v-permissions="['business:empower:create']"
             @click="startEmpowerBatch()">涓嬪彂鎺堟潈</el-button></li>
         <li style="float: right">
@@ -183,8 +185,7 @@
           v-if="containPermissions(['business:member:update', 'business:member:delete', 'business:empower:create'])"
           label="鎿嶄綔" min-width="280">
           <template slot-scope="{row}">
-            <el-button type="text" icon="el-icon-edit" @click="edit(row)"
-              v-permissions="['business:member:update']">缂栬緫</el-button>
+           <el-button type="text" icon="el-icon-edit" @click="edit(row)"  v-permissions="['business:member:update']">缂栬緫</el-button>
             <el-button type="text" icon="el-icon-plus" @click="empower(row.id)"
               v-permissions="['business:empower:create']">閲嶆柊鎺堟潈</el-button>
             <el-button type="text" :loading="heading" style="color: red" icon="el-icon-delete"
@@ -192,8 +193,8 @@
               v-permissions="['business:member:head']">鍙栨秷涓荤</el-button>
             <el-button type="text" :loading="heading" icon="el-icon-edit" @click="updateHead(row, 1)"
               v-if="row.headStatus == 0" v-permissions="['business:member:head']">璁句负涓荤</el-button>
-            <el-button type="text" icon="el-icon-delete" @click="deleteById(row)" style="color: red"
-              v-permissions="['business:member:delete']">鍒犻櫎</el-button>
+<!--            <el-button type="text" icon="el-icon-delete" @click="deleteById(row)" style="color: red"
+              v-permissions="['business:member:delete']">鍒犻櫎</el-button>-->
           </template>
         </el-table-column>
       </el-table>
@@ -219,7 +220,7 @@
 import OperaMemberImportWindow from '@/components/business/OperaMemberImportWindow'
 import { fetchList } from '@/api/business/company'
 import { allList } from '@/api/business/position'
-import { memberSync, roleAuth, updateCanVisit, updateHead, updateWorkStatus } from '@/api/business/member'
+import { memberSync,memberSyncDingding, roleAuth, updateCanVisit, updateHead, updateWorkStatus } from '@/api/business/member'
 export default {
   name: 'internalMember',
   extends: BaseTable,
@@ -369,6 +370,25 @@
         })
         .catch(() => { })
     },
+    // 鍚屾淇℃伅
+    async synchronousDingding() {
+      this.$dialog.actionConfirm('璇ユ搷浣滈檷瑙﹀彂鍏ㄥ憳淇℃伅鏇存柊鍜岄噸鏂颁笅鍙戯紒璇疯皑鎱庢搷浣�', '鎮ㄧ‘璁ゅ叏閲忓悓姝ュ唴閮ㄤ汉鍛樹俊鎭悧锛�')
+        .then(() => {
+          this.loading = true
+          memberSyncDingding({})
+            .then(res => {
+              this.$tip.apiSuccess(res || '鍚屾鎴愬姛')
+              this.search()
+            })
+            .catch(e => {
+              this.$tip.apiFailed(e)
+            })
+            .finally(() => {
+              this.loading = false
+            })
+        })
+        .catch(() => { })
+    },
     async updateHead(row, type) {
       this.$dialog.actionConfirm('鎮ㄧ‘璁よ繘琛屽綋鍓嶆搷浣滃悧锛�', '閮ㄩ棬涓荤璁剧疆鎿嶄綔鎻愮ず')
         .then(() => {
diff --git a/admin/src/views/task/index.vue b/admin/src/views/task/index.vue
index 375132e..f507dfa 100644
--- a/admin/src/views/task/index.vue
+++ b/admin/src/views/task/index.vue
@@ -118,8 +118,8 @@
               { label: '璁垮鐢宠', value: '0' },
               { label: '璁垮鎶ュ', value: '1' },
               { label: '鐢ㄨ溅鐢宠', value: '2' },
-              { label: '闅愭偅闅忔墜鎷�', value: '3' },
-              { label: '鐗╂祦杞︾敵璇�', value: '6' }
+              // { label: '闅愭偅闅忔墜鎷�', value: '3' },
+              // { label: '鐗╂祦杞︾敵璇�', value: '6' }
             ]
           },
           {
@@ -149,8 +149,8 @@
         { name: '璁垮鐢宠', id: 0 },
         { name: '璁垮鎶ュ', id: 1 },
         { name: '鐢ㄨ溅鐢宠', id: 2 },
-        { name: '闅愭偅闅忔墜鎷�', id: 3 },
-        { name: '鐗╂祦杞︾敵璇�', id: 6 }
+        // { name: '闅愭偅闅忔墜鎷�', id: 3 },
+        // { name: '鐗╂祦杞︾敵璇�', id: 6 }
       ]
     }
   },
diff --git a/admin/src/views/vehicle/category.vue b/admin/src/views/vehicle/category.vue
index 0d1f740..d224e1a 100644
--- a/admin/src/views/vehicle/category.vue
+++ b/admin/src/views/vehicle/category.vue
@@ -30,8 +30,8 @@
                       <span  v-else-if="row.bizType ==1">澶栧崗杩愯緭杞﹁締</span>
                       <span  v-else-if="row.bizType ==2">甯傚叕鍙稿嵏璐ц溅杈�</span>
                       <span  v-else-if="row.bizType ==3">鍔犲伐鐑熷嵏璐ц溅杈�</span>
-                      <span  v-else-if="row.bizType ==4">鐗╂祦鍏姟鐢ㄨ溅</span>
-                      <span  v-else-if="row.bizType ==5">鐗╂祦璐ц繍杞﹁締</span>
+                      <span  v-else-if="row.bizType ==4">鑷湁鍏姟杞�</span>
+                      <span  v-else-if="row.bizType ==5">鑷湁璐ц繍杞﹁締</span>
                       <span  v-else >-</span>
                     </template>
               </el-table-column>
diff --git a/admin/src/views/vehicle/components/OperaCategoryWindow.vue b/admin/src/views/vehicle/components/OperaCategoryWindow.vue
index a0f3875..cfc7acc 100644
--- a/admin/src/views/vehicle/components/OperaCategoryWindow.vue
+++ b/admin/src/views/vehicle/components/OperaCategoryWindow.vue
@@ -50,8 +50,8 @@
         { key: 1, name: '澶栧崗杩愯緭杞﹁締' },
         { key: 2, name: '甯傚叕鍙稿嵏璐ц溅杈�' },
         { key: 3, name: '鍔犲伐鐑熷嵏璐ц溅杈�' },
-        { key: 4, name: '鐗╂祦鍏姟鐢ㄨ溅' },
-        { key: 5, name: '鐗╂祦璐ц繍杞﹁締' }
+        { key: 4, name: '鑷湁鍏姟杞�' },
+        { key: 5, name: '鑷湁璐ц繍杞﹁締' }
       ],
       // 楠岃瘉瑙勫垯
       rules: {
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 94f53ac..55d1824 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
@@ -160,6 +160,7 @@
     public static final String PRESSURE_LEVEL_UNIT = "PRESSURE_LEVEL_UNIT";
     public static final String LIQUID_LEVEL_UNIT ="LIQUID_LEVEL_UNIT" ;
     public static final String OUT_HY_LOT_TOTAL ="OUT_HY_LOT_TOTAL" ;
+    public static final String BANNER_IMG ="BANNER_IMG" ;
 
     public static  boolean DEALING_HK_SYNCPRIVILEGE= false;
     public static  boolean DEALING_HK_SYNCDEVICE = false;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Category.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Category.java
index 6325b69..f007330 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Category.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Category.java
@@ -68,7 +68,7 @@
      //@ExcelColumn(name="鍥炬爣")
     private String imgurl;
 
-    @ApiModelProperty(value = "绫诲瀷 0鍏徃绫诲瀷 1杞﹁締绫诲瀷")
+    @ApiModelProperty(value = "绫诲瀷 0鍏徃绫诲瀷 1杞﹁締绫诲瀷 2璧勬枡鍒嗙被 3閽ュ寵鏌滅粓绔箍鍛� 4浜ゆ帶涓荤嚎璺�")
      //@ExcelColumn(name="绫诲瀷 0鍏徃绫诲瀷 1杞﹁締绫诲瀷")
     private Integer type;
     @ApiModelProperty(value = "涓氬姟绫诲瀷 " +
@@ -92,6 +92,8 @@
     @TableField(exist = false)
     @ExcelColumn(name="缁勫悎鍚嶇О",index = 3,width = 20)
     private String groupName;
+    @ApiModelProperty(value = "瀹屾暣鍥剧墖鍦板潃 ")
+    private String imgurlFull;
 
     @ApiModelProperty(value = "瀛愰泦鍒嗙被")
     @TableField(exist = false)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java
index e357e36..cd7d2f9 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java
@@ -1,5 +1,6 @@
 package com.doumee.service.business.impl;
 
+import com.doumee.biz.system.SystemDictDataBiz;
 import com.doumee.core.constants.ResponseStatus;
 import com.doumee.core.exception.BusinessException;
 import com.doumee.service.business.third.model.LoginUserInfo;
@@ -37,6 +38,8 @@
 @Service
 public class CategoryServiceImpl implements CategoryService {
 
+    @Autowired
+    private SystemDictDataBiz systemDictDataBiz;
     @Autowired
     private CategoryMapper categoryMapper;
 
@@ -155,6 +158,9 @@
         IPage<Category> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
         QueryWrapper<Category> queryWrapper = new QueryWrapper<>();
         Utils.MP.blankToNull(pageWrap.getModel());
+        String prefixUrl = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() +
+                systemDictDataBiz.queryByCode(Constants.FTP,Constants.BANNER_IMG).getCode();
+
         queryWrapper.lambda().eq(Category::getIsdeleted,Constants.ZERO)
                 .eq(Objects.nonNull(pageWrap.getModel().getType()),Category::getType,pageWrap.getModel().getType())
                 .like(StringUtils.isNotBlank(pageWrap.getModel().getName()),Category::getName,pageWrap.getModel().getName())
@@ -171,6 +177,9 @@
             category.setChildCategoryList(
                     categoryList.stream().filter(i->Constants.equalsInteger(i.getParentId(),category.getId())).collect(Collectors.toList())
             );
+            if(StringUtils.isNotBlank(category.getImgurl())){
+                category.setImgurlFull(prefixUrl + category.getImgurl());
+            }
         }
 
         return categoryPageData;

--
Gitblit v1.9.3