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); } } 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")); } } } /** * 修改提现列表 */ 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"; } /** 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("司机提现"); 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"); 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"); 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() })