| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- package com.ydtech.modules.admin.service.impl;
- import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
- import com.ydtech.modules.admin.dao.SysAmountAuditingMapper;
- import com.ydtech.modules.admin.model.po.SysAmountAuditingEntity;
- import com.ydtech.modules.admin.model.po.SysUserAccount;
- import com.ydtech.modules.admin.model.vo.SysAmountAuditingVo;
- import com.ydtech.modules.admin.service.SysAmountAuditingService;
- import com.ydtech.modules.admin.service.SysUserAccountService;
- import com.ydtech.utils.StringUtils;
- import org.apache.commons.lang3.ObjectUtils;
- import org.springframework.beans.BeanUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import org.springframework.transaction.annotation.Transactional;
- import java.math.BigDecimal;
- @Service
- public class SysAmountAuditingServiceImpl extends ServiceImpl<SysAmountAuditingMapper, SysAmountAuditingEntity> implements SysAmountAuditingService {
- @Autowired
- private SysUserAccountService sysUserAccountService;
- @Override
- @Transactional
- public void AmountReview(SysAmountAuditingVo sysAmountAuditingVo) {
- SysAmountAuditingEntity sysAmountAuditingEntity = new SysAmountAuditingEntity();
- BigDecimal amount = sysAmountAuditingVo.getAmount();
- String userId = sysAmountAuditingVo.getUserId();
- SysUserAccount sysUserAccountEntity = new SysUserAccount();
- // 用户扣减金额
- if (StringUtils.isNotEmpty(userId)) {
- sysUserAccountEntity.setUserId(userId);
- SysUserAccount sysUserAccount = sysUserAccountService.getById(userId);
- if (ObjectUtils.isNotEmpty(sysUserAccount)) {
- String amountStatus = sysAmountAuditingVo.getAmountStatus();
- if (StringUtils.isNotEmpty(amountStatus)) {
- if ("1".equals(amountStatus)) {
- BigDecimal handlingFee = sysUserAccount.getHandlingFee();
- BigDecimal afterAmount = handlingFee.subtract(amount);
- sysUserAccountEntity.setHandlingFee(afterAmount);
- } else if ("2".equals(amountStatus)) {
- BigDecimal documentary = sysUserAccount.getDocumentary();
- BigDecimal afterAmount = documentary.subtract(amount);
- sysUserAccountEntity.setHandlingFee(afterAmount);
- } else {
- BigDecimal promotion = sysUserAccount.getPromotion();
- BigDecimal afterAmount = promotion.subtract(amount);
- sysUserAccountEntity.setHandlingFee(afterAmount);
- }
- }
- sysUserAccountService.updateById(sysUserAccountEntity);
- }
- sysAmountAuditingVo.setAuditingStatus("3");
- BeanUtils.copyProperties(sysAmountAuditingVo, sysAmountAuditingEntity);
- baseMapper.updateById(sysAmountAuditingEntity);
- }
- }
- @Override
- public SysAmountAuditingEntity getByUserId(String userId) {
- return baseMapper.getByUserId(userId);
- }
- }
|