Ejemplo n.º 1
0
  /**
   * 重置(还原出厂设置)
   *
   * @param error
   * @return
   */
  public static int reset(ErrorInfo error) {
    error.clear();

    String backupFileName = backup(false, error);

    if (null == backupFileName) {
      return error.code;
    }

    if (0 != createOperation(DBOperationType.RESET, backupFileName, error)) {
      return error.code;
    }

    DealDetail.supervisorEvent(
        Supervisor.currSupervisor().id, SupervisorEvent.DB_RESET, "还原出厂初始数据", error);

    if (error.code < 0) {
      JPA.setRollbackOnly();

      return error.code;
    }

    if (0
        != MySQLTool.executeSqlFile(
            username, password, host, port, database, resetFileName, error)) {
      JPA.setRollbackOnly();

      return error.code;
    }

    error.code = 0;
    error.msg = "还原出厂设置成功";

    return error.code;
  }
Ejemplo n.º 2
0
  /**
   * 还原数据库
   *
   * @param fileName
   * @param error
   * @return
   */
  public static int recover(String fileName, ErrorInfo error) {
    error.clear();

    if (StringUtils.isBlank(fileName)) {
      error.code = -1;
      error.msg = "恢复文件不能为空";

      return error.code;
    }

    String backupFileName = backup(false, error);

    if (null == backupFileName) {
      return error.code;
    }

    if (0 != createOperation(DBOperationType.RECOVER, backupFileName, error)) {
      return error.code;
    }

    DealDetail.supervisorEvent(
        Supervisor.currSupervisor().id, SupervisorEvent.DB_RECOVER, "还原运营数据", error);

    if (error.code < 0) {
      JPA.setRollbackOnly();

      return error.code;
    }

    String decryptFileName = Constants.SQL_PATH + UUID.randomUUID().toString() + ".sql";

    if (!FileEncrypt.decrypt(fileName, decryptFileName, Constants.ENCRYPTION_KEY)) {
      error.code = -1;
      error.msg = "还原数据库失败";

      return error.code;
    }

    if (0
        != MySQLTool.executeSqlFile(
            username, password, host, port, database, decryptFileName, error)) {
      JPA.setRollbackOnly();

      return error.code;
    }

    if (!new File(decryptFileName).delete()) {
      error.code = -1;
      error.msg = "还原数据库失败";

      return error.code;
    }

    error.code = 0;
    error.msg = "还原数据库成功";

    return error.code;
  }
Ejemplo n.º 3
0
  /**
   * 上架/下架
   *
   * @param pid 产品ID
   * @param isUse 状态值
   * @param error 信息值
   * @return ? > 0 : success; ? < 0 : fail
   */
  public static void editStatus(long pid, boolean isUse, ErrorInfo error) {
    error.clear();

    String hql = "update t_products set is_use=? where id=?";

    Query query = JPA.em().createQuery(hql);
    query.setParameter(1, isUse);
    query.setParameter(2, pid);

    int rows = 0;

    try {
      rows = query.executeUpdate();
    } catch (Exception e) {
      e.printStackTrace();
      Logger.error("产品->上架/下架:" + e.getMessage());
      error.msg = error.FRIEND_INFO + "上架/下架失败!";

      return;
    }

    if (rows == 0) {
      JPA.setRollbackOnly();
      error.code = -1;
      error.msg = "设置失败!";

      return;
    }

    /* 添加事件 */
    if (isUse) {
      DealDetail.supervisorEvent(
          Supervisor.currSupervisor().id, SupervisorEvent.ENABLE_PRODUCT, "启用借款标产品", error);
    } else {
      DealDetail.supervisorEvent(
          Supervisor.currSupervisor().id, SupervisorEvent.ENABLE_PRODUCT, "暂停借款标产品", error);
    }

    if (error.code < 0) {
      JPA.setRollbackOnly();
      error.msg = "设置失败!";

      return;
    }
  }
