diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/recharge/WalletRechargeApplyController.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/recharge/WalletRechargeApplyController.java index 6a48a2c5b..3caa85ad5 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/recharge/WalletRechargeApplyController.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/recharge/WalletRechargeApplyController.java @@ -117,7 +117,8 @@ public class WalletRechargeApplyController { @DeleteMapping @PreAuthorize("@pms.hasPermission('wallet_walletRechargeApply_del')") public R removeById(@RequestBody Long[] ids) { - return R.ok(walletRechargeApplyService.removeBatchByIds(CollUtil.toList(ids))); + walletRechargeApplyService.delByIds(CollUtil.toList(ids)); + return R.ok(); } diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/WalletRechargeApplyService.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/WalletRechargeApplyService.java index dabffccd0..3923c7493 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/WalletRechargeApplyService.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/WalletRechargeApplyService.java @@ -12,6 +12,7 @@ import com.bsd.pjcloud.wallet.api.vo.recharge.WalletRechargeApplyVo; import com.bsd.pjcloud.wallet.api.vo.recharge.excel.WalletRechargeByApplyExcelVo; import org.springframework.validation.BindingResult; +import java.util.ArrayList; import java.util.List; public interface WalletRechargeApplyService extends IService { @@ -20,6 +21,11 @@ public interface WalletRechargeApplyService extends IService list); + Page pageJoin(Page page, WalletRechargeApplyDto dto); Page scopePageList(Page page, WalletRechargeApplyDto dto); diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/recharge/WalletRechargeApplyServiceImpl.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/recharge/WalletRechargeApplyServiceImpl.java index 3ae2f4f98..ff59b5813 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/recharge/WalletRechargeApplyServiceImpl.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/recharge/WalletRechargeApplyServiceImpl.java @@ -29,6 +29,7 @@ import com.bsd.pjcloud.flow.task.constant.NodeStatusEnum; import com.bsd.pjcloud.flow.task.constant.TaskCheckStatusEnum; import com.bsd.pjcloud.flow.task.dto.ProcessNodeRecordAssignUserParamDto; import com.bsd.pjcloud.flow.task.dto.TaskDto; +import com.bsd.pjcloud.flow.task.dto.TaskParamDto; import com.bsd.pjcloud.wallet.api.constant.WalletBizEnum; import com.bsd.pjcloud.wallet.api.constant.WalletBizRechargeEnum; import com.bsd.pjcloud.wallet.api.constant.WalletTypeEnum; @@ -37,6 +38,7 @@ import com.bsd.pjcloud.wallet.api.dto.WalletTypeDto; import com.bsd.pjcloud.wallet.api.dto.recharge.WalletRechargeApplyDto; import com.bsd.pjcloud.wallet.api.dto.recharge.WalletRechargeImportDto; import com.bsd.pjcloud.wallet.api.dto.recharge.excel.WalletRechargeExcelDto; +import com.bsd.pjcloud.wallet.api.entity.WalletFreezeEntity; import com.bsd.pjcloud.wallet.api.entity.WalletManageEntity; import com.bsd.pjcloud.wallet.api.entity.WalletTypeEntity; import com.bsd.pjcloud.wallet.api.entity.recharge.WalletRechargeApplyEntity; @@ -118,6 +120,34 @@ public class WalletRechargeApplyServiceImpl extends ServiceImpl list) { + if (ObjectUtil.isEmpty(list)) return; + for (Long v : list) { + // 只有未审批和审核中能删除 + WalletRechargeApplyEntity detail = baseMapper.selectById(v); + if (ObjectUtil.isEmpty(detail)) continue; + if (ObjectUtil.isNotEmpty(detail.getProcessStatus()) && ObjectUtil.notEqual(detail.getProcessStatus(), TaskCheckStatusEnum.PADDING.getCode())) { + UserInfo userInfo = userService.getByUserId(detail.getUserId()).getData(); + throw new RuntimeException("用户<" + userInfo.getSysUser().getName() + ">发起的审批不能删除"); + } + // 如果是审批中就取消审批 + if (ObjectUtil.equals(detail.getProcessStatus(), TaskCheckStatusEnum.PADDING.getCode())) { + TaskParamDto dto = new TaskParamDto(); + dto.setProcessInstanceIdList(List.of(detail.getProcessId())); + flowEngineService.stopProcessInstance(dto).getData(); + } + // 删除申请记录 + baseMapper.deleteById(v); + // 删除申请记录条目 + rechargeImportService.remove(new LambdaQueryWrapper().eq(WalletRechargeImportEntity::getApplyId, v)); + } + } + @Override public Page pageJoin(Page page, WalletRechargeApplyDto dto) { Page list = baseMapper.pageJoin(page, dto);