| | |
| | | import com.yami.trading.bean.contract.domain.ContractOrder; |
| | | import com.yami.trading.bean.data.domain.Realtime; |
| | | import com.yami.trading.bean.exchange.ExchangeApplyOrder; |
| | | import com.yami.trading.bean.finance.FinanceOrder; |
| | | import com.yami.trading.bean.future.domain.FuturesOrder; |
| | | import com.yami.trading.bean.miner.MinerOrder; |
| | | import com.yami.trading.bean.model.User; |
| | | import com.yami.trading.bean.model.UserData; |
| | | import com.yami.trading.bean.model.UserDataSum; |
| | |
| | | // } |
| | | } |
| | | |
| | | /** |
| | | * 理财产品平仓 |
| | | */ |
| | | @Override |
| | | public void saveSellFinance(FinanceOrder order) { |
| | | User user = this.userService.findUserByUserCode(order.getFinanceId()); |
| | | // SecUser user = this.userService.findUserByPartyId(order.getPartyId()); |
| | | // user.getRoles(); |
| | | boolean guest = false; |
| | | |
| | | // for (Role role : user.getRoles()) { |
| | | // if (Constants.SECURITY_ROLE_GUEST.equals(role.getRoleName())||Constants.SECURITY_ROLE_TEST.equals(role.getRoleName())) { |
| | | // guest = true; |
| | | // } |
| | | // } |
| | | if (guest) { |
| | | return; |
| | | } |
| | | |
| | | User party = resolveUser(order.getPartyId()); |
| | | UserData userData = new UserData(); |
| | | |
| | | userData.setRolename(resolveRoleName(party)); |
| | | userData.setCreateTime(new Date()); |
| | | userData.setUserId(order.getPartyId()); |
| | | userData.setFinanceAmount(order.getAmount()); |
| | | userData.setFinanceIncome(order.getProfit()); |
| | | save(userData); |
| | | |
| | | // UserRecom userRecom = this.userRecomService.findByPartyId(order.getPartyId()); |
| | | // if (userRecom == null) { |
| | | // return; |
| | | // } |
| | | // List<UserRecom> parents = this.userRecomService.getParents(userRecom.getPartyId()); |
| | | // |
| | | // for (int i = 0; i < parents.size(); i++) { |
| | | // Party party_parent = partyService.cachePartyBy(parents.get(i).getReco_id()); |
| | | // |
| | | // if (Constants.SECURITY_ROLE_AGENT.equals(party_parent.getRolename())) { |
| | | // UserData userData_reco = new UserData(); |
| | | // userData_reco.setRolename(party_parent.getRolename()); |
| | | // userData_reco.setCreateTime(new Date()); |
| | | // userData_reco.setPartyId(parents.get(i).getReco_id()); |
| | | // userData_reco.setFinance_amount(order.getAmount()); |
| | | // userData_reco.setFinance_income(order.getProfit()); |
| | | // save(userData_reco); |
| | | // } |
| | | // } |
| | | } |
| | | |
| | | /** |
| | | * 矿机买入 |
| | | */ |
| | | @Override |
| | | public void saveMinerBuy(MinerOrder order) { |
| | | String partyId = order.getPartyId(); |
| | | if (StringUtils.isBlank(partyId)) { |
| | | return; |
| | | } |
| | | User user = resolveUser(partyId); |
| | | if (isGuestUser(user)) { |
| | | return; |
| | | } |
| | | |
| | | UserData userData = new UserData(); |
| | | userData.setRolename(resolveRoleName(user)); |
| | | userData.setCreateTime(new Date()); |
| | | userData.setUserId(partyId); |
| | | userData.setMinerAmount(order.getAmount()); |
| | | save(userData); |
| | | } |
| | | |
| | | /** |
| | | * 矿机赎回 |
| | | */ |
| | | @Override |
| | | public void saveMinerClose(MinerOrder order) { |
| | | String partyId = order.getPartyId(); |
| | | if (StringUtils.isBlank(partyId)) { |
| | | return; |
| | | } |
| | | User user = resolveUser(partyId); |
| | | if (isGuestUser(user)) { |
| | | return; |
| | | } |
| | | |
| | | UserData userData = new UserData(); |
| | | userData.setRolename(resolveRoleName(user)); |
| | | userData.setCreateTime(new Date()); |
| | | userData.setUserId(partyId); |
| | | userData.setMinerAmount(Arith.sub(0, order.getAmount())); |
| | | save(userData); |
| | | } |
| | | |
| | | /** |
| | | * 矿机利息 |
| | | * |
| | | * @param partyId 获利人 |
| | | * @param profit 利息 |
| | | */ |
| | | @Override |
| | | public void saveMinerProfit(String partyId, double profit) { |
| | | if (StringUtils.isBlank(partyId)) { |
| | | return; |
| | | } |
| | | User user = resolveUser(partyId); |
| | | if (isGuestUser(user)) { |
| | | return; |
| | | } |
| | | |
| | | UserData userData = new UserData(); |
| | | userData.setRolename(resolveRoleName(user)); |
| | | userData.setCreateTime(new Date()); |
| | | userData.setUserId(partyId); |
| | | userData.setMinerIncome(profit); |
| | | save(userData); |
| | | } |
| | | |
| | | private User resolveUser(String partyId) { |
| | | User user = userService.getById(partyId); |
| | | if (user == null) { |
| | | user = userService.cacheUserBy(partyId); |
| | | } |
| | | if (user == null) { |
| | | log.warn("UserData resolveUser not found, partyId={}", partyId); |
| | | } |
| | | return user; |
| | | } |
| | | |
| | | private boolean isGuestUser(User user) { |
| | | if (user == null) { |
| | | return false; |
| | | } |
| | | String roleName = user.getRoleName(); |
| | | return Constants.SECURITY_ROLE_GUEST.equals(roleName) |
| | | || Constants.SECURITY_ROLE_TEST.equals(roleName); |
| | | } |
| | | |
| | | private String resolveRoleName(User user) { |
| | | if (user == null || StringUtils.isBlank(user.getRoleName())) { |
| | | return Constants.SECURITY_ROLE_MEMBER; |
| | | } |
| | | return user.getRoleName(); |
| | | } |
| | | |
| | | } |