From 9e74f6527bf5ca127c3ea52a92c2b1176e1e7fc0 Mon Sep 17 00:00:00 2001 From: yyb <1416014977@qq.com> Date: Thu, 29 Jan 2026 14:19:07 +0800 Subject: [PATCH] =?UTF-8?q?update=20m2pool=20=E6=96=B0=E5=A2=9E=E4=B8=8B?= =?UTF-8?q?=E6=9E=B6=E5=92=8C=E4=B8=8A=E6=9E=B6=E5=B8=81=E7=A7=8D=E8=BF=87?= =?UTF-8?q?=E7=A8=8B=E4=B8=AD=E6=89=80=E9=9C=80=E7=9A=84=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E5=92=8C=E6=81=A2=E5=A4=8D=E6=8C=96=E7=9F=BF=E8=B4=A6=E6=88=B7?= =?UTF-8?q?=E7=AD=89=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ManageUserController.java | 12 ++++ .../com/m2pool/manage/dto/AccountIdsDto.java | 27 ++++++++ .../manage/mapper/ManageBroadcastMapper.java | 25 +++++++ .../manage/service/ManageUserService.java | 5 ++ .../service/impl/ManageUserServiceImpl.java | 68 +++++++++++++++++++ .../mapper/manage/ManageBroadcastMapper.xml | 26 +++++++ 6 files changed, 163 insertions(+) create mode 100644 m2pool-modules/m2pool-manage/src/main/java/com/m2pool/manage/dto/AccountIdsDto.java diff --git a/m2pool-modules/m2pool-manage/src/main/java/com/m2pool/manage/controller/ManageUserController.java b/m2pool-modules/m2pool-manage/src/main/java/com/m2pool/manage/controller/ManageUserController.java index cf3f6fd..06e84d8 100644 --- a/m2pool-modules/m2pool-manage/src/main/java/com/m2pool/manage/controller/ManageUserController.java +++ b/m2pool-modules/m2pool-manage/src/main/java/com/m2pool/manage/controller/ManageUserController.java @@ -87,4 +87,16 @@ public class ManageUserController { public TableDataInfo summaryOfPendingPayments(@RequestBody PageVo pageVo){ return manageUserService.summaryOfPendingPayments(pageVo); } + + @PostMapping("/deleteUserAccount") + @ApiOperation(value = "管理系统:下架币种--删除币种对应的所有挖矿账户") + public R deleteUserAccount(@RequestBody CoinVo coinVo){ + return manageUserService.deleteUserAccount(coinVo); + } + + @PostMapping("/deleteUserAccount") + @ApiOperation(value = "管理系统:重新上架已下架币种--把以前币种状态设置为5下架的改为 0") + public R addUserAccount(@RequestBody CoinVo coinVo){ + return manageUserService.addUserAccount(coinVo); + } } diff --git a/m2pool-modules/m2pool-manage/src/main/java/com/m2pool/manage/dto/AccountIdsDto.java b/m2pool-modules/m2pool-manage/src/main/java/com/m2pool/manage/dto/AccountIdsDto.java new file mode 100644 index 0000000..c34f444 --- /dev/null +++ b/m2pool-modules/m2pool-manage/src/main/java/com/m2pool/manage/dto/AccountIdsDto.java @@ -0,0 +1,27 @@ +package com.m2pool.manage.dto; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @Description 账户ID数据传输对象 + * @Date 2026/1/29 + * @Author lizixuan + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class AccountIdsDto { + /** + * 矿机账户ID + */ + private Long minerId; + + /** + * 余额账户ID + */ + private Long balanceId; +} \ No newline at end of file diff --git a/m2pool-modules/m2pool-manage/src/main/java/com/m2pool/manage/mapper/ManageBroadcastMapper.java b/m2pool-modules/m2pool-manage/src/main/java/com/m2pool/manage/mapper/ManageBroadcastMapper.java index ad61a4b..79c3f4a 100644 --- a/m2pool-modules/m2pool-manage/src/main/java/com/m2pool/manage/mapper/ManageBroadcastMapper.java +++ b/m2pool-modules/m2pool-manage/src/main/java/com/m2pool/manage/mapper/ManageBroadcastMapper.java @@ -14,6 +14,7 @@ import java.time.LocalDate; import java.time.LocalDateTime; import java.util.Date; import java.util.List; +import java.util.Map; @Mapper public interface ManageBroadcastMapper extends BaseMapper { @@ -117,4 +118,28 @@ public interface ManageBroadcastMapper extends BaseMapper { * @return */ List getStartPayments(@Param("list") List summaryOfPendingPaymentsList ); + + /** + * 查询指定币种和状态的账户ID列表(包含矿机账户ID和余额账户ID) + * @param coin 币种 + * @param status 状态 + * @return 返回AccountIdsDto列表,包含矿机账户ID和余额账户ID + */ + List getAccountIdsByCoinAndStatus(@Param("coin") String coin, @Param("status") int status); + + /** + * 根据ID列表更新矿机账户状态 + * @param ids ID列表 + * @param newStatus 新状态 + * @return + */ + boolean updateUserMinerAccountStatusByIds(@Param("ids") List ids, @Param("newStatus") int newStatus); + + /** + * 根据ID列表更新账户余额状态 + * @param ids ID列表 + * @param newStatus 新状态 + * @return + */ + boolean updateUserAccountBalanceStatusByIds(@Param("ids") List ids, @Param("newStatus") int newStatus); } diff --git a/m2pool-modules/m2pool-manage/src/main/java/com/m2pool/manage/service/ManageUserService.java b/m2pool-modules/m2pool-manage/src/main/java/com/m2pool/manage/service/ManageUserService.java index 05a7d24..4a8a17c 100644 --- a/m2pool-modules/m2pool-manage/src/main/java/com/m2pool/manage/service/ManageUserService.java +++ b/m2pool-modules/m2pool-manage/src/main/java/com/m2pool/manage/service/ManageUserService.java @@ -68,4 +68,9 @@ public interface ManageUserService{ * @return */ TableDataInfo summaryOfPendingPayments(PageVo pageVo); + + + R deleteUserAccount(CoinVo coinVo); + + R addUserAccount(CoinVo coinVo); } diff --git a/m2pool-modules/m2pool-manage/src/main/java/com/m2pool/manage/service/impl/ManageUserServiceImpl.java b/m2pool-modules/m2pool-manage/src/main/java/com/m2pool/manage/service/impl/ManageUserServiceImpl.java index b6984f9..594ee7b 100644 --- a/m2pool-modules/m2pool-manage/src/main/java/com/m2pool/manage/service/impl/ManageUserServiceImpl.java +++ b/m2pool-modules/m2pool-manage/src/main/java/com/m2pool/manage/service/impl/ManageUserServiceImpl.java @@ -17,6 +17,7 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.mail.javamail.JavaMailSenderImpl; import org.springframework.mail.javamail.MimeMessageHelper; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.math.BigDecimal; @@ -279,4 +280,71 @@ public class ManageUserServiceImpl implements ManageUserService { PageHelper.clearPage(); return rspData; } + + + @Override + @Transactional + public R deleteUserAccount(CoinVo coinVo) { + List accountIdsList = manageBroadcastMapper.getAccountIdsByCoinAndStatus(coinVo.getCoin(), 0); + if (accountIdsList == null || accountIdsList.isEmpty()) { + return R.success("删除成功"); + } + + List minerIds = new ArrayList<>(); + List balanceIds = new ArrayList<>(); + + for (AccountIdsDto accountIds : accountIdsList) { + if (accountIds.getMinerId() != null) { + minerIds.add(accountIds.getMinerId()); + } + if (accountIds.getBalanceId() != null) { + balanceIds.add(accountIds.getBalanceId()); + } + } + + boolean result1 = true; + boolean result2 = true; + + if (!minerIds.isEmpty()) { + result1 = manageBroadcastMapper.updateUserMinerAccountStatusByIds(minerIds, 5); + } + if (!balanceIds.isEmpty()) { + result2 = manageBroadcastMapper.updateUserAccountBalanceStatusByIds(balanceIds, 5); + } + + return (result1 && result2) ? R.success("删除成功") : R.fail("删除失败"); + } + + @Override + @Transactional + public R addUserAccount(CoinVo coinVo) { + List accountIdsList = manageBroadcastMapper.getAccountIdsByCoinAndStatus(coinVo.getCoin(), 5); + if (accountIdsList == null || accountIdsList.isEmpty()) { + return R.success("添加成功"); + } + + List minerIds = new ArrayList<>(); + List balanceIds = new ArrayList<>(); + + for (AccountIdsDto accountIds : accountIdsList) { + if (accountIds.getMinerId() != null) { + minerIds.add(accountIds.getMinerId()); + } + if (accountIds.getBalanceId() != null) { + balanceIds.add(accountIds.getBalanceId()); + } + } + + boolean result1 = true; + boolean result2 = true; + + if (!minerIds.isEmpty()) { + result1 = manageBroadcastMapper.updateUserMinerAccountStatusByIds(minerIds, 0); + } + if (!balanceIds.isEmpty()) { + result2 = manageBroadcastMapper.updateUserAccountBalanceStatusByIds(balanceIds, 0); + } + + return (result1 && result2) ? R.success("添加成功") : R.fail("添加失败"); + } } diff --git a/m2pool-modules/m2pool-manage/src/main/resources/mapper/manage/ManageBroadcastMapper.xml b/m2pool-modules/m2pool-manage/src/main/resources/mapper/manage/ManageBroadcastMapper.xml index 3bd1309..274db7c 100644 --- a/m2pool-modules/m2pool-manage/src/main/resources/mapper/manage/ManageBroadcastMapper.xml +++ b/m2pool-modules/m2pool-manage/src/main/resources/mapper/manage/ManageBroadcastMapper.xml @@ -173,4 +173,30 @@ ) + + + + UPDATE user_miner_account SET status = #{newStatus} WHERE id IN + + #{id} + + + + + UPDATE user_account_balance SET status = #{newStatus} WHERE ma_id IN + + #{id} + + +