Beispiel #1
0
 private boolean isStatusTag(User.SupplierTag tag) {
   return Arrays.asList(
           User.SupplierTag.REGISTER_SUPPLIER.value(),
           User.SupplierTag.COMPLETE_SUPPLIER.value(),
           User.SupplierTag.STANDARD_SUPPLIER.value(),
           User.SupplierTag.IN_SUPPLIER.value(),
           User.SupplierTag.ALTERNATIVE.value(),
           User.SupplierTag.DIE_OUT.value())
       .contains(tag.value());
 }
Beispiel #2
0
  @Override
  public Response<Boolean> updateTagsByCompany(Long userId, Company company) {

    Response<Boolean> result = new Response<Boolean>();

    if (userId == null) {
      log.error("user id can not be null");
      result.setError("user.id.not.null.fail");
      return result;
    }

    if (company == null) {
      log.error("company can not be null");
      result.setError("company.not.null.fail");
      return result;
    }

    try {

      User user = userDao.findById(userId);
      if (user == null) {
        log.error("user(user id={}) not found", userId);
        result.setError("user.not.found");
        return result;
      }

      List<String> tags = user.buildTags();

      if (Objects.equal(company.getWorldTop(), Company.WorldTop.IS_WORLD_TOP_500.value())) {
        add(tags, User.SupplierTag.WORLD_TOP_SUPPLIER.toString());
      } else if (Objects.equal(company.getWorldTop(), Company.WorldTop.NO_WORLD_TOP_500.value())) {
        remove(tags, User.SupplierTag.WORLD_TOP_SUPPLIER.toString());
      }

      if (!Strings.isNullOrEmpty(company.getSupplierCode())) {
        add(tags, User.SupplierTag.IN_SUPPLIER.toString());
      }

      user.setTagsFromList(tags);
      userDao.update(user);

      result.setResult(Boolean.TRUE);

    } catch (Exception e) {
      log.error(
          "fail to update tag where user id={},company={},cause:{}",
          userId,
          company,
          Throwables.getStackTraceAsString(e));
      result.setError("add.tag.fail");
    }

    return result;
  }
Beispiel #3
0
 private boolean canMove(User.SupplierTag from, User.SupplierTag to) {
   if (isNull(from)) {
     return Objects.equal(to.value(), User.SupplierTag.REGISTER_SUPPLIER.value());
   }
   if (Objects.equal(from.value(), User.SupplierTag.REGISTER_SUPPLIER.value())) {
     return Arrays.asList(
             User.SupplierTag.COMPLETE_SUPPLIER.value(),
             User.SupplierTag.STANDARD_SUPPLIER.value(),
             User.SupplierTag.ALTERNATIVE.value(),
             User.SupplierTag.IN_SUPPLIER.value(),
             User.SupplierTag.DIE_OUT.value())
         .contains(to.value());
   }
   if (Objects.equal(from.value(), User.SupplierTag.COMPLETE_SUPPLIER.value())) {
     return Arrays.asList(
             User.SupplierTag.STANDARD_SUPPLIER.value(),
             User.SupplierTag.ALTERNATIVE.value(),
             User.SupplierTag.IN_SUPPLIER.value(),
             User.SupplierTag.DIE_OUT.value())
         .contains(to.value());
   }
   if (Objects.equal(from.value(), User.SupplierTag.STANDARD_SUPPLIER.value())) {
     return Arrays.asList(
             User.SupplierTag.ALTERNATIVE.value(),
             User.SupplierTag.IN_SUPPLIER.value(),
             User.SupplierTag.DIE_OUT.value())
         .contains(to.value());
   }
   if (Objects.equal(from.value(), User.SupplierTag.ALTERNATIVE.value())) {
     return Arrays.asList(User.SupplierTag.IN_SUPPLIER.value(), User.SupplierTag.DIE_OUT.value())
         .contains(to.value());
   }
   if (Objects.equal(from.value(), User.SupplierTag.IN_SUPPLIER.value())) {
     return Objects.equal(to.value(), User.SupplierTag.DIE_OUT.value());
   }
   if (Objects.equal(from.value(), User.SupplierTag.DIE_OUT.value())) {
     return Objects.equal(to.value(), User.SupplierTag.ALTERNATIVE.value());
   }
   return false;
 }