Ejemplo n.º 4
0
  /**
   * 改变合作机构状态(正常/暂停)
   *
   * @param aid 机构ID
   * @param isUse 正常/暂停
   * @param error 信息值
   */
  public static void editStatus(long aid, boolean isUse, ErrorInfo error) {
    error.clear();

    String hql = "update t_agencies set is_use=? where id=?";
    Query query = JPA.em().createQuery(hql);
    query.setParameter(1, isUse);
    query.setParameter(2, aid);

    int rows = 0;

    try {
      rows = query.executeUpdate();
    } catch (Exception e) {
      e.printStackTrace();
      Logger.error("合作机构->正常/暂停:" + e.getMessage());
      error.msg = error.FRIEND_INFO + "设置失败!";

      return;
    }

    if (rows == 0) {
      JPA.setRollbackOnly();
      error.code = -1;
      error.msg = "设置失败!";

      return;
    }

    /* 添加事件 */
    if (isUse)
      DealDetail.supervisorEvent(
          Supervisor.currSupervisor().id, SupervisorEvent.ENABLE_AGENCY, "启用合作机构", error);
    else
      DealDetail.supervisorEvent(
          Supervisor.currSupervisor().id, SupervisorEvent.NOT_ENABLE_AGENCY, "暂停合作机构", error);
    if (error.code < 0) {
      JPA.setRollbackOnly();
      error.msg = "设置失败!";

      return;
    }

    error.code = 0;
  }
Ejemplo n.º 5
0
  /**
   * 编辑安全保障
   *
   * @param supervisorId
   * @param error
   * @return
   */
  public int updateAdsEnsure(long supervisorId, long adsId, ErrorInfo error) {
    error.clear();

    t_content_advertisements_ensure ensure = null;

    try {
      ensure = t_content_advertisements_ensure.findById(adsId);
    } catch (Exception e) {
      e.printStackTrace();
      Logger.info("编辑广告条,根据广告ID查询广告信息时:" + e.getMessage());
      error.code = -1;
      error.msg = "查询广告条失败";

      return error.code;
    }

    ensure.title = this.title;
    ensure.location = this.location;
    ensure.file_size = "不超过2M";
    ensure.resolution = this.resolution;
    ensure.file_size = this.fileSize;
    ensure.file_format = this.fileFormat;
    ensure.url = this.url;
    ensure.is_link_enabled = this.isLinkEnabled;
    ensure.target = this.target;
    ensure.image_filename = this.imageFileName;
    ensure.is_use = this.status;

    try {
      ensure.save();
    } catch (Exception e) {
      e.printStackTrace();
      Logger.info("编辑安全保障,保存编辑安全保障信息时:" + e.getMessage());
      error.msg = "编辑安全保障失败";

      return -1;
    }

    DealDetail.supervisorEvent(supervisorId, SupervisorEvent.EDIT_ENSURE, "编辑安全保障", error);

    if (error.code < 0) {
      JPA.setRollbackOnly();

      return error.code;
    }

    error.code = 0;
    error.msg = "编辑安全保障成功";

    return 0;
  }
Ejemplo n.º 6
0
  /**
   * 添加
   *
   * @param info 信息值
   * @return ? > 0 : success; ? < 0 : fail
   */
  public void create(ErrorInfo error) {
    error.clear();

    t_products product = new t_products();
    product.is_use = Constants.ENABLE;
    product.is_agency = Constants.NOT_IS_AGENCY;
    // product.fee_description = this.feeDescription; // 手续费描述(常量值读取拼接,无需编辑)

    /* 添加基本信息 */
    error.code = this.addOrEdit(product);

    if (error.code < 0) {
      error.code = -1;
      error.msg = error.FRIEND_INFO + "添加基本信息失败!";

      return;
    }

    /* 添加对应的审核资料 */
    error.code = this.addProductAudit(product.id, product.mark);

    if (error.code < 0) {
      error.code = -2;
      error.msg = error.FRIEND_INFO + "添加审核资料失败!";

      return;
    }

    /* 添加标签和字段 */
    error.code = this.addProductLableAndFiled(product.id, error);

    if (error.code < 0) {
      error.code = -3;
      error.msg = error.FRIEND_INFO + "添加产品标签/字段失败!";

      return;
    }

    /* 添加事件 */
    DealDetail.supervisorEvent(
        Supervisor.currSupervisor().id, SupervisorEvent.CREATE_PRODUCT, "添加产品", error);

    if (error.code < 0) {
      JPA.setRollbackOnly();
      error.msg = "保存失败!";

      return;
    }
  }
