SysAmountAuditingServiceImpl.java 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. package com.ydtech.modules.admin.service.impl;
  2. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  3. import com.ydtech.modules.admin.dao.SysAmountAuditingMapper;
  4. import com.ydtech.modules.admin.model.po.SysAmountAuditingEntity;
  5. import com.ydtech.modules.admin.model.po.SysUserAccount;
  6. import com.ydtech.modules.admin.model.vo.SysAmountAuditingVo;
  7. import com.ydtech.modules.admin.service.SysAmountAuditingService;
  8. import com.ydtech.modules.admin.service.SysUserAccountService;
  9. import com.ydtech.utils.StringUtils;
  10. import org.apache.commons.lang3.ObjectUtils;
  11. import org.springframework.beans.BeanUtils;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.stereotype.Service;
  14. import org.springframework.transaction.annotation.Transactional;
  15. import java.math.BigDecimal;
  16. @Service
  17. public class SysAmountAuditingServiceImpl extends ServiceImpl<SysAmountAuditingMapper, SysAmountAuditingEntity> implements SysAmountAuditingService {
  18. @Autowired
  19. private SysUserAccountService sysUserAccountService;
  20. @Override
  21. @Transactional
  22. public void AmountReview(SysAmountAuditingVo sysAmountAuditingVo) {
  23. SysAmountAuditingEntity sysAmountAuditingEntity = new SysAmountAuditingEntity();
  24. BigDecimal amount = sysAmountAuditingVo.getAmount();
  25. String userId = sysAmountAuditingVo.getUserId();
  26. SysUserAccount sysUserAccountEntity = new SysUserAccount();
  27. // 用户扣减金额
  28. if (StringUtils.isNotEmpty(userId)) {
  29. sysUserAccountEntity.setUserId(userId);
  30. SysUserAccount sysUserAccount = sysUserAccountService.getById(userId);
  31. if (ObjectUtils.isNotEmpty(sysUserAccount)) {
  32. String amountStatus = sysAmountAuditingVo.getAmountStatus();
  33. if (StringUtils.isNotEmpty(amountStatus)) {
  34. if ("1".equals(amountStatus)) {
  35. BigDecimal handlingFee = sysUserAccount.getHandlingFee();
  36. BigDecimal afterAmount = handlingFee.subtract(amount);
  37. sysUserAccountEntity.setHandlingFee(afterAmount);
  38. } else if ("2".equals(amountStatus)) {
  39. BigDecimal documentary = sysUserAccount.getDocumentary();
  40. BigDecimal afterAmount = documentary.subtract(amount);
  41. sysUserAccountEntity.setHandlingFee(afterAmount);
  42. } else {
  43. BigDecimal promotion = sysUserAccount.getPromotion();
  44. BigDecimal afterAmount = promotion.subtract(amount);
  45. sysUserAccountEntity.setHandlingFee(afterAmount);
  46. }
  47. }
  48. sysUserAccountService.updateById(sysUserAccountEntity);
  49. }
  50. sysAmountAuditingVo.setAuditingStatus("3");
  51. BeanUtils.copyProperties(sysAmountAuditingVo, sysAmountAuditingEntity);
  52. baseMapper.updateById(sysAmountAuditingEntity);
  53. }
  54. }
  55. @Override
  56. public SysAmountAuditingEntity getByUserId(String userId) {
  57. return baseMapper.getByUserId(userId);
  58. }
  59. }