|
@@ -1,10 +1,14 @@
|
|
package com.ym.mec.biz.service.impl;
|
|
package com.ym.mec.biz.service.impl;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
-import java.util.Date;
|
|
|
|
-import java.util.List;
|
|
|
|
-import java.util.Objects;
|
|
|
|
-
|
|
|
|
|
|
+import java.util.*;
|
|
|
|
+
|
|
|
|
+import com.ym.mec.auth.api.client.SysUserFeignService;
|
|
|
|
+import com.ym.mec.auth.api.entity.SysUser;
|
|
|
|
+import com.ym.mec.auth.api.entity.SysUserRole;
|
|
|
|
+import com.ym.mec.biz.dal.dao.MusicGroupDao;
|
|
|
|
+import com.ym.mec.biz.dal.enums.*;
|
|
|
|
+import com.ym.mec.biz.service.SysMessageService;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.BeanUtils;
|
|
@@ -20,10 +24,6 @@ import com.ym.mec.biz.dal.dto.WithdrawInfoDto;
|
|
import com.ym.mec.biz.dal.entity.StudentWithdraw;
|
|
import com.ym.mec.biz.dal.entity.StudentWithdraw;
|
|
import com.ym.mec.biz.dal.entity.SysUserCashAccount;
|
|
import com.ym.mec.biz.dal.entity.SysUserCashAccount;
|
|
import com.ym.mec.biz.dal.entity.SysUserCashAccountDetail;
|
|
import com.ym.mec.biz.dal.entity.SysUserCashAccountDetail;
|
|
-import com.ym.mec.biz.dal.enums.DealStatusEnum;
|
|
|
|
-import com.ym.mec.biz.dal.enums.PlatformCashAccountDetailTypeEnum;
|
|
|
|
-import com.ym.mec.biz.dal.enums.PlatformCashAccountStatusEnum;
|
|
|
|
-import com.ym.mec.biz.dal.enums.TransTypeEnum;
|
|
|
|
import com.ym.mec.biz.service.StudentWithdrawService;
|
|
import com.ym.mec.biz.service.StudentWithdrawService;
|
|
import com.ym.mec.biz.service.SysUserCashAccountDetailService;
|
|
import com.ym.mec.biz.service.SysUserCashAccountDetailService;
|
|
import com.ym.mec.biz.service.SysUserCashAccountService;
|
|
import com.ym.mec.biz.service.SysUserCashAccountService;
|
|
@@ -41,6 +41,9 @@ public class StudentWithdrawServiceImpl extends BaseServiceImpl<Integer, Student
|
|
@Autowired
|
|
@Autowired
|
|
private SysUserCashAccountDao sysUserCashAccountDao;
|
|
private SysUserCashAccountDao sysUserCashAccountDao;
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
+ private SysUserFeignService sysUserFeignService;
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public BaseDAO<Integer, StudentWithdraw> getDAO() {
|
|
public BaseDAO<Integer, StudentWithdraw> getDAO() {
|
|
return studentWithdrawDao;
|
|
return studentWithdrawDao;
|
|
@@ -54,6 +57,10 @@ public class StudentWithdrawServiceImpl extends BaseServiceImpl<Integer, Student
|
|
private SysUserCashAccountDetailService cashAccountDetailService;
|
|
private SysUserCashAccountDetailService cashAccountDetailService;
|
|
@Autowired
|
|
@Autowired
|
|
private SysUserCashAccountDetailService accountDetailService;
|
|
private SysUserCashAccountDetailService accountDetailService;
|
|
|
|
+ @Autowired
|
|
|
|
+ private SysMessageService sysMessageService;
|
|
|
|
+ @Autowired
|
|
|
|
+ private MusicGroupDao musicGroupDao;
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@@ -141,8 +148,12 @@ public class StudentWithdrawServiceImpl extends BaseServiceImpl<Integer, Student
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
- public void apply(Integer userId, String bankCardNo, BigDecimal amount) throws Exception {
|
|
|
|
- SysUserCashAccount account = sysUserCashAccountDao.getLocked(userId);
|
|
|
|
|
|
+ public void apply(String bankCardNo, BigDecimal amount) throws Exception {
|
|
|
|
+ SysUser sysUser = sysUserFeignService.queryUserInfo();
|
|
|
|
+ if (sysUser == null || sysUser.getId() == null) {
|
|
|
|
+ throw new BizException("获取用户信息失败");
|
|
|
|
+ }
|
|
|
|
+ SysUserCashAccount account = sysUserCashAccountDao.getLocked(sysUser.getId());
|
|
// 账户状态正常
|
|
// 账户状态正常
|
|
if (account != null && account.getStatus() == PlatformCashAccountStatusEnum.NORMAL) {
|
|
if (account != null && account.getStatus() == PlatformCashAccountStatusEnum.NORMAL) {
|
|
// 提现金额不大于账户可用余额
|
|
// 提现金额不大于账户可用余额
|
|
@@ -155,7 +166,7 @@ public class StudentWithdrawServiceImpl extends BaseServiceImpl<Integer, Student
|
|
withdraw.setCreateTime(date);
|
|
withdraw.setCreateTime(date);
|
|
withdraw.setModifyTime(date);
|
|
withdraw.setModifyTime(date);
|
|
withdraw.setStatus(DealStatusEnum.ING);
|
|
withdraw.setStatus(DealStatusEnum.ING);
|
|
- withdraw.setUserId(userId);
|
|
|
|
|
|
+ withdraw.setUserId(sysUser.getId());
|
|
withdraw.setWithdrawNo(System.currentTimeMillis() + "");
|
|
withdraw.setWithdrawNo(System.currentTimeMillis() + "");
|
|
|
|
|
|
// 修改账户余额
|
|
// 修改账户余额
|
|
@@ -176,6 +187,9 @@ public class StudentWithdrawServiceImpl extends BaseServiceImpl<Integer, Student
|
|
cashAccountDetail.setCreateTime(date);
|
|
cashAccountDetail.setCreateTime(date);
|
|
cashAccountDetail.setStatus(DealStatusEnum.ING);
|
|
cashAccountDetail.setStatus(DealStatusEnum.ING);
|
|
cashAccountDetailService.insert(cashAccountDetail);
|
|
cashAccountDetailService.insert(cashAccountDetail);
|
|
|
|
+ Set<Integer> roleIds = new HashSet<>(1);
|
|
|
|
+ roleIds.add(SysUserRole.SECTION_MANAGER);
|
|
|
|
+ sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds), MessageTypeEnum.BACKSTAGE_STUDENT_APPLY_WITHDRAW,sysUser.getUsername());
|
|
} else {
|
|
} else {
|
|
throw new Exception("账户余额不足");
|
|
throw new Exception("账户余额不足");
|
|
}
|
|
}
|