|
|
@@ -1,8 +1,10 @@
|
|
|
package com.sqx.modules.pay.service.impl;
|
|
|
|
|
|
+import cn.hutool.core.util.ObjectUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.sqx.common.exception.SqxException;
|
|
|
import com.sqx.common.utils.PageUtils;
|
|
|
import com.sqx.common.utils.Query;
|
|
|
import com.sqx.common.utils.Result;
|
|
|
@@ -28,6 +30,8 @@ import com.sqx.modules.pay.dao.CashOutDao;
|
|
|
import com.sqx.modules.pay.entity.CashOut;
|
|
|
import com.sqx.modules.pay.service.CashOutService;
|
|
|
import com.sqx.modules.pay.vo.CashOutVO;
|
|
|
+import com.sqx.modules.shop.entity.ShopBankCardInfo;
|
|
|
+import com.sqx.modules.shop.service.ShopBankCardInfoService;
|
|
|
import com.sqx.modules.sys.dao.SysUserDao;
|
|
|
import com.sqx.modules.utils.AmountCalUtils;
|
|
|
import com.sqx.modules.utils.excel.ExcelData;
|
|
|
@@ -91,6 +95,8 @@ public class CashOutServiceImpl extends ServiceImpl<CashOutDao, CashOut> impleme
|
|
|
private UserMoneyDetailsService userMoneyDetailsService;
|
|
|
@Autowired
|
|
|
private UserMoneyService userMoneyService;
|
|
|
+ @Autowired
|
|
|
+ private ShopBankCardInfoService shopBankCardInfoService;
|
|
|
private ReentrantReadWriteLock reentrantReadWriteLock = new ReentrantReadWriteLock(true);
|
|
|
|
|
|
@Override
|
|
|
@@ -433,6 +439,15 @@ public class CashOutServiceImpl extends ServiceImpl<CashOutDao, CashOut> impleme
|
|
|
return Result.success().put("data", hashMap);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 提现
|
|
|
+ * @param userId 用户id
|
|
|
+ * @param shopId 店铺id
|
|
|
+ * @param money 提现金额
|
|
|
+ * @param classify 提现途径 1支付宝 2小程序 3公众号 4微信app
|
|
|
+ * @param type 1用户提现 2商户提现 3骑手提现
|
|
|
+ * @return
|
|
|
+ */
|
|
|
@Transactional
|
|
|
public Result cashMoneys(Long userId, Long shopId, Double money, Integer classify, Integer type) {
|
|
|
if (money == null || money <= 0.00) {
|
|
|
@@ -452,6 +467,9 @@ public class CashOutServiceImpl extends ServiceImpl<CashOutDao, CashOut> impleme
|
|
|
Double mul = 0.0;
|
|
|
String isRate = commonInfoService.findOne(116).getValue();
|
|
|
|
|
|
+ CashOut cashOut = new CashOut();
|
|
|
+
|
|
|
+ // 用户提现
|
|
|
if (type == 1) {
|
|
|
//用户提现手续费
|
|
|
CommonInfo one1 = commonInfoService.findOne(114);
|
|
|
@@ -461,8 +479,10 @@ public class CashOutServiceImpl extends ServiceImpl<CashOutDao, CashOut> impleme
|
|
|
if (mul < 0.01) {
|
|
|
mul = 0.01;
|
|
|
}
|
|
|
- }else if(type == 3){
|
|
|
- //用户提现手续费
|
|
|
+ }
|
|
|
+ // 骑手提现
|
|
|
+ else if(type == 3){
|
|
|
+ //骑手提现手续费
|
|
|
CommonInfo one1 = commonInfoService.findOne(114);
|
|
|
Double value = Double.valueOf(one1.getValue());
|
|
|
mul = AmountCalUtils.mul(money, value);
|
|
|
@@ -470,7 +490,19 @@ public class CashOutServiceImpl extends ServiceImpl<CashOutDao, CashOut> impleme
|
|
|
if (mul < 0.01) {
|
|
|
mul = 0.01;
|
|
|
}
|
|
|
- } else{
|
|
|
+ }
|
|
|
+ // 商铺提现
|
|
|
+ else {
|
|
|
+ // 根据店铺id获取商铺银行卡信息信息
|
|
|
+ ShopBankCardInfo bankCardInfo = shopBankCardInfoService.getByShopId(shopId);
|
|
|
+ if (ObjectUtil.isNull(bankCardInfo)) {
|
|
|
+ throw new SqxException("银行卡信息不存在,请联系客服人员添加");
|
|
|
+ }
|
|
|
+
|
|
|
+ cashOut.setBankRealName(bankCardInfo.getRealName());
|
|
|
+ cashOut.setOpenBank(bankCardInfo.getOpenBank());
|
|
|
+ cashOut.setBankCardNo(bankCardInfo.getCardNo());
|
|
|
+
|
|
|
if ("是".equals(isRate)) {
|
|
|
//商户提现手续费
|
|
|
CommonInfo one1 = commonInfoService.findOne(115);
|
|
|
@@ -507,7 +539,7 @@ public class CashOutServiceImpl extends ServiceImpl<CashOutDao, CashOut> impleme
|
|
|
moneyDetails.setUserId(userId);
|
|
|
moneyDetails.setShopId(shopId);
|
|
|
moneyDetails.setTitle("提现:" + money);
|
|
|
- CashOut cashOut = new CashOut();
|
|
|
+
|
|
|
String content;
|
|
|
if (classify == 1) {
|
|
|
if (!"是".equals(isRate)) {
|
|
|
@@ -515,6 +547,12 @@ public class CashOutServiceImpl extends ServiceImpl<CashOutDao, CashOut> impleme
|
|
|
} else {
|
|
|
content = "支付宝提现:" + money + ",扣除总金额:" + moneySum + ",手续费:" + mul;
|
|
|
}
|
|
|
+ } else if (classify == 5) {
|
|
|
+ if (!"是".equals(isRate)) {
|
|
|
+ content = "银行卡提现:" + money;
|
|
|
+ } else {
|
|
|
+ content = "银行卡提现:" + money + ",扣除总金额:" + moneySum + ",手续费:" + mul;
|
|
|
+ }
|
|
|
} else {
|
|
|
if (!"是".equals(isRate)) {
|
|
|
content = "微信提现:" + money;
|