public MerchantInfoVO getById(Long id) { MerchantInfoVO vo = new MerchantInfoVO(); MerchantInfo record = dao.getById(id); BeanUtils.copyProperties(record, vo); AcctInfo acctInfo = acctInfoDao.getById(record.getAcctInfoId()); vo.setTotalBalance(acctInfo.getTotalBalance()); return vo; }
private List<Long> getIds() { List<Long> ids = new ArrayList<>(); List<MerchantInfo> listMch = merchantInfoDao.listAll(); if (listMch != null && !listMch.isEmpty()) { for (MerchantInfo mch : listMch) { ids.add(mch.getUserInfoId()); } } return ids; }
public int updateById(MerchantInfoQO qo) { MerchantInfo record = new MerchantInfo(); BeanUtils.copyProperties(qo, record); return dao.updateById(record); }
public int save(SysUserInfoQO qo) { SysUserInfo record = new SysUserInfo(); BeanUtils.copyProperties(qo, record); record.setStatusId(StatusIdEnum.NORMAL.getCode()); // 默认正常状态 record.setSalt(SecureUtil.simpleUUID()); record.setPwd(DigestUtil.md5Hex(record.getSalt() + "roncoo")); Long userInfoId = dao.save(record); // 下游用户 if (record.getUserType().equals(UserTypeEnum.MERCHANTS.getCode())) { // 账号 AcctInfo acctInfo = new AcctInfo(); acctInfo.setStatusId(StatusIdEnum.NORMAL.getCode()); acctInfo.setUserInfoId(userInfoId); acctInfo.setTotalBalance(0L); acctInfo.setLastTradeBalance(0L); acctInfo.setLastTradeDate(new Date()); acctInfo.setVerificationCode(VCUtil.getVC(acctInfo.getTotalBalance(), acctInfo.getLastTradeBalance())); Long acctInfoId = acctInfoDao.save(acctInfo); // 下游 MerchantInfo merchantInfo = new MerchantInfo(); merchantInfo.setAppId("RC" + SecureUtil.simpleUUID()); merchantInfo.setAppSeceret(SecureUtil.simpleUUID()); merchantInfo.setUserInfoId(userInfoId); merchantInfo.setAcctInfoId(acctInfoId); merchantInfo.setPriceLevel(PriceLevelEnum.ONE.getCode()); merchantInfo.setApiVerifyType(ApiVerifyTypeEnum.SECRET.getCode()); merchantInfoDao.save(merchantInfo); } return 1; }
OrderTrade orderTrade = new OrderTrade(); orderTrade.setOrderStatus(OrderStatusEnum.CREATE.getCode()); orderTrade.setUserInfoId(merchantInfo.getUserInfoId()); orderTrade.setAcctInfoId(merchantInfo.getAcctInfoId()); orderTrade.setItemId(item.getId()); orderTrade.setItemNo(item.getItemNo()); orderTrade.setItemCategory(item.getItemCategory()); orderTrade.setItemType(item.getItemType()); if (merchantInfo.getPriceLevel().equals(PriceLevelEnum.ONE.getCode())) { orderTrade.setSalesPrice(item.getSalesPrice1()); } else if (merchantInfo.getPriceLevel().equals(PriceLevelEnum.TWO.getCode())) { orderTrade.setSalesPrice(item.getSalesPrice2()); } else if (merchantInfo.getPriceLevel().equals(PriceLevelEnum.THREE.getCode())) { orderTrade.setSalesPrice(item.getSalesPrice3()); } else {
/** * 添加商户,同时添加账户 */ @Transactional public int save(MerchantInfoQO qo) { AcctInfo acctInfo = new AcctInfo(); acctInfo.setStatusId(StatusIdEnum.NORMAL.getCode()); acctInfo.setUserInfoId(qo.getUserInfoId()); acctInfo.setTotalBalance(0L); acctInfo.setLastTradeBalance(0L); acctInfo.setLastTradeDate(new Date()); acctInfo.setVerificationCode(VCUtil.getVC(acctInfo.getTotalBalance(), acctInfo.getLastTradeBalance())); acctInfoDao.save(acctInfo); acctInfo = acctInfoDao.getByUserInfoId(qo.getUserInfoId()); MerchantInfo record = new MerchantInfo(); BeanUtils.copyProperties(qo, record); record.setAppId("RC" + SecureUtil.simpleUUID()); record.setAppSeceret(SecureUtil.simpleUUID()); record.setAcctInfoId(acctInfo.getId()); return dao.save(record); }
if (!SignUtil.checkSign(MapObjectUtil.Obj2Map(exchangeRequest), merchantInfo.getAppSeceret())) { return Result.error("sign不正确"); Result<OrderTrade> resultOrder = exchangeManager.checkOrder(exchangeRequest.getOrderNo(), merchantInfo.getUserInfoId()); if (!resultOrder.getCode().equals(ResultEnum.SUCCESS.getCode())) { return Result.error(resultOrder.getCode(), resultOrder.getMsg());
public Result<BalanceResponse> balanceQuery(BalanceRequest balanceRequest) { // 商户校验 Result<MerchantInfo> resultMch = checkMch(balanceRequest.getAppId()); if (!resultMch.getCode().equals(ResultEnum.SUCCESS.getCode())) { return Result.error(resultMch.getCode(), resultMch.getMsg()); } MerchantInfo merchantInfo = resultMch.getData(); // 参数sign校验 if (!SignUtil.checkSign(MapObjectUtil.Obj2Map(balanceRequest), merchantInfo.getAppSeceret())) { return Result.error("sign不正确"); } AcctInfo acctInfo = acctInfoDao.getById(merchantInfo.getAcctInfoId()); if (null == acctInfo) { return Result.error("没该账号信息"); } return Result.success(getQueryBalance(acctInfo)); }
private Result<MerchantInfo> checkMch(String appId) { MerchantInfo merchantInfo = merchantInfoDao.getByAppId(appId); if (ObjectUtil.isNull(merchantInfo)) { return Result.error("商户appId错误或者不存在"); } if (merchantInfo.getStatusId().equals(StatusIdEnum.FREEZE.getCode())) { return Result.error("该商户被冻结"); } if (merchantInfo.getStatusId().equals(StatusIdEnum.CANCEL.getCode())) { return Result.error("该商户被注销"); } return Result.success(merchantInfo); }
public Result<ExchangeOrderResponse> queryOrder(ExchangeOrderRequest exchangeOrderRequest) { // 商户校验 Result<MerchantInfo> resultMch = rechargeManager.checkMch(exchangeOrderRequest.getAppId()); if (!resultMch.getCode().equals(ResultEnum.SUCCESS.getCode())) { return Result.error(resultMch.getCode(), resultMch.getMsg()); } MerchantInfo merchantInfo = resultMch.getData(); // 参数sign校验 if (!SignUtil.checkSign(MapObjectUtil.Obj2Map(exchangeOrderRequest), merchantInfo.getAppSeceret())) { return Result.error("sign不正确"); } OrderTrade orderTrade = rechargeManager.getOrderTradeByTradeNo(exchangeOrderRequest.getTradeNo()); if (null == orderTrade) { } return completeExchangeOrderResponse(orderTrade); }
OrderTrade orderTrade = new OrderTrade(); orderTrade.setOrderStatus(OrderStatusEnum.CREATE.getCode()); orderTrade.setUserInfoId(merchantInfo.getUserInfoId()); orderTrade.setAcctInfoId(merchantInfo.getAcctInfoId()); orderTrade.setItemId(item.getId()); orderTrade.setItemNo(item.getItemNo()); orderTrade.setItemName(item.getItemName()); orderTrade.setItemType(item.getItemType()); if (merchantInfo.getPriceLevel().equals(PriceLevelEnum.ONE.getCode())) { orderTrade.setSalesPrice(item.getSalesPrice1()); } else if (merchantInfo.getPriceLevel().equals(PriceLevelEnum.TWO.getCode())) { orderTrade.setSalesPrice(item.getSalesPrice2()); } else if (merchantInfo.getPriceLevel().equals(PriceLevelEnum.THREE.getCode())) { orderTrade.setSalesPrice(item.getSalesPrice3()); } else {
if (!SignUtil.checkSign(MapObjectUtil.Obj2Map(rechargeRequest), merchantInfo.getAppSeceret())) { return Result.error("sign不正确"); Result<OrderTrade> resultOrder = rechargeManager.checkOrder(rechargeRequest.getOrderNo(), merchantInfo.getUserInfoId()); if (!resultOrder.getCode().equals(ResultEnum.SUCCESS.getCode())) { return Result.error(resultOrder.getCode(), resultOrder.getMsg());
@Override public Result<MerchantInfo> checkMch(String appId) { MerchantInfo merchantInfo = merchantInfoDao.getByAppId(appId); if (ObjectUtil.isNull(merchantInfo)) { return Result.error("商户appId错误或者不存在"); } if (merchantInfo.getStatusId().equals(StatusIdEnum.FREEZE.getCode())) { return Result.error("该商户被冻结"); } if (merchantInfo.getStatusId().equals(StatusIdEnum.CANCEL.getCode())) { return Result.error("该商户被注销"); } return Result.success(merchantInfo); }
public Result<ExchangeOrderResponse> queryOrder(ExchangeOrderRequest exchangeOrderRequest) { // 商户校验 Result<MerchantInfo> resultMch = exchangeManager.checkMch(exchangeOrderRequest.getAppId()); if (!resultMch.getCode().equals(ResultEnum.SUCCESS.getCode())) { return Result.error(resultMch.getCode(), resultMch.getMsg()); } MerchantInfo merchantInfo = resultMch.getData(); if (!SignUtil.checkSign(MapObjectUtil.Obj2Map(exchangeOrderRequest), merchantInfo.getAppSeceret())) { return Result.error("sign不正确"); } // OrderTrade orderTrade = exchangeManager.getOrderTradeByTradeNo(exchangeOrderRequest.getTradeNo()); return completeExchangeOrderResponse(orderTrade); }
@Override public Result<MerchantInfo> checkMch(String appId) { MerchantInfo merchantInfo = merchantInfoDao.getByAppId(appId); if (ObjectUtil.isNull(merchantInfo)) { return Result.error("商户appId错误或者不存在"); } if (merchantInfo.getStatusId().equals(StatusIdEnum.FREEZE.getCode())) { return Result.error("该商户被冻结"); } if (merchantInfo.getStatusId().equals(StatusIdEnum.CANCEL.getCode())) { return Result.error("该商户被注销"); } return Result.success(merchantInfo); }