SysAmountAuditingServiceImpl.java 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. package com.ydtech.modules.admin.service.impl;
  2. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  3. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  4. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  5. import com.github.pagehelper.PageHelper;
  6. import com.github.pagehelper.PageInfo;
  7. import com.ydtech.core.page.HttpResult;
  8. import com.ydtech.modules.admin.dao.SysAmountAuditingMapper;
  9. import com.ydtech.modules.admin.model.po.SysAmountAuditingEntity;
  10. import com.ydtech.modules.admin.model.po.SysUserAccount;
  11. import com.ydtech.modules.admin.model.vo.SysAmountAuditingVo;
  12. import com.ydtech.modules.admin.service.SysAmountAuditingService;
  13. import com.ydtech.modules.admin.service.SysUserAccountService;
  14. import com.ydtech.modules.base.controller.BaseController;
  15. import com.ydtech.modules.fnc.entity.InsPlyIncome;
  16. import com.ydtech.modules.order.entity.BasePageResult;
  17. import com.ydtech.utils.StringUtils;
  18. import org.apache.commons.lang3.ObjectUtils;
  19. import org.springframework.beans.BeanUtils;
  20. import org.springframework.beans.factory.annotation.Autowired;
  21. import org.springframework.stereotype.Service;
  22. import org.springframework.transaction.annotation.Transactional;
  23. import java.math.BigDecimal;
  24. import java.util.Date;
  25. import java.util.HashMap;
  26. import java.util.List;
  27. @Service
  28. public class SysAmountAuditingServiceImpl extends ServiceImpl<SysAmountAuditingMapper, SysAmountAuditingEntity> implements SysAmountAuditingService {
  29. @Autowired
  30. private SysUserAccountService sysUserAccountService;
  31. @Override
  32. @Transactional
  33. public void AmountReview(SysAmountAuditingVo sysAmountAuditingVo) {
  34. SysAmountAuditingEntity sysAmountAuditingEntity = new SysAmountAuditingEntity();
  35. BigDecimal amount = sysAmountAuditingVo.getAmount();
  36. String userId = sysAmountAuditingVo.getUserId();
  37. SysUserAccount sysUserAccountEntity = new SysUserAccount();
  38. // 用户扣减金额
  39. if (StringUtils.isNotEmpty(userId)) {
  40. sysUserAccountEntity.setUserId(userId);
  41. SysUserAccount sysUserAccount = sysUserAccountService.getById(userId);
  42. if (ObjectUtils.isNotEmpty(sysUserAccount)) {
  43. String amountStatus = sysAmountAuditingVo.getAmountStatus();
  44. if (StringUtils.isNotEmpty(amountStatus)) {
  45. if ("1".equals(amountStatus)) {
  46. BigDecimal handlingFee = sysUserAccount.getHandlingFee();
  47. BigDecimal afterAmount = handlingFee.subtract(amount);
  48. sysUserAccountEntity.setHandlingFee(afterAmount);
  49. } else if ("2".equals(amountStatus)) {
  50. BigDecimal documentary = sysUserAccount.getDocumentary();
  51. BigDecimal afterAmount = documentary.subtract(amount);
  52. sysUserAccountEntity.setDocumentary(afterAmount);
  53. } else {
  54. BigDecimal promotion = sysUserAccount.getPromotion();
  55. BigDecimal afterAmount = promotion.subtract(amount);
  56. sysUserAccountEntity.setPromotion(afterAmount);
  57. }
  58. }
  59. sysUserAccountService.updateById(sysUserAccountEntity);
  60. }
  61. sysAmountAuditingVo.setAuditingStatus("3");
  62. sysAmountAuditingVo.setAuditingUserId(BaseController.getUser().getId());
  63. sysAmountAuditingVo.setAuditingTime(new Date());
  64. BeanUtils.copyProperties(sysAmountAuditingVo, sysAmountAuditingEntity);
  65. baseMapper.updateById(sysAmountAuditingEntity);
  66. }
  67. }
  68. @Override
  69. public SysAmountAuditingEntity getByUserId(String userId) {
  70. return baseMapper.getByUserId(userId);
  71. }
  72. @Override
  73. public HttpResult<BasePageResult<SysAmountAuditingEntity>> queryByVo(SysAmountAuditingVo sysAmountAuditingVo) {
  74. try{
  75. HashMap<String, Object> params = new HashMap<>();
  76. PageInfo<List<InsPlyIncome>> pageHelper = null;
  77. PageHelper.startPage(sysAmountAuditingVo.getPageNum(),sysAmountAuditingVo.getPageSize());
  78. params.put("pageNum",sysAmountAuditingVo.getPageNum());
  79. params.put("pageSize",sysAmountAuditingVo.getPageSize());
  80. if(ObjectUtils.isNotEmpty(sysAmountAuditingVo.getStartTime())){
  81. params.put("startDate",sysAmountAuditingVo.getStartTime().toString());
  82. }
  83. if(ObjectUtils.isNotEmpty(sysAmountAuditingVo.getEndTime())){
  84. params.put("endDate",sysAmountAuditingVo.getEndTime().toString());
  85. }
  86. if(StringUtils.isNotEmpty(sysAmountAuditingVo.getAuditingStatus())){
  87. params.put("auditingStatus",sysAmountAuditingVo.getAuditingStatus());
  88. }
  89. if(StringUtils.isNotEmpty(sysAmountAuditingVo.getId())){
  90. params.put("id",sysAmountAuditingVo.getId());
  91. }
  92. if(StringUtils.isNotEmpty(sysAmountAuditingVo.getAmountStatus())){
  93. params.put("amountStatus",sysAmountAuditingVo.getAmountStatus());
  94. }
  95. List<SysAmountAuditingEntity> list = baseMapper.queryPageOrderNew(params);
  96. pageHelper=new PageInfo(list);
  97. BasePageResult<SysAmountAuditingEntity> pageResult=new BasePageResult<SysAmountAuditingEntity>(sysAmountAuditingVo.getPageNum(), sysAmountAuditingVo.getPageSize(), pageHelper.getTotal(), pageHelper.getPages(), list);
  98. return HttpResult.ok(pageResult);
  99. }catch (Exception e){
  100. e.printStackTrace();
  101. return HttpResult.error("查询异常");
  102. }
  103. }
  104. @Override
  105. public BasePageResult<SysAmountAuditingEntity> queryAppPage(SysAmountAuditingVo sysAmountAuditingVo) {
  106. String id = BaseController.getUser().getId();
  107. sysAmountAuditingVo.setUserId(id);
  108. Page<SysAmountAuditingEntity> page = new Page<>(sysAmountAuditingVo.getPageNum(), sysAmountAuditingVo.getPageSize());
  109. QueryWrapper<SysAmountAuditingEntity> wrapper = new QueryWrapper<>();
  110. Page<SysAmountAuditingEntity> sysUserAccountHistoryPage = baseMapper.queryPageOrder(sysAmountAuditingVo, page);
  111. return new BasePageResult<>(sysAmountAuditingVo.getPageNum(), page.getSize(), sysUserAccountHistoryPage.getTotal(), page.getPages(),
  112. sysUserAccountHistoryPage.getRecords());
  113. }
  114. }