修改提现,添加获取用户信息返回商户号
This commit is contained in:
@@ -91,8 +91,13 @@ public class CashController {
|
|||||||
|
|
||||||
@PostMapping("/v3")
|
@PostMapping("/v3")
|
||||||
public Result<Object> addV3(@RequestBody Cash cash) {
|
public Result<Object> addV3(@RequestBody Cash cash) {
|
||||||
cashService.apiSaveCashV3(cash);
|
try {
|
||||||
return ResultGenerator.genSuccessResult();
|
cashService.apiSaveCashV3(cash);
|
||||||
|
return ResultGenerator.genSuccessResult();
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
return ResultGenerator.genFailResult(e.getMessage());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -1727,6 +1727,7 @@ public class UserAppController {
|
|||||||
map.put("userId", one.getUserId());
|
map.put("userId", one.getUserId());
|
||||||
map.put("myLoginName", one1.getLoginName());
|
map.put("myLoginName", one1.getLoginName());
|
||||||
map.put("token", one.getToken());
|
map.put("token", one.getToken());
|
||||||
|
map.put("merchantCode",byId.getMerchantCode());
|
||||||
return ResultGenerator.genSuccessResult(map);
|
return ResultGenerator.genSuccessResult(map);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ public interface CashService extends IService<Cash> {
|
|||||||
*
|
*
|
||||||
* @param cash
|
* @param cash
|
||||||
*/
|
*/
|
||||||
void apiSaveCashV3(Cash cash);
|
void apiSaveCashV3(Cash cash) throws Exception;
|
||||||
|
|
||||||
Cash queryCash(Cash cash);
|
Cash queryCash(Cash cash);
|
||||||
|
|
||||||
|
|||||||
@@ -290,7 +290,8 @@ public class CashServiceImpl extends ServiceImpl<CashMapper, Cash> implements Ca
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void apiSaveCashV3(Cash cash) {
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public void apiSaveCashV3(Cash cash) throws Exception {
|
||||||
UserApp tokenUa = userAppService.queryUserAppByToken();
|
UserApp tokenUa = userAppService.queryUserAppByToken();
|
||||||
cash.setUserId(tokenUa.getUserId());
|
cash.setUserId(tokenUa.getUserId());
|
||||||
|
|
||||||
@@ -300,42 +301,14 @@ public class CashServiceImpl extends ServiceImpl<CashMapper, Cash> implements Ca
|
|||||||
throw new MsgException("提现金额必须大于" + Cash.MINIMUM_CASH + "元");
|
throw new MsgException("提现金额必须大于" + Cash.MINIMUM_CASH + "元");
|
||||||
}
|
}
|
||||||
|
|
||||||
LambdaQueryWrapper<Cash> qWrapper = Wrappers.lambdaQuery();
|
|
||||||
qWrapper.eq(Cash::getUserId, cash.getUserId())
|
|
||||||
.orderByDesc(Cash::getCreateDt)
|
|
||||||
.last("limit 1");
|
|
||||||
Cash existData = getOne(qWrapper);
|
|
||||||
|
|
||||||
//TODO 注释掉限制一天只能提现一次
|
|
||||||
/*if (existData != null && DateUtil.isSameDay(new Date(), existData.getCreateDt())) {
|
|
||||||
throw new MsgException("一天只能提现一次");
|
|
||||||
}*/
|
|
||||||
|
|
||||||
// ======查询可提现金额
|
|
||||||
// 查询商户所有分润
|
|
||||||
BigDecimal totalProfit = mpService.getSumValidProfit(cash.getUserId() + "");
|
|
||||||
totalProfit = totalProfit == null? BigDecimal.ZERO: totalProfit;
|
|
||||||
|
|
||||||
if (!StringUtils.isEmpty(tokenUa.getMerchantCode())) {
|
|
||||||
Map<String, Object> map = new HashMap<>();
|
|
||||||
map.put("lastMerchantCode", tokenUa.getMerchantCode());
|
|
||||||
// 查询可提现粉丝分润
|
|
||||||
Double sum = fansService.queryFansSumShareMoney(map);
|
|
||||||
if (sum != null) {
|
|
||||||
BigDecimal fansProfit = BigDecimal.valueOf(sum);
|
|
||||||
totalProfit = totalProfit.add(fansProfit);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询商户已提现总数
|
UserAccount userAccount= userAccountService.getUserAccountByUserId(cash.getUserId());
|
||||||
BigDecimal totalCashAmt = getSumValidCashAmtTotal(cash.getUserId() + "");
|
MsgException.checkNull(userAccount,"可用资金不足");
|
||||||
totalCashAmt = totalCashAmt == null? BigDecimal.ZERO: totalCashAmt;
|
MsgException.check(cash.getCashAmt().compareTo(userAccount.getBalance().subtract(userAccount.getFreezeBalance()))>0,"可用资金不足");
|
||||||
|
|
||||||
// 校验提现金额是否充足
|
|
||||||
int flag = cash.getCashAmt().compareTo(totalProfit.subtract(totalCashAmt));
|
|
||||||
if (flag > 0) {
|
|
||||||
throw new MsgException("可提现金额不足!");
|
|
||||||
}
|
|
||||||
|
|
||||||
cash.setCashNumber(StringUtil.getBillno());
|
cash.setCashNumber(StringUtil.getBillno());
|
||||||
cash.setCreateDt(new Date());
|
cash.setCreateDt(new Date());
|
||||||
@@ -366,6 +339,7 @@ public class CashServiceImpl extends ServiceImpl<CashMapper, Cash> implements Ca
|
|||||||
LinkedList<CashStatusVO> cashMap = getCashMap(String.valueOf(cash.getUserId()), new LinkedList<>());
|
LinkedList<CashStatusVO> cashMap = getCashMap(String.valueOf(cash.getUserId()), new LinkedList<>());
|
||||||
cash.setCashStatus(JSONUtil.toJsonStr(cashMap));
|
cash.setCashStatus(JSONUtil.toJsonStr(cashMap));
|
||||||
save(cash);
|
save(cash);
|
||||||
|
userAccountService.modForzenFunds(cash.getUserId().intValue(),"108","提现冻结",cash.getCashAmt(),"");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
|
|||||||
Reference in New Issue
Block a user