Commit 71d6696b authored by tangf's avatar tangf

修改商户余额资金流水

parent ce923ff7
package com.pangding.web;
import com.pangding.web.authority.mq.MqPlan;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
......@@ -24,15 +22,11 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
})
public class UserApp implements CommandLineRunner{
@Autowired
private MqPlan mqPlan;
public static void main(String[] args) {
SpringApplication.run(UserApp.class, args);
}
@Override
public void run(String... args) throws Exception {
mqPlan.init();
}
}
\ No newline at end of file
......@@ -3,6 +3,9 @@ package com.pangding.web.authority.controller;
import com.pangding.web.authority.service.FinanceService;
import com.pangding.web.authority.vo.reqvo.WithdrawalReqVo;
import com.pangding.web.authority.vo.resvo.WithdrawalResVo;
import com.pangding.web.vo.order.req.CapitalFlowReqVo;
import com.pangding.web.vo.order.req.back.CashWithdrawalBackReqVo;
import com.pangding.web.vo.order.res.CapitalFlowListResVo;
import com.yanzuoguang.util.helper.CheckerHelper;
import com.yanzuoguang.util.vo.ResponseResult;
import io.swagger.annotations.Api;
......@@ -21,7 +24,25 @@ import org.springframework.web.bind.annotation.*;
@Api(value = "余额", description = "余额")
public class FinanceController {
@Autowired
private FinanceService financeServiceImpl;
private FinanceService financeService;
/**
* 查询订单列表PageSizeData<CapitalFlowResVo>
*
* @param req
* @return
*/
@RequestMapping(value = "/findCapitalFlowList")
public ResponseResult<CapitalFlowListResVo> findCapitalFlowList(@RequestBody CapitalFlowReqVo req) {
CheckerHelper.newInstance()
.notBlankCheck("companyId", req.getCompanyId())
.checkException();
if("10001".equals(req.getCompanyId())){
req.setCompanyId("");
}
CapitalFlowListResVo capitalFlowListResVo = financeService.findCapitalFlowList(req);
return ResponseResult.result(capitalFlowListResVo);
}
@PostMapping(value = "/withdrawal")
@ApiOperation(value = "公司余额查询", notes = "返回公司余额信息")
......@@ -29,7 +50,33 @@ public class FinanceController {
CheckerHelper.newInstance()
.notBlankCheck("companyId",reqVo.getCompanyId())
.checkException();
return ResponseResult.result(financeServiceImpl.withdrawal(reqVo));
return ResponseResult.result(financeService.withdrawal(reqVo));
}
/**
* 提现申请
* @param req
* @return
*/
@RequestMapping(value = "/applyWithdrawal")
@ApiOperation(value = "提现申请", notes = "返回提现申请结果")
public ResponseResult<CapitalFlowReqVo> applyWithdrawal(@RequestBody CapitalFlowReqVo req) {
CheckerHelper.newInstance()
.notBlankCheck("companyId", req.getCompanyId())
.notBlankCheck("companyName", req.getCompanyName())
.notBlankCheck("bankId", req.getBankId())
.notBlankCheck("bankCardCode", req.getBankCardCode())
.notBlankCheck("orderMoney", req.getOrderMoney())
.checkException();
return financeService.applyWithdrawal(req);
}
/**
* 提现回调
*/
@RequestMapping(value = "/withdrawalBack")
public ResponseResult<String> withdrawalBack(@RequestBody CashWithdrawalBackReqVo req){
return financeService.withdrawalBack(req);
}
}
......@@ -9,7 +9,6 @@ import com.pangding.web.authority.vo.resvo.SaveCompanyResVo;
import com.pangding.web.vo.system.pd.company.CompanyBankCardVo;
import com.pangding.web.vo.system.pd.company.CompanyVo;
import com.pangding.web.vo.system.req.company.CompanyBankCardReqVo;
import com.pangding.web.vo.system.req.company.CompanyMoneyUpdateReqVo;
import com.pangding.web.vo.system.res.company.CompanyResVo;
import com.yanzuoguang.util.helper.CheckerHelper;
import com.yanzuoguang.util.vo.PageSizeData;
......@@ -312,13 +311,13 @@ public class PangdingManagementController {
return new ResponseResult();
}
@RequestMapping(value = "updateCompanyMoney",produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
public ResponseResult<String> updateCompanyMoney(@RequestBody CompanyMoneyUpdateReqVo req){
CheckerHelper.newInstance()
.notBlankCheck("companyId",req.getCompanyId())
.notBlankCheck("money", req.getMoney())
.notBlankCheck("moneyType", req.getMoney())
.checkException();
return companyServiceImpl.updateCompanyMoney(req);
}
// @RequestMapping(value = "updateCompanyMoney",produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
// public ResponseResult<String> updateCompanyMoney(@RequestBody CompanyMoneyUpdateReqVo req){
// CheckerHelper.newInstance()
// .notBlankCheck("companyId",req.getCompanyId())
// .notBlankCheck("money", req.getMoney())
// .notBlankCheck("moneyType", req.getMoney())
// .checkException();
// return companyServiceImpl.updateCompanyMoney(req);
// }
}
package com.pangding.web.authority.dao;
import com.pangding.web.vo.order.req.CapitalFlowReqVo;
import com.pangding.web.vo.order.res.CapitalFlowResVo;
import com.yanzuoguang.dao.BaseDao;
import com.yanzuoguang.util.vo.PageSizeData;
public interface CapitalFlowDao extends BaseDao {
PageSizeData<CapitalFlowResVo> findCapitalFlowList(CapitalFlowReqVo req);
CapitalFlowResVo findCapitalFlowTotal(CapitalFlowReqVo req);
}
package com.pangding.web.authority.dao;
import com.pangding.web.vo.system.req.company.UpdateCompanyMoneyReqVo;
import com.yanzuoguang.dao.BaseDao;
/**
......@@ -7,4 +8,7 @@ import com.yanzuoguang.dao.BaseDao;
* @create 2019/5/16 17:20
*/
public interface CompanyExtendDao extends BaseDao {
void updateCompanyMoney(UpdateCompanyMoneyReqVo req);
}
package com.pangding.web.authority.dao;
import com.yanzuoguang.dao.BaseDao;
public interface CompanyMoneyDao extends BaseDao {
}
package com.pangding.web.authority.dao.impl;
import com.pangding.web.authority.dao.CapitalFlowDao;
import com.pangding.web.vo.order.pd.CapitalFlowVo;
import com.pangding.web.vo.order.req.CapitalFlowReqVo;
import com.pangding.web.vo.order.res.CapitalFlowResVo;
import com.yanzuoguang.dao.impl.BaseDaoImpl;
import com.yanzuoguang.util.vo.PageSizeData;
import org.springframework.stereotype.Component;
@Component
public class CapitalFlowDaoImpl extends BaseDaoImpl implements CapitalFlowDao {
private static final String QUERY_LIST = "QUERY_CAPITAL_FLOW_LIST";
private static final String QUERY_LIST_TOTAL = "QUERY_LIST_TOTAL";
@Override
protected void init() {
register(CapitalFlowVo.class);
table.add(QUERY_LIST, "SELECT * FROM pd_capital_flow where 1=1 {WHERE} order by time desc")
.add("companyId","and company_id = ? ")
.add("companyName","and company_name LIKE concat(?,'%') ")
.add("startDate", "and time >= ? ")
.add("endDate", "and time <= ? ")
.add("orderId", "and order_id = ? ")
.add("category", "and category = ?");
table.add(QUERY_LIST_TOTAL, "SELECT sum(order_money) as order_money,sum(order_fee) as order_fee,sum(actual_money) as actual_money " +
"FROM pd_capital_flow where 1=1 {WHERE} order by time desc")
.add("companyId","and company_id = ? ")
.add("companyName","and company_name LIKE concat(?,'%')")
.add("startDate", "and time >= ? ")
.add("endDate", "and time <= ? ")
.add("orderId", "and order_id = ? ")
.add("category", "and category = ?");
}
@Override
public PageSizeData<CapitalFlowResVo> findCapitalFlowList(CapitalFlowReqVo req){
return this.queryPage(CapitalFlowResVo.class, req, QUERY_LIST, req);
}
@Override
public CapitalFlowResVo findCapitalFlowTotal(CapitalFlowReqVo req){
return this.queryFirst(CapitalFlowResVo.class, QUERY_LIST_TOTAL, req);
}
}
......@@ -18,6 +18,8 @@ public class CompanyDaoImpl extends BaseDaoImpl implements CompanyDao {
private static final String SELECT = "SELECT";
@Override
protected void init() {
......@@ -33,6 +35,8 @@ public class CompanyDaoImpl extends BaseDaoImpl implements CompanyDao {
getSql(DaoConst.LOAD).addCode("{FIELD}", ",b.*", "{INNER}", "INNER JOIN pd_company_extend b ON a.id = b.id");
}
@Override
......
......@@ -2,6 +2,7 @@ package com.pangding.web.authority.dao.impl;
import com.pangding.web.authority.dao.CompanyExtendDao;
import com.pangding.web.vo.system.pd.company.CompanyExtendVo;
import com.pangding.web.vo.system.req.company.UpdateCompanyMoneyReqVo;
import com.yanzuoguang.dao.impl.BaseDaoImpl;
import org.springframework.stereotype.Component;
......@@ -11,8 +12,25 @@ import org.springframework.stereotype.Component;
*/
@Component
public class CompanyExtendDaoImpl extends BaseDaoImpl implements CompanyExtendDao {
private static final String UPDATE_COMPANY_MONEY = "UPDATE_COMPANY_MONEY";
@Override
protected void init() {
register(CompanyExtendVo.class);
table.add(UPDATE_COMPANY_MONEY, "UPDATE pd_company_extend SET withdraw_total_cash = @newWithdrawTotalCash " +
"WHERE id = @companyId AND withdraw_total_cash = @oldWithdrawTotalCash");
}
@Override
public void updateCompanyMoney(UpdateCompanyMoneyReqVo req) {
this.updateSql(UPDATE_COMPANY_MONEY, req);
}
}
package com.pangding.web.authority.dao.impl;
import com.pangding.web.authority.dao.CompanyMoneyDao;
import com.pangding.web.vo.system.pd.company.CompanyMoneyVo;
import com.yanzuoguang.dao.impl.BaseDaoImpl;
import org.springframework.stereotype.Component;
@Component
public class CompanyMoneyDaoImpl extends BaseDaoImpl implements CompanyMoneyDao {
@Override
protected void init() {
register(CompanyMoneyVo.class);
}
}
......@@ -2,15 +2,22 @@ package com.pangding.web.authority.mq;
import com.pangding.web.authority.service.CompanyMsgService;
import com.pangding.web.authority.service.CompanyService;
import com.pangding.web.authority.service.FinanceService;
import com.pangding.web.constant.MqConstant;
import com.pangding.web.constant.OrderConstant;
import com.pangding.web.mq.CompanyProducer;
import com.pangding.web.mq.PayProducer;
import com.pangding.web.vo.order.req.CapitalFlowReqVo;
import com.pangding.web.vo.order.req.OrderLogReqVo;
import com.pangding.web.vo.order.req.OrderMoneyDetailReqVo;
import com.pangding.web.vo.order.req.back.CashWithdrawalBackReqVo;
import com.pangding.web.vo.order.tl.CashWithdrawalReqVo;
import com.pangding.web.vo.system.req.CompanyMsgReqVo;
import com.pangding.web.vo.system.req.company.CompanyMoneyUpdateReqVo;
import com.rabbitmq.client.Channel;
import com.yanzuoguang.mq.service.MqService;
import com.yanzuoguang.util.helper.DateHelper;
import com.yanzuoguang.util.helper.JsonHelper;
import com.yanzuoguang.util.helper.StringHelper;
import com.yanzuoguang.util.log.Log;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
......@@ -27,11 +34,15 @@ public class CompanyConsumer {
@Autowired
private CompanyProducer companyProducer;
@Autowired
private PayProducer payProducer;
@Autowired
private MqService mqService;
@Autowired
private CompanyService companyService;
@Autowired
private CompanyMsgService companyMsgService;
@Autowired
private FinanceService financeService;
/**
......@@ -53,10 +64,14 @@ public class CompanyConsumer {
public void UpdateCompanyMoney(String content, Message message, Channel channel) {
log.info("[UpdateCompanyMoney 监听的消息] - [消费时间] - [{}] - [{}]", DateHelper.getNow(), content);
try {
CompanyMoneyUpdateReqVo companyMoneyUpdateReqVo = JsonHelper.deserialize(content, CompanyMoneyUpdateReqVo.class);
companyService.updateCompanyMoney(companyMoneyUpdateReqVo);
// CompanyMoneyUpdateReqVo companyMoneyUpdateReqVo = JsonHelper.deserialize(content, CompanyMoneyUpdateReqVo.class);
// companyService.updateCompanyMoney(companyMoneyUpdateReqVo);
CapitalFlowReqVo capitalFlowReqVo = JsonHelper.deserialize(content, CapitalFlowReqVo.class);
financeService.updateCompanyMoney(capitalFlowReqVo);
} catch (Exception e) {
Log.error(CompanyConsumer.class, e);
// mqService.message(new MessageVo(MqConstant.COMPANY_MONEY_UPDATE, MqConstant.COMPANY_MONEY_UPDATE,
// content, 2000));
} finally {
mqService.basicAck(message, channel);
}
......@@ -76,17 +91,92 @@ public class CompanyConsumer {
}
// @RabbitListener(queues = {MqConstant.COMPANY_MONEY_UPDATE})
// public void UpdateCompanyMoney(String content, Message message, Channel channel) {
// log.info("[UpdateCompanyMoney 监听的消息] - [消费时间] - [{}] - [{}]", DateHelper.getNow(), content);
// try {
// CompanyMoneyUpdateReqVo companyMoneyUpdateReqVo = JsonHelper.deserialize(content, CompanyMoneyUpdateReqVo.class);
// companyService.updateCompanyMoney(companyMoneyUpdateReqVo);
// } catch (Exception e) {
// Log.error(CompanyConsumer.class, e);
// } finally {
// mqService.basicAck(message, channel);
// }
// }
/**
* 提现
*
* @param cashWithdrawalReqVo
*/
public void cashWithdrawal(CashWithdrawalReqVo cashWithdrawalReqVo) {
payProducer.cashWithdrawal(cashWithdrawalReqVo);
}
/**
* 提现回调
*
* @param content
* @param message
* @param channel
*/
@RabbitListener(queues = {MqConstant.CASH_WITHDRAWAL_BACK})
public void applyMoneyBack(String content, Message message, Channel channel) {
log.info("[applyMoneyBack 监听的消息] - [消费时间] - [{}] - [{}]", DateHelper.getNow(), content);
CashWithdrawalBackReqVo req = JsonHelper.deserialize(content, CashWithdrawalBackReqVo.class);
try {
financeService.withdrawalBack(req);
// 保存订单日志MQ
OrderLogReqVo orderLogReqVo = new OrderLogReqVo(StringHelper.getNewID(), req.getId(), OrderConstant.ORDER_REFUND_BACK,
JsonHelper.serialize(req), "", req.getCompanyId(), "");
// saveOrderLog(orderLogReqVo);
} catch (Exception e) {
Log.error(CompanyConsumer.class, e);
// 保存订单日志MQ
OrderLogReqVo orderLogReqVo = new OrderLogReqVo(StringHelper.getNewID(), req.getId(), OrderConstant.ORDER_REFUND_BACK,
JsonHelper.serialize(req), e.getMessage(), req.getCompanyId(), "");
// saveOrderLog(orderLogReqVo);
} finally {
mqService.basicAck(message, channel);
}
}
@RabbitListener(queues = {MqConstant.DIVIDE_SETTLEMENT_INIT})
public void divideSettlementInit(String content, Message message, Channel channel) {
log.info("[divideSettlementInit 监听的消息] - [消费时间] - [{}] - [{}]", DateHelper.getNow(), content);
OrderMoneyDetailReqVo req = JsonHelper.deserialize(content, OrderMoneyDetailReqVo.class);
try {
// financeService.divideSettlement(req);
// 保存订单日志MQ
OrderLogReqVo orderLogReqVo = new OrderLogReqVo(StringHelper.getNewID(), req.getOrderId(), "转账初始化",
JsonHelper.serialize(req), "", req.getCompanyId(), "");
// saveOrderLog(orderLogReqVo);
} catch (Exception e) {
Log.error(CompanyConsumer.class, e);
// 保存订单日志MQ
OrderLogReqVo orderLogReqVo = new OrderLogReqVo(StringHelper.getNewID(), req.getOrderId(), "转账初始化",
JsonHelper.serialize(req), e.getMessage(), req.getCompanyId(), "");
// saveOrderLog(orderLogReqVo);
} finally {
mqService.basicAck(message, channel);
}
}
/**
* 分润结算回调
*
* @param content
* @param message
* @param channel
*/
@RabbitListener(queues = {MqConstant.DIVIDE_SETTLEMENT_BACK})
public void divideSettlementBack(String content, Message message, Channel channel) {
log.info("[divideSettlementBack 监听的消息] - [消费时间] - [{}] - [{}]", DateHelper.getNow(), content);
CashWithdrawalBackReqVo req = JsonHelper.deserialize(content, CashWithdrawalBackReqVo.class);
try {
// financeService.divideSettlementBack(req);
// 保存订单日志MQ
OrderLogReqVo orderLogReqVo = new OrderLogReqVo(StringHelper.getNewID(), req.getId(), "转账回调",
JsonHelper.serialize(req), "", req.getCompanyId(), "");
// saveOrderLog(orderLogReqVo);
} catch (Exception e) {
Log.error(CompanyConsumer.class, e);
// 保存订单日志MQ
OrderLogReqVo orderLogReqVo = new OrderLogReqVo(StringHelper.getNewID(), req.getId(), "转账回调",
JsonHelper.serialize(req), e.getMessage(), req.getCompanyId(), "");
// saveOrderLog(orderLogReqVo);
} finally {
mqService.basicAck(message, channel);
}
}
}
package com.pangding.web.authority.mq;
import com.pangding.web.mq.CompanyProducer;
import com.pangding.web.mq.DistributionProducer;
import com.pangding.web.mq.OrderProducer;
import com.pangding.web.mq.PayProducer;
import com.yanzuoguang.mq.service.MqService;
import com.yanzuoguang.util.thread.ThreadNext;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
......@@ -15,37 +12,17 @@ import org.springframework.stereotype.Component;
* @author 11488
*/
@Component
public class MqPlan implements ThreadNext.Next {
public class MqPlan implements InitializingBean {
@Autowired
private MqService mqService;
@Autowired
private CompanyProducer companyProducer;
@Autowired
private PayProducer payProducer;
public MqPlan() {
ThreadNext.start(this, "queue initByLog error");
}
@Override
public boolean next() throws Exception {
if (mqService == null || null == companyProducer) {
return true;
}
public void afterPropertiesSet() throws Exception {
companyProducer.init();
return false;
}
@Override
public int getNextTime() {
return 1000;
}
public void init() {
try {
this.next();
} catch (Exception e) {
e.printStackTrace();
}
payProducer.init();
}
}
......@@ -6,7 +6,6 @@ import com.pangding.web.authority.vo.resvo.*;
import com.pangding.web.vo.system.pd.company.CompanyBankCardVo;
import com.pangding.web.vo.system.pd.company.CompanyVo;
import com.pangding.web.vo.system.req.company.CompanyBankCardReqVo;
import com.pangding.web.vo.system.req.company.CompanyMoneyUpdateReqVo;
import com.pangding.web.vo.system.res.company.CompanyResVo;
import com.pangding.web.vo.system.res.company.FindCompanyBalanceResVo;
import com.yanzuoguang.util.vo.PageSizeData;
......@@ -191,9 +190,6 @@ public interface CompanyService{
*/
void examineConfig(ExamineConfigReqVo reqVo);
ResponseResult<String> updateCompanyMoney(CompanyMoneyUpdateReqVo req);
/**
* 找到公司信息及公司余额明细
* @param req
......@@ -202,4 +198,5 @@ public interface CompanyService{
FindCompanyBalanceResVo findCompanyBalance(com.pangding.web.vo.system.req.company.CompanyReqVo req);
com.pangding.web.vo.system.res.company.CompanyResVo findCompanyById(com.pangding.web.vo.system.req.company.CompanyReqVo req);
}
......@@ -2,11 +2,40 @@ package com.pangding.web.authority.service;
import com.pangding.web.authority.vo.reqvo.WithdrawalReqVo;
import com.pangding.web.authority.vo.resvo.WithdrawalResVo;
import com.pangding.web.vo.order.req.CapitalFlowReqVo;
import com.pangding.web.vo.order.req.back.CashWithdrawalBackReqVo;
import com.pangding.web.vo.order.res.CapitalFlowListResVo;
import com.yanzuoguang.util.vo.ResponseResult;
/**
* @Author zhangjinyao
* @create 2019/6/18 20:01
*/
public interface FinanceService {
WithdrawalResVo withdrawal(WithdrawalReqVo reqVo);
CapitalFlowListResVo findCapitalFlowList(CapitalFlowReqVo req);
/**
* 申请提现
* @param req
* @return
*/
ResponseResult<CapitalFlowReqVo> applyWithdrawal(CapitalFlowReqVo req);
/**
* 提现回调
* @param req
* @return
*/
ResponseResult<String> withdrawalBack(CashWithdrawalBackReqVo req);
/**
* 修改公司余额
* @param req
* @return
*/
ResponseResult<String> updateCompanyMoney(CapitalFlowReqVo req);
}
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