src/main/java/cc/mrbird/febs/common/enumerates/MoneyFlowTypeEnum.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/cc/mrbird/febs/mall/mapper/MallMemberWithdrawMapper.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/cc/mrbird/febs/pay/model/MemberWithdrawalDto.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/cc/mrbird/febs/pay/service/IXcxPayService.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/cc/mrbird/febs/pay/service/impl/XcxPayServiceImpl.java | ●●●●● patch | view | raw | blame | history | |
src/main/resources/mapper/modules/MallMemberWithdrawMapper.xml | ●●●●● patch | view | raw | blame | history |
src/main/java/cc/mrbird/febs/common/enumerates/MoneyFlowTypeEnum.java
@@ -96,7 +96,7 @@ RECHARGE(18), /** * 团长提成 * 团长提成(收益) */ LEADERACHIEVE(19); src/main/java/cc/mrbird/febs/mall/mapper/MallMemberWithdrawMapper.java
@@ -2,6 +2,10 @@ import cc.mrbird.febs.mall.entity.MallMemberWithdraw; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; public interface MallMemberWithdrawMapper extends BaseMapper<MallMemberWithdraw> { MallMemberWithdraw selectByWithDrawNoAndMemberIdAndState(@Param("withdrawNo")String withdrawNo, @Param("memberId")Long id, @Param("status")Integer i); } src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -295,7 +295,7 @@ wxResultStr = JSONUtil.toJsonStr(brandWCPayRequestData); payResultStr = brandWCPayRequestData.getPrepay_id(); orderInfo.setPayMethod("微信支付"); agentProducer.sendOrderReturn(orderInfo.getId()); // agentProducer.sendOrderReturn(orderInfo.getId()); break; case "2": if (StrUtil.isNotBlank(orderInfo.getPayOrderNo())) { @@ -316,6 +316,7 @@ orderInfo.setStatus(OrderStatusEnum.WAIT_SHIPPING.getValue()); orderInfo.setPayTime(new Date()); orderInfo.setPayResult("1"); orderInfo.setDeliveryState(OrderDeliveryStateEnum.DELIVERY_WAIT.getValue()); // boolean hasTc = false; // // 静态倍数 src/main/java/cc/mrbird/febs/pay/model/MemberWithdrawalDto.java
New file @@ -0,0 +1,18 @@ package cc.mrbird.febs.pay.model; import lombok.Data; import java.math.BigDecimal; @Data public class MemberWithdrawalDto { //描述 private String desc; //提现申请编号 private String outTradeNo; //提现金额(分) private BigDecimal totalFee; private String openid; } src/main/java/cc/mrbird/febs/pay/service/IXcxPayService.java
@@ -5,6 +5,7 @@ import cc.mrbird.febs.mall.dto.RechargeWalletMessageSendDto; import cc.mrbird.febs.mall.entity.MallOrderInfo; import cc.mrbird.febs.pay.model.BrandWCPayRequestData; import cc.mrbird.febs.pay.model.MemberWithdrawalDto; import cc.mrbird.febs.pay.model.OrderStateDto; import cc.mrbird.febs.pay.model.WxGenerateQrCodeDto; @@ -44,4 +45,10 @@ * 充值到账消息 */ void rechargeWalletMessageSend(RechargeWalletMessageSendDto info); /** * 用户提现到零钱 */ Boolean memberWithdrawal(MemberWithdrawalDto info); } src/main/java/cc/mrbird/febs/pay/service/impl/XcxPayServiceImpl.java
@@ -5,19 +5,11 @@ import cc.mrbird.febs.common.enumerates.FlowTypeEnum; import cc.mrbird.febs.common.enumerates.MoneyFlowTypeEnum; import cc.mrbird.febs.common.properties.XcxProperties; import cc.mrbird.febs.common.utils.MallUtils; import cc.mrbird.febs.common.utils.OssUtils; import cc.mrbird.febs.common.utils.RedisUtils; import cc.mrbird.febs.common.utils.SpringContextHolder; import cc.mrbird.febs.common.utils.*; import cc.mrbird.febs.mall.dto.ApiRechargeWalletDto; import cc.mrbird.febs.mall.dto.RechargeWalletMessageSendDto; import cc.mrbird.febs.mall.entity.DataDictionaryCustom; import cc.mrbird.febs.mall.entity.MallMember; import cc.mrbird.febs.mall.entity.MallOrderInfo; import cc.mrbird.febs.mall.entity.MallOrderItem; import cc.mrbird.febs.mall.mapper.DataDictionaryCustomMapper; import cc.mrbird.febs.mall.mapper.MallMemberMapper; import cc.mrbird.febs.mall.mapper.MallOrderInfoMapper; import cc.mrbird.febs.mall.entity.*; import cc.mrbird.febs.mall.mapper.*; import cc.mrbird.febs.mall.service.IMallMoneyFlowService; import cc.mrbird.febs.mall.vo.RechargeWalletMessageSendVo; import cc.mrbird.febs.pay.model.*; @@ -26,6 +18,7 @@ import cc.mrbird.febs.pay.util.WeixinServiceUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; @@ -61,6 +54,10 @@ WeixinServiceUtil weixinServiceUtil; @Autowired private DataDictionaryCustomMapper dataDictionaryCustomMapper; @Autowired private MallMoneyFlowMapper mallMoneyFlowMapper; @Autowired private MallMemberWithdrawMapper mallMemberWithdrawMapper; private final IMallMoneyFlowService mallMoneyFlowService; @Autowired RedisUtils redisUtils; @@ -119,6 +116,34 @@ } @Override public Boolean memberWithdrawal(MemberWithdrawalDto info) { boolean flag=false; BigDecimal unit = new BigDecimal("100"); BigDecimal money = new BigDecimal(info.getTotalFee().toString()); String outTradeNo = info.getOutTradeNo(); String openid = info.getOpenid(); String desc = info.getDesc(); MallMember mallMember = mallMemberMapper.selectMemberByOpenId(openid); if(ObjectUtil.isEmpty(mallMember)){ return flag; } MallMemberWithdraw mallMemberWithdraw = mallMemberWithdrawMapper.selectByWithDrawNoAndMemberIdAndState(outTradeNo,mallMember.getId(),1); if(ObjectUtil.isEmpty(mallMemberWithdraw)){ return flag; } Boolean debug = xcxProperties.getDebug(); if (debug) { flag = weixinServiceUtil.comPay("[测试]" + desc, outTradeNo, 1, openid); } else { flag = weixinServiceUtil.comPay(desc, outTradeNo, unit.multiply(money).intValue(),openid); } return flag; } @Override public BrandWCPayRequestData startPayment(MallOrderInfo mallOrderInfo) throws Exception { BigDecimal unit = new BigDecimal("100"); BigDecimal money = new BigDecimal(mallOrderInfo.getAmount().toString()); src/main/resources/mapper/modules/MallMemberWithdrawMapper.xml
@@ -2,4 +2,12 @@ <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="cc.mrbird.febs.mall.mapper.MallMemberWithdrawMapper"> <select id="selectByWithDrawNoAndMemberIdAndState" resultType="cc.mrbird.febs.mall.entity.MallMemberWithdraw"> select a.* from mall_member_withdraw a where a.withdraw_no = #{withdrawNo} and a.member_id = #{memberId} and a.status = #{status} </select> </mapper>