| | |
| | | package cc.mrbird.febs.dapp.service.impl; |
| | | |
| | | import cc.mrbird.febs.common.contants.AppContants; |
| | | import cc.mrbird.febs.common.entity.FebsResponse; |
| | | import cc.mrbird.febs.common.utils.LoginUserUtil; |
| | | import cc.mrbird.febs.common.utils.RedisUtils; |
| | | import cc.mrbird.febs.dapp.chain.ChainEnum; |
| | |
| | | import cc.mrbird.febs.job.SystemTradeJob; |
| | | import cc.mrbird.febs.rabbit.producer.ChainProducer; |
| | | import cn.hutool.core.collection.CollUtil; |
| | | import cn.hutool.core.date.DateField; |
| | | import cn.hutool.core.date.DateTime; |
| | | import cn.hutool.core.date.DateUnit; |
| | | import cn.hutool.core.date.DateUtil; |
| | | import cn.hutool.core.util.ObjectUtil; |
| | | import cn.hutool.core.util.RandomUtil; |
| | | import cn.hutool.core.util.StrUtil; |
| | | import cn.hutool.json.JSONUtil; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import lombok.RequiredArgsConstructor; |
| | | import lombok.extern.slf4j.Slf4j; |
| | |
| | | private final DappMemberBoxRecordMapper dappMemberBoxRecordMapper; |
| | | private final DappWalletCoinDao dappWalletCoinDao; |
| | | private final DappSdeWithdrawFeeDao dappSdeWithdrawFeeDao; |
| | | private final DappPriceRecordDao dappPriceRecordDao; |
| | | |
| | | |
| | | @Override |
| | |
| | | // int count = nftCount == null ? 0 : nftCount.intValue(); |
| | | result.put("cardCnt", 1000); |
| | | result.put("nftPrice", AppContants.NFT_ACTIVE_PRICE); |
| | | result.put("rewardPool", ChainService.getInstance(ChainEnum.BSC_TFC.name()).balanceOf(ChainEnum.BSC_TFC_REWARD.getAddress())); |
| | | return result; |
| | | } |
| | | |
| | |
| | | |
| | | Object o = redisUtils.get(AppContants.REDIS_KEY_COIN_REMAIN + member.getAddress()); |
| | | |
| | | BigDecimal minLimit = new BigDecimal(50); |
| | | BigDecimal coinTotal; |
| | | if (balance.compareTo(minLimit) > 0) { |
| | | BigDecimal coinTotal = balance; |
| | | if (this.hasProfit(member.getAddress())) { |
| | | coinTotal = balance.multiply(BigDecimal.valueOf(0.3)).setScale(instance.decimals(), RoundingMode.HALF_DOWN); |
| | | } else { |
| | | coinTotal = new BigDecimal(50); |
| | | } |
| | | |
| | | BigDecimal remain; |
| | |
| | | Map<String, Integer> cardCntMap = nfcCardMap(); |
| | | |
| | | ContractChainService instance = ChainService.getInstance(ChainEnum.BSC_TFC.name()); |
| | | int decimals = instance.decimals(); |
| | | if (fundFlow.getType() == 1) { |
| | | BigDecimal totalBalance = BigDecimal.ZERO; |
| | | |
| | |
| | | balanceMap.forEach((key, value) -> { |
| | | DappMemberEntity member = dappMemberDao.selectByAddress(key, "BSC"); |
| | | |
| | | BigDecimal rate = value.divide(finalTotalBalance, 2, RoundingMode.HALF_UP); |
| | | BigDecimal rate = value.divide(finalTotalBalance, decimals, RoundingMode.HALF_UP); |
| | | BigDecimal memberProfit = fundFlow.getFee().multiply(rate); |
| | | DappFundFlowEntity distribFlow = new DappFundFlowEntity(member.getId(), memberProfit, 4, 2, BigDecimal.ZERO); |
| | | dappFundFlowDao.insert(distribFlow); |
| | | |
| | | OnlineTransferUtil.addTransfer(key, memberProfit, 4, 1, ChainEnum.BSC_TFC_SOURCE.name(), AppContants.SYMBOL_COIN, batchNo); |
| | | if (memberProfit.compareTo(BigDecimal.ZERO) == 0) { |
| | | return; |
| | | } |
| | | |
| | | DappSdeWithdrawFeeEntity sdeWithdrawFee = new DappSdeWithdrawFeeEntity(member.getId(), member.getAddress(), memberProfit, fundFlow.getId(), ChainEnum.BSC_TFC_SOURCE.name()); |
| | | dappSdeWithdrawFeeDao.insert(sdeWithdrawFee); |
| | | // DappFundFlowEntity distribFlow = new DappFundFlowEntity(member.getId(), memberProfit, 4, 2, BigDecimal.ZERO); |
| | | // dappFundFlowDao.insert(distribFlow); |
| | | // OnlineTransferUtil.addTransfer(key, memberProfit, 4, 1, ChainEnum.BSC_TFC_SOURCE.name(), AppContants.SYMBOL_COIN, batchNo); |
| | | }); |
| | | |
| | | } else if (fundFlow.getType() == 2) { |
| | | BigDecimal destroyAmount = fundFlow.getFee().multiply(new BigDecimal("2").divide(new BigDecimal("7"), instance.decimals(), RoundingMode.HALF_UP)); |
| | | // 销毁 |
| | | OnlineTransferUtil.addTransfer(AppContants.DESTROY_ADDRESS, destroyAmount, fundFlow.getType(), 3, ChainEnum.BSC_TFC_SOURCE.name(), AppContants.SYMBOL_COIN, batchNo); |
| | | // OnlineTransferUtil.addTransfer(AppContants.DESTROY_ADDRESS, destroyAmount, fundFlow.getType(), 3, ChainEnum.BSC_TFC_SOURCE.name(), AppContants.SYMBOL_COIN, batchNo); |
| | | DappSdeWithdrawFeeEntity destroy = new DappSdeWithdrawFeeEntity(null, AppContants.DESTROY_ADDRESS, destroyAmount, fundFlow.getId(), ChainEnum.BSC_TFC_SOURCE.name()); |
| | | dappSdeWithdrawFeeDao.insert(destroy); |
| | | |
| | | BigDecimal remain = fundFlow.getFee().subtract(destroyAmount); |
| | | BigDecimal preNftAmount = remain.divide(new BigDecimal(5000), 2, RoundingMode.HALF_UP); |
| | | BigDecimal preNftAmount = remain.divide(new BigDecimal(5000), decimals, RoundingMode.HALF_UP); |
| | | |
| | | BigDecimal total = BigDecimal.ZERO; |
| | | for (Map.Entry<String, Integer> entry : cardCntMap.entrySet()) { |
| | | DappMemberEntity member = dappMemberDao.selectByAddress(entry.getKey(), "BSC"); |
| | | BigDecimal profit = new BigDecimal(entry.getValue()).multiply(preNftAmount); |
| | | if (profit.compareTo(BigDecimal.ZERO) == 0) { |
| | | return; |
| | | } |
| | | |
| | | DappFundFlowEntity distribFlow = new DappFundFlowEntity(member.getId(), profit, 4, 2, BigDecimal.ZERO); |
| | | dappFundFlowDao.insert(distribFlow); |
| | | OnlineTransferUtil.addTransfer(entry.getKey(), profit, 4, 1, ChainEnum.BSC_TFC_SOURCE.name(), AppContants.SYMBOL_COIN, batchNo); |
| | | // DappFundFlowEntity distribFlow = new DappFundFlowEntity(member.getId(), profit, 4, 2, BigDecimal.ZERO); |
| | | // dappFundFlowDao.insert(distribFlow); |
| | | // OnlineTransferUtil.addTransfer(entry.getKey(), profit, 4, 1, ChainEnum.BSC_TFC_SOURCE.name(), AppContants.SYMBOL_COIN, batchNo); |
| | | |
| | | DappSdeWithdrawFeeEntity sdeWithdrawFee = new DappSdeWithdrawFeeEntity(member.getId(), member.getAddress(), profit, fundFlow.getId(), ChainEnum.BSC_TFC_SOURCE.name()); |
| | | dappSdeWithdrawFeeDao.insert(sdeWithdrawFee); |
| | | |
| | | total = total.add(profit); |
| | | } |
| | | ; |
| | | |
| | | if (remain.subtract(total).compareTo(BigDecimal.ZERO) > 0) { |
| | | OnlineTransferUtil.addTransfer(ChainEnum.BSC_TFC_FEE.getAddress(), remain.subtract(total), 4, 3, ChainEnum.BSC_TFC_SOURCE.name(), AppContants.SYMBOL_COIN, batchNo); |
| | | DappSdeWithdrawFeeEntity sdeWithdrawFee = new DappSdeWithdrawFeeEntity(null, ChainEnum.BSC_TFC_FEE.getAddress(), remain.subtract(total), fundFlow.getId(), ChainEnum.BSC_TFC_SOURCE.name()); |
| | | dappSdeWithdrawFeeDao.insert(sdeWithdrawFee); |
| | | // OnlineTransferUtil.addTransfer(ChainEnum.BSC_TFC_FEE.getAddress(), remain.subtract(total), 4, 3, ChainEnum.BSC_TFC_SOURCE.name(), AppContants.SYMBOL_COIN, batchNo); |
| | | } |
| | | |
| | | } else { |
| | | return; |
| | | } |
| | | |
| | | Map<String, String> map = new HashMap<>(); |
| | | map.put("batchNo", batchNo); |
| | | |
| | | // 发送转账消息 |
| | | chainProducer.sendOnlineTransfer(JSONObject.toJSONString(map)); |
| | | // Map<String, String> map = new HashMap<>(); |
| | | // map.put("batchNo", batchNo); |
| | | // // 发送转账消息 |
| | | // chainProducer.sendOnlineTransfer(JSONObject.toJSONString(map)); |
| | | } |
| | | |
| | | // public static void main(String[] args) throws IOException { |
| | | // Document parse = Jsoup.parse(new URL("https://bscscan.com/token/generic-tokenholders2?a=0x03c7d3f141c5f03971604958170e253362e13be6"), 10000000); |
| | | // |
| | | // Elements tbodys = parse.getElementsByTag("tbody"); |
| | | // |
| | | // Element tbody = tbodys.get(0); |
| | | // |
| | | // Elements elements = tbody.getElementsMatchingOwnText("^0x.*$"); |
| | | // |
| | | // String text = elements.get(0).text(); |
| | | // System.out.println(1111); |
| | | // } |
| | | |
| | | @Override |
| | | public void mining() { |
| | |
| | | if (CollUtil.isEmpty(allMembers)) { |
| | | return; |
| | | } |
| | | DataDictionaryCustom miniHoldCoin = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(AppContants.DIC_TYPE_SYSTEM_SETTING, AppContants.DIC_VALUE_MINI_HOLD_COIN_LIMIT); |
| | | |
| | | String batchNo = RandomUtil.randomString(32); |
| | | ContractChainService instance = ChainService.getInstance(ChainEnum.BSC_TFC.name()); |
| | |
| | | } |
| | | |
| | | BigDecimal balance = instance.balanceOf(member.getAddress()); |
| | | if (balance.compareTo(new BigDecimal(miniHoldCoin.getValue())) < 1) { |
| | | |
| | | // 判断用户是否满足持币价值达80U |
| | | if (!hasProfit(member.getAddress())) { |
| | | continue; |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | DappFundFlowEntity fundFlow = dappFundFlowDao.selectById(id); |
| | | |
| | | DappMemberEntity member = dappMemberDao.selectById(fundFlow.getMemberId()); |
| | | DappMemberEntity referer = dappMemberDao.selectMemberInfoByInviteId(member.getRefererId()); |
| | | if (referer == null || "admin".equals(referer.getAccountType())) { |
| | | return; |
| | | |
| | | int i = 1; |
| | | boolean flag = true; |
| | | while (flag) { |
| | | member = dappMemberDao.selectMemberInfoByInviteId(member.getRefererId()); |
| | | if (member == null || "admin".equals(member.getAccountType())) { |
| | | return; |
| | | } |
| | | |
| | | if (!hasProfit(member.getAddress())) { |
| | | return; |
| | | } |
| | | |
| | | DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(AppContants.DIC_TYPE_SYSTEM_SETTING, AppContants.DIC_VALUE_USER_BUY_REWARD); |
| | | BigDecimal prop = new BigDecimal(dic.getValue()).divide(new BigDecimal("100"), 2, RoundingMode.HALF_UP); |
| | | BigDecimal reward = fundFlow.getAmount().multiply(prop); |
| | | |
| | | BigDecimal balance = ChainService.getInstance(ChainEnum.BSC_TFC_REWARD.name()).balanceOf(ChainEnum.BSC_TFC_REWARD.getAddress()); |
| | | if (balance.compareTo(reward) < 1) { |
| | | return; |
| | | } |
| | | |
| | | DappFundFlowEntity rewardFlow = new DappFundFlowEntity(member.getId(), reward, 4, 2, BigDecimal.ZERO); |
| | | dappFundFlowDao.insert(rewardFlow); |
| | | |
| | | OnlineTransferUtil.addTransfer(member.getAddress(), reward, 4, 1, ChainEnum.BSC_TFC_REWARD.name(), AppContants.SYMBOL_COIN, rewardFlow.getId().toString()); |
| | | |
| | | Map<String, String> map = new HashMap<>(); |
| | | map.put("batchNo", rewardFlow.getId().toString()); |
| | | map.put("type", "flow"); |
| | | chainProducer.sendOnlineTransfer(JSONObject.toJSONString(map)); |
| | | |
| | | i++; |
| | | if (i > 2) { |
| | | flag = false; |
| | | } |
| | | } |
| | | |
| | | if (!hasProfit(referer.getAddress())) { |
| | | return; |
| | | } |
| | | |
| | | DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(AppContants.DIC_TYPE_SYSTEM_SETTING, AppContants.DIC_VALUE_USER_BUY_REWARD); |
| | | BigDecimal prop = new BigDecimal(dic.getValue()).divide(new BigDecimal("100"), 2, RoundingMode.HALF_UP); |
| | | BigDecimal reward = fundFlow.getAmount().multiply(prop); |
| | | |
| | | BigDecimal balance = ChainService.getInstance(ChainEnum.BSC_TFC_REWARD.name()).balanceOf(ChainEnum.BSC_TFC_REWARD.getAddress()); |
| | | if (balance.compareTo(reward) < 1) { |
| | | return; |
| | | } |
| | | |
| | | DappFundFlowEntity rewardFlow = new DappFundFlowEntity(referer.getId(), reward, 4, 2, BigDecimal.ZERO); |
| | | dappFundFlowDao.insert(rewardFlow); |
| | | |
| | | OnlineTransferUtil.addTransfer(referer.getAddress(), reward, 4, 1, ChainEnum.BSC_TFC_REWARD.name(), AppContants.SYMBOL_COIN, rewardFlow.getId().toString()); |
| | | |
| | | Map<String, String> map = new HashMap<>(); |
| | | map.put("batchNo", rewardFlow.getId().toString()); |
| | | map.put("type", "batch"); |
| | | chainProducer.sendOnlineTransfer(JSONObject.toJSONString(map)); |
| | | } |
| | | |
| | | |
| | |
| | | public void startSystem() { |
| | | log.info("启动系统"); |
| | | |
| | | Thread thread = new Thread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | transferPoolSetting(); |
| | | sourcePoolUsdtOutLimitSetting(); |
| | | } |
| | | }); |
| | | // Thread thread = new Thread(new Runnable() { |
| | | // @Override |
| | | // public void run() { |
| | | // } |
| | | // }); |
| | | |
| | | thread.start(); |
| | | transferPoolSetting(); |
| | | sourcePoolUsdtOutLimitSetting(); |
| | | // thread.start(); |
| | | } |
| | | |
| | | // 最低容量(百分比) |
| | |
| | | lastDayPrice = new BigDecimal(dailyPrice); |
| | | } |
| | | |
| | | ContractChainService tfcInstance = ChainService.getInstance(ChainEnum.BSC_TFC_SOURCE.name()); |
| | | // 源池币种数量 |
| | | BigDecimal tfcBalance = tfcInstance.balanceOf(ChainEnum.BSC_TFC_SOURCE.getAddress()); |
| | | |
| | | // 源池USDT数量 |
| | | BigDecimal usdtBalance = ChainService.getInstance(ChainEnum.BSC_USDT_SOURCE.name()).balanceOf(ChainEnum.BSC_USDT_SOURCE.getAddress()); |
| | | |
| | | BigDecimal todayPrice = tfcBalance.divide(usdtBalance, tfcInstance.decimals(), RoundingMode.HALF_UP); |
| | | BigDecimal todayPrice = newestPrice(); |
| | | |
| | | DappSymbolDailyPriceEntity dailyPriceEntity = new DappSymbolDailyPriceEntity(); |
| | | dailyPriceEntity.setPrice(todayPrice); |
| | |
| | | @Override |
| | | public BigDecimal newestPrice() { |
| | | if (systemHasStart()) { |
| | | String dailyPrice = redisUtils.getString(AppContants.REDIS_KEY_SYMBOL_DAILY_PRICE); |
| | | return StrUtil.isNotBlank(dailyPrice) ? new BigDecimal(dailyPrice) : BigDecimal.ZERO; |
| | | ContractChainService tfcInstance = ChainService.getInstance(ChainEnum.BSC_TFC_SOURCE.name()); |
| | | // 源池币种数量 |
| | | BigDecimal tfcBalance = tfcInstance.balanceOf(ChainEnum.BSC_TFC_SOURCE.getAddress()); |
| | | |
| | | // 源池USDT数量 |
| | | BigDecimal usdtBalance = ChainService.getInstance(ChainEnum.BSC_USDT_SOURCE.name()).balanceOf(ChainEnum.BSC_USDT_SOURCE.getAddress()); |
| | | |
| | | return usdtBalance.divide(tfcBalance, tfcInstance.decimals(), RoundingMode.HALF_UP); |
| | | } else { |
| | | return new BigDecimal("0.05"); |
| | | } |
| | |
| | | continue; |
| | | } |
| | | |
| | | DappSdeWithdrawFeeEntity sdeWithdrawFee = new DappSdeWithdrawFeeEntity(member.getId(), member.getAddress(), amount, Long.parseLong(flowId)); |
| | | DappSdeWithdrawFeeEntity sdeWithdrawFee = new DappSdeWithdrawFeeEntity(member.getId(), member.getAddress(), amount, Long.parseLong(flowId), ChainEnum.BSC_TFC_FEE.name()); |
| | | dappSdeWithdrawFeeDao.insert(sdeWithdrawFee); |
| | | } |
| | | } |
| | | |
| | | DappSdeWithdrawFeeEntity destroyFee = new DappSdeWithdrawFeeEntity(null, AppContants.DESTROY_ADDRESS, destroy, Long.parseLong(flowId)); |
| | | DappSdeWithdrawFeeEntity destroyFee = new DappSdeWithdrawFeeEntity(null, AppContants.DESTROY_ADDRESS, destroy, Long.parseLong(flowId), ChainEnum.BSC_TFC_FEE.name()); |
| | | dappSdeWithdrawFeeDao.insert(destroyFee); |
| | | } |
| | | // @Override |
| | |
| | | |
| | | String batchNo = RandomUtil.randomString(16); |
| | | list.forEach(item -> { |
| | | if (!AppContants.DESTROY_ADDRESS.equals(item.getAddress())) { |
| | | if (item.getMemberId() != null) { |
| | | DappMemberEntity member = dappMemberDao.selectByAddress(item.getAddress(), "BSC"); |
| | | if (member == null) { |
| | | return; |
| | |
| | | dappFundFlowDao.insert(fundFlow); |
| | | } |
| | | |
| | | OnlineTransferUtil.addTransfer(item.getAddress(), item.getAmount(), 5, 1, ChainEnum.BSC_TFC_FEE.name(), AppContants.SYMBOL_COIN, batchNo); |
| | | OnlineTransferUtil.addTransfer(item.getAddress(), item.getAmount(), 5, 1, item.getOutAddressName(), AppContants.SYMBOL_COIN, batchNo); |
| | | }); |
| | | dappSdeWithdrawFeeDao.updateHasReturnToFinish(); |
| | | |
| | |
| | | |
| | | @Override |
| | | public void tfcNewPrice() { |
| | | BigDecimal newPrice; |
| | | if (!systemHasStart()) { |
| | | newPrice = new BigDecimal("0.05"); |
| | | } else { |
| | | ContractChainService tfcInstance = ChainService.getInstance(ChainEnum.BSC_TFC.name()); |
| | | // u剩余数量 |
| | | BigDecimal sourceU = ChainService.getInstance(ChainEnum.BSC_USDT.name()).balanceOf(ChainEnum.BSC_USDT_SOURCE.getAddress()); |
| | | // 源池代币剩余数量 |
| | | BigDecimal sourceCoin = tfcInstance.balanceOf(ChainEnum.BSC_USDT_SOURCE.getAddress()); |
| | | BigDecimal newPrice = newestPrice(); |
| | | // if (!systemHasStart()) { |
| | | // newPrice = new BigDecimal("0.05"); |
| | | // } else { |
| | | // ContractChainService tfcInstance = ChainService.getInstance(ChainEnum.BSC_TFC.name()); |
| | | // // u剩余数量 |
| | | // BigDecimal sourceU = ChainService.getInstance(ChainEnum.BSC_USDT.name()).balanceOf(ChainEnum.BSC_USDT_SOURCE.getAddress()); |
| | | // // 源池代币剩余数量 |
| | | // BigDecimal sourceCoin = tfcInstance.balanceOf(ChainEnum.BSC_USDT_SOURCE.getAddress()); |
| | | // |
| | | // newPrice = sourceU.divide(sourceCoin, tfcInstance.decimals(), RoundingMode.HALF_UP); |
| | | // } |
| | | |
| | | newPrice = sourceU.divide(sourceCoin, tfcInstance.decimals(), RoundingMode.HALF_UP); |
| | | } |
| | | DappPriceRecordEntity dappPriceRecord = new DappPriceRecordEntity(); |
| | | dappPriceRecord.setPrice(newPrice); |
| | | dappPriceRecord.setCreateTime(new Date()); |
| | | dappPriceRecord.setTimestamp(System.currentTimeMillis()); |
| | | dappPriceRecordDao.insert(dappPriceRecord); |
| | | |
| | | // 给影子生态发送价格 |
| | | chainProducer.sendTfcNewPrice(newPrice.toPlainString()); |
| | | } |
| | | |
| | | @Override |
| | | public List<DappPriceRecordEntity> findPriceListIn24H() { |
| | | DateTime startTime = DateUtil.offset(new Date(), DateField.HOUR, -24); |
| | | List<DappPriceRecordEntity> list = dappPriceRecordDao.selectPriceListInStartTimeAndEndTime(startTime, new Date()); |
| | | list.forEach(item -> { |
| | | item.setTime(DateUtil.format(item.getCreateTime(), "HH:mm")); |
| | | }); |
| | | return list; |
| | | } |
| | | |
| | | @Override |
| | | public List<DataDictionaryCustom> findDataDicByType(String type) { |
| | | return dataDictionaryCustomMapper.selectDicByType(type); |
| | | } |
| | | |
| | | @Override |
| | | public void levelSystemSetting(Map<String, Object> map) { |
| | | for (Map.Entry<String, Object> entry : map.entrySet()) { |
| | | if (entry.getValue() instanceof String) { |
| | | dataDictionaryCustomMapper.updateDicValueByTypeAndCode(null, entry.getKey(), (String) entry.getValue()); |
| | | } else { |
| | | List<LinkedHashMap<String, Object>> value = (List<LinkedHashMap<String, Object>>) entry.getValue(); |
| | | |
| | | for (LinkedHashMap<String, Object> dic : value) { |
| | | String type = (String) dic.get("type"); |
| | | String code = (String) dic.get("code"); |
| | | String dataValue = (String) dic.get("value"); |
| | | dataDictionaryCustomMapper.updateDicValueByTypeAndCode(type, code, dataValue); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | @Transactional |
| | | public FebsResponse enableOnHook(Long id) { |
| | | DataDictionaryCustom dataDictionaryCustom = dataDictionaryCustomMapper.selectById(id); |
| | | if (ObjectUtil.isEmpty(dataDictionaryCustom)) { |
| | | return new FebsResponse().fail().message("网络繁忙,请刷新当前页面"); |
| | | } |
| | | String type = dataDictionaryCustom.getType(); |
| | | String code = dataDictionaryCustom.getCode(); |
| | | String dicValue = dataDictionaryCustom.getValue(); |
| | | cn.hutool.json.JSONObject jsonObject = JSONUtil.parseObj(dicValue); |
| | | jsonObject.set("state",1); |
| | | dataDictionaryCustomMapper.updateDicValueByTypeAndCode(type, code, jsonObject.toString()); |
| | | return new FebsResponse().success(); |
| | | } |
| | | |
| | | @Override |
| | | public FebsResponse disableOnHook(Long id) { |
| | | DataDictionaryCustom dataDictionaryCustom = dataDictionaryCustomMapper.selectById(id); |
| | | if (ObjectUtil.isEmpty(dataDictionaryCustom)) { |
| | | return new FebsResponse().fail().message("网络繁忙,请刷新当前页面"); |
| | | } |
| | | String type = dataDictionaryCustom.getType(); |
| | | String code = dataDictionaryCustom.getCode(); |
| | | String dicValue = dataDictionaryCustom.getValue(); |
| | | cn.hutool.json.JSONObject jsonObject = JSONUtil.parseObj(dicValue); |
| | | jsonObject.set("state",2); |
| | | dataDictionaryCustomMapper.updateDicValueByTypeAndCode(type, code, jsonObject.toString()); |
| | | return new FebsResponse().success(); |
| | | } |
| | | } |