SysAmountAuditingServiceImpl.java 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  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.time.LocalDate;
  25. import java.util.Date;
  26. import java.util.HashMap;
  27. import java.util.List;
  28. @Service
  29. public class SysAmountAuditingServiceImpl extends ServiceImpl<SysAmountAuditingMapper, SysAmountAuditingEntity> implements SysAmountAuditingService {
  30. @Autowired
  31. private SysUserAccountService sysUserAccountService;
  32. @Override
  33. @Transactional
  34. public void AmountReview(SysAmountAuditingVo sysAmountAuditingVo) {
  35. SysAmountAuditingEntity sysAmountAuditingEntity = new SysAmountAuditingEntity();
  36. BigDecimal amount = sysAmountAuditingVo.getAmount();
  37. String userId = sysAmountAuditingVo.getUserId();
  38. SysUserAccount sysUserAccountEntity = new SysUserAccount();
  39. // 用户扣减金额
  40. if (StringUtils.isNotEmpty(userId)) {
  41. sysUserAccountEntity.setUserId(userId);
  42. SysUserAccount sysUserAccount = sysUserAccountService.getById(userId);
  43. if (ObjectUtils.isNotEmpty(sysUserAccount)) {
  44. String amountStatus = sysAmountAuditingVo.getAmountStatus();
  45. if (StringUtils.isNotEmpty(amountStatus)) {
  46. if ("1".equals(amountStatus)) {
  47. BigDecimal handlingFee = sysUserAccount.getHandlingFee();
  48. BigDecimal afterAmount = handlingFee.subtract(amount);
  49. sysUserAccountEntity.setHandlingFee(afterAmount);
  50. } else if ("2".equals(amountStatus)) {
  51. BigDecimal documentary = sysUserAccount.getDocumentary();
  52. BigDecimal afterAmount = documentary.subtract(amount);
  53. sysUserAccountEntity.setDocumentary(afterAmount);
  54. } else {
  55. BigDecimal promotion = sysUserAccount.getPromotion();
  56. BigDecimal afterAmount = promotion.subtract(amount);
  57. sysUserAccountEntity.setPromotion(afterAmount);
  58. }
  59. }
  60. sysUserAccountService.updateById(sysUserAccountEntity);
  61. }
  62. sysAmountAuditingVo.setAuditingStatus("3");
  63. sysAmountAuditingVo.setAuditingUserId(BaseController.getUser().getId());
  64. sysAmountAuditingVo.setAuditingTime(new Date());
  65. BeanUtils.copyProperties(sysAmountAuditingVo, sysAmountAuditingEntity);
  66. baseMapper.updateById(sysAmountAuditingEntity);
  67. }
  68. }
  69. @Override
  70. public SysAmountAuditingEntity getByUserId(String userId,String amountStatus) {
  71. return baseMapper.getByUserId(userId,amountStatus);
  72. }
  73. @Override
  74. public HttpResult<BasePageResult<SysAmountAuditingEntity>> queryByVo(SysAmountAuditingVo sysAmountAuditingVo) {
  75. try{
  76. HashMap<String, Object> params = new HashMap<>();
  77. PageInfo<List<InsPlyIncome>> pageHelper = null;
  78. PageHelper.startPage(sysAmountAuditingVo.getPageNum(),sysAmountAuditingVo.getPageSize());
  79. params.put("pageNum",sysAmountAuditingVo.getPageNum());
  80. params.put("pageSize",sysAmountAuditingVo.getPageSize());
  81. if(ObjectUtils.isNotEmpty(sysAmountAuditingVo.getStartTime())){
  82. params.put("startDate",sysAmountAuditingVo.getStartTime().toString());
  83. }
  84. if(ObjectUtils.isNotEmpty(sysAmountAuditingVo.getEndTime())){
  85. params.put("endDate",sysAmountAuditingVo.getEndTime().toString());
  86. }
  87. if(StringUtils.isNotEmpty(sysAmountAuditingVo.getAuditingStatus())){
  88. params.put("auditingStatus",sysAmountAuditingVo.getAuditingStatus());
  89. }
  90. if(StringUtils.isNotEmpty(sysAmountAuditingVo.getUserId())){
  91. params.put("userId",sysAmountAuditingVo.getUserId());
  92. }
  93. if(StringUtils.isNotEmpty(sysAmountAuditingVo.getId())){
  94. params.put("id",sysAmountAuditingVo.getId());
  95. }
  96. if(StringUtils.isNotEmpty(sysAmountAuditingVo.getAmountStatus())){
  97. params.put("amountStatus",sysAmountAuditingVo.getAmountStatus());
  98. }
  99. List<SysAmountAuditingEntity> list = baseMapper.queryPageOrderNew(params);
  100. pageHelper=new PageInfo(list);
  101. BasePageResult<SysAmountAuditingEntity> pageResult=new BasePageResult<SysAmountAuditingEntity>(sysAmountAuditingVo.getPageNum(), sysAmountAuditingVo.getPageSize(), pageHelper.getTotal(), pageHelper.getPages(), list);
  102. return HttpResult.ok(pageResult);
  103. }catch (Exception e){
  104. e.printStackTrace();
  105. return HttpResult.error("查询异常");
  106. }
  107. }
  108. @Override
  109. public BasePageResult<SysAmountAuditingEntity> queryAppPage(SysAmountAuditingVo sysAmountAuditingVo) {
  110. String id = BaseController.getUser().getId();
  111. sysAmountAuditingVo.setUserId(id);
  112. Page<SysAmountAuditingEntity> page = new Page<>(sysAmountAuditingVo.getPageNum(), sysAmountAuditingVo.getPageSize());
  113. QueryWrapper<SysAmountAuditingEntity> wrapper = new QueryWrapper<>();
  114. Page<SysAmountAuditingEntity> sysUserAccountHistoryPage = baseMapper.queryPageOrder(sysAmountAuditingVo, page);
  115. return new BasePageResult<>(sysAmountAuditingVo.getPageNum(), page.getSize(), sysUserAccountHistoryPage.getTotal(), page.getPages(),
  116. sysUserAccountHistoryPage.getRecords());
  117. }
  118. @Override
  119. public List<SysAmountAuditingEntity> getProgressIng(HashMap<String, Object> params) {
  120. return baseMapper.getProgressIng(params);
  121. }
  122. }