套娃生成待补单,退款待补单
This commit is contained in:
parent
2346d8e735
commit
000d901f00
|
@ -1662,149 +1662,162 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> 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<String> 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<String, TemplateMessageItem> 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<String> 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<String, TemplateMessageItem> 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<OrdersDao, Orders> 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<OrdersDao, Orders> 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<String> 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<String, TemplateMessageItem> 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<String> 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<String, TemplateMessageItem> 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){
|
||||
//退项目费
|
||||
|
|
Loading…
Reference in New Issue