diff --git a/src/main/java/com/sqx/modules/artificer/service/impl/OrdersServiceImpl.java b/src/main/java/com/sqx/modules/artificer/service/impl/OrdersServiceImpl.java index aa7fa05..ba63947 100644 --- a/src/main/java/com/sqx/modules/artificer/service/impl/OrdersServiceImpl.java +++ b/src/main/java/com/sqx/modules/artificer/service/impl/OrdersServiceImpl.java @@ -1662,149 +1662,162 @@ public class OrdersServiceImpl extends ServiceImpl implements private Result cancelSupplementMassageOrders(Long userId, Orders orders, Integer isAuto, Integer type) { if(type == 1){ - //退车费或扣车费,成为待补单 - SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - String time = simpleDateFormat.format(new Date()); - //退款金额 - BigDecimal userMoney = BigDecimal.ZERO; - UserMoneyDetails userMoneyDetails = new UserMoneyDetails(); - if(isAuto == 0){ - //退款车费 - userMoney = orders.getTaxiMoney(); - if (orders.getPayWay() == 1 || orders.getPayWay() == 2 || orders.getPayWay() == 3 || orders.getPayWay() == 4) { - boolean refund = wxService.refund(orders.getOrdersNo(), orders.getPayMoney(), userMoney, orders.getPayWay()); - if (!refund) { - return Result.error("退款失败,请联系客服!"); - } - userMoneyDetails.setManipulateType(1); - userMoneyDetails.setBlFlag(2); - } else if (orders.getPayWay() == 6) { - String data = aliPayController.alipayRefund(orders.getOrdersNo(), userMoney); - if (StringUtils.isNotBlank(data)) { - log.error(data); - JSONObject jsonObject = JSON.parseObject(data); - JSONObject alipay_trade_refund_response = jsonObject.getJSONObject("alipay_trade_refund_response"); - String code1 = alipay_trade_refund_response.getString("code"); - if (!"10000".equals(code1)) { - return Result.error("退款失败!" + alipay_trade_refund_response.getString("sub_msg")); + if(orders.getTaxiMoney().compareTo(BigDecimal.ZERO) != 0){ + //退车费或扣车费,成为待补单 + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String time = simpleDateFormat.format(new Date()); + //退款金额 + BigDecimal userMoney = BigDecimal.ZERO; + UserMoneyDetails userMoneyDetails = new UserMoneyDetails(); + if(isAuto == 0){ + //退款车费 + userMoney = orders.getTaxiMoney(); + if (orders.getPayWay() == 1 || orders.getPayWay() == 2 || orders.getPayWay() == 3 || orders.getPayWay() == 4) { + boolean refund = wxService.refund(orders.getOrdersNo(), orders.getPayMoney(), userMoney, orders.getPayWay()); + if (!refund) { + return Result.error("退款失败,请联系客服!"); } + userMoneyDetails.setManipulateType(1); + userMoneyDetails.setBlFlag(2); + } else if (orders.getPayWay() == 6) { + String data = aliPayController.alipayRefund(orders.getOrdersNo(), userMoney); + if (StringUtils.isNotBlank(data)) { + log.error(data); + JSONObject jsonObject = JSON.parseObject(data); + JSONObject alipay_trade_refund_response = jsonObject.getJSONObject("alipay_trade_refund_response"); + String code1 = alipay_trade_refund_response.getString("code"); + if (!"10000".equals(code1)) { + return Result.error("退款失败!" + alipay_trade_refund_response.getString("sub_msg")); + } + } else { + return Result.error("退款失败!"); + } + userMoneyDetails.setManipulateType(1); + userMoneyDetails.setBlFlag(2); } else { - return Result.error("退款失败!"); + userMoneyService.updateMoney(1, orders.getUserId(), userMoney.doubleValue()); + //查询用户当前余额 + UserMoney userNowMoney = userMoneyService.selectUserMoneyByUserId(orders.getUserId()); + //插入余额 + userMoneyDetails.setBalance(userNowMoney.getMoney()); + //插入操作类型为已操作用户余额 + userMoneyDetails.setManipulateType(2); + userMoneyDetails.setBlFlag(1); } - userMoneyDetails.setManipulateType(1); - userMoneyDetails.setBlFlag(2); - } else { - userMoneyService.updateMoney(1, orders.getUserId(), userMoney.doubleValue()); + userMoneyDetails.setMoney(userMoney); + userMoneyDetails.setUserId(orders.getUserId()); + userMoneyDetails.setContent("订单号:" + orders.getOrdersNo() + ",车费已原路退款!"); + userMoneyDetails.setTitle("订单退款"); + userMoneyDetails.setType(1); + userMoneyDetails.setCreateTime(time); + userMoneyDetails.setArtificerId(orders.getArtificerId()); + userMoneyDetails.setBlRole(1); + userMoneyDetailsService.save(userMoneyDetails); + + Artificer artificer2 = artificerService.getById(orders.getArtificerId()); + if (userId != null && artificer2.getUserId().equals(userId)) { + BigDecimal newCreditScore = BigDecimal.ZERO; + MessageInfo messageInfo = new MessageInfo(); + messageInfo.setState("8"); + messageInfo.setUserId(String.valueOf(artificer2.getUserId())); + messageInfo.setTitle("转待补单订单:" + orders.getOrdersNo()); + String value1 = commonInfoService.findOne(384).getValue(); + BigDecimal creditScore = new BigDecimal(value1); + newCreditScore = artificer2.getCreditScore().subtract(creditScore); + messageInfo.setContent("扣除信誉分:" + creditScore); + artificer2.setCreditScore(newCreditScore); + String value2 = commonInfoService.findOne(385).getValue(); + BigDecimal minScore = new BigDecimal(value2); + if (artificer2.getCreditScore().doubleValue() < minScore.doubleValue()) { + artificer2.setStatus(2); + } + artificerService.updateById(artificer2); + messageService.saveBody(messageInfo); + } + + UserEntity userEntity = userService.selectUserById(orders.getUserId()); + //超过十个字 则截取 + String content = "订单:"+orders.getOrdersNo()+",转为待补单"; + //消息推送 + if (StringUtils.isNotEmpty(userEntity.getOpenId())) { + CommonInfo one = commonInfoService.findOne(248); + List msgList = new ArrayList<>(); + msgList.add(orders.getOrdersNo()); + msgList.add(content); + msgList.add("车费已原路退还!"); + SenInfoCheckUtil.sendMsg(userEntity.getOpenId(), one.getValue(), msgList, 2); + } + + if (StringUtils.isNotEmpty(userEntity.getClientid())) { + userService.pushToSingle("订单通知", "订单已转为,车费已原路退还!", userEntity.getClientid()); + } + + if (StringUtils.isNotBlank(userEntity.getWxOpenId())) { + String apkey = commonInfoService.findOne(313).getValue(); + LinkedHashMap data = new LinkedHashMap<>(); + data.put("character_string12", new TemplateMessageItem(orders.getOrdersNo(), "#d71345")); + data.put("thing17", new TemplateMessageItem(content, "#d71345")); + data.put("time14", new TemplateMessageItem(DateUtils.format(new Date()), "#d71345")); + userService.sendWxMessage(apkey, data, userEntity.getWxOpenId()); + } + + } + if(isAuto == 1){ + //按照比例 将扣除的车费钱 + BigDecimal taxiMoney = orders.getTaxiMoney(); + BigDecimal sumMoney = orders.getTaxiMoney();//总扣费 + Artificer artificer = artificerService.getById(orders.getArtificerId()); + BigDecimal artificerTaxiMoney = orders.getTaxiMoney();//扣车费 + BigDecimal pingTaxiMoney = BigDecimal.ZERO; + + String taxi = commonInfoService.findOne(394).getValue(); + if ("是".equals(taxi)) { + artificerTaxiMoney = taxiMoney.multiply(artificer.getRate()); + pingTaxiMoney = taxiMoney.subtract(artificerTaxiMoney); + } + UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); + + orders.setShopMoney(BigDecimal.ZERO); + orders.setArtificerMoney(BigDecimal.ZERO); + orders.setSumArtificerMoney(sumMoney.setScale(2, BigDecimal.ROUND_DOWN)); + orders.setOneUserMoney(BigDecimal.ZERO); + orders.setOneArtificerMoney(BigDecimal.ZERO); + orders.setPingMoney(BigDecimal.ZERO); + orders.setArtificerTaxiMoney(artificerTaxiMoney.setScale(2, BigDecimal.ROUND_DOWN)); + orders.setPingTaxiMoney(pingTaxiMoney.setScale(2, BigDecimal.ROUND_DOWN)); + + userMoneyService.updateMoney(1, artificerUser.getUserId(), orders.getSumArtificerMoney().doubleValue()); + userMoneyDetails = new UserMoneyDetails(); //查询用户当前余额 - UserMoney userNowMoney = userMoneyService.selectUserMoneyByUserId(orders.getUserId()); + UserMoney userNowMoney1 = userMoneyService.selectUserMoneyByUserId(artificerUser.getUserId()); //插入余额 - userMoneyDetails.setBalance(userNowMoney.getMoney()); + userMoneyDetails.setBalance(userNowMoney1.getMoney()); //插入操作类型为已操作用户余额 userMoneyDetails.setManipulateType(2); + userMoneyDetails.setMoney(orders.getSumArtificerMoney()); + userMoneyDetails.setUserId(artificerUser.getUserId()); + userMoneyDetails.setTitle("订单号:" + orders.getOrdersNo() + ",订单超时转为待补单!"); + userMoneyDetails.setContent("用户订单超时转为待补单,总扣除:" + sumMoney + ",到账总金额:" + orders.getSumArtificerMoney()); + userMoneyDetails.setType(1); + userMoneyDetails.setCreateTime(simpleDateFormat.format(new Date())); + userMoneyDetails.setBlRole(2); userMoneyDetails.setBlFlag(1); - } - userMoneyDetails.setMoney(userMoney); - userMoneyDetails.setUserId(orders.getUserId()); - userMoneyDetails.setContent("订单号:" + orders.getOrdersNo() + ",车费已原路退款!"); - userMoneyDetails.setTitle("订单退款"); - userMoneyDetails.setType(1); - userMoneyDetails.setCreateTime(time); - userMoneyDetails.setArtificerId(orders.getArtificerId()); - userMoneyDetails.setBlRole(1); - userMoneyDetailsService.save(userMoneyDetails); - - Artificer artificer2 = artificerService.getById(orders.getArtificerId()); - if (userId != null && artificer2.getUserId().equals(userId)) { - BigDecimal newCreditScore = BigDecimal.ZERO; - MessageInfo messageInfo = new MessageInfo(); - messageInfo.setState("8"); - messageInfo.setUserId(String.valueOf(artificer2.getUserId())); - messageInfo.setTitle("转待补单订单:" + orders.getOrdersNo()); - String value1 = commonInfoService.findOne(384).getValue(); - BigDecimal creditScore = new BigDecimal(value1); - newCreditScore = artificer2.getCreditScore().subtract(creditScore); - messageInfo.setContent("扣除信誉分:" + creditScore); - artificer2.setCreditScore(newCreditScore); - String value2 = commonInfoService.findOne(385).getValue(); - BigDecimal minScore = new BigDecimal(value2); - if (artificer2.getCreditScore().doubleValue() < minScore.doubleValue()) { - artificer2.setStatus(2); - } - artificerService.updateById(artificer2); - messageService.saveBody(messageInfo); - } - - UserEntity userEntity = userService.selectUserById(orders.getUserId()); - //超过十个字 则截取 - String content = "订单:"+orders.getOrdersNo()+",转为待补单"; - //消息推送 - if (StringUtils.isNotEmpty(userEntity.getOpenId())) { - CommonInfo one = commonInfoService.findOne(248); - List msgList = new ArrayList<>(); - msgList.add(orders.getOrdersNo()); - msgList.add(content); - msgList.add("车费已原路退还!"); - SenInfoCheckUtil.sendMsg(userEntity.getOpenId(), one.getValue(), msgList, 2); - } - - if (StringUtils.isNotEmpty(userEntity.getClientid())) { - userService.pushToSingle("订单通知", "订单已转为,车费已原路退还!", userEntity.getClientid()); - } - - if (StringUtils.isNotBlank(userEntity.getWxOpenId())) { - String apkey = commonInfoService.findOne(313).getValue(); - LinkedHashMap data = new LinkedHashMap<>(); - data.put("character_string12", new TemplateMessageItem(orders.getOrdersNo(), "#d71345")); - data.put("thing17", new TemplateMessageItem(content, "#d71345")); - data.put("time14", new TemplateMessageItem(DateUtils.format(new Date()), "#d71345")); - userService.sendWxMessage(apkey, data, userEntity.getWxOpenId()); + userMoneyDetailsService.save(userMoneyDetails); } } - if(isAuto == 1){ - //按照比例 将扣除的车费钱 - BigDecimal taxiMoney = orders.getTaxiMoney(); - BigDecimal sumMoney = orders.getTaxiMoney();//总扣费 - Artificer artificer = artificerService.getById(orders.getArtificerId()); - BigDecimal artificerTaxiMoney = orders.getTaxiMoney();//扣车费 - BigDecimal pingTaxiMoney = BigDecimal.ZERO; - - String taxi = commonInfoService.findOne(394).getValue(); - if ("是".equals(taxi)) { - artificerTaxiMoney = taxiMoney.multiply(artificer.getRate()); - pingTaxiMoney = taxiMoney.subtract(artificerTaxiMoney); - } - UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); - - orders.setShopMoney(BigDecimal.ZERO); - orders.setArtificerMoney(BigDecimal.ZERO); - orders.setSumArtificerMoney(sumMoney.setScale(2, BigDecimal.ROUND_DOWN)); - orders.setOneUserMoney(BigDecimal.ZERO); - orders.setOneArtificerMoney(BigDecimal.ZERO); - orders.setPingMoney(BigDecimal.ZERO); - orders.setArtificerTaxiMoney(artificerTaxiMoney.setScale(2, BigDecimal.ROUND_DOWN)); - orders.setPingTaxiMoney(pingTaxiMoney.setScale(2, BigDecimal.ROUND_DOWN)); - - userMoneyService.updateMoney(1, artificerUser.getUserId(), orders.getSumArtificerMoney().doubleValue()); - userMoneyDetails = new UserMoneyDetails(); - //查询用户当前余额 - UserMoney userNowMoney1 = userMoneyService.selectUserMoneyByUserId(artificerUser.getUserId()); - //插入余额 - userMoneyDetails.setBalance(userNowMoney1.getMoney()); - //插入操作类型为已操作用户余额 - userMoneyDetails.setManipulateType(2); - userMoneyDetails.setMoney(orders.getSumArtificerMoney()); - userMoneyDetails.setUserId(artificerUser.getUserId()); - userMoneyDetails.setTitle("订单号:" + orders.getOrdersNo() + ",订单超时转为待补单!"); - userMoneyDetails.setContent("用户订单超时转为待补单,总扣除:" + sumMoney + ",到账总金额:" + orders.getSumArtificerMoney()); - userMoneyDetails.setType(1); - userMoneyDetails.setCreateTime(simpleDateFormat.format(new Date())); - userMoneyDetails.setBlRole(2); - userMoneyDetails.setBlFlag(1); - userMoneyDetailsService.save(userMoneyDetails); + if(orders.getOldOrdersId() !=null){ + //此笔单子退车费,并改为取消,再将原单改成待补单 + orders.setRefusalContent(""); + orders.setTaxiMoney(BigDecimal.ZERO); + orders.setStatus(4); + baseMapper.updateById(orders); + cancelSupplementOrders(userId, orders.getOldOrdersId(), isAuto, 1);//退原单,原单的车费已被退/扣,所以只退项目 + }else{ + orders.setRefusalContent(""); + orders.setTaxiMoney(BigDecimal.ZERO); + orders.setStatus(10); + baseMapper.updateById(orders); } - orders.setRefusalContent(""); - orders.setStatus(10); - baseMapper.updateById(orders); } if(type == 2){ //退项目费 @@ -2034,7 +2047,7 @@ public class OrdersServiceImpl extends ServiceImpl implements } if(orders.getOldOrdersId()!=null){ - cancelSupplementOrders(userId, orders.getOldOrdersId(), 0, 2);//退原单,原单的车费已被退/扣,所以只退项目 + cancelSupplementOrders(userId, orders.getOldOrdersId(), isAuto, 2);//退原单,原单的车费已被退/扣,所以只退项目 } } return Result.success(); @@ -2042,149 +2055,161 @@ public class OrdersServiceImpl extends ServiceImpl implements private Result cancelSupplementPackageOrders(Long userId, Orders orders, Integer isAuto, Integer type) { if(type == 1){ - //退车费或扣车费,成为待补单 - SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - String time = simpleDateFormat.format(new Date()); - //退款金额 - BigDecimal userMoney = BigDecimal.ZERO; - UserMoneyDetails userMoneyDetails = new UserMoneyDetails(); - if(isAuto == 0){ - //退款车费 - userMoney = orders.getTaxiMoney(); - if (orders.getPayWay() == 1 || orders.getPayWay() == 2 || orders.getPayWay() == 3 || orders.getPayWay() == 4) { - boolean refund = wxService.refund(orders.getOrdersNo(), orders.getPayMoney(), userMoney, orders.getPayWay()); - if (!refund) { - return Result.error("退款失败,请联系客服!"); - } - userMoneyDetails.setManipulateType(1); - userMoneyDetails.setBlFlag(2); - } else if (orders.getPayWay() == 6) { - String data = aliPayController.alipayRefund(orders.getOrdersNo(), userMoney); - if (StringUtils.isNotBlank(data)) { - log.error(data); - JSONObject jsonObject = JSON.parseObject(data); - JSONObject alipay_trade_refund_response = jsonObject.getJSONObject("alipay_trade_refund_response"); - String code1 = alipay_trade_refund_response.getString("code"); - if (!"10000".equals(code1)) { - return Result.error("退款失败!" + alipay_trade_refund_response.getString("sub_msg")); + if(orders.getTaxiMoney().compareTo(BigDecimal.ZERO) != 0) { + //退车费或扣车费,成为待补单 + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String time = simpleDateFormat.format(new Date()); + //退款金额 + BigDecimal userMoney = BigDecimal.ZERO; + UserMoneyDetails userMoneyDetails = new UserMoneyDetails(); + if (isAuto == 0) { + //退款车费 + userMoney = orders.getTaxiMoney(); + if (orders.getPayWay() == 1 || orders.getPayWay() == 2 || orders.getPayWay() == 3 || orders.getPayWay() == 4) { + boolean refund = wxService.refund(orders.getOrdersNo(), orders.getPayMoney(), userMoney, orders.getPayWay()); + if (!refund) { + return Result.error("退款失败,请联系客服!"); } + userMoneyDetails.setManipulateType(1); + userMoneyDetails.setBlFlag(2); + } else if (orders.getPayWay() == 6) { + String data = aliPayController.alipayRefund(orders.getOrdersNo(), userMoney); + if (StringUtils.isNotBlank(data)) { + log.error(data); + JSONObject jsonObject = JSON.parseObject(data); + JSONObject alipay_trade_refund_response = jsonObject.getJSONObject("alipay_trade_refund_response"); + String code1 = alipay_trade_refund_response.getString("code"); + if (!"10000".equals(code1)) { + return Result.error("退款失败!" + alipay_trade_refund_response.getString("sub_msg")); + } + } else { + return Result.error("退款失败!"); + } + userMoneyDetails.setManipulateType(1); + userMoneyDetails.setBlFlag(2); } else { - return Result.error("退款失败!"); + userMoneyService.updateMoney(1, orders.getUserId(), userMoney.doubleValue()); + //查询用户当前余额 + UserMoney userNowMoney = userMoneyService.selectUserMoneyByUserId(orders.getUserId()); + //插入余额 + userMoneyDetails.setBalance(userNowMoney.getMoney()); + //插入操作类型为已操作用户余额 + userMoneyDetails.setManipulateType(2); + userMoneyDetails.setBlFlag(1); } - userMoneyDetails.setManipulateType(1); - userMoneyDetails.setBlFlag(2); - } else { - userMoneyService.updateMoney(1, orders.getUserId(), userMoney.doubleValue()); + userMoneyDetails.setMoney(userMoney); + userMoneyDetails.setUserId(orders.getUserId()); + userMoneyDetails.setContent("订单号:" + orders.getOrdersNo() + ",车费已原路退款!"); + userMoneyDetails.setTitle("订单退款"); + userMoneyDetails.setType(1); + userMoneyDetails.setCreateTime(time); + userMoneyDetails.setArtificerId(orders.getArtificerId()); + userMoneyDetails.setBlRole(1); + userMoneyDetailsService.save(userMoneyDetails); + + Artificer artificer2 = artificerService.getById(orders.getArtificerId()); + if (userId != null && artificer2.getUserId().equals(userId)) { + BigDecimal newCreditScore = BigDecimal.ZERO; + MessageInfo messageInfo = new MessageInfo(); + messageInfo.setState("8"); + messageInfo.setUserId(String.valueOf(artificer2.getUserId())); + messageInfo.setTitle("转待补单订单:" + orders.getOrdersNo()); + String value1 = commonInfoService.findOne(384).getValue(); + BigDecimal creditScore = new BigDecimal(value1); + newCreditScore = artificer2.getCreditScore().subtract(creditScore); + messageInfo.setContent("扣除信誉分:" + creditScore); + artificer2.setCreditScore(newCreditScore); + String value2 = commonInfoService.findOne(385).getValue(); + BigDecimal minScore = new BigDecimal(value2); + if (artificer2.getCreditScore().doubleValue() < minScore.doubleValue()) { + artificer2.setStatus(2); + } + artificerService.updateById(artificer2); + messageService.saveBody(messageInfo); + } + + UserEntity userEntity = userService.selectUserById(orders.getUserId()); + //超过十个字 则截取 + String content = "订单:" + orders.getOrdersNo() + ",转为待补单"; + //消息推送 + if (StringUtils.isNotEmpty(userEntity.getOpenId())) { + CommonInfo one = commonInfoService.findOne(248); + List msgList = new ArrayList<>(); + msgList.add(orders.getOrdersNo()); + msgList.add(content); + msgList.add("车费已原路退还!"); + SenInfoCheckUtil.sendMsg(userEntity.getOpenId(), one.getValue(), msgList, 2); + } + + if (StringUtils.isNotEmpty(userEntity.getClientid())) { + userService.pushToSingle("订单通知", "订单已转为,车费已原路退还!", userEntity.getClientid()); + } + + if (StringUtils.isNotBlank(userEntity.getWxOpenId())) { + String apkey = commonInfoService.findOne(313).getValue(); + LinkedHashMap data = new LinkedHashMap<>(); + data.put("character_string12", new TemplateMessageItem(orders.getOrdersNo(), "#d71345")); + data.put("thing17", new TemplateMessageItem(content, "#d71345")); + data.put("time14", new TemplateMessageItem(DateUtils.format(new Date()), "#d71345")); + userService.sendWxMessage(apkey, data, userEntity.getWxOpenId()); + } + } + if (isAuto == 1) { + //按照比例 将扣除的车费钱 + BigDecimal taxiMoney = orders.getTaxiMoney(); + BigDecimal sumMoney = orders.getTaxiMoney();//总扣费 + Artificer artificer = artificerService.getById(orders.getArtificerId()); + BigDecimal artificerTaxiMoney = orders.getTaxiMoney();//扣车费 + BigDecimal pingTaxiMoney = BigDecimal.ZERO; + + String taxi = commonInfoService.findOne(394).getValue(); + if ("是".equals(taxi)) { + artificerTaxiMoney = taxiMoney.multiply(artificer.getRate()); + pingTaxiMoney = taxiMoney.subtract(artificerTaxiMoney); + } + UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); + + orders.setShopMoney(BigDecimal.ZERO); + orders.setArtificerMoney(BigDecimal.ZERO); + orders.setSumArtificerMoney(sumMoney.setScale(2, BigDecimal.ROUND_DOWN)); + orders.setOneUserMoney(BigDecimal.ZERO); + orders.setOneArtificerMoney(BigDecimal.ZERO); + orders.setPingMoney(BigDecimal.ZERO); + orders.setArtificerTaxiMoney(artificerTaxiMoney.setScale(2, BigDecimal.ROUND_DOWN)); + orders.setPingTaxiMoney(pingTaxiMoney.setScale(2, BigDecimal.ROUND_DOWN)); + + userMoneyService.updateMoney(1, artificerUser.getUserId(), orders.getSumArtificerMoney().doubleValue()); + userMoneyDetails = new UserMoneyDetails(); //查询用户当前余额 - UserMoney userNowMoney = userMoneyService.selectUserMoneyByUserId(orders.getUserId()); + UserMoney userNowMoney1 = userMoneyService.selectUserMoneyByUserId(artificerUser.getUserId()); //插入余额 - userMoneyDetails.setBalance(userNowMoney.getMoney()); + userMoneyDetails.setBalance(userNowMoney1.getMoney()); //插入操作类型为已操作用户余额 userMoneyDetails.setManipulateType(2); + userMoneyDetails.setMoney(orders.getSumArtificerMoney()); + userMoneyDetails.setUserId(artificerUser.getUserId()); + userMoneyDetails.setTitle("订单号:" + orders.getOrdersNo() + ",订单超时转为待补单!"); + userMoneyDetails.setContent("用户订单超时转为待补单,总扣除:" + sumMoney + ",到账总金额:" + orders.getSumArtificerMoney()); + userMoneyDetails.setType(1); + userMoneyDetails.setCreateTime(simpleDateFormat.format(new Date())); + userMoneyDetails.setBlRole(2); userMoneyDetails.setBlFlag(1); - } - userMoneyDetails.setMoney(userMoney); - userMoneyDetails.setUserId(orders.getUserId()); - userMoneyDetails.setContent("订单号:" + orders.getOrdersNo() + ",车费已原路退款!"); - userMoneyDetails.setTitle("订单退款"); - userMoneyDetails.setType(1); - userMoneyDetails.setCreateTime(time); - userMoneyDetails.setArtificerId(orders.getArtificerId()); - userMoneyDetails.setBlRole(1); - userMoneyDetailsService.save(userMoneyDetails); - - Artificer artificer2 = artificerService.getById(orders.getArtificerId()); - if (userId != null && artificer2.getUserId().equals(userId)) { - BigDecimal newCreditScore = BigDecimal.ZERO; - MessageInfo messageInfo = new MessageInfo(); - messageInfo.setState("8"); - messageInfo.setUserId(String.valueOf(artificer2.getUserId())); - messageInfo.setTitle("转待补单订单:" + orders.getOrdersNo()); - String value1 = commonInfoService.findOne(384).getValue(); - BigDecimal creditScore = new BigDecimal(value1); - newCreditScore = artificer2.getCreditScore().subtract(creditScore); - messageInfo.setContent("扣除信誉分:" + creditScore); - artificer2.setCreditScore(newCreditScore); - String value2 = commonInfoService.findOne(385).getValue(); - BigDecimal minScore = new BigDecimal(value2); - if (artificer2.getCreditScore().doubleValue() < minScore.doubleValue()) { - artificer2.setStatus(2); - } - artificerService.updateById(artificer2); - messageService.saveBody(messageInfo); - } - - UserEntity userEntity = userService.selectUserById(orders.getUserId()); - //超过十个字 则截取 - String content = "订单:"+orders.getOrdersNo()+",转为待补单"; - //消息推送 - if (StringUtils.isNotEmpty(userEntity.getOpenId())) { - CommonInfo one = commonInfoService.findOne(248); - List msgList = new ArrayList<>(); - msgList.add(orders.getOrdersNo()); - msgList.add(content); - msgList.add("车费已原路退还!"); - SenInfoCheckUtil.sendMsg(userEntity.getOpenId(), one.getValue(), msgList, 2); - } - - if (StringUtils.isNotEmpty(userEntity.getClientid())) { - userService.pushToSingle("订单通知", "订单已转为,车费已原路退还!", userEntity.getClientid()); - } - - if (StringUtils.isNotBlank(userEntity.getWxOpenId())) { - String apkey = commonInfoService.findOne(313).getValue(); - LinkedHashMap data = new LinkedHashMap<>(); - data.put("character_string12", new TemplateMessageItem(orders.getOrdersNo(), "#d71345")); - data.put("thing17", new TemplateMessageItem(content, "#d71345")); - data.put("time14", new TemplateMessageItem(DateUtils.format(new Date()), "#d71345")); - userService.sendWxMessage(apkey, data, userEntity.getWxOpenId()); + userMoneyDetailsService.save(userMoneyDetails); } } - if(isAuto == 1){ - //按照比例 将扣除的车费钱 - BigDecimal taxiMoney = orders.getTaxiMoney(); - BigDecimal sumMoney = orders.getTaxiMoney();//总扣费 - Artificer artificer = artificerService.getById(orders.getArtificerId()); - BigDecimal artificerTaxiMoney = orders.getTaxiMoney();//扣车费 - BigDecimal pingTaxiMoney = BigDecimal.ZERO; - - String taxi = commonInfoService.findOne(394).getValue(); - if ("是".equals(taxi)) { - artificerTaxiMoney = taxiMoney.multiply(artificer.getRate()); - pingTaxiMoney = taxiMoney.subtract(artificerTaxiMoney); - } - UserEntity artificerUser = userService.selectUserById(artificer.getUserId()); - - orders.setShopMoney(BigDecimal.ZERO); - orders.setArtificerMoney(BigDecimal.ZERO); - orders.setSumArtificerMoney(sumMoney.setScale(2, BigDecimal.ROUND_DOWN)); - orders.setOneUserMoney(BigDecimal.ZERO); - orders.setOneArtificerMoney(BigDecimal.ZERO); - orders.setPingMoney(BigDecimal.ZERO); - orders.setArtificerTaxiMoney(artificerTaxiMoney.setScale(2, BigDecimal.ROUND_DOWN)); - orders.setPingTaxiMoney(pingTaxiMoney.setScale(2, BigDecimal.ROUND_DOWN)); - - userMoneyService.updateMoney(1, artificerUser.getUserId(), orders.getSumArtificerMoney().doubleValue()); - userMoneyDetails = new UserMoneyDetails(); - //查询用户当前余额 - UserMoney userNowMoney1 = userMoneyService.selectUserMoneyByUserId(artificerUser.getUserId()); - //插入余额 - userMoneyDetails.setBalance(userNowMoney1.getMoney()); - //插入操作类型为已操作用户余额 - userMoneyDetails.setManipulateType(2); - userMoneyDetails.setMoney(orders.getSumArtificerMoney()); - userMoneyDetails.setUserId(artificerUser.getUserId()); - userMoneyDetails.setTitle("订单号:" + orders.getOrdersNo() + ",订单超时转为待补单!"); - userMoneyDetails.setContent("用户订单超时转为待补单,总扣除:" + sumMoney + ",到账总金额:" + orders.getSumArtificerMoney()); - userMoneyDetails.setType(1); - userMoneyDetails.setCreateTime(simpleDateFormat.format(new Date())); - userMoneyDetails.setBlRole(2); - userMoneyDetails.setBlFlag(1); - userMoneyDetailsService.save(userMoneyDetails); + if(orders.getOldOrdersId() !=null){ + //此笔单子退车费,并改为取消,再将原单改成待补单 + orders.setRefusalContent(""); + orders.setTaxiMoney(BigDecimal.ZERO); + orders.setStatus(4); + baseMapper.updateById(orders); + cancelSupplementOrders(userId, orders.getOldOrdersId(), isAuto, 1);//退原单,原单的车费已被退/扣,所以只退项目 + }else{ + orders.setRefusalContent(""); + orders.setTaxiMoney(BigDecimal.ZERO); + orders.setStatus(10); + baseMapper.updateById(orders); } - orders.setRefusalContent(""); - orders.setStatus(10); - baseMapper.updateById(orders); } if(type == 2){ //退项目费