|
|
@ -19,12 +19,14 @@ import com.example.demo.mapper.coin.OperationLogMapper; |
|
|
import com.example.demo.mapper.coin.RefundMapper; |
|
|
import com.example.demo.mapper.coin.RefundMapper; |
|
|
import com.example.demo.service.Wallet.WalletService; |
|
|
import com.example.demo.service.Wallet.WalletService; |
|
|
import com.example.demo.service.cash.RefundService; |
|
|
import com.example.demo.service.cash.RefundService; |
|
|
|
|
|
import com.example.demo.service.coin.TranslationService; |
|
|
import com.github.pagehelper.PageHelper; |
|
|
import com.github.pagehelper.PageHelper; |
|
|
import com.github.pagehelper.PageInfo; |
|
|
import com.github.pagehelper.PageInfo; |
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
import org.springframework.amqp.rabbit.core.RabbitTemplate; |
|
|
import org.springframework.amqp.rabbit.core.RabbitTemplate; |
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
import org.springframework.stereotype.Service; |
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
import org.springframework.web.bind.annotation.RequestHeader; |
|
|
import org.springframework.web.bind.annotation.RequestHeader; |
|
|
import com.example.demo.domain.DTO.Currency; |
|
|
import com.example.demo.domain.DTO.Currency; |
|
|
|
|
|
|
|
|
@ -67,6 +69,8 @@ public class CashRefundServiceImpl implements RefundService { |
|
|
private LanguageTranslationUtil languageTranslationUtil; |
|
|
private LanguageTranslationUtil languageTranslationUtil; |
|
|
@Autowired |
|
|
@Autowired |
|
|
private WalletService walletService; |
|
|
private WalletService walletService; |
|
|
|
|
|
@Autowired |
|
|
|
|
|
private TranslationService translationService; |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public PageInfo<CashRecordDTO> select(Integer pageNum, Integer pageSize, CashRecordDTO cashRecordDTO) { |
|
|
public PageInfo<CashRecordDTO> select(Integer pageNum, Integer pageSize, CashRecordDTO cashRecordDTO) { |
|
|
@ -176,6 +180,7 @@ public class CashRefundServiceImpl implements RefundService { |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public int add(CashRecordRefund cashRecordRefund, @RequestHeader(defaultValue = "zh_CN") String lang) throws Exception { |
|
|
public int add(CashRecordRefund cashRecordRefund, @RequestHeader(defaultValue = "zh_CN") String lang) throws Exception { |
|
|
|
|
|
try { |
|
|
if (cashRecordRefund.getJwcode() == null) { |
|
|
if (cashRecordRefund.getJwcode() == null) { |
|
|
throw new Exception("未输入精网号"); |
|
|
throw new Exception("未输入精网号"); |
|
|
} |
|
|
} |
|
|
@ -188,6 +193,10 @@ public class CashRefundServiceImpl implements RefundService { |
|
|
if (cashRecordRefund.getHandlingCharge() == null) { |
|
|
if (cashRecordRefund.getHandlingCharge() == null) { |
|
|
throw new Exception("请先填写手续费"); |
|
|
throw new Exception("请先填写手续费"); |
|
|
} |
|
|
} |
|
|
|
|
|
if (cashRecordRefund.getMarket() == null || cashRecordRefund.getMarket().trim().isEmpty()) { |
|
|
|
|
|
throw new Exception("请选择所属地区"); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
CashRecordDone cashRecordDonetwo = new CashRecordDone(); |
|
|
CashRecordDone cashRecordDonetwo = new CashRecordDone(); |
|
|
cashRecordDonetwo.setAreaServise(cashRecordRefund.getAreaServise()); |
|
|
cashRecordDonetwo.setAreaServise(cashRecordRefund.getAreaServise()); |
|
|
cashRefundMapper.addAudit(cashRecordDonetwo); |
|
|
cashRefundMapper.addAudit(cashRecordDonetwo); |
|
|
@ -198,14 +207,33 @@ public class CashRefundServiceImpl implements RefundService { |
|
|
String orderNumber = cashRecordRefund.getOrderCode(); |
|
|
String orderNumber = cashRecordRefund.getOrderCode(); |
|
|
//构建订单信息 |
|
|
//构建订单信息 |
|
|
cashRecordRefund.setOrderCode("TK" + orderNumber); //订单号 |
|
|
cashRecordRefund.setOrderCode("TK" + orderNumber); //订单号 |
|
|
cashRecordRefund.setMarket(String.valueOf(Integer.valueOf(marketMapper.getMarketId(cashRecordRefund.getMarket())))); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 查询市场 ID,增加空值检查和多语言支持 |
|
|
|
|
|
String marketName = cashRecordRefund.getMarket(); |
|
|
|
|
|
String marketId = marketMapper.getMarketId(marketName); |
|
|
|
|
|
|
|
|
|
|
|
// 如果直接查询失败,尝试将英文名称转换为中文后再次查询 |
|
|
|
|
|
if (marketId == null || marketId.trim().isEmpty()) { |
|
|
|
|
|
String chineseMarketName = translationService.findChineseSimplifiedByTranslation(marketName, "en"); |
|
|
|
|
|
if (chineseMarketName != null && !chineseMarketName.equals(marketName)) { |
|
|
|
|
|
marketId = marketMapper.getMarketId(chineseMarketName); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (marketId == null || marketId.trim().isEmpty()) { |
|
|
|
|
|
throw new Exception("无效的所属地区:" + cashRecordRefund.getMarket()); |
|
|
|
|
|
} |
|
|
|
|
|
cashRecordRefund.setMarket(String.valueOf(Integer.valueOf(marketId))); |
|
|
|
|
|
|
|
|
cashRefundMapper.insert(cashRecordRefund); |
|
|
cashRefundMapper.insert(cashRecordRefund); |
|
|
CashRecordDone cashRecordDone1 = new CashRecordDone(); |
|
|
CashRecordDone cashRecordDone1 = new CashRecordDone(); |
|
|
cashRecordDone1.setId(cashRecordRefund.getOriginalOrderId()); |
|
|
cashRecordDone1.setId(cashRecordRefund.getOriginalOrderId()); |
|
|
cashRecordDone1.setStatus(6); |
|
|
cashRecordDone1.setStatus(6); |
|
|
if (cashRecordDone1.getId() != null || cashRecordDone1.getOrderCode() != null) |
|
|
|
|
|
|
|
|
if (cashRecordDone1.getId() != null || cashRecordDone1.getOrderCode() != null) { |
|
|
cashRefundMapper.updateStatus(cashRecordDone1); |
|
|
cashRefundMapper.updateStatus(cashRecordDone1); |
|
|
else return Result.error("提交失败").getCode(); |
|
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
return Result.error("提交失败").getCode(); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
// 发送退款创建消息 |
|
|
// 发送退款创建消息 |
|
|
Messages message = new Messages(); |
|
|
Messages message = new Messages(); |
|
|
@ -217,13 +245,16 @@ public class CashRefundServiceImpl implements RefundService { |
|
|
message.setType(0); |
|
|
message.setType(0); |
|
|
message.setTypeId(cashRecordRefund.getId()); |
|
|
message.setTypeId(cashRecordRefund.getId()); |
|
|
message.setMarket(Integer.valueOf(cashRecordRefund.getMarket())); |
|
|
message.setMarket(Integer.valueOf(cashRecordRefund.getMarket())); |
|
|
String marketName = marketMapper.getMarketNameById(String.valueOf(message.getMarket())); |
|
|
|
|
|
message.setMarketName(marketName); |
|
|
|
|
|
|
|
|
String marketName2 = marketMapper.getMarketNameById(String.valueOf(message.getMarket())); |
|
|
|
|
|
message.setMarketName(marketName2); |
|
|
message.setQueryId(103); |
|
|
message.setQueryId(103); |
|
|
rabbitTemplate.convertAndSend(RabbitMQConfig.CASH_REFUND_EXCHANGE, "cash.refund.save", message); |
|
|
rabbitTemplate.convertAndSend(RabbitMQConfig.CASH_REFUND_EXCHANGE, "cash.refund.save", message); |
|
|
|
|
|
|
|
|
return Result.success("提交成功").getCode(); |
|
|
return Result.success("提交成功").getCode(); |
|
|
|
|
|
|
|
|
|
|
|
} catch (Exception e) { |
|
|
|
|
|
log.error("add error", e); |
|
|
|
|
|
throw e; |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
@ -673,7 +704,9 @@ public class CashRefundServiceImpl implements RefundService { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
|
|
|
@Transactional |
|
|
public void addOnline(CashRecordRefund cashRecordRefund) { |
|
|
public void addOnline(CashRecordRefund cashRecordRefund) { |
|
|
|
|
|
try { |
|
|
if (cashRecordRefund.getJwcode() == null) { |
|
|
if (cashRecordRefund.getJwcode() == null) { |
|
|
throw new BusinessException("未输入精网号"); |
|
|
throw new BusinessException("未输入精网号"); |
|
|
} |
|
|
} |
|
|
@ -683,6 +716,10 @@ public class CashRefundServiceImpl implements RefundService { |
|
|
if (cashRecordRefund.getRefundReason() == null) { |
|
|
if (cashRecordRefund.getRefundReason() == null) { |
|
|
throw new BusinessException("请填写退款理由"); |
|
|
throw new BusinessException("请填写退款理由"); |
|
|
} |
|
|
} |
|
|
|
|
|
if (cashRecordRefund.getMarket() == null || cashRecordRefund.getMarket().trim().isEmpty()) { |
|
|
|
|
|
throw new BusinessException("请选择所属地区"); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
CashRecordDone cashRecordDonetwo = new CashRecordDone(); |
|
|
CashRecordDone cashRecordDonetwo = new CashRecordDone(); |
|
|
cashRecordDonetwo.setAreaServise(cashRecordRefund.getAreaServise()); |
|
|
cashRecordDonetwo.setAreaServise(cashRecordRefund.getAreaServise()); |
|
|
cashRefundMapper.addAudit(cashRecordDonetwo); |
|
|
cashRefundMapper.addAudit(cashRecordDonetwo); |
|
|
@ -693,14 +730,41 @@ public class CashRefundServiceImpl implements RefundService { |
|
|
String orderNumber = cashRecordRefund.getOrderCode(); |
|
|
String orderNumber = cashRecordRefund.getOrderCode(); |
|
|
//构建订单信息 |
|
|
//构建订单信息 |
|
|
cashRecordRefund.setOrderCode("TK" + orderNumber); //订单号 |
|
|
cashRecordRefund.setOrderCode("TK" + orderNumber); //订单号 |
|
|
cashRecordRefund.setMarket(String.valueOf(Integer.valueOf(marketMapper.getMarketId(cashRecordRefund.getMarket())))); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 查询市场 ID,增加空值检查 |
|
|
|
|
|
String marketName = cashRecordRefund.getMarket(); |
|
|
|
|
|
|
|
|
|
|
|
// 如果传入的是英文名称,需要转换为中文名称再查询 |
|
|
|
|
|
String marketId = marketMapper.getMarketId(marketName); |
|
|
|
|
|
if (marketId == null || marketId.trim().isEmpty()) { |
|
|
|
|
|
// 尝试将英文名称转换为中文后再次查询 |
|
|
|
|
|
String chineseMarketName = translationService.findChineseSimplifiedByTranslation(marketName, "en"); |
|
|
|
|
|
if (chineseMarketName != null && !chineseMarketName.equals(marketName)) { |
|
|
|
|
|
marketId = marketMapper.getMarketId(chineseMarketName); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (marketId == null || marketId.trim().isEmpty()) { |
|
|
|
|
|
throw new BusinessException("无效的所属地区:" + cashRecordRefund.getMarket()); |
|
|
|
|
|
} |
|
|
|
|
|
cashRecordRefund.setMarket(String.valueOf(Integer.valueOf(marketId))); |
|
|
|
|
|
|
|
|
cashRefundMapper.insert(cashRecordRefund); |
|
|
cashRefundMapper.insert(cashRecordRefund); |
|
|
|
|
|
|
|
|
CashRecordDone cashRecordDone1 = new CashRecordDone(); |
|
|
CashRecordDone cashRecordDone1 = new CashRecordDone(); |
|
|
cashRecordDone1.setId(cashRecordRefund.getId()); |
|
|
|
|
|
|
|
|
cashRecordDone1.setId(cashRecordRefund.getOriginalOrderId()); |
|
|
cashRecordDone1.setStatus(6); |
|
|
cashRecordDone1.setStatus(6); |
|
|
if (cashRecordDone1.getId() != null || cashRecordDone1.getOrderCode() != null) |
|
|
|
|
|
|
|
|
if (cashRecordDone1.getId() != null || cashRecordDone1.getOrderCode() != null) { |
|
|
cashRefundMapper.updateStatus(cashRecordDone1); |
|
|
cashRefundMapper.updateStatus(cashRecordDone1); |
|
|
else throw new SystemException("提交失败"); |
|
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
throw new SystemException("提交失败"); |
|
|
|
|
|
} |
|
|
|
|
|
} catch (BusinessException | SystemException e) { |
|
|
|
|
|
throw e; |
|
|
|
|
|
} catch (Exception e) { |
|
|
|
|
|
log.error("addOnline error", e); |
|
|
|
|
|
throw new SystemException("提交失败:" + e.getMessage()); |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
|