Commit 407188f2 authored by tangf's avatar tangf

保存资金流水和商户余额MQ拆分

parent 778af98c
...@@ -15,6 +15,7 @@ import com.pangding.web.vo.order.req.back.CashWithdrawalBackReqVo; ...@@ -15,6 +15,7 @@ import com.pangding.web.vo.order.req.back.CashWithdrawalBackReqVo;
import com.pangding.web.vo.order.tl.CashWithdrawalReqVo; import com.pangding.web.vo.order.tl.CashWithdrawalReqVo;
import com.pangding.web.vo.order.tl.SoundReqVo; import com.pangding.web.vo.order.tl.SoundReqVo;
import com.pangding.web.vo.system.req.CompanyMsgReqVo; import com.pangding.web.vo.system.req.CompanyMsgReqVo;
import com.pangding.web.vo.system.req.company.UpdateCompanyMoneyReqVo;
import com.rabbitmq.client.Channel; import com.rabbitmq.client.Channel;
import com.yanzuoguang.mq.service.MqService; import com.yanzuoguang.mq.service.MqService;
import com.yanzuoguang.mq.vo.MessageVo; import com.yanzuoguang.mq.vo.MessageVo;
...@@ -74,14 +75,16 @@ public class CompanyConsumer { ...@@ -74,14 +75,16 @@ public class CompanyConsumer {
companyProducer.applyWithdrawal(capitalFlowReqVo); companyProducer.applyWithdrawal(capitalFlowReqVo);
} }
public void updateCompanyMoneyMQ(UpdateCompanyMoneyReqVo updateCompanyMoneyReqVo){
companyProducer.companyMoneyUpdate(updateCompanyMoneyReqVo);
}
@RabbitListener(queues = {MqConstant.COMPANY_MONEY_UPDATE}) @RabbitListener(queues = {MqConstant.COMPANY_MONEY_UPDATE})
public void UpdateCompanyMoney(String content, Message message, Channel channel) { public void updateCompanyMoney(String content, Message message, Channel channel) {
log.info("[UpdateCompanyMoney 监听的消息] - [消费时间] - [{}] - [{}]", DateHelper.getNow(), content); log.info("[updateCompanyMoney 监听的消息] - [消费时间] - [{}] - [{}]", DateHelper.getNow(), content);
try { try {
// CompanyMoneyUpdateReqVo companyMoneyUpdateReqVo = JsonHelper.deserialize(content, CompanyMoneyUpdateReqVo.class); UpdateCompanyMoneyReqVo updateCompanyMoneyReqVo = JsonHelper.deserialize(content, UpdateCompanyMoneyReqVo.class);
// companyService.updateCompanyMoney(companyMoneyUpdateReqVo); financeService.updateCompanyMoney(updateCompanyMoneyReqVo);
CapitalFlowReqVo capitalFlowReqVo = JsonHelper.deserialize(content, CapitalFlowReqVo.class);
financeService.updateCompanyMoney(capitalFlowReqVo);
} catch (Exception e) { } catch (Exception e) {
Log.error(CompanyConsumer.class, e); Log.error(CompanyConsumer.class, e);
mqService.message(new MessageVo(MqConstant.COMPANY_MONEY_UPDATE, MqConstant.COMPANY_MONEY_UPDATE, mqService.message(new MessageVo(MqConstant.COMPANY_MONEY_UPDATE, MqConstant.COMPANY_MONEY_UPDATE,
...@@ -91,6 +94,21 @@ public class CompanyConsumer { ...@@ -91,6 +94,21 @@ public class CompanyConsumer {
} }
} }
@RabbitListener(queues = {MqConstant.SAVE_CAPITAL_FLOW})
public void saveCapitalFlow(String content, Message message, Channel channel) {
log.info("[saveCapitalFlow 监听的消息] - [消费时间] - [{}] - [{}]", DateHelper.getNow(), content);
try {
CapitalFlowReqVo capitalFlowReqVo = JsonHelper.deserialize(content, CapitalFlowReqVo.class);
financeService.saveCapitalFlow(capitalFlowReqVo);
} catch (Exception e) {
Log.error(CompanyConsumer.class, e);
mqService.message(new MessageVo(MqConstant.SAVE_CAPITAL_FLOW, MqConstant.SAVE_CAPITAL_FLOW,
content, 2000));
} finally {
mqService.basicAck(message, channel);
}
}
@RabbitListener(queues = {MqConstant.COMPANY_MSG}) @RabbitListener(queues = {MqConstant.COMPANY_MSG})
public void saveComapnyMsg(String content, Message message, Channel channel) { public void saveComapnyMsg(String content, Message message, Channel channel) {
log.info("[saveComapnyMsg 监听的消息] - [消费时间] - [{}] - [{}]", DateHelper.getNow(), content); log.info("[saveComapnyMsg 监听的消息] - [消费时间] - [{}] - [{}]", DateHelper.getNow(), content);
......
...@@ -5,6 +5,7 @@ import com.pangding.web.authority.vo.resvo.WithdrawalResVo; ...@@ -5,6 +5,7 @@ import com.pangding.web.authority.vo.resvo.WithdrawalResVo;
import com.pangding.web.vo.order.req.CapitalFlowReqVo; import com.pangding.web.vo.order.req.CapitalFlowReqVo;
import com.pangding.web.vo.order.req.back.CashWithdrawalBackReqVo; import com.pangding.web.vo.order.req.back.CashWithdrawalBackReqVo;
import com.pangding.web.vo.order.res.CapitalFlowListResVo; import com.pangding.web.vo.order.res.CapitalFlowListResVo;
import com.pangding.web.vo.system.req.company.UpdateCompanyMoneyReqVo;
import com.yanzuoguang.util.vo.ResponseResult; import com.yanzuoguang.util.vo.ResponseResult;
/** /**
...@@ -36,6 +37,8 @@ public interface FinanceService { ...@@ -36,6 +37,8 @@ public interface FinanceService {
* @param req * @param req
* @return * @return
*/ */
ResponseResult<String> updateCompanyMoney(CapitalFlowReqVo req); ResponseResult<String> saveCapitalFlow(CapitalFlowReqVo req);
void updateCompanyMoney(UpdateCompanyMoneyReqVo updateCompanyMoneyReqVo);
} }
...@@ -160,11 +160,12 @@ public class FinanceServiceImpl implements FinanceService { ...@@ -160,11 +160,12 @@ public class FinanceServiceImpl implements FinanceService {
updateCompanyMoneyReqVo.setCompanyId(companyResVo.getId()); updateCompanyMoneyReqVo.setCompanyId(companyResVo.getId());
updateCompanyMoneyReqVo.setOldWithdrawTotalCash(oldMoney); updateCompanyMoneyReqVo.setOldWithdrawTotalCash(oldMoney);
updateCompanyMoneyReqVo.setNewWithdrawTotalCash(newMoney); updateCompanyMoneyReqVo.setNewWithdrawTotalCash(newMoney);
companyExtendDao.updateCompanyMoney(updateCompanyMoneyReqVo); companyConsumer.updateCompanyMoneyMQ(updateCompanyMoneyReqVo);
// companyExtendDao.updateCompanyMoney(updateCompanyMoneyReqVo);
capitalFlowVo.setInitMoney(oldMoney); capitalFlowVo.setInitMoney(oldMoney);
capitalFlowVo.setFinalMoney(newMoney); capitalFlowVo.setFinalMoney(newMoney);
updateCompanyMoney(capitalFlowVo, companyResVo); saveCompanyMoney(capitalFlowVo, companyResVo);
} }
} }
capitalFlowDao.update(capitalFlowVo); capitalFlowDao.update(capitalFlowVo);
...@@ -176,7 +177,7 @@ public class FinanceServiceImpl implements FinanceService { ...@@ -176,7 +177,7 @@ public class FinanceServiceImpl implements FinanceService {
@Transactional @Transactional
@Override @Override
public ResponseResult<String> updateCompanyMoney(CapitalFlowReqVo req) { public ResponseResult<String> saveCapitalFlow(CapitalFlowReqVo req) {
CompanyResVo companyVo = companyDao.load(req.getCompanyId(), CompanyResVo.class); CompanyResVo companyVo = companyDao.load(req.getCompanyId(), CompanyResVo.class);
if (StringHelper.isEmpty(companyVo)) { if (StringHelper.isEmpty(companyVo)) {
throw new CodeException("未找到公司信息"); throw new CodeException("未找到公司信息");
...@@ -185,13 +186,13 @@ public class FinanceServiceImpl implements FinanceService { ...@@ -185,13 +186,13 @@ public class FinanceServiceImpl implements FinanceService {
double oldMoney = companyVo.getWithdrawTotalCash(); double oldMoney = companyVo.getWithdrawTotalCash();
double newMoney = oldMoney; double newMoney = oldMoney;
double money = req.getActualMoney(); double money = req.getActualMoney();
if (CompanyConstant.MONEY_CATEGORY_TYPE_DEAL == req.getCategory() if (CompanyConstant.CATEGORY_ENTRY == req.getCategory()
|| CompanyConstant.MONEY_CATEGORY_TYPE_RECHARGE == req.getCategory() || CompanyConstant.CATEGORY_RECHARGE == req.getCategory()
|| CompanyConstant.MONEY_CATEGORY_TYPE_OVER == req.getCategory()) { || CompanyConstant.CATEGORY_DIVIDEND == req.getCategory()) {
// 交易订单金额 充值 分润 // 交易订单金额 充值 分润
newMoney = oldMoney + req.getActualMoney(); newMoney = oldMoney + req.getActualMoney();
} }
if (CompanyConstant.MONEY_CATEGORY_TYPE_REFUND == req.getCategory()) { if (CompanyConstant.CATEGORY_REFUND == req.getCategory()) {
// 退款 // 退款
newMoney = oldMoney - req.getActualMoney(); newMoney = oldMoney - req.getActualMoney();
money = -money; money = -money;
...@@ -222,29 +223,36 @@ public class FinanceServiceImpl implements FinanceService { ...@@ -222,29 +223,36 @@ public class FinanceServiceImpl implements FinanceService {
updateCompanyMoneyReqVo.setCompanyId(companyVo.getId()); updateCompanyMoneyReqVo.setCompanyId(companyVo.getId());
updateCompanyMoneyReqVo.setOldWithdrawTotalCash(oldMoney); updateCompanyMoneyReqVo.setOldWithdrawTotalCash(oldMoney);
updateCompanyMoneyReqVo.setNewWithdrawTotalCash(newMoney); updateCompanyMoneyReqVo.setNewWithdrawTotalCash(newMoney);
companyExtendDao.updateCompanyMoney(updateCompanyMoneyReqVo); // companyExtendDao.updateCompanyMoney(updateCompanyMoneyReqVo);
updateCompanyMoney(capitalFlowVo, companyVo); companyConsumer.updateCompanyMoneyMQ(updateCompanyMoneyReqVo);
saveCompanyMoney(capitalFlowVo, companyVo);
return ResponseResult.result("处理完成"); return ResponseResult.result("处理完成");
} }
public void updateCompanyMoney(CapitalFlowVo capitalFlowVo, CompanyResVo companyVo){ @Override
public void updateCompanyMoney(UpdateCompanyMoneyReqVo updateCompanyMoneyReqVo){
companyExtendDao.updateCompanyMoney(updateCompanyMoneyReqVo);
}
public void saveCompanyMoney(CapitalFlowVo capitalFlowVo, CompanyResVo companyVo){
//修改公司余额 //修改公司余额
double oldMoney = companyVo.getWithdrawTotalCash(); double oldMoney = companyVo.getWithdrawTotalCash();
double inMoney = 0d, outMoney = 0d, refundMoney = 0d; double inMoney = 0d, outMoney = 0d, refundMoney = 0d;
int inNumber = 0, outNumber = 0, refundNumber = 0; int inNumber = 0, outNumber = 0, refundNumber = 0;
if (CompanyConstant.MONEY_CATEGORY_TYPE_DEAL == capitalFlowVo.getCategory() if (CompanyConstant.CATEGORY_ENTRY == capitalFlowVo.getCategory()
|| CompanyConstant.MONEY_CATEGORY_TYPE_RECHARGE == capitalFlowVo.getCategory() || CompanyConstant.CATEGORY_RECHARGE == capitalFlowVo.getCategory()
|| CompanyConstant.MONEY_CATEGORY_TYPE_OVER == capitalFlowVo.getCategory()) { || CompanyConstant.CATEGORY_DIVIDEND == capitalFlowVo.getCategory()) {
// 交易订单金额 充值 分润 // 交易订单金额 充值 分润
inNumber = 1; inNumber = 1;
inMoney = capitalFlowVo.getActualMoney(); inMoney = capitalFlowVo.getActualMoney();
} }
if (CompanyConstant.MONEY_CATEGORY_TYPE_REFUND == capitalFlowVo.getCategory()) { if (CompanyConstant.CATEGORY_REFUND == capitalFlowVo.getCategory()) {
// 退款 // 退款
refundNumber = 1; refundNumber = 1;
refundMoney = capitalFlowVo.getActualMoney(); refundMoney = capitalFlowVo.getActualMoney();
} }
if (CompanyConstant.MONEY_CATEGORY_TYPE_DRAW == capitalFlowVo.getCategory()) { if (CompanyConstant.CATEGORY_WITHDRAWAL == capitalFlowVo.getCategory()) {
// 提现 // 提现
outNumber = 1; outNumber = 1;
outMoney = -capitalFlowVo.getOrderMoney(); outMoney = -capitalFlowVo.getOrderMoney();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment