套餐/次卡/疗程 车费 白天免费 夜间收费
This commit is contained in:
parent
247af4b65c
commit
64236e3179
|
@ -196,6 +196,13 @@ public class AppArtificerController {
|
|||
return ordersService.removeOrders(ordersId);
|
||||
}
|
||||
|
||||
@Login
|
||||
@PostMapping("/cancelOrdersMoney")
|
||||
@ApiOperation("取消订单扣钱")
|
||||
public Result cancelOrdersMoney(@RequestAttribute Long userId,Long ordersId){
|
||||
return ordersService.cancelOrdersMoney(userId,ordersId);
|
||||
}
|
||||
|
||||
@Login
|
||||
@PostMapping("/deleteOrders")
|
||||
@ApiOperation("取消订单")
|
||||
|
|
|
@ -144,6 +144,8 @@ public interface OrdersDao extends BaseMapper<Orders> {
|
|||
|
||||
List<Orders> getParentOrders(Long parentId);
|
||||
|
||||
List<Orders> getNewOrdersByOld(Long ordersId);
|
||||
|
||||
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 cancelOrdersMoney(Long userId,Long ordersId);
|
||||
|
||||
Result cancelOrders(Long userId,Long ordersId);
|
||||
|
||||
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.setTime(parse);
|
||||
String format = DateUtils.format(calendar.getTime(),"yyyy-MM-dd HH:mm");
|
||||
allTime.add(format);
|
||||
for (int j = 0; j < i; j++) {
|
||||
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);
|
||||
date = format.substring(0, 10);
|
||||
time = format.substring(11, 16);
|
||||
|
@ -997,8 +999,22 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
|
|||
|
||||
String value1 = commonInfoService.findOne(395).getValue();
|
||||
Integer tripWay = orders.getTripWay();
|
||||
|
||||
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) {
|
||||
String serveTime = orders.getServeTime();
|
||||
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")){
|
||||
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());
|
||||
// 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) {
|
||||
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;
|
||||
if (orders.getOrdersMassageList() != null) {
|
||||
|
@ -1253,7 +1285,16 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
|
|||
if (travelPriceVo == null) {
|
||||
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());
|
||||
taxiMoney = taxiMoney.setScale(2,BigDecimal.ROUND_HALF_UP);
|
||||
orders.setTaxiMoney(taxiMoney);
|
||||
|
@ -1390,7 +1431,7 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
|
|||
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())) {
|
||||
return Result.error("当前订单无法修改时间!");
|
||||
|
@ -1439,7 +1480,16 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
|
|||
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.setUserName(oldOrders.getUserName());
|
||||
|
@ -1929,7 +1979,7 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
|
|||
return Result.success().put("data", orders);
|
||||
}
|
||||
}
|
||||
if (oldOrders.getStatus() == 2 || oldOrders.getStatus() == 9) {
|
||||
if (oldOrders.getStatus() == 2 || oldOrders.getStatus() == 9 || xgd == 1) {
|
||||
//只能修改,技师和时间 (技师等级大于等于原单据等级)
|
||||
//判断是否是可修改,状态2 9
|
||||
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("暂不支持当前地址,请更换其他地址!");
|
||||
}
|
||||
|
||||
//删除未支付,无用的升级新单据
|
||||
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());
|
||||
taxiMoney = taxiMoney.setScale(2,BigDecimal.ROUND_HALF_UP);
|
||||
BigDecimal oldTaxiMoney = oldOrders.getTaxiMoney();
|
||||
|
@ -2366,11 +2427,113 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
|
|||
}
|
||||
return Result.error("此状态单据无法修改操作!");
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
return Result.error(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@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
|
||||
public Result cancelOrders(Long userId, Long ordersId) {
|
||||
Orders orders = baseMapper.selectById(ordersId);
|
||||
|
@ -2572,6 +2735,8 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
|
|||
BigDecimal artificerTaxiMoney = taxiMoneyDeduction;//扣车费
|
||||
BigDecimal pingTaxiMoney = BigDecimal.ZERO;
|
||||
BigDecimal artificerMoney = rate.multiply(artificer.getRate()); //技师获得扣款提成
|
||||
orders.setProjectBenefits(artificerMoney);
|
||||
BigDecimal pingMoney = massageMoneyDeduction.subtract(artificerMoney);//平台获得项目扣款
|
||||
|
||||
String taxi = commonInfoService.findOne(394).getValue();
|
||||
if ("是".equals(taxi)) {
|
||||
|
@ -2615,11 +2780,6 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
|
|||
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 oneUser = userService.queryByInvitationCode(user.getInviterCode());
|
||||
BigDecimal oneUserMoney = BigDecimal.ZERO;
|
||||
|
@ -2631,6 +2791,7 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
|
|||
}
|
||||
orders.setOneUserMoney(oneUserMoney);
|
||||
pingMoney = pingMoney.subtract(oneUserMoney);
|
||||
pingMoney = pingMoney.setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
orders.setPingMoney(pingMoney);
|
||||
|
||||
//分账
|
||||
|
@ -2810,6 +2971,16 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
|
|||
artificerService.updateById(artificer2);
|
||||
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());
|
||||
|
@ -2866,7 +3037,6 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
|
|||
}
|
||||
baseMapper.updateById(ordersOld);//原单暂变成挂单状态
|
||||
}
|
||||
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
|
@ -2886,9 +3056,9 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
|
|||
//车费扣款
|
||||
BigDecimal taxiMoneyDeduction = BigDecimal.ZERO;
|
||||
if(trafficRate.compareTo(BigDecimal.ZERO) == 0){
|
||||
taxiMoneyDeduction = orders.getTaxiMoney().multiply(trafficRate);
|
||||
}else{
|
||||
taxiMoneyDeduction = trafficDeduction;
|
||||
}else{
|
||||
taxiMoneyDeduction = orders.getTaxiMoney().multiply(trafficRate);
|
||||
}
|
||||
if(orders.getTaxiMoney().compareTo(taxiMoneyDeduction) < 0){
|
||||
taxiMoneyDeduction = orders.getTaxiMoney();
|
||||
|
@ -2948,6 +3118,14 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
|
|||
|
||||
BigDecimal sumMoney = taxiMoneyDeduction;//总扣费
|
||||
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;
|
||||
Artificer artificer = artificerService.getById(orders.getArtificerId());
|
||||
|
@ -2988,21 +3166,21 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
|
|||
orders.setSumArtificerMoney(artificerTaxiMoney);
|
||||
|
||||
//平台扣款
|
||||
BigDecimal pingMoney = orders.getPayMoney();
|
||||
pingMoney = pingMoney.subtract(artificerTaxiMoney);
|
||||
pingMoney = pingMoney.subtract(shopMoney);
|
||||
pingMoney = pingMoney.subtract(oneArtificerMoney);
|
||||
// BigDecimal pingMoney = orders.getPayMoney();
|
||||
// pingMoney = pingMoney.subtract(artificerTaxiMoney);
|
||||
// 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());
|
||||
}
|
||||
orders.setOneUserMoney(oneUserMoney);
|
||||
pingMoney = pingMoney.subtract(oneUserMoney);
|
||||
orders.setPingMoney(pingMoney);
|
||||
// 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());
|
||||
// }
|
||||
// orders.setOneUserMoney(oneUserMoney);
|
||||
// pingMoney = pingMoney.subtract(oneUserMoney);
|
||||
// orders.setPingMoney(pingMoney);
|
||||
|
||||
userMoneyService.updateMoney(1, artificerUser.getUserId(), orders.getSumArtificerMoney().doubleValue());
|
||||
userMoneyDetails = new UserMoneyDetails();
|
||||
|
@ -3103,6 +3281,16 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
|
|||
artificerService.updateById(artificer2);
|
||||
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());
|
||||
|
|
|
@ -112,6 +112,11 @@ public class MassagePackage implements Serializable {
|
|||
*/
|
||||
private Long classifyId;
|
||||
|
||||
/**
|
||||
* 等级 3新手 4专家 5资深
|
||||
*/
|
||||
private Integer level;
|
||||
|
||||
/**
|
||||
* 类型名称
|
||||
*/
|
||||
|
|
|
@ -125,6 +125,11 @@ public class UserPackage implements Serializable {
|
|||
*/
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 等级 3新手 4专家 5资深
|
||||
*/
|
||||
private Integer level;
|
||||
|
||||
/**
|
||||
* 次数
|
||||
*/
|
||||
|
|
|
@ -128,6 +128,11 @@ public class UserPackageDetail implements Serializable {
|
|||
*/
|
||||
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.scheduling.annotation.Scheduled;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.text.SimpleDateFormat;
|
||||
|
@ -279,6 +280,7 @@ public class UserPackageOrderServiceImpl extends ServiceImpl<UserPackageOrderDao
|
|||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public Result payOrder(Long ordersId) {
|
||||
try {
|
||||
UserPackageOrder orders = baseMapper.getById(ordersId);
|
||||
|
@ -350,6 +352,7 @@ public class UserPackageOrderServiceImpl extends ServiceImpl<UserPackageOrderDao
|
|||
userPackage.setLabels(massagePackage.getLabels());
|
||||
userPackage.setCity(massagePackage.getCity());
|
||||
userPackage.setClassifyId(massagePackage.getClassifyId());
|
||||
userPackage.setLevel(massagePackage.getLevel());
|
||||
userPackageService.insert(userPackage);
|
||||
Long mainId = userPackage.getId();
|
||||
//拆分插入用户服务器项目详情
|
||||
|
@ -361,6 +364,7 @@ public class UserPackageOrderServiceImpl extends ServiceImpl<UserPackageOrderDao
|
|||
UserPackageDetail upd = userPackageDetailList.get(j);
|
||||
upd.setMainId(mainId);
|
||||
upd.setCreateTime(simpleDateFormat.format(new Date()));
|
||||
upd.setLevel(massagePackage.getLevel());
|
||||
int serviceCount = upd.getServiceCount();
|
||||
for(int k=0;k<serviceCount;k++){
|
||||
userPackageDetailService.insert(upd);
|
||||
|
@ -373,6 +377,7 @@ public class UserPackageOrderServiceImpl extends ServiceImpl<UserPackageOrderDao
|
|||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
log.error("钱包支付服务包订单异常:" + e.getMessage(), e);
|
||||
return Result.error();
|
||||
}
|
||||
return Result.success();
|
||||
}
|
||||
|
|
|
@ -802,10 +802,14 @@ public class AliPayController {
|
|||
|
||||
UserMoneyDetails userMoneyDetails = new UserMoneyDetails();
|
||||
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.setContent("订单号:" + orders.getOrdersNo() + ",已经下单成功!");
|
||||
userMoneyDetails.setTitle("支付服务包订单");
|
||||
userMoneyDetails.setTitle("支付服订单");
|
||||
userMoneyDetails.setType(2);
|
||||
userMoneyDetails.setState(2);
|
||||
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.setCity(massagePackage.getCity());
|
||||
userPackage.setClassifyId(massagePackage.getClassifyId());
|
||||
userPackage.setLevel(massagePackage.getLevel());
|
||||
userPackageService.insert(userPackage);
|
||||
Long mainId = userPackage.getId();
|
||||
//拆分插入用户服务器项目详情
|
||||
|
@ -1121,6 +1126,7 @@ public class AliPayController {
|
|||
UserPackageDetail upd = userPackageDetailList.get(j);
|
||||
upd.setMainId(mainId);
|
||||
upd.setCreateTime(sdf.format(new Date()));
|
||||
upd.setLevel(massagePackage.getLevel());
|
||||
int serviceCount = upd.getServiceCount();
|
||||
for(int k=0;k<serviceCount;k++){
|
||||
userPackageDetailService.insert(upd);
|
||||
|
@ -1288,30 +1294,34 @@ public class AliPayController {
|
|||
}
|
||||
}
|
||||
|
||||
//通知页面地址
|
||||
CommonInfo one = commonInfoService.findOne(19);
|
||||
String returnUrl = one.getValue() + "/#/pages/task/recharge";
|
||||
CommonInfo one3 = commonInfoService.findOne(12);
|
||||
String name = one3.getValue();
|
||||
PayDetails payDetails1 = payDetailsDao.selectByOrderId(orders.getOrdersNo());
|
||||
if(payDetails1==null){
|
||||
PayDetails payDetails = new PayDetails();
|
||||
payDetails.setState(0);
|
||||
payDetails.setCreateTime(sdf.format(new Date()));
|
||||
payDetails.setOrderId(orders.getOrdersNo());
|
||||
payDetails.setUserId(orders.getUserId());
|
||||
if(orders.getUserPackageDetailId() !=null ){
|
||||
payDetails.setMoney(orders.getTaxiMoney().doubleValue());
|
||||
}else{
|
||||
payDetails.setMoney(orders.getPayMoney().doubleValue());
|
||||
String isTravelFree = commonInfoService.findOne(460).getValue();
|
||||
if(isTravelFree.equals("是")){
|
||||
payPackageOrderResult(orders.getOrdersNo());
|
||||
}else {
|
||||
//通知页面地址
|
||||
CommonInfo one = commonInfoService.findOne(19);
|
||||
String returnUrl = one.getValue() + "/#/pages/task/recharge";
|
||||
CommonInfo one3 = commonInfoService.findOne(12);
|
||||
String name = one3.getValue();
|
||||
PayDetails payDetails1 = payDetailsDao.selectByOrderId(orders.getOrdersNo());
|
||||
if (payDetails1 == null) {
|
||||
PayDetails payDetails = new PayDetails();
|
||||
payDetails.setState(0);
|
||||
payDetails.setCreateTime(sdf.format(new Date()));
|
||||
payDetails.setOrderId(orders.getOrdersNo());
|
||||
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(orders.getUserPackageDetailId() !=null ){
|
||||
// return payApp(name, orders.getOrdersNo(), orders.getTaxiMoney().doubleValue());
|
||||
|
@ -1325,9 +1335,248 @@ public class AliPayController {
|
|||
// return payH5(name, orders.getOrdersNo(), orders.getPayMoney().doubleValue(), returnUrl);
|
||||
// }
|
||||
// }
|
||||
payOrderResult(orders.getOrdersNo());
|
||||
payOrderResult(orders.getOrdersNo());
|
||||
}
|
||||
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
|
||||
|
@ -1736,10 +1985,14 @@ public class AliPayController {
|
|||
|
||||
UserMoneyDetails userMoneyDetails = new UserMoneyDetails();
|
||||
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.setContent("订单号:" + orders.getOrdersNo() + ",已经下单成功!");
|
||||
userMoneyDetails.setTitle("支付服务包订单");
|
||||
userMoneyDetails.setTitle("支付订单");
|
||||
userMoneyDetails.setType(2);
|
||||
userMoneyDetails.setState(2);
|
||||
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.setCity(massagePackage.getCity());
|
||||
userPackage.setClassifyId(massagePackage.getClassifyId());
|
||||
userPackage.setLevel(massagePackage.getLevel());
|
||||
userPackageService.insert(userPackage);
|
||||
Long mainId = userPackage.getId();
|
||||
//拆分插入用户服务器项目详情
|
||||
|
@ -2057,6 +2311,7 @@ public class AliPayController {
|
|||
UserPackageDetail upd = userPackageDetailList.get(j);
|
||||
upd.setMainId(mainId);
|
||||
upd.setCreateTime(sdf.format(new Date()));
|
||||
upd.setLevel(massagePackage.getLevel());
|
||||
int serviceCount = upd.getServiceCount();
|
||||
for(int k=0;k<serviceCount;k++){
|
||||
userPackageDetailService.insert(upd);
|
||||
|
|
|
@ -644,31 +644,36 @@ public class WxServiceImpl implements WxService {
|
|||
}
|
||||
}
|
||||
|
||||
PayDetails payDetails1 = payDetailsDao.selectByOrderId(orders.getOrdersNo());
|
||||
if(payDetails1==null){
|
||||
PayDetails payDetails = new PayDetails();
|
||||
payDetails.setState(0);
|
||||
payDetails.setCreateTime(sdf.format(new Date()));
|
||||
payDetails.setOrderId(orders.getOrdersNo());
|
||||
payDetails.setUserId(orders.getUserId());
|
||||
if(orders.getUserPackageDetailId() !=null ){
|
||||
payDetails.setMoney(orders.getTaxiMoney().doubleValue());
|
||||
}else{
|
||||
payDetails.setMoney(orders.getPayMoney().doubleValue());
|
||||
String isTravelFree = commonInfoService.findOne(460).getValue();
|
||||
if(isTravelFree.equals("是")){
|
||||
payPackageOrderResult(orders.getOrdersNo(),classify);
|
||||
}else {
|
||||
PayDetails payDetails1 = payDetailsDao.selectByOrderId(orders.getOrdersNo());
|
||||
if (payDetails1 == null) {
|
||||
PayDetails payDetails = new PayDetails();
|
||||
payDetails.setState(0);
|
||||
payDetails.setCreateTime(sdf.format(new Date()));
|
||||
payDetails.setOrderId(orders.getOrdersNo());
|
||||
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 ){
|
||||
// return pay(orders.getTaxiMoney().doubleValue(), classify, orders.getUserId(), orders.getOrdersNo(),request);
|
||||
// }else{
|
||||
// return pay(orders.getPayMoney().doubleValue(), classify, orders.getUserId(), orders.getOrdersNo(),request);
|
||||
// }
|
||||
payOrderResult(orders.getOrdersNo());
|
||||
payOrderResult(orders.getOrdersNo());
|
||||
}
|
||||
return Result.success();
|
||||
|
||||
}
|
||||
|
@ -687,7 +692,7 @@ public class WxServiceImpl implements WxService {
|
|||
}
|
||||
|
||||
PayDetails payDetails1 = payDetailsDao.selectByOrderId(orders.getOrdersNo());
|
||||
if(payDetails1==null){
|
||||
if (payDetails1 == null) {
|
||||
PayDetails payDetails = new PayDetails();
|
||||
payDetails.setState(0);
|
||||
payDetails.setCreateTime(sdf.format(new Date()));
|
||||
|
@ -697,13 +702,249 @@ public class WxServiceImpl implements WxService {
|
|||
payDetails.setClassify(classify);
|
||||
payDetails.setType(7);
|
||||
payDetailsDao.insert(payDetails);
|
||||
}else{
|
||||
} else {
|
||||
payDetails1.setClassify(classify);
|
||||
payDetails1.setType(7);
|
||||
payDetailsDao.updateById(payDetails1);
|
||||
}
|
||||
// return pay(orders.getPayMoney().doubleValue(), classify, orders.getUserId(), orders.getOrdersNo(),request);
|
||||
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();
|
||||
}
|
||||
|
||||
|
@ -1326,10 +1567,14 @@ public class WxServiceImpl implements WxService {
|
|||
|
||||
UserMoneyDetails userMoneyDetails = new UserMoneyDetails();
|
||||
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.setContent("订单号:" + orders.getOrdersNo() + ",已经下单成功!");
|
||||
userMoneyDetails.setTitle("支付服务包订单");
|
||||
userMoneyDetails.setTitle("支付订单");
|
||||
userMoneyDetails.setType(2);
|
||||
userMoneyDetails.setState(2);
|
||||
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.setCity(massagePackage.getCity());
|
||||
userPackage.setClassifyId(massagePackage.getClassifyId());
|
||||
userPackage.setLevel(massagePackage.getLevel());
|
||||
userPackageService.insert(userPackage);
|
||||
Long mainId = userPackage.getId();
|
||||
//拆分插入用户服务器项目详情
|
||||
|
@ -1646,6 +1892,7 @@ public class WxServiceImpl implements WxService {
|
|||
UserPackageDetail upd = userPackageDetailList.get(j);
|
||||
upd.setMainId(mainId);
|
||||
upd.setCreateTime(sdf.format(new Date()));
|
||||
upd.setLevel(massagePackage.getLevel());
|
||||
int serviceCount = upd.getServiceCount();
|
||||
for(int k=0;k<serviceCount;k++){
|
||||
userPackageDetailService.insert(upd);
|
||||
|
@ -1968,10 +2215,14 @@ public class WxServiceImpl implements WxService {
|
|||
|
||||
UserMoneyDetails userMoneyDetails = new UserMoneyDetails();
|
||||
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.setContent("订单号:" + orders.getOrdersNo() + ",已经下单成功!");
|
||||
userMoneyDetails.setTitle("支付服务包订单");
|
||||
userMoneyDetails.setTitle("支付订单");
|
||||
userMoneyDetails.setType(2);
|
||||
userMoneyDetails.setState(2);
|
||||
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.setCity(massagePackage.getCity());
|
||||
userPackage.setClassifyId(massagePackage.getClassifyId());
|
||||
userPackage.setLevel(massagePackage.getLevel());
|
||||
userPackageService.insert(userPackage);
|
||||
Long mainId = userPackage.getId();
|
||||
//拆分插入用户服务器项目详情
|
||||
|
@ -2288,6 +2540,7 @@ public class WxServiceImpl implements WxService {
|
|||
UserPackageDetail upd = userPackageDetailList.get(j);
|
||||
upd.setMainId(mainId);
|
||||
upd.setCreateTime(sdf.format(new Date()));
|
||||
upd.setLevel(massagePackage.getLevel());
|
||||
int serviceCount = upd.getServiceCount();
|
||||
for(int k=0;k<serviceCount;k++){
|
||||
userPackageDetailService.insert(upd);
|
||||
|
|
|
@ -36,6 +36,7 @@ public interface TravelConfService extends IService<TravelConf> {
|
|||
* @return
|
||||
*/
|
||||
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);
|
||||
|
||||
/**
|
||||
|
|
|
@ -221,6 +221,15 @@ public class TravelConfServiceImpl extends ServiceImpl<TravelConfDao, TravelConf
|
|||
String latitude = artificerInfo.getLatitude();
|
||||
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
|
||||
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
|
||||
where o.artificer_id = #{artificerId}
|
||||
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">
|
||||
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 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 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!=''">
|
||||
and date_format(o.serve_time,'%Y-%m-%d') >= date_format(#{startTime},'%Y-%m-%d')
|
||||
</if>
|
||||
|
@ -731,7 +733,8 @@
|
|||
</if>
|
||||
</if>
|
||||
<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!=''">
|
||||
and date_format(o.serve_time,'%Y-%m-%d') >= date_format(#{startTime},'%Y-%m-%d')
|
||||
</if>
|
||||
|
@ -757,20 +760,22 @@
|
|||
and o.orders_id not in (
|
||||
select orders_id from orders
|
||||
where old_orders_id is not null
|
||||
and status != 4
|
||||
and pay_time is not null
|
||||
)
|
||||
and o.orders_id not in (
|
||||
select old_orders_id from orders
|
||||
where old_orders_id is not null
|
||||
and status != 4
|
||||
and pay_time is not null
|
||||
)
|
||||
<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 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 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!=''">
|
||||
and date_format(o.serve_time,'%Y-%m-%d') >= date_format(#{startTime},'%Y-%m-%d')
|
||||
</if>
|
||||
|
@ -788,7 +793,8 @@
|
|||
</if>
|
||||
</if>
|
||||
<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!=''">
|
||||
and date_format(o.serve_time,'%Y-%m-%d') >= date_format(#{startTime},'%Y-%m-%d')
|
||||
</if>
|
||||
|
@ -1736,6 +1742,12 @@
|
|||
where parent_id = #{parentId}
|
||||
</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 IFNULL(SUM(artificer_money),0) AS currentEarnings
|
||||
from (
|
||||
|
|
|
@ -18,6 +18,9 @@
|
|||
<if test="params.type!=null and params.type!=''">
|
||||
and m.type=#{params.type}
|
||||
</if>
|
||||
<if test="params.level!=null and params.level!=''">
|
||||
and m.level=#{params.level}
|
||||
</if>
|
||||
<if test="params.classifyId!=null and params.classifyId!=''">
|
||||
and m.classify_id=#{params.classifyId}
|
||||
</if>
|
||||
|
|
|
@ -21,7 +21,8 @@
|
|||
content_img,
|
||||
labels,
|
||||
city,
|
||||
classify_id
|
||||
classify_id,
|
||||
level
|
||||
from bl_user_package
|
||||
where orders_id = #{ordersId}
|
||||
order by id
|
||||
|
@ -39,7 +40,8 @@
|
|||
a.content_img,
|
||||
a.labels,
|
||||
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
|
||||
where b.orders_id = #{ordersId}
|
||||
order by a.id
|
||||
|
@ -61,7 +63,8 @@
|
|||
content_img,
|
||||
labels,
|
||||
city,
|
||||
classify_id
|
||||
classify_id,
|
||||
level
|
||||
)values(
|
||||
#{userId},
|
||||
#{packageId},
|
||||
|
@ -77,7 +80,8 @@
|
|||
#{contentImg},
|
||||
#{labels},
|
||||
#{city},
|
||||
#{classifyId}
|
||||
#{classifyId},
|
||||
#{level}
|
||||
)
|
||||
</insert>
|
||||
|
||||
|
@ -107,6 +111,7 @@
|
|||
a.city,
|
||||
a.classify_id,
|
||||
b.value as classifyName,
|
||||
a.level,
|
||||
c.sales,
|
||||
c.esteem_rate,
|
||||
(select count(*) from bl_user_package_detail d where d.main_id = a.id) as service_count
|
||||
|
@ -141,6 +146,7 @@
|
|||
a.city,
|
||||
a.classify_id,
|
||||
b.value as classifyName,
|
||||
a.level,
|
||||
c.sales,
|
||||
c.esteem_rate,
|
||||
(select count(*) from bl_user_package_detail d where d.main_id = a.id) as service_count
|
||||
|
|
|
@ -26,7 +26,8 @@
|
|||
parent_id,
|
||||
classify_id,
|
||||
apply_people,
|
||||
jianjie
|
||||
jianjie,
|
||||
level
|
||||
from bl_user_package_detail
|
||||
where main_id = #{mainId}
|
||||
</select>
|
||||
|
@ -117,7 +118,8 @@
|
|||
parent_id,
|
||||
classify_id,
|
||||
apply_people,
|
||||
jianjie
|
||||
jianjie,
|
||||
level
|
||||
)values(
|
||||
#{mainId},
|
||||
#{packageDetailId},
|
||||
|
@ -139,7 +141,8 @@
|
|||
#{parentId},
|
||||
#{classifyId},
|
||||
#{applyPeople},
|
||||
#{jianjie}
|
||||
#{jianjie},
|
||||
#{level}
|
||||
)
|
||||
</insert>
|
||||
|
||||
|
@ -167,6 +170,7 @@
|
|||
a.classify_id,
|
||||
a.apply_people,
|
||||
a.jianjie,
|
||||
a.level,
|
||||
m.sales
|
||||
from bl_user_package_detail a left join massage_type m on a.massage_type_id = m.massage_type_id
|
||||
where a.id = #{id}
|
||||
|
@ -196,6 +200,7 @@
|
|||
a.classify_id,
|
||||
a.apply_people,
|
||||
a.jianjie,
|
||||
a.level,
|
||||
m.sales
|
||||
from bl_user_package_detail a
|
||||
left join massage_type m on a.massage_type_id = m.massage_type_id
|
||||
|
|
Loading…
Reference in New Issue