|
@@ -47,55 +47,25 @@ public class SysUserAccountServiceImpl extends ServiceImpl<SysUserAccountMapper,
|
|
|
@Override
|
|
@Override
|
|
|
@Transactional
|
|
@Transactional
|
|
|
public void addOrUpdate(SysUserAccount sysUserAccount) {
|
|
public void addOrUpdate(SysUserAccount sysUserAccount) {
|
|
|
|
|
+ SysUserAccount newSysAccount = baseMapper.getById(sysUserAccount.getUserId());
|
|
|
|
|
+// 初始化
|
|
|
|
|
+ if(sysUserAccount.getHandlingFee()==null){
|
|
|
|
|
+ sysUserAccount.setHandlingFee(BigDecimal.ZERO);
|
|
|
|
|
+ }
|
|
|
|
|
+ if(sysUserAccount.getDocumentary()==null){
|
|
|
|
|
+ sysUserAccount.setDocumentary(BigDecimal.ZERO);
|
|
|
|
|
+ }
|
|
|
|
|
+ if(sysUserAccount.getPromotion()==null){
|
|
|
|
|
+ sysUserAccount.setPromotion(BigDecimal.ZERO);
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
// 如果用户id有值则累加 没有则 新增
|
|
// 如果用户id有值则累加 没有则 新增
|
|
|
- BigDecimal handlingFee = BigDecimal.ZERO;
|
|
|
|
|
-// 用户历史记录表金额
|
|
|
|
|
- BigDecimal total = BigDecimal.ZERO;
|
|
|
|
|
- BigDecimal remainingAmount = BigDecimal.ZERO;
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
String userId = sysUserAccount.getUserId();
|
|
String userId = sysUserAccount.getUserId();
|
|
|
SysUserAccount sysUserAccountEntity = super.getById(userId);
|
|
SysUserAccount sysUserAccountEntity = super.getById(userId);
|
|
|
SysUserAccount newAccount = new SysUserAccount();
|
|
SysUserAccount newAccount = new SysUserAccount();
|
|
|
- if (sysUserAccount.getHandlingFee() == null) {
|
|
|
|
|
- sysUserAccount.setHandlingFee(handlingFee);
|
|
|
|
|
- } else {
|
|
|
|
|
- total = total.add(sysUserAccount.getHandlingFee());
|
|
|
|
|
-
|
|
|
|
|
- }
|
|
|
|
|
- if (sysUserAccount.getDocumentary() == null) {
|
|
|
|
|
- sysUserAccount.setDocumentary(handlingFee);
|
|
|
|
|
- } else {
|
|
|
|
|
- total = total.add(sysUserAccount.getDocumentary());
|
|
|
|
|
-
|
|
|
|
|
- }
|
|
|
|
|
- if (sysUserAccount.getPromotion() == null) {
|
|
|
|
|
- sysUserAccount.setPromotion(handlingFee);
|
|
|
|
|
- } else {
|
|
|
|
|
- total = total.add(sysUserAccount.getPromotion());
|
|
|
|
|
-
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
|
|
|
|
|
if (ObjectUtils.isNotEmpty(sysUserAccountEntity)) {
|
|
if (ObjectUtils.isNotEmpty(sysUserAccountEntity)) {
|
|
|
- if (sysUserAccountEntity.getHandlingFee() == null) {
|
|
|
|
|
- sysUserAccountEntity.setHandlingFee(handlingFee);
|
|
|
|
|
- } else {
|
|
|
|
|
- remainingAmount = remainingAmount.add(sysUserAccountEntity.getHandlingFee());
|
|
|
|
|
- }
|
|
|
|
|
- if (sysUserAccountEntity.getDocumentary() == null) {
|
|
|
|
|
- sysUserAccountEntity.setDocumentary(handlingFee);
|
|
|
|
|
- } else {
|
|
|
|
|
- remainingAmount = remainingAmount.add(sysUserAccountEntity.getDocumentary());
|
|
|
|
|
-
|
|
|
|
|
- }
|
|
|
|
|
- if (sysUserAccountEntity.getPromotion() == null) {
|
|
|
|
|
- sysUserAccountEntity.setPromotion(handlingFee);
|
|
|
|
|
- } else {
|
|
|
|
|
- remainingAmount = remainingAmount.add(sysUserAccountEntity.getPromotion());
|
|
|
|
|
|
|
|
|
|
- }
|
|
|
|
|
sysUserAccountEntity.setHandlingFee(sysUserAccount.getHandlingFee().add(sysUserAccountEntity.getHandlingFee()));
|
|
sysUserAccountEntity.setHandlingFee(sysUserAccount.getHandlingFee().add(sysUserAccountEntity.getHandlingFee()));
|
|
|
sysUserAccountEntity.setDocumentary(sysUserAccount.getDocumentary().add(sysUserAccountEntity.getDocumentary()));
|
|
sysUserAccountEntity.setDocumentary(sysUserAccount.getDocumentary().add(sysUserAccountEntity.getDocumentary()));
|
|
|
sysUserAccountEntity.setPromotion(sysUserAccount.getPromotion().add(sysUserAccountEntity.getPromotion()));
|
|
sysUserAccountEntity.setPromotion(sysUserAccount.getPromotion().add(sysUserAccountEntity.getPromotion()));
|
|
@@ -116,7 +86,47 @@ public class SysUserAccountServiceImpl extends ServiceImpl<SysUserAccountMapper,
|
|
|
|
|
|
|
|
if (StringUtils.isNotEmpty(sysUserAccount.getDocumentaryStatus())) {
|
|
if (StringUtils.isNotEmpty(sysUserAccount.getDocumentaryStatus())) {
|
|
|
// 判断是否是一级二级三级
|
|
// 判断是否是一级二级三级
|
|
|
- this.judgeLevel(userId, sysUserAccountEntity, newAccount);
|
|
|
|
|
|
|
+ SysUserAccountHistory sysUserAccountHistory = new SysUserAccountHistory();
|
|
|
|
|
+ sysUserAccountHistory.setUserId(sysUserAccount.getUserId());
|
|
|
|
|
+ sysUserAccountHistory.setDocumentary(Integer.valueOf(sysUserAccount.getDocumentaryStatus()));
|
|
|
|
|
+ sysUserAccountHistory.setSuborder(sysUserAccountEntity.getSuborderId());
|
|
|
|
|
+ if(sysUserAccount.getDocumentary()!=null && sysUserAccount.getDocumentary().compareTo(BigDecimal.ZERO)!=0){
|
|
|
|
|
+ sysUserAccountHistory.setAmount(sysUserAccount.getDocumentary());
|
|
|
|
|
+ sysUserAccountHistory.setProperty(2);
|
|
|
|
|
+ if("2".equals(sysUserAccount.getDocumentaryStatus())){ // 收入 相加
|
|
|
|
|
+ sysUserAccountHistory.setSurplusAmount(sysUserAccount.getDocumentary().add(newSysAccount.getDocumentary()));
|
|
|
|
|
+ }else {
|
|
|
|
|
+ BigDecimal subtract = newSysAccount.getDocumentary().subtract(sysUserAccount.getDocumentary());
|
|
|
|
|
+ sysUserAccountHistory.setSurplusAmount(subtract);
|
|
|
|
|
+ }
|
|
|
|
|
+ sysUserAccountHistoryService.updayteByUserAccount(sysUserAccountHistory);
|
|
|
|
|
+ }
|
|
|
|
|
+ if(sysUserAccount.getHandlingFee()!=null && sysUserAccount.getHandlingFee().compareTo(BigDecimal.ZERO) !=0){
|
|
|
|
|
+ sysUserAccountHistory.setId(null);
|
|
|
|
|
+ sysUserAccountHistory.setAmount(sysUserAccount.getHandlingFee());
|
|
|
|
|
+ sysUserAccountHistory.setProperty(1);
|
|
|
|
|
+ if("2".equals(sysUserAccount.getDocumentaryStatus())){ // 收入 相加
|
|
|
|
|
+ sysUserAccountHistory.setSurplusAmount(sysUserAccount.getHandlingFee().add(newSysAccount.getHandlingFee()));
|
|
|
|
|
+ }else {
|
|
|
|
|
+ BigDecimal subtract = newSysAccount.getHandlingFee().subtract(sysUserAccount.getHandlingFee());
|
|
|
|
|
+ sysUserAccountHistory.setSurplusAmount(subtract);
|
|
|
|
|
+ }
|
|
|
|
|
+ sysUserAccountHistoryService.updayteByUserAccount(sysUserAccountHistory);
|
|
|
|
|
+ }
|
|
|
|
|
+ if(sysUserAccount.getPromotion() !=null && sysUserAccount.getPromotion().compareTo(BigDecimal.ZERO) !=0){
|
|
|
|
|
+ sysUserAccountHistory.setId(null);
|
|
|
|
|
+
|
|
|
|
|
+ sysUserAccountHistory.setAmount(sysUserAccount.getPromotion());
|
|
|
|
|
+ sysUserAccountHistory.setProperty(3);
|
|
|
|
|
+ if("2".equals(sysUserAccount.getDocumentaryStatus())){ // 收入 相加
|
|
|
|
|
+ sysUserAccountHistory.setSurplusAmount(sysUserAccount.getPromotion().add(newSysAccount.getPromotion()));
|
|
|
|
|
+ }else {
|
|
|
|
|
+ BigDecimal subtract = newSysAccount.getPromotion().subtract(sysUserAccount.getPromotion());
|
|
|
|
|
+ sysUserAccountHistory.setSurplusAmount(subtract);
|
|
|
|
|
+ }
|
|
|
|
|
+ sysUserAccountHistoryService.updayteByUserAccount(sysUserAccountHistory);
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@@ -209,64 +219,11 @@ public class SysUserAccountServiceImpl extends ServiceImpl<SysUserAccountMapper,
|
|
|
@Override
|
|
@Override
|
|
|
public SysUserAccount getSysUserAmount(String userid) {
|
|
public SysUserAccount getSysUserAmount(String userid) {
|
|
|
SysUserAccount sysUserAccount = baseMapper.getById(userid);
|
|
SysUserAccount sysUserAccount = baseMapper.getById(userid);
|
|
|
|
|
+
|
|
|
return sysUserAccount;
|
|
return sysUserAccount;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
- private void judgeLevel(String userId, SysUserAccount sysUserAccountEntity, SysUserAccount newAccount) {
|
|
|
|
|
- if (!ObjectUtils.isNotEmpty(sysUserAccountEntity)) {
|
|
|
|
|
- sysUserAccountEntity = newAccount;
|
|
|
|
|
- }
|
|
|
|
|
- EsmUserReferrer esmUserReferrerServiceById = esmUserReferrerService.getById(userId);
|
|
|
|
|
- if (ObjectUtils.isNotEmpty(esmUserReferrerServiceById)) {
|
|
|
|
|
- String referrerId = esmUserReferrerServiceById.getReferrerId();
|
|
|
|
|
-// 如果相等则为一级
|
|
|
|
|
- if (StringUtils.isNotEmpty(referrerId) && referrerId.equals(userId)) {
|
|
|
|
|
- if (ObjectUtils.isNotEmpty(sysUserAccountEntity)) {
|
|
|
|
|
- for (int i = 1; i <= 3; i++) {
|
|
|
|
|
- SysUserAccountHistory sysUserAccountHistory = new SysUserAccountHistory();
|
|
|
|
|
- sysUserAccountHistory.setUserId(userId);
|
|
|
|
|
- sysUserAccountHistory.setDocumentary(Integer.valueOf(sysUserAccountEntity.getDocumentaryStatus()));
|
|
|
|
|
- sysUserAccountHistory.setProperty(i);
|
|
|
|
|
- sysUserAccountHistory.setSuborder(sysUserAccountEntity.getSuborderId());
|
|
|
|
|
- SysUserAccount byId = super.getById(userId);
|
|
|
|
|
- if (i == 1) {
|
|
|
|
|
- sysUserAccountHistory.setAmount(sysUserAccountEntity.getHandlingFee());
|
|
|
|
|
-// 查询当前用户金额
|
|
|
|
|
- if (ObjectUtils.isNotEmpty(byId)) {
|
|
|
|
|
- sysUserAccountHistory.setSurplusAmount(byId.getHandlingFee() == null ? BigDecimal.ZERO.add(sysUserAccountEntity.getHandlingFee()) : byId.getHandlingFee().add(sysUserAccountEntity.getHandlingFee()));
|
|
|
|
|
- }
|
|
|
|
|
- } else if (i == 2) {
|
|
|
|
|
- sysUserAccountHistory.setAmount(sysUserAccountEntity.getDocumentary()); //非跟单佣金
|
|
|
|
|
- if (ObjectUtils.isNotEmpty(byId)) {
|
|
|
|
|
- sysUserAccountHistory.setSurplusAmount(byId.getDocumentary() == null ? BigDecimal.ZERO.add(sysUserAccountEntity.getDocumentary()) : byId.getDocumentary().add(sysUserAccountEntity.getDocumentary()));
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- } else {
|
|
|
|
|
- sysUserAccountHistory.setAmount(sysUserAccountEntity.getPromotion()); // 佣金
|
|
|
|
|
- if (ObjectUtils.isNotEmpty(byId)) {
|
|
|
|
|
- sysUserAccountHistory.setSurplusAmount(byId.getPromotion() == null ? BigDecimal.ZERO.add(sysUserAccountEntity.getPromotion()) : byId.getPromotion().add(sysUserAccountEntity.getPromotion()));
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- if (sysUserAccountHistory.getAmount().compareTo(BigDecimal.ZERO) == 1) {
|
|
|
|
|
- sysUserAccountHistoryService.updayteByUserAccount(sysUserAccountHistory);
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- } else {
|
|
|
|
|
-// 其余都是推广金
|
|
|
|
|
- SysUserAccountHistory sysUserAccountHistory = new SysUserAccountHistory();
|
|
|
|
|
- sysUserAccountHistory.setAmount(sysUserAccountEntity.getPromotion());
|
|
|
|
|
- sysUserAccountHistory.setProperty(3);
|
|
|
|
|
- sysUserAccountHistory.setSuborder(sysUserAccountEntity.getSuborderId());
|
|
|
|
|
- sysUserAccountHistory.setUserId(userId);
|
|
|
|
|
- sysUserAccountHistory.setDocumentary(Integer.valueOf(sysUserAccountEntity.getDocumentaryStatus()));
|
|
|
|
|
- SysUserAccount byId = super.getById(userId);
|
|
|
|
|
- sysUserAccountHistory.setSurplusAmount(byId.getPromotion() == null ? BigDecimal.ZERO.add(sysUserAccountEntity.getPromotion()) : byId.getPromotion().add(sysUserAccountEntity.getPromotion()));
|
|
|
|
|
- sysUserAccountHistoryService.updayteByUserAccount(sysUserAccountHistory);
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|