Ejemplo n.º 7
0
  /**
   * 编辑类别
   *
   * @param supvisorId
   * @param typeId
   * @param error
   * @return
   */
  public int editType(long supervisorId, long id, ErrorInfo error) {
    error.clear();

    t_content_news_types type = null;

    try {
      type = t_content_news_types.findById(id);
    } catch (Exception e) {
      e.printStackTrace();
      Logger.info("编辑类别,查询类别时:" + e.getMessage());
      error.code = -1;
      error.msg = "编辑类别失败";

      return error.code;
    }

    type.name = this.name;
    type.description = this.description;
    type._order = this.order;

    try {
      type.save();
    } catch (Exception e) {
      e.printStackTrace();
      Logger.info("编辑类别,更新类别时:" + e.getMessage());
      error.code = -2;
      error.msg = "编辑类别失败";

      return error.code;
    }

    DealDetail.supervisorEvent(supervisorId, SupervisorEvent.EDIT_NEWSTYPE, "编辑类别", error);

    if (error.code < 0) {
      JPA.setRollbackOnly();

      return error.code;
    }

    error.code = 0;
    error.msg = "更新类别成功";

    return 0;
  }
Ejemplo n.º 8
0
  /** 添加合作机构 */
  public void createAgency(ErrorInfo error) {
    t_agencies agency = new t_agencies();
    agency.time = new Date(); // 当前时间
    agency.name = this.name;
    agency.credit_level = this.creditLevel;
    agency.introduction = this.introduction;
    agency.id_number = this.id_number;
    agency.imageFilenames = this.imageFilenames; // 借款图片
    agency.is_use = Constants.ENABLE; // 默认为启动

    try {
      agency.save();
    } catch (Exception e) {
      e.printStackTrace();
      Logger.error("合作机构->添加合作机构:" + e.getMessage());
      error.msg = "添加失败!";
      this._id = -1;

      return;
    }

    if (agency.id < 0) {
      error.msg = "添加失败!";

      return;
    }

    /* 添加事件 */
    DealDetail.supervisorEvent(
        Supervisor.currSupervisor().id, SupervisorEvent.CREATE_AGENCY, "添加合作机构", error);

    if (error.code < 0) {
      JPA.setRollbackOnly();
      error.msg = "添加失败!";

      return;
    }

    error.code = 0;
  }
Ejemplo n.º 9
0
  /**
   * 备份数据库
   *
   * @param isVisual 是否在数据库操作记录表中可见
   * @param error
   * @return
   */
  public static String backup(boolean isVisual, ErrorInfo error) {
    error.clear();

    String fileName = Constants.SQL_PATH + UUID.randomUUID().toString();
    FileUtil.getStore(Constants.SQL_PATH);

    if (0 != MySQLTool.dumpSqlFile(username, password, host, port, database, fileName, error)) {
      return null;
    }

    if (!FileEncrypt.encrypt(fileName, Constants.ENCRYPTION_KEY)) {
      error.code = -1;
      error.msg = "备份数据库失败";

      return null;
    }

    if (isVisual) {
      if (0 != createOperation(DBOperationType.BACKUP, fileName, error)) {
        return null;
      }

      DealDetail.supervisorEvent(
          Supervisor.currSupervisor().id, SupervisorEvent.DB_BACKUP, "备份数据", error);

      if (error.code < 0) {
        JPA.setRollbackOnly();

        return null;
      }
    }

    error.code = 0;
    error.msg = "备份数据库成功";

    return fileName;
  }
Ejemplo n.º 10
0
  /**
   * 删除类别
   *
   * @param supervisorId
   * @param type
   * @param error
   */
  public static void deleteType(long supervisorId, Long[] types, ErrorInfo error) {
    error.clear();

    if (types == null || types.length == 0) {
      error.code = -1;
      error.msg = "请选择要删除的类别";

      return;
    }

    StringBuffer typeString = new StringBuffer("(");

    for (int i = 0; i < types.length; i++) {
      typeString.append("?,");
    }

    typeString.replace(typeString.length() - 1, typeString.length(), ")");

    String sql =
        "delete from t_content_news_types as type where type.id in " + typeString.toString();
    String sql2 =
        "delete from t_content_news as news where news.type_id in " + typeString.toString();

    Query query = JPA.em().createQuery(sql);
    Query query2 = JPA.em().createQuery(sql2);

    for (int i = 0; i < types.length; i++) {
      query.setParameter(i + 1, types[i]);
      query2.setParameter(i + 1, types[i]);
    }

    int rows1 = 0;

    try {
      rows1 = query.executeUpdate();
      query2.executeUpdate();
    } catch (Exception e) {
      JPA.setRollbackOnly();
      e.printStackTrace();
      Logger.info("删除类别时:" + e.getMessage());
      error.code = -1;
      error.msg = "删除类别时出现异常";

      return;
    }

    if (rows1 == 0) {
      JPA.setRollbackOnly();
      error.code = -1;
      error.msg = "数据未更新";

      return;
    }

    DealDetail.supervisorEvent(supervisorId, SupervisorEvent.DEL_NEWSTYPE, "删除类别", error);

    if (error.code < 0) {
      JPA.setRollbackOnly();

      return;
    }

    error.code = 0;
    error.msg = "类别删除成功";
  }
