Merge branch 'master' of http://47.115.223.229:8888/yangjun/sadjv3_java
This commit is contained in:
commit
844ae8c8eb
|
@ -189,6 +189,18 @@ public class Orders implements Serializable {
|
||||||
* 加钟金额
|
* 加钟金额
|
||||||
*/
|
*/
|
||||||
private BigDecimal addMoney;
|
private BigDecimal addMoney;
|
||||||
|
/**
|
||||||
|
* 加钟技师加成后的价格
|
||||||
|
*/
|
||||||
|
private BigDecimal addPriceMarkup;
|
||||||
|
/**
|
||||||
|
* 加钟技师加成金额
|
||||||
|
*/
|
||||||
|
private BigDecimal addTechnicianMoney;
|
||||||
|
/**
|
||||||
|
* 加钟会员减免金额
|
||||||
|
*/
|
||||||
|
private BigDecimal addVipReductionMoney;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 加钟项目收益
|
* 加钟项目收益
|
||||||
|
|
|
@ -993,7 +993,7 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
|
||||||
orders.setTripWay(3);
|
orders.setTripWay(3);
|
||||||
}
|
}
|
||||||
TravelPriceVo travelPriceVo = travelConfService.calcTravelPrice(orders.getArtificerId(), orders.getLongitude(), orders.getLatitude(),orders.getServeTime(),tripWay);
|
TravelPriceVo travelPriceVo = travelConfService.calcTravelPrice(orders.getArtificerId(), orders.getLongitude(), orders.getLatitude(),orders.getServeTime(),tripWay);
|
||||||
if (travelPriceVo == null) {
|
if (travelPriceVo == null) {
|
||||||
return Result.error("暂不支持当前地址,请更换其他地址!");
|
return Result.error("暂不支持当前地址,请更换其他地址!");
|
||||||
}
|
}
|
||||||
taxiMoney = new BigDecimal(travelPriceVo.getTravelPrice());
|
taxiMoney = new BigDecimal(travelPriceVo.getTravelPrice());
|
||||||
|
@ -1241,6 +1241,10 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
|
||||||
orders.setTechnicianRate(oldOrders.getTechnicianRate());
|
orders.setTechnicianRate(oldOrders.getTechnicianRate());
|
||||||
orders.setDuration(oldOrders.getDuration());
|
orders.setDuration(oldOrders.getDuration());
|
||||||
|
|
||||||
|
orders.setTechnicianMoney(oldOrders.getTechnicianMoney());
|
||||||
|
orders.setPriceMarkup(oldOrders.getPriceMarkup());
|
||||||
|
orders.setVipReductionMoney(oldOrders.getVipReductionMoney());
|
||||||
|
|
||||||
orders.setOldOrdersId(oldOrders.getOrdersId());
|
orders.setOldOrdersId(oldOrders.getOrdersId());
|
||||||
orders.setOldMassageMoney(oldOrders.getMassageMoney());
|
orders.setOldMassageMoney(oldOrders.getMassageMoney());
|
||||||
orders.setOldPayMoney(oldOrders.getPayMoney());
|
orders.setOldPayMoney(oldOrders.getPayMoney());
|
||||||
|
@ -1517,9 +1521,11 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
|
||||||
chajiaTechnicianMoney = chajiaTechnicianMoney.setScale(0,BigDecimal.ROUND_UP);
|
chajiaTechnicianMoney = chajiaTechnicianMoney.setScale(0,BigDecimal.ROUND_UP);
|
||||||
orders.setTechnicianMoney(chajiaTechnicianMoney);
|
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);
|
chajiaVipMoney = chajiaVipMoney.setScale(0,BigDecimal.ROUND_UP);
|
||||||
BigDecimal chajiaVipReductionMoney = chajiaTechnicianMoney.subtract(chajiaVipMoney);
|
BigDecimal chajiaVipReductionMoney = chajiaPriceMarkup.subtract(chajiaVipMoney);
|
||||||
orders.setVipReductionMoney(chajiaVipReductionMoney);
|
orders.setVipReductionMoney(chajiaVipReductionMoney);
|
||||||
|
|
||||||
//项目价格 = 会员金额
|
//项目价格 = 会员金额
|
||||||
|
@ -1605,6 +1611,15 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
|
||||||
|
|
||||||
String value1 = commonInfoService.findOne(395).getValue();
|
String value1 = commonInfoService.findOne(395).getValue();
|
||||||
Integer tripWay = orders.getTripWay();
|
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 serveTime = orders.getServeTime();
|
||||||
String date = serveTime.substring(0, 10);
|
String date = serveTime.substring(0, 10);
|
||||||
|
@ -1662,34 +1677,49 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
|
||||||
}
|
}
|
||||||
orders.setVipRate(vipRate);
|
orders.setVipRate(vipRate);
|
||||||
|
|
||||||
//技师加成金额
|
if(orders.getUserPackageDetailId() != null) {
|
||||||
BigDecimal technicianMoney = price.multiply(orders.getTechnicianRate()).divide(new BigDecimal(100));
|
//技师加成金额
|
||||||
technicianMoney = technicianMoney.setScale(0,BigDecimal.ROUND_UP);
|
orders.setTechnicianMoney(BigDecimal.ZERO);
|
||||||
orders.setTechnicianMoney(technicianMoney);
|
//技师加成后总额
|
||||||
|
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);
|
BigDecimal priceMarkup = technicianMoney.add(price);
|
||||||
priceMarkup = priceMarkup.setScale(0,BigDecimal.ROUND_UP);
|
priceMarkup = priceMarkup.setScale(0,BigDecimal.ROUND_UP);
|
||||||
orders.setPriceMarkup(priceMarkup);
|
orders.setPriceMarkup(priceMarkup);
|
||||||
|
|
||||||
//会员优惠后金额,及会员减免金额
|
//会员优惠后金额,及会员减免金额
|
||||||
BigDecimal vipMoney = priceMarkup.multiply(orders.getVipRate()).divide(new BigDecimal(100));
|
BigDecimal vipMoney = priceMarkup.multiply(orders.getVipRate()).divide(new BigDecimal(100));
|
||||||
vipMoney = vipMoney.setScale(0,BigDecimal.ROUND_UP);
|
vipMoney = vipMoney.setScale(0,BigDecimal.ROUND_UP);
|
||||||
BigDecimal vipReductionMoney = priceMarkup.subtract(vipMoney);
|
BigDecimal vipReductionMoney = priceMarkup.subtract(vipMoney);
|
||||||
orders.setVipReductionMoney(vipReductionMoney);
|
orders.setVipReductionMoney(vipReductionMoney);
|
||||||
|
|
||||||
|
//项目价格 = 会员金额
|
||||||
|
BigDecimal payMoney = vipMoney;
|
||||||
|
orders.setMassageMoney(payMoney);
|
||||||
|
}
|
||||||
|
|
||||||
//项目价格 = 会员金额
|
|
||||||
BigDecimal payMoney = vipMoney;
|
|
||||||
orders.setMassageMoney(payMoney);
|
|
||||||
|
|
||||||
//项目差价
|
//项目差价
|
||||||
BigDecimal xmchajia = orders.getMassageMoney().subtract(oldOrders.getMassageMoney());
|
BigDecimal xmchajia = orders.getMassageMoney().subtract(oldOrders.getMassageMoney());
|
||||||
|
TravelPriceVo travelPriceVo = null;
|
||||||
TravelPriceVo travelPriceVo = travelConfService.calcTravelPrice(orders.getArtificerId(), orders.getLongitude(), orders.getLatitude(),orders.getServeTime());
|
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) {
|
if (travelPriceVo == null) {
|
||||||
return Result.error("暂不支持当前地址,请更换其他地址!");
|
return Result.error("暂不支持当前地址,请更换其他地址!");
|
||||||
}
|
}
|
||||||
|
|
||||||
//删除未支付,无用的升级新单据
|
//删除未支付,无用的升级新单据
|
||||||
List<Orders> newList = baseMapper.getNewOrdersByOld(oldOrders.getOrdersId());
|
List<Orders> newList = baseMapper.getNewOrdersByOld(oldOrders.getOrdersId());
|
||||||
if(newList.size()>0){
|
if(newList.size()>0){
|
||||||
|
@ -1700,8 +1730,7 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
taxiMoney = new BigDecimal(travelPriceVo.getTravelPrice());
|
||||||
BigDecimal taxiMoney = new BigDecimal(travelPriceVo.getTravelPrice());
|
|
||||||
taxiMoney = taxiMoney.setScale(0,BigDecimal.ROUND_UP);
|
taxiMoney = taxiMoney.setScale(0,BigDecimal.ROUND_UP);
|
||||||
BigDecimal oldTaxiMoney = oldOrders.getTaxiMoney();
|
BigDecimal oldTaxiMoney = oldOrders.getTaxiMoney();
|
||||||
if (taxiMoney.compareTo(oldTaxiMoney) < 0) {
|
if (taxiMoney.compareTo(oldTaxiMoney) < 0) {
|
||||||
|
@ -2008,7 +2037,10 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
|
||||||
Orders orders = baseMapper.selectById(ordersId);
|
Orders orders = baseMapper.selectById(ordersId);
|
||||||
if (orders.getStatus() == 4) {
|
if (orders.getStatus() == 4) {
|
||||||
return Result.error("订单已经取消了!");
|
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("订单已经完成了,无法取消!");
|
return Result.error("订单已经完成了,无法取消!");
|
||||||
}else if (orders.getStatus() == 6) {
|
}else if (orders.getStatus() == 6) {
|
||||||
if(orders.getOldOrdersId() != null && orders.getOldOrdersId() != 0){
|
if(orders.getOldOrdersId() != null && orders.getOldOrdersId() != 0){
|
||||||
|
@ -4630,10 +4662,16 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
|
||||||
orders1.setAddMoney(orders1.getAddMoney().add(orders.getPayMoney()));
|
orders1.setAddMoney(orders1.getAddMoney().add(orders.getPayMoney()));
|
||||||
orders1.setAddArtificerMoney(orders1.getAddArtificerMoney().add(orders.getArtificerMoney()));
|
orders1.setAddArtificerMoney(orders1.getAddArtificerMoney().add(orders.getArtificerMoney()));
|
||||||
orders1.setAddProjectBenefits(orders1.getProjectBenefits().add(orders.getProjectBenefits()));
|
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 {
|
} else {
|
||||||
orders1.setAddMoney(orders.getPayMoney());
|
orders1.setAddMoney(orders.getPayMoney());
|
||||||
orders1.setAddArtificerMoney(orders.getArtificerMoney());
|
orders1.setAddArtificerMoney(orders.getArtificerMoney());
|
||||||
orders1.setAddProjectBenefits(orders.getProjectBenefits());
|
orders1.setAddProjectBenefits(orders.getProjectBenefits());
|
||||||
|
orders1.setAddPriceMarkup(orders.getPriceMarkup());
|
||||||
|
orders1.setAddTechnicianMoney(orders.getTechnicianMoney());
|
||||||
|
orders1.setAddVipReductionMoney(orders.getVipReductionMoney());
|
||||||
}
|
}
|
||||||
orders1.setSumMoney(orders1.getSumMoney().add(orders.getPayMoney()));
|
orders1.setSumMoney(orders1.getSumMoney().add(orders.getPayMoney()));
|
||||||
orders1.setSumArtificerMoney(orders1.getSumArtificerMoney().add(orders.getArtificerMoney()));
|
orders1.setSumArtificerMoney(orders1.getSumArtificerMoney().add(orders.getArtificerMoney()));
|
||||||
|
|
|
@ -132,6 +132,17 @@ public class FileUploadUtils
|
||||||
//file.transferTo(desc);
|
//file.transferTo(desc);
|
||||||
IoUtil.close(out);
|
IoUtil.close(out);
|
||||||
String pathFileName = getPathFileName(baseDir, fileName);
|
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 {
|
// try {
|
||||||
// File input = new File(baseDir+"/"+fileName);
|
// File input = new File(baseDir+"/"+fileName);
|
||||||
// BufferedImage image = ImageIO.read(input);
|
// BufferedImage image = ImageIO.read(input);
|
||||||
|
@ -151,21 +162,24 @@ public class FileUploadUtils
|
||||||
// } catch (Exception e) {
|
// } catch (Exception e) {
|
||||||
// System.out.println("压缩失败:" + e.getMessage());
|
// System.out.println("压缩失败:" + e.getMessage());
|
||||||
// }
|
// }
|
||||||
try {
|
//如果是图片则压缩
|
||||||
Date date = new Date();
|
if(isImg){
|
||||||
SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMddHHmmss");
|
try {
|
||||||
Random random = new Random();
|
Date date = new Date();
|
||||||
int randomNumber = random.nextInt(900000) + 100000; // 生成一个介于100000到999999之间的随机数
|
SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMddHHmmss");
|
||||||
String outfilename = fileName.substring(0,fileName.lastIndexOf("/"))+"/"+sdf.format(date)+randomNumber+fileName.substring(fileName.lastIndexOf("."),fileName.length());
|
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 inputFile = new File(baseDir + File.separator + fileName);
|
||||||
File outputFile = new File(baseDir + File.separator + outfilename); // 输出图片文件
|
File outputFile = new File(baseDir + File.separator + outfilename); // 输出图片文件
|
||||||
String retImgName = "/file/uploadPath/"+outfilename;
|
String retImgName = "/file/uploadPath/"+outfilename;
|
||||||
float quality = 0.45f; // 压缩质量,范围0.0到1.0
|
float quality = 0.45f; // 压缩质量,范围0.0到1.0
|
||||||
compressImage(inputFile, outputFile, quality);
|
compressImage(inputFile, outputFile, quality);
|
||||||
pathFileName = retImgName;
|
pathFileName = retImgName;
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return pathFileName;
|
return pathFileName;
|
||||||
}
|
}
|
||||||
|
|
|
@ -206,7 +206,7 @@ public class TravelConfServiceImpl extends ServiceImpl<TravelConfDao, TravelConf
|
||||||
public TravelPriceVo calcTravelPrice(Long artificerId, String toLongitude, String toLatitude, String serveTime) {
|
public TravelPriceVo calcTravelPrice(Long artificerId, String toLongitude, String toLatitude, String serveTime) {
|
||||||
Artificer artificerInfo = artificerService.getById(artificerId);
|
Artificer artificerInfo = artificerService.getById(artificerId);
|
||||||
|
|
||||||
Integer cxfs = artificerInfo.getTripWay();//1公交 2免费 3出租
|
Integer cxfs = artificerInfo.getTripWay();//1公交 2出租 3免费
|
||||||
Integer mfgls = artificerInfo.getTripWayNum();//免费公里数
|
Integer mfgls = artificerInfo.getTripWayNum();//免费公里数
|
||||||
if(cxfs==null){
|
if(cxfs==null){
|
||||||
cxfs = 3;
|
cxfs = 3;
|
||||||
|
@ -289,7 +289,6 @@ public class TravelConfServiceImpl extends ServiceImpl<TravelConfDao, TravelConf
|
||||||
//夜间
|
//夜间
|
||||||
nightTravelExpenses = conf.getNightTravelExpenses();
|
nightTravelExpenses = conf.getNightTravelExpenses();
|
||||||
}
|
}
|
||||||
|
|
||||||
//起步公里数
|
//起步公里数
|
||||||
BigDecimal startKilometers = conf.getFreeKilometers();
|
BigDecimal startKilometers = conf.getFreeKilometers();
|
||||||
//起步价
|
//起步价
|
||||||
|
@ -298,14 +297,26 @@ public class TravelConfServiceImpl extends ServiceImpl<TravelConfDao, TravelConf
|
||||||
BigDecimal pricePerKilometer = conf.getPricePerKilometer();
|
BigDecimal pricePerKilometer = conf.getPricePerKilometer();
|
||||||
|
|
||||||
//最终价格
|
//最终价格
|
||||||
//计算公式为【起步价 + 夜间出行费 + ((公里数 -起步公里数 - 免费公里数) * 每公里价格)= 最终价格】
|
//计算公式为【起步价 + 夜间出行费 + ((公里数 -起步公里数 - 免费公里数) * 每公里价格)= 最终价格】 作废
|
||||||
BigDecimal travelPrice = NumberUtil.add(startingPrice, nightTravelExpenses, NumberUtil.mul(NumberUtil.sub(NumberUtil.sub(kilometerNum,startKilometers), freeKilometers), pricePerKilometer));
|
// BigDecimal travelPrice = NumberUtil.add(startingPrice, nightTravelExpenses, NumberUtil.mul(NumberUtil.sub(NumberUtil.sub(kilometerNum, ), freeKilometers), pricePerKilometer));
|
||||||
// vo.setTravelPrice(NumberUtil.decimalFormat("0.00", travelPrice));
|
BigDecimal travelPrice = BigDecimal.ZERO;
|
||||||
|
//公里数<免费公里数:车费=夜间出行费
|
||||||
|
if(kilometerNum.compareTo(freeKilometers)<0){
|
||||||
|
travelPrice = nightTravelExpenses;
|
||||||
|
}else{
|
||||||
|
BigDecimal kilometers = kilometerNum.subtract(freeKilometers);
|
||||||
|
//公里数>免费公里数:公里数-免费公里数<起步公里数时,车费=夜间出行费+起步价
|
||||||
|
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);
|
travelPrice = travelPrice.setScale(0,BigDecimal.ROUND_UP);
|
||||||
vo.setTravelPrice(travelPrice.toString());
|
vo.setTravelPrice(travelPrice.toString());
|
||||||
}
|
}
|
||||||
return vo;
|
return vo;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue