Browse Source

提交渠道提现只能提取100的倍数的金额

hxl13994548489 2 years ago
parent
commit
8809d92ca9

+ 34 - 2
src/main/java/com/ydtech/modules/admin/service/impl/SysUserAccountServiceImpl.java

@@ -256,11 +256,15 @@ public class SysUserAccountServiceImpl extends ServiceImpl<SysUserAccountMapper,
     @Transactional
     public HttpResult<Object> inert(SysUserAccountVo sysUserAccountVo) {
         String userId = BaseController.getUser().getId();
+        // add  by hxl 2024-09-12  =============== 添加提现用户是渠道的话,只能提现100的整数金额
+        BigDecimal amount = sysUserAccountVo.getAmount();
+        judgeAmount(amount, userId);
+        // add  by  hxl  end =============================
         BigDecimal zero = BigDecimal.ZERO;
         BigDecimal beforeAmount;
         BigDecimal afterAmount;
 //       用户当前金额
-        BigDecimal amount = sysUserAccountVo.getAmount();
+    //    BigDecimal amount = sysUserAccountVo.getAmount();
         SysUserAccountHistory sysUserAccountHistory = new SysUserAccountHistory();  // 记录
         sysUserAccountHistory.setDocumentary(1);  // 1提现
         sysUserAccountHistory.setUserId(userId);
@@ -367,11 +371,15 @@ public class SysUserAccountServiceImpl extends ServiceImpl<SysUserAccountMapper,
     @Transactional
     public HttpResult withdraw(SysUserAccountVo sysUserAccountVo) {
         String userId = sysUserAccountVo.getUserId();
+        // add  by hxl 2024-09-12  =============== 添加提现用户是渠道的话,只能提现100的整数金额
+        BigDecimal amount = sysUserAccountVo.getAmount();
+        judgeAmount(amount, userId);
+        // add  by  hxl  end =============================
         BigDecimal zero = BigDecimal.ZERO;
         BigDecimal beforeAmount;
         BigDecimal afterAmount;
 //       用户当前金额
-        BigDecimal amount = sysUserAccountVo.getAmount();
+       // BigDecimal amount = sysUserAccountVo.getAmount();
         SysUserAccountHistory sysUserAccountHistory = new SysUserAccountHistory();  // 记录
         sysUserAccountHistory.setDocumentary(1);  // 1支出
         sysUserAccountHistory.setUserId(userId);
@@ -1511,4 +1519,28 @@ public class SysUserAccountServiceImpl extends ServiceImpl<SysUserAccountMapper,
 
         return new MySumAmountDto(ysAmount, ssAmount, ysAndSsAmount, ysTGAmount, ssTGAmount, ysAndSsTGAmount, ysTXAmount, ssKTAmount, sumAmount, txzTXAmount);
     }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/9/12 9:46
+     *  @Description:  判断渠道金额
+     */
+    private void judgeAmount(BigDecimal amount, String userId) {
+        if (amount == null) {
+            throw new SystemException("提现金额不能为空");
+        } else if (amount.compareTo(BigDecimal.ZERO) <= 0) {
+            throw new SystemException("提现金额不能小于0");
+        }
+        SysUser sysUser = sysUserMapper.selectById(userId);
+        SysDept dept = sysDeptService.getById(sysUser.getDeptId());
+        //渠道
+        if("1".equals(dept.getManagementSource())){
+            BigDecimal remainder = amount.remainder(new BigDecimal("100"));
+            if(remainder.compareTo(BigDecimal.ZERO) > 0){
+                throw new SystemException("提现金额必须为100的倍数");
+            }
+        }
+    }
+
+
 }