Ejemplo n.º 11
0
  /**
   * 显示类别(该类别的子类别也跟着显示)
   *
   * @param supvisorId 管理员id
   * @param typeId 隐藏类别的id
   * @param error
   * @return
   */
  public static int showType(long supvisorId, long typeId, ErrorInfo error) {
    error.clear();

    //		String sql = "select status from t_content_news_types where id = ?";
    //		boolean status = false;
    //
    //		try {
    //			status = t_content_news_types.find(sql, typeId).first();
    //		} catch(Exception e) {
    //			e.printStackTrace();
    //			error.msg = "查询类别状态失败";
    //			return -1;
    //		}
    //
    //		if(status) {
    //			error.msg = "该类别已是显示状态";
    //			return -1;
    //		}

    EntityManager em = JPA.em();
    String mySql = "update t_content_news_types set status = ? where id = ?";

    int rows = 0;

    try {
      rows = em.createQuery(mySql).setParameter(1, true).setParameter(2, typeId).executeUpdate();
    } catch (Exception e) {
      e.printStackTrace();
      Logger.info("显示类别,更新类别状态时:" + e.getMessage());
      error.code = -1;
      error.msg = "更新类别状态失败";

      return error.code;
    }

    if (rows == 0) {
      JPA.setRollbackOnly();
      error.code = -1;
      error.msg = "数据未更新";

      return error.code;
    }

    /*
     * 递归修改子类别的属性
     */
    String sql2 = "select id from t_content_news_types where parent_id = ?";
    List<Long> ids = null;

    try {
      ids = t_content_news_types.find(sql2, typeId).fetch();
    } catch (Exception e) {
      e.printStackTrace();
      Logger.info("显示类别,查询子类别时:" + e.getMessage());
      error.code = -2;
      error.msg = "更新类别状态失败";

      return error.code;
    }

    if (ids != null && ids.size() != 0) {

      for (long id : ids) {
        showType(supvisorId, id, error);
      }
    }

    DealDetail.supervisorEvent(supvisorId, SupervisorEvent.SHOW_NEWSTYPE, "显示类别", error);

    if (error.code < 0) {
      JPA.setRollbackOnly();

      return error.code;
    }

    error.code = 0;
    error.msg = "更新类别状态成功";

    return 0;
  }
Ejemplo n.º 12
0
  /**
   * 添加类别
   *
   * @param supvisorId 管理员id
   * @param error
   * @return
   */
  public int addChildType(long supervisorId, ErrorInfo error) {
    error.clear();

    if (this._parentId <= 0) {
      error.code = -1;
      error.msg = "请选择父类别";

      return error.code;
    }

    if (StringUtils.isBlank(name)) {
      error.code = -1;
      error.msg = "请输入类别名称";

      return error.code;
    }

    if (this.order <= 0) {
      error.code = -1;
      error.msg = "请输入排序";

      return error.code;
    }

    if (NewsType.orderExist(this._parentId, order, error)) {
      return error.code;
    }

    t_content_news_types childType = new t_content_news_types();

    childType.parent_id = this._parentId;
    childType.name = this.name;
    childType.description = this.description;
    childType.status = Constants.TRUE;
    childType._order = this.order;

    try {
      childType.save();
    } catch (Exception e) {
      e.printStackTrace();
      Logger.info("添加添加类别时,保存添加的类别时:" + e.getMessage());
      error.code = -1;
      error.msg = "添加类别失败";

      return -1;
    }

    DealDetail.supervisorEvent(supervisorId, SupervisorEvent.ADD_NEWSTYPE, "添加类别", error);

    if (error.code < 0) {
      JPA.setRollbackOnly();

      return error.code;
    }

    error.code = 0;
    error.msg = "添加类别成功";
    this._id = childType.id;

    return 0;
  }
