From e08c0cf4312363caa27760f299e336b509a1ebb7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E7=A3=8A?= <45566618@qq.com> Date: Wed, 17 Jul 2024 14:39:51 +0800 Subject: [PATCH 1/7] =?UTF-8?q?=E5=BE=85=E8=A1=A5=E5=8D=95=E6=8A=80?= =?UTF-8?q?=E5=B8=88=E6=8F=90=E6=88=90=E5=90=8E=E9=87=91=E9=A2=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sqx/modules/artificer/service/impl/OrdersServiceImpl.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main/java/com/sqx/modules/artificer/service/impl/OrdersServiceImpl.java b/src/main/java/com/sqx/modules/artificer/service/impl/OrdersServiceImpl.java index 06b5ae8..00312b4 100644 --- a/src/main/java/com/sqx/modules/artificer/service/impl/OrdersServiceImpl.java +++ b/src/main/java/com/sqx/modules/artificer/service/impl/OrdersServiceImpl.java @@ -1241,6 +1241,10 @@ public class OrdersServiceImpl extends ServiceImpl implements orders.setTechnicianRate(oldOrders.getTechnicianRate()); orders.setDuration(oldOrders.getDuration()); + orders.setTechnicianMoney(oldOrders.getTechnicianMoney()); + orders.setPriceMarkup(oldOrders.getPriceMarkup()); + orders.setVipReductionMoney(oldOrders.getVipReductionMoney()); + orders.setOldOrdersId(oldOrders.getOrdersId()); orders.setOldMassageMoney(oldOrders.getMassageMoney()); orders.setOldPayMoney(oldOrders.getPayMoney()); From 03a819189dd986b50ac03b5e80f35fbd2f18b262 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E7=A3=8A?= <45566618@qq.com> Date: Wed, 17 Jul 2024 15:05:01 +0800 Subject: [PATCH 2/7] =?UTF-8?q?=E5=8D=87=E7=BA=A7=E5=8D=95=E5=B7=AE?= =?UTF-8?q?=E4=BB=B7=E5=8A=A0=E6=88=90=E8=AE=A1=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/artificer/service/impl/OrdersServiceImpl.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/sqx/modules/artificer/service/impl/OrdersServiceImpl.java b/src/main/java/com/sqx/modules/artificer/service/impl/OrdersServiceImpl.java index 00312b4..fab1676 100644 --- a/src/main/java/com/sqx/modules/artificer/service/impl/OrdersServiceImpl.java +++ b/src/main/java/com/sqx/modules/artificer/service/impl/OrdersServiceImpl.java @@ -1521,9 +1521,11 @@ public class OrdersServiceImpl extends ServiceImpl implements chajiaTechnicianMoney = chajiaTechnicianMoney.setScale(0,BigDecimal.ROUND_UP); orders.setTechnicianMoney(chajiaTechnicianMoney); - BigDecimal chajiaVipMoney = chajiaTechnicianMoney.multiply(orders.getVipRate()).divide(new BigDecimal(100)); + BigDecimal chajiaPriceMarkup = chajiaTechnicianMoney.add(chajia); + + BigDecimal chajiaVipMoney = chajiaPriceMarkup.multiply(orders.getVipRate()).divide(new BigDecimal(100)); chajiaVipMoney = chajiaVipMoney.setScale(0,BigDecimal.ROUND_UP); - BigDecimal chajiaVipReductionMoney = chajiaTechnicianMoney.subtract(chajiaVipMoney); + BigDecimal chajiaVipReductionMoney = chajiaPriceMarkup.subtract(chajiaVipMoney); orders.setVipReductionMoney(chajiaVipReductionMoney); //项目价格 = 会员金额 From b24049c84fd89117e65db4caf998856eae97ae72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E7=A3=8A?= <45566618@qq.com> Date: Wed, 17 Jul 2024 15:35:57 +0800 Subject: [PATCH 3/7] =?UTF-8?q?=E5=8A=A0=E9=92=9F=E5=8D=95=E5=B7=AE?= =?UTF-8?q?=E4=BB=B7=E5=8A=A0=E6=88=90=E8=AE=A1=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/sqx/modules/artificer/entity/Orders.java | 12 ++++++++++++ .../artificer/service/impl/OrdersServiceImpl.java | 6 ++++++ 2 files changed, 18 insertions(+) diff --git a/src/main/java/com/sqx/modules/artificer/entity/Orders.java b/src/main/java/com/sqx/modules/artificer/entity/Orders.java index 0762402..6551b3a 100644 --- a/src/main/java/com/sqx/modules/artificer/entity/Orders.java +++ b/src/main/java/com/sqx/modules/artificer/entity/Orders.java @@ -189,6 +189,18 @@ public class Orders implements Serializable { * 加钟金额 */ private BigDecimal addMoney; + /** + * 加钟技师加成后的价格 + */ + private BigDecimal addPriceMarkup; + /** + * 加钟技师加成金额 + */ + private BigDecimal addTechnicianMoney; + /** + * 加钟会员减免金额 + */ + private BigDecimal addVipReductionMoney; /** * 加钟项目收益 diff --git a/src/main/java/com/sqx/modules/artificer/service/impl/OrdersServiceImpl.java b/src/main/java/com/sqx/modules/artificer/service/impl/OrdersServiceImpl.java index fab1676..11cc96b 100644 --- a/src/main/java/com/sqx/modules/artificer/service/impl/OrdersServiceImpl.java +++ b/src/main/java/com/sqx/modules/artificer/service/impl/OrdersServiceImpl.java @@ -4636,10 +4636,16 @@ public class OrdersServiceImpl extends ServiceImpl implements orders1.setAddMoney(orders1.getAddMoney().add(orders.getPayMoney())); orders1.setAddArtificerMoney(orders1.getAddArtificerMoney().add(orders.getArtificerMoney())); orders1.setAddProjectBenefits(orders1.getProjectBenefits().add(orders.getProjectBenefits())); + orders1.setAddPriceMarkup(orders1.getAddPriceMarkup().add(orders.getPriceMarkup())); + orders1.setAddTechnicianMoney(orders1.getAddTechnicianMoney().add(orders.getTechnicianMoney())); + orders1.setAddVipReductionMoney(orders1.getAddVipReductionMoney().add(orders.getVipReductionMoney())); } else { orders1.setAddMoney(orders.getPayMoney()); orders1.setAddArtificerMoney(orders.getArtificerMoney()); orders1.setAddProjectBenefits(orders.getProjectBenefits()); + orders1.setAddPriceMarkup(orders.getPriceMarkup()); + orders1.setAddTechnicianMoney(orders.getTechnicianMoney()); + orders1.setAddVipReductionMoney(orders.getVipReductionMoney()); } orders1.setSumMoney(orders1.getSumMoney().add(orders.getPayMoney())); orders1.setSumArtificerMoney(orders1.getSumArtificerMoney().add(orders.getArtificerMoney())); From b0a346ec04500e5371fba132a3ac078403c2ac3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E7=A3=8A?= <45566618@qq.com> Date: Wed, 17 Jul 2024 17:00:15 +0800 Subject: [PATCH 4/7] =?UTF-8?q?=E5=A5=97=E9=A4=90=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E5=8D=95=E6=8D=AE=E5=8A=A0=E6=88=90=E8=AE=A1=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/OrdersServiceImpl.java | 44 ++++++++++++------- 1 file changed, 28 insertions(+), 16 deletions(-) diff --git a/src/main/java/com/sqx/modules/artificer/service/impl/OrdersServiceImpl.java b/src/main/java/com/sqx/modules/artificer/service/impl/OrdersServiceImpl.java index 11cc96b..255b76e 100644 --- a/src/main/java/com/sqx/modules/artificer/service/impl/OrdersServiceImpl.java +++ b/src/main/java/com/sqx/modules/artificer/service/impl/OrdersServiceImpl.java @@ -1668,25 +1668,37 @@ public class OrdersServiceImpl extends ServiceImpl implements } orders.setVipRate(vipRate); - //技师加成金额 - BigDecimal technicianMoney = price.multiply(orders.getTechnicianRate()).divide(new BigDecimal(100)); - technicianMoney = technicianMoney.setScale(0,BigDecimal.ROUND_UP); - orders.setTechnicianMoney(technicianMoney); + if(orders.getUserPackageDetailId() != null) { + //技师加成金额 + orders.setTechnicianMoney(BigDecimal.ZERO); + //技师加成后总额 + orders.setPriceMarkup(price); + //会员优惠后金额,及会员减免金额 + orders.setVipReductionMoney(BigDecimal.ZERO); + //项目价格 = 会员金额 + orders.setMassageMoney(price); + }else{ + //技师加成金额 + BigDecimal technicianMoney = price.multiply(orders.getTechnicianRate()).divide(new BigDecimal(100)); + technicianMoney = technicianMoney.setScale(0,BigDecimal.ROUND_UP); + orders.setTechnicianMoney(technicianMoney); - //技师加成后总额 - BigDecimal priceMarkup = technicianMoney.add(price); - priceMarkup = priceMarkup.setScale(0,BigDecimal.ROUND_UP); - orders.setPriceMarkup(priceMarkup); + //技师加成后总额 + BigDecimal priceMarkup = technicianMoney.add(price); + priceMarkup = priceMarkup.setScale(0,BigDecimal.ROUND_UP); + orders.setPriceMarkup(priceMarkup); - //会员优惠后金额,及会员减免金额 - BigDecimal vipMoney = priceMarkup.multiply(orders.getVipRate()).divide(new BigDecimal(100)); - vipMoney = vipMoney.setScale(0,BigDecimal.ROUND_UP); - BigDecimal vipReductionMoney = priceMarkup.subtract(vipMoney); - orders.setVipReductionMoney(vipReductionMoney); + //会员优惠后金额,及会员减免金额 + BigDecimal vipMoney = priceMarkup.multiply(orders.getVipRate()).divide(new BigDecimal(100)); + vipMoney = vipMoney.setScale(0,BigDecimal.ROUND_UP); + BigDecimal vipReductionMoney = priceMarkup.subtract(vipMoney); + orders.setVipReductionMoney(vipReductionMoney); + + //项目价格 = 会员金额 + BigDecimal payMoney = vipMoney; + orders.setMassageMoney(payMoney); + } - //项目价格 = 会员金额 - BigDecimal payMoney = vipMoney; - orders.setMassageMoney(payMoney); //项目差价 BigDecimal xmchajia = orders.getMassageMoney().subtract(oldOrders.getMassageMoney()); From a6f7f3ca70276d1db9450a8395b9825ab7459ff9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E7=A3=8A?= <45566618@qq.com> Date: Wed, 17 Jul 2024 17:27:46 +0800 Subject: [PATCH 5/7] =?UTF-8?q?=E5=A5=97=E9=A4=90=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E5=8D=95=E6=8D=AE=E5=87=BA=E8=A1=8C=E8=B4=B9=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/OrdersServiceImpl.java | 23 ++++++++++++++----- 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/sqx/modules/artificer/service/impl/OrdersServiceImpl.java b/src/main/java/com/sqx/modules/artificer/service/impl/OrdersServiceImpl.java index 255b76e..6a78850 100644 --- a/src/main/java/com/sqx/modules/artificer/service/impl/OrdersServiceImpl.java +++ b/src/main/java/com/sqx/modules/artificer/service/impl/OrdersServiceImpl.java @@ -993,7 +993,7 @@ public class OrdersServiceImpl extends ServiceImpl implements orders.setTripWay(3); } TravelPriceVo travelPriceVo = travelConfService.calcTravelPrice(orders.getArtificerId(), orders.getLongitude(), orders.getLatitude(),orders.getServeTime(),tripWay); - if (travelPriceVo == null) { + if (travelPriceVo == null) { return Result.error("暂不支持当前地址,请更换其他地址!"); } taxiMoney = new BigDecimal(travelPriceVo.getTravelPrice()); @@ -1611,6 +1611,15 @@ public class OrdersServiceImpl extends ServiceImpl implements String value1 = commonInfoService.findOne(395).getValue(); Integer tripWay = orders.getTripWay(); + BigDecimal taxiMoney = BigDecimal.ZERO; + if(orders.getUserPackageDetailId() != null) { + String isTravelFree = commonInfoService.findOne(460).getValue(); + if(isTravelFree.equals("是")){ + taxiMoney = BigDecimal.ZERO; + tripWay = 3; + orders.setTripWay(3); + } + } String serveTime = orders.getServeTime(); String date = serveTime.substring(0, 10); @@ -1702,12 +1711,15 @@ public class OrdersServiceImpl extends ServiceImpl implements //项目差价 BigDecimal xmchajia = orders.getMassageMoney().subtract(oldOrders.getMassageMoney()); - - TravelPriceVo travelPriceVo = travelConfService.calcTravelPrice(orders.getArtificerId(), orders.getLongitude(), orders.getLatitude(),orders.getServeTime()); + TravelPriceVo travelPriceVo = null; + if(orders.getUserPackageDetailId() != null) { + travelPriceVo = travelConfService.calcTravelPrice(orders.getArtificerId(), orders.getLongitude(), orders.getLatitude(),orders.getServeTime(),tripWay); + }else{ + travelPriceVo = travelConfService.calcTravelPrice(orders.getArtificerId(), orders.getLongitude(), orders.getLatitude(),orders.getServeTime()); + } if (travelPriceVo == null) { return Result.error("暂不支持当前地址,请更换其他地址!"); } - //删除未支付,无用的升级新单据 List newList = baseMapper.getNewOrdersByOld(oldOrders.getOrdersId()); if(newList.size()>0){ @@ -1718,8 +1730,7 @@ public class OrdersServiceImpl extends ServiceImpl implements } } } - - BigDecimal taxiMoney = new BigDecimal(travelPriceVo.getTravelPrice()); + taxiMoney = new BigDecimal(travelPriceVo.getTravelPrice()); taxiMoney = taxiMoney.setScale(0,BigDecimal.ROUND_UP); BigDecimal oldTaxiMoney = oldOrders.getTaxiMoney(); if (taxiMoney.compareTo(oldTaxiMoney) < 0) { From aefc1418eca2e0bf977b03b0359e0ef53a13e964 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E7=A3=8A?= <45566618@qq.com> Date: Thu, 18 Jul 2024 13:42:26 +0800 Subject: [PATCH 6/7] =?UTF-8?q?=E8=BD=A6=E8=B4=B9=E8=AE=A1=E7=AE=97?= =?UTF-8?q?=E5=87=BA=E7=8E=B0=E8=B4=9F=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/OrdersServiceImpl.java | 5 +++- .../service/impl/TravelConfServiceImpl.java | 23 ++++++++++++++----- 2 files changed, 21 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/sqx/modules/artificer/service/impl/OrdersServiceImpl.java b/src/main/java/com/sqx/modules/artificer/service/impl/OrdersServiceImpl.java index 6a78850..f4fc3bc 100644 --- a/src/main/java/com/sqx/modules/artificer/service/impl/OrdersServiceImpl.java +++ b/src/main/java/com/sqx/modules/artificer/service/impl/OrdersServiceImpl.java @@ -2037,7 +2037,10 @@ public class OrdersServiceImpl extends ServiceImpl implements Orders orders = baseMapper.selectById(ordersId); if (orders.getStatus() == 4) { return Result.error("订单已经取消了!"); - } else if (orders.getStatus() == 3 || orders.getStatus() == 5) { + }else if (orders.getStatus() == 1) { + String remarks = "取消订单将扣除:0元的手续费!"; + return Result.success().put("data",remarks); + }else if (orders.getStatus() == 3 || orders.getStatus() == 5) { return Result.error("订单已经完成了,无法取消!"); }else if (orders.getStatus() == 6) { if(orders.getOldOrdersId() != null && orders.getOldOrdersId() != 0){ diff --git a/src/main/java/com/sqx/modules/travelconf/service/impl/TravelConfServiceImpl.java b/src/main/java/com/sqx/modules/travelconf/service/impl/TravelConfServiceImpl.java index 5ec2129..aaae5e5 100644 --- a/src/main/java/com/sqx/modules/travelconf/service/impl/TravelConfServiceImpl.java +++ b/src/main/java/com/sqx/modules/travelconf/service/impl/TravelConfServiceImpl.java @@ -206,7 +206,7 @@ public class TravelConfServiceImpl extends ServiceImpl免费公里数:公里数-免费公里数<起步公里数时,车费=夜间出行费+起步价 + if(kilometers.compareTo(startKilometers)<0){ + travelPrice = nightTravelExpenses.add(startingPrice); + }else{ + //公里数>免费公里数:公里数-免费公里数>起步公里数时,车费=夜间出行费+起步价+(公里数-免费公里数-起步公里数)*每公里价格 + travelPrice = nightTravelExpenses.add(startingPrice).add(kilometers.subtract(startKilometers).multiply(pricePerKilometer)); + } + } travelPrice = travelPrice.setScale(0,BigDecimal.ROUND_UP); vo.setTravelPrice(travelPrice.toString()); } return vo; - } } From 03bdc7c3ccab1696d138115c1201bcecee2873fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E7=A3=8A?= <45566618@qq.com> Date: Thu, 18 Jul 2024 14:07:32 +0800 Subject: [PATCH 7/7] =?UTF-8?q?=E6=96=87=E4=BB=B6=E4=B8=8A=E4=BC=A0?= =?UTF-8?q?=EF=BC=8C=E6=98=AF=E5=9B=BE=E7=89=87=E6=97=B6=E5=86=8D=E5=8E=8B?= =?UTF-8?q?=E7=BC=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/file/utils/FileUploadUtils.java | 42 ++++++++++++------- 1 file changed, 28 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/sqx/modules/file/utils/FileUploadUtils.java b/src/main/java/com/sqx/modules/file/utils/FileUploadUtils.java index 3be252d..d79722e 100644 --- a/src/main/java/com/sqx/modules/file/utils/FileUploadUtils.java +++ b/src/main/java/com/sqx/modules/file/utils/FileUploadUtils.java @@ -132,6 +132,17 @@ public class FileUploadUtils //file.transferTo(desc); IoUtil.close(out); String pathFileName = getPathFileName(baseDir, fileName); + + String extension = getExtension(file); + String[] imgExtension = {"bmp", "gif", "jpg", "jpeg", "png"}; + boolean isImg = false; + for (String str : imgExtension) + { + if (str.equalsIgnoreCase(extension)) + { + isImg = true; + } + } // try { // File input = new File(baseDir+"/"+fileName); // BufferedImage image = ImageIO.read(input); @@ -151,21 +162,24 @@ public class FileUploadUtils // } catch (Exception e) { // System.out.println("压缩失败:" + e.getMessage()); // } - try { - Date date = new Date(); - SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMddHHmmss"); - Random random = new Random(); - int randomNumber = random.nextInt(900000) + 100000; // 生成一个介于100000到999999之间的随机数 - String outfilename = fileName.substring(0,fileName.lastIndexOf("/"))+"/"+sdf.format(date)+randomNumber+fileName.substring(fileName.lastIndexOf("."),fileName.length()); + //如果是图片则压缩 + if(isImg){ + try { + Date date = new Date(); + SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMddHHmmss"); + Random random = new Random(); + int randomNumber = random.nextInt(900000) + 100000; // 生成一个介于100000到999999之间的随机数 + String outfilename = fileName.substring(0,fileName.lastIndexOf("/"))+"/"+sdf.format(date)+randomNumber+fileName.substring(fileName.lastIndexOf("."),fileName.length()); - File inputFile = new File(baseDir + File.separator + fileName); - File outputFile = new File(baseDir + File.separator + outfilename); // 输出图片文件 - String retImgName = "/file/uploadPath/"+outfilename; - float quality = 0.45f; // 压缩质量,范围0.0到1.0 - compressImage(inputFile, outputFile, quality); - pathFileName = retImgName; - } catch (IOException e) { - e.printStackTrace(); + File inputFile = new File(baseDir + File.separator + fileName); + File outputFile = new File(baseDir + File.separator + outfilename); // 输出图片文件 + String retImgName = "/file/uploadPath/"+outfilename; + float quality = 0.45f; // 压缩质量,范围0.0到1.0 + compressImage(inputFile, outputFile, quality); + pathFileName = retImgName; + } catch (IOException e) { + e.printStackTrace(); + } } return pathFileName; }