套餐/次卡/疗程 车费 白天免费 夜间收费
This commit is contained in:
parent
247af4b65c
commit
64236e3179
|
@ -196,6 +196,13 @@ public class AppArtificerController {
|
||||||
return ordersService.removeOrders(ordersId);
|
return ordersService.removeOrders(ordersId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Login
|
||||||
|
@PostMapping("/cancelOrdersMoney")
|
||||||
|
@ApiOperation("取消订单扣钱")
|
||||||
|
public Result cancelOrdersMoney(@RequestAttribute Long userId,Long ordersId){
|
||||||
|
return ordersService.cancelOrdersMoney(userId,ordersId);
|
||||||
|
}
|
||||||
|
|
||||||
@Login
|
@Login
|
||||||
@PostMapping("/deleteOrders")
|
@PostMapping("/deleteOrders")
|
||||||
@ApiOperation("取消订单")
|
@ApiOperation("取消订单")
|
||||||
|
|
|
@ -144,6 +144,8 @@ public interface OrdersDao extends BaseMapper<Orders> {
|
||||||
|
|
||||||
List<Orders> getParentOrders(Long parentId);
|
List<Orders> getParentOrders(Long parentId);
|
||||||
|
|
||||||
|
List<Orders> getNewOrdersByOld(Long ordersId);
|
||||||
|
|
||||||
BigDecimal selectSumRefund(Long artificerId, @Param("startTime") String startTime, @Param("endTime") String endTime);
|
BigDecimal selectSumRefund(Long artificerId, @Param("startTime") String startTime, @Param("endTime") String endTime);
|
||||||
|
|
||||||
}
|
}
|
|
@ -18,6 +18,8 @@ public interface OrdersService extends IService<Orders> {
|
||||||
|
|
||||||
Result updateOrders(Orders orders);
|
Result updateOrders(Orders orders);
|
||||||
|
|
||||||
|
Result cancelOrdersMoney(Long userId,Long ordersId);
|
||||||
|
|
||||||
Result cancelOrders(Long userId,Long ordersId);
|
Result cancelOrders(Long userId,Long ordersId);
|
||||||
|
|
||||||
Result cancelSupplementOrders(Long userId, Long ordersId, Integer isAuto, Integer type);
|
Result cancelSupplementOrders(Long userId, Long ordersId, Integer isAuto, Integer type);
|
||||||
|
|
|
@ -343,12 +343,14 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//服务时间后锁单时间判断
|
//服务时间后锁单时间判断
|
||||||
if (i > 0) {
|
if (i >= 0) {
|
||||||
Calendar calendar = Calendar.getInstance();
|
Calendar calendar = Calendar.getInstance();
|
||||||
calendar.setTime(parse);
|
calendar.setTime(parse);
|
||||||
|
String format = DateUtils.format(calendar.getTime(),"yyyy-MM-dd HH:mm");
|
||||||
|
allTime.add(format);
|
||||||
for (int j = 0; j < i; j++) {
|
for (int j = 0; j < i; j++) {
|
||||||
calendar.add(Calendar.MINUTE, minute);
|
calendar.add(Calendar.MINUTE, minute);
|
||||||
String format = DateUtils.format(calendar.getTime(),"yyyy-MM-dd HH:mm");
|
format = DateUtils.format(calendar.getTime(),"yyyy-MM-dd HH:mm");
|
||||||
allTime.add(format);
|
allTime.add(format);
|
||||||
date = format.substring(0, 10);
|
date = format.substring(0, 10);
|
||||||
time = format.substring(11, 16);
|
time = format.substring(11, 16);
|
||||||
|
@ -997,8 +999,22 @@ 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;
|
BigDecimal taxiMoney = BigDecimal.ZERO;
|
||||||
|
String isTravelFree = commonInfoService.findOne(460).getValue();
|
||||||
|
if(isTravelFree.equals("是")){
|
||||||
|
taxiMoney = BigDecimal.ZERO;
|
||||||
|
tripWay = 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());
|
||||||
|
if (travelPriceVo == null) {
|
||||||
|
return Result.error("暂不支持当前地址,请更换其他地址!");
|
||||||
|
}
|
||||||
|
taxiMoney = new BigDecimal(travelPriceVo.getTravelPrice());
|
||||||
|
orders.setTaxiMoney(taxiMoney);
|
||||||
|
orders.setKm(travelPriceVo.getKilometerNum());
|
||||||
|
|
||||||
if (orders.getParentId() == null || orders.getParentId() == 0) {
|
if (orders.getParentId() == null || orders.getParentId() == 0) {
|
||||||
String serveTime = orders.getServeTime();
|
String serveTime = orders.getServeTime();
|
||||||
String date = serveTime.substring(0, 10);
|
String date = serveTime.substring(0, 10);
|
||||||
|
@ -1017,14 +1033,6 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
|
||||||
if(map.get("code").toString().equals("1")){
|
if(map.get("code").toString().equals("1")){
|
||||||
return Result.error("预约时间正忙,请更换其他时间!");
|
return Result.error("预约时间正忙,请更换其他时间!");
|
||||||
}
|
}
|
||||||
TravelPriceVo travelPriceVo = travelConfService.calcTravelPrice(orders.getArtificerId(), orders.getLongitude(), orders.getLatitude(),orders.getServeTime());
|
|
||||||
// TravelPriceVo travelPriceVo = travelConfService.calcTravelPrice(orders.getArtificerId(), orders.getLongitude(), orders.getLatitude());
|
|
||||||
if (travelPriceVo == null) {
|
|
||||||
return Result.error("暂不支持当前地址,请更换其他地址!");
|
|
||||||
}
|
|
||||||
taxiMoney = new BigDecimal(travelPriceVo.getTravelPrice());
|
|
||||||
orders.setTaxiMoney(taxiMoney);
|
|
||||||
orders.setKm(travelPriceVo.getKilometerNum());
|
|
||||||
|
|
||||||
// WSSsdrAddress wsSsdrAddress = AddressUtil.resolveAddress(orders.getAddress());
|
// WSSsdrAddress wsSsdrAddress = AddressUtil.resolveAddress(orders.getAddress());
|
||||||
// Map<String, Object> result = selectTaxiMoney(orders.getArtificerId(), orders.getLatitude(), orders.getLongitude(), wsSsdrAddress.getCity());
|
// Map<String, Object> result = selectTaxiMoney(orders.getArtificerId(), orders.getLatitude(), orders.getLongitude(), wsSsdrAddress.getCity());
|
||||||
|
@ -1189,8 +1197,32 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
|
||||||
if (oldOrders.getStatus() == 4) {
|
if (oldOrders.getStatus() == 4) {
|
||||||
return Result.error("已取消的订单不可修改!");
|
return Result.error("已取消的订单不可修改!");
|
||||||
}
|
}
|
||||||
|
int dbd = 0;
|
||||||
|
int sjd = 0;
|
||||||
|
int xgd = 0;
|
||||||
|
if(oldOrders.getStatus().equals(11)){
|
||||||
|
List<Orders> newOrders = baseMapper.getNewOrdersByOld(orders.getOrdersId());
|
||||||
|
if(newOrders.size()>0){
|
||||||
|
for(Orders newOrder : newOrders){
|
||||||
|
if(newOrder.getStatus()==1 || newOrder.getStatus()==4) {
|
||||||
|
if (newOrder.getIsSupplement().equals(1)) {
|
||||||
|
dbd = 1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (newOrder.getIsSupplement().equals(2)) {
|
||||||
|
sjd = 1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (newOrder.getIsSupplement().equals(3) || newOrder.getIsSupplement().equals(4)) {
|
||||||
|
xgd = 1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
//待补单修改
|
//待补单修改
|
||||||
if (oldOrders.getStatus() == 10) {
|
if (oldOrders.getStatus() == 10 || dbd == 1) {
|
||||||
//只能修改,技师和时间 (技师等级大于等于原单据等级)
|
//只能修改,技师和时间 (技师等级大于等于原单据等级)
|
||||||
Long massageTypeId;
|
Long massageTypeId;
|
||||||
if (orders.getOrdersMassageList() != null) {
|
if (orders.getOrdersMassageList() != null) {
|
||||||
|
@ -1253,7 +1285,16 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
|
||||||
if (travelPriceVo == null) {
|
if (travelPriceVo == null) {
|
||||||
return Result.error("暂不支持当前地址,请更换其他地址!");
|
return Result.error("暂不支持当前地址,请更换其他地址!");
|
||||||
}
|
}
|
||||||
|
//删除未支付,无用的升级新单据
|
||||||
|
List<Orders> newList = baseMapper.getNewOrdersByOld(oldOrders.getOrdersId());
|
||||||
|
if(newList.size()>0){
|
||||||
|
for(Orders newOrder : newList){
|
||||||
|
if(newOrder.getStatus()==1 || newOrder.getStatus()==4){
|
||||||
|
baseMapper.deleteById(newOrder.getOrdersId());
|
||||||
|
ordersMassageService.removeByOrdersId(newOrder.getOrdersId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
BigDecimal taxiMoney = new BigDecimal(travelPriceVo.getTravelPrice());
|
BigDecimal taxiMoney = new BigDecimal(travelPriceVo.getTravelPrice());
|
||||||
taxiMoney = taxiMoney.setScale(2,BigDecimal.ROUND_HALF_UP);
|
taxiMoney = taxiMoney.setScale(2,BigDecimal.ROUND_HALF_UP);
|
||||||
orders.setTaxiMoney(taxiMoney);
|
orders.setTaxiMoney(taxiMoney);
|
||||||
|
@ -1390,7 +1431,7 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
|
||||||
return Result.success().put("data", orders);
|
return Result.success().put("data", orders);
|
||||||
}
|
}
|
||||||
//进行中项目升级
|
//进行中项目升级
|
||||||
if (oldOrders.getStatus() == 6) {
|
if (oldOrders.getStatus() == 6 || sjd == 1) {
|
||||||
//升级项目操作,只能修改,项目(金额大于等于当前项目金额)
|
//升级项目操作,只能修改,项目(金额大于等于当前项目金额)
|
||||||
if (StringUtils.isNotBlank(orders.getServeTime()) && !orders.getServeTime().equals(oldOrders.getServeTime())) {
|
if (StringUtils.isNotBlank(orders.getServeTime()) && !orders.getServeTime().equals(oldOrders.getServeTime())) {
|
||||||
return Result.error("当前订单无法修改时间!");
|
return Result.error("当前订单无法修改时间!");
|
||||||
|
@ -1439,7 +1480,16 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
|
||||||
return Result.error("预约时间正忙,请更换其他时间!");
|
return Result.error("预约时间正忙,请更换其他时间!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//删除未支付,无用的升级新单据
|
||||||
|
List<Orders> newList = baseMapper.getNewOrdersByOld(oldOrders.getOrdersId());
|
||||||
|
if(newList.size()>0){
|
||||||
|
for(Orders newOrder : newList){
|
||||||
|
if(newOrder.getStatus()==1 || newOrder.getStatus()==4){
|
||||||
|
baseMapper.deleteById(newOrder.getOrdersId());
|
||||||
|
ordersMassageService.removeByOrdersId(newOrder.getOrdersId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
//使用原价计算差额
|
//使用原价计算差额
|
||||||
orders.setUserId(oldOrders.getUserId());
|
orders.setUserId(oldOrders.getUserId());
|
||||||
orders.setUserName(oldOrders.getUserName());
|
orders.setUserName(oldOrders.getUserName());
|
||||||
|
@ -1929,7 +1979,7 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
|
||||||
return Result.success().put("data", orders);
|
return Result.success().put("data", orders);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (oldOrders.getStatus() == 2 || oldOrders.getStatus() == 9) {
|
if (oldOrders.getStatus() == 2 || oldOrders.getStatus() == 9 || xgd == 1) {
|
||||||
//只能修改,技师和时间 (技师等级大于等于原单据等级)
|
//只能修改,技师和时间 (技师等级大于等于原单据等级)
|
||||||
//判断是否是可修改,状态2 9
|
//判断是否是可修改,状态2 9
|
||||||
boolean canUpdate = commonInfoService.isCheckEditOrder(DateUtils.stringToDate(oldOrders.getServeTime(), "yyyy-MM-dd HH:mm"), new Date());
|
boolean canUpdate = commonInfoService.isCheckEditOrder(DateUtils.stringToDate(oldOrders.getServeTime(), "yyyy-MM-dd HH:mm"), new Date());
|
||||||
|
@ -2042,6 +2092,17 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
|
||||||
return Result.error("暂不支持当前地址,请更换其他地址!");
|
return Result.error("暂不支持当前地址,请更换其他地址!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//删除未支付,无用的升级新单据
|
||||||
|
List<Orders> newList = baseMapper.getNewOrdersByOld(oldOrders.getOrdersId());
|
||||||
|
if(newList.size()>0){
|
||||||
|
for(Orders newOrder : newList){
|
||||||
|
if(newOrder.getStatus()==1 || newOrder.getStatus()==4){
|
||||||
|
baseMapper.deleteById(newOrder.getOrdersId());
|
||||||
|
ordersMassageService.removeByOrdersId(newOrder.getOrdersId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
BigDecimal taxiMoney = new BigDecimal(travelPriceVo.getTravelPrice());
|
BigDecimal taxiMoney = new BigDecimal(travelPriceVo.getTravelPrice());
|
||||||
taxiMoney = taxiMoney.setScale(2,BigDecimal.ROUND_HALF_UP);
|
taxiMoney = taxiMoney.setScale(2,BigDecimal.ROUND_HALF_UP);
|
||||||
BigDecimal oldTaxiMoney = oldOrders.getTaxiMoney();
|
BigDecimal oldTaxiMoney = oldOrders.getTaxiMoney();
|
||||||
|
@ -2366,11 +2427,113 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
|
||||||
}
|
}
|
||||||
return Result.error("此状态单据无法修改操作!");
|
return Result.error("此状态单据无法修改操作!");
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
|
e.printStackTrace();
|
||||||
return Result.error(e.getMessage());
|
return Result.error(e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
public Result cancelOrdersMoney(Long userId, Long ordersId) {
|
||||||
|
Orders orders = baseMapper.selectById(ordersId);
|
||||||
|
if (orders.getStatus() == 4) {
|
||||||
|
return Result.error("订单已经取消了!");
|
||||||
|
} else if (orders.getStatus() == 3 || orders.getStatus() == 5) {
|
||||||
|
return Result.error("订单已经完成了,无法取消!");
|
||||||
|
}else if (orders.getStatus() == 6) {
|
||||||
|
if(orders.getOldOrdersId() != null && orders.getOldOrdersId() != 0){
|
||||||
|
return Result.error("项目升级之后,无法取消!");
|
||||||
|
}
|
||||||
|
if(orders.getParentId() != null && orders.getParentId() != 0){
|
||||||
|
return Result.error("项目加钟之后,无法取消!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//按时间扣款,获取扣款金额
|
||||||
|
CommonInfo commonInfo = commonInfoService.isCheckChangeOrder(DateUtils.stringToDate(orders.getServeTime(),"yyyy-MM-dd HH:mm") ,new Date());
|
||||||
|
CommonEnum commonEnum = CommonConfigUtil.getCommonEnumByKey(commonInfo.getType());
|
||||||
|
String[] values = CommonConfigUtil.getArrayValue(commonInfo.getValue());
|
||||||
|
BigDecimal massageDeduction = BigDecimal.ZERO;
|
||||||
|
BigDecimal trafficDeduction = BigDecimal.ZERO;
|
||||||
|
BigDecimal massageRate = BigDecimal.ZERO;
|
||||||
|
BigDecimal trafficRate = BigDecimal.ZERO;
|
||||||
|
if(CommonEnum.V3_ORDER_FORM_CANCEL_NOT_START_01 == commonEnum){
|
||||||
|
//距离服务开始n分钟以上免费取消,全额退服务费和车费
|
||||||
|
massageDeduction = BigDecimal.ZERO;
|
||||||
|
trafficDeduction = BigDecimal.ZERO;
|
||||||
|
massageRate = BigDecimal.ZERO;
|
||||||
|
trafficRate = BigDecimal.ZERO;
|
||||||
|
}
|
||||||
|
if(CommonEnum.V3_ORDER_FORM_CANCEL_NOT_START_02 == commonEnum){
|
||||||
|
//距离服务开始前取消n-n分钟内,收取n元,扣服务费,全额退车费
|
||||||
|
massageDeduction = new BigDecimal(values[2]);
|
||||||
|
trafficDeduction = BigDecimal.ZERO;
|
||||||
|
massageRate = BigDecimal.ZERO;
|
||||||
|
trafficRate = BigDecimal.ZERO;
|
||||||
|
}
|
||||||
|
if(CommonEnum.V3_ORDER_FORM_CANCEL_NOT_START_03 == commonEnum){
|
||||||
|
//距离服务开始前取消少于n分钟内,收取n元,扣服务费,全额退车费
|
||||||
|
massageDeduction = new BigDecimal(values[1]);
|
||||||
|
trafficDeduction = BigDecimal.ZERO;
|
||||||
|
massageRate = BigDecimal.ZERO;
|
||||||
|
trafficRate = BigDecimal.ZERO;
|
||||||
|
}
|
||||||
|
if(CommonEnum.V3_ORDER_FORM_CANCEL_START_01 == commonEnum){
|
||||||
|
//服务开始n分钟内取消订单,扣项目费用n%,车费全扣n%,扣服务费和车费
|
||||||
|
massageDeduction = BigDecimal.ZERO;
|
||||||
|
trafficDeduction = BigDecimal.ZERO;
|
||||||
|
massageRate = new BigDecimal(values[1]).divide(new BigDecimal(100));
|
||||||
|
trafficRate = new BigDecimal(values[2]).divide(new BigDecimal(100));
|
||||||
|
}
|
||||||
|
if(orders.getUserPackageDetailId() !=null){
|
||||||
|
return cancelPackageOrdersMoney(userId,orders,trafficDeduction,trafficRate);
|
||||||
|
}else{
|
||||||
|
return cancelMassageOrdersMoney(userId,orders,massageDeduction,trafficDeduction,massageRate,trafficRate);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private Result cancelMassageOrdersMoney(Long userId, Orders orders, BigDecimal massageDeduction, BigDecimal trafficDeduction, BigDecimal massageRate, BigDecimal trafficRate) {
|
||||||
|
//项目扣款
|
||||||
|
BigDecimal massageMoneyDeduction = BigDecimal.ZERO;
|
||||||
|
if(massageRate.compareTo(BigDecimal.ZERO) == 0){
|
||||||
|
massageMoneyDeduction = massageDeduction;
|
||||||
|
}else{
|
||||||
|
massageMoneyDeduction = orders.getPayMoney().subtract(orders.getTaxiMoney()).multiply(massageRate).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||||
|
}
|
||||||
|
if(orders.getPayMoney().subtract(orders.getTaxiMoney()).compareTo(massageDeduction) < 0){
|
||||||
|
massageMoneyDeduction = orders.getPayMoney().subtract(orders.getTaxiMoney());
|
||||||
|
}
|
||||||
|
//车费扣款
|
||||||
|
BigDecimal taxiMoneyDeduction = BigDecimal.ZERO;
|
||||||
|
if(trafficRate.compareTo(BigDecimal.ZERO) == 0){
|
||||||
|
taxiMoneyDeduction = trafficDeduction;
|
||||||
|
}else{
|
||||||
|
taxiMoneyDeduction = orders.getTaxiMoney().multiply(trafficRate).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||||
|
}
|
||||||
|
if(orders.getTaxiMoney().compareTo(taxiMoneyDeduction) < 0){
|
||||||
|
taxiMoneyDeduction = orders.getTaxiMoney();
|
||||||
|
}
|
||||||
|
//项目总扣款数
|
||||||
|
BigDecimal sumMoney = massageMoneyDeduction.add(taxiMoneyDeduction);//总扣费
|
||||||
|
|
||||||
|
String remarks = "取消订单将扣除:"+sumMoney+"元的手续费,其中项目费将扣除:"+massageMoneyDeduction+"元,车费将扣除:"+taxiMoneyDeduction+"元!";
|
||||||
|
return Result.success().put("data",remarks);
|
||||||
|
}
|
||||||
|
|
||||||
|
private Result cancelPackageOrdersMoney(Long userId, Orders orders, BigDecimal trafficDeduction, BigDecimal trafficRate){
|
||||||
|
//车费扣款
|
||||||
|
BigDecimal taxiMoneyDeduction = BigDecimal.ZERO;
|
||||||
|
if(trafficRate.compareTo(BigDecimal.ZERO) == 0){
|
||||||
|
taxiMoneyDeduction = trafficDeduction;
|
||||||
|
}else{
|
||||||
|
taxiMoneyDeduction = orders.getTaxiMoney().multiply(trafficRate);
|
||||||
|
}
|
||||||
|
if(orders.getTaxiMoney().compareTo(taxiMoneyDeduction) < 0){
|
||||||
|
taxiMoneyDeduction = orders.getTaxiMoney();
|
||||||
|
}
|
||||||
|
String remarks = "取消订单将扣除:"+taxiMoneyDeduction+"元的手续费,其中车费将扣除:"+taxiMoneyDeduction+"元!";
|
||||||
|
return Result.success().put("data",remarks);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
@Transactional
|
@Transactional
|
||||||
public Result cancelOrders(Long userId, Long ordersId) {
|
public Result cancelOrders(Long userId, Long ordersId) {
|
||||||
Orders orders = baseMapper.selectById(ordersId);
|
Orders orders = baseMapper.selectById(ordersId);
|
||||||
|
@ -2572,6 +2735,8 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
|
||||||
BigDecimal artificerTaxiMoney = taxiMoneyDeduction;//扣车费
|
BigDecimal artificerTaxiMoney = taxiMoneyDeduction;//扣车费
|
||||||
BigDecimal pingTaxiMoney = BigDecimal.ZERO;
|
BigDecimal pingTaxiMoney = BigDecimal.ZERO;
|
||||||
BigDecimal artificerMoney = rate.multiply(artificer.getRate()); //技师获得扣款提成
|
BigDecimal artificerMoney = rate.multiply(artificer.getRate()); //技师获得扣款提成
|
||||||
|
orders.setProjectBenefits(artificerMoney);
|
||||||
|
BigDecimal pingMoney = massageMoneyDeduction.subtract(artificerMoney);//平台获得项目扣款
|
||||||
|
|
||||||
String taxi = commonInfoService.findOne(394).getValue();
|
String taxi = commonInfoService.findOne(394).getValue();
|
||||||
if ("是".equals(taxi)) {
|
if ("是".equals(taxi)) {
|
||||||
|
@ -2615,11 +2780,6 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
|
||||||
orders.setSumArtificerMoney(artificerMoney);
|
orders.setSumArtificerMoney(artificerMoney);
|
||||||
|
|
||||||
//平台扣款
|
//平台扣款
|
||||||
BigDecimal pingMoney = orders.getPayMoney();
|
|
||||||
pingMoney = pingMoney.subtract(artificerMoney);
|
|
||||||
pingMoney = pingMoney.subtract(shopMoney);
|
|
||||||
pingMoney = pingMoney.subtract(oneArtificerMoney);
|
|
||||||
|
|
||||||
UserEntity user = userService.selectUserById(orders.getUserId());
|
UserEntity user = userService.selectUserById(orders.getUserId());
|
||||||
UserEntity oneUser = userService.queryByInvitationCode(user.getInviterCode());
|
UserEntity oneUser = userService.queryByInvitationCode(user.getInviterCode());
|
||||||
BigDecimal oneUserMoney = BigDecimal.ZERO;
|
BigDecimal oneUserMoney = BigDecimal.ZERO;
|
||||||
|
@ -2631,6 +2791,7 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
|
||||||
}
|
}
|
||||||
orders.setOneUserMoney(oneUserMoney);
|
orders.setOneUserMoney(oneUserMoney);
|
||||||
pingMoney = pingMoney.subtract(oneUserMoney);
|
pingMoney = pingMoney.subtract(oneUserMoney);
|
||||||
|
pingMoney = pingMoney.setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||||
orders.setPingMoney(pingMoney);
|
orders.setPingMoney(pingMoney);
|
||||||
|
|
||||||
//分账
|
//分账
|
||||||
|
@ -2810,6 +2971,16 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
|
||||||
artificerService.updateById(artificer2);
|
artificerService.updateById(artificer2);
|
||||||
messageService.saveBody(messageInfo);
|
messageService.saveBody(messageInfo);
|
||||||
}
|
}
|
||||||
|
}else{
|
||||||
|
orders.setProjectBenefits(BigDecimal.ZERO);
|
||||||
|
orders.setArtificerTaxiMoney(BigDecimal.ZERO);
|
||||||
|
orders.setPingTaxiMoney(BigDecimal.ZERO);
|
||||||
|
orders.setOneArtificerMoney(BigDecimal.ZERO);
|
||||||
|
orders.setShopMoney(BigDecimal.ZERO);
|
||||||
|
orders.setArtificerMoney(BigDecimal.ZERO);
|
||||||
|
orders.setSumArtificerMoney(BigDecimal.ZERO);
|
||||||
|
orders.setOneUserMoney(BigDecimal.ZERO);
|
||||||
|
orders.setPingMoney(BigDecimal.ZERO);
|
||||||
}
|
}
|
||||||
|
|
||||||
UserEntity userEntity = userService.selectUserById(orders.getUserId());
|
UserEntity userEntity = userService.selectUserById(orders.getUserId());
|
||||||
|
@ -2866,7 +3037,6 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
|
||||||
}
|
}
|
||||||
baseMapper.updateById(ordersOld);//原单暂变成挂单状态
|
baseMapper.updateById(ordersOld);//原单暂变成挂单状态
|
||||||
}
|
}
|
||||||
|
|
||||||
return Result.success();
|
return Result.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2886,9 +3056,9 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
|
||||||
//车费扣款
|
//车费扣款
|
||||||
BigDecimal taxiMoneyDeduction = BigDecimal.ZERO;
|
BigDecimal taxiMoneyDeduction = BigDecimal.ZERO;
|
||||||
if(trafficRate.compareTo(BigDecimal.ZERO) == 0){
|
if(trafficRate.compareTo(BigDecimal.ZERO) == 0){
|
||||||
taxiMoneyDeduction = orders.getTaxiMoney().multiply(trafficRate);
|
|
||||||
}else{
|
|
||||||
taxiMoneyDeduction = trafficDeduction;
|
taxiMoneyDeduction = trafficDeduction;
|
||||||
|
}else{
|
||||||
|
taxiMoneyDeduction = orders.getTaxiMoney().multiply(trafficRate);
|
||||||
}
|
}
|
||||||
if(orders.getTaxiMoney().compareTo(taxiMoneyDeduction) < 0){
|
if(orders.getTaxiMoney().compareTo(taxiMoneyDeduction) < 0){
|
||||||
taxiMoneyDeduction = orders.getTaxiMoney();
|
taxiMoneyDeduction = orders.getTaxiMoney();
|
||||||
|
@ -2948,6 +3118,14 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
|
||||||
|
|
||||||
BigDecimal sumMoney = taxiMoneyDeduction;//总扣费
|
BigDecimal sumMoney = taxiMoneyDeduction;//总扣费
|
||||||
if(sumMoney.compareTo(BigDecimal.ZERO)>0){
|
if(sumMoney.compareTo(BigDecimal.ZERO)>0){
|
||||||
|
orders.setProjectBenefits(BigDecimal.ZERO);
|
||||||
|
orders.setOneArtificerMoney(BigDecimal.ZERO);
|
||||||
|
orders.setShopMoney(BigDecimal.ZERO);
|
||||||
|
orders.setArtificerMoney(BigDecimal.ZERO);
|
||||||
|
orders.setSumArtificerMoney(BigDecimal.ZERO);
|
||||||
|
orders.setOneUserMoney(BigDecimal.ZERO);
|
||||||
|
orders.setPingMoney(BigDecimal.ZERO);
|
||||||
|
|
||||||
//按照比例 将扣除的钱进行分佣
|
//按照比例 将扣除的钱进行分佣
|
||||||
BigDecimal taxiMoney = taxiMoneyDeduction;
|
BigDecimal taxiMoney = taxiMoneyDeduction;
|
||||||
Artificer artificer = artificerService.getById(orders.getArtificerId());
|
Artificer artificer = artificerService.getById(orders.getArtificerId());
|
||||||
|
@ -2988,21 +3166,21 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
|
||||||
orders.setSumArtificerMoney(artificerTaxiMoney);
|
orders.setSumArtificerMoney(artificerTaxiMoney);
|
||||||
|
|
||||||
//平台扣款
|
//平台扣款
|
||||||
BigDecimal pingMoney = orders.getPayMoney();
|
// BigDecimal pingMoney = orders.getPayMoney();
|
||||||
pingMoney = pingMoney.subtract(artificerTaxiMoney);
|
// pingMoney = pingMoney.subtract(artificerTaxiMoney);
|
||||||
pingMoney = pingMoney.subtract(shopMoney);
|
// pingMoney = pingMoney.subtract(shopMoney);
|
||||||
pingMoney = pingMoney.subtract(oneArtificerMoney);
|
// pingMoney = pingMoney.subtract(oneArtificerMoney);
|
||||||
|
|
||||||
UserEntity user = userService.selectUserById(orders.getUserId());
|
// UserEntity user = userService.selectUserById(orders.getUserId());
|
||||||
UserEntity oneUser = userService.queryByInvitationCode(user.getInviterCode());
|
// UserEntity oneUser = userService.queryByInvitationCode(user.getInviterCode());
|
||||||
BigDecimal oneUserMoney = BigDecimal.ZERO;
|
// BigDecimal oneUserMoney = BigDecimal.ZERO;
|
||||||
if (oneUser != null && oneUser.getIsAgency() != null && oneUser.getIsAgency() == 1) {
|
// if (oneUser != null && oneUser.getIsAgency() != null && oneUser.getIsAgency() == 1) {
|
||||||
orders.setOneUserId(oneUser.getUserId());
|
// orders.setOneUserId(oneUser.getUserId());
|
||||||
orders.setOneUserName(oneUser.getUserName());
|
// orders.setOneUserName(oneUser.getUserName());
|
||||||
}
|
// }
|
||||||
orders.setOneUserMoney(oneUserMoney);
|
// orders.setOneUserMoney(oneUserMoney);
|
||||||
pingMoney = pingMoney.subtract(oneUserMoney);
|
// pingMoney = pingMoney.subtract(oneUserMoney);
|
||||||
orders.setPingMoney(pingMoney);
|
// orders.setPingMoney(pingMoney);
|
||||||
|
|
||||||
userMoneyService.updateMoney(1, artificerUser.getUserId(), orders.getSumArtificerMoney().doubleValue());
|
userMoneyService.updateMoney(1, artificerUser.getUserId(), orders.getSumArtificerMoney().doubleValue());
|
||||||
userMoneyDetails = new UserMoneyDetails();
|
userMoneyDetails = new UserMoneyDetails();
|
||||||
|
@ -3103,6 +3281,16 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
|
||||||
artificerService.updateById(artificer2);
|
artificerService.updateById(artificer2);
|
||||||
messageService.saveBody(messageInfo);
|
messageService.saveBody(messageInfo);
|
||||||
}
|
}
|
||||||
|
}else{
|
||||||
|
orders.setProjectBenefits(BigDecimal.ZERO);
|
||||||
|
orders.setArtificerTaxiMoney(BigDecimal.ZERO);
|
||||||
|
orders.setPingTaxiMoney(BigDecimal.ZERO);
|
||||||
|
orders.setOneArtificerMoney(BigDecimal.ZERO);
|
||||||
|
orders.setShopMoney(BigDecimal.ZERO);
|
||||||
|
orders.setArtificerMoney(BigDecimal.ZERO);
|
||||||
|
orders.setSumArtificerMoney(BigDecimal.ZERO);
|
||||||
|
orders.setOneUserMoney(BigDecimal.ZERO);
|
||||||
|
orders.setPingMoney(BigDecimal.ZERO);
|
||||||
}
|
}
|
||||||
|
|
||||||
UserEntity userEntity = userService.selectUserById(orders.getUserId());
|
UserEntity userEntity = userService.selectUserById(orders.getUserId());
|
||||||
|
|
|
@ -112,6 +112,11 @@ public class MassagePackage implements Serializable {
|
||||||
*/
|
*/
|
||||||
private Long classifyId;
|
private Long classifyId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 等级 3新手 4专家 5资深
|
||||||
|
*/
|
||||||
|
private Integer level;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 类型名称
|
* 类型名称
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -125,6 +125,11 @@ public class UserPackage implements Serializable {
|
||||||
*/
|
*/
|
||||||
private Integer status;
|
private Integer status;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 等级 3新手 4专家 5资深
|
||||||
|
*/
|
||||||
|
private Integer level;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 次数
|
* 次数
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -128,6 +128,11 @@ public class UserPackageDetail implements Serializable {
|
||||||
*/
|
*/
|
||||||
private String applyPeople;
|
private String applyPeople;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 等级 3新手 4专家 5资深
|
||||||
|
*/
|
||||||
|
private Integer level;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 简介
|
* 简介
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -36,6 +36,7 @@ import com.sqx.modules.coupon.service.CouponUserService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.scheduling.annotation.Scheduled;
|
import org.springframework.scheduling.annotation.Scheduled;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
|
@ -279,6 +280,7 @@ public class UserPackageOrderServiceImpl extends ServiceImpl<UserPackageOrderDao
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional
|
||||||
public Result payOrder(Long ordersId) {
|
public Result payOrder(Long ordersId) {
|
||||||
try {
|
try {
|
||||||
UserPackageOrder orders = baseMapper.getById(ordersId);
|
UserPackageOrder orders = baseMapper.getById(ordersId);
|
||||||
|
@ -350,6 +352,7 @@ public class UserPackageOrderServiceImpl extends ServiceImpl<UserPackageOrderDao
|
||||||
userPackage.setLabels(massagePackage.getLabels());
|
userPackage.setLabels(massagePackage.getLabels());
|
||||||
userPackage.setCity(massagePackage.getCity());
|
userPackage.setCity(massagePackage.getCity());
|
||||||
userPackage.setClassifyId(massagePackage.getClassifyId());
|
userPackage.setClassifyId(massagePackage.getClassifyId());
|
||||||
|
userPackage.setLevel(massagePackage.getLevel());
|
||||||
userPackageService.insert(userPackage);
|
userPackageService.insert(userPackage);
|
||||||
Long mainId = userPackage.getId();
|
Long mainId = userPackage.getId();
|
||||||
//拆分插入用户服务器项目详情
|
//拆分插入用户服务器项目详情
|
||||||
|
@ -361,6 +364,7 @@ public class UserPackageOrderServiceImpl extends ServiceImpl<UserPackageOrderDao
|
||||||
UserPackageDetail upd = userPackageDetailList.get(j);
|
UserPackageDetail upd = userPackageDetailList.get(j);
|
||||||
upd.setMainId(mainId);
|
upd.setMainId(mainId);
|
||||||
upd.setCreateTime(simpleDateFormat.format(new Date()));
|
upd.setCreateTime(simpleDateFormat.format(new Date()));
|
||||||
|
upd.setLevel(massagePackage.getLevel());
|
||||||
int serviceCount = upd.getServiceCount();
|
int serviceCount = upd.getServiceCount();
|
||||||
for(int k=0;k<serviceCount;k++){
|
for(int k=0;k<serviceCount;k++){
|
||||||
userPackageDetailService.insert(upd);
|
userPackageDetailService.insert(upd);
|
||||||
|
@ -373,6 +377,7 @@ public class UserPackageOrderServiceImpl extends ServiceImpl<UserPackageOrderDao
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
log.error("钱包支付服务包订单异常:" + e.getMessage(), e);
|
log.error("钱包支付服务包订单异常:" + e.getMessage(), e);
|
||||||
|
return Result.error();
|
||||||
}
|
}
|
||||||
return Result.success();
|
return Result.success();
|
||||||
}
|
}
|
||||||
|
|
|
@ -802,10 +802,14 @@ public class AliPayController {
|
||||||
|
|
||||||
UserMoneyDetails userMoneyDetails = new UserMoneyDetails();
|
UserMoneyDetails userMoneyDetails = new UserMoneyDetails();
|
||||||
userMoneyDetails.setManipulateType(1);
|
userMoneyDetails.setManipulateType(1);
|
||||||
userMoneyDetails.setMoney(orders.getPayMoney());
|
if(orders.getUserPackageDetailId() != null){
|
||||||
|
userMoneyDetails.setMoney(orders.getTaxiMoney());
|
||||||
|
}else{
|
||||||
|
userMoneyDetails.setMoney(orders.getPayMoney());
|
||||||
|
}
|
||||||
userMoneyDetails.setUserId(orders.getUserId());
|
userMoneyDetails.setUserId(orders.getUserId());
|
||||||
userMoneyDetails.setContent("订单号:" + orders.getOrdersNo() + ",已经下单成功!");
|
userMoneyDetails.setContent("订单号:" + orders.getOrdersNo() + ",已经下单成功!");
|
||||||
userMoneyDetails.setTitle("支付服务包订单");
|
userMoneyDetails.setTitle("支付服订单");
|
||||||
userMoneyDetails.setType(2);
|
userMoneyDetails.setType(2);
|
||||||
userMoneyDetails.setState(2);
|
userMoneyDetails.setState(2);
|
||||||
userMoneyDetails.setCreateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
|
userMoneyDetails.setCreateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
|
||||||
|
@ -1110,6 +1114,7 @@ public class AliPayController {
|
||||||
userPackage.setLabels(massagePackage.getLabels());
|
userPackage.setLabels(massagePackage.getLabels());
|
||||||
userPackage.setCity(massagePackage.getCity());
|
userPackage.setCity(massagePackage.getCity());
|
||||||
userPackage.setClassifyId(massagePackage.getClassifyId());
|
userPackage.setClassifyId(massagePackage.getClassifyId());
|
||||||
|
userPackage.setLevel(massagePackage.getLevel());
|
||||||
userPackageService.insert(userPackage);
|
userPackageService.insert(userPackage);
|
||||||
Long mainId = userPackage.getId();
|
Long mainId = userPackage.getId();
|
||||||
//拆分插入用户服务器项目详情
|
//拆分插入用户服务器项目详情
|
||||||
|
@ -1121,6 +1126,7 @@ public class AliPayController {
|
||||||
UserPackageDetail upd = userPackageDetailList.get(j);
|
UserPackageDetail upd = userPackageDetailList.get(j);
|
||||||
upd.setMainId(mainId);
|
upd.setMainId(mainId);
|
||||||
upd.setCreateTime(sdf.format(new Date()));
|
upd.setCreateTime(sdf.format(new Date()));
|
||||||
|
upd.setLevel(massagePackage.getLevel());
|
||||||
int serviceCount = upd.getServiceCount();
|
int serviceCount = upd.getServiceCount();
|
||||||
for(int k=0;k<serviceCount;k++){
|
for(int k=0;k<serviceCount;k++){
|
||||||
userPackageDetailService.insert(upd);
|
userPackageDetailService.insert(upd);
|
||||||
|
@ -1288,30 +1294,34 @@ public class AliPayController {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//通知页面地址
|
String isTravelFree = commonInfoService.findOne(460).getValue();
|
||||||
CommonInfo one = commonInfoService.findOne(19);
|
if(isTravelFree.equals("是")){
|
||||||
String returnUrl = one.getValue() + "/#/pages/task/recharge";
|
payPackageOrderResult(orders.getOrdersNo());
|
||||||
CommonInfo one3 = commonInfoService.findOne(12);
|
}else {
|
||||||
String name = one3.getValue();
|
//通知页面地址
|
||||||
PayDetails payDetails1 = payDetailsDao.selectByOrderId(orders.getOrdersNo());
|
CommonInfo one = commonInfoService.findOne(19);
|
||||||
if(payDetails1==null){
|
String returnUrl = one.getValue() + "/#/pages/task/recharge";
|
||||||
PayDetails payDetails = new PayDetails();
|
CommonInfo one3 = commonInfoService.findOne(12);
|
||||||
payDetails.setState(0);
|
String name = one3.getValue();
|
||||||
payDetails.setCreateTime(sdf.format(new Date()));
|
PayDetails payDetails1 = payDetailsDao.selectByOrderId(orders.getOrdersNo());
|
||||||
payDetails.setOrderId(orders.getOrdersNo());
|
if (payDetails1 == null) {
|
||||||
payDetails.setUserId(orders.getUserId());
|
PayDetails payDetails = new PayDetails();
|
||||||
if(orders.getUserPackageDetailId() !=null ){
|
payDetails.setState(0);
|
||||||
payDetails.setMoney(orders.getTaxiMoney().doubleValue());
|
payDetails.setCreateTime(sdf.format(new Date()));
|
||||||
}else{
|
payDetails.setOrderId(orders.getOrdersNo());
|
||||||
payDetails.setMoney(orders.getPayMoney().doubleValue());
|
payDetails.setUserId(orders.getUserId());
|
||||||
|
if (orders.getUserPackageDetailId() != null) {
|
||||||
|
payDetails.setMoney(orders.getTaxiMoney().doubleValue());
|
||||||
|
} else {
|
||||||
|
payDetails.setMoney(orders.getPayMoney().doubleValue());
|
||||||
|
}
|
||||||
|
payDetails.setClassify(6);
|
||||||
|
payDetails.setType(1);
|
||||||
|
payDetailsDao.insert(payDetails);
|
||||||
|
} else {
|
||||||
|
payDetails1.setClassify(6);
|
||||||
|
payDetailsDao.updateById(payDetails1);
|
||||||
}
|
}
|
||||||
payDetails.setClassify(6);
|
|
||||||
payDetails.setType(1);
|
|
||||||
payDetailsDao.insert(payDetails);
|
|
||||||
}else{
|
|
||||||
payDetails1.setClassify(6);
|
|
||||||
payDetailsDao.updateById(payDetails1);
|
|
||||||
}
|
|
||||||
// if (type == 1) {
|
// if (type == 1) {
|
||||||
// if(orders.getUserPackageDetailId() !=null ){
|
// if(orders.getUserPackageDetailId() !=null ){
|
||||||
// return payApp(name, orders.getOrdersNo(), orders.getTaxiMoney().doubleValue());
|
// return payApp(name, orders.getOrdersNo(), orders.getTaxiMoney().doubleValue());
|
||||||
|
@ -1325,9 +1335,248 @@ public class AliPayController {
|
||||||
// return payH5(name, orders.getOrdersNo(), orders.getPayMoney().doubleValue(), returnUrl);
|
// return payH5(name, orders.getOrdersNo(), orders.getPayMoney().doubleValue(), returnUrl);
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
payOrderResult(orders.getOrdersNo());
|
payOrderResult(orders.getOrdersNo());
|
||||||
|
}
|
||||||
return Result.success();
|
return Result.success();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 套餐下单,车费免费开启时调用此方法
|
||||||
|
* @param ordersNo
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
private Result payPackageOrderResult(String ordersNo){
|
||||||
|
Orders orders = ordersService.selectOrdersByOrderNo(ordersNo);
|
||||||
|
if(orders.getIsSupplement() != null){
|
||||||
|
if(orders.getIsSupplement() == 2){
|
||||||
|
orders.setStatus(6);
|
||||||
|
}else if(orders.getIsSupplement() == 3){
|
||||||
|
orders.setStatus(2);
|
||||||
|
}else{
|
||||||
|
orders.setStatus(9);//用户已支付技师待接单
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
if(orders.getParentId()!=null && orders.getParentId()!=0){
|
||||||
|
orders.setStatus(6);
|
||||||
|
}else{
|
||||||
|
orders.setStatus(9);//用户已支付技师待接单
|
||||||
|
}
|
||||||
|
}
|
||||||
|
orders.setPayWay(6);
|
||||||
|
orders.setPayTime(sdf.format(new Date()));
|
||||||
|
|
||||||
|
BigDecimal rate = new BigDecimal(100);
|
||||||
|
if(orders.getUserPackageDetailId() != null){
|
||||||
|
OrdersMassage ordersMassage = ordersMassageService.getOne(new QueryWrapper<OrdersMassage>().eq("orders_id", orders.getOrdersId()));
|
||||||
|
UserPackageDetail userPackageDetail = userPackageDetailService.getById(ordersMassage.getMassageId());
|
||||||
|
UserPackage userPackage = userPackageService.getById(userPackageDetail.getMainId());
|
||||||
|
UserPackageOrder userPackageOrder = userPackageOrderService.getById(userPackage.getOrdersId());
|
||||||
|
Integer packagePayWay = userPackageOrder.getPayWay();
|
||||||
|
if(packagePayWay.equals(5)){
|
||||||
|
rate = new BigDecimal(commonInfoService.findOne(449).getValue());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
orders.setWalletRate(rate);
|
||||||
|
rate = rate.divide(new BigDecimal(100));
|
||||||
|
BigDecimal storageRate = BigDecimal.ONE.subtract(rate);
|
||||||
|
|
||||||
|
Artificer artificer = artificerService.getById(orders.getArtificerId());
|
||||||
|
BigDecimal taxiMoney = BigDecimal.ZERO;
|
||||||
|
if(orders.getIsSupplement()!=null && orders.getIsSupplement() == 2){
|
||||||
|
taxiMoney = BigDecimal.ZERO;
|
||||||
|
}else{
|
||||||
|
taxiMoney = orders.getTaxiMoney();
|
||||||
|
}
|
||||||
|
if(taxiMoney==null){
|
||||||
|
taxiMoney = BigDecimal.ZERO;
|
||||||
|
}
|
||||||
|
BigDecimal artificerPrice = BigDecimal.ZERO;
|
||||||
|
BigDecimal artificerTaxiPrice = BigDecimal.ZERO;
|
||||||
|
BigDecimal valueStorageDeduction = BigDecimal.ZERO;
|
||||||
|
//查询是否计算出租车扣费
|
||||||
|
String taxi = commonInfoService.findOne(394).getValue();
|
||||||
|
//计算技师出租车收益(按照技师表收益计算)
|
||||||
|
if ("是".equals(taxi)) {
|
||||||
|
//计算技师应该收取的出租车费用
|
||||||
|
artificerTaxiPrice = taxiMoney.multiply(artificer.getRate());
|
||||||
|
artificerTaxiPrice = artificerTaxiPrice.setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||||
|
//计算出租车扣款
|
||||||
|
BigDecimal pingTaxiMoney = taxiMoney.subtract(artificerTaxiPrice);
|
||||||
|
//赋值技师出租收款
|
||||||
|
orders.setArtificerTaxiMoney(artificerTaxiPrice);
|
||||||
|
//赋值出租车扣款
|
||||||
|
orders.setPingTaxiMoney(pingTaxiMoney);
|
||||||
|
} else {
|
||||||
|
//平台不扣费 出租车收益全由技师收取
|
||||||
|
artificerTaxiPrice = taxiMoney;
|
||||||
|
orders.setArtificerTaxiMoney(taxiMoney);
|
||||||
|
//设置出租车扣款为0
|
||||||
|
orders.setPingTaxiMoney(BigDecimal.ZERO);
|
||||||
|
}
|
||||||
|
BigDecimal subtract = BigDecimal.ZERO;
|
||||||
|
//用户支付减去通行费用
|
||||||
|
if(orders.getIsSupplement()!=null && orders.getIsSupplement() == 2){
|
||||||
|
subtract = orders.getPayMoney();
|
||||||
|
}else{
|
||||||
|
subtract = orders.getPayMoney().subtract(taxiMoney);
|
||||||
|
}
|
||||||
|
//计算用户收益 !计算前先减去通行费用再计算技师抽成
|
||||||
|
artificerPrice = subtract.multiply(artificer.getRate());
|
||||||
|
artificerPrice = artificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||||
|
//储值扣费
|
||||||
|
valueStorageDeduction = artificerPrice.multiply(storageRate);//技师提成中扣除金额
|
||||||
|
valueStorageDeduction = valueStorageDeduction.setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||||
|
orders.setValueStorageDeduction(valueStorageDeduction);
|
||||||
|
|
||||||
|
//用户收益不含交通费
|
||||||
|
artificerPrice = artificerPrice.multiply(rate);
|
||||||
|
artificerPrice = artificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||||
|
|
||||||
|
orders.setProjectBenefits(artificerPrice);
|
||||||
|
|
||||||
|
UserEntity artificerUser = userService.selectUserById(artificer.getUserId());
|
||||||
|
UserEntity oneArtificerUser = userService.queryByInvitationCode(artificerUser.getInviterCode());
|
||||||
|
BigDecimal oneArtificerMoney = BigDecimal.ZERO;
|
||||||
|
if (oneArtificerUser != null && oneArtificerUser.getIsAgency() != null && oneArtificerUser.getIsAgency() == 1) {
|
||||||
|
orders.setOneArtificerUserId(oneArtificerUser.getUserId());
|
||||||
|
orders.setOneArtificerUserName(oneArtificerUser.getUserName());
|
||||||
|
oneArtificerMoney = artificerPrice.multiply(oneArtificerUser.getShopRate());
|
||||||
|
oneArtificerMoney = oneArtificerMoney.setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||||
|
}
|
||||||
|
orders.setOneArtificerMoney(oneArtificerMoney);
|
||||||
|
BigDecimal shopMoney = BigDecimal.ZERO;
|
||||||
|
if (artificerUser.getConsortiaId() != null) {
|
||||||
|
Consortia consortia = consortiaService.getById(artificerUser.getConsortiaId());
|
||||||
|
if (consortia != null && consortia.getUserId() != null) {
|
||||||
|
UserEntity consortiaUser = userService.getById(consortia.getUserId());
|
||||||
|
if (consortiaUser != null) {
|
||||||
|
orders.setConsortiaId(consortia.getConsortiaId());
|
||||||
|
orders.setShopUserId(consortiaUser.getUserId());
|
||||||
|
orders.setShopUserName(consortiaUser.getUserName());
|
||||||
|
shopMoney = artificerPrice.multiply(consortia.getRate());
|
||||||
|
shopMoney = shopMoney.setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
orders.setShopMoney(shopMoney);
|
||||||
|
artificerPrice = artificerPrice.subtract(oneArtificerMoney);
|
||||||
|
artificerPrice = artificerPrice.subtract(shopMoney);
|
||||||
|
if(orders.getIsSupplement()!=null && orders.getIsSupplement().equals(2)){
|
||||||
|
}else{
|
||||||
|
//用户收益加上通行费用
|
||||||
|
artificerPrice = artificerPrice.add(artificerTaxiPrice);
|
||||||
|
}
|
||||||
|
orders.setArtificerMoney(artificerPrice);
|
||||||
|
orders.setSumArtificerMoney(artificerPrice);
|
||||||
|
|
||||||
|
//平台扣款
|
||||||
|
BigDecimal pingMoney = orders.getPayMoney();
|
||||||
|
pingMoney = pingMoney.subtract(artificerPrice);
|
||||||
|
pingMoney = pingMoney.subtract(shopMoney);
|
||||||
|
pingMoney = pingMoney.subtract(oneArtificerMoney);
|
||||||
|
|
||||||
|
UserEntity user = userService.selectUserById(orders.getUserId());
|
||||||
|
UserEntity oneUser = userService.queryByInvitationCode(user.getInviterCode());
|
||||||
|
BigDecimal oneUserMoney = BigDecimal.ZERO;
|
||||||
|
if (oneUser != null && oneUser.getIsAgency() != null && oneUser.getIsAgency() == 1) {
|
||||||
|
orders.setOneUserId(oneUser.getUserId());
|
||||||
|
orders.setOneUserName(oneUser.getUserName());
|
||||||
|
oneUserMoney = pingMoney.multiply(oneUser.getUserRate());
|
||||||
|
oneUserMoney = oneUserMoney.setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||||
|
}
|
||||||
|
orders.setOneUserMoney(oneUserMoney);
|
||||||
|
pingMoney = pingMoney.subtract(oneUserMoney);
|
||||||
|
orders.setPingMoney(pingMoney);
|
||||||
|
|
||||||
|
ordersService.updateById(orders);
|
||||||
|
|
||||||
|
if(orders.getParentId()!=null && orders.getParentId()!=0){
|
||||||
|
Calendar calendar=Calendar.getInstance();
|
||||||
|
|
||||||
|
Orders orders1 = ordersDao.selectById(orders.getParentId());
|
||||||
|
if(orders1.getAddNum()==null){
|
||||||
|
orders1.setAddNum(1);
|
||||||
|
}else{
|
||||||
|
orders1.setAddNum(orders1.getAddNum()+1);
|
||||||
|
}
|
||||||
|
//获取加钟项目的时长
|
||||||
|
if(orders1.getAddTime()!=null){
|
||||||
|
orders1.setAddTime(orders1.getAddTime()+orders.getAddTime());
|
||||||
|
}else{
|
||||||
|
orders1.setAddTime(orders.getAddTime());
|
||||||
|
}
|
||||||
|
boolean flag2 = false;
|
||||||
|
if (StringUtils.isNotBlank(orders1.getEndTime())) {
|
||||||
|
Calendar calendar2 = Calendar.getInstance();
|
||||||
|
Date date = DateUtils.stringToDate(orders1.getEndTime(), "yyyy-MM-dd HH:mm:ss");
|
||||||
|
calendar2.setTime(date);
|
||||||
|
calendar2.add(Calendar.MINUTE, orders.getAddTime());
|
||||||
|
orders1.setEndTime(DateUtils.format(calendar2.getTime()));
|
||||||
|
flag2 = true;
|
||||||
|
}
|
||||||
|
if(orders1.getAddMoney()!=null){
|
||||||
|
orders1.setAddMoney(orders1.getAddMoney().add(orders.getPayMoney()));
|
||||||
|
orders1.setAddArtificerMoney(orders1.getAddArtificerMoney().add(orders.getArtificerMoney()));
|
||||||
|
}else{
|
||||||
|
orders1.setAddMoney(orders.getPayMoney());
|
||||||
|
orders1.setAddArtificerMoney(orders.getArtificerMoney());
|
||||||
|
}
|
||||||
|
orders1.setSumMoney(orders1.getSumMoney().add(orders.getPayMoney()));
|
||||||
|
orders1.setSumArtificerMoney(orders1.getSumArtificerMoney().add(orders.getArtificerMoney()));
|
||||||
|
|
||||||
|
orders1.setOneArtificerMoney(orders1.getOneArtificerMoney().add(orders.getOneArtificerMoney()));
|
||||||
|
orders1.setShopMoney(orders1.getShopMoney().add(orders.getShopMoney()));
|
||||||
|
orders1.setOneUserMoney(orders1.getOneUserMoney().add(orders.getOneUserMoney()));
|
||||||
|
orders1.setPingMoney(orders1.getPingMoney().add(orders.getPingMoney()));
|
||||||
|
|
||||||
|
if(orders1.getStatus().equals(6)){
|
||||||
|
// ordersMassage = ordersMassageService.getOne(new QueryWrapper<OrdersMassage>().eq("orders_id", orders1.getOrdersId()));
|
||||||
|
// massageType = massageTypeService.getById(ordersMassage.getMassageId());
|
||||||
|
// duration=massageType.getDuration();
|
||||||
|
String endTime = orders1.getEndTime();
|
||||||
|
Date date = DateUtils.stringToDate(endTime, "yyyy-MM-dd HH:mm:ss");
|
||||||
|
calendar=Calendar.getInstance();
|
||||||
|
if(date.getTime()>System.currentTimeMillis()){
|
||||||
|
calendar.setTime(date);
|
||||||
|
}
|
||||||
|
calendar.add(Calendar.MINUTE,orders.getDuration());
|
||||||
|
orders1.setEndTime(endTime);
|
||||||
|
}
|
||||||
|
orders1.setAddPrice(orders.getPrice());
|
||||||
|
orders1.setAddMassageTypeId(orders.getMassageTypeId());
|
||||||
|
orders1.setAddEntryName(orders.getEntryName());
|
||||||
|
ordersDao.updateById(orders1);
|
||||||
|
if (flag2) {
|
||||||
|
ordersDao.update(null, Wrappers.<Orders>lambdaUpdate()
|
||||||
|
.set(Orders::getWarning, null)
|
||||||
|
.eq(Orders::getOrdersId, orders1.getOrdersId()));
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
MessageInfo messageInfo=new MessageInfo();
|
||||||
|
messageInfo.setState("16");
|
||||||
|
messageInfo.setTitle("新订单通知");
|
||||||
|
messageInfo.setUserId("0");
|
||||||
|
messageInfo.setIsSee("0");
|
||||||
|
messageService.saveBody(messageInfo);
|
||||||
|
//电话通知 add 2024-06-20 by caolei
|
||||||
|
messageService.sendNoticeByCall(artificer.getUserId());
|
||||||
|
}
|
||||||
|
|
||||||
|
ordersService.sendMsg(orders);
|
||||||
|
UserMoneyDetails userMoneyDetails = new UserMoneyDetails();
|
||||||
|
userMoneyDetails.setManipulateType(1);
|
||||||
|
userMoneyDetails.setMoney(orders.getTaxiMoney());
|
||||||
|
userMoneyDetails.setUserId(orders.getUserId());
|
||||||
|
userMoneyDetails.setContent("订单号:" + orders.getOrdersNo() + ",已经下单成功!");
|
||||||
|
userMoneyDetails.setTitle("服务包下单");
|
||||||
|
userMoneyDetails.setType(2);
|
||||||
|
userMoneyDetails.setState(2);
|
||||||
|
userMoneyDetails.setCreateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
|
||||||
|
userMoneyDetails.setBlRole(1);
|
||||||
|
userMoneyDetails.setBlFlag(2);
|
||||||
|
userMoneyDetailsService.save(userMoneyDetails);
|
||||||
|
|
||||||
|
return Result.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Login
|
@Login
|
||||||
|
@ -1736,10 +1985,14 @@ public class AliPayController {
|
||||||
|
|
||||||
UserMoneyDetails userMoneyDetails = new UserMoneyDetails();
|
UserMoneyDetails userMoneyDetails = new UserMoneyDetails();
|
||||||
userMoneyDetails.setManipulateType(1);
|
userMoneyDetails.setManipulateType(1);
|
||||||
userMoneyDetails.setMoney(orders.getPayMoney());
|
if(orders.getUserPackageDetailId() != null){
|
||||||
|
userMoneyDetails.setMoney(orders.getTaxiMoney());
|
||||||
|
}else{
|
||||||
|
userMoneyDetails.setMoney(orders.getPayMoney());
|
||||||
|
}
|
||||||
userMoneyDetails.setUserId(orders.getUserId());
|
userMoneyDetails.setUserId(orders.getUserId());
|
||||||
userMoneyDetails.setContent("订单号:" + orders.getOrdersNo() + ",已经下单成功!");
|
userMoneyDetails.setContent("订单号:" + orders.getOrdersNo() + ",已经下单成功!");
|
||||||
userMoneyDetails.setTitle("支付服务包订单");
|
userMoneyDetails.setTitle("支付订单");
|
||||||
userMoneyDetails.setType(2);
|
userMoneyDetails.setType(2);
|
||||||
userMoneyDetails.setState(2);
|
userMoneyDetails.setState(2);
|
||||||
userMoneyDetails.setCreateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
|
userMoneyDetails.setCreateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
|
||||||
|
@ -2046,6 +2299,7 @@ public class AliPayController {
|
||||||
userPackage.setLabels(massagePackage.getLabels());
|
userPackage.setLabels(massagePackage.getLabels());
|
||||||
userPackage.setCity(massagePackage.getCity());
|
userPackage.setCity(massagePackage.getCity());
|
||||||
userPackage.setClassifyId(massagePackage.getClassifyId());
|
userPackage.setClassifyId(massagePackage.getClassifyId());
|
||||||
|
userPackage.setLevel(massagePackage.getLevel());
|
||||||
userPackageService.insert(userPackage);
|
userPackageService.insert(userPackage);
|
||||||
Long mainId = userPackage.getId();
|
Long mainId = userPackage.getId();
|
||||||
//拆分插入用户服务器项目详情
|
//拆分插入用户服务器项目详情
|
||||||
|
@ -2057,6 +2311,7 @@ public class AliPayController {
|
||||||
UserPackageDetail upd = userPackageDetailList.get(j);
|
UserPackageDetail upd = userPackageDetailList.get(j);
|
||||||
upd.setMainId(mainId);
|
upd.setMainId(mainId);
|
||||||
upd.setCreateTime(sdf.format(new Date()));
|
upd.setCreateTime(sdf.format(new Date()));
|
||||||
|
upd.setLevel(massagePackage.getLevel());
|
||||||
int serviceCount = upd.getServiceCount();
|
int serviceCount = upd.getServiceCount();
|
||||||
for(int k=0;k<serviceCount;k++){
|
for(int k=0;k<serviceCount;k++){
|
||||||
userPackageDetailService.insert(upd);
|
userPackageDetailService.insert(upd);
|
||||||
|
|
|
@ -644,31 +644,36 @@ public class WxServiceImpl implements WxService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
PayDetails payDetails1 = payDetailsDao.selectByOrderId(orders.getOrdersNo());
|
String isTravelFree = commonInfoService.findOne(460).getValue();
|
||||||
if(payDetails1==null){
|
if(isTravelFree.equals("是")){
|
||||||
PayDetails payDetails = new PayDetails();
|
payPackageOrderResult(orders.getOrdersNo(),classify);
|
||||||
payDetails.setState(0);
|
}else {
|
||||||
payDetails.setCreateTime(sdf.format(new Date()));
|
PayDetails payDetails1 = payDetailsDao.selectByOrderId(orders.getOrdersNo());
|
||||||
payDetails.setOrderId(orders.getOrdersNo());
|
if (payDetails1 == null) {
|
||||||
payDetails.setUserId(orders.getUserId());
|
PayDetails payDetails = new PayDetails();
|
||||||
if(orders.getUserPackageDetailId() !=null ){
|
payDetails.setState(0);
|
||||||
payDetails.setMoney(orders.getTaxiMoney().doubleValue());
|
payDetails.setCreateTime(sdf.format(new Date()));
|
||||||
}else{
|
payDetails.setOrderId(orders.getOrdersNo());
|
||||||
payDetails.setMoney(orders.getPayMoney().doubleValue());
|
payDetails.setUserId(orders.getUserId());
|
||||||
|
if (orders.getUserPackageDetailId() != null) {
|
||||||
|
payDetails.setMoney(orders.getTaxiMoney().doubleValue());
|
||||||
|
} else {
|
||||||
|
payDetails.setMoney(orders.getPayMoney().doubleValue());
|
||||||
|
}
|
||||||
|
payDetails.setClassify(classify);
|
||||||
|
payDetails.setType(1);
|
||||||
|
payDetailsDao.insert(payDetails);
|
||||||
|
} else {
|
||||||
|
payDetails1.setClassify(classify);
|
||||||
|
payDetailsDao.updateById(payDetails1);
|
||||||
}
|
}
|
||||||
payDetails.setClassify(classify);
|
|
||||||
payDetails.setType(1);
|
|
||||||
payDetailsDao.insert(payDetails);
|
|
||||||
}else{
|
|
||||||
payDetails1.setClassify(classify);
|
|
||||||
payDetailsDao.updateById(payDetails1);
|
|
||||||
}
|
|
||||||
// if(orders.getUserPackageDetailId() !=null ){
|
// if(orders.getUserPackageDetailId() !=null ){
|
||||||
// return pay(orders.getTaxiMoney().doubleValue(), classify, orders.getUserId(), orders.getOrdersNo(),request);
|
// return pay(orders.getTaxiMoney().doubleValue(), classify, orders.getUserId(), orders.getOrdersNo(),request);
|
||||||
// }else{
|
// }else{
|
||||||
// return pay(orders.getPayMoney().doubleValue(), classify, orders.getUserId(), orders.getOrdersNo(),request);
|
// return pay(orders.getPayMoney().doubleValue(), classify, orders.getUserId(), orders.getOrdersNo(),request);
|
||||||
// }
|
// }
|
||||||
payOrderResult(orders.getOrdersNo());
|
payOrderResult(orders.getOrdersNo());
|
||||||
|
}
|
||||||
return Result.success();
|
return Result.success();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -687,7 +692,7 @@ public class WxServiceImpl implements WxService {
|
||||||
}
|
}
|
||||||
|
|
||||||
PayDetails payDetails1 = payDetailsDao.selectByOrderId(orders.getOrdersNo());
|
PayDetails payDetails1 = payDetailsDao.selectByOrderId(orders.getOrdersNo());
|
||||||
if(payDetails1==null){
|
if (payDetails1 == null) {
|
||||||
PayDetails payDetails = new PayDetails();
|
PayDetails payDetails = new PayDetails();
|
||||||
payDetails.setState(0);
|
payDetails.setState(0);
|
||||||
payDetails.setCreateTime(sdf.format(new Date()));
|
payDetails.setCreateTime(sdf.format(new Date()));
|
||||||
|
@ -697,13 +702,249 @@ public class WxServiceImpl implements WxService {
|
||||||
payDetails.setClassify(classify);
|
payDetails.setClassify(classify);
|
||||||
payDetails.setType(7);
|
payDetails.setType(7);
|
||||||
payDetailsDao.insert(payDetails);
|
payDetailsDao.insert(payDetails);
|
||||||
}else{
|
} else {
|
||||||
payDetails1.setClassify(classify);
|
payDetails1.setClassify(classify);
|
||||||
payDetails1.setType(7);
|
payDetails1.setType(7);
|
||||||
payDetailsDao.updateById(payDetails1);
|
payDetailsDao.updateById(payDetails1);
|
||||||
}
|
}
|
||||||
// return pay(orders.getPayMoney().doubleValue(), classify, orders.getUserId(), orders.getOrdersNo(),request);
|
// return pay(orders.getPayMoney().doubleValue(), classify, orders.getUserId(), orders.getOrdersNo(),request);
|
||||||
payOrderResult(orders.getOrdersNo());
|
payOrderResult(orders.getOrdersNo());
|
||||||
|
|
||||||
|
return Result.success();
|
||||||
|
}
|
||||||
|
|
||||||
|
private Result payPackageOrderResult(String ordersNo,Integer classify){
|
||||||
|
Orders orders = ordersService.selectOrdersByOrderNo(ordersNo);
|
||||||
|
if(orders.getIsSupplement() != null){
|
||||||
|
if(orders.getIsSupplement() == 2){
|
||||||
|
orders.setStatus(6);
|
||||||
|
}else if(orders.getIsSupplement() == 3){
|
||||||
|
orders.setStatus(2);
|
||||||
|
}else{
|
||||||
|
orders.setStatus(9);//用户已支付技师待接单
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
if(orders.getParentId()!=null && orders.getParentId()!=0){
|
||||||
|
orders.setStatus(6);
|
||||||
|
}else{
|
||||||
|
orders.setStatus(9);//用户已支付技师待接单
|
||||||
|
}
|
||||||
|
}
|
||||||
|
orders.setPayWay(classify);
|
||||||
|
orders.setPayTime(sdf.format(new Date()));
|
||||||
|
|
||||||
|
BigDecimal rate = new BigDecimal(100);
|
||||||
|
if(orders.getUserPackageDetailId() != null){
|
||||||
|
OrdersMassage ordersMassage = ordersMassageService.getOne(new QueryWrapper<OrdersMassage>().eq("orders_id", orders.getOrdersId()));
|
||||||
|
UserPackageDetail userPackageDetail = userPackageDetailService.getById(ordersMassage.getMassageId());
|
||||||
|
UserPackage userPackage = userPackageService.getById(userPackageDetail.getMainId());
|
||||||
|
UserPackageOrder userPackageOrder = userPackageOrderService.getById(userPackage.getOrdersId());
|
||||||
|
Integer packagePayWay = userPackageOrder.getPayWay();
|
||||||
|
if(packagePayWay.equals(5)){
|
||||||
|
rate = new BigDecimal(commonInfoService.findOne(449).getValue());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
orders.setWalletRate(rate);
|
||||||
|
rate = rate.divide(new BigDecimal(100));
|
||||||
|
BigDecimal storageRate = BigDecimal.ONE.subtract(rate);
|
||||||
|
|
||||||
|
Artificer artificer = artificerService.getById(orders.getArtificerId());
|
||||||
|
BigDecimal taxiMoney = BigDecimal.ZERO;
|
||||||
|
if(orders.getIsSupplement()!=null && orders.getIsSupplement() == 2){
|
||||||
|
taxiMoney = BigDecimal.ZERO;
|
||||||
|
}else{
|
||||||
|
taxiMoney = orders.getTaxiMoney();
|
||||||
|
}
|
||||||
|
if(taxiMoney==null){
|
||||||
|
taxiMoney = BigDecimal.ZERO;
|
||||||
|
}
|
||||||
|
BigDecimal artificerPrice = BigDecimal.ZERO;
|
||||||
|
BigDecimal artificerTaxiPrice = BigDecimal.ZERO;
|
||||||
|
BigDecimal valueStorageDeduction = BigDecimal.ZERO;
|
||||||
|
//查询是否计算出租车扣费
|
||||||
|
String taxi = commonInfoService.findOne(394).getValue();
|
||||||
|
//计算技师出租车收益(按照技师表收益计算)
|
||||||
|
if ("是".equals(taxi)) {
|
||||||
|
//计算技师应该收取的出租车费用
|
||||||
|
artificerTaxiPrice = taxiMoney.multiply(artificer.getRate());
|
||||||
|
artificerTaxiPrice = artificerTaxiPrice.setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||||
|
//计算出租车扣款
|
||||||
|
BigDecimal pingTaxiMoney = taxiMoney.subtract(artificerTaxiPrice);
|
||||||
|
//赋值技师出租收款
|
||||||
|
orders.setArtificerTaxiMoney(artificerTaxiPrice);
|
||||||
|
//赋值出租车扣款
|
||||||
|
orders.setPingTaxiMoney(pingTaxiMoney);
|
||||||
|
} else {
|
||||||
|
//平台不扣费 出租车收益全由技师收取
|
||||||
|
artificerTaxiPrice = taxiMoney;
|
||||||
|
orders.setArtificerTaxiMoney(taxiMoney);
|
||||||
|
//设置出租车扣款为0
|
||||||
|
orders.setPingTaxiMoney(BigDecimal.ZERO);
|
||||||
|
}
|
||||||
|
BigDecimal subtract = BigDecimal.ZERO;
|
||||||
|
//用户支付减去通行费用
|
||||||
|
if(orders.getIsSupplement()!=null && orders.getIsSupplement() == 2){
|
||||||
|
subtract = orders.getPayMoney();
|
||||||
|
}else{
|
||||||
|
subtract = orders.getPayMoney().subtract(taxiMoney);
|
||||||
|
}
|
||||||
|
//计算用户收益 !计算前先减去通行费用再计算技师抽成
|
||||||
|
artificerPrice = subtract.multiply(artificer.getRate());
|
||||||
|
artificerPrice = artificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||||
|
//储值扣费
|
||||||
|
valueStorageDeduction = artificerPrice.multiply(storageRate);//技师提成中扣除金额
|
||||||
|
valueStorageDeduction = valueStorageDeduction.setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||||
|
orders.setValueStorageDeduction(valueStorageDeduction);
|
||||||
|
|
||||||
|
//用户收益不含交通费
|
||||||
|
artificerPrice = artificerPrice.multiply(rate);
|
||||||
|
artificerPrice = artificerPrice.setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||||
|
|
||||||
|
orders.setProjectBenefits(artificerPrice);
|
||||||
|
|
||||||
|
UserEntity artificerUser = userService.selectUserById(artificer.getUserId());
|
||||||
|
UserEntity oneArtificerUser = userService.queryByInvitationCode(artificerUser.getInviterCode());
|
||||||
|
BigDecimal oneArtificerMoney = BigDecimal.ZERO;
|
||||||
|
if (oneArtificerUser != null && oneArtificerUser.getIsAgency() != null && oneArtificerUser.getIsAgency() == 1) {
|
||||||
|
orders.setOneArtificerUserId(oneArtificerUser.getUserId());
|
||||||
|
orders.setOneArtificerUserName(oneArtificerUser.getUserName());
|
||||||
|
oneArtificerMoney = artificerPrice.multiply(oneArtificerUser.getShopRate());
|
||||||
|
oneArtificerMoney = oneArtificerMoney.setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||||
|
}
|
||||||
|
orders.setOneArtificerMoney(oneArtificerMoney);
|
||||||
|
BigDecimal shopMoney = BigDecimal.ZERO;
|
||||||
|
if (artificerUser.getConsortiaId() != null) {
|
||||||
|
Consortia consortia = consortiaService.getById(artificerUser.getConsortiaId());
|
||||||
|
if (consortia != null && consortia.getUserId() != null) {
|
||||||
|
UserEntity consortiaUser = userService.getById(consortia.getUserId());
|
||||||
|
if (consortiaUser != null) {
|
||||||
|
orders.setConsortiaId(consortia.getConsortiaId());
|
||||||
|
orders.setShopUserId(consortiaUser.getUserId());
|
||||||
|
orders.setShopUserName(consortiaUser.getUserName());
|
||||||
|
shopMoney = artificerPrice.multiply(consortia.getRate());
|
||||||
|
shopMoney = shopMoney.setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
orders.setShopMoney(shopMoney);
|
||||||
|
artificerPrice = artificerPrice.subtract(oneArtificerMoney);
|
||||||
|
artificerPrice = artificerPrice.subtract(shopMoney);
|
||||||
|
if(orders.getIsSupplement()!=null && orders.getIsSupplement().equals(2)){
|
||||||
|
}else{
|
||||||
|
//用户收益加上通行费用
|
||||||
|
artificerPrice = artificerPrice.add(artificerTaxiPrice);
|
||||||
|
}
|
||||||
|
orders.setArtificerMoney(artificerPrice);
|
||||||
|
orders.setSumArtificerMoney(artificerPrice);
|
||||||
|
|
||||||
|
//平台扣款
|
||||||
|
BigDecimal pingMoney = orders.getPayMoney();
|
||||||
|
pingMoney = pingMoney.subtract(artificerPrice);
|
||||||
|
pingMoney = pingMoney.subtract(shopMoney);
|
||||||
|
pingMoney = pingMoney.subtract(oneArtificerMoney);
|
||||||
|
|
||||||
|
UserEntity user = userService.selectUserById(orders.getUserId());
|
||||||
|
UserEntity oneUser = userService.queryByInvitationCode(user.getInviterCode());
|
||||||
|
BigDecimal oneUserMoney = BigDecimal.ZERO;
|
||||||
|
if (oneUser != null && oneUser.getIsAgency() != null && oneUser.getIsAgency() == 1) {
|
||||||
|
orders.setOneUserId(oneUser.getUserId());
|
||||||
|
orders.setOneUserName(oneUser.getUserName());
|
||||||
|
oneUserMoney = pingMoney.multiply(oneUser.getUserRate());
|
||||||
|
oneUserMoney = oneUserMoney.setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||||
|
}
|
||||||
|
orders.setOneUserMoney(oneUserMoney);
|
||||||
|
pingMoney = pingMoney.subtract(oneUserMoney);
|
||||||
|
orders.setPingMoney(pingMoney);
|
||||||
|
|
||||||
|
ordersService.updateById(orders);
|
||||||
|
|
||||||
|
if(orders.getParentId()!=null && orders.getParentId()!=0){
|
||||||
|
Calendar calendar=Calendar.getInstance();
|
||||||
|
|
||||||
|
Orders orders1 = ordersDao.selectById(orders.getParentId());
|
||||||
|
if(orders1.getAddNum()==null){
|
||||||
|
orders1.setAddNum(1);
|
||||||
|
}else{
|
||||||
|
orders1.setAddNum(orders1.getAddNum()+1);
|
||||||
|
}
|
||||||
|
//获取加钟项目的时长
|
||||||
|
if(orders1.getAddTime()!=null){
|
||||||
|
orders1.setAddTime(orders1.getAddTime()+orders.getAddTime());
|
||||||
|
}else{
|
||||||
|
orders1.setAddTime(orders.getAddTime());
|
||||||
|
}
|
||||||
|
boolean flag2 = false;
|
||||||
|
if (StringUtils.isNotBlank(orders1.getEndTime())) {
|
||||||
|
Calendar calendar2 = Calendar.getInstance();
|
||||||
|
Date date = DateUtils.stringToDate(orders1.getEndTime(), "yyyy-MM-dd HH:mm:ss");
|
||||||
|
calendar2.setTime(date);
|
||||||
|
calendar2.add(Calendar.MINUTE, orders.getAddTime());
|
||||||
|
orders1.setEndTime(DateUtils.format(calendar2.getTime()));
|
||||||
|
flag2 = true;
|
||||||
|
}
|
||||||
|
if(orders1.getAddMoney()!=null){
|
||||||
|
orders1.setAddMoney(orders1.getAddMoney().add(orders.getPayMoney()));
|
||||||
|
orders1.setAddArtificerMoney(orders1.getAddArtificerMoney().add(orders.getArtificerMoney()));
|
||||||
|
}else{
|
||||||
|
orders1.setAddMoney(orders.getPayMoney());
|
||||||
|
orders1.setAddArtificerMoney(orders.getArtificerMoney());
|
||||||
|
}
|
||||||
|
orders1.setSumMoney(orders1.getSumMoney().add(orders.getPayMoney()));
|
||||||
|
orders1.setSumArtificerMoney(orders1.getSumArtificerMoney().add(orders.getArtificerMoney()));
|
||||||
|
|
||||||
|
orders1.setOneArtificerMoney(orders1.getOneArtificerMoney().add(orders.getOneArtificerMoney()));
|
||||||
|
orders1.setShopMoney(orders1.getShopMoney().add(orders.getShopMoney()));
|
||||||
|
orders1.setOneUserMoney(orders1.getOneUserMoney().add(orders.getOneUserMoney()));
|
||||||
|
orders1.setPingMoney(orders1.getPingMoney().add(orders.getPingMoney()));
|
||||||
|
|
||||||
|
if(orders1.getStatus().equals(6)){
|
||||||
|
// ordersMassage = ordersMassageService.getOne(new QueryWrapper<OrdersMassage>().eq("orders_id", orders1.getOrdersId()));
|
||||||
|
// massageType = massageTypeService.getById(ordersMassage.getMassageId());
|
||||||
|
// duration=massageType.getDuration();
|
||||||
|
String endTime = orders1.getEndTime();
|
||||||
|
Date date = DateUtils.stringToDate(endTime, "yyyy-MM-dd HH:mm:ss");
|
||||||
|
calendar=Calendar.getInstance();
|
||||||
|
if(date.getTime()>System.currentTimeMillis()){
|
||||||
|
calendar.setTime(date);
|
||||||
|
}
|
||||||
|
calendar.add(Calendar.MINUTE,orders.getDuration());
|
||||||
|
orders1.setEndTime(endTime);
|
||||||
|
}
|
||||||
|
orders1.setAddPrice(orders.getPrice());
|
||||||
|
orders1.setAddMassageTypeId(orders.getMassageTypeId());
|
||||||
|
orders1.setAddEntryName(orders.getEntryName());
|
||||||
|
ordersDao.updateById(orders1);
|
||||||
|
if (flag2) {
|
||||||
|
ordersDao.update(null, Wrappers.<Orders>lambdaUpdate()
|
||||||
|
.set(Orders::getWarning, null)
|
||||||
|
.eq(Orders::getOrdersId, orders1.getOrdersId()));
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
MessageInfo messageInfo=new MessageInfo();
|
||||||
|
messageInfo.setState("16");
|
||||||
|
messageInfo.setTitle("新订单通知");
|
||||||
|
messageInfo.setUserId("0");
|
||||||
|
messageInfo.setIsSee("0");
|
||||||
|
messageService.saveBody(messageInfo);
|
||||||
|
//电话通知 add 2024-06-20 by caolei
|
||||||
|
messageService.sendNoticeByCall(artificer.getUserId());
|
||||||
|
}
|
||||||
|
|
||||||
|
ordersService.sendMsg(orders);
|
||||||
|
|
||||||
|
UserMoneyDetails userMoneyDetails = new UserMoneyDetails();
|
||||||
|
userMoneyDetails.setManipulateType(1);
|
||||||
|
userMoneyDetails.setMoney(orders.getTaxiMoney());
|
||||||
|
userMoneyDetails.setUserId(orders.getUserId());
|
||||||
|
userMoneyDetails.setContent("订单号:" + orders.getOrdersNo() + ",已经下单成功!");
|
||||||
|
userMoneyDetails.setTitle("服务包下单");
|
||||||
|
userMoneyDetails.setType(2);
|
||||||
|
userMoneyDetails.setState(2);
|
||||||
|
userMoneyDetails.setCreateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
|
||||||
|
userMoneyDetails.setBlRole(1);
|
||||||
|
userMoneyDetails.setBlFlag(2);
|
||||||
|
userMoneyDetailsService.save(userMoneyDetails);
|
||||||
|
|
||||||
return Result.success();
|
return Result.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1326,10 +1567,14 @@ public class WxServiceImpl implements WxService {
|
||||||
|
|
||||||
UserMoneyDetails userMoneyDetails = new UserMoneyDetails();
|
UserMoneyDetails userMoneyDetails = new UserMoneyDetails();
|
||||||
userMoneyDetails.setManipulateType(1);
|
userMoneyDetails.setManipulateType(1);
|
||||||
userMoneyDetails.setMoney(orders.getPayMoney());
|
if(orders.getUserPackageDetailId() != null){
|
||||||
|
userMoneyDetails.setMoney(orders.getTaxiMoney());
|
||||||
|
}else{
|
||||||
|
userMoneyDetails.setMoney(orders.getPayMoney());
|
||||||
|
}
|
||||||
userMoneyDetails.setUserId(orders.getUserId());
|
userMoneyDetails.setUserId(orders.getUserId());
|
||||||
userMoneyDetails.setContent("订单号:" + orders.getOrdersNo() + ",已经下单成功!");
|
userMoneyDetails.setContent("订单号:" + orders.getOrdersNo() + ",已经下单成功!");
|
||||||
userMoneyDetails.setTitle("支付服务包订单");
|
userMoneyDetails.setTitle("支付订单");
|
||||||
userMoneyDetails.setType(2);
|
userMoneyDetails.setType(2);
|
||||||
userMoneyDetails.setState(2);
|
userMoneyDetails.setState(2);
|
||||||
userMoneyDetails.setCreateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
|
userMoneyDetails.setCreateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
|
||||||
|
@ -1635,6 +1880,7 @@ public class WxServiceImpl implements WxService {
|
||||||
userPackage.setLabels(massagePackage.getLabels());
|
userPackage.setLabels(massagePackage.getLabels());
|
||||||
userPackage.setCity(massagePackage.getCity());
|
userPackage.setCity(massagePackage.getCity());
|
||||||
userPackage.setClassifyId(massagePackage.getClassifyId());
|
userPackage.setClassifyId(massagePackage.getClassifyId());
|
||||||
|
userPackage.setLevel(massagePackage.getLevel());
|
||||||
userPackageService.insert(userPackage);
|
userPackageService.insert(userPackage);
|
||||||
Long mainId = userPackage.getId();
|
Long mainId = userPackage.getId();
|
||||||
//拆分插入用户服务器项目详情
|
//拆分插入用户服务器项目详情
|
||||||
|
@ -1646,6 +1892,7 @@ public class WxServiceImpl implements WxService {
|
||||||
UserPackageDetail upd = userPackageDetailList.get(j);
|
UserPackageDetail upd = userPackageDetailList.get(j);
|
||||||
upd.setMainId(mainId);
|
upd.setMainId(mainId);
|
||||||
upd.setCreateTime(sdf.format(new Date()));
|
upd.setCreateTime(sdf.format(new Date()));
|
||||||
|
upd.setLevel(massagePackage.getLevel());
|
||||||
int serviceCount = upd.getServiceCount();
|
int serviceCount = upd.getServiceCount();
|
||||||
for(int k=0;k<serviceCount;k++){
|
for(int k=0;k<serviceCount;k++){
|
||||||
userPackageDetailService.insert(upd);
|
userPackageDetailService.insert(upd);
|
||||||
|
@ -1968,10 +2215,14 @@ public class WxServiceImpl implements WxService {
|
||||||
|
|
||||||
UserMoneyDetails userMoneyDetails = new UserMoneyDetails();
|
UserMoneyDetails userMoneyDetails = new UserMoneyDetails();
|
||||||
userMoneyDetails.setManipulateType(1);
|
userMoneyDetails.setManipulateType(1);
|
||||||
userMoneyDetails.setMoney(orders.getPayMoney());
|
if(orders.getUserPackageDetailId() != null){
|
||||||
|
userMoneyDetails.setMoney(orders.getTaxiMoney());
|
||||||
|
}else{
|
||||||
|
userMoneyDetails.setMoney(orders.getPayMoney());
|
||||||
|
}
|
||||||
userMoneyDetails.setUserId(orders.getUserId());
|
userMoneyDetails.setUserId(orders.getUserId());
|
||||||
userMoneyDetails.setContent("订单号:" + orders.getOrdersNo() + ",已经下单成功!");
|
userMoneyDetails.setContent("订单号:" + orders.getOrdersNo() + ",已经下单成功!");
|
||||||
userMoneyDetails.setTitle("支付服务包订单");
|
userMoneyDetails.setTitle("支付订单");
|
||||||
userMoneyDetails.setType(2);
|
userMoneyDetails.setType(2);
|
||||||
userMoneyDetails.setState(2);
|
userMoneyDetails.setState(2);
|
||||||
userMoneyDetails.setCreateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
|
userMoneyDetails.setCreateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
|
||||||
|
@ -2277,6 +2528,7 @@ public class WxServiceImpl implements WxService {
|
||||||
userPackage.setLabels(massagePackage.getLabels());
|
userPackage.setLabels(massagePackage.getLabels());
|
||||||
userPackage.setCity(massagePackage.getCity());
|
userPackage.setCity(massagePackage.getCity());
|
||||||
userPackage.setClassifyId(massagePackage.getClassifyId());
|
userPackage.setClassifyId(massagePackage.getClassifyId());
|
||||||
|
userPackage.setLevel(massagePackage.getLevel());
|
||||||
userPackageService.insert(userPackage);
|
userPackageService.insert(userPackage);
|
||||||
Long mainId = userPackage.getId();
|
Long mainId = userPackage.getId();
|
||||||
//拆分插入用户服务器项目详情
|
//拆分插入用户服务器项目详情
|
||||||
|
@ -2288,6 +2540,7 @@ public class WxServiceImpl implements WxService {
|
||||||
UserPackageDetail upd = userPackageDetailList.get(j);
|
UserPackageDetail upd = userPackageDetailList.get(j);
|
||||||
upd.setMainId(mainId);
|
upd.setMainId(mainId);
|
||||||
upd.setCreateTime(sdf.format(new Date()));
|
upd.setCreateTime(sdf.format(new Date()));
|
||||||
|
upd.setLevel(massagePackage.getLevel());
|
||||||
int serviceCount = upd.getServiceCount();
|
int serviceCount = upd.getServiceCount();
|
||||||
for(int k=0;k<serviceCount;k++){
|
for(int k=0;k<serviceCount;k++){
|
||||||
userPackageDetailService.insert(upd);
|
userPackageDetailService.insert(upd);
|
||||||
|
|
|
@ -36,6 +36,7 @@ public interface TravelConfService extends IService<TravelConf> {
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
TravelPriceVo calcTravelPrice(Long artificerId, String toLongitude, String toLatitude, String serveTime);
|
TravelPriceVo calcTravelPrice(Long artificerId, String toLongitude, String toLatitude, String serveTime);
|
||||||
|
TravelPriceVo calcTravelPrice(Long artificerId, String toLongitude, String toLatitude, String serveTime, Integer tripWay);
|
||||||
// TravelPriceVo calcTravelPrice(Long artificerId, String toLongitude, String toLatitude);
|
// TravelPriceVo calcTravelPrice(Long artificerId, String toLongitude, String toLatitude);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -221,6 +221,15 @@ public class TravelConfServiceImpl extends ServiceImpl<TravelConfDao, TravelConf
|
||||||
String latitude = artificerInfo.getLatitude();
|
String latitude = artificerInfo.getLatitude();
|
||||||
return calcTravelPrice(travelType, freeKilometers, longitude, latitude, toLongitude, toLatitude,serveTime);
|
return calcTravelPrice(travelType, freeKilometers, longitude, latitude, toLongitude, toLatitude,serveTime);
|
||||||
}
|
}
|
||||||
|
@Override
|
||||||
|
public TravelPriceVo calcTravelPrice(Long artificerId, String toLongitude, String toLatitude, String serveTime, Integer tripWay){
|
||||||
|
Artificer artificerInfo = artificerService.getById(artificerId);
|
||||||
|
Integer mfgls = artificerInfo.getTripWayNum();//免费公里数
|
||||||
|
BigDecimal freeKilometers = new BigDecimal(mfgls);
|
||||||
|
String longitude = artificerInfo.getLongitude();
|
||||||
|
String latitude = artificerInfo.getLatitude();
|
||||||
|
return calcTravelPrice(tripWay, freeKilometers, longitude, latitude, toLongitude, toLatitude,serveTime);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public TravelPriceVo calcTravelPrice(Integer _travelType, BigDecimal freeKilometers, String longitude, String latitude, String toLongitude, String toLatitude, String serveTime){
|
public TravelPriceVo calcTravelPrice(Integer _travelType, BigDecimal freeKilometers, String longitude, String latitude, String toLongitude, String toLatitude, String serveTime){
|
||||||
|
|
|
@ -706,14 +706,16 @@
|
||||||
LEFT JOIN bl_user_package_detail bl ON bl.id = om.massage_id
|
LEFT JOIN bl_user_package_detail bl ON bl.id = om.massage_id
|
||||||
where o.artificer_id = #{artificerId}
|
where o.artificer_id = #{artificerId}
|
||||||
and o.old_orders_id is not null
|
and o.old_orders_id is not null
|
||||||
and o.status not in (4,11,15)
|
and o.status not in (11,15)
|
||||||
<if test="type==1">
|
<if test="type==1">
|
||||||
and date_format(o.serve_time,'%Y-%m-%d %H:%i') >= date_format(DATE_ADD(now(), INTERVAL -12 HOUR),'%Y-%m-%d %H:%i')
|
and date_format(o.serve_time,'%Y-%m-%d %H:%i') >= date_format(DATE_ADD(now(), INTERVAL -12 HOUR),'%Y-%m-%d %H:%i')
|
||||||
and date_format(o.serve_time,'%Y-%m-%d %H:%i') <= date_format(DATE_ADD(now(), INTERVAL 24 HOUR),'%Y-%m-%d %H:%i')
|
and date_format(o.serve_time,'%Y-%m-%d %H:%i') <= date_format(DATE_ADD(now(), INTERVAL 24 HOUR),'%Y-%m-%d %H:%i')
|
||||||
and o.status in (2,3,5,6,7,8,9)
|
and o.pay_time is not null
|
||||||
|
and o.status in (2,3,4,5,6,7,8,9)
|
||||||
</if>
|
</if>
|
||||||
<if test="type==2">
|
<if test="type==2">
|
||||||
and o.status in (2,6,7,8,9)
|
and o.status in (2,4,6,7,8,9)
|
||||||
|
and o.pay_time is not null
|
||||||
<if test="startTime!=null and startTime!=''">
|
<if test="startTime!=null and startTime!=''">
|
||||||
and date_format(o.serve_time,'%Y-%m-%d') >= date_format(#{startTime},'%Y-%m-%d')
|
and date_format(o.serve_time,'%Y-%m-%d') >= date_format(#{startTime},'%Y-%m-%d')
|
||||||
</if>
|
</if>
|
||||||
|
@ -731,7 +733,8 @@
|
||||||
</if>
|
</if>
|
||||||
</if>
|
</if>
|
||||||
<if test="type==4">
|
<if test="type==4">
|
||||||
and o.status in (2,3,5,6,7,8)
|
and o.status in (2,3,4,5,6,7,8)
|
||||||
|
and o.pay_time is not null
|
||||||
<if test="startTime!=null and startTime!=''">
|
<if test="startTime!=null and startTime!=''">
|
||||||
and date_format(o.serve_time,'%Y-%m-%d') >= date_format(#{startTime},'%Y-%m-%d')
|
and date_format(o.serve_time,'%Y-%m-%d') >= date_format(#{startTime},'%Y-%m-%d')
|
||||||
</if>
|
</if>
|
||||||
|
@ -757,20 +760,22 @@
|
||||||
and o.orders_id not in (
|
and o.orders_id not in (
|
||||||
select orders_id from orders
|
select orders_id from orders
|
||||||
where old_orders_id is not null
|
where old_orders_id is not null
|
||||||
and status != 4
|
and pay_time is not null
|
||||||
)
|
)
|
||||||
and o.orders_id not in (
|
and o.orders_id not in (
|
||||||
select old_orders_id from orders
|
select old_orders_id from orders
|
||||||
where old_orders_id is not null
|
where old_orders_id is not null
|
||||||
and status != 4
|
and pay_time is not null
|
||||||
)
|
)
|
||||||
<if test="type==1">
|
<if test="type==1">
|
||||||
and date_format(o.serve_time,'%Y-%m-%d %H:%i') >= date_format(DATE_ADD(now(), INTERVAL -12 HOUR),'%Y-%m-%d %H:%i')
|
and date_format(o.serve_time,'%Y-%m-%d %H:%i') >= date_format(DATE_ADD(now(), INTERVAL -12 HOUR),'%Y-%m-%d %H:%i')
|
||||||
and date_format(o.serve_time,'%Y-%m-%d %H:%i') <= date_format(DATE_ADD(now(), INTERVAL 24 HOUR),'%Y-%m-%d %H:%i')
|
and date_format(o.serve_time,'%Y-%m-%d %H:%i') <= date_format(DATE_ADD(now(), INTERVAL 24 HOUR),'%Y-%m-%d %H:%i')
|
||||||
and o.status in (2,3,5,6,7,8,9)
|
and o.status in (2,3,4,5,6,7,8,9)
|
||||||
|
and o.pay_time is not null
|
||||||
</if>
|
</if>
|
||||||
<if test="type==2">
|
<if test="type==2">
|
||||||
and o.status in (2,6,7,8,9)
|
and o.status in (2,4,6,7,8,9)
|
||||||
|
and o.pay_time is not null
|
||||||
<if test="startTime!=null and startTime!=''">
|
<if test="startTime!=null and startTime!=''">
|
||||||
and date_format(o.serve_time,'%Y-%m-%d') >= date_format(#{startTime},'%Y-%m-%d')
|
and date_format(o.serve_time,'%Y-%m-%d') >= date_format(#{startTime},'%Y-%m-%d')
|
||||||
</if>
|
</if>
|
||||||
|
@ -788,7 +793,8 @@
|
||||||
</if>
|
</if>
|
||||||
</if>
|
</if>
|
||||||
<if test="type==4">
|
<if test="type==4">
|
||||||
and o.status in (2,3,5,6,7,8)
|
and o.status in (2,3,4,5,6,7,8,9)
|
||||||
|
and o.pay_time is not null
|
||||||
<if test="startTime!=null and startTime!=''">
|
<if test="startTime!=null and startTime!=''">
|
||||||
and date_format(o.serve_time,'%Y-%m-%d') >= date_format(#{startTime},'%Y-%m-%d')
|
and date_format(o.serve_time,'%Y-%m-%d') >= date_format(#{startTime},'%Y-%m-%d')
|
||||||
</if>
|
</if>
|
||||||
|
@ -1736,6 +1742,12 @@
|
||||||
where parent_id = #{parentId}
|
where parent_id = #{parentId}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="getNewOrdersByOld" resultType="com.sqx.modules.artificer.entity.Orders">
|
||||||
|
select o.*
|
||||||
|
from orders o
|
||||||
|
where old_orders_id = #{ordersId}
|
||||||
|
</select>
|
||||||
|
|
||||||
<select id="selectSumRefund" resultType="java.math.BigDecimal">
|
<select id="selectSumRefund" resultType="java.math.BigDecimal">
|
||||||
select IFNULL(SUM(artificer_money),0) AS currentEarnings
|
select IFNULL(SUM(artificer_money),0) AS currentEarnings
|
||||||
from (
|
from (
|
||||||
|
|
|
@ -18,6 +18,9 @@
|
||||||
<if test="params.type!=null and params.type!=''">
|
<if test="params.type!=null and params.type!=''">
|
||||||
and m.type=#{params.type}
|
and m.type=#{params.type}
|
||||||
</if>
|
</if>
|
||||||
|
<if test="params.level!=null and params.level!=''">
|
||||||
|
and m.level=#{params.level}
|
||||||
|
</if>
|
||||||
<if test="params.classifyId!=null and params.classifyId!=''">
|
<if test="params.classifyId!=null and params.classifyId!=''">
|
||||||
and m.classify_id=#{params.classifyId}
|
and m.classify_id=#{params.classifyId}
|
||||||
</if>
|
</if>
|
||||||
|
|
|
@ -21,7 +21,8 @@
|
||||||
content_img,
|
content_img,
|
||||||
labels,
|
labels,
|
||||||
city,
|
city,
|
||||||
classify_id
|
classify_id,
|
||||||
|
level
|
||||||
from bl_user_package
|
from bl_user_package
|
||||||
where orders_id = #{ordersId}
|
where orders_id = #{ordersId}
|
||||||
order by id
|
order by id
|
||||||
|
@ -39,7 +40,8 @@
|
||||||
a.content_img,
|
a.content_img,
|
||||||
a.labels,
|
a.labels,
|
||||||
a.city,
|
a.city,
|
||||||
a.classify_id
|
a.classify_id,
|
||||||
|
a.level
|
||||||
from bl_massage_package a inner join bl_user_package_order_mapping b on a.id = b.package_id
|
from bl_massage_package a inner join bl_user_package_order_mapping b on a.id = b.package_id
|
||||||
where b.orders_id = #{ordersId}
|
where b.orders_id = #{ordersId}
|
||||||
order by a.id
|
order by a.id
|
||||||
|
@ -61,7 +63,8 @@
|
||||||
content_img,
|
content_img,
|
||||||
labels,
|
labels,
|
||||||
city,
|
city,
|
||||||
classify_id
|
classify_id,
|
||||||
|
level
|
||||||
)values(
|
)values(
|
||||||
#{userId},
|
#{userId},
|
||||||
#{packageId},
|
#{packageId},
|
||||||
|
@ -77,7 +80,8 @@
|
||||||
#{contentImg},
|
#{contentImg},
|
||||||
#{labels},
|
#{labels},
|
||||||
#{city},
|
#{city},
|
||||||
#{classifyId}
|
#{classifyId},
|
||||||
|
#{level}
|
||||||
)
|
)
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
|
@ -107,6 +111,7 @@
|
||||||
a.city,
|
a.city,
|
||||||
a.classify_id,
|
a.classify_id,
|
||||||
b.value as classifyName,
|
b.value as classifyName,
|
||||||
|
a.level,
|
||||||
c.sales,
|
c.sales,
|
||||||
c.esteem_rate,
|
c.esteem_rate,
|
||||||
(select count(*) from bl_user_package_detail d where d.main_id = a.id) as service_count
|
(select count(*) from bl_user_package_detail d where d.main_id = a.id) as service_count
|
||||||
|
@ -141,6 +146,7 @@
|
||||||
a.city,
|
a.city,
|
||||||
a.classify_id,
|
a.classify_id,
|
||||||
b.value as classifyName,
|
b.value as classifyName,
|
||||||
|
a.level,
|
||||||
c.sales,
|
c.sales,
|
||||||
c.esteem_rate,
|
c.esteem_rate,
|
||||||
(select count(*) from bl_user_package_detail d where d.main_id = a.id) as service_count
|
(select count(*) from bl_user_package_detail d where d.main_id = a.id) as service_count
|
||||||
|
|
|
@ -26,7 +26,8 @@
|
||||||
parent_id,
|
parent_id,
|
||||||
classify_id,
|
classify_id,
|
||||||
apply_people,
|
apply_people,
|
||||||
jianjie
|
jianjie,
|
||||||
|
level
|
||||||
from bl_user_package_detail
|
from bl_user_package_detail
|
||||||
where main_id = #{mainId}
|
where main_id = #{mainId}
|
||||||
</select>
|
</select>
|
||||||
|
@ -117,7 +118,8 @@
|
||||||
parent_id,
|
parent_id,
|
||||||
classify_id,
|
classify_id,
|
||||||
apply_people,
|
apply_people,
|
||||||
jianjie
|
jianjie,
|
||||||
|
level
|
||||||
)values(
|
)values(
|
||||||
#{mainId},
|
#{mainId},
|
||||||
#{packageDetailId},
|
#{packageDetailId},
|
||||||
|
@ -139,7 +141,8 @@
|
||||||
#{parentId},
|
#{parentId},
|
||||||
#{classifyId},
|
#{classifyId},
|
||||||
#{applyPeople},
|
#{applyPeople},
|
||||||
#{jianjie}
|
#{jianjie},
|
||||||
|
#{level}
|
||||||
)
|
)
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
|
@ -167,6 +170,7 @@
|
||||||
a.classify_id,
|
a.classify_id,
|
||||||
a.apply_people,
|
a.apply_people,
|
||||||
a.jianjie,
|
a.jianjie,
|
||||||
|
a.level,
|
||||||
m.sales
|
m.sales
|
||||||
from bl_user_package_detail a left join massage_type m on a.massage_type_id = m.massage_type_id
|
from bl_user_package_detail a left join massage_type m on a.massage_type_id = m.massage_type_id
|
||||||
where a.id = #{id}
|
where a.id = #{id}
|
||||||
|
@ -196,6 +200,7 @@
|
||||||
a.classify_id,
|
a.classify_id,
|
||||||
a.apply_people,
|
a.apply_people,
|
||||||
a.jianjie,
|
a.jianjie,
|
||||||
|
a.level,
|
||||||
m.sales
|
m.sales
|
||||||
from bl_user_package_detail a
|
from bl_user_package_detail a
|
||||||
left join massage_type m on a.massage_type_id = m.massage_type_id
|
left join massage_type m on a.massage_type_id = m.massage_type_id
|
||||||
|
|
Loading…
Reference in New Issue