Ejemplo n.º 13
0
  /**
   * @param time 申请vip的时长,月为单位
   * @param user
   * @param info
   * @return
   */
  public int renewal(User user, ErrorInfo error) {
    error.clear();
    BackstageSet backstageSet = BackstageSet.getCurrentBackstageSet();

    int vipMinTimeType = backstageSet.vipMinTimeType;
    int vipMinTime = backstageSet.vipMinTimeLength;
    int vipTimeType = backstageSet.vipTimeType;
    double vipFee = backstageSet.vipFee;

    if (vipMinTimeType != 1) {
      vipMinTime *= 12;
    }

    if (this.serviceTime < vipMinTime) {
      error.code = -3;
      error.msg = "vip开通不能少于最少时长";

      return error.code;
    }

    int timeLen = this.serviceTime;

    double fee = 0;

    if (vipTimeType == 1) {
      fee = vipFee * timeLen;
    } else if (vipTimeType == 0) {
      fee = Arith.mul(vipFee, serviceTime / 12);
    }

    fee = fee * backstageSet.vipDiscount / 10;
    fee = Arith.round(fee, 2);

    DataSafety data = new DataSafety();

    data.id = user.id;

    if (!data.signCheck(error)) {
      JPA.setRollbackOnly();

      return error.code;
    }

    v_user_for_details forDetail = DealDetail.queryUserBalance(user.id, error);

    if (error.code < 0) {

      return error.code;
    }

    if (Constants.IPS_ENABLE) {
      switch (Constants.PAY_TYPE_VIP) {
          // 平台内部进行转账
        case PayType.INNER:
          error.code = -1;
          error.msg = "资金托管模式下,不能以平台内部进行转账的方式支付";

          return error.code;
          // 通过独立普通网关
        case PayType.INDEPENDENT:
          if (fee > user.balance2) {
            error.code = Constants.BALANCE_NOT_ENOUGH;
            error.msg = "对不起,您可用余额不足";
            Map<String, Object> map = new HashMap<String, Object>();
            map.put("rechargeType", RechargeType.VIP);
            map.put("serviceTime", timeLen);
            map.put("fee", fee);
            Cache.set("rechargePay" + user.id, map, IPSConstants.CACHE_TIME);

            return error.code;
          }

          break;
          // 通过共享资金托管账户网关
        case PayType.SHARED:
          // 资金托管网关
        case PayType.IPS:
          if (this.isPay) {
            break;
          }

          if (fee > user.balance) {
            error.code = Constants.BALANCE_NOT_ENOUGH;
            error.msg = "对不起,您可用余额不足";

            return error.code;
          }

          if (fee > 0) {
            error.code = Constants.BALANCE_PAY_ENOUGH;
            error.msg = "请前去支付VIP费用";
            Map<String, Object> map = new HashMap<String, Object>();
            map.put("rechargeType", RechargeType.VIP);
            map.put("serviceTime", timeLen);
            map.put("fee", fee);
            Cache.set("rechargePay" + user.id, map, IPSConstants.CACHE_TIME);

            return error.code;
          }

          break;
      }
    } else {
      if (fee > user.balance) {
        error.code = Constants.BALANCE_NOT_ENOUGH;
        error.msg = "对不起,您可用余额不足";
        Map<String, Object> map = new HashMap<String, Object>();
        map.put("rechargeType", RechargeType.VIP);
        map.put("serviceTime", timeLen);
        map.put("fee", fee);
        Cache.set("rechargePay" + user.id, map, IPSConstants.CACHE_TIME);

        return error.code;
      }
    }

    t_user_vip_records vipRecord = new t_user_vip_records();
    t_user_vip_records record = null;

    int rows = 0;

    if (user.vipStatus) {
      try {
        record = t_user_vip_records.find("user_id = ? and status = 1", user.id).first();
        rows =
            JpaHelper.execute(
                    "update t_user_vip_records set status = 0 where user_id = ? and status = 1")
                .setParameter(1, user.id)
                .executeUpdate();
      } catch (Exception e) {
        e.printStackTrace();
        Logger.info("申请vip时,查询系统设置中的vip设置时" + e.getMessage());
        error.code = -1;
        error.msg = "申请vip失败";

        return error.code;
      }

      if (rows == 0) {
        JPA.setRollbackOnly();
        error.code = -1;
        error.msg = "数据未更新,vip申请失败";

        return error.code;
      }

      vipRecord.start_time = record.expiry_date;
      vipRecord.expiry_date = DateUtil.dateAddMonth(record.expiry_date, this.serviceTime);
    } else {
      vipRecord.start_time = new Date();
      vipRecord.expiry_date = DateUtil.dateAddMonth(new Date(), this.serviceTime);
    }

    vipRecord.user_id = user.id;
    vipRecord.time = new Date();
    vipRecord.service_fee = fee;
    vipRecord.status = true;

    try {
      JpaHelper.execute("update t_user_vip_records set status = 0 where user_id = ? and status = 1")
          .setParameter(1, user.id)
          .executeUpdate();
      vipRecord.save();
      rows =
          JpaHelper.execute("update t_users set vip_status = true where id = ?", user.id)
              .executeUpdate();
    } catch (Exception e) {
      JPA.setRollbackOnly();
      e.printStackTrace();
      Logger.info("申请vip时,查询系统设置中的vip设置时" + e.getMessage());
      error.code = -5;
      error.msg = "申请vip失败";

      return error.code;
    }

    if (rows == 0) {
      JPA.setRollbackOnly();
      error.code = -1;
      error.msg = "数据未更新";

      return error.code;
    }

    // 更新用户资金
    if (Constants.PAY_TYPE_VIP == PayType.INDEPENDENT) {
      error.code = DealDetail.minusUserFund2(user.id, fee);
    } else {
      error.code = DealDetail.minusUserFund(user.id, fee);
    }

    if (error.code < 0) {
      JPA.setRollbackOnly();

      return error.code;
    }

    DealDetail dealDetail = null;
    forDetail = DealDetail.queryUserBalance(user.id, error);

    /* 添加交易记录 */
    if (Constants.PAY_TYPE_VIP == PayType.INDEPENDENT) {
      dealDetail =
          new DealDetail(
              user.id,
              DealType.CHARGE_VIP,
              fee,
              vipRecord.id,
              forDetail.user_amount2,
              forDetail.freeze,
              forDetail.receive_amount,
              "vip扣费");

      dealDetail.addDealDetail2(error);
    } else {
      dealDetail =
          new DealDetail(
              user.id,
              DealType.CHARGE_VIP,
              fee,
              vipRecord.id,
              forDetail.user_amount,
              forDetail.freeze,
              forDetail.receive_amount,
              "vip扣费");

      dealDetail.addDealDetail(error);
    }

    if (error.code < 0) {
      JPA.setRollbackOnly();

      return error.code;
    }

    data.id = user.id;
    data.updateSign(error);

    if (error.code < 0) {
      JPA.setRollbackOnly();

      return error.code;
    }

    DealDetail.addPlatformDetail(
        DealType.VIP_FEE, vipRecord.id, user.id, -1, DealType.ACCOUNT, fee, 1, "vip费用", error);

    if (error.code < 0) {
      JPA.setRollbackOnly();

      return error.code;
    }

    DealDetail.userEvent(this.id, UserEvent.VIP, "申请vip", error);

    if (error.code < 0) {
      JPA.setRollbackOnly();

      return error.code;
    }

    // vip申请站内信
    TemplateStation station = new TemplateStation();
    station.id = Templets.M_VIP_SUCCESS;

    if (station.status) {
      TemplateStation.addMessageTask(
          userId, station.title, station.content.replace("vipFee", fee + ""));
    }

    // 发送邮件
    TemplateEmail email = new TemplateEmail();
    email.id = Templets.E_VIP_SUCCESS;

    if (email.status) {
      TemplateEmail.addEmailTask(
          user.email, email.title, email.content.replace("vipFee", fee + ""));
    }

    // 发送短信
    TemplateSms sms = new TemplateSms();

    if (StringUtils.isNotBlank(user.mobile)) {
      sms.id = Templets.S_VIP_SUCCESS;

      if (sms.status) {
        TemplateSms.addSmsTask(
            user.mobile,
            sms.content
                .replace("vipFee", fee + "")
                .replace("userName", user.name)
                .replace("date", DateUtil.dateToString(new Date())));
      }
    }

    if (Constants.IPS_ENABLE) {
      user.balance2 = forDetail.user_amount2 - fee;
    } else {
      user.balance = forDetail.user_amount - fee;
    }

    user.vipStatus = true;

    User.setCurrUser(user);

    error.code = 0;
    error.msg = "申请vip成功!";

    return error.code;
  }
