| | |
| | | package com.doumee.service.business.impl; |
| | | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.doumee.config.wx.SendWxMessage; |
| | | import com.doumee.config.wx.TransferToUser; |
| | | import com.doumee.config.wx.WXPayUtility; |
| | | import com.doumee.config.wx.WxMiniConfig; |
| | |
| | | import com.doumee.core.exception.BusinessException; |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.core.utils.DateUtil; |
| | | import com.doumee.core.utils.Utils; |
| | | import com.doumee.dao.business.MemberMapper; |
| | | import com.doumee.dao.business.MemberRevenueMapper; |
| | |
| | | |
| | | @Autowired |
| | | private MemberRevenueMapper memberRevenueMapper; |
| | | |
| | | @Autowired |
| | | private SendWxMessage sendWxMessage; |
| | | |
| | | @Override |
| | | public Integer create(WithdrawalOrders withdrawalOrders) { |
| | |
| | | |
| | | @Override |
| | | public void transferSuccess(String outBillNo,Boolean isSuccess){ |
| | | //转账成功 |
| | | if(isSuccess){ |
| | | withdrawalOrdersMapper.update(new UpdateWrapper<WithdrawalOrders>().lambda() |
| | | .set(WithdrawalOrders::getStatus,Constants.ONE) |
| | | .eq(WithdrawalOrders::getOutBillNo,outBillNo) |
| | | ); |
| | | }else { |
| | | WithdrawalOrders withdrawalOrders = withdrawalOrdersMapper.selectOne(new QueryWrapper<WithdrawalOrders>().lambda() |
| | | .eq(WithdrawalOrders::getOutBillNo,outBillNo).last("limit 1")); |
| | | if(Objects.isNull(withdrawalOrders)){ |
| | | return; |
| | | } |
| | | Member member = memberMapper.selectById(withdrawalOrders.getMemberId()); |
| | | if(Objects.isNull(member)){ |
| | | return; |
| | | } |
| | | //更新用户余额 |
| | | memberMapper.update(new UpdateWrapper<Member>().lambda().setSql(" AMOUNT = AMOUNT + " + withdrawalOrders.getAmount() ).eq(Member::getId,withdrawalOrders.getMemberId())); |
| | | |
| | | //存储流水记录 |
| | | MemberRevenue memberRevenue = new MemberRevenue(); |
| | | memberRevenue.setCreateTime(new Date()); |
| | | memberRevenue.setTransactionNo(withdrawalOrders.getOutBillNo()); |
| | | memberRevenue.setDeleted(Constants.ZERO); |
| | | memberRevenue.setMemberId(withdrawalOrders.getMemberId()); |
| | | memberRevenue.setType(Constants.FOUR); |
| | | memberRevenue.setOptType(Constants.ONE); |
| | | memberRevenue.setBeforeAmount(member.getAmount()); |
| | | memberRevenue.setAmount(withdrawalOrders.getAmount()); |
| | | memberRevenue.setAfterAmount(member.getAmount() + withdrawalOrders.getAmount()); |
| | | memberRevenue.setObjId(withdrawalOrders.getId()); |
| | | memberRevenue.setRemark(Constants.RevenueType.getInfo(memberRevenue.getType())); |
| | | memberRevenue.setObjType(Constants.ONE); |
| | | memberRevenue.setDeleted(Constants.ZERO); |
| | | memberRevenue.setStatus(Constants.ZERO); |
| | | memberRevenueMapper.insert(memberRevenue); |
| | | |
| | | WithdrawalOrders withdrawalOrders = withdrawalOrdersMapper.selectOne(new QueryWrapper<WithdrawalOrders>().lambda() |
| | | .eq(WithdrawalOrders::getOutBillNo,outBillNo).last("limit 1")); |
| | | Member member = memberMapper.selectById(withdrawalOrders.getMemberId()); |
| | | if(Objects.isNull(member)){ |
| | | return; |
| | | } |
| | | if(Objects.nonNull(withdrawalOrders)){ |
| | | //转账成功 |
| | | if(isSuccess){ |
| | | withdrawalOrdersMapper.update(new UpdateWrapper<WithdrawalOrders>().lambda() |
| | | .set(WithdrawalOrders::getStatus,Constants.ONE) |
| | | .set(WithdrawalOrders::getUpdateTime, DateUtil.getCurrDateTime()) |
| | | .eq(WithdrawalOrders::getOutBillNo,outBillNo) |
| | | ); |
| | | withdrawalOrders.setUpdateTime(new Date()); |
| | | sendWxMessage.withdrawalMessage(member.getOpenid(),withdrawalOrders); |
| | | }else { |
| | | //更新用户余额 |
| | | memberMapper.update(new UpdateWrapper<Member>().lambda().setSql(" AMOUNT = AMOUNT + " + withdrawalOrders.getAmount() ).eq(Member::getId,withdrawalOrders.getMemberId())); |
| | | //存储流水记录 |
| | | MemberRevenue memberRevenue = new MemberRevenue(); |
| | | memberRevenue.setCreateTime(new Date()); |
| | | memberRevenue.setTransactionNo(withdrawalOrders.getOutBillNo()); |
| | | memberRevenue.setDeleted(Constants.ZERO); |
| | | memberRevenue.setMemberId(withdrawalOrders.getMemberId()); |
| | | memberRevenue.setType(Constants.FOUR); |
| | | memberRevenue.setOptType(Constants.ONE); |
| | | memberRevenue.setBeforeAmount(member.getAmount()); |
| | | memberRevenue.setAmount(withdrawalOrders.getAmount()); |
| | | memberRevenue.setAfterAmount(member.getAmount() + withdrawalOrders.getAmount()); |
| | | memberRevenue.setObjId(withdrawalOrders.getId()); |
| | | memberRevenue.setRemark(Constants.RevenueType.getInfo(memberRevenue.getType())); |
| | | memberRevenue.setObjType(Constants.ONE); |
| | | memberRevenue.setDeleted(Constants.ZERO); |
| | | memberRevenue.setStatus(Constants.ZERO); |
| | | memberRevenueMapper.insert(memberRevenue); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | @Override |