From ac5dac6c7c45e4c2ecf3cc7ccebac78d65ca9141 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期一, 28 九月 2026 11:24:08 +0800
Subject: [PATCH] 增加新功能和修改原有功能

---
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TChargingCardServiceImpl.java |   72 ------------------------------------
 1 files changed, 0 insertions(+), 72 deletions(-)

diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TChargingCardServiceImpl.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TChargingCardServiceImpl.java
index 86911d1..83bc6cb 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TChargingCardServiceImpl.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TChargingCardServiceImpl.java
@@ -8,7 +8,6 @@
 import com.ruoyi.account.api.dto.ChargingCardAllocateDTO;
 import com.ruoyi.account.api.dto.ChargingCardAllocateItemDTO;
 import com.ruoyi.account.api.dto.ChargingCardAuthDTO;
-import com.ruoyi.account.api.dto.ChargingCardBalanceDTO;
 import com.ruoyi.account.api.dto.ChargingCardDeductDTO;
 import com.ruoyi.account.api.dto.ChargingCardExcelDTO;
 import com.ruoyi.account.api.dto.ChargingCardQueryDTO;
@@ -22,14 +21,10 @@
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.exception.ServiceException;
 import com.ruoyi.common.core.utils.StringUtils;
-import com.ruoyi.common.security.service.TokenService;
 import com.ruoyi.common.security.utils.SecurityUtils;
 import com.ruoyi.other.api.domain.TFleet;
 import com.ruoyi.other.api.domain.TGroupCompany;
 import com.ruoyi.other.api.feignClient.GroupCompanyClient;
-import com.ruoyi.system.api.domain.SysUser;
-import com.ruoyi.system.api.feignClient.SysUserClient;
-import com.ruoyi.system.api.model.LoginUser;
 import org.redisson.api.RLock;
 import org.redisson.api.RedissonClient;
 import org.slf4j.Logger;
@@ -64,7 +59,6 @@
     private static final int ENABLED = 1;
     private static final int DISABLED = 2;
     private static final int BALANCE_ADD = 1;
-    private static final int BALANCE_SUBTRACT = 2;
     /** 余额变动类型:3=刷卡订单充电结算扣款(V0.2 定稿,订单扣款专用) */
     private static final int BALANCE_TYPE_ORDER_DEDUCT = 3;
     /** 充电锁定标记:1=充电中(业务锁定,管理操作互斥) */
@@ -87,12 +81,6 @@
     private static final long LOCK_WAIT_SECONDS = 5L;
     /** 锁自动释放时间(秒),兜住异常未解锁的场景 */
     private static final long LOCK_LEASE_SECONDS = 30L;
-
-    @Autowired
-    private TokenService tokenService;
-
-    @Autowired
-    private SysUserClient sysUserClient;
 
     @Autowired
     private TransactionTemplate transactionTemplate;
@@ -262,31 +250,6 @@
     }
 
     @Override
-    @Transactional(rollbackFor = Exception.class)
-    public boolean updateBalance(ChargingCardBalanceDTO dto) {
-        validateBalanceRequest(dto);
-        verifyOperationPassword(dto.getOperationPassword());
-
-        List<TChargingCard> cards = listByIds(dto.getIds());
-        if (cards.size() != new HashSet<>(dto.getIds()).size()) {
-            throw new ServiceException("部分卡片不存在或已删除");
-        }
-        assertNotChargingLocked(cards, "调整余额");
-        int updated = baseMapper.adjustBalance(dto.getIds(), dto.getAmount(), dto.getType(),
-                MAX_AMOUNT, SecurityUtils.getUserId());
-        if (updated != cards.size()) {
-            throw new ServiceException(dto.getType() == BALANCE_SUBTRACT
-                    ? "部分卡片正在充电中或余额不足,无法完成扣减"
-                    : "部分卡片正在充电中或余额超过上限,无法完成增加");
-        }
-        for (TChargingCard card : cards) {
-            baseMapper.insertBalanceRecord(card.getId(), dto.getType(), dto.getAmount(),
-                    StringUtils.isEmpty(dto.getRemark()) ? null : dto.getRemark().trim(), SecurityUtils.getUserId());
-        }
-        return true;
-    }
-
-    @Override
     public ChargingCardAllocateVO getAllocateOverview(Integer companyId) {
         if (companyId == null) {
             throw new ServiceException("请选择公司");
@@ -302,7 +265,6 @@
     @Transactional(rollbackFor = Exception.class)
     public ChargingCardAllocateVO allocateQuota(ChargingCardAllocateDTO dto) {
         Map<Long, BigDecimal> amounts = validateAllocateRequest(dto);
-        verifyOperationPassword(dto.getOperationPassword());
         Integer companyId = dto.getCompanyId();
         // 公司必须存在、启用且为分配模式(共享模式不支持额度分配)
         TGroupCompany company = loadAllocationCompany(companyId);
@@ -629,9 +591,6 @@
         if (dto.getItems().size() > MAX_ALLOCATE_CARD_COUNT) {
             throw new ServiceException("单次最多分配" + MAX_ALLOCATE_CARD_COUNT + "张卡片");
         }
-        if (StringUtils.isEmpty(dto.getOperationPassword())) {
-            throw new ServiceException("请输入操作密码");
-        }
         if (dto.getRemark() != null && dto.getRemark().trim().length() > 200) {
             throw new ServiceException("备注不能超过200个字符");
         }
@@ -921,22 +880,6 @@
         return baseMapper.countByCardNo(cardNo, excludeId) > 0;
     }
 
-    private void validateBalanceRequest(ChargingCardBalanceDTO dto) {
-        if (dto == null || dto.getIds() == null || dto.getIds().isEmpty()) {
-            throw new ServiceException("请选择需要更新余额的卡片");
-        }
-        if (dto.getType() == null || (dto.getType() != BALANCE_ADD && dto.getType() != BALANCE_SUBTRACT)) {
-            throw new ServiceException("余额调整类型错误");
-        }
-        validateAmount(dto.getAmount(), false, "调整金额");
-        if (dto.getRemark() != null && dto.getRemark().trim().length() > 255) {
-            throw new ServiceException("备注不能超过255个字符");
-        }
-        if (StringUtils.isEmpty(dto.getOperationPassword())) {
-            throw new ServiceException("请输入操作密码");
-        }
-    }
-
     private void validateDeductRequest(ChargingCardDeductDTO dto) {
         if (dto == null) {
             throw new ServiceException("扣款参数不能为空");
@@ -978,21 +921,6 @@
         }
         String prefix = row > 0 ? "第" + row + "行" : "";
         throw new ServiceException(prefix + "启用状态错误");
-    }
-
-    private void verifyOperationPassword(String operationPassword) {
-        LoginUser loginUser = tokenService.getLoginUser();
-        if (loginUser == null || loginUser.getUserid() == null) {
-            throw new ServiceException("登录状态已失效,请重新登录");
-        }
-        R<SysUser> response = sysUserClient.getSysUser(loginUser.getUserid());
-        SysUser user = response == null ? null : response.getData();
-        if (user == null || StringUtils.isEmpty(user.getOperationPassword())) {
-            throw new ServiceException("当前账号未设置操作密码");
-        }
-        if (!SecurityUtils.matchesPassword(operationPassword, user.getOperationPassword())) {
-            throw new ServiceException("操作密码错误");
-        }
     }
 
     private boolean isValidStatus(Integer status) {

--
Gitblit v1.7.1