From cab914c578ca850a0010864f0c10c7a7da916d45 Mon Sep 17 00:00:00 2001
From: nidapeng <jp@doumee.com>
Date: 星期一, 06 五月 2024 16:06:57 +0800
Subject: [PATCH] 最新版本
---
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CategoryCloudController.java | 2
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/MemberCloudController.java | 2
h5/main.js | 4
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/ParksCloudController.java | 2
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformJobCloudController.java | 2
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/StagingCloudController.java | 2
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/FormParamCloudController.java | 2
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HiddenDangerLogCloudController.java | 2
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/TrainTimeCloudController.java | 2
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/WebPublicController.java | 414 +++++++++++++++++++++
server/visits/dmvisit_admin/src/main/java/com/doumee/config/swagger/SwaggerConfig.java | 2
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CompanyCloudController.java | 2
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/EmpowerCloudController.java | 2
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/ParkBookCloudController.java | 2
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformShowParamCloudController.java | 2
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/InterfaceLogCloudController.java | 2
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/VisitorCloudController.java | 2
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/ProblemsCloudController.java | 2
h5/utils/http.api.js | 16
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CarsCloudController.java | 2
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/ApproveParamCloudController.java | 2
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/MemberRoleCloudController.java | 2
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/DeviceEventCloudController.java | 2
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/TasksCloudController.java | 2
admin/src/views/business/internalCompany.vue | 87 ++++
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/DeviceRoleCloudController.java | 2
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/VisitReasonCloudController.java | 2
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/UserActionCloudController.java | 2
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HkSyncCloudController.java | 2
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/visit/UnitWebController.java | 63 +++
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HiddenDangerParamCloudController.java | 2
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/VisitProblemsCloudController.java | 2
server/visits/dmvisit_service/src/main/resources/application-dev.yml | 29 -
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/visit/ProblemWebController.java | 67 +++
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformQueueCloudController.java | 2
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CarBookCloudController.java | 2
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/VisitProblemLogCloudController.java | 2
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/VisitsCloudController.java | 2
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/ERPSyncCloudController.java | 2
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/visit/InternalWebController.java | 118 ++++++
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/ApproveTemplCloudController.java | 2
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/DeviceCloudController.java | 2
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CarDriverCloudController.java | 2
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/ApiController.java | 48 ++
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CarUseBookCloudController.java | 2
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/RetentionCloudController.java | 2
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/ApproveCloudController.java | 2
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/visit/VisitorWebController.java | 77 ++++
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformCloudController.java | 2
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/VisitParkCloudController.java | 2
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CarEventCloudController.java | 2
/dev/null | 112 -----
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CarParksCloudController.java | 2
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformInterfaceLogCloudController.java | 2
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/VisitEventCloudController.java | 2
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/MemberCardCloudController.java | 2
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HiddenDangerCloudController.java | 2
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java | 2
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformGroupCloudController.java | 2
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformLogCloudController.java | 2
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/ProblemLogCloudController.java | 2
61 files changed, 928 insertions(+), 207 deletions(-)
diff --git a/admin/src/views/business/internalCompany.vue b/admin/src/views/business/internalCompany.vue
index 141cb20..b34143c 100644
--- a/admin/src/views/business/internalCompany.vue
+++ b/admin/src/views/business/internalCompany.vue
@@ -18,18 +18,18 @@
<template v-slot:table-wrap>
<ul class="toolbar" v-permissions="['business:company:create', 'business:company:sync']">
<li><el-button type="primary" v-permissions="['business:company:create']" @click="$refs.OperaInternalCompanyWindow.open('鏂板缓浼佷笟',null,null)">鏂板缓</el-button></li>
- <li><el-button @click="sort('top')" :loading="isWorking.sort" icon="el-icon-sort-up" v-permissions="['business:company:sort']">涓婄Щ</el-button></li>
- <li><el-button @click="sort('bottom')" :loading="isWorking.sort" icon="el-icon-sort-down" v-permissions="['business:company:sort']">涓嬬Щ</el-button></li>
+ <li><el-button @click="sort('top')" :loading="sorting" icon="el-icon-sort-up" v-permissions="['business:company:sort']">涓婄Щ</el-button></li>
+ <li><el-button @click="sort('bottom')" :loading="sorting" icon="el-icon-sort-down" 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>-->
</ul>
<el-table
v-loading="isWorking.search"
:data="list"
stripe
- :tree-props="{children: 'childList'}"
+ :tree-props="{children: 'childList',hasChildren: 'hasChildren'}"
row-key="id"
- :expand-row-keys="[list && list.length > 0 ? list[0].id.toString() : '']"
@selection-change="handleSelectionChange"
+ default-expand-all
>
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column prop="name" label="缁勭粐鍚嶇О" min-width="100px"></el-table-column>
@@ -63,7 +63,7 @@
<script>
import BaseTable from '@/components/base/BaseTable'
import TableLayout from '@/layouts/TableLayout'
-import { companySync } from '@/api/business/company'
+import { companySync, sort } from '@/api/business/company'
import OperaInternalCompanyWindow from '@/components/business/OperaInternalCompanyWindow'
export default {
name: 'internalCompany',
@@ -72,7 +72,8 @@
data () {
return {
// 鎼滅储
- loading:false,
+ loading: false,
+ sorting: false,
searchForm: {
// type: 1
},
@@ -123,7 +124,79 @@
})
})
.catch(() => {})
- }
+ },
+ // 鎺掑簭
+ sort (direction) {
+ if (this.sorting) {
+ return
+ }
+ if (this.tableData.selectedRows.length === 0) {
+ this.$tip.warning('璇烽�夋嫨涓�鏉℃暟鎹�')
+ return
+ }
+ if (this.tableData.selectedRows.length > 1) {
+ this.$tip.warning('鎺掑簭鏃朵粎鍏佽閫夋嫨涓�鏉℃暟鎹�')
+ return
+ }
+ const menuId = this.tableData.selectedRows[0].id
+ // 鎵惧埌鑿滃崟鑼冨洿
+ let menuPool
+ for (const rootMenu of this.list) {
+ console.log(this.list)
+ const parent = this.__findParent(menuId, rootMenu)
+ if (parent != null) {
+ menuPool = parent.children
+ }
+ }
+ menuPool = menuPool || this.list
+ const menuIndex = menuPool.findIndex(menu => menu.id === menuId)
+ // 涓婄Щ鏍¢獙
+ if (direction === 'top' && menuIndex === 0) {
+ this.$tip.warning('鑿滃崟宸插埌椤堕儴')
+ return
+ }
+ // 涓嬬Щ鏍¢獙
+ if (direction === 'bottom' && menuIndex === menuPool.length - 1) {
+ this.$tip.warning('鑿滃崟宸插埌搴曢儴')
+ return
+ }
+ this.sorting = true
+ sort({
+ id: this.tableData.selectedRows[0].id,
+ direction
+ })
+ .then(() => {
+ if (direction === 'top') {
+ menuPool.splice(menuIndex, 0, menuPool.splice(menuIndex - 1, 1)[0])
+ } else {
+ menuPool.splice(menuIndex, 0, menuPool.splice(menuIndex + 1, 1)[0])
+ }
+ })
+ .catch(e => {
+ this.$tip.apiFailed(e)
+ })
+ .finally(() => {
+ this.sorting = false
+ })
+ },
+ // 鏌ヨ鐖惰妭鐐�
+ __findParent (id, parent) {
+ if (parent.childList === 0) {
+ return
+ }
+ for (const menu of parent.childList) {
+ if (menu.id === id) {
+ return parent
+ }
+ if (menu.childList.length > 0) {
+ const m = this.__findParent(id, menu)
+ if (m != null) {
+ return m
+ }
+ }
+ }
+ return null
+ },
}
}
</script>
diff --git a/h5/main.js b/h5/main.js
index 7f45269..516531a 100644
--- a/h5/main.js
+++ b/h5/main.js
@@ -7,10 +7,10 @@
Vue.config.productionTip = false
-// Vue.prototype.$baseUrl = 'http://192.168.0.111:10027/';
+Vue.prototype.$baseUrl = 'http://192.168.0.150:10010/';
// Vue.prototype.$baseUrl = 'https://dmtest.ahapp.net/h5_api/';
// Vue.prototype.$baseUrl = 'http://facepay.huasunsolar.com/web_interface/';
-Vue.prototype.$baseUrl = 'http://218.23.218.228:8018/web_interface/'
+// Vue.prototype.$baseUrl = 'http://218.23.218.228:8018/web_interface/'
Vue.prototype.$store = store;
App.mpType = 'app'
diff --git a/h5/utils/http.api.js b/h5/utils/http.api.js
index a932e37..6ee1bfd 100644
--- a/h5/utils/http.api.js
+++ b/h5/utils/http.api.js
@@ -6,14 +6,14 @@
return config;
})
- let wxAuthorize = (params = {}) => vm.$u.http.get('web/visitor/wxAuthorize', { params }); // 璁垮寰俊鎺堟潈
- let getSystemDictData = (params = {}) => vm.$u.http.get('web/unit/getSystemDictData', { params }); // 鏌ヨ瀛楀吀鍊兼暟鎹�
- let getProblemsVO = (params = {}) => vm.$u.http.get('web/problem/getProblemsVO', { params }); // 鑾峰彇棰樼洰鏁版嵁
- let finishAnswer = (data = {}) => vm.$u.http.post('web/problem/finishAnswer', data); // 淇敼褰撳墠鐧诲綍鐨勭敤鎴蜂俊鎭�
- let deviceRoleList = (params = {}) => vm.$u.http.get('web/unit/deviceRoleList', { params }); // 璁惧缁勫垪琛�
- let getVisitedMember = (data = {}) => vm.$u.http.post('web/visitor/getVisitedMember', data); // 鏌ヨ琚闂汉淇℃伅
- let createFk = (data = {}) => vm.$u.http.post('web/visitor/createFk', data); // 璁垮璁板綍鎻愪氦
- let detail = (params = {}) => vm.$u.http.get('web/visitor/detail', { params }); // 璁垮璁板綍璇︽儏
+ let wxAuthorize = (params = {}) => vm.$u.http.get('visitsAdmin/cloudService/web/visit/visitor/wxAuthorize', { params }); // 璁垮寰俊鎺堟潈
+ let getSystemDictData = (params = {}) => vm.$u.http.get('visitsAdmin/cloudService/web/visit/other/getSystemDictData', { params }); // 鏌ヨ瀛楀吀鍊兼暟鎹�
+ let getProblemsVO = (params = {}) => vm.$u.http.get('visitsAdmin/cloudService/web/visit/problem/getProblemsVO', { params }); // 鑾峰彇棰樼洰鏁版嵁
+ let finishAnswer = (data = {}) => vm.$u.http.post('visitsAdmin/cloudService/web/visit/problem/finishAnswer', data); // 淇敼褰撳墠鐧诲綍鐨勭敤鎴蜂俊鎭�
+ let deviceRoleList = (params = {}) => vm.$u.http.get('visitsAdmin/cloudService/web/visit/other/deviceRoleList', { params }); // 璁惧缁勫垪琛�
+ let getVisitedMember = (data = {}) => vm.$u.http.post('visitsAdmin/cloudService/web/visit/visitor/getVisitedMember', data); // 鏌ヨ琚闂汉淇℃伅
+ let createFk = (data = {}) => vm.$u.http.post('visitsAdmin/cloudService/web/visit/visitor/createFk', data); // 璁垮璁板綍鎻愪氦
+ let detail = (params = {}) => vm.$u.http.get('visitsAdmin/cloudService/web/visit/visitor/detail', { params }); // 璁垮璁板綍璇︽儏
vm.$u.api = {
wxAuthorize,
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/CloudCarsController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/api/CloudCarsController.java
deleted file mode 100644
index d48dadd..0000000
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/CloudCarsController.java
+++ /dev/null
@@ -1,112 +0,0 @@
-package com.doumee.api;
-
-import com.doumee.config.annotation.LoginNoRequired;
-import com.doumee.core.annotation.excel.ExcelExporter;
-import com.doumee.core.annotation.pr.PreventRepeat;
-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.business.model.Cars;
-import com.doumee.service.business.CarsService;
-import com.doumee.service.business.impl.hksync.fhk.HkSyncVehicleFromHKServiceImpl;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.apache.shiro.authz.annotation.RequiresPermissions;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-
-import javax.servlet.http.HttpServletResponse;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author 姹熻箘韫�
- * @date 2023/11/30 15:33
- */
-@Api(tags = "杞﹁締鎺ュ彛")
-@RestController
-@RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/cars")
-public class CloudCarsController extends BaseController {
- @Autowired
- private CarsService carsService;
- @Autowired
- private HkSyncVehicleFromHKServiceImpl hkSyncVehicleFromHKService;
- @ApiOperation("娴嬭瘯缃戠")
- @GetMapping("/test")
- public ApiResponse test() {
- return ApiResponse.success("璁垮绠$悊娴嬭瘯鎺堟潈鎴愬姛");
- }
-
- @LoginNoRequired
- @ApiOperation("娴嬭瘯缃戠")
- @GetMapping("/testNoLogin")
- public ApiResponse testNoLogin() {
- return ApiResponse.success("璁垮绠$悊娴嬭瘯鏃犻渶鐧诲綍鎴愬姛");
- }
-
- @PreventRepeat
- @ApiOperation("鏂板缓")
- @PostMapping("/create")
- @RequiresPermissions("business:cars:create")
- public ApiResponse create(@RequestBody Cars cars) {
- return ApiResponse.success(carsService.create(cars));
- }
-
- @ApiOperation("鏍规嵁ID鍒犻櫎")
- @GetMapping("/delete/{id}")
- @RequiresPermissions("business:cars:delete")
- public ApiResponse deleteById(@PathVariable Integer id) {
- carsService.deleteById(id);
- return ApiResponse.success(null);
- }
-
- @ApiOperation("鎵归噺鍒犻櫎")
- @GetMapping("/delete/batch")
- @RequiresPermissions("business:cars:delete")
- public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
- String [] idArray = ids.split(",");
- List<Integer> idList = new ArrayList<>();
- for (String id : idArray) {
- idList.add(Integer.valueOf(id));
- }
- carsService.deleteByIdInBatch(idList);
- return ApiResponse.success(null);
- }
-
- @ApiOperation("鏍规嵁ID淇敼")
- @PostMapping("/updateById")
- @RequiresPermissions("business:cars:update")
- public ApiResponse updateById(@RequestBody Cars cars) {
- carsService.updateById(cars);
- return ApiResponse.success(null);
- }
- @ApiOperation("鍏ㄩ噺鍚屾杞﹁締淇℃伅")
- @PostMapping("/sync")
- @RequiresPermissions("business:cars:sync")
- public ApiResponse sync(@RequestBody Cars cars) {
- hkSyncVehicleFromHKService.syncVehicleData();
- return ApiResponse.success(null);
- }
-
- @ApiOperation("鍒嗛〉鏌ヨ")
- @PostMapping("/page")
- @RequiresPermissions("business:cars:query")
- public ApiResponse<PageData<Cars>> findPage (@RequestBody PageWrap<Cars> pageWrap) {
- return ApiResponse.success(carsService.findPage(pageWrap));
- }
-
- @ApiOperation("瀵煎嚭Excel")
- @PostMapping("/exportExcel")
- @RequiresPermissions("business:cars:exportExcel")
- public void exportExcel (@RequestBody PageWrap<Cars> pageWrap, HttpServletResponse response) {
- ExcelExporter.build(Cars.class).export(carsService.findPage(pageWrap).getRecords(), "杞﹁締淇℃伅琛�", response);
- }
-
- @ApiOperation("鏍规嵁ID鏌ヨ")
- @GetMapping("/{id}")
- @RequiresPermissions("business:cars:query")
- public ApiResponse findById(@PathVariable Integer id) {
- return ApiResponse.success(carsService.findById(id));
- }
-}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/ApproveCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/ApproveCloudController.java
similarity index 98%
rename from server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/ApproveCloudController.java
rename to server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/ApproveCloudController.java
index b1dc99d..fae2187 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/ApproveCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/ApproveCloudController.java
@@ -1,4 +1,4 @@
-package com.doumee.api.cloud;
+package com.doumee.cloud.admin;
import com.doumee.api.BaseController;
import com.doumee.config.annotation.CloudRequiredPermission;
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/ApproveParamCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/ApproveParamCloudController.java
similarity index 98%
rename from server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/ApproveParamCloudController.java
rename to server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/ApproveParamCloudController.java
index 8cd9679..79bcaf1 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/ApproveParamCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/ApproveParamCloudController.java
@@ -1,4 +1,4 @@
-package com.doumee.api.cloud;
+package com.doumee.cloud.admin;
import com.doumee.api.BaseController;
import com.doumee.config.annotation.CloudRequiredPermission;
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/ApproveTemplCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/ApproveTemplCloudController.java
similarity index 98%
rename from server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/ApproveTemplCloudController.java
rename to server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/ApproveTemplCloudController.java
index 7546543..040c6f8 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/ApproveTemplCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/ApproveTemplCloudController.java
@@ -1,4 +1,4 @@
-package com.doumee.api.cloud;
+package com.doumee.cloud.admin;
import com.doumee.api.BaseController;
import com.doumee.config.annotation.CloudRequiredPermission;
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/CarBookCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CarBookCloudController.java
similarity index 98%
rename from server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/CarBookCloudController.java
rename to server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CarBookCloudController.java
index 81c31ce..42c72b5 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/CarBookCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CarBookCloudController.java
@@ -1,4 +1,4 @@
-package com.doumee.api.cloud;
+package com.doumee.cloud.admin;
import com.doumee.api.BaseController;
import com.doumee.config.annotation.CloudRequiredPermission;
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/CarDriverCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CarDriverCloudController.java
similarity index 98%
rename from server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/CarDriverCloudController.java
rename to server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CarDriverCloudController.java
index a5c1701..cd8be02 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/CarDriverCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CarDriverCloudController.java
@@ -1,4 +1,4 @@
-package com.doumee.api.cloud;
+package com.doumee.cloud.admin;
import com.doumee.api.BaseController;
import com.doumee.config.annotation.CloudRequiredPermission;
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/CarEventCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CarEventCloudController.java
similarity index 98%
rename from server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/CarEventCloudController.java
rename to server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CarEventCloudController.java
index c8aadba..8266657 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/CarEventCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CarEventCloudController.java
@@ -1,4 +1,4 @@
-package com.doumee.api.cloud;
+package com.doumee.cloud.admin;
import com.doumee.api.BaseController;
import com.doumee.config.annotation.CloudRequiredPermission;
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/CarParksCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CarParksCloudController.java
similarity index 98%
rename from server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/CarParksCloudController.java
rename to server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CarParksCloudController.java
index ad9c157..fd435b7 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/CarParksCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CarParksCloudController.java
@@ -1,4 +1,4 @@
-package com.doumee.api.cloud;
+package com.doumee.cloud.admin;
import com.doumee.api.BaseController;
import com.doumee.config.annotation.CloudRequiredPermission;
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/CarUseBookCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CarUseBookCloudController.java
similarity index 98%
rename from server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/CarUseBookCloudController.java
rename to server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CarUseBookCloudController.java
index cdd189e..d191818 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/CarUseBookCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CarUseBookCloudController.java
@@ -1,4 +1,4 @@
-package com.doumee.api.cloud;
+package com.doumee.cloud.admin;
import com.doumee.api.BaseController;
import com.doumee.config.annotation.CloudRequiredPermission;
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/CarsCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CarsCloudController.java
similarity index 98%
rename from server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/CarsCloudController.java
rename to server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CarsCloudController.java
index a86b1fc..7bae270 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/CarsCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CarsCloudController.java
@@ -1,4 +1,4 @@
-package com.doumee.api.cloud;
+package com.doumee.cloud.admin;
import com.doumee.api.BaseController;
import com.doumee.config.annotation.CloudRequiredPermission;
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/CategoryCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CategoryCloudController.java
similarity index 98%
rename from server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/CategoryCloudController.java
rename to server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CategoryCloudController.java
index 7c54ff8..f09907f 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/CategoryCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CategoryCloudController.java
@@ -1,4 +1,4 @@
-package com.doumee.api.cloud;
+package com.doumee.cloud.admin;
import com.doumee.api.BaseController;
import com.doumee.config.annotation.CloudRequiredPermission;
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/CompanyCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CompanyCloudController.java
similarity index 99%
rename from server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/CompanyCloudController.java
rename to server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CompanyCloudController.java
index 1eb747a..c5f8ca7 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/CompanyCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CompanyCloudController.java
@@ -1,4 +1,4 @@
-package com.doumee.api.cloud;
+package com.doumee.cloud.admin;
import com.doumee.api.BaseController;
import com.doumee.config.DataSyncConfig;
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/DeviceCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/DeviceCloudController.java
similarity index 98%
rename from server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/DeviceCloudController.java
rename to server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/DeviceCloudController.java
index 3484d27..43cf1d2 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/DeviceCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/DeviceCloudController.java
@@ -1,4 +1,4 @@
-package com.doumee.api.cloud;
+package com.doumee.cloud.admin;
import com.doumee.api.BaseController;
import com.doumee.config.annotation.CloudRequiredPermission;
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/DeviceEventCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/DeviceEventCloudController.java
similarity index 98%
rename from server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/DeviceEventCloudController.java
rename to server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/DeviceEventCloudController.java
index 1d2e8fe..bb3bcf6 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/DeviceEventCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/DeviceEventCloudController.java
@@ -1,4 +1,4 @@
-package com.doumee.api.cloud;
+package com.doumee.cloud.admin;
import com.doumee.api.BaseController;
import com.doumee.config.annotation.CloudRequiredPermission;
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/DeviceRoleCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/DeviceRoleCloudController.java
similarity index 99%
rename from server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/DeviceRoleCloudController.java
rename to server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/DeviceRoleCloudController.java
index 5638e29..e287f9d 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/DeviceRoleCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/DeviceRoleCloudController.java
@@ -1,4 +1,4 @@
-package com.doumee.api.cloud;
+package com.doumee.cloud.admin;
import com.doumee.api.BaseController;
import com.doumee.config.annotation.CloudRequiredPermission;
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/ERPSyncCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/ERPSyncCloudController.java
similarity index 97%
rename from server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/ERPSyncCloudController.java
rename to server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/ERPSyncCloudController.java
index 6f1d55e..fbef94b 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/ERPSyncCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/ERPSyncCloudController.java
@@ -1,4 +1,4 @@
-package com.doumee.api.cloud;
+package com.doumee.cloud.admin;
import com.doumee.api.BaseController;
import com.doumee.config.annotation.CloudRequiredPermission;
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/EmpowerCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/EmpowerCloudController.java
similarity index 98%
rename from server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/EmpowerCloudController.java
rename to server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/EmpowerCloudController.java
index 0a87441..c46649f 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/EmpowerCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/EmpowerCloudController.java
@@ -1,4 +1,4 @@
-package com.doumee.api.cloud;
+package com.doumee.cloud.admin;
import com.doumee.api.BaseController;
import com.doumee.config.annotation.CloudRequiredPermission;
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/FormParamCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/FormParamCloudController.java
similarity index 98%
rename from server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/FormParamCloudController.java
rename to server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/FormParamCloudController.java
index 35673c6..a073d87 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/FormParamCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/FormParamCloudController.java
@@ -1,4 +1,4 @@
-package com.doumee.api.cloud;
+package com.doumee.cloud.admin;
import com.doumee.api.BaseController;
import com.doumee.config.annotation.CloudRequiredPermission;
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/HiddenDangerCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HiddenDangerCloudController.java
similarity index 98%
rename from server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/HiddenDangerCloudController.java
rename to server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HiddenDangerCloudController.java
index edd9b5b..8d6c25a 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/HiddenDangerCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HiddenDangerCloudController.java
@@ -1,4 +1,4 @@
-package com.doumee.api.cloud;
+package com.doumee.cloud.admin;
import com.doumee.api.BaseController;
import com.doumee.config.annotation.CloudRequiredPermission;
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/HiddenDangerLogCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HiddenDangerLogCloudController.java
similarity index 98%
rename from server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/HiddenDangerLogCloudController.java
rename to server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HiddenDangerLogCloudController.java
index 48be469..6b2fe8e 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/HiddenDangerLogCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HiddenDangerLogCloudController.java
@@ -1,4 +1,4 @@
-package com.doumee.api.cloud;
+package com.doumee.cloud.admin;
import com.doumee.api.BaseController;
import com.doumee.config.annotation.CloudRequiredPermission;
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/HiddenDangerParamCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HiddenDangerParamCloudController.java
similarity index 98%
rename from server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/HiddenDangerParamCloudController.java
rename to server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HiddenDangerParamCloudController.java
index 09a8eac..c74d591 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/HiddenDangerParamCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HiddenDangerParamCloudController.java
@@ -1,4 +1,4 @@
-package com.doumee.api.cloud;
+package com.doumee.cloud.admin;
import com.doumee.api.BaseController;
import com.doumee.config.annotation.CloudRequiredPermission;
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/HkSyncCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HkSyncCloudController.java
similarity index 99%
rename from server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/HkSyncCloudController.java
rename to server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HkSyncCloudController.java
index c7e21cf..7bb21a8 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/HkSyncCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HkSyncCloudController.java
@@ -1,4 +1,4 @@
-package com.doumee.api.cloud;
+package com.doumee.cloud.admin;
import com.doumee.api.BaseController;
import com.doumee.config.annotation.CloudRequiredPermission;
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/InterfaceLogCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/InterfaceLogCloudController.java
similarity index 98%
rename from server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/InterfaceLogCloudController.java
rename to server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/InterfaceLogCloudController.java
index 37ac275..a2959ea 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/InterfaceLogCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/InterfaceLogCloudController.java
@@ -1,4 +1,4 @@
-package com.doumee.api.cloud;
+package com.doumee.cloud.admin;
import com.doumee.api.BaseController;
import com.doumee.config.annotation.CloudRequiredPermission;
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/MemberCardCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/MemberCardCloudController.java
similarity index 99%
rename from server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/MemberCardCloudController.java
rename to server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/MemberCardCloudController.java
index a3d91f6..2ad65eb 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/MemberCardCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/MemberCardCloudController.java
@@ -1,4 +1,4 @@
-package com.doumee.api.cloud;
+package com.doumee.cloud.admin;
import com.doumee.api.BaseController;
import com.doumee.config.annotation.CloudRequiredPermission;
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/MemberCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/MemberCloudController.java
similarity index 99%
rename from server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/MemberCloudController.java
rename to server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/MemberCloudController.java
index 2b9c561..1cdcdd2 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/MemberCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/MemberCloudController.java
@@ -1,4 +1,4 @@
-package com.doumee.api.cloud;
+package com.doumee.cloud.admin;
import com.doumee.api.BaseController;
import com.doumee.config.DataSyncConfig;
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/MemberRoleCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/MemberRoleCloudController.java
similarity index 98%
rename from server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/MemberRoleCloudController.java
rename to server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/MemberRoleCloudController.java
index 2e6ede4..d99a8f9 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/MemberRoleCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/MemberRoleCloudController.java
@@ -1,4 +1,4 @@
-package com.doumee.api.cloud;
+package com.doumee.cloud.admin;
import com.doumee.api.BaseController;
import com.doumee.config.annotation.CloudRequiredPermission;
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/ParkBookCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/ParkBookCloudController.java
similarity index 98%
rename from server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/ParkBookCloudController.java
rename to server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/ParkBookCloudController.java
index 2a20f31..8cc6a8c 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/ParkBookCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/ParkBookCloudController.java
@@ -1,4 +1,4 @@
-package com.doumee.api.cloud;
+package com.doumee.cloud.admin;
import com.doumee.api.BaseController;
import com.doumee.config.annotation.CloudRequiredPermission;
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/ParksCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/ParksCloudController.java
similarity index 98%
rename from server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/ParksCloudController.java
rename to server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/ParksCloudController.java
index da2d918..94fda47 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/ParksCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/ParksCloudController.java
@@ -1,4 +1,4 @@
-package com.doumee.api.cloud;
+package com.doumee.cloud.admin;
import com.doumee.api.BaseController;
import com.doumee.config.annotation.CloudRequiredPermission;
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/PlatformCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformCloudController.java
similarity index 98%
rename from server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/PlatformCloudController.java
rename to server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformCloudController.java
index 1293a1e..62e10ee 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/PlatformCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformCloudController.java
@@ -1,4 +1,4 @@
-package com.doumee.api.cloud;
+package com.doumee.cloud.admin;
import com.doumee.api.BaseController;
import com.doumee.config.annotation.CloudRequiredPermission;
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/PlatformGroupCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformGroupCloudController.java
similarity index 98%
rename from server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/PlatformGroupCloudController.java
rename to server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformGroupCloudController.java
index 455cb34..b8c30f1 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/PlatformGroupCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformGroupCloudController.java
@@ -1,4 +1,4 @@
-package com.doumee.api.cloud;
+package com.doumee.cloud.admin;
import com.doumee.api.BaseController;
import com.doumee.config.annotation.CloudRequiredPermission;
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/PlatformInterfaceLogCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformInterfaceLogCloudController.java
similarity index 98%
rename from server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/PlatformInterfaceLogCloudController.java
rename to server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformInterfaceLogCloudController.java
index 8674342..e0a3b14 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/PlatformInterfaceLogCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformInterfaceLogCloudController.java
@@ -1,4 +1,4 @@
-package com.doumee.api.cloud;
+package com.doumee.cloud.admin;
import com.doumee.api.BaseController;
import com.doumee.config.annotation.CloudRequiredPermission;
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/PlatformJobCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformJobCloudController.java
similarity index 98%
rename from server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/PlatformJobCloudController.java
rename to server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformJobCloudController.java
index 62736b7..5c71da5 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/PlatformJobCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformJobCloudController.java
@@ -1,4 +1,4 @@
-package com.doumee.api.cloud;
+package com.doumee.cloud.admin;
import com.doumee.api.BaseController;
import com.doumee.config.annotation.CloudRequiredPermission;
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/PlatformLogCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformLogCloudController.java
similarity index 98%
rename from server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/PlatformLogCloudController.java
rename to server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformLogCloudController.java
index 223a4ee..89050d3 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/PlatformLogCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformLogCloudController.java
@@ -1,4 +1,4 @@
-package com.doumee.api.cloud;
+package com.doumee.cloud.admin;
import com.doumee.api.BaseController;
import com.doumee.config.annotation.CloudRequiredPermission;
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/PlatformQueueCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformQueueCloudController.java
similarity index 98%
rename from server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/PlatformQueueCloudController.java
rename to server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformQueueCloudController.java
index a695b2f..a80574c 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/PlatformQueueCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformQueueCloudController.java
@@ -1,4 +1,4 @@
-package com.doumee.api.cloud;
+package com.doumee.cloud.admin;
import com.doumee.api.BaseController;
import com.doumee.config.annotation.CloudRequiredPermission;
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/PlatformShowParamCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformShowParamCloudController.java
similarity index 98%
rename from server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/PlatformShowParamCloudController.java
rename to server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformShowParamCloudController.java
index 326bfa9..d1b36a2 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/PlatformShowParamCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformShowParamCloudController.java
@@ -1,4 +1,4 @@
-package com.doumee.api.cloud;
+package com.doumee.cloud.admin;
import com.doumee.api.BaseController;
import com.doumee.config.annotation.CloudRequiredPermission;
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/ProblemLogCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/ProblemLogCloudController.java
similarity index 98%
rename from server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/ProblemLogCloudController.java
rename to server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/ProblemLogCloudController.java
index 2a9405e..641138c 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/ProblemLogCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/ProblemLogCloudController.java
@@ -1,4 +1,4 @@
-package com.doumee.api.cloud;
+package com.doumee.cloud.admin;
import com.doumee.api.BaseController;
import com.doumee.config.annotation.CloudRequiredPermission;
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/ProblemsCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/ProblemsCloudController.java
similarity index 98%
rename from server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/ProblemsCloudController.java
rename to server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/ProblemsCloudController.java
index 76c6a7d..1e8ba49 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/ProblemsCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/ProblemsCloudController.java
@@ -1,4 +1,4 @@
-package com.doumee.api.cloud;
+package com.doumee.cloud.admin;
import com.doumee.api.BaseController;
import com.doumee.config.annotation.CloudRequiredPermission;
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/RetentionCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/RetentionCloudController.java
similarity index 98%
rename from server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/RetentionCloudController.java
rename to server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/RetentionCloudController.java
index c8c436b..94260ab 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/RetentionCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/RetentionCloudController.java
@@ -1,4 +1,4 @@
-package com.doumee.api.cloud;
+package com.doumee.cloud.admin;
import com.doumee.api.BaseController;
import com.doumee.config.annotation.CloudRequiredPermission;
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/StagingCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/StagingCloudController.java
similarity index 98%
rename from server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/StagingCloudController.java
rename to server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/StagingCloudController.java
index 0548b35..4141bb9 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/StagingCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/StagingCloudController.java
@@ -1,4 +1,4 @@
-package com.doumee.api.cloud;
+package com.doumee.cloud.admin;
import com.doumee.api.BaseController;
import com.doumee.core.model.ApiResponse;
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/TasksCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/TasksCloudController.java
similarity index 98%
rename from server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/TasksCloudController.java
rename to server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/TasksCloudController.java
index a3b08c1..8f2757a 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/TasksCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/TasksCloudController.java
@@ -1,4 +1,4 @@
-package com.doumee.api.cloud;
+package com.doumee.cloud.admin;
import com.doumee.api.BaseController;
import com.doumee.config.annotation.CloudRequiredPermission;
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/TrainTimeCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/TrainTimeCloudController.java
similarity index 98%
rename from server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/TrainTimeCloudController.java
rename to server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/TrainTimeCloudController.java
index 5614f3e..fd7bba4 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/TrainTimeCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/TrainTimeCloudController.java
@@ -1,4 +1,4 @@
-package com.doumee.api.cloud;
+package com.doumee.cloud.admin;
import com.doumee.api.BaseController;
import com.doumee.config.annotation.CloudRequiredPermission;
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/UserActionCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/UserActionCloudController.java
similarity index 98%
rename from server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/UserActionCloudController.java
rename to server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/UserActionCloudController.java
index a9a497b..f4f64e8 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/UserActionCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/UserActionCloudController.java
@@ -1,4 +1,4 @@
-package com.doumee.api.cloud;
+package com.doumee.cloud.admin;
import com.doumee.api.BaseController;
import com.doumee.config.annotation.CloudRequiredPermission;
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/VisitEventCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/VisitEventCloudController.java
similarity index 98%
rename from server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/VisitEventCloudController.java
rename to server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/VisitEventCloudController.java
index d561474..a3cd6cf 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/VisitEventCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/VisitEventCloudController.java
@@ -1,4 +1,4 @@
-package com.doumee.api.cloud;
+package com.doumee.cloud.admin;
import com.doumee.api.BaseController;
import com.doumee.config.annotation.CloudRequiredPermission;
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/VisitParkCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/VisitParkCloudController.java
similarity index 98%
rename from server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/VisitParkCloudController.java
rename to server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/VisitParkCloudController.java
index c7cb29e..058d39e 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/VisitParkCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/VisitParkCloudController.java
@@ -1,4 +1,4 @@
-package com.doumee.api.cloud;
+package com.doumee.cloud.admin;
import com.doumee.api.BaseController;
import com.doumee.config.annotation.CloudRequiredPermission;
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/VisitProblemLogCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/VisitProblemLogCloudController.java
similarity index 98%
rename from server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/VisitProblemLogCloudController.java
rename to server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/VisitProblemLogCloudController.java
index 131fb98..db9c026 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/VisitProblemLogCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/VisitProblemLogCloudController.java
@@ -1,4 +1,4 @@
-package com.doumee.api.cloud;
+package com.doumee.cloud.admin;
import com.doumee.api.BaseController;
import com.doumee.config.annotation.CloudRequiredPermission;
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/VisitProblemsCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/VisitProblemsCloudController.java
similarity index 98%
rename from server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/VisitProblemsCloudController.java
rename to server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/VisitProblemsCloudController.java
index 6b73ff1..6aba77f 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/VisitProblemsCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/VisitProblemsCloudController.java
@@ -1,4 +1,4 @@
-package com.doumee.api.cloud;
+package com.doumee.cloud.admin;
import com.doumee.api.BaseController;
import com.doumee.config.annotation.CloudRequiredPermission;
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/VisitReasonCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/VisitReasonCloudController.java
similarity index 98%
rename from server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/VisitReasonCloudController.java
rename to server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/VisitReasonCloudController.java
index 8f98105..e000c3f 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/VisitReasonCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/VisitReasonCloudController.java
@@ -1,4 +1,4 @@
-package com.doumee.api.cloud;
+package com.doumee.cloud.admin;
import com.doumee.api.BaseController;
import com.doumee.config.annotation.CloudRequiredPermission;
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/VisitorCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/VisitorCloudController.java
similarity index 98%
rename from server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/VisitorCloudController.java
rename to server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/VisitorCloudController.java
index 3982779..078c0d8 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/VisitorCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/VisitorCloudController.java
@@ -1,4 +1,4 @@
-package com.doumee.api.cloud;
+package com.doumee.cloud.admin;
import com.doumee.api.BaseController;
import com.doumee.config.annotation.CloudRequiredPermission;
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/VisitsCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/VisitsCloudController.java
similarity index 99%
rename from server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/VisitsCloudController.java
rename to server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/VisitsCloudController.java
index b0c771f..e4d6e8d 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/cloud/VisitsCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/VisitsCloudController.java
@@ -1,4 +1,4 @@
-package com.doumee.api.cloud;
+package com.doumee.cloud.admin;
import com.doumee.api.BaseController;
import com.doumee.config.annotation.CloudRequiredPermission;
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/ApiController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/ApiController.java
new file mode 100644
index 0000000..5b84557
--- /dev/null
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/ApiController.java
@@ -0,0 +1,48 @@
+package com.doumee.cloud.web;
+
+import com.doumee.config.Jwt.JwtTokenUtil;
+import com.doumee.dao.business.model.Member;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
+
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * Controller鍩虹被
+ * @author Eva.Caesar Liu
+ * @date 2022/03/15 09:54
+ */
+@Slf4j
+public class ApiController {
+
+
+ /**
+ * 寰楀埌request瀵硅薄
+ *
+ * @return
+ */
+ public HttpServletRequest getRequest() {
+ HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
+ return request;
+ }
+
+ /**
+ * 鑾峰彇鐢ㄦ埛ID
+ *
+ * @return
+ */
+ protected Integer getMemberId() {
+ Object obj = this.getRequest().getAttribute(JwtTokenUtil.UserId_Name);
+ return obj != null ? Integer.valueOf( obj.toString() ): null;
+ }
+ /**
+ * 鑾峰彇鐢ㄦ埛
+ *
+ * @return
+ */
+ protected Member getMember() {
+ Member member = (Member) this.getRequest().getAttribute(JwtTokenUtil.MEMBER);
+ return member != null ? member : null;
+ }
+}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/WebPublicController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/WebPublicController.java
new file mode 100644
index 0000000..7bbabeb
--- /dev/null
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/WebPublicController.java
@@ -0,0 +1,414 @@
+package com.doumee.cloud.web;
+
+import com.alibaba.fastjson.JSONObject;
+import com.doumee.api.BaseController;
+import com.doumee.biz.system.SystemDictDataBiz;
+import com.doumee.config.annotation.LoginNoRequired;
+import com.doumee.core.annotation.trace.Trace;
+import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.DateUtil;
+import com.doumee.core.utils.FtpUtil;
+import com.doumee.core.utils.aliyun.ALiYunUtil;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.multipart.commons.CommonsMultipartResolver;
+
+import javax.imageio.ImageIO;
+import javax.imageio.stream.ImageOutputStream;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.awt.*;
+import java.awt.image.BufferedImage;
+import java.io.*;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.UUID;
+
+/**
+ * @author Eva.Caesar Liu
+ * @date 2023/02/14 11:14
+ */
+@Api(tags = "銆愬叕浼楀彿銆戝叕鍏辨帴鍙�")
+@Trace(exclude = true)
+@RestController
+@LoginNoRequired
+@RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/web/visit/public")
+@Slf4j
+public class WebPublicController extends BaseController {
+
+
+ @Autowired
+ private SystemDictDataBiz systemDictDataBiz;
+
+
+ @ApiOperation(value = "涓婁紶", notes = "涓婁紶", httpMethod = "POST", position = 6)
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "folder", value = "鏂囦欢澶�", required = true, paramType = "query", dataType = "String", dataTypeClass = String.class),
+ })
+ @PostMapping(value = "/upload", headers = "content-type=multipart/form-data")
+ public void uploadMobile(String folder, HttpServletRequest request, HttpServletResponse response) throws Exception {
+ MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
+ upload(multipartRequest, response, folder + "/",
+ systemDictDataBiz.queryByCode(Constants.OSS,Constants.BUCKETNAME).getCode(),
+ systemDictDataBiz.queryByCode(Constants.OSS,Constants.ACCESS_ID).getCode(),
+ systemDictDataBiz.queryByCode(Constants.OSS,Constants.ACCESS_KEY).getCode(),
+ systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode(),
+ systemDictDataBiz.queryByCode(Constants.OSS,Constants.ENDPOINT).getCode());
+ }
+
+
+ @ApiOperation(value = "涓婁紶鍥剧墖", notes = "涓婁紶鍥剧墖", httpMethod = "POST", position = 6)
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "folder", value = "鏂囦欢澶�", required = true, paramType = "query", dataType = "String", dataTypeClass = String.class),
+ })
+ @PostMapping(value = "/uploadPicture", headers = "content-type=multipart/form-data")
+ public void uploadPicture(String folder, HttpServletRequest request, HttpServletResponse response) throws Exception {
+ MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
+ Iterator<String> fileNames = multipartRequest.getFileNames();
+ Map<String, Object> context = new HashMap<>();
+ while (fileNames.hasNext()){
+ MultipartFile file = multipartRequest.getFile(fileNames.next());
+ String fileName = file.getOriginalFilename();
+ String suffix = fileName.substring(fileName.lastIndexOf("."));
+ if ( !StringUtils.equalsIgnoreCase(suffix, ".jpg") || !StringUtils.equalsIgnoreCase(suffix, ".png")) {
+ context.put("code", 0);
+ context.put("message", "瀵逛笉璧凤紝鏂囦欢鏍煎紡涓婁紶鏈夎锛�");
+ }
+ }
+ upload(multipartRequest, response, folder + "/",
+ systemDictDataBiz.queryByCode(Constants.OSS,Constants.BUCKETNAME).getCode(),
+ systemDictDataBiz.queryByCode(Constants.OSS,Constants.ACCESS_ID).getCode(),
+ systemDictDataBiz.queryByCode(Constants.OSS,Constants.ACCESS_KEY).getCode(),
+ systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode(),
+ systemDictDataBiz.queryByCode(Constants.OSS,Constants.ENDPOINT).getCode());
+ }
+
+
+
+
+ public static FtpUtil ftp = null;
+
+ @ApiOperation(value = "涓婁紶鏂囦欢鍒癋TP")
+ @RequestMapping(method= RequestMethod.POST,value="api/uploadFtp.do",headers = "content-type=multipart/form-data")
+ @ResponseBody
+ public void uploadFtp(HttpServletRequest request, HttpServletResponse response, String folderCode) throws Exception {
+ System.out.println("涓婁紶涓�");
+ String folder = systemDictDataBiz.queryByCode(Constants.FTP,folderCode).getCode();
+ String prefixPath = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode();
+ InputStream is = null;
+ response.setCharacterEncoding("UTF-8");
+ response.setContentType("text/html;charset=UTF-8");
+ Map<String, Object> context = new HashMap<>();
+ try {
+ if(ftp == null){
+ ftp = new FtpUtil(systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_HOST).getCode(),
+ Integer.parseInt(systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_PORT).getCode()),
+ systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_USERNAME).getCode(),
+ systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_PWD).getCode());
+ }else{
+ ftp.connect();
+ }
+ CommonsMultipartResolver multipartResovler = new CommonsMultipartResolver();
+ if (multipartResovler.isMultipart(request)) {
+ MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
+ Iterator<String> it = multipartRequest.getFileNames();
+ while (it.hasNext()) {
+ MultipartFile file = multipartRequest.getFile(it.next());
+ is = file.getInputStream();
+ String date = DateUtil.getNowShortDate();
+ String fName = date+"/"+ UUID.randomUUID()+".jpg";
+ String fileName = folder+fName;
+// boolean r = ftp.uploadInputstream(compressImg(is),fileName);
+ boolean r = ftp.uploadInputstream(is,fileName);
+ if(r){
+ context.put("success", true);
+ context.put("code", 200);
+ context.put("errno",0);
+ JSONObject fileJSON = new JSONObject();
+ fileJSON.put("halfPath", fName);
+ fileJSON.put("prefixPath", prefixPath);
+ fileJSON.put("folder", folder);
+ fileJSON.put("addr", prefixPath+fileName);
+ context.put("data",fileJSON);
+ context.put("message","璇锋眰鎴愬姛");
+ writerJson(response, context);
+ return;
+ }
+ }
+ }
+ } catch (Exception e) {
+ log.error("銆愪笂浼燜TP澶辫触銆�======================"+e.getMessage());
+ }
+ context.put("code", 0);
+ context.put("message", "涓婁紶澶辫触");
+ context.put("errno",0);
+ writerJson(response, context);
+ return;
+ }
+
+
+ public InputStream compressImg(InputStream is){
+ try {
+ long originalFileSize = is.available();
+ BufferedImage originalImage = ImageIO.read(is);
+
+ double compressionRatio = Math.sqrt((double)originalFileSize / (200 * 1024.0));
+
+ if(compressionRatio >1){
+ int compressedWidth = (int) (originalImage.getWidth() / compressionRatio);
+ int compressedHeight = (int) (originalImage.getHeight() / compressionRatio);
+
+ BufferedImage compressedImage = new BufferedImage(compressedWidth, compressedHeight, BufferedImage.TYPE_INT_RGB);
+ Graphics2D graphics = compressedImage.createGraphics();
+ graphics.drawImage(originalImage, 0, 0, compressedWidth, compressedHeight, null);
+ ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
+ ImageOutputStream imOut = ImageIO.createImageOutputStream(byteArrayOutputStream);
+ ImageIO.write(compressedImage, "jpg", imOut);
+ InputStream inputStream = new ByteArrayInputStream(byteArrayOutputStream.toByteArray());
+ graphics.dispose();
+ return inputStream;
+ }else{
+ ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
+ ImageOutputStream imOut = ImageIO.createImageOutputStream(byteArrayOutputStream);
+ ImageIO.write(originalImage, "jpg", imOut);
+ InputStream inputStream = new ByteArrayInputStream(byteArrayOutputStream.toByteArray());
+ return inputStream;
+ }
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ return is;
+ }
+
+
+ public void upload(HttpServletRequest request, HttpServletResponse response, String folder, String bucketName,
+ String access_id, String access_key, String resourcePath, String endpoint) throws Exception {
+ response.setCharacterEncoding("UTF-8");
+ response.setContentType("text/html;charset=UTF-8");
+ Map<String, Object> context = new HashMap<>();
+ CommonsMultipartResolver multipartResovler = new CommonsMultipartResolver();
+ if (multipartResovler.isMultipart(request)) {
+ MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
+ Iterator<String> it = multipartRequest.getFileNames();
+ while (it.hasNext()) {
+ MultipartFile file = multipartRequest.getFile((String) it.next());// file
+ // multipartRequest.getFile((String)
+ // it.next());
+ if (file != null) {
+ // 1銆佷笂浼犲埌鏈嶅姟鍣ㄤ复鏃舵枃浠跺す
+ String uploadFileName = file.getOriginalFilename();
+ String originname = uploadFileName;
+ if (originname.lastIndexOf("/") >= 0) {
+ originname = originname.substring(originname.lastIndexOf("/") + 1);
+ }
+ String nfix = "";// 鍚庣紑鍚�
+ if (StringUtils.isNotBlank(uploadFileName)) {
+ nfix = uploadFileName.substring(uploadFileName.lastIndexOf("."));
+ }
+ if (StringUtils.equalsIgnoreCase(nfix, ".exe")) {
+ context.put("code", 4000);
+ context.put("message", "瀵逛笉璧凤紝鏂囦欢鏍煎紡\".exe\"涓婁紶鏈夎锛�");
+ return;
+ }
+ if (StringUtils.equalsIgnoreCase(nfix, ".dll")) {
+ context.put("code", 4000);
+ context.put("message", "瀵逛笉璧凤紝鏂囦欢鏍煎紡\".dll\"涓婁紶鏈夎锛�");
+ return;
+ }
+ String nowDate = DateUtil.getNowShortDate();// 褰撳墠鏃堕棿锛堝勾鏈堟棩锛�
+ String fileName = UUID.randomUUID().toString() + nfix;
+ String tempFileName = nowDate + "/" + fileName;
+ String key = folder + tempFileName;// 鏂囦欢鍚�
+ ALiYunUtil obs = new ALiYunUtil(endpoint,access_id, access_key);
+ if (obs.uploadOnlineObject(file.getInputStream(),bucketName, key,null)) {
+ // 绉诲姩鎴愬姛,杩斿洖鏂囦欢鍚�
+ // sendSuccessMessage(response, resourcePath+key);
+ context.put("success", true);
+ context.put("code", 200);
+ context.put("errno",0);
+ JSONObject fileJSON = new JSONObject();
+ fileJSON.put("url", resourcePath + key);
+ fileJSON.put("imgaddr", tempFileName);
+ fileJSON.put("imgname", fileName);
+ fileJSON.put("originname", originname);
+ context.put("data",fileJSON);
+ context.put("message","璇锋眰鎴愬姛");
+ writerJson(response, context);
+ return;
+ } else {
+ // 绉诲姩澶辫触
+ context.put("code", 0);
+ context.put("message", "涓婁紶澶辫触");
+ writerJson(response, context);
+ return;
+ }
+ }
+
+ }
+ }
+ context.put("code", 0);
+ context.put("message", "涓婁紶澶辫触");
+ context.put("errno",0);
+ writerJson(response, context);
+ return;
+ }
+
+ public static void writerJson(HttpServletResponse response, Object object) {
+ response.setContentType("application/json");
+ writer(response, JSONObject.toJSONString(object));
+ }
+
+ private static void writer(HttpServletResponse response, String str) {
+ try {
+ StringBuffer result = new StringBuffer();
+ //璁剧疆椤甸潰涓嶇紦瀛�
+ response.setHeader("Pragma", "No-cache");
+ response.setHeader("Cache-Control", "no-cache");
+ response.setCharacterEncoding("UTF-8");
+ PrintWriter out = null;
+ out = response.getWriter();
+ out.print(str);
+ out.flush();
+ out.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+
+
+
+ public void uploadFileLocal(HttpServletRequest request, String folder, HttpServletResponse response, String rootPath,String dir) throws Exception {
+ response.setCharacterEncoding("UTF-8");
+ response.setContentType("text/html;charset=UTF-8");
+ CommonsMultipartResolver multipartResovler = new CommonsMultipartResolver();
+ Map<String, Object> context = new HashMap<>();
+ if (multipartResovler.isMultipart(request)) {
+ MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
+ Iterator<String> it = multipartRequest.getFileNames();
+ while (it.hasNext()) {
+ MultipartFile file = multipartRequest.getFile((String) it.next());// file
+ // =
+ // (CommonsMultipartFile)
+ // multipartRequest.getFile((String)
+ // it.next());
+ if (file != null) {
+ if (file.getSize() > 200 * 1024 * 1024L) {
+ context.put("code", 4000);
+ context.put("message", "涓婁紶鏂囦欢杩囧ぇ");
+ return;
+ }
+ System.out.println(file.getOriginalFilename());
+ if (file.getOriginalFilename() == null) {
+ context.put("code", 4000);
+ context.put("message", "鏂囦欢鍚嶄笉鍙负绌�");
+ return;
+ }
+ /*
+ * if(file.getOriginalFilename().contains(",")||file.getOriginalFilename().
+ * contains(" ")){ sendFailureMessage(response,"鏂囦欢鍚嶇О鏈夎,涓嶅彲鍚湁閫楀彿绛夌壒娈婂瓧绗�"); }
+ */
+
+ String nowDate = DateUtil.getNowShortDate();
+ folder += nowDate + "/";
+ String strDirPath = rootPath + folder;
+ File dirPath = new File(strDirPath);
+ if (!dirPath.exists()) {
+ dirPath.mkdirs();
+ }
+ String uploadFileName = file.getOriginalFilename();
+ String x = UUID.randomUUID().toString().replace("-", "")
+ + uploadFileName.substring(uploadFileName.lastIndexOf("."));
+ String fileName = folder + x;
+ String fileNames = nowDate + "/" + x;
+ uploadFileName = uploadFileName.replace(" ", "");
+ uploadFileName = uploadFileName.replace("锛�", ",");
+ uploadFileName = uploadFileName.replaceAll(",", "-");
+ System.err.println("R:" + fileName);
+ String fileAndPath = dir + fileName;
+ System.err.println("A:" + fileAndPath);
+ // 鍒ゆ柇濡傛灉涓存椂鐩綍涓瓨鍦ㄧ浉鍚屽悕绉扮殑鏂囦欢鍏堝垹闄わ紝鍦ㄤ笂浼�
+ File tempFile = new File(rootPath + fileName);
+ if (tempFile.isFile() && tempFile.exists()) {
+ tempFile.getAbsoluteFile().delete();
+ }
+ // 涓婁紶鍒版湇鍔″櫒涓存椂鏂囦欢澶�
+ file.transferTo(tempFile);
+ // 杞Щ鍒癋TP鏈嶅姟鍣�
+ String nfix = "";
+ if (null != uploadFileName) {
+ nfix = uploadFileName.substring(uploadFileName.lastIndexOf("."));
+ }
+
+ if (StringUtils.equalsIgnoreCase(nfix, ".exe")) {
+ context.put("code", 4000);
+ context.put("message", "瀵逛笉璧凤紝鏂囦欢鏍煎紡\".exe\"涓婁紶鏈夎锛�");
+ return;
+ }
+ if (StringUtils.equalsIgnoreCase(nfix, ".dll")) {
+ context.put("code", 4000);
+ context.put("message", "瀵逛笉璧凤紝鏂囦欢鏍煎紡\".dll\"涓婁紶鏈夎锛�");
+ return;
+ }
+
+ String remoteName = fileName;
+ String remoteFileName = fileAndPath;
+
+ /* Map map = new HashMap();
+ map.put("url", remoteFileName);
+ map.put("alt", uploadFileName);
+ map.put("href", remoteFileName);
+ List maps = Arrays.asList(remoteFileName);*/
+
+ if (true) {
+ // 鍏抽棴FTP娴�
+ // 绉诲姩鎴愬姛,杩斿洖鏂囦欢鍚�
+
+ /*context.put("error", 0);
+ context.put("url", remoteFileName);
+ context.put("fullurl", remoteFileName);
+ context.put("fname", uploadFileName);
+ context.put("data", maps);
+ context.put("halfurl", fileNames);*/
+
+ context.put("success", true);
+ context.put("code", 200);
+ context.put("errno",0);
+ JSONObject fileJSON = new JSONObject();
+ fileJSON.put("url", remoteFileName);
+ fileJSON.put("imgaddr", fileNames);
+ fileJSON.put("imgname", uploadFileName);
+ fileJSON.put("originname", uploadFileName);
+ context.put("data",fileJSON);
+ context.put("message","璇锋眰鎴愬姛");
+
+ writerJson(response, context);
+ return;
+ } else {
+ // 绉诲姩澶辫触
+ context.put("code", 0);
+ context.put("message", "涓婁紶澶辫触");
+ writerJson(response, context);
+ }
+ }
+ context.put("code", 0);
+ context.put("message", "涓婁紶澶辫触");
+ writerJson(response, context);
+ return;
+ }
+ }
+ context.put("code", 0);
+ context.put("message", "涓婁紶澶辫触");
+ writerJson(response, context);
+ return;
+ }
+}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/visit/InternalWebController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/visit/InternalWebController.java
new file mode 100644
index 0000000..e64ced0
--- /dev/null
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/visit/InternalWebController.java
@@ -0,0 +1,118 @@
+package com.doumee.cloud.web.visit;
+
+import com.doumee.cloud.web.ApiController;
+import com.doumee.config.annotation.LoginNoRequired;
+import com.doumee.core.annotation.trace.Trace;
+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.business.model.Visits;
+import com.doumee.dao.web.reqeust.AccountLoginDTO;
+import com.doumee.dao.web.reqeust.AuditApproveDTO;
+import com.doumee.dao.web.reqeust.VisitMemberDTO;
+import com.doumee.dao.web.reqeust.VisitRecordDTO;
+import com.doumee.dao.web.response.*;
+import com.doumee.service.business.ApproveService;
+import com.doumee.service.business.MemberService;
+import com.doumee.service.business.VisitsService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * Created by IntelliJ IDEA.
+ *
+ * @Author : Rk
+ * @create 2023/12/28 14:31
+ */
+
+@Api(tags = "銆愬叕浼楀彿銆戝唴閮ㄥ姵鍔′汉鍛�")
+@Trace(exclude = true)
+@RestController
+@RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/web/visit/member")
+@Slf4j
+@LoginNoRequired
+public class InternalWebController extends ApiController {
+
+ @Autowired
+ private MemberService memberService;
+
+ @Autowired
+ private VisitsService visitsService;
+
+ @Autowired
+ private ApproveService approveService;
+
+ @ApiOperation(value = "浜哄憳鐧诲綍", notes = "H5")
+ @PostMapping("/accountLogin")
+ public ApiResponse<WxAuthorizeVO> accountLogin(@RequestBody AccountLoginDTO accountLoginDTO) {
+ WxAuthorizeVO wxAuthorizeVO = memberService.accountLogin(accountLoginDTO);
+ return ApiResponse.success("鐧诲綍鎴愬姛",wxAuthorizeVO);
+ }
+
+ @ApiOperation(value = "鍐呴儴浜哄憳棣栭〉", notes = "H5")
+ @GetMapping("/internalHome")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+ })
+ public ApiResponse<InternalHomeVO> internalHome() {
+ return ApiResponse.success("鏌ヨ鎴愬姛",approveService.getHomeData(getMemberId()));
+ }
+
+
+ @ApiOperation("浠诲姟涓績")
+ @PostMapping("/taskCenter")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+ })
+ public ApiResponse<PageData<VisitRecordVO>> taskCenter (@RequestBody PageWrap<VisitRecordDTO> pageWrap) {
+ pageWrap.getModel().setMemberId(getMemberId());
+ return ApiResponse.success(visitsService.taskCenter(pageWrap));
+ }
+
+ @ApiOperation("璁垮璁板綍璇︽儏")
+ @GetMapping("/visitDetail")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+ @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "id", value = "璁板綍涓婚敭", required = true)
+ })
+ public ApiResponse<VisitDetailVO> visitDetail (@RequestParam Integer id) {
+ return ApiResponse.success(visitsService.getVisitDetail(id));
+ }
+
+
+ @ApiOperation(value = "浜哄憳鍒嗛〉",notes = "鍙嫓璁垮唴閮ㄤ汉鍛�")
+ @PostMapping("/memberList")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+ })
+ public ApiResponse<PageData<MemberVO>> memberList (@RequestBody PageWrap<VisitMemberDTO> pageWrap) {
+ return ApiResponse.success(memberService.getVisitedMemberList(pageWrap));
+ }
+
+ @ApiOperation(value = "璁垮璁板綍鎻愪氦", notes = "鍐呴儴浜哄憳鎻愪氦")
+ @PostMapping("/createVisit")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+ })
+ public ApiResponse createVisit(@RequestBody Visits visits) {
+ visits.setCreateMemberId(getMemberId());
+ return ApiResponse.success("鏌ヨ鎴愬姛", visitsService.createFk(visits,false));
+ }
+
+ @ApiOperation(value = "瀹℃壒娴佽褰曞鎵�", notes = "鍐呴儴浜哄憳")
+ @PostMapping("/auditApprove")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+ })
+ public ApiResponse auditApprove(@RequestBody AuditApproveDTO auditApproveDTO) {
+ visitsService.auditApprove(auditApproveDTO);
+ return ApiResponse.success("鎿嶄綔鎴愬姛");
+ }
+
+}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/visit/ProblemWebController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/visit/ProblemWebController.java
new file mode 100644
index 0000000..7d14a3c
--- /dev/null
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/visit/ProblemWebController.java
@@ -0,0 +1,67 @@
+package com.doumee.cloud.web.visit;
+
+import com.doumee.cloud.web.ApiController;
+import com.doumee.config.annotation.LoginNoRequired;
+import com.doumee.core.annotation.trace.Trace;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.utils.Constants;
+import com.doumee.core.wx.wxPlat.WxPlatNotice;
+import com.doumee.dao.web.reqeust.FinishAnswerDTO;
+import com.doumee.dao.web.response.ProblemsVO;
+import com.doumee.service.business.ProblemLogService;
+import com.doumee.service.business.ProblemsService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * Created by IntelliJ IDEA.
+ *
+ * @Author : Rk
+ * @create 2023/12/8 8:54
+ */
+
+@Api(tags = "銆愬叕浼楀彿銆戦鐩笟鍔�")
+@Trace(exclude = true)
+@RestController
+@LoginNoRequired
+@RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/web/visit/problem")
+@Slf4j
+public class ProblemWebController extends ApiController {
+
+ @Autowired
+ private ProblemsService problemsService;
+
+ @Autowired
+ private ProblemLogService problemLogService;
+
+ @Autowired
+ private WxPlatNotice wxPlatNotice;
+
+
+ @ApiOperation(value = "鑾峰彇棰樼洰鏁版嵁", notes = "H5")
+ @GetMapping("/getProblemsVO")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "useType", value = "浣跨敤鍦烘櫙 2鍔冲姟浜哄憳 1鏅�氳瀹�", required = true)
+ })
+ public ApiResponse<List<ProblemsVO>> getProblemsVO(@RequestParam Integer useType) {
+ return ApiResponse.success("鏌ヨ鎴愬姛",problemsService.getProblemsVO(useType));
+ }
+
+
+ @ApiOperation(value = "淇濆瓨绛旈璁板綍", notes = "H5")
+ @PostMapping("/finishAnswer")
+ public ApiResponse<Integer> finishAnswer(@RequestBody FinishAnswerDTO finishAnswerDTO) {
+ return ApiResponse.success("鏌ヨ鎴愬姛",problemLogService.finishAnswer(finishAnswerDTO));
+ }
+
+
+
+
+}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/visit/UnitWebController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/visit/UnitWebController.java
new file mode 100644
index 0000000..3c47514
--- /dev/null
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/visit/UnitWebController.java
@@ -0,0 +1,63 @@
+package com.doumee.cloud.web.visit;
+
+import com.doumee.biz.system.SystemDictDataBiz;
+import com.doumee.config.annotation.LoginNoRequired;
+import com.doumee.core.annotation.trace.Trace;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.utils.Constants;
+import com.doumee.dao.system.model.SystemDictData;
+import com.doumee.dao.web.response.DeviceRoleVO;
+import com.doumee.service.business.DeviceRoleService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * Created by IntelliJ IDEA.
+ *
+ * @Author : Rk
+ * @create 2023/12/7 10:40
+ */
+
+@Api(tags = "銆愬叕浼楀彿銆戝叾浠�")
+@Trace(exclude = true)
+@RestController
+@LoginNoRequired
+@RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/web/visit/other")
+@Slf4j
+public class UnitWebController {
+
+ @Autowired
+ private SystemDictDataBiz systemDictDataBiz;
+
+ @Autowired
+ private DeviceRoleService deviceRoleService;
+
+ @ApiOperation(value = "鏌ヨ瀛楀吀鍊兼暟鎹�", notes = "H5")
+ @GetMapping("/getSystemDictData")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "query", dataType = "String", name = "label", value = "鏁版嵁瀛楀吀鍊�", required = true),
+ @ApiImplicitParam(paramType = "query", dataType = "String", name = "dictCode", value = "绯荤粺瀛楀吀鍊�", required = true)
+ })
+ public ApiResponse<SystemDictData> getSystemDictData(@RequestParam String dictCode, @RequestParam String label) {
+ return ApiResponse.success("鏌ヨ鎴愬姛",systemDictDataBiz.queryByCode(dictCode,label));
+ }
+
+ @ApiOperation(value = "璁惧缁勫垪琛�", notes = "H5")
+ @GetMapping("/deviceRoleList")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "type", value = "绫诲瀷 0鍔冲姟璁垮 1鏅�氳瀹� 2鍐呴儴浜哄憳", required = true)
+ })
+ public ApiResponse<List<DeviceRoleVO>> deviceRoleList(@RequestParam Integer type) {
+ return ApiResponse.success("鏌ヨ鎴愬姛",deviceRoleService.findListByType(type));
+ }
+}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/visit/VisitorWebController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/visit/VisitorWebController.java
new file mode 100644
index 0000000..9b82639
--- /dev/null
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/visit/VisitorWebController.java
@@ -0,0 +1,77 @@
+package com.doumee.cloud.web.visit;
+
+import com.doumee.config.annotation.LoginNoRequired;
+import com.doumee.core.annotation.trace.Trace;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.utils.Constants;
+import com.doumee.dao.business.model.Visits;
+import com.doumee.dao.web.reqeust.CheckVisitedDTO;
+import com.doumee.dao.web.response.MemberVO;
+import com.doumee.dao.web.response.VisitDetailVO;
+import com.doumee.dao.web.response.WxAuthorizeVO;
+import com.doumee.service.business.MemberService;
+import com.doumee.service.business.VisitsService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+
+/**
+ * Created by IntelliJ IDEA.
+ *
+ * @Author : Rk
+ * @create 2023/12/7 10:40
+ */
+
+@Api(tags = "銆愬叕浼楀彿銆戣瀹笟鍔�")
+@Trace(exclude = true)
+@RestController
+@LoginNoRequired
+@RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/web/visit/visitor")
+@Slf4j
+public class VisitorWebController {
+
+ @Autowired
+ private MemberService memberService;
+
+ @Autowired
+ private VisitsService visitsService;
+
+
+ @ApiOperation(value = "璁垮寰俊鎺堟潈", notes = "璁垮寰俊鎺堟潈鑾峰彇openId")
+ @GetMapping("/wxAuthorize")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "query", dataType = "String", name = "code", value = "鎺堟潈鐮�", required = true)
+ })
+ public ApiResponse<WxAuthorizeVO> wxAuthorize(@RequestParam String code) {
+ WxAuthorizeVO wxAuthorizeVO = memberService.wxAuthorize(code);
+ return ApiResponse.success("鏌ヨ鎴愬姛",wxAuthorizeVO);
+ }
+
+
+ @ApiOperation(value = "鏌ヨ琚闂汉淇℃伅", notes = "鏌ヨ琚闂汉淇℃伅")
+ @PostMapping("/getVisitedMember")
+ public ApiResponse<MemberVO> getVisitedMember(@Valid @RequestBody CheckVisitedDTO checkVisitedDTO) {
+ return ApiResponse.success("鏌ヨ鎴愬姛", memberService.getVisitedMember(checkVisitedDTO));
+ }
+
+
+ @ApiOperation(value = "璁垮璁板綍鎻愪氦", notes = "璁垮鎻愪氦")
+ @PostMapping("/createFk")
+ public ApiResponse createFk(@RequestBody Visits visits) {
+ visits.setSourceType(Constants.ZERO);
+ return ApiResponse.success("鏌ヨ鎴愬姛", visitsService.createFk(visits,false));
+ }
+
+
+ @ApiOperation(value = "璁垮璁板綍璇︽儏", notes = "璁垮璁板綍璇︽儏")
+ @GetMapping("/detail")
+ public ApiResponse<VisitDetailVO> detail(@RequestParam Integer id) {
+ return ApiResponse.success("鏌ヨ鎴愬姛", visitsService.getVisitDetail(id));
+ }
+}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/config/swagger/SwaggerConfig.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/config/swagger/SwaggerConfig.java
index 0111d86..1be6534 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/config/swagger/SwaggerConfig.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/config/swagger/SwaggerConfig.java
@@ -52,7 +52,7 @@
.apiInfo(this.getApiInfo()).groupName("default")
.host(host)
.select()
- .apis( basePackage("com.doumee.api.cloud,com.doumee.api.common"))
+ .apis( basePackage("com.doumee.cloud;com.doumee.api.common"))
// 璁剧疆闇�瑕佽鎵弿鐨勭被锛岃繖閲岃缃负娣诲姞浜咢Api娉ㄨВ鐨勭被
// .apis(RequestHandlerSelectors.withClassAnnotation(Api.class))
.paths(PathSelectors.any())
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
index 1c46da2..f1c3d72 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
@@ -104,6 +104,7 @@
company.setIsdeleted(Constants.ZERO);
company.setHkStatus(Constants.ONE);
company.setStatus(Constants.ZERO);
+ company.setSortnum(0);//榛樿鏈�涓婇潰
company.setHkDate(company.getCreateDate());
company.setEditDate(company.getCreateDate());
company.setEditor(company.getCreator());
@@ -550,6 +551,7 @@
queryWrapper.leftJoin(SystemUser.class,SystemUser::getId,Company::getEditor);
queryWrapper.eq(Company::getIsdeleted,Constants.ZERO);
queryWrapper.eq(type!=null,Company::getType,type);
+ queryWrapper.orderByAsc(Company::getSortnum );
List<Company> companyList = companyJoinMapper.selectJoinList(Company.class,queryWrapper);
//閰嶇疆缁勫憳浜哄憳绫诲瀷鏉ユ簮鏂瑰紡 0鑷缓 1ERP
CompanyTree treeBuild = new CompanyTree(companyList, dataSyncConfig.getOrgUserDataOrigin());
diff --git a/server/visits/dmvisit_service/src/main/resources/application-dev.yml b/server/visits/dmvisit_service/src/main/resources/application-dev.yml
index bc5921e..3e35772 100644
--- a/server/visits/dmvisit_service/src/main/resources/application-dev.yml
+++ b/server/visits/dmvisit_service/src/main/resources/application-dev.yml
@@ -16,19 +16,6 @@
time-zone: GMT+8
date-format: yyyy-MM-dd HH:mm:ss
-#rocketmq:
-# namesrvAddr: rmq-cn-pe335rcnn06.cn-shanghai.rmq.aliyuncs.com:8080
-# groupId: GID-wakatest
-# topic: waka-test
-# username: 4derRb4Sw5EkqUMI
-# password: v50N97wf4av8Q8I4
-
-#knife4j:
-# enable: true
-# basic:
-# enable: true
-# username: admin
-# password: 111111
debug_model: true
@@ -64,20 +51,4 @@
remoteHost: https://apis.map.qq.com
appKey: 3AYBZ-I5R3V-2BVP3-UWBDQ-ETBM5-B2BBQ
-
-
des_pwd: 123456SDFKDJF
-
-## MQTT##
-mqtt:
- host: tcp://192.168.10.198:1883
- userName: root
- passWord: 123456
- qos: 1
- clientId: ClientId_local #ClientId_local蹇呴』鍞竴 姣斿浣犲凡缁忓畾浜嗗彨ABC 閭d綘灏变竴鐩村彨ABC 鍏朵粬鍦版柟灏变笉瑕佷娇鐢ˋBC浜�
- timeout: 10
- keepalive: 20
- topic1: A/pick/warn/# #绗﹀彿鏄唬琛ㄦ暣涓獁arn涓嬮潰鐨勫叏閮ㄥ瓙涓婚 娌℃湁鐞嗚В鐨勮瘽 鍙互鐧惧害浠旂粏鐞嗚В涓�涓�
- topic2: A/cmd/resp
- topic3: ABCF
- topic4: ABCH
--
Gitblit v1.9.3