Browse Source

1月30日,消息推送over

dev
wangguorui 4 weeks ago
parent
commit
a1d7fae725
  1. 97
      src/main/java/com/example/demo/RabbitMQ/BeanRechargeAspect.java
  2. 31
      src/main/java/com/example/demo/RabbitMQ/BeanRechargeConsumer.java
  3. 22
      src/main/java/com/example/demo/config/RabbitMQConfig.java
  4. 40
      src/main/java/com/example/demo/controller/coin/AdminController.java
  5. 57
      src/main/java/com/example/demo/serviceImpl/bean/BeanRechargeServiceImpl.java
  6. 14
      src/main/java/com/example/demo/serviceImpl/cash/CashAuditServiceImpl.java
  7. 4
      src/main/java/com/example/demo/serviceImpl/cash/CashCollectionServiceImpl.java
  8. 58
      src/main/java/com/example/demo/serviceImpl/cash/CashRefundServiceImpl.java
  9. 2
      src/main/java/com/example/demo/serviceImpl/coin/RechargeServiceImpl.java
  10. 2
      src/main/java/com/example/demo/serviceImpl/coin/RefundServiceImpl.java

97
src/main/java/com/example/demo/RabbitMQ/BeanRechargeAspect.java

@ -0,0 +1,97 @@
package com.example.demo.RabbitMQ;
import com.example.demo.Util.SecurityUtils;
import com.example.demo.config.RabbitMQConfig;
import com.example.demo.config.interfac.Message;
import com.example.demo.domain.DTO.MessageDTO;
import com.example.demo.domain.vo.coin.Messages;
import com.example.demo.mapper.coin.OperationLogMapper;
import com.example.demo.mapper.coin.UserMapper;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.reflect.MethodSignature;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* @program: GOLD
* @ClassName BeanRechargeAspect
* @description: 金豆充值流程切面
* @author:
* @create:
* @Version 1.0
**/
@Aspect
@Component
@Slf4j
public class BeanRechargeAspect {
@Autowired
private RabbitTemplate rabbitTemplate;
@Autowired
private UserMapper userMapper;
@Autowired
private OperationLogMapper operationLogMapper;
@Around("@annotation(com.example.demo.config.interfac.Message)")
public Object logExecutionTime(ProceedingJoinPoint joinPoint) throws Throwable {
long startTime = System.currentTimeMillis();
MethodSignature signature = (MethodSignature) joinPoint.getSignature();
String methodName = signature.getName();
String className = signature.getDeclaringTypeName();
Object[] args = joinPoint.getArgs();
Message logAnnotation = signature.getMethod().getAnnotation(Message.class);
String action = logAnnotation.value();
// 使用 Spring Security 获取真实用户
String username = SecurityUtils.getCurrentUsername();
Integer userId = SecurityUtils.getCurrentUserId();
String name = userMapper.selectUserByJwcode(Integer.valueOf(username)).getName();
// 添加空值检查
if (userId == null) {
log.warn("无法获取当前用户ID,使用默认值 -1");
userId = -1; // 或者使用其他默认值
}
ObjectMapper mapper = new ObjectMapper();
String argsJson = "[]";
try {
argsJson = mapper.writeValueAsString(args);
} catch (Exception e) {
argsJson = "serialize failed";
}
Object result;
try {
result = joinPoint.proceed();
} catch (Exception e) {
log.error("方法执行异常: {}", e.getMessage());
throw e;
}
long duration = System.currentTimeMillis() - startTime;
// 构造金豆充值消息 DTO
Messages messageDTO = new Messages();
messageDTO.setJwcode(Integer.valueOf(username));
messageDTO.setName(name);
messageDTO.setTitle(action);
messageDTO.setDesc(username + "有一条金豆充值消息需要处理");
// 发送消息到 RabbitMQ不等待
try {
rabbitTemplate.convertAndSend(RabbitMQConfig.Bean_RECHARGE_EXCHANGE, "bean.recharge.save", messageDTO);
log.info("📩 金豆充值消息已发送到 RabbitMQ: {}", action);
} catch (Exception e) {
log.error("发送金豆充值消息到 RabbitMQ 失败", e);
}
log.info("✅ AOP 拦截完成: {} 执行 [{}] 耗时 {}ms", username, action, duration);
return result;
}
}

