package project.miner.internal; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.concurrent.ConcurrentHashMap; import org.apache.commons.collections.CollectionUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.BeanUtils; import org.springframework.jdbc.core.namedparam.NamedParameterJdbcOperations; import org.springframework.orm.hibernate5.support.HibernateDaoSupport; import kernel.exception.BusinessException; import kernel.util.Arith; import kernel.util.DateUtils; import kernel.util.StringUtils; import kernel.web.Page; import kernel.web.PagedQueryDao; import project.Constants; import project.contract.ContractOrder; import project.contract.ContractRedisKeys; import project.data.DataService; import project.data.model.Realtime; import project.log.Log; import project.log.LogService; import project.log.MoneyLog; import project.log.MoneyLogService; import project.miner.MinerOrderService; import project.miner.MinerRedisKeys; import project.miner.MinerService; import project.miner.model.Miner; import project.miner.model.MinerOrder; import project.party.PartyService; import project.party.model.Party; import project.party.model.UserRecom; import project.party.recom.UserRecomService; import project.redis.RedisHandler; import project.syspara.SysparaService; import project.user.UserDataService; import project.wallet.Wallet; import project.wallet.WalletExtend; import project.wallet.WalletService; import security.SecUser; import security.internal.SecUserService; public class MinerOrderServiceImpl extends HibernateDaoSupport implements MinerOrderService { protected PagedQueryDao pagedDao; protected WalletService walletService; protected MoneyLogService moneyLogService; protected MinerService minerService; protected UserDataService userDataService; protected NamedParameterJdbcOperations namedParameterJdbcTemplate; protected UserRecomService userRecomService; protected PartyService partyService; private Logger log = LoggerFactory.getLogger(MinerOrderServiceImpl.class); protected SysparaService sysparaService; protected LogService logService; protected SecUserService secUserService; protected RedisHandler redisHandler; protected DataService dataService; /** * 管理员新增订单 * * @param entity * @param operator */ public void saveCreateByManage(MinerOrder entity, String operator) { saveCreate(entity, true); SecUser secUser = secUserService.findUserByPartyId(entity.getPartyId()); Log log = new Log(); log.setCategory(Constants.LOG_CATEGORY_OPERATION); log.setExtra(entity.getOrder_no()); log.setOperator(operator); log.setUsername(secUser.getUsername()); log.setPartyId(entity.getPartyId()); log.setLog("手动新增矿机订单。订单号[" + entity.getOrder_no() + "],订单金额[" + entity.getAmount() + "]。"); logService.saveSync(log); } /** * 矿机下单 * * @param entity * @param isManage 是否后台购买,后台则可以直接解锁所有矿机 */ public void saveCreate(MinerOrder entity, boolean isManage) { entity.setCreate_time(new Date()); // Party party = this.partyService.findPartyById(entity.getPartyId()); // if (!party.getEnabled()) { // throw new BusinessException(1, "No permission"); // } /** * 加入周期 */ Miner miner = minerService.findById(entity.getMinerId()); if (null == miner) { throw new BusinessException("矿机不存在"); } if (!isManage && "0".equals(miner.getOn_sale())) {// 管理员解锁所有,用户正常流程 // if (!this.getUnLockMiner(entity.getPartyId().toString(), miner.getId().toString())) { throw new BusinessException("矿机未解锁,无法购买"); // } } // entity.setAmount(Arith.mul(miner.getInvestment_min(), entity.getVolume())); // entity.setCycle(miner.getCycle()); if (miner.getTest() && this.findByTest(entity.getPartyId().toString())) {// 买过体验机则 throw new BusinessException("您已购买过体验矿机,不得重复购买"); } /** * 买入金额需要在区间内 */ // if (entity.getAmount() < miner.getInvestment_min()) { // throw new BusinessException("不得低于该矿机的金额"); // // } /** * 买入金额需要在区间内(非体验矿机) */ if (!miner.getTest() && (entity.getAmount() < miner.getInvestment_min() || entity.getAmount() > miner.getInvestment_max())) { if (miner.getInvestment_max() != 0) { throw new BusinessException("买入金额需要在区间内"); } else if (entity.getAmount() < miner.getInvestment_min()) {// 无限制的矿机不得小于最小购买金额 throw new BusinessException("买入金额需要在区间内"); } } String minerBuySymbol = sysparaService.find("miner_buy_symbol").getValue(); // 是否是其他币种购买 boolean isOtherCoin = !StringUtils.isEmptyString(minerBuySymbol); double close = 0d; if (isOtherCoin) { List realtimes = this.dataService.realtime(minerBuySymbol); if (CollectionUtils.isEmpty(realtimes) || null == realtimes.get(0)) { throw new BusinessException("系统错误,请稍后重试"); } close = realtimes.get(0).getClose(); saveMinerBuyOtherCoin(entity, minerBuySymbol); } else { /** * 查看余额 */ Wallet wallet = this.walletService.saveWalletByPartyId(entity.getPartyId()); double amount_before = wallet.getMoney(); if (wallet.getMoney() < entity.getAmount()) { throw new BusinessException("余额不足"); } // wallet.setMoney(Arith.sub(wallet.getMoney(), entity.getAmount())); this.walletService.update(wallet.getPartyId().toString(), Arith.sub(0, entity.getAmount())); /** * 保存资金日志 */ MoneyLog moneylog = new MoneyLog(); moneylog.setCategory(Constants.MONEYLOG_CATEGORY_MINER); moneylog.setAmount_before(amount_before); moneylog.setAmount(Arith.sub(0, entity.getAmount())); moneylog.setAmount_after(Arith.sub(amount_before, entity.getAmount())); moneylog.setLog("购买矿机产品,订单号[" + entity.getOrder_no() + "]"); moneylog.setPartyId(entity.getPartyId()); moneylog.setWallettype(Constants.WALLET); moneylog.setContent_type(Constants.MONEYLOG_CONTENT_MINER_BUY); moneyLogService.save(moneylog); } /** * 起息时间=确认时间加1天 */ Date date = new Date();// 取时间 Calendar calendar = new GregorianCalendar(); calendar.setTime(date); calendar.add(calendar.DATE, 1);// 把日期往后增加一天.整数往后推,负数往前移动 date = calendar.getTime(); // 这个时间就是日期往后推一天的结果 entity.setEarn_time(date); if (miner.getTest()) { /** * 截止时间=起息时间+周期+1 */ // Date date = new Date(); // Calendar calendar1 = new GregorianCalendar(); int days = (int) Arith.sub(miner.getCycle(), 1); calendar.add(calendar.DATE, days); date = calendar.getTime(); entity.setStop_time(DateUtils.getDayEnd(date)); entity.setAmount(0d);// 体验矿机不管输入多少都为0 } if (findByFist(entity.getPartyId().toString())) { entity.setFirst_buy("1");// 标识首次购买 } else { entity.setFirst_buy("0");// 标识首次购买 } this.getHibernateTemplate().save(entity); redisHandler.setSync(MinerRedisKeys.MINER_ORDER_ORDERNO + entity.getOrder_no(), entity); if (!miner.getTest()) { Map map_partyid = (Map) redisHandler .get(MinerRedisKeys.MINER_ORDER_PARTY_ID + entity.getPartyId().toString()); if (map_partyid == null) { map_partyid = new ConcurrentHashMap(); } map_partyid.put(entity.getOrder_no(), entity); redisHandler.setSync(MinerRedisKeys.MINER_ORDER_PARTY_ID + entity.getPartyId().toString(), map_partyid); // 状态:0/正常赎回; 1/ 托管中 ;2/提前赎回 (违约);3/取消; if ("1".equals(entity.getState())) { // 获取 单个订单 矿机总资产 Double minerAssetsOrder = entity.getAmount(); Double minerAssets = (Double) this.redisHandler.get(MinerRedisKeys.MINER_ASSETS_PARTY_ID + entity.getPartyId().toString()); this.redisHandler.setSync(MinerRedisKeys.MINER_ASSETS_PARTY_ID + entity.getPartyId().toString(), Arith.add(null == minerAssets ? 0.000D : minerAssets, minerAssetsOrder)); } } /** * 首次购买则给予上级额外本金百分比奖励 */ if ("1".equals(entity.getFirst_buy()) && !miner.getTest()) { List list_parents = this.userRecomService.getParents(entity.getPartyId()); if (CollectionUtils.isNotEmpty(list_parents)) { String miner_bonus_parameters = ""; miner_bonus_parameters = sysparaService.find("miner_first_bonus_parameters").getValue(); String[] miner_bonus_array = miner_bonus_parameters.split(","); int loop = 0; for (int i = 0; i < list_parents.size(); i++) { if (loop >= 3) { break; } Party party_parent = this.partyService.cachePartyBy(list_parents.get(i).getReco_id(), true); if (!Constants.SECURITY_ROLE_MEMBER.equals(party_parent.getRolename())) { continue; } loop++; Map map_party = (Map) redisHandler .get(MinerRedisKeys.MINER_ORDER_PARTY_ID + party_parent.getId().toString()); if (map_party == null || map_party.size() == 0) { continue; } /* * 判断是否 */ int cycle = 0; Iterator> it = map_party.entrySet().iterator(); while (it.hasNext()) { Entry entry = it.next(); MinerOrder minerOrder = entry.getValue(); if (!"1".equals(minerOrder.getState())) { continue; } Miner miner_party = this.minerService.cacheById(minerOrder.getMinerId()); if (cycle < miner_party.getCycle()) { cycle = miner_party.getCycle(); } } if (cycle >= miner.getCycle()) { /** * 增加首次推荐人收益 */ double pip_amount = Double.valueOf(miner_bonus_array[loop - 1]); double get_money = Arith.mul(entity.getAmount(), pip_amount); if (isOtherCoin) { firstBuyProfitOtherCoin(minerBuySymbol, party_parent, get_money, i); // 转化成usdt,统计计算 userDataService.saveMinerProfit(party_parent.getId().toString(), Arith.div(get_money, close)); } else { Wallet wallet_parent = walletService.saveWalletByPartyId(party_parent.getId().toString()); double amount_before_parent = wallet_parent.getMoney(); // wallet_parent.setMoney(Arith.add(wallet_parent.getMoney(), get_money)); // walletService.update(wallet_parent); walletService.update(wallet_parent.getPartyId().toString(), get_money); /** * 保存资金日志 */ MoneyLog moneyLog = new MoneyLog(); moneyLog.setCategory(Constants.MONEYLOG_CATEGORY_MINER); moneyLog.setAmount_before(amount_before_parent); moneyLog.setAmount(get_money); moneyLog.setAmount_after(Arith.add(amount_before_parent, get_money)); moneyLog.setLog("第" + (i + 1) + "代下级用户,首次购买矿机推荐奖励金"); moneyLog.setPartyId(party_parent.getId().toString()); moneyLog.setWallettype(Constants.WALLET); moneyLog.setContent_type(Constants.MONEYLOG_CONTENT_MINER_RECOM_PROFIT); moneyLogService.save(moneyLog); userDataService.saveMinerProfit(party_parent.getId().toString(), get_money); } } } } } /** * userdata 数据 */ if (isOtherCoin) { userDataService.saveMinerBuy(minerUserDataOtherCoin(entity, minerBuySymbol, close)); } else { userDataService.saveMinerBuy(entity); } } /** * 增加首次推荐人收益 */ protected void firstBuyProfitOtherCoin(String symbol, Party partyParent, double getMoney, int i) { WalletExtend walletExtend = walletService.saveExtendByPara(partyParent.getId().toString(), symbol); double amount_before_parent = walletExtend.getAmount(); this.walletService.updateExtend(walletExtend.getPartyId().toString(), symbol, getMoney); /** * 保存资金日志 */ MoneyLog moneyLog = new MoneyLog(); moneyLog.setCategory(Constants.MONEYLOG_CATEGORY_MINER); moneyLog.setAmount_before(amount_before_parent); moneyLog.setAmount(getMoney); moneyLog.setAmount_after(Arith.add(amount_before_parent, getMoney)); moneyLog.setLog("第" + (i + 1) + "代下级用户,首次购买矿机推荐奖励金"); moneyLog.setPartyId(partyParent.getId().toString()); moneyLog.setWallettype(symbol); moneyLog.setContent_type(Constants.MONEYLOG_CONTENT_MINER_RECOM_PROFIT); moneyLogService.save(moneyLog); userDataService.saveMinerProfit(walletExtend.getPartyId().toString(), getMoney); } protected MinerOrder minerUserDataOtherCoin(MinerOrder entity, String symbol, double close) { MinerOrder order = new MinerOrder(); // 不改变原有的 BeanUtils.copyProperties(entity, order); // 转化成usdt,统计计算 order.setAmount(Arith.div(order.getAmount(), close)); return order; } protected void saveMinerBuyOtherCoin(MinerOrder entity, String symbol) { WalletExtend walletExtend = walletService.saveExtendByPara(entity.getPartyId(), symbol); if (entity.getAmount() > walletExtend.getAmount()) { throw new BusinessException("持有币种不足"); } double amount_before = walletExtend.getAmount(); // walletExtend.setAmount(Arith.sub(walletExtend.getAmount(), order.getVolume())); // walletService.save(walletExtend); walletService.updateExtend(walletExtend.getPartyId().toString(), walletExtend.getWallettype(), Arith.sub(0, entity.getAmount())); /* * 保存资金日志 */ MoneyLog moneylog = new MoneyLog(); moneylog.setCategory(Constants.MONEYLOG_CATEGORY_MINER); moneylog.setAmount_before(amount_before); moneylog.setAmount(Arith.sub(0, entity.getAmount())); moneylog.setAmount_after(Arith.sub(amount_before, entity.getAmount())); moneylog.setLog("购买矿机产品,订单号[" + entity.getOrder_no() + "]"); moneylog.setPartyId(entity.getPartyId()); moneylog.setWallettype(symbol); moneylog.setContent_type(Constants.MONEYLOG_CONTENT_MINER_BUY); moneyLogService.save(moneylog); } protected void saveMinerCloseOtherCoin(MinerOrder entity, String symbol) { WalletExtend walletExtend = walletService.saveExtendByPara(entity.getPartyId(), symbol); double amount_before = walletExtend.getAmount(); double back_money = entity.getAmount(); // walletExtend.setAmount(Arith.add(walletExtend.getAmount(), amount)); // this.walletService.update(walletExtend); this.walletService.updateExtend(walletExtend.getPartyId().toString(), walletExtend.getWallettype(), back_money); /* * 保存资金日志 */ MoneyLog moneylog_deposit = new MoneyLog(); moneylog_deposit.setCategory(Constants.MONEYLOG_CATEGORY_MINER); moneylog_deposit.setAmount_before(amount_before); moneylog_deposit.setAmount(back_money); moneylog_deposit.setAmount_after(Arith.add(amount_before, back_money)); moneylog_deposit.setLog("矿机本金退回,订单号[" + entity.getOrder_no() + "]"); moneylog_deposit.setPartyId(entity.getPartyId()); moneylog_deposit.setWallettype(symbol); moneylog_deposit.setContent_type(Constants.MONEYLOG_CONTENT_MINER_BACK); moneyLogService.save(moneylog_deposit); } public void saveClose(MinerOrder entity) { String minerBuySymbol = sysparaService.find("miner_buy_symbol").getValue(); // 是否是其他币种购买 boolean isOtherCoin = !StringUtils.isEmptyString(minerBuySymbol); double close = 0; if (isOtherCoin) { List realtimes = this.dataService.realtime(minerBuySymbol); if (CollectionUtils.isEmpty(realtimes) || null == realtimes.get(0)) { throw new BusinessException("系统错误,请稍后重试"); } close = realtimes.get(0).getClose(); saveMinerCloseOtherCoin(entity, minerBuySymbol); } else if (entity.getAmount() != 0) {// 体验矿机,购买价为0 Wallet wallet = this.walletService.saveWalletByPartyId(entity.getPartyId()); double amount_before = wallet.getMoney(); // 购买金额-违约金=退还金额 // double back_money = Arith.sub(entity.getAmount(), entity.getDefault_money()); double back_money = entity.getAmount(); // if ("0".equals(entity.getState())) {// 正常状态下 到期后一天 奖励5% // double profit = entity.getCompute_profit(); // back_money = profit; // } // wallet.setMoney(Arith.add(wallet.getMoney(), back_money)); this.walletService.update(wallet.getPartyId().toString(), back_money); /** * 保存资金日志 */ MoneyLog moneylog = new MoneyLog(); moneylog.setCategory(Constants.MONEYLOG_CATEGORY_MINER); moneylog.setAmount_before(amount_before); moneylog.setAmount(Arith.add(0, back_money)); moneylog.setAmount_after(Arith.add(amount_before, back_money)); moneylog.setPartyId(entity.getPartyId()); moneylog.setWallettype(Constants.WALLET); moneylog.setLog("矿机本金退回,订单号[" + entity.getOrder_no() + "]"); moneylog.setContent_type(Constants.MONEYLOG_CONTENT_MINER_BACK); moneyLogService.save(moneylog); } entity.setClose_time(new Date());// 赎回时间 getHibernateTemplate().update(entity); /** * userdata 数据 */ if (isOtherCoin) { userDataService.saveMinerClose(minerUserDataOtherCoin(entity, minerBuySymbol, close)); } else { userDataService.saveMinerClose(entity); } Miner miner = this.minerService.cacheById(entity.getMinerId()); // 更新矿机订单 redisHandler.setSync(MinerRedisKeys.MINER_ORDER_ORDERNO + entity.getOrder_no(), entity); if (!miner.getTest()) { Map map_partyid = (Map) redisHandler .get(MinerRedisKeys.MINER_ORDER_PARTY_ID + entity.getPartyId().toString()); if (map_partyid == null) { map_partyid = new ConcurrentHashMap(); } MinerOrder minerOld = map_partyid.get(entity.getOrder_no()); map_partyid.put(entity.getOrder_no(), entity); redisHandler.setSync(MinerRedisKeys.MINER_ORDER_PARTY_ID + entity.getPartyId().toString(), map_partyid); Double minerAssets = (Double) this.redisHandler.get(MinerRedisKeys.MINER_ASSETS_PARTY_ID + entity.getPartyId().toString()); // 状态:0/正常赎回; 1/ 托管中 ;2/提前赎回 (违约);3/取消; if ("1".equals(minerOld.getState())) { // 获取 单个订单 矿机总资产 Double minerAssetsOld = minerOld.getAmount(); minerAssets = null == minerAssets ? 0.000D - minerAssetsOld : minerAssets - minerAssetsOld; } // 状态:0/正常赎回; 1/ 托管中 ;2/提前赎回 (违约);3/取消; if ("1".equals(entity.getState())) { // 获取 单个订单 矿机总资产 Double minerAssetsOrder = entity.getAmount(); minerAssets = null == minerAssets ? 0.000D + minerAssetsOrder : minerAssets + minerAssetsOrder; } this.redisHandler.setSync(MinerRedisKeys.MINER_ASSETS_PARTY_ID + entity.getPartyId().toString(), null == minerAssets ? 0.000D : minerAssets); } } public List findAllByState(String state) { List list = (List)this.getHibernateTemplate().find(" FROM MinerOrder WHERE state = ?0 ", new Object[] { state }); return list; } @Override public MinerOrder findByOrder_no(String order_no) { return (MinerOrder) redisHandler.get(MinerRedisKeys.MINER_ORDER_ORDERNO + order_no); } public List findByState(String partyId, String state) { if (StringUtils.isEmptyString(partyId)) { return findAllByState(state); } /** * 如果是查询已赎回的,则将提前赎回和正常赎回的都查出来 */ List list; if (StringUtils.isEmptyString(state)) { list = (List)getHibernateTemplate().find(" FROM MinerOrder WHERE partyId =?0", new Object[] { partyId }); } else { if ("2".equals(state)) { list = (List)getHibernateTemplate().find(" FROM MinerOrder WHERE partyId =?0 and ( state = ?1 or state =?2 ) ", new Object[] { partyId, "0", "2" }); } else { list = (List)getHibernateTemplate().find(" FROM MinerOrder WHERE state = ?0 and partyId =?1", new Object[] { state, partyId }); } } if (list.size() > 0) return list; return null; } public Page pagedQuery(int pageNo, int pageSize, String partyId, String state) { Map parameters = new HashMap(); StringBuffer queryString = new StringBuffer("SELECT "); queryString.append(" minerOrder.UUID id,minerOrder.ORDER_NO order_no ,minerOrder.MINER_ID minerId , "); queryString.append( " minerOrder.AMOUNT amount,DATE_FORMAT(minerOrder.CREATE_TIME,'%Y-%m-%d %H:%i:%S') create_time, "); queryString.append( " DATE(minerOrder.EARN_TIME) earn_time,DATE(minerOrder.STOP_TIME) stop_time,minerOrder.PROFIT profit, "); queryString.append(" minerOrder.STATE state,minerOrder.BASE_COMPUTE_AMOUNT base_compute_amount, "); queryString.append( " miner.CYCLE cycle,miner.CYCLE_CLOSE cycle_close,miner.DAILY_RATE daily_rate,miner.TEST test, "); queryString.append(" miner.NAME miner_name,miner.NAME_EN miner_name_en,miner.NAME_CN miner_name_cn "); queryString.append("FROM T_MINER_ORDER minerOrder "); queryString.append("LEFT JOIN T_MINER miner ON miner.UUID= minerOrder.MINER_ID "); queryString.append("WHERE 1=1 "); queryString.append("AND minerOrder.PARTY_ID=:partyId "); parameters.put("partyId", partyId); if (StringUtils.isNotEmpty(state)) { if ("2".equals(state)) { queryString.append("AND minerOrder.STATE in('0','2') "); } else { queryString.append("AND minerOrder.STATE=:state "); parameters.put("state", state); } } queryString.append(" order by minerOrder.CREATE_TIME desc "); Page page = this.pagedDao.pagedQuerySQL(pageNo, pageSize, queryString.toString(), parameters); return page; } public void deleteAllByPartyId(String partyId) { List list = (List)this.getHibernateTemplate().find(" FROM MinerOrder WHERE partyId=? ", new Object[] { partyId }); if (!CollectionUtils.isEmpty(list)) { for (MinerOrder order : list) { this.getHibernateTemplate().delete(order); redisHandler.remove(MinerRedisKeys.MINER_ORDER_ORDERNO + order.getOrder_no()); } redisHandler.remove(MinerRedisKeys.MINER_ORDER_PARTY_ID + partyId); this.redisHandler.remove(MinerRedisKeys.MINER_ASSETS_PARTY_ID + partyId); } } public void setWalletService(WalletService walletService) { this.walletService = walletService; } public void setMoneyLogService(MoneyLogService moneyLogService) { this.moneyLogService = moneyLogService; } public void setMinerService(MinerService minerService) { this.minerService = minerService; } public MinerOrder findById(String id) {// 赎回时使用 return (MinerOrder) getHibernateTemplate().get(MinerOrder.class, id); } /** * true:买过体验矿机,false:没买过 */ public boolean findByTest(String partyId) { Map parameters = new HashMap(); StringBuffer queryString = new StringBuffer("SELECT "); queryString.append("mo.UUID "); queryString.append("FROM T_MINER_ORDER mo "); queryString.append("LEFT JOIN T_MINER m ON m.UUID=mo.MINER_ID "); queryString.append("WHERE 1=1 "); queryString.append("AND PARTY_ID=:partyId AND m.TEST='Y' "); parameters.put("partyId", partyId); List> list = namedParameterJdbcTemplate.queryForList(queryString.toString(), parameters); return list != null && CollectionUtils.isNotEmpty(list) && list.get(0) != null;// 存在返回值,且不为空 } /** * true:首次购买,false:非首次购买 * * @param partyId * @return */ public boolean findByFist(String partyId) { Map parameters = new HashMap(); StringBuffer queryString = new StringBuffer("SELECT "); queryString.append("mo.UUID "); queryString.append("FROM T_MINER_ORDER mo "); queryString.append("LEFT JOIN T_MINER m ON m.UUID=mo.MINER_ID "); queryString.append("WHERE 1=1 "); queryString.append("AND PARTY_ID=:partyId AND m.TEST='N' "); queryString.append("AND FIRST_BUY='1' "); parameters.put("partyId", partyId); List> list = namedParameterJdbcTemplate.queryForList(queryString.toString(), parameters); return !(list != null && CollectionUtils.isNotEmpty(list) && list.get(0) != null);// 存在返回值,且不为空 } public boolean getUnLockMiner(String partyId, String minerId) { Miner miner = this.minerService.cacheById(minerId); List list_userRecoms = this.userRecomService.findRecoms(partyId); int cycle = 0; for (int i = 0; i < list_userRecoms.size(); i++) { Map map = (Map) redisHandler .get(MinerRedisKeys.MINER_ORDER_PARTY_ID + list_userRecoms.get(i).getPartyId().toString()); if (map != null) { cycle = cycle + map.size(); } } return cycle >= miner.getCycle();// 如果周期比该矿机的大,则解锁 } public void setPagedDao(PagedQueryDao pagedDao) { this.pagedDao = pagedDao; } public void setUserDataService(UserDataService userDataService) { this.userDataService = userDataService; } public void setNamedParameterJdbcTemplate(NamedParameterJdbcOperations namedParameterJdbcTemplate) { this.namedParameterJdbcTemplate = namedParameterJdbcTemplate; } public void setUserRecomService(UserRecomService userRecomService) { this.userRecomService = userRecomService; } public void setSysparaService(SysparaService sysparaService) { this.sysparaService = sysparaService; } public void setPartyService(PartyService partyService) { this.partyService = partyService; } public void setLogService(LogService logService) { this.logService = logService; } public void setSecUserService(SecUserService secUserService) { this.secUserService = secUserService; } public void setRedisHandler(RedisHandler redisHandler) { this.redisHandler = redisHandler; } public void setDataService(DataService dataService) { this.dataService = dataService; } }