|
|
|
@ -3,6 +3,7 @@ package com.example.demo.serviceImpl.coin; |
|
|
|
import com.example.demo.Util.GoldTistV2; |
|
|
|
import com.example.demo.Util.SimpleIdGenerator; |
|
|
|
import com.example.demo.config.GlobalExceptionHandler; |
|
|
|
import com.example.demo.config.RabbitMQConfig; |
|
|
|
import com.example.demo.domain.entity.User; |
|
|
|
import com.example.demo.domain.entity.UserGoldRecord; |
|
|
|
import com.example.demo.domain.vo.coin.*; |
|
|
|
@ -18,6 +19,7 @@ import com.example.demo.service.coin.GeneralService; |
|
|
|
import com.github.pagehelper.PageHelper; |
|
|
|
import com.github.pagehelper.PageInfo; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import org.springframework.amqp.rabbit.core.RabbitTemplate; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
@ -55,6 +57,9 @@ public class AuditServiceImpl implements AuditService { |
|
|
|
private MarketMapper marketMapper; |
|
|
|
@Autowired |
|
|
|
private RedService redService; |
|
|
|
@Autowired |
|
|
|
private RabbitTemplate rabbitTemplate; |
|
|
|
|
|
|
|
/* |
|
|
|
审核订单并修改用户余额等 |
|
|
|
*/ |
|
|
|
@ -93,10 +98,12 @@ public class AuditServiceImpl implements AuditService { |
|
|
|
auditMapper.updateOrderRefund(oldOrderCode, (byte) 0); |
|
|
|
} else { |
|
|
|
throw new IllegalArgumentException("找不到对应的订单或不是有效订单"); |
|
|
|
} } |
|
|
|
} |
|
|
|
} |
|
|
|
updateOrder.setAuditStatus(2); |
|
|
|
updateOrder.setRejectReason(rejectReason); |
|
|
|
updateOrder.setAuditTime(new Date()); |
|
|
|
|
|
|
|
// 执行审核更新 |
|
|
|
auditMapper.updateOrder(updateOrder); |
|
|
|
|
|
|
|
@ -181,7 +188,8 @@ public class AuditServiceImpl implements AuditService { |
|
|
|
// 网络异常 / 系统异常 |
|
|
|
log.error("红包接口调用异常", e); |
|
|
|
throw new RuntimeException(e); |
|
|
|
}} |
|
|
|
} |
|
|
|
} |
|
|
|
//2.获取对应的订单(退款订单号去掉开头"TK"即为对应原始订单) |
|
|
|
String oldOrderCode = order.getOrderCode().replaceFirst("TK_", ""); |
|
|
|
UserGoldRecord oldOrder = auditMapper.selectAllOrderByOrderCode(oldOrderCode); |
|
|
|
@ -250,8 +258,7 @@ public class AuditServiceImpl implements AuditService { |
|
|
|
//link扣除已有红包 |
|
|
|
else if (AuditContext.getRedCheckResult() != null && !AuditContext.getRedCheckResult().equals("old")) { |
|
|
|
redService.consumeRed(linkId); |
|
|
|
} |
|
|
|
else { |
|
|
|
} else { |
|
|
|
Exception e = new Exception("旧订单退款"); |
|
|
|
String title = "旧订单退款"; |
|
|
|
String detail = ("精网号:" + order.getJwcode()) + "\n金币订单号:" + orderCode + "\n永久金币:" + Math.abs(order.getPermanentGold()) / 100 + |
|
|
|
@ -271,8 +278,8 @@ public class AuditServiceImpl implements AuditService { |
|
|
|
order.getRemark(), order.getPermanentGold(), auditName, "退款商品" + order.getGoodsName()); |
|
|
|
GoldTistV2.addCoinNew(order.getJwcode().toString(), 57, //退款任务-商品 |
|
|
|
(double) (order.getTaskGold()) / 100, SimpleIdGenerator.generateId(), |
|
|
|
order.getRemark(),0, auditName, "退款商品"+order.getGoodsName());} |
|
|
|
else { |
|
|
|
order.getRemark(), 0, auditName, "退款商品" + order.getGoodsName()); |
|
|
|
} else { |
|
|
|
//0金币消耗,往erp传一条金币为空的记录 |
|
|
|
GoldTistV2.addCoinRecordNew(String.valueOf(order.getJwcode()), order.getRemark(), auditName, order.getGoodsName()); |
|
|
|
|
|
|
|
@ -341,8 +348,7 @@ public class AuditServiceImpl implements AuditService { |
|
|
|
//link扣除已有红包 |
|
|
|
else if (AuditContext.getRedCheckResult() != null && !AuditContext.getRedCheckResult().equals("old")) { |
|
|
|
redService.consumeRed(linkId); |
|
|
|
} |
|
|
|
else { |
|
|
|
} else { |
|
|
|
Exception e = new Exception("旧订单退款"); |
|
|
|
String title = "旧订单退款"; |
|
|
|
String detail = ("精网号:" + order.getJwcode()) + "\n金币订单号:" + orderCode + "\n永久金币:" + Math.abs(order.getPermanentGold()) / 100 + |
|
|
|
@ -356,11 +362,13 @@ public class AuditServiceImpl implements AuditService { |
|
|
|
if (order.getTaskGold() == 0) { //无任务金币统一走免费+永久 |
|
|
|
GoldTistV2.addCoinNew(order.getJwcode().toString(), 58, //退款免费+永久金币-充值 |
|
|
|
(double) (order.getFreeDecember() + order.getFreeJune() + order.getPermanentGold()) / 100, SimpleIdGenerator.generateId(), |
|
|
|
order.getRemark(),(double) order.getPermanentGold() / 100, auditName, "退款金币充值");} |
|
|
|
order.getRemark(), (double) order.getPermanentGold() / 100, auditName, "退款金币充值"); |
|
|
|
} |
|
|
|
if (order.getTaskGold() != 0) { |
|
|
|
GoldTistV2.addCoinNew(order.getJwcode().toString(), 59, //退款任务+永久金币-充值 |
|
|
|
(double) (order.getTaskGold() + order.getPermanentGold()) / 100, SimpleIdGenerator.generateId(), |
|
|
|
order.getRemark(),(double) order.getPermanentGold() / 100, auditName, "退款金币充值");} |
|
|
|
order.getRemark(), (double) order.getPermanentGold() / 100, auditName, "退款金币充值"); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
@ -375,6 +383,7 @@ public class AuditServiceImpl implements AuditService { |
|
|
|
|
|
|
|
return true; |
|
|
|
} |
|
|
|
|
|
|
|
/* |
|
|
|
* 多条件查询充值订单列表 |
|
|
|
*/ |
|
|
|
@ -391,6 +400,7 @@ public class AuditServiceImpl implements AuditService { |
|
|
|
// rechargeAudit.setFreeGold(rechargeAudit.getFreeJune()+rechargeAudit.getFreeDecember()); |
|
|
|
return new PageInfo<>(rechargeAudits); |
|
|
|
} |
|
|
|
|
|
|
|
/* |
|
|
|
多条件查询退款订单 |
|
|
|
*/ |
|
|
|
@ -409,6 +419,7 @@ public class AuditServiceImpl implements AuditService { |
|
|
|
//refundAudit.setFreeGold(refundAudit.getFreeJune()+refundAudit.getFreeDecember()); |
|
|
|
return new PageInfo<>(refundAudits); |
|
|
|
} |
|
|
|
|
|
|
|
/* |
|
|
|
充值审核金币合计数 |
|
|
|
*/ |
|
|
|
@ -492,6 +503,7 @@ public class AuditServiceImpl implements AuditService { |
|
|
|
gold.setTaskGolds(BigDecimal.valueOf(taskGoldSum)); |
|
|
|
return gold; |
|
|
|
} |
|
|
|
|
|
|
|
public class AuditContext { |
|
|
|
|
|
|
|
private static final ThreadLocal<String> FAIL_MSG = new ThreadLocal<>(); |
|
|
|
@ -504,6 +516,7 @@ public class AuditServiceImpl implements AuditService { |
|
|
|
public static String getFailMsg() { |
|
|
|
return FAIL_MSG.get(); |
|
|
|
} |
|
|
|
|
|
|
|
public static void setRedCheckResult(String result) { |
|
|
|
RED_CHECK_RESULT.set(result); |
|
|
|
} |
|
|
|
@ -511,6 +524,7 @@ public class AuditServiceImpl implements AuditService { |
|
|
|
public static String getRedCheckResult() { |
|
|
|
return RED_CHECK_RESULT.get(); |
|
|
|
} |
|
|
|
|
|
|
|
public static void clear() { |
|
|
|
FAIL_MSG.remove(); |
|
|
|
RED_CHECK_RESULT.remove(); |
|
|
|
|