Ejemplo n.º 14
0
  /**
   * 启用安全保障
   *
   * @param supervisorId
   * @param id
   * @param error
   * @return
   */
  public static int updateAdsEnsureStatus(
      long supervisorId, String idStr, String statusStr, ErrorInfo error) {
    error.clear();

    if (!NumberUtil.isNumericInt(idStr)) {
      error.code = -1;
      error.msg = "传入广告条参数有误!";

      return error.code;
    }

    if (!NumberUtil.isNumericInt(statusStr)) {
      error.code = -2;
      error.msg = "传入广告条参数有误!";

      return error.code;
    }

    int statusInt = Integer.parseInt(statusStr);

    if (statusInt != 0 && statusInt != 1) {
      error.code = -2;
      error.msg = "传入广告条参数有误!";

      return error.code;
    }

    boolean status = statusInt == 0 ? false : true;
    long adsId = Long.parseLong(idStr);

    String sql = "update t_content_advertisements_ensure set is_use = ? where id = ?";
    EntityManager em = JPA.em();
    Query query = em.createQuery(sql).setParameter(1, !status).setParameter(2, adsId);

    int rows = 0;

    try {
      rows = query.executeUpdate();
    } catch (Exception e) {
      JPA.setRollbackOnly();
      e.printStackTrace();
      Logger.info("更新安全保障,更新安全保障信息时:" + e.getMessage());
      error.msg = "更新安全保障失败";

      return -1;
    }

    if (rows == 0) {
      JPA.setRollbackOnly();
      error.code = -1;
      error.msg = "数据未更新";

      return error.code;
    }

    if (status == false) {
      DealDetail.supervisorEvent(
          supervisorId, SupervisorEvent.OPEN_USE_ENSURE, "启用四大安全保障使用", error);
    } else {
      DealDetail.supervisorEvent(
          supervisorId, SupervisorEvent.CLOSE_USE_ENSURE, "关闭四大安全保障使用", error);
    }

    if (error.code < 0) {
      JPA.setRollbackOnly();

      return error.code;
    }

    error.code = 0;
    error.msg = "更新安全保障成功";

    return 0;
  }
