@Override
  public boolean changeAssemblyStatus(
      List<Integer> assemblyId, AppEnvEnum appEnvEnum, IntegrationStatusEnum integrationStatus) {
    List<AssemblyDO> dos = new ArrayList<AssemblyDO>();

    for (int id : assemblyId) {
      AssemblyDO dO = new AssemblyDO();
      dO.setAssemblyId(id);
      switch (appEnvEnum) {
        case DEV:
          dO.setIntegrationStatusDev(integrationStatus.getDescription());
          break;
        case TEST:
          dO.setIntegrationStatusTest(integrationStatus.getDescription());
          break;
        case PRE:
          dO.setIntegrationStatusPre(integrationStatus.getDescription());
          break;
        case PRD:
          dO.setIntegrationStatusPrd(integrationStatus.getDescription());
          if (IntegrationStatusEnum.PUBLISHED == integrationStatus) {
            dO.setGmtActualPublish(new Date());
          }
          break;
      }
      dos.add(dO);
    }
    int count = assemblyDOMapper.updateBatch(dos);
    return count > 0 ? true : false;
  }