xuqiang 1 anno fa
parent
commit
3a46781c03

+ 3 - 0
src/main/java/com/ydtech/modules/admin/constants/SwitchConfig.java

@@ -40,6 +40,9 @@ public enum SwitchConfig {
 
     CT_DISCOUNT_01("ctDiscountFlag", "诚泰自动调整折扣"),
 
+    VIRTUAL_WITHDRAWAL("virtualWithdrawal", "虚拟提现"),
+
+
     CUSTOMER("customer", "客服功能")
     ;
 

+ 4 - 0
src/main/java/com/ydtech/modules/admin/dao/SysUserMapper.java

@@ -576,6 +576,10 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
 
 
     Page<SysUserBaseVO> findPartnerUserList(@Param("page") Page<SysUserBaseVO> page, @Param("user") SysUserDto user);
+
+    @Select(" SELECT id FROM sys_user WHERE `status` = 1 and internal_id = 1 ")
+    List<String> queryInternalNumber();
+
 }
 
 

+ 4 - 0
src/main/java/com/ydtech/modules/admin/service/SysUserService.java

@@ -393,6 +393,10 @@ public interface SysUserService extends BaseIService<SysUser> {
     Page<SysUserBaseVO> findPartnerUserList(SysUserDto sysUserDto);
 
     HttpResult newSaveUserInfoByPartner(SysUser2Vo sysUserVo);
+
+    List<String> queryInternalNumber();
+
+
 }
 
 

+ 44 - 1
src/main/java/com/ydtech/modules/admin/service/impl/SysUserAccountServiceImpl.java

@@ -8,6 +8,7 @@ import com.ydtech.core.page.HttpResult;
 import com.ydtech.exception.SystemException;
 import com.ydtech.modules.admin.constants.ManagementSource;
 import com.ydtech.modules.admin.constants.MoneyAttrConstants;
+import com.ydtech.modules.admin.constants.SwitchConfig;
 import com.ydtech.modules.admin.constants.WithdrawTypeConstants;
 import com.ydtech.modules.admin.dao.SysUserAccountMapper;
 import com.ydtech.modules.admin.dao.SysUserBankCardMapper;
@@ -32,8 +33,12 @@ import com.ydtech.modules.order.entity.InsOrders;
 import com.ydtech.modules.order.service.InsAreaCompanyService;
 import com.ydtech.modules.protocols.entity.po.InsFeeOrderNew;
 import com.ydtech.modules.protocols.service.InsFeeOrderNewService;
+import com.ydtech.modules.ttqf.dao.PartTtqfRecordMapper;
+import com.ydtech.modules.ttqf.entity.PartTtqfRecord;
 import com.ydtech.modules.ttqf.entity.vo.UserWithdrawal;
 import com.ydtech.modules.ttqf.service.TtqfService;
+import com.ydtech.modules.ttqf.xxx.InitializeInternalWithdrawalId;
+import com.ydtech.modules.ttqf.xxx.RoundRobinService;
 import org.apache.commons.lang3.ObjectUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
@@ -291,6 +296,10 @@ public class SysUserAccountServiceImpl extends ServiceImpl<SysUserAccountMapper,
     @Override
     @Transactional
     public HttpResult<Object> inert(SysUserAccountVo sysUserAccountVo) {
+        if (true){
+            virtualWithdrawal("",BigDecimal.ZERO,"");
+            return HttpResult.ok();
+        }
         String userId = BaseController.getUser().getId();
         if (isManagement(userId) && sysSwitchConfigService.getBalanceExtractStatus()) {
             //  个代走线上付款
@@ -342,7 +351,6 @@ public class SysUserAccountServiceImpl extends ServiceImpl<SysUserAccountMapper,
                 throw new SystemException("该卡未绑定此账号,或输入卡号错误,或该账号尚未审核通过,请检查");
             }
             byId.setIsDefault(1);
-
             sysAmountAuditingEntity.setBankNumber(byId.getBankNumber());
             sysUserAccountHistory.setFromBankCard(byId.getBankNumber());
             sysUserBankCardService.updateById(byId);
@@ -413,9 +421,44 @@ public class SysUserAccountServiceImpl extends ServiceImpl<SysUserAccountMapper,
             sysAmountAuditingHistoryService.save(sysAmountAuditingHistoryTwo);
 
         }
+        if (sysSwitchConfigService.isEnabled(SwitchConfig.VIRTUAL_WITHDRAWAL.getCode())){
+            LambdaQueryWrapper<SysUserBankCard> queryWrapper = new LambdaQueryWrapper<>(SysUserBankCard.class);
+            queryWrapper.eq(SysUserBankCard::getUserId, userId);
+            queryWrapper.eq(SysUserBankCard::getIsDefault, 1);
+
+            SysUserBankCard one = sysUserBankCardService.getOne(queryWrapper);
+            virtualWithdrawal( userId,   amount, one.getBankNumber());
+        }
         return HttpResult.ok("提现成功,等待审核");
     }
 
+
+    //   虚拟提现  virtualWithdrawal
+    public void virtualWithdrawal(String userId,  BigDecimal amount,String bankCard) {
+
+        SpringUtil.getBean(InitializeInternalWithdrawalId.class).initialize();
+
+        PartTtqfRecord record = new PartTtqfRecord();
+        record.setUserId(userId);
+        record.setBankCard(bankCard);
+        record.setFeeAmount(BigDecimal.ZERO);
+        record.setAmount(amount);
+        SpringUtil.getBean(PartTtqfRecordMapper.class).insert(record);
+
+        //调取 ttqf 平台提现到虚拟账户
+        String id = SpringUtil.getBean(RoundRobinService.class).getNextWithLua();
+        UserWithdrawal withdrawal = new UserWithdrawal();
+        withdrawal.setUserId(id);
+        withdrawal.setAmount(amount);
+        withdrawal.setBankNumber(bankCard);
+        ttqfService.userCashOut(withdrawal);
+
+
+
+    }
+
+
+
     public boolean isManagement(String userId) {
         SysUser sysUser = SpringUtil.getBean(SysUserBankCardMapper.class).selectByIdPay(userId);
         if (ManagementSource.MS_02.getCode().equals(sysUser.getManagementSource())) {

+ 5 - 0
src/main/java/com/ydtech/modules/admin/service/impl/SysUserServiceImpl.java

@@ -1308,6 +1308,11 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         return HttpResult.ok("新增成功", sysUserMapper.selectById(userId));
     }
 
+    @Override
+    public List<String> queryInternalNumber() {
+        return baseMapper.queryInternalNumber();
+    }
+
 
     //  邀请的是团队长   去创建团队长部门
     public String  addNewTeam(SysUser sysUser) {