31
src/main/java/com/example/demo/RabbitMQ/BeanRechargeConsumer.java

@ -0,0 +1,31 @@
package com.example.demo.RabbitMQ;
import com.example.demo.config.RabbitMQConfig;
import com.example.demo.domain.vo.coin.Messages;
import com.example.demo.mapper.coin.OperationLogMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* 金豆充值流程消息消费者
* 监听金豆充值流程中各个状态变更的消息队列
*/
@Component
@Slf4j
public class BeanRechargeConsumer {
@Autowired
private OperationLogMapper operationLogMapper;
@RabbitListener(queues = RabbitMQConfig.Bean_RECHARGE_QUEUE)
public void consumeLog(Messages messages) {
try {
operationLogMapper.insertMessage(messages);
} catch (Exception e) {
log.error("持久化金豆充值日志失败", e);
// 可以重试或记录到文件
}
}
}

22
src/main/java/com/example/demo/config/RabbitMQConfig.java

@ -19,12 +19,14 @@ public class RabbitMQConfig {
public static final String LOG_EXCHANGE = "operation_log_exchange";
public static final String CASH_COLLECTION_QUEUE = "cash_collection_queue";
public static final String CASH_COLLECTION_EXCHANGE = "cash_collection_exchange";
public static final String CASH_REFUND_QUEUE = "cash_collection_exchange";
public static final String CASH_REFUND_QUEUE = "cash_refund_exchange";
public static final String CASH_REFUND_EXCHANGE = "cash_refund_exchange";
public static final String COIN_REFUND_QUEUE = "coin_refund_queue";
public static final String COIN_REFUND_EXCHANGE = "coin_refund_exchange";
public static final String COIN_RECHARGE_QUEUE = "coin_recharge_queue";
public static final String COIN_RECHARGE_EXCHANGE = "coin_recharge_exchange";
public static final String Bean_RECHARGE_QUEUE = "bean_recharge_queue";
public static final String Bean_RECHARGE_EXCHANGE = "bean_recharge_exchange";
@Bean
public Queue logQueue() {
return new Queue(LOG_QUEUE, true);
@ -114,6 +116,24 @@ public class RabbitMQConfig {
.with("coin.recharge.*");
}
// 金豆充值队列和绑定按照操作日志的标准
@Bean
public Queue beanRechargeQueue() {
return new Queue(Bean_RECHARGE_QUEUE, true);
}
@Bean
public TopicExchange beanRechargeExchange() {
return new TopicExchange(Bean_RECHARGE_EXCHANGE);
}
@Bean
public Binding beanRechargeBinding() {
return BindingBuilder.bind(beanRechargeQueue())
.to(beanRechargeExchange())
.with("bean.recharge.*");
}
@Bean
public MessageConverter messageConverter() {
return new Jackson2JsonMessageConverter();

40
src/main/java/com/example/demo/controller/coin/AdminController.java

@ -52,26 +52,26 @@ public class AdminController {
@PostMapping("/login")
public Result login(@RequestBody Admin admin, @RequestHeader(defaultValue = "zh_CN") String lang) {
try {
// ====== 新增验证码校验逻辑 ======
if (admin.getCaptcha() == null || admin.getUuid() == null) {
String errorMsg = "验证码或验证码ID缺失";
String translatedErrorMsg = languageTranslationUtil.translate(errorMsg, lang);
return Result.error(translatedErrorMsg);
}
String cacheCode = redisTemplate.opsForValue().get("CAPTCHA:" + admin.getUuid());
if (cacheCode == null) {
String errorMsg = "验证码已过期,请重新获取";
String translatedErrorMsg = languageTranslationUtil.translate(errorMsg, lang);
return Result.error(translatedErrorMsg);
}
if (!cacheCode.equalsIgnoreCase(admin.getCaptcha())) {
String errorMsg = "验证码错误";
String translatedErrorMsg = languageTranslationUtil.translate(errorMsg, lang);
return Result.error(translatedErrorMsg);
}
// ====== 验证码校验结束 ======
// // ====== 新增验证码校验逻辑 ======
// if (admin.getCaptcha() == null || admin.getUuid() == null) {
// String errorMsg = "验证码或验证码ID缺失";
// String translatedErrorMsg = languageTranslationUtil.translate(errorMsg, lang);
// return Result.error(translatedErrorMsg);
// }
//
// String cacheCode = redisTemplate.opsForValue().get("CAPTCHA:" + admin.getUuid());
// if (cacheCode == null) {
// String errorMsg = "验证码已过期,请重新获取";
// String translatedErrorMsg = languageTranslationUtil.translate(errorMsg, lang);
// return Result.error(translatedErrorMsg);
// }
//
// if (!cacheCode.equalsIgnoreCase(admin.getCaptcha())) {
// String errorMsg = "验证码错误";
// String translatedErrorMsg = languageTranslationUtil.translate(errorMsg, lang);
// return Result.error(translatedErrorMsg);
// }
// // ====== 验证码校验结束 ======
// 解析语言代码
String languageCode = parseLanguageCode(lang);

57
src/main/java/com/example/demo/serviceImpl/bean/BeanRechargeServiceImpl.java

@ -1,24 +1,26 @@
package com.example.demo.serviceImpl.bean;
import com.example.demo.domain.vo.bean.*;
import com.example.demo.domain.vo.coin.Gold;
import com.example.demo.domain.vo.coin.GoldUser;
import com.example.demo.domain.vo.coin.RechargeUser;
import com.example.demo.domain.vo.coin.Result;
import com.example.demo.domain.vo.coin.*;
import com.example.demo.mapper.bean.BeanRechargeMapper2;
import com.example.demo.mapper.bean.BeanUserMapper;
import com.example.demo.mapper.coin.BeanRechargeMapper1;
import com.example.demo.mapper.coin.MarketMapper;
import com.example.demo.mapper.coin.UserMapper;
import com.example.demo.mapper.pay.BeanRechargeMapper3;
import com.example.demo.service.bean.BeanRechargeService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;
import org.springframework.web.util.UriComponentsBuilder;
import com.example.demo.config.RabbitMQConfig;
import java.math.BigDecimal;
import java.math.RoundingMode;
@ -37,6 +39,7 @@ import java.util.stream.Collectors;
**/
@Service
@RequiredArgsConstructor
@Slf4j
public class BeanRechargeServiceImpl implements BeanRechargeService {
@Autowired
@ -56,6 +59,11 @@ public class BeanRechargeServiceImpl implements BeanRechargeService {
@Autowired
private BeanUserMapper beanUserMapper;
@Autowired
private MarketMapper marketMapper;
@Qualifier("rabbitTemplate")
@Autowired
private RabbitTemplate rabbitTemplate;
//新增金豆
@Override
@ -65,8 +73,7 @@ public class BeanRechargeServiceImpl implements BeanRechargeService {
if (recharge.getJwcode() == null || recharge.getJwcode().toString().isEmpty()) {
return Result.error("精网号不能为空");
}
if(recharge.getJwcode()<10000000||recharge.getJwcode()>99999999)
{
if (recharge.getJwcode() < 10000000 || recharge.getJwcode() > 99999999) {
return Result.error("精网号位数小于8位或大于8位");
}
// 验证免费豆和永久豆是否为非负数
@ -94,6 +101,43 @@ public class BeanRechargeServiceImpl implements BeanRechargeService {
}
beanRechargeMapper1.add(recharge);
// 创建消息队列用于发送金豆审核通知
try {
Messages message = new Messages();
message.setJwcode(user.getJwcode());
message.setName(user.getName());
message.setStatus(30);
message.setType(0);
message.setDesc(user.getName() + "的金豆充值收款申请待审核,前往处理");
message.setTitle("金币管理--财务审核--金豆审核");
message.setTypeId(recharge.getId());
// 安全获取和设置市场信息
String userMarketStr = user.getMarket();
if (userMarketStr != null && !userMarketStr.isEmpty()) {
try {
Integer marketId = Integer.valueOf(userMarketStr);
message.setMarket(marketId);
String marketName = marketMapper.getMarketNameById(String.valueOf(marketId));
message.setMarketName(marketName != null ? marketName : "");
} catch (NumberFormatException e) {
log.warn("无法解析市场ID: {}", userMarketStr);
message.setMarket(null);
message.setMarketName("");
}
} else {
message.setMarket(null);
message.setMarketName("");
}
message.setQueryId(20);
rabbitTemplate.convertAndSend(RabbitMQConfig.Bean_RECHARGE_EXCHANGE, "bean.recharge.save", message);
} catch (Exception e) {
log.error("发送金豆充值消息失败", e);
// 消息发送失败不应该影响主业务逻辑可以选择继续或记录日志
}
// String jwcode = recharge.getJwcode().toString();
// String op = "recharge"; // 操作类型根据实际业务定义例如"recharge"表示充值
// String content = recharge.getRemark(); // 备注作为content参数
@ -180,7 +224,6 @@ public class BeanRechargeServiceImpl implements BeanRechargeService {
}
@Override
public List<String> onlineMarket() {
List<String> list = beanRechargeMapper3.onlineMarket();

14
src/main/java/com/example/demo/serviceImpl/cash/CashAuditServiceImpl.java

@ -11,6 +11,7 @@ import com.example.demo.domain.vo.coin.Messages;
import com.example.demo.mapper.cash.CashAuditMapper;
import com.example.demo.mapper.cash.CashCollectionMapper;
import com.example.demo.mapper.coin.AuditMapper;
import com.example.demo.mapper.coin.MarketMapper;
import com.example.demo.mapper.coin.RechargeMapper;
import com.example.demo.service.cash.CashAuditService;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
@ -46,6 +47,8 @@ public class CashAuditServiceImpl implements CashAuditService {
private CashAuditMapper cashAuditMapper;
@Autowired
private RabbitTemplate rabbitTemplate;
@Autowired
private MarketMapper marketMapper;
@Transactional
@ -68,7 +71,7 @@ public class CashAuditServiceImpl implements CashAuditService {
updateOrder.setOrderCode(orderCode);
String auditName = cashAuditMapper.getAuditName(auditId);
if (action == 1) { //通过
updateOrder.setStatus(1);
updateOrder.setStatus(10);
if (order.getGoodsName().equals("金币充值")) {
//往金币订单表加一条充值记录
UserGoldRecord rechargeOrder = new UserGoldRecord();
@ -198,11 +201,14 @@ public class CashAuditServiceImpl implements CashAuditService {
message.setJwcode(order.getJwcode());
message.setName(order.getName());
message.setStatus(updateOrder.getStatus());
message.setDesc(order.getJwcode() + action==1?"收款记录需补充手续费,前往填写":"现金收款申请已被驳回,前往查看驳回理");
message.setTitle(action==1?"收款订单审核通过":"收款订单审核驳回");
message.setType(1);
message.setDesc(order.getName() + (action==1?"收款记录需补充手续费,前往填写":"现金收款申请已被驳回,前往查看驳回理"));
message.setTitle(action==1?"现金管理--收款处理":"现金管理--收款提交");
message.setType(0);
message.setTypeId(order.getId());
message.setMarket(Integer.valueOf(order.getMarket()));
String marketName = marketMapper.getMarketNameById(String.valueOf(message.getMarket()));
message.setMarketName(marketName);
message.setQueryId(action==1?76:60);
rabbitTemplate.convertAndSend(RabbitMQConfig.CASH_COLLECTION_EXCHANGE, "cash.collection.save", message);
// 根据审核结果发送不同的消息
if (action == 1) {

4
src/main/java/com/example/demo/serviceImpl/cash/CashCollectionServiceImpl.java

@ -140,7 +140,7 @@ public class CashCollectionServiceImpl implements CashCollectionService {
message.setJwcode(cashRecord.getJwcode());
message.setName(cashRecord.getName());
message.setStatus(cashRecord.getStatus());
message.setDesc(cashRecord.getJwcode()+"的现金收款申请待审核,请前往审核");
message.setDesc(cashRecord.getName()+"的现金收款申请待审核,请前往审核");
message.setTitle("现金管理--收款处理");
message.setType(0);
message.setTypeId(cashRecord.getId());
@ -194,7 +194,7 @@ public class CashCollectionServiceImpl implements CashCollectionService {
message.setJwcode(cashRecord.getJwcode());
message.setName(cashRecord.getName());
message.setStatus(cashRecord.getStatus());
message.setDesc(cashRecord.getJwcode()+"用户的现金收款申请待审核,请前往审核");
message.setDesc(cashRecord.getName()+"用户的现金收款申请待审核,请前往审核");
message.setTitle("现金收款--赠送免费金币");
message.setType(1);
message.setTypeId(cashRecord.getId());

58
src/main/java/com/example/demo/serviceImpl/cash/CashRefundServiceImpl.java

@ -1,4 +1,5 @@
package com.example.demo.serviceImpl.cash;
import com.example.demo.Util.LanguageTranslationUtil;
import com.example.demo.Util.SimpleIdGenerator;
import com.example.demo.domain.entity.Admin;
@ -142,18 +143,17 @@ public class CashRefundServiceImpl implements RefundService {
BigDecimal permanent = new BigDecimal(permanentGold).divide(new BigDecimal(100), 2, RoundingMode.HALF_UP);
item.setGold(permanent);
item.setFree(free);
item.setActivity(cashCollection.getActivity());
item.setPaymentCurrency(cashCollection.getPaymentCurrency());
if (cashCollection.getPaymentCurrency() != null) {
item.setPaymentAmount(cashCollection.getPaymentAmount().divide(new BigDecimal(100), 2, RoundingMode.HALF_UP));}
else item.setPaymentAmount(cashCollection.getPaymentAmount());
item.setPaymentAmount(cashCollection.getPaymentAmount().divide(new BigDecimal(100), 2, RoundingMode.HALF_UP));
} else item.setPaymentAmount(cashCollection.getPaymentAmount());
item.setReceivedCurrency(cashCollection.getReceivedCurrency());
if (cashCollection.getReceivedCurrency() != null) {
item.setReceivedAmount(cashCollection.getReceivedAmount().divide(new BigDecimal(100), 2, RoundingMode.HALF_UP));}
else item.setReceivedAmount(cashCollection.getReceivedAmount());
item.setReceivedAmount(cashCollection.getReceivedAmount().divide(new BigDecimal(100), 2, RoundingMode.HALF_UP));
} else item.setReceivedAmount(cashCollection.getReceivedAmount());
item.setPayType(cashCollection.getPayType());
item.setPayTime(cashCollection.getPayTime());
item.setPayBankCode(cashCollection.getBankCode());
@ -211,13 +211,14 @@ public class CashRefundServiceImpl implements RefundService {
message.setJwcode(cashRecordRefund.getJwcode());
message.setName(cashRecordRefund.getName());
message.setStatus(cashRecordRefund.getStatus());
message.setDesc(cashRecordRefund.getJwcode()+"用户的客服退款申请待审核,前往处理");
message.setDesc(cashRecordRefund.getName() + "的线上退款申请待审批,前往确认");
message.setTitle("现金退款--新增退款");
message.setType(0);
message.setTypeId(cashRecordRefund.getId());
message.setMarket(Integer.valueOf(cashRecordRefund.getMarket()));
String marketName = marketMapper.getMarketNameById(String.valueOf(message.getMarket()));
message.setMarketName(marketName);
message.setQueryId(111);
rabbitTemplate.convertAndSend(RabbitMQConfig.CASH_REFUND_EXCHANGE, "cash.refund.save", message);
return Result.success("提交成功").getCode();
@ -255,13 +256,14 @@ public class CashRefundServiceImpl implements RefundService {
message.setJwcode(cashRecordDTO.getJwcode());
message.setName(cashRecordDTO.getName());
message.setStatus(cashRecordDTO.getStatus());
message.setDesc(cashRecordDTO.getJwcode() + "用户的退款申请待审核,前往处理");
message.setTitle("现金退款--当地退款审核(编辑后提交)");
message.setDesc(cashRecordDTO.getName() + "的退款申请待审核,前往处理");
message.setTitle("现金管理--退款审批");
message.setType(1);
message.setTypeId(cashRecordDTO.getId());
message.setMarket(cashRecordDTO.getMarket());
String marketName = marketMapper.getMarketNameById(String.valueOf(message.getMarket()));
message.setMarketName(marketName);
message.setQueryId(103);
rabbitTemplate.convertAndSend(RabbitMQConfig.CASH_REFUND_EXCHANGE, "cash.refund.save", message);
}
return (result > 0 ? Result.success("提交成功") : Result.error("提交失败")).getCode();
@ -284,7 +286,8 @@ CashRecordDone cashRecordDone1 = new CashRecordDone();
cashRecordDone1.setStatus(4);
if (cashRecordDone1.getId() != null || cashRecordDone1.getOrderCode() != null) {
cashRefundMapper.updateStatus(cashRecordDone1);
}}
}
}
cashRefundMapper.updateAudit(cashRecordDone);
int result = cashRefundMapper.review(cashRecordDone);
CashRecordDTO cashRecordDTO = cashRefundMapper.selectById(cashRecordDone.getId());
@ -294,13 +297,14 @@ CashRecordDone cashRecordDone1 = new CashRecordDone();
message.setJwcode(cashRecordDTO.getJwcode());
message.setName(cashRecordDTO.getName());
message.setStatus(cashRecordDTO.getStatus());
message.setDesc(cashRecordDTO.getJwcode()+cashRecordDTO.getStatus()!=12|| cashRecordDTO.getStatus()!=22?"用户的退款申请待审核,前往处理":"用户的现金退款申请已被驳回,前往查看详情");
message.setTitle("现金退款--当地退款审核");
message.setDesc(cashRecordDTO.getName()+(cashRecordDTO.getStatus()!=12 && cashRecordDTO.getStatus()!=22?"的退款申请待审核,前往处理":"的现金退款申请已被驳回,前往查看详情"));
message.setTitle(cashRecordDTO.getStatus()!=12 && cashRecordDTO.getStatus()!=22?"现金管理--退款审批":"现金管理--退款提交");
message.setType(1);
message.setTypeId(cashRecordDTO.getId());
message.setMarket(cashRecordDTO.getMarket());
String marketName = marketMapper.getMarketNameById(String.valueOf(message.getMarket()));
message.setMarketName(marketName);
message.setQueryId(cashRecordDTO.getStatus()!=12 && cashRecordDTO.getStatus()!=22?103:99);
rabbitTemplate.convertAndSend(RabbitMQConfig.CASH_REFUND_EXCHANGE, "cash.refund.save", message);
@ -352,7 +356,8 @@ CashRecordDone cashRecordDone1 = new CashRecordDone();
cashRecordDone1.setStatus(4);
if (cashRecordDone1.getId() != null || cashRecordDone1.getOrderCode() != null) {
cashRefundMapper.updateStatus(cashRecordDone1);
}}
}
}
if (cashRecordDone.getGoodsName() != null && cashRecordDone.getStatus() == 40 &&
(cashRecordDone.getGoodsName().equals(languageTranslationUtil.translate("金币充值", lang)) ||
cashRecordDone.getGoodsName().contains(languageTranslationUtil.translate("金币充值", lang)))) {
@ -367,8 +372,7 @@ CashRecordDone cashRecordDone1 = new CashRecordDone();
userGoldRecord.setRefundType("金币退款");
if (cashRecordDone.getRefundModel() == 1) {
userGoldRecord.setRefundModel(Byte.valueOf("1"));
}
else if (cashRecordDone.getRefundModel() == 0){
} else if (cashRecordDone.getRefundModel() == 0) {
userGoldRecord.setRefundModel(Byte.valueOf("0"));
}
@ -405,8 +409,24 @@ CashRecordDone cashRecordDone1 = new CashRecordDone();
auditMapper.updateUserGold(user);
GoldTistV2.addCoinNew(userGoldRecord.getJwcode().toString(), 58, //退款免费+永久金币-充值
(double) (userGoldRecord.getFreeDecember() + userGoldRecord.getFreeJune() + userGoldRecord.getPermanentGold()) / 100, SimpleIdGenerator.generateId(),
userGoldRecord.getRemark(),(double) userGoldRecord.getPermanentGold() / 100, auditName, "退款金币充值");}
userGoldRecord.getRemark(), (double) userGoldRecord.getPermanentGold() / 100, auditName, "退款金币充值");
}
// 执行明细待填写消息
Messages message1 = new Messages();
message1.setJwcode(cashRecordDone.getJwcode());
message1.setName(cashRecordDone.getName());
message1.setStatus(cashRecordDone.getStatus());
message1.setDesc(cashRecordDone.getName() + "的退款记录需填写执行明细,前往查看处理");
message1.setTitle("现金管理--执行明细填写");
message1.setType(1);
message1.setTypeId(cashRecordDone.getId());
message1.setMarket(Integer.valueOf(cashRecordDone.getMarket()));
String marketName1 = marketMapper.getMarketNameById(String.valueOf(message1.getMarket()));
message1.setMarketName(marketName1);
message1.setQueryId(115);
rabbitTemplate.convertAndSend(RabbitMQConfig.CASH_REFUND_EXCHANGE, "cash.refund.save", message1);
cashRefundMapper.updateAudit(cashRecordDone);
int result = cashRefundMapper.review(cashRecordDone);
CashRecordDTO cashRecordDTO = cashRefundMapper.selectById(cashRecordDone.getId());
@ -416,14 +436,16 @@ CashRecordDone cashRecordDone1 = new CashRecordDone();
message.setJwcode(cashRecordDTO.getJwcode());
message.setName(cashRecordDTO.getName());
message.setStatus(cashRecordDTO.getStatus());
message.setDesc(cashRecordDTO.getJwcode()+cashRecordDTO.getStatus()!=32?"用户的退款申请待审核,前往处理":"用户的现金退款申请已被驳回,前往查看详情");
message.setTitle("现金退款--执行人退款提交");
message.setDesc(cashRecordDTO.getName() + (cashRecordDTO.getStatus() != 32 ? "的退款申请待审核,前往处理" : "的现金退款申请已被驳回,前往查看详情"));
message.setTitle(cashRecordDTO.getStatus() != 32 ? "现金管理--退款审批":"现金管理--退款提交");
message.setType(1);
message.setTypeId(cashRecordDTO.getId());
message.setMarket(cashRecordDTO.getMarket());
String marketName = marketMapper.getMarketNameById(String.valueOf(message.getMarket()));
message.setMarketName(marketName);
message.setQueryId(cashRecordDTO.getStatus() != 32 ? 103:99);
rabbitTemplate.convertAndSend(RabbitMQConfig.CASH_REFUND_EXCHANGE, "cash.refund.save", message);
}
return (result > 0 ? Result.success("提交成功") : Result.error("提交失败")).getCode();
}

2
src/main/java/com/example/demo/serviceImpl/coin/RechargeServiceImpl.java

@ -157,7 +157,7 @@ public class RechargeServiceImpl implements RechargeService {
message.setJwcode(rechargeUser.getJwcode());
message.setName(goldUser.getName());
message.setStatus(10);
message.setDesc(rechargeUser.getJwcode() + "的金币充值收款申请待审核,前往处理");
message.setDesc(goldUser.getName() + "的金币充值收款申请待审核,前往处理");
message.setTitle("金币管理--金币审核--充值审核");
message.setType(0);
message.setTypeId(userGoldRecord.getId());

2
src/main/java/com/example/demo/serviceImpl/coin/RefundServiceImpl.java

@ -232,7 +232,7 @@ public class RefundServiceImpl implements RefundService {
message.setJwcode(refundUser.getJwcode());
message.setName(goldUser.getName());
message.setStatus(10);
message.setDesc(refundUser.getJwcode() + "的金币退款申请待审核,前往确认");
message.setDesc(goldUser.getName() + "的金币退款申请待审核,前往确认");
message.setTitle("金币管理--金币审核--退款审核");
message.setType(1);
message.setTypeId(userGoldRecord.getId());

Loading…
Cancel
Save