From a0536b4aac5867173d6b0280cddbf87cb52de78b Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期四, 16 十月 2025 18:22:30 +0800 Subject: [PATCH] Merge branch 'dev' of http://120.76.84.145:10101/gitblit/r/java/ZhaoYangChuXing --- ManagementZYTravel/guns-admin/src/main/webapp/WEB-INF/view/system/specialAreaBilling/specialAreaBilling_edit.html | 3 + DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java | 1 ManagementZYTravel/guns-admin/src/main/webapp/WEB-INF/view/system/specialAreaBilling/specialAreaBilling_add.html | 3 + ManagementZYTravel/guns-admin/src/main/webapp/static/modular/system/specialAreaBilling/electricFence.js | 76 ++++++++++++++++++++++++++++++++------ ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/alipay/AlipayUtils.java | 4 + ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TPubWithdrawalController.java | 26 +++++++++++- ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TSpecialAreaBillingController.java | 2 + 7 files changed, 97 insertions(+), 18 deletions(-) diff --git a/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java b/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java index a89e9e8..5b11a8e 100644 --- a/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java +++ b/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java @@ -530,6 +530,7 @@ orderPrivateCar.setLongDistanceMoney(Objects.nonNull(orderPrivateCar.getLongDistanceMoney())?new BigDecimal(orderPrivateCar.getLongDistanceMoney()).multiply(priceCoefficient).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue():0D); orderPrivateCar.setParkMoney(Objects.nonNull(orderPrivateCar.getParkMoney())?new BigDecimal(orderPrivateCar.getParkMoney()).multiply(priceCoefficient).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue():0D); orderPrivateCar.setRoadTollMoney(Objects.nonNull(orderPrivateCar.getRoadTollMoney())?new BigDecimal(orderPrivateCar.getRoadTollMoney()).multiply(priceCoefficient).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue():0D); + this.updateById(orderPrivateCar); } } diff --git a/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TPubWithdrawalController.java b/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TPubWithdrawalController.java index 04e1e60..41df3a2 100644 --- a/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TPubWithdrawalController.java +++ b/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TPubWithdrawalController.java @@ -141,25 +141,31 @@ stateObj = 1; // 支付宝提现 String certNo = ""; + String name = ""; if (tPubWithdrawal.getUserType()==1){ TUser tUser = userService.selectById(tPubWithdrawal.getUserId()); certNo = tUser.getIdCard(); + name = tUser.getName(); }else{ TDriver tDriver = driverService.selectById(tPubWithdrawal.getUserId()); certNo = tDriver.getIdCard(); + name = tDriver.getName(); + } + if (SinataUtil.isEmpty(name)){ + return ResultUtil.error("提现失败:用户未保存真实姓名!"); } SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); String code = sdf.format(new Date()) + UUIDUtil.getNumberRandom(5); - String s = AlipayUtils.aliWithdrawal(code, tPubWithdrawal.getMoney() + "", tPubWithdrawal.getCode(), certNo); + String s = AlipayUtils.aliWithdrawal(code, tPubWithdrawal.getMoney() + "", tPubWithdrawal.getCode(), certNo, name); JSONObject res = JSONObject.parseObject(s); JSONObject alipayFundTransUniTransferResponse = res.getJSONObject("alipay_fund_trans_uni_transfer_response"); if (alipayFundTransUniTransferResponse!=null){ - if (alipayFundTransUniTransferResponse.getString("status").equals("Success")){ + if (alipayFundTransUniTransferResponse.getString("status")!=null && alipayFundTransUniTransferResponse.getString("status").equals("Success")){ String string = alipayFundTransUniTransferResponse.getString("order_id"); tPubWithdrawal.setOrderNumber(string); }else{ - return ResultUtil.error("提现失败:"+alipayFundTransUniTransferResponse.getString("msg")); + return ResultUtil.error("提现失败:"+alipayFundTransUniTransferResponse.getString("sub_msg")); } } System.err.println("支付宝提现返回信息"+s); @@ -189,6 +195,20 @@ return SUCCESS_TIP; } + public static void main(String[] args) throws AlipayApiException { + SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); + String code = sdf.format(new Date()) + UUIDUtil.getNumberRandom(5); + String s = AlipayUtils.aliWithdrawal(code, 0.1 + "", "19983174515", "513902200006257079",""); + JSONObject res = JSONObject.parseObject(s); + JSONObject alipayFundTransUniTransferResponse = res.getJSONObject("alipay_fund_trans_uni_transfer_response"); + if (alipayFundTransUniTransferResponse!=null){ + if (alipayFundTransUniTransferResponse.getString("status")!=null && alipayFundTransUniTransferResponse.getString("status").equals("Success")){ + String string = alipayFundTransUniTransferResponse.getString("order_id"); + }else{ + System.err.println("提现失败"+alipayFundTransUniTransferResponse.getString("sub_msg")); + } + } + } /** * 修改提现列表 */ diff --git a/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TSpecialAreaBillingController.java b/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TSpecialAreaBillingController.java index 861f749..4006db4 100644 --- a/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TSpecialAreaBillingController.java +++ b/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TSpecialAreaBillingController.java @@ -63,6 +63,8 @@ */ @RequestMapping("/add") public String add(Model model) { + SpecialAreaBilling specialAreaBilling = new SpecialAreaBilling(); + model.addAttribute("data",specialAreaBilling); return PREFIX + "specialAreaBilling_add.html"; } /** diff --git a/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/alipay/AlipayUtils.java b/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/alipay/AlipayUtils.java index 646f619..c4808d8 100644 --- a/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/alipay/AlipayUtils.java +++ b/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/alipay/AlipayUtils.java @@ -58,7 +58,8 @@ /** * 提现 */ - public static String aliWithdrawal(String outBizNo, String money, String account, String idCard) throws AlipayApiException { + public static String aliWithdrawal(String outBizNo, String money, String account, String idCard + ,String name) throws AlipayApiException { // 初始化SDK AlipayClient alipayClient = new DefaultAlipayClient(getAlipayConfig()); @@ -82,6 +83,7 @@ payeeInfo.setCertType("IDENTITY_CARD"); payeeInfo.setCertNo(idCard); payeeInfo.setIdentityType("ALIPAY_LOGON_ID"); + payeeInfo.setName(name); model.setPayeeInfo(payeeInfo); // 设置业务备注 model.setRemark("司机提现"); diff --git a/ManagementZYTravel/guns-admin/src/main/webapp/WEB-INF/view/system/specialAreaBilling/specialAreaBilling_add.html b/ManagementZYTravel/guns-admin/src/main/webapp/WEB-INF/view/system/specialAreaBilling/specialAreaBilling_add.html index 41ec94a..4b66798 100644 --- a/ManagementZYTravel/guns-admin/src/main/webapp/WEB-INF/view/system/specialAreaBilling/specialAreaBilling_add.html +++ b/ManagementZYTravel/guns-admin/src/main/webapp/WEB-INF/view/system/specialAreaBilling/specialAreaBilling_add.html @@ -120,7 +120,8 @@ <script src="https://webapi.amap.com/maps?v=1.4.15&key=83a918fd5e6ed82be74e3056d403dbe6&plugin=AMap.MouseTool,AMap.DistrictSearch,AMap.PolyEditor,AMap.RectangleEditor,AMap.CircleEditor"></script> <script src="${ctxPath}/static/modular/system/specialAreaBilling/electricFence.js"></script> <script src="${ctxPath}/static/modular/system/specialAreaBilling/specialAreaBilling_info.js"></script> - +<script> var coordinateData = "${data.coordinate}"; +</script> <script> $(function() { var elem = document.querySelector(".js-switch"); diff --git a/ManagementZYTravel/guns-admin/src/main/webapp/WEB-INF/view/system/specialAreaBilling/specialAreaBilling_edit.html b/ManagementZYTravel/guns-admin/src/main/webapp/WEB-INF/view/system/specialAreaBilling/specialAreaBilling_edit.html index 1879328..5fe7259 100644 --- a/ManagementZYTravel/guns-admin/src/main/webapp/WEB-INF/view/system/specialAreaBilling/specialAreaBilling_edit.html +++ b/ManagementZYTravel/guns-admin/src/main/webapp/WEB-INF/view/system/specialAreaBilling/specialAreaBilling_edit.html @@ -123,7 +123,8 @@ <script src="https://webapi.amap.com/maps?v=1.4.15&key=83a918fd5e6ed82be74e3056d403dbe6&plugin=AMap.MouseTool,AMap.DistrictSearch,AMap.PolyEditor,AMap.RectangleEditor,AMap.CircleEditor"></script> <script src="${ctxPath}/static/modular/system/specialAreaBilling/electricFence.js"></script> <script src="${ctxPath}/static/modular/system/specialAreaBilling/specialAreaBilling_info.js"></script> - +<script> var coordinateData = "${data.coordinate}"; +</script> <script> $(function() { var elem = document.querySelector(".js-switch"); diff --git a/ManagementZYTravel/guns-admin/src/main/webapp/static/modular/system/specialAreaBilling/electricFence.js b/ManagementZYTravel/guns-admin/src/main/webapp/static/modular/system/specialAreaBilling/electricFence.js index d98b147..43e9484 100644 --- a/ManagementZYTravel/guns-admin/src/main/webapp/static/modular/system/specialAreaBilling/electricFence.js +++ b/ManagementZYTravel/guns-admin/src/main/webapp/static/modular/system/specialAreaBilling/electricFence.js @@ -1,7 +1,9 @@ -var map = new AMap.Map('container',{ +// 将 polygons 数组声明提前并确保全局唯一 +var polygons = []; +var map = new AMap.Map('container', { resizeEnable: true, - zoom:15, - center: [102.2667, 27.8833] // 西昌坐标 + zoom: 4, // 使用更小的缩放级别以适应大范围坐标 + center: [77.3833, 34.8833] // 使用更居中的坐标 }); setCenterCoordinate(); function setCenterCoordinate() { @@ -14,12 +16,35 @@ map.setCenter(center) } } +// 修改 setElectricFence 函数来支持单个坐标数据 function setElectricFence() { + console.log("检查 coordinateData:", typeof coordinateData, coordinateData); + if (typeof coordinateData !== 'undefined' && coordinateData) { + console.log("开始绘制多边形,坐标数据:", coordinateData); + var path = convertData(coordinateData); + console.log("转换后的路径:", path); + var polygon = new AMap.Polygon({ + path: path, + strokeWeight: 2, + fillOpacity: 0.4, + fillColor: '#00b0ff', + strokeColor: '#80d8ff' + }); + map.add(polygon); + polygons.push(polygon); + + // 使用 setFitView 确保多边形可见 + map.setFitView([polygon]); + + console.log("多边形已添加到地图"); + return; + } + + // 原有的处理多个位置的逻辑保持不变 var locationsStr = $("#locationList1").val(); if ("" != locationsStr && null != locationsStr) { var locations = JSON.parse(locationsStr); for (let i = 0; i < locations.length; i++) { - console.log(locations[i]) var gid = locations[i].coordinate if (gid == null || gid == "") { continue; @@ -33,6 +58,7 @@ strokeColor: '#80d8ff' }); map.add(polygon); + polygons.push(polygon); } } } @@ -110,10 +136,15 @@ var district = null; -var polygons=[]; + function drawBounds() { + // 在编辑模式下不执行行政区划绘制 + if (typeof coordinateData !== 'undefined' && coordinateData) { + return; + } + if(value == ''){ - value = '北京市'; + value = '西昌市'; } //加载行政区划插件 @@ -129,8 +160,23 @@ //行政区查询 district.setLevel(document.getElementById('level').value) district.search(value, function(status, result) { - map.remove(polygons)//清除上次结果 - polygons = []; + // 只清除行政区划多边形,保留电子围栏 + var tempPolygons = []; + for (var i = 0; i < polygons.length; i++) { + // 保留用户绘制的电子围栏(通过判断是否在objs中) + var isUserPolygon = false; + for (var j = 0; j < objs.polygon.length; j++) { + if (polygons[i] === objs.polygon[j]) { + isUserPolygon = true; + break; + } + } + if (!isUserPolygon) { + tempPolygons.push(polygons[i]); + } + } + map.remove(tempPolygons); + var bounds = result.districtList[0].boundaries; if (bounds) { for (var i = 0, l = bounds.length; i < l; i++) { @@ -142,18 +188,21 @@ fillColor: '#80d8ff', strokeColor: '#0091ea' }); + map.add(polygon); polygons.push(polygon); } } - map.add(polygons) - map.setFitView(polygons);//视口自适应 + // 只对行政区划多边形进行视野调整 + if (bounds && bounds.length > 0) { + map.setFitView(polygons.slice(polygons.length - bounds.length)); + } }); } document.getElementById('find').onclick = function () { value = document.getElementById('district').value; if(value == ''){ - value = "北京市"; + value = "西昌市"; } drawBounds() }; @@ -161,7 +210,7 @@ if (e.keyCode === 13) { value = document.getElementById('district').value; if(value == ''){ - value = "北京市"; + value = "西昌市"; } drawBounds(); return false; @@ -236,6 +285,7 @@ document.getElementById('clear').onclick = function(){ map.remove(overlays) + map.remove(polygons); overlays = []; coordinate = ''; objs.circle = []; @@ -372,6 +422,8 @@ editor.close(); } } + $(function () { + console.log("coordinateData:", coordinateData); // 添加调试日志 setElectricFence() }) \ No newline at end of file -- Gitblit v1.7.1