Ejemplo n.º 15
0
  /**
   * 编辑
   *
   * @param id 产品ID
   * @param error 信息值
   * @return ? > 0 : success; ? < 0 : fail
   */
  public void edit(long id, ErrorInfo error) {
    error.clear();

    t_products product = null;

    try {
      product = t_products.findById(id);
    } catch (Exception e) {
      e.printStackTrace();
      Logger.error("产品->编辑:" + e.getMessage());
      error.code = -1;
      error.msg = error.FRIEND_INFO + "编辑失败!";

      return;
    }

    if (null == product) {
      error.code = -2;
      error.msg = error.FRIEND_INFO + "编辑失败!";

      return;
    }

    /* 添加基本信息 */
    error.code = this.addOrEdit(product);

    if (error.code < 0) {
      error.code = -3;
      error.msg = error.FRIEND_INFO + "编辑失败!";

      return;
    }

    /* 删除作废的审核资料 */
    error.code = ProductAuditItem.deleteProductAudit(id);

    if (error.code < 0) {
      error.code = -4;
      error.msg = error.FRIEND_INFO + "编辑失败!";

      return;
    }

    /* 添加对应的审核资料 */
    error.code = this.addProductAudit(id, product.mark);

    if (error.code < 0) {
      error.code = -5;
      error.msg = error.FRIEND_INFO + "编辑失败!";

      return;
    }

    /* 编辑标签和字段 */
    error.code = this.editFiledConten();

    if (error.code < 0) {
      error.code = -6;
      error.msg = error.FRIEND_INFO + "编辑失败!";

      return;
    }

    /* 添加事件 */
    DealDetail.supervisorEvent(
        Supervisor.currSupervisor().id, SupervisorEvent.EDIT_PRODUCT, "编辑产品", error);

    if (error.code < 0) {
      JPA.setRollbackOnly();
      error.msg = "保存失败!";

      return